From 9c247fc802c8a9b48dae041bf5de53defaa68a39 Mon Sep 17 00:00:00 2001 From: hwh <332078369@qq.com> Date: 星期一, 15 七月 2024 17:00:34 +0800 Subject: [PATCH] Merge branch 'master' of http://47.95.120.53:8083/r/JC26WMS --- Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs | 190 ++++++++++++++++++++++------------------------ 1 files changed, 91 insertions(+), 99 deletions(-) diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs index 86fe9e7..829458d 100644 --- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs @@ -19,6 +19,7 @@ using WMS.IBLL.IBllAsnServer; using WMS.Entity.BllSoEntity; using WMS.Entity.DataEntity; +using System.Threading.Tasks; namespace WMS.BLL.BllAsnServer { @@ -34,114 +35,105 @@ #endregion #region 浜嬩欢鏂规硶 - public List<ArrivalNoticeDto> GetArrivalNoticeList(ArrivalNoticeVm model, out int count) + public async Task<List<ArrivalNoticeDto>> GetArrivalNoticeList(ArrivalNoticeVm model, RefAsync<int> count) { - string sqlString = string.Empty; - string sqlCount = string.Empty; - string sqlPub = string.Empty; - try - { - sqlCount += "SELECT DISTINCT COUNT(tb1.ID) FROM BllArrivalNotice AS tb1 "; - sqlString += "SELECT DISTINCT tb1.*,tb3.RealName as CreateUserName,tb4.RealName as UpdateUserName,tb5.RealName as CheckUserName FROM BllArrivalNotice AS tb1 "; - sqlPub += "LEFT JOIN BllArrivalNoticeDetail AS tb2 ON tb1.ASNNo = tb2.ASNNo "; - sqlPub += "LEFT JOIN SysUserInfor AS tb3 ON tb1.CreateUser = tb3.Id "; - sqlPub += "LEFT JOIN SysUserInfor AS tb4 ON tb1.UpdateUser = tb4.Id "; - sqlPub += "LEFT JOIN SysUserInfor AS tb5 ON tb1.CheckUser = tb5.Id "; - sqlPub += $"WHERE tb1.ASNNo LIKE '%{model.ASNNo}%' AND tb2.LotNo LIKE '%{model.LotNo}%' "; - sqlPub += $"AND tb2.SkuNo LIKE '%{model.SkuNo}%' AND tb2.SkuName LIKE '%{model.SkuName}%' "; - sqlPub += $"AND tb1.CustomerName LIKE '%{model.CustomerName}%' "; - if (!string.IsNullOrEmpty(model.OrderCode)) + var modelList = await Db.Queryable<BllArrivalNotice,BllArrivalNoticeDetail, SysUserInfor, SysUserInfor, + SysUserInfor>((tb1, tb2, tb3, tb4,tb5) => new JoinQueryInfos( + JoinType.Left, tb1.ASNNo == tb2.ASNNo, + JoinType.Left, tb1.CreateUser == tb3.Id, + JoinType.Left, tb1.UpdateUser == tb4.Id, + JoinType.Left, tb1.CheckUser == tb5.Id)) + .WhereIF(!string.IsNullOrWhiteSpace(model.ASNNo), tb1 => tb1.ASNNo.Contains(model.ASNNo)) + .WhereIF(!string.IsNullOrWhiteSpace(model.LotNo), (tb1,tb2) => tb2.LotNo.Contains(model.LotNo)) + .WhereIF(!string.IsNullOrWhiteSpace(model.SkuNo), (tb1,tb2) => tb2.SkuNo.Contains(model.SkuNo)) + .WhereIF(!string.IsNullOrWhiteSpace(model.SkuName), (tb1,tb2) => tb2.SkuName.Contains(model.SkuName)) + .WhereIF(!string.IsNullOrWhiteSpace(model.CustomerName), tb1 => tb1.CustomerName.Contains(model.CustomerName)) + .WhereIF(!string.IsNullOrWhiteSpace(model.OrderCode), tb1 => tb1.OrderCode.Contains(model.OrderCode)) + .WhereIF(!string.IsNullOrWhiteSpace(model.Status), tb1 => tb1.Status == model.Status) + .WhereIF(!string.IsNullOrWhiteSpace(model.Type), tb1 => tb1.Type == model.Type) + .WhereIF(!string.IsNullOrWhiteSpace(model.StartTime), tb1 => tb1.CreateTime >= Convert.ToDateTime(model.StartTime)) + .WhereIF(!string.IsNullOrWhiteSpace(model.EndTime), tb1 => tb1.CreateTime <= Convert.ToDateTime(model.EndTime).AddDays(1)) + .WhereIF(!string.IsNullOrWhiteSpace(model.CustomerName), tb1 => tb1.CustomerName.Contains(model.CustomerName)) + .Where(tb1 => tb1.IsDel == "0") + .OrderByDescending(tb1 => tb1.ASNNo) + .Distinct() + .Select((tb1, tb2, tb3, tb4, tb5) => new ArrivalNoticeDto() { - sqlPub += $"AND tb1.OrderCode LIKE '%{model.OrderCode}%' "; - } - if (!string.IsNullOrEmpty(model.Status)) - { - sqlPub += $"AND tb1.Status = '{model.Status}' "; - } - if (!string.IsNullOrEmpty(model.Type)) - { - if (model.Type == "3") - { - sqlPub += $"AND tb1.Type = '{model.Type}' "; - } - else - { - sqlPub += $"AND tb1.Type = '{model.Type}' AND tb1.Type != '3' "; - } - } - else - { - sqlPub += " AND tb1.Type != '3'"; + Id = tb1.Id, + ASNNo = tb1.ASNNo, + Type = tb1.Type, + Status = tb1.Status, + Origin = tb1.Origin, + CustomerNo = tb1.CustomerNo, + CustomerName = tb1.CustomerName, + LotNo = tb1.LotNo, + LotText = tb1.LotText, + CheckTime = tb1.CheckTime.ToString(), + CheckUserName = tb5.RealName, + SupplierLot = tb1.SupplierLot, + Demo = tb1.Demo, + OrderCode = tb1.OrderCode, + CompleteTime = tb1.CompleteTime, + CreateTime = tb1.CreateTime, + CreateUserName = tb3.RealName, + UpdateTime = tb1.UpdateTime.ToString(), + UpdateUserName = tb4.RealName - } - if (!string.IsNullOrEmpty(model.StartTime)) - { - sqlPub += $"AND tb1.CreateTime >= '{model.StartTime}' "; - } - if (!string.IsNullOrEmpty(model.EndTime)) - { - sqlPub += $"AND tb1.CreateTime <= '{model.EndTime}' "; - } - sqlCount += sqlPub + "AND tb1.IsDel = '0' "; - sqlPub += "AND tb1.IsDel = '0' order by tb1.ASNNo desc "; - if (model.Page == 0) - { - model.Page = 1; - } - sqlString += sqlPub + $" offset {((model.Page - 1) * model.Limit)} rows fetch next {model.Limit} rows only;"; + }).ToPageListAsync(model.Page, model.Limit, count); - var com = new Common(); - count = com.GetRowCount(sqlCount); - - var modelList = Db.Ado.SqlQuery<ArrivalNoticeDto>(sqlString); - - return modelList; - } - catch (Exception ex) - { - throw ex; - } + return modelList; } - public List<ArrivalNoticeDetailDto> GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model, out int count) + public async Task<List<ArrivalNoticeDetailDto>> GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model, RefAsync<int> count) { - string sqlString = string.Empty; - string sqlCount = string.Empty; - int rowCount = 1; - try - { - if (model.Page == 0) - { - model.Page = 1; - } - sqlCount += $"SELECT COUNT(ID) FROM BllArrivalNoticeDetail where ASNNo = '{model.ASNNo}' and isdel = '0';"; - var com = new Common(); - count = com.GetRowCount(sqlCount); - if (count != 0) - { - rowCount = count; - } + var item = Expressionable.Create<BllArrivalNoticeDetail>() + .AndIF(!string.IsNullOrWhiteSpace(model.ASNNo), it => it.ASNNo == model.ASNNo) + .AndIF(true, it => it.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� - sqlString += "SELECT DISTINCT tb1.*,tb2.Type as AsnType,tb2.Status as AsnStatus,tb3.RealName as CreateUserName, "; - sqlString += "tb4.RealName as UpdateUserName,isnull(tb6.UnitName,tb5.UnitNo) as UnitName,tb7.PackagName,tb5.IsPasteCode "; - sqlString += "FROM BllArrivalNoticeDetail AS tb1 "; - sqlString += "LEFT JOIN BllArrivalNotice AS tb2 ON tb1.ASNNo = tb2.ASNNo "; - sqlString += "LEFT JOIN SysUserInfor AS tb3 ON tb1.CreateUser = tb3.Id "; - sqlString += "LEFT JOIN SysUserInfor AS tb4 ON tb1.UpdateUser = tb4.Id "; - sqlString += "LEFT JOIN SysMaterials AS tb5 on tb1.SkuNo = tb5.SkuNo "; - sqlString += "LEFT JOIN SysUnit AS tb6 on tb5.UnitNo = tb6.UnitNo "; - sqlString += "LEFT JOIN SysPackag AS tb7 on tb1.PackagNo = tb7.PackagNo "; - sqlString += $"WHERE tb1.ASNNo = '{model.ASNNo}' AND tb1.IsDel = '0' order by tb1.SkuNo desc "; - sqlString += $"offset {((model.Page - 1) * model.Limit)} rows fetch next {rowCount} rows only;"; + var modelList = await Db.Queryable<BllArrivalNoticeDetail>().Where(item) + .LeftJoin<BllArrivalNotice>((tb1, tb2) => tb1.ASNNo == tb2.ASNNo) + .LeftJoin<SysUserInfor>((tb1, tb2,tb3) => tb1.CreateUser == tb3.Id) + .LeftJoin<SysUserInfor>((tb1,tb2,tb3,tb4) => tb1.UpdateUser == tb4.Id) + .LeftJoin<SysMaterials>((tb1, tb2, tb3, tb4,tb5) => tb1.SkuNo == tb5.SkuNo) + .LeftJoin<SysUnit>((tb1, tb2, tb3, tb4, tb5,tb6) => tb5.UnitNo == tb6.UnitNo) + .LeftJoin<SysPackag>((tb1, tb2, tb3, tb4, tb5, tb6,tb7) => tb1.PackagNo == tb7.PackagNo) + .Select((tb1, tb2, tb3, tb4, tb5,tb6, tb7) => new ArrivalNoticeDetailDto() + { + Id = tb1.Id, + ASNNo = tb1.ASNNo, + SkuNo = tb1.SkuNo, + SkuName = tb1.SkuName, + Standard = tb1.Standard, + LotNo = tb1.LotNo, + LotText = tb1.LotText, + Qty = tb1.Qty, + FactQty = tb1.FactQty, + CompleteQty = tb1.CompleteQty, + IsSampling = tb1.IsSampling, + InspectStatus = tb1.InspectStatus, + PackagNo = tb1.PackagNo, + PackagName = tb7.PackagName, + UnitName = tb6.UnitName, + IsBale = tb1.IsBale, + IsBelt = tb1.IsBelt, + SupplierLot = tb1.SupplierLot, + Status = tb1.Status, + AsnType = tb2.Type, + AsnStatus = tb2.Status, + UDF1 = tb1.UDF1, + UDF2 = tb1.UDF2, + UDF3 = tb1.UDF3, + UDF4 = tb1.UDF4, + UDF5 = tb1.UDF5, + CompleteTime = tb1.CompleteTime, + CreateTime = tb1.CreateTime, + CreateUserName = tb3.RealName, + UpdateTime = tb1.UpdateTime.ToString(), + UpdateUserName = tb4.RealName + }).ToPageListAsync(model.Page, model.Limit, count); - var modelList = Db.Ado.SqlQuery<ArrivalNoticeDetailDto>(sqlString); - - return modelList; - } - catch (Exception ex) - { - throw ex; - } + return modelList; } //鑾峰彇鍏ュ簱鍗曟槑缁嗗墿浣欐墦鍗版暟閲� -- Gitblit v1.8.0