From a541742fd68adfd5d4a77d1f7f0fc69045c72ac2 Mon Sep 17 00:00:00 2001
From: bklLiudl <673013083@qq.com>
Date: 星期五, 12 七月 2024 08:15:16 +0800
Subject: [PATCH] 采购单据,入库单据

---
 Wms/WMS.BLL/SysServer/RoleRightServer.cs         |    2 
 Wms/WMS.IBLL/IBllAsnServer/IProcurePlanServer.cs |    2 
 Wms/Wms/Controllers/BllAsnController.cs          |   23 +++--
 HTML/views/ASNSetting/ArrivalNotice.html         |   84 +++++++-------------
 Wms/WMS.Entity/BllAsnEntity/BllArrivalNotice.cs  |    5 +
 Wms/Wms/Controllers/BasisController.cs           |   14 +++
 Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs    |   76 +++++++++---------
 7 files changed, 100 insertions(+), 106 deletions(-)

diff --git a/HTML/views/ASNSetting/ArrivalNotice.html b/HTML/views/ASNSetting/ArrivalNotice.html
index 514f969..5de5a3c 100644
--- a/HTML/views/ASNSetting/ArrivalNotice.html
+++ b/HTML/views/ASNSetting/ArrivalNotice.html
@@ -95,36 +95,20 @@
 						<div class="layui-input-inline">
 							<select name="Type" id="Type" lay-filter="Type" lay-search>
 								<option value=""></option>
-								<!-- JC23 -->
+								<!--JC26-->
 								<option value="0">鎴愬搧鍏ュ簱</option>
 								<option value="1">閲囪喘鍏ュ簱</option>
-								<option value="4">杞﹂棿浣欐枡閫�鍥炲叆搴�</option>
-								<option value="5">鍏跺畠鍏ュ簱</option>
-								<option value="6">浠e偍鍏ュ簱</option>
-								<!-- JC24 -->
-								<!-- <option value="0">鎴愬搧鍏ュ簱</option>
-								<option value="1">閲囪喘鍏ュ簱</option>
-								<option value="2">涓棿鍝佸叆搴�</option>-->
-								<!-- <option value="3">閫�璐у叆搴�</option> -->
-								<!-- <option value="4">杞﹂棿浣欐枡閫�鍥炲叆搴�</option>
-								<option value="5">鍏跺畠鍏ュ簱</option>
-								<option value="6">浠e偍鍏ュ簱</option>
-								<option value="7">瀵勫瓨鍏ュ簱</option>  -->
-								<!-- JC09 -->
-								<!-- <option value="0">鏍囧噯浜у搧鍏ュ簱</option>
-								<option value="1">闈炴爣浜у搧鍏ュ簱</option> -->
-								<!-- JC08 -->
-								<!-- <option value="0">鎴愬搧鍏ュ簱</option>
-								<option value="1">鍘熸枡鍏ュ簱</option>
-								<option value="2">閫�璐у叆搴�</option> -->
+								<option value="2">涓棿鍝佸叆搴�</option>
+								<option value="3">閫�璐у叆搴�</option>
+								<option value="4">浣欐枡閫�鍥炲叆搴�</option>
 							</select>
 						</div>
 					</div>
 					<div class="layui-inline">
-						<label class="layui-form-label" style="width: 90px;">涓婃父绯荤粺鍗曞彿</label>
+						<label class="layui-form-label">涓嬪彂鍗曞彿</label>
 						<div class="layui-input-inline">
-							<input type="text" id="OrderCode" name="OrderCode" placeholder="涓婃父绯荤粺鍗曞彿" autocomplete="off"
-								class="layui-input">
+							<input type="text" id="OrderCode" name="OrderCode" placeholder="涓婃父绯荤粺涓嬪彂鐨勫崟鍙�"
+								autocomplete="off" class="layui-input">
 						</div>
 					</div>
 					<div class="layui-inline">
@@ -152,9 +136,9 @@
 						<label class="layui-form-label">鎾ら攢鍘熷洜</label>
 						<div class="layui-input-inline">
 							<textarea id="Reason" name="Reason" placeholder="璇疯緭鍏ュ唴瀹�" class="layui-textarea"></textarea>
-
 						</div>
 					</div>
+
 					<div class="layui-inline">
 						<button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit
 							lay-filter="LAY-app-contlist-search">
