TG.WXCRM.V4/BLL/Wx/WX_SZZYORDER2_BL.cs

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;
}
}
}
}