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