@@ -224,19 +208,16 @@
 					<script type="text/html" id="buttonTpl">
 						{{# function GetBtn3(d){
 								var html = ``;
-								if(d.Status=='0'){ 
-									html = `<button class="layui-btn layui-btn-radius layui-btn-xs">绛夊緟鎵ц</button>`; 
-								} else if(d.Status=='1') { 
-									html = `<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">姝e湪鎵ц</button>`; 
-								} else if(d.Status=='2') { 
-									html = `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">鎵ц瀹屾瘯</button>`; 
-								} else if(d.Status=='3') { 
-									html = `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">璁㈠崟鍏抽棴</button>`; 
-								} else if(d.Status=='4') { 
-									html = `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">涓婁紶瀹屾瘯</button>`; 
-								} else {
-									
+								switch(d.Status)
+								{
+									case "0" : html = `<button class="layui-btn layui-btn-radius layui-btn-xs">绛夊緟鎵ц</button>`;break; 
+									case "1" : html = `<button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">姝e湪鎵ц</button>`; break; 
+									case "2" : html = `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">鎵ц瀹屾瘯</button>`; break;
+									case "3" : html = `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">璁㈠崟鍏抽棴</button>`; break;
+									case "4" : html = `<button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">涓婁紶瀹屾瘯</button>`; break;
+									default : break; 
 								}
+
 								return html;
 							}	
 						}}
