using BaseOUDAL; namespace YLErp.BLL { public class processtradelogBLL { /// /// 查询processlog /// public SearchListResult 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 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; } } } }