87 lines
3.3 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
}
|