@@ -246,24 +227,16 @@
 					<script type="text/html" id="templetType">
 						{{# function GetBtn4(d){
 								var html = ``;
-								if(d.Type=='0'){ 
-									html = `鎴愬搧鍏ュ簱`; 
-								} else if(d.Type=='1') { 
-									html = `閲囪喘鍏ュ簱`; 
-								} else if(d.Type=='2') { 
-									html = `涓棿鍝佸叆搴揱; 
+								switch(d.Type)
+								{
+									case "0" : html = `鎴愬搧鍏ュ簱`;break; 
+									case "1" : html = `閲囪喘鍏ュ簱`; break; 
+									case "2" : html = `涓棿鍝佸叆搴揱; break;
+									case "3" : html = `閫�璐у叆搴揱; break;
+									case "4" : html = `浣欐枡閫�鍥炲叆搴揱; break;
+									default : break; 
 								}
-								else if(d.Type=='4') { 
-									html = `杞﹂棿浣欐枡閫�鍥炲叆搴揱; 
-								}else if(d.Type=='5') { 
-									html = `鍏跺畠鍏ュ簱`; 
-								}else if(d.Type=='6') { 
-									html = `浠e偍鍏ュ簱`; 
-								}else if(d.Type=='7') { 
-									html = `瀵勫瓨鍏ュ簱`; 
-								}else {
-									
-								}
+								
 								return html;
 							}	
 						}}
@@ -463,9 +436,10 @@
 				{ field: 'Origin', title: '鏉ユ簮', align: 'center', width: 80 },
 				{ field: 'CustomerName', title: '瀹㈡埛鍚嶇О', align: 'center' },
 				{ field: 'Type', title: '鍗曟嵁绫诲瀷', align: 'center', templet: '#templetType' },
-				{ field: 'OrderCode', title: '涓婃父绯荤粺鍗曞彿', align: 'center', width: 180 },
+				{ field: 'OrderCode', title: '涓嬪彂鍗曞彿', align: 'center', width: 180 },
 				{ field: 'CompleteTime', title: '瀹屾垚鏃堕棿', align: 'center', templet: '#templetCompleteTime' },
 				{ field: 'Demo', title: '澶囨敞', align: 'center', width: 180 },
+				{ field: 'UserName', title: '鍒跺崟浜�', align: 'center', width: 110 },
 				{ field: 'CreateUserName', title: '鍒涘缓浜�', align: 'center', width: 110 },
 				{ field: 'CreateTime', title: '鍒涘缓鏃堕棿', align: 'center', templet: '#templetCreateTime' },
 				{ field: 'UpdateUserName', title: '淇敼浜�', align: 'center', width: 110 },
@@ -512,7 +486,7 @@
 						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/ProcurePlanServer.cs b/Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs
index 48381e9..3e0f48b 100644
--- a/Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs
@@ -41,8 +41,10 @@
                 .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.SkuName), (tb1,tb2) => tb2.SkuName.Contains(model.SkuName))
+                .WhereIF(!string.IsNullOrWhiteSpace(model.SkuNo), (tb1,tb2) => tb2.SkuNo.Contains(model.SkuNo))
                 .Where(tb1 => tb1.IsDel == "0")
-                .OrderByDescending(tb1 => tb1.Id)
+                .OrderBy(tb1=>tb1.Status)
+                .OrderByDescending(tb1 => tb1.CreateTime)
                 .Distinct()
                 .Select((tb1, tb2, tb3, tb4) => new ProcurePlanNoticeDto() {
                     Id = tb1.Id,
@@ -64,44 +66,43 @@
         /// <param name="model"></param>
         /// <param name="count"></param>
         /// <returns></returns>
-        public List<ProcurePlanNoticeDetailDto> GetProcurePlanNoticeDetailList(ProcurePlanNoticeDetailVm model, out int count)
+        public async Task<List<ProcurePlanNoticeDetailDto>> GetProcurePlanNoticeDetailList(ProcurePlanNoticeDetailVm model, RefAsync<int> count)
         {
-            string sqlString = string.Empty;
-            string sqlCount = string.Empty;
-            int rowCount = 1;
-            try
-            {
-                if (model.Page == 0)
+            var modelList = await Db.Queryable<BllProcurePlanNoticeDetail, SysUserInfor, SysUserInfor, SysMaterials, 
+                SysUnit, SysPackag>((tb1, tb2, tb3, tb4, tb5, tb6) => new JoinQueryInfos(
+                    JoinType.Left, tb1.CreateUser == tb2.Id,
+                    JoinType.Left, tb1.UpdateUser == tb3.Id,
+                    JoinType.Left, tb1.SkuNo == tb4.SkuNo,
+                    JoinType.Left, tb4.UnitNo == tb5.UnitNo,
+                    JoinType.Left, tb1.PackagNo == tb6.PackagNo))
+                .Where(tb1 => tb1.ParentId == model.ParentId && tb1.IsDel == "0")
+                .OrderByDescending(tb1 => tb1.SkuNo)
+                .Distinct()
+                .Select((tb1, tb2, tb3, tb4, tb5, tb6) => new ProcurePlanNoticeDetailDto()
                 {
-                    model.Page = 1;
-                }
-                sqlCount += $"SELECT COUNT(ID) FROM BllProcurePlanNoticeDetail where ParentId = '{model.ParentId}' and IsDel = '0';";
-                var com = new Common();
-                count = com.GetRowCount(sqlCount);
-                if (count != 0)
-                {
-                    rowCount = count;
-                }
+                    Id = tb1.Id,
+                    ParentId = tb1.ParentId.ToString(),
+                    OrderDetailCode = tb1.OrderDetailCode,
+                    SkuNo = tb1.SkuNo,
+                    SkuName = tb1.SkuName,
+                    Standard = tb1.Standard,
+                    Qty = tb1.Qty,
+                    CompleteQty = tb1.CompleteQty,
+                    PackagNo = tb1.PackagNo,
+                    PackagName = tb6.PackagName,
+                    UnitName = tb5.UnitName,
+                    Status = tb1.Status,
+                    CustomerNo = tb1.CustomerNo,
+                    CustomerName = tb1.CustomerName,
+                    CompleteTime = tb1.CompleteTime,
+                    CreateTime = tb1.CreateTime,
+                    CreateUserName = tb2.RealName,
+                    UpdateTime = tb1.UpdateTime.ToString(),
+                    UpdateUserName = tb3.RealName
 
-                sqlString += "SELECT DISTINCT tb1.*,tb3.RealName as CreateUserName, ";
-                sqlString += "tb4.RealName as UpdateUserName,isnull(tb6.UnitName,tb5.UnitNo) as UnitName,tb7.PackagName ";
-                sqlString += "FROM BllProcurePlanNoticeDetail AS tb1 ";
-                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.ParentId = '{model.ParentId}' AND tb1.IsDel = '0' order by tb1.SkuNo desc ";
-                sqlString += $"offset {((model.Page - 1) * model.Limit)} rows fetch next {rowCount} rows only;";
+                }).ToPageListAsync(model.Page, model.Limit, count);
 
-                var modelList = Db.Ado.SqlQuery<ProcurePlanNoticeDetailDto>(sqlString);
-
-                return modelList;
-            }
-            catch (Exception ex)
-            {
-                throw ex;
-            }
+            return modelList;
         }
         /// <summary>
         /// 閫氳繃閲囪喘鍗曠敓鎴愬叆搴撳崟鎹�
@@ -340,6 +341,7 @@
                         CustomerNo = CustomerModel.CustomerNo,
                         CustomerName = CustomerModel.CustomerName,
                         OrderCode = model.OrderCode,
+                        UserName = model.Username,
                         CreateUser = 0
                     };
                     // 鎻掑叆鍏ュ簱鎬昏〃淇℃伅
@@ -353,7 +355,7 @@
                         Standard = skuModel.Standard,
                         LotNo = "",
                         LotText = "",
-                        Qty = 0,
+                        Qty = (decimal)asnDetailModel.Qty,
                         FactQty=0,
                         CompleteQty=0,
                         PackagNo = skuModel.PackagNo,
@@ -364,7 +366,7 @@
                         OrderDetailCode = asnDetailModel.OrderDetailCode,
                         CreateUser = 0
                     };
-                    // 鎻掑叆鍏ュ簱鎬昏〃淇℃伅
+                    // 鎻掑叆鍏ュ簱鏄庣粏琛ㄤ俊鎭�
                     Db.Insertable(arrDetailModel).ExecuteCommand();
                     #endregion
 
diff --git a/Wms/WMS.BLL/SysServer/RoleRightServer.cs b/Wms/WMS.BLL/SysServer/RoleRightServer.cs
index 4d56e4f..b2610ef 100644
--- a/Wms/WMS.BLL/SysServer/RoleRightServer.cs
+++ b/Wms/WMS.BLL/SysServer/RoleRightServer.cs
@@ -57,7 +57,7 @@
                             .LeftJoin<SysRoles>((a, b, c) => a.RoleNo == c.RoleNo)
                             .Where((a, b, c) => a.IsDel == "0" && b.IsDel == "0" && c.IsDel == "0")
                             .Where((a, b, c) => a.RoleNo == modUser.RoleNo)
-                            .OrderBy((a, b, c) => SqlFunc.ToInt32(a.MenuNo)).OrderBy((a, b, c) => b.Ord)
+                            .OrderBy((a, b, c) => b.Ord)            //.OrderBy((a, b, c) => SqlFunc.ToInt32(a.MenuNo))
                             .Select<RoleRightDto>()
                             .ToListAsync();
         }
diff --git a/Wms/WMS.Entity/BllAsnEntity/BllArrivalNotice.cs b/Wms/WMS.Entity/BllAsnEntity/BllArrivalNotice.cs
index 6085886..a02d136 100644
--- a/Wms/WMS.Entity/BllAsnEntity/BllArrivalNotice.cs
+++ b/Wms/WMS.Entity/BllAsnEntity/BllArrivalNotice.cs
@@ -92,6 +92,11 @@
         public string OrderCode { get; set; }
 
         /// <summary>
+        /// 鍒跺崟浜�
+        /// </summary>
+        public string UserName { get; set; }
+
+        /// <summary>
         /// 澶嶆牳浜�
         /// </summary>
         public int CheckUser { get; set; }
diff --git a/Wms/WMS.IBLL/IBllAsnServer/IProcurePlanServer.cs b/Wms/WMS.IBLL/IBllAsnServer/IProcurePlanServer.cs
index 361874c..fdc4149 100644
--- a/Wms/WMS.IBLL/IBllAsnServer/IProcurePlanServer.cs
+++ b/Wms/WMS.IBLL/IBllAsnServer/IProcurePlanServer.cs
@@ -25,7 +25,7 @@
         /// <param name="model"></param>
         /// <param name="count"></param>
         /// <returns></returns>
-        public List<ProcurePlanNoticeDetailDto> GetProcurePlanNoticeDetailList(ProcurePlanNoticeDetailVm model, out int count);
+        Task <List<ProcurePlanNoticeDetailDto>> GetProcurePlanNoticeDetailList(ProcurePlanNoticeDetailVm model, RefAsync<int> count);
 
         /// <summary>
         /// 閫氳繃閲囪喘鍗曠敓鎴愬叆搴撳崟鎹�
diff --git a/Wms/Wms/Controllers/BasisController.cs b/Wms/Wms/Controllers/BasisController.cs
index 6b5bcd3..de100a9 100644
--- a/Wms/Wms/Controllers/BasisController.cs
+++ b/Wms/Wms/Controllers/BasisController.cs
@@ -22,6 +22,7 @@
 using Model.ModelDto.LogDto;
 using Utility;
 using Model.ModelVm.LogVm;
+using System.Diagnostics;
 
 namespace Wms.Controllers
 {
@@ -62,7 +63,10 @@
         /// <param name="department">閮ㄩ棬</param>
         /// <param name="setting">鍔熻兘璁惧畾</param>
         /// <param name="operation">鎿嶄綔鏃ュ織</param>
-        public BasisController(ICustomerServer customerSvc, ILogisticsInfoServer logisticsSvc, IUserInforServer userInforServer, IRolesServer rolesServer, IRoleRightServer roleRightServer, IRBACServer rBACServer, IUnitServer unitSvc, IPackagServer packagServer, IMaterialsServer mate, IDepartmentServer department, IFunSettingServer setting, IInterfaceServer interfaceS, IOperationSysServer operation, UserManager userManager)
+        public BasisController(ICustomerServer customerSvc, ILogisticsInfoServer logisticsSvc, IUserInforServer userInforServer, 
+            IRolesServer rolesServer, IRoleRightServer roleRightServer, IRBACServer rBACServer, IUnitServer unitSvc, 
+            IPackagServer packagServer, IMaterialsServer mate, IDepartmentServer department, IFunSettingServer setting, 
+            IInterfaceServer interfaceS, IOperationSysServer operation, UserManager userManager)
         {
             _customerSvc = customerSvc;//瀹㈡埛Svc
             _logisticsSvc = logisticsSvc;//鐗╂祦Svc
@@ -356,7 +360,13 @@
         [HttpGet]
         public async Task<List<RoleRightDto>> GetRoleRightList()
         {
-            return await _roleRightServer.GetRoleMenuList();
+            Stopwatch stopwatch = new Stopwatch();
+            stopwatch.Start();
+            var model =  await _roleRightServer.GetRoleMenuList();
+            stopwatch.Stop();
+
+            var time = stopwatch.ElapsedMilliseconds;
+            return model;
         }
 
         /// <summary>
diff --git a/Wms/Wms/Controllers/BllAsnController.cs b/Wms/Wms/Controllers/BllAsnController.cs
index 3d2c74c..6e6be6f 100644
--- a/Wms/Wms/Controllers/BllAsnController.cs
+++ b/Wms/Wms/Controllers/BllAsnController.cs
@@ -13,6 +13,7 @@
 using Model.ModelDto.BllAsnDto;
 using System.Threading.Tasks;
 using SqlSugar;
+using System.Diagnostics;
 
 namespace Wms.Controllers
 {
@@ -1178,25 +1179,27 @@
             var bolls = await _procurePlanSvc.GetProcurePlanNoticeList(model, count);
             return new SqlSugarPagedList() { Items = bolls, Total = count };
         }
+
         /// <summary>
         /// 鑾峰彇閲囪喘鍗曟槑缁嗕俊鎭�
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
         [HttpPost]
-        public IActionResult GetProcurePlanNoticeDetailList(ProcurePlanNoticeDetailVm model)
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        public async Task<SqlSugarPagedList> GetProcurePlanNoticeDetailList(ProcurePlanNoticeDetailVm model)
         {
-            try
-            {
-                var models = _procurePlanSvc.GetProcurePlanNoticeDetailList(model, out int count);
+            Stopwatch stopwatch = new Stopwatch();
+            stopwatch.Start();
+            RefAsync<int> count = new RefAsync<int>();
+            var bolls = await _procurePlanSvc.GetProcurePlanNoticeDetailList(model, count);
+            stopwatch.Stop();
 
-                return Ok(new { code = 0, count, msg = "鍏ュ簱鍗曟槑缁嗕俊鎭�", data = models });
-            }
-            catch (Exception e)
-            {
-                return Ok(new { code = 1, msg = e.Message });
-            }
+            var time = stopwatch.ElapsedMilliseconds;
+            return new SqlSugarPagedList() { Items = bolls, Total = count };
         }
+
+
         /// <summary>
         /// 閫氳繃閲囪喘鍗曠敓鎴愬叆搴撳崟鎹�
         /// </summary>

--
Gitblit v1.8.0