103 lines
4.2 KiB
C#
103 lines
4.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using WX.CRM.BLL.Util;
|
|
using WX.CRM.Common;
|
|
using WX.CRM.IBLL.Wx;
|
|
using WX.CRM.Model.Entity;
|
|
|
|
namespace WX.CRM.BLL.Wx
|
|
{
|
|
public class WX_SZZYORDER2_BL : DbContextRepository<WX_SZZYORDER2>, IWX_SZZYORDER2
|
|
{
|
|
public List<WX_SZZYORDER2> GetList2(ref Pager pager, string resId, string contractCode, string szzyOrderId, decimal productId, decimal subProductId, decimal orderType, string stime, string etime, string orderStatus, string ostime, string oetime, string fcText, string cName)
|
|
{
|
|
using (var db = new crmContext())
|
|
{
|
|
var queryData = db.WX_SZZYORDER2.AsQueryable();
|
|
|
|
if (!string.IsNullOrWhiteSpace(resId))
|
|
{
|
|
resId = resId.Trim();
|
|
queryData = queryData.Where(m => m.RESID == resId);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(szzyOrderId))
|
|
{
|
|
szzyOrderId = szzyOrderId.Trim();
|
|
var id = Convert.ToDecimal(szzyOrderId);
|
|
queryData = queryData.Where(m => m.SZZYORDERID == id);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(contractCode))
|
|
{
|
|
contractCode = contractCode.Trim();
|
|
queryData = queryData.Where(m => m.CONTRACTCODE == contractCode);
|
|
}
|
|
if (subProductId > 0)
|
|
{
|
|
queryData = queryData.Where(m => m.SUBPRODUCTID == subProductId);
|
|
}
|
|
else
|
|
{
|
|
if (productId > 0)
|
|
{
|
|
queryData = queryData.Where(m => m.PRODUCTID == productId);
|
|
}
|
|
}
|
|
if (orderType > 0)
|
|
{
|
|
queryData = queryData.Where(m => m.ORDERTYPE == orderType);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(stime))
|
|
{
|
|
DateTime time1 = Convert.ToDateTime(stime);
|
|
queryData = queryData.Where(m => m.ARRIVALTIME >= time1);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(etime))
|
|
{
|
|
DateTime time2 = Convert.ToDateTime(etime).AddDays(1);
|
|
queryData = queryData.Where(m => m.ARRIVALTIME < time2);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(orderStatus))
|
|
{
|
|
orderStatus = orderStatus.Trim();
|
|
queryData = queryData.Where(m => m.ORDERSTATUS == orderStatus);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(ostime))
|
|
{
|
|
DateTime time1 = Convert.ToDateTime(ostime);
|
|
queryData = queryData.Where(m => m.OTIME >= time1);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(oetime))
|
|
{
|
|
DateTime time2 = Convert.ToDateTime(oetime).AddDays(1);
|
|
queryData = queryData.Where(m => m.OTIME < time2);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(fcText))
|
|
{
|
|
fcText = fcText.Trim();
|
|
queryData = queryData.Where(m => m.FCTEXT.Contains(fcText));
|
|
}
|
|
if (!string.IsNullOrEmpty(cName))
|
|
{
|
|
queryData = queryData.Where(m => m.CNAME.Contains(cName));
|
|
}
|
|
queryData = queryData.OrderByDescending(m => m.CTIME).OrderByDescending(m => m.OPERATETIME);
|
|
WX_SZZYORDER2 orderSum = new WX_SZZYORDER2()
|
|
{
|
|
RESID = "合计",
|
|
NEEDPAY = queryData.Sum(p => p.NEEDPAY),
|
|
FINALPAY = queryData.Sum(p => p.FINALPAY),
|
|
ARRIVALPAY = queryData.Sum(p => p.ARRIVALPAY),
|
|
ORDERTYPE = 0,
|
|
ORDERSTATUS = string.Empty
|
|
};
|
|
PagerUtil.SetPager<WX_SZZYORDER2>(ref queryData, ref pager);
|
|
var list = queryData.ToList();
|
|
list.Add(orderSum);
|
|
return list;
|
|
}
|
|
}
|
|
|
|
}
|
|
} |