From 9b593d5c735891da0365f272547446a18e564b51 Mon Sep 17 00:00:00 2001
From: bklLiudl <673013083@qq.com>
Date: 星期一, 15 七月 2024 11:44:52 +0800
Subject: [PATCH] 入库单据-获取入库单、获取入库单明细

---
 Wms/WMS.IBLL/IBllAsnServer/IArrivalNoticeServer.cs |    6 +
 Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs    |  190 ++++++++++++++++++++++------------------------
 Wms/Wms/Controllers/BllAsnController.cs            |   34 +++-----
 HTML/views/ASNSetting/ArrivalNotice.html           |    1 
 4 files changed, 107 insertions(+), 124 deletions(-)

diff --git a/HTML/views/ASNSetting/ArrivalNotice.html b/HTML/views/ASNSetting/ArrivalNotice.html
index 5de5a3c..3d4ae65 100644
--- a/HTML/views/ASNSetting/ArrivalNotice.html
+++ b/HTML/views/ASNSetting/ArrivalNotice.html
@@ -486,7 +486,6 @@
 						height: h1,
 						id: 'LAY-app-content-list',
 						where: param,
-
 						contentType: 'application/json',
 						headers: { ToKen: $.cookie('token') },
 						page: true,
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;
         }
 
         //鑾峰彇鍏ュ簱鍗曟槑缁嗗墿浣欐墦鍗版暟閲�
diff --git a/Wms/WMS.IBLL/IBllAsnServer/IArrivalNoticeServer.cs b/Wms/WMS.IBLL/IBllAsnServer/IArrivalNoticeServer.cs
index a9936ce..5372da9 100644
--- a/Wms/WMS.IBLL/IBllAsnServer/IArrivalNoticeServer.cs
+++ b/Wms/WMS.IBLL/IBllAsnServer/IArrivalNoticeServer.cs
@@ -3,7 +3,9 @@
 using Model.ModelDto.SysDto;
 using Model.ModelVm;
 using Model.ModelVm.SysVm;
+using SqlSugar;
 using System.Collections.Generic;
+using System.Threading.Tasks;
 
 namespace WMS.IBLL.IBllAsnServer
 {
@@ -17,7 +19,7 @@
         /// <param name="model">鏌ヨ鏉′欢</param>
         /// <param name="count">鏁伴噺</param>
         /// <returns>鍏ュ簱鍗曚俊鎭�</returns>
-        List<ArrivalNoticeDto> GetArrivalNoticeList(ArrivalNoticeVm model, out int count);
+        Task<List<ArrivalNoticeDto>> GetArrivalNoticeList(ArrivalNoticeVm model, RefAsync<int> count);
 
         /// <summary>
         /// 鍏ュ簱鍗曟槑缁嗘暟閲�
@@ -25,7 +27,7 @@
         /// <param name="model">鏌ヨ鏉′欢</param>
         /// <param name="count"></param>
         /// <returns></returns>
-        List<ArrivalNoticeDetailDto> GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model, out int count);
+        Task<List<ArrivalNoticeDetailDto>> GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model, RefAsync<int> count);
 
         /// <summary>
         /// 鑾峰彇鍏ュ簱鍗曟槑缁嗗墿浣欐墦鍗版暟閲�
diff --git a/Wms/Wms/Controllers/BllAsnController.cs b/Wms/Wms/Controllers/BllAsnController.cs
index 6e6be6f..964115f 100644
--- a/Wms/Wms/Controllers/BllAsnController.cs
+++ b/Wms/Wms/Controllers/BllAsnController.cs
@@ -57,33 +57,23 @@
         /// <param name="model">鏌ヨ鏉′欢</param>
         /// <returns>鍏ュ簱鍗曚俊鎭�</returns>
         [HttpPost]
-        public IActionResult GetArrivalNoticeList(ArrivalNoticeVm model)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<SqlSugarPagedList> GetArrivalNoticeList(ArrivalNoticeVm model)
         {
-            try
-            {
-                var models = _arrivalNoticeSvc.GetArrivalNoticeList(model, out int count);
 
-                return Ok(new { code = 0, count, msg = "鍏ュ簱鍗曚俊鎭�", data = models });
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = e.Message });
-            }
+            RefAsync<int> count = new RefAsync<int>();
+            var bolls = await _arrivalNoticeSvc.GetArrivalNoticeList(model, count);
+            return new SqlSugarPagedList() { Items = bolls, Total = count };
         } 
 
-        [HttpPost]
-        public IActionResult GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model)
-        {
-            try
-            {
-                var models = _arrivalNoticeSvc.GetArrivalNoticeDetailList(model, out int count);
 
-                return Ok(new { code = 0, count, msg = "鍏ュ簱鍗曟槑缁嗕俊鎭�", data = models });
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = e.Message });
-            }
+        [HttpPost]
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<SqlSugarPagedList> GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model)
+        {
+            RefAsync<int> count = new RefAsync<int>();
+            var bolls = await _arrivalNoticeSvc.GetArrivalNoticeDetailList(model, count);
+            return new SqlSugarPagedList() { Items = bolls, Total = count };
         }
 
         /// <summary>

--
Gitblit v1.8.0