Files
zszq-trs/YLErpDAL/BLL/ProcesstradelogBLL.cs
T
2024-05-09 14:06:26 +08:00

87 lines
3.3 KiB
C#

using BaseOUDAL;
namespace YLErp.BLL
{
public class processtradelogBLL
{
/// <summary>
/// 查询processlog
/// </summary>
public SearchListResult<ProcessTradeLogViewModel> SearchTradeList(ProcessTradeLogReq req)
{
using (YLContext db = new YLContext())
{
var query = from processlog in db.processtradelog
join trade in db.trade on processlog.TradeId equals trade.id into c
from tradeD in c.DefaultIfEmpty()
//join systemUsers in DbErpBaseContext.SystemUsers on processlog.OptId equals systemUsers.Id into s
//from systemUsersD in s.DefaultIfEmpty()
select new ProcessTradeLogViewModel
{
id = processlog.id,
TradeNumber = tradeD.TradeNumber,
ProcessType = processlog.ProcessType,
ProcessStatus = processlog.ProcessStatus,
Log = processlog.Log,
OptId = processlog.OptId,
TradeId = processlog.TradeId,
// OptName = systemUsersD.LoginName,
CreateTime = processlog.CreateTime
};
if (req.TradeId > 0)
{
query = query.Where(d => d.TradeId == req.TradeId);
}
if (!string.IsNullOrEmpty(req.ProcessType))
{
query = query.Where(d => d.ProcessType.Contains(req.ProcessType));
}
if (!string.IsNullOrEmpty(req.ProcessStatus))
{
query = query.Where(d => d.ProcessStatus.Contains(req.ProcessStatus));
}
if (!string.IsNullOrEmpty(req.Log))
{
query = query.Where(d => d.Log.Contains(req.Log));
}
if (req.OptId != null)
{
query = query.Where(d => d.OptId == req.OptId);
}
if (req.CreateTimeStart != DateTime.MinValue)
{
query = query.Where(d => d.CreateTime >= req.CreateTimeStart);
}
if (req.CreateTimeEnd != DateTime.MinValue)
{
DateTime CreateTimeTemp = req.CreateTimeEnd.AddDays(1);
query = query.Where(d => d.CreateTime < CreateTimeTemp);
}
if (string.IsNullOrEmpty(req.sidx))
{
req.sidx = "id";
req.sord = "desc";
}
SearchListResult<ProcessTradeLogViewModel> retListResult = query.ToSearchList(req);
var systemUsersList = (from user in new ErpBaseContext().SystemUsers
select user).ToList();
foreach (var row in retListResult.rows)
{
row.OptName = systemUsersList.FirstOrDefault(s => s.Id == row.OptId)?.Name;
}
return retListResult;
}
}
}
}