From 0464969366317154fdbb51e106ca778b855bdd08 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期六, 17 八月 2024 15:45:28 +0800
Subject: [PATCH] Merge branch 'master' into wxw

---
 Wms/Model/ModelVm/BllTaskVm/TaskSyncInfoVm.cs           |    4 
 HTML/views/ASNSetting/PalletUpShelf.html                |  166 +++-----------------
 Wms/WMS.DAL/SysInfrastructure/StorageLocatRepository.cs |   64 ++++----
 Pda/View/SoSetting/pinTuoOut.html                       |   13 +
 HTML/views/ASNSetting/ProcurePlanNotice.html            |   10 
 Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs |   10 
 Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs           |    1 
 Wms/Model/ModelDto/PdaDto/PdaSoDto.cs                   |    4 
 Wms/Utility/Filter/CustomerExceptionFilter.cs           |    8 
 Wms/Wms/appsettings.json                                |    4 
 Wms/Wms/Controllers/PdaSoController.cs                  |   17 +-
 Wms/WMS.BLL/SysServer/MaterialsServer.cs                |    4 
 Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs            |  158 ++++++++++++-------
 13 files changed, 198 insertions(+), 265 deletions(-)

diff --git a/HTML/views/ASNSetting/PalletUpShelf.html b/HTML/views/ASNSetting/PalletUpShelf.html
index 0355c9d..517a855 100644
--- a/HTML/views/ASNSetting/PalletUpShelf.html
+++ b/HTML/views/ASNSetting/PalletUpShelf.html
@@ -67,12 +67,12 @@
 								class="layui-input">
 						</div>
 					</div>
-                    <div class="layui-inline" style="margin-right: 0;">
+					<div class="layui-inline" style="margin-right: 0;">
 						<label class="layui-form-label" style="width: 60px;">鎵樼洏鍙�</label>
 						<div class="layui-input-inline" style="margin-right: 0;">
 							<div class="layui-input-inline" style="margin-right: 0;">
-								<input type="text" id="PalletNo" name="PalletNo" placeholder="鎵樼洏鍙�"
-									autocomplete="off" class="layui-input">
+								<input type="text" id="PalletNo" name="PalletNo" placeholder="鎵樼洏鍙�" autocomplete="off"
+									class="layui-input">
 							</div>
 						</div>
 					</div>
@@ -83,7 +83,7 @@
 								class="layui-input">
 						</div>
 					</div>
-                    <div class="layui-inline" style="margin-right: 0;">
+					<div class="layui-inline" style="margin-right: 0;">
 						<label class="layui-form-label" style="width: 60px;">鐗╁搧鍚嶇О</label>
 						<div class="layui-input-inline" style="margin-right: 0;">
 							<input type="text" id="SkuName" name="SkuName" placeholder="鐗╂枡鍚嶇О" autocomplete="off"
@@ -99,7 +99,7 @@
 							</div>
 						</div>
 					</div>
-					
+
 
 					<div class="layui-inline" style="margin-right: 0;">
 						<label class="layui-form-label">鐘舵��</label>
@@ -122,35 +122,12 @@
 							lay-filter="LAY-app-contlist-search">
 							<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>鎼滅储
 						</button>
-						<!-- <button class="layui-btn layui-btn-sm layuiadmin-btn-list layui-btn-normal buDaLabelClass" style="margin-left: 5px;" lay-event="BuDaLabel" id="BuDaLabel">
-							<i class="layui-icon layui-icon-print layuiadmin-button-btn"></i>琛ユ墦鏍囩
-						</button>
-						<button class="layui-btn layui-btn-sm layuiadmin-btn-list layui-btn-danger delLabelClass" style="margin-left: 5px;" lay-event="delLabel" id="delLabel">
-							<i class="layui-icon layui-icon-delete layuiadmin-button-btn"></i>鍒犻櫎鏍囩
-						</button> -->
+
 					</div>
-					<!-- 纭鍑哄簱鍙e脊绐� -->
-					<!-- <div class="layui-inline" id="divDelLotNo" style="display: none; padding-top: 10px;">
-						<div class="layui-inline">
-							<label class="layui-form-label">鍏ュ簱鍗曟嵁</label>
-							<div class="layui-input-inline" style="width: 220px;">
-								<input type="text" id="AsnNoSelect" name="AsnNoSelect" placeholder="鍏ュ簱鍗曟嵁" autocomplete="off" class="layui-input">
-								 
-							</div>
-						</div>
-						<div class="layui-inline DivLoadingArea" style="margin-top: 10px;">
-							<label class="layui-form-label">鎵规鍙�</label>
-							<div class="layui-input-inline" style="width: 220px;">
-								<select name="LotNoSelect" id="LotNoSelect" lay-search>
-									<option value=""></option> 
-								</select>
-							</div>
-						</div>							
-						 
-					</div> -->
+
 				</div>
 			</div>
-			<div class="layui-card-body"> 
+			<div class="layui-card-body">
 				<div class="position-relative">
 					<table id="Box-list" lay-filter="Box-list"></table>
 
@@ -160,7 +137,7 @@
 						</button>
 					</div>
 
-					
+
 
 					<script type="text/html" id="templetStatus">
 						{{# function GetBtn1(d){
@@ -175,7 +152,7 @@
 						}}
 						{{ GetBtn1(d) }}
 					</script>
-					
+
 					<script type="text/html" id="templetCreateTime">
 						{{# function GetBtn2(d){
 								return formatDate(d.CreateTime);
@@ -183,7 +160,7 @@
 						}}
 						{{ GetBtn2(d) }}
 					</script>
-                    <script type="text/html" id="templetUpdateTime">
+					<script type="text/html" id="templetUpdateTime">
 						{{# function GetBtn3(d){
 								return formatDate(d.UpdateTime);
 							}	
@@ -217,9 +194,6 @@
 	<script src="../../js/jquery-3.5.1.min.js"></script>
 	<script src="../../js/jquery.cookie.js"></script>
 	<script>
-		// layui.extend({
-		// 	excel: '../../layuiadmin/layui/layui_exts/excel' // {/}鐨勬剰鎬濆嵆浠h〃閲囩敤鑷湁璺緞锛屽嵆涓嶈窡闅� base 璺緞
-		// })
 
 		layui.config({
 			base: '../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
@@ -230,7 +204,7 @@
 				table = layui.table,
 				layer = layui.layer,
 				laydate = layui.laydate;
-			
+
 			// 鎼滅储鏂规硶
 			form.on('submit(LAY-app-contlist-search)', function (data) {
 				bindTable();
@@ -240,116 +214,24 @@
 			// 椤甸潰鍔犺浇缁戝畾Table
 			bindTable();
 
-			//鐢熸垚
-			$('#BuDaLabel').on('click', function () {
-                layer.open({
-					type: 2,
-					title: '鎵撳嵃',
-					content: 'LabelBoxBuDa.html',
-					maxmin: true,
-					area: ['430px', '390px'],
-					// btn: ['鍙栨秷']
-				});
-            });
-			$("#AsnNoSelect").on('input', function () {
-
-				if ($("#AsnNoSelect").val() == "" || $("#AsnNoSelect").val().length < 16) {
-					return
-				}
-				if ($("#AsnNoSelect").val().length >= 16) {
-					$("#AsnNoSelect").val($("#AsnNoSelect").val().substr(-16))
-				}
-				GetLotNoByAsnNo()
-			})
-			function GetLotNoByAsnNo() {
-
-				$("#LotNoSelect").empty()
-                $("#LotNoSelect").append('<option value =>' + '</option>');
-				form.render('select');
-				var param = {
-					asnNo: $("#AsnNoSelect").val(),
-				};
-				sendData(IP + "/BllAsn/GetLotNoListByAsn", param, 'get', function(res) {
-					if (res.code == 0) { //鎴愬姛
-						for (var i = 0; i < res.data.length; i++) {
-							$("#LotNoSelect").append('<option value =' + res.data[i] + '>' + res.data[i] + '</option>');
-						} 
-						form.render('select');
-					} else { //涓嶆垚鍔�
-						layer.msg(res.msg, {
-							icon: 2,
-							time: 3000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-						}, function() {
-							 
-						});
-					} 
-				});
-			}
-
-            //鍒犻櫎鏍囩
-			$('#delLabel').on('click', function () {
-
-				layer.open({
-					type: 1,
-					title: '鍒犻櫎鏍囩',
-					content: $('#divDelLotNo'),
-					maxmin: false,
-					area: ['350px','340px'],
-					btn: ['纭畾', '鍙栨秷'],
-					yes: function(index, layero) { 
-						var param = {
-							AsnNo: $('#AsnNoSelect').val(),
-							LotNo: $('#LotNoSelect').val(),
-						};
-						sendData(IP + "/BllAsn/DelLabelByAsnNo", param, 'post', function(res) {
-							if (res.code == 0) { //鎴愬姛
-								bindTable();
-								layer.msg(res.msg, {
-									icon: 1,
-									time: 1500 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-								}, function() {
-									$('#AsnNoSelect').val("");
-									$("#LotNoSelect").empty()
-									$("#LotNoSelect").append('<option value =>' + '</option>');
-									form.render('select');
-								});
-							} else { //涓嶆垚鍔�
-								layer.msg(res.msg, {
-									icon: 2,
-									time: 3000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-								}, function() {
-									bindTable();
-									$('#AsnNoSelect').val("");
-									$("#LotNoSelect").empty()
-									$("#LotNoSelect").append('<option value =>' + '</option>');
-									form.render('select');
-								});
-							}
-							layer.close(index);
-						});
-					}
-				});
-            });
-
-			
 			//鑷畾涔夎〃澶�
 			var TotalColsArr = [[
 
-				{ field: 'TraceNo', title: '杩芥函鍙�', align: 'center',fixed: 'left', width: 180, "disabled": true },
+				{ field: 'TraceNo', title: '杩芥函鍙�', align: 'center', fixed: 'left', width: 180, "disabled": true },
 				{ field: 'TaskNo', title: '浠诲姟鍙�', align: 'center', fixed: 'left', width: 220, "disabled": true },
-				{ field: 'PalletNo', title: '鎵樼洏鍙�', align: 'center', fixed: 'left', width: 220, "disabled": true  },
+				{ field: 'PalletNo', title: '鎵樼洏鍙�', align: 'center', fixed: 'left', width: 220, "disabled": true },
 				{ field: 'Status', title: '鐘舵��', align: 'center', templet: '#templetStatus', width: 90 },
-				{ field: 'SkuNo', title: '鐗╂枡缂栫爜', align: 'center',  width: 140},
-				{ field: 'SkuName', title: '鐗╂枡鍚嶇О', align: 'center'},
-				{ field: 'LotNo', title: '鎵规鍙�', align: 'center', width: 155},
+				{ field: 'SkuNo', title: '鐗╂枡缂栫爜', align: 'center', width: 140 },
+				{ field: 'SkuName', title: '鐗╂枡鍚嶇О', align: 'center' },
+				{ field: 'LotNo', title: '鎵规鍙�', align: 'center', width: 155 },
 
-				{ field: 'LocatName', title: '鍌ㄤ綅鍦板潃', align: 'center', width: 90 },
+				{ field: 'LocatNo', title: '鍌ㄤ綅鍦板潃', align: 'center', width: 90 },
 				{ field: 'RoadwayName', title: '鎵�灞炲贩閬�', align: 'center', width: 90 },
 				{ field: 'WareHouseName', title: '鎵�灞炰粨搴�', align: 'center', width: 90 },
 
 				{ field: 'CreateUserName', title: '鍒涘缓浜�', align: 'center', width: 100 },
 				{ field: 'CreateTime', title: '鍒涘缓鏃堕棿', align: 'center', width: 160, templet: '#templetCreateTime' },
-                
+
 				{ field: 'UpdateUserName', title: '鏇存柊浜�', align: 'center', width: 100 },
 				{ field: 'UpdateTime', title: '鏇存柊鏃堕棿', align: 'center', width: 160, templet: '#templetUpdateTime' },
 				//{ field: 'caozuo', title: '鎿嶄綔', fixed: 'right', width: 100, align: 'center', toolbar: '#toolbarDemoList', "disabled": true }
@@ -374,12 +256,12 @@
 						colsJson = TotalColsArr
 					}
 					var param = {
-						TraceNo:$("#ASNNo").val(),
+						TraceNo: $("#ASNNo").val(),
 						TaskNo: $("#BoxNo").val(),
-						PalletNo: $("#PalletNo").val(), 
+						PalletNo: $("#PalletNo").val(),
 						SkuNo: $("#SkuNo").val(),
 						SkuName: $("#SkuName").val(),
-						LotNo: $("#LotNo").val(), 
+						LotNo: $("#LotNo").val(),
 						Status: $("#Status").val(),
 					};
 					table.render({
@@ -389,7 +271,7 @@
 						height: 'full-96',
 						id: 'Box-list',
 						where: param,
-						contentType: 'application/json', 
+						contentType: 'application/json',
 						headers: { ToKen: $.cookie('token') },
 						page: true,
 						even: true,
@@ -397,7 +279,7 @@
 						limits: pageLimits,
 						cellMinWidth: 60, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板
 						done: function (res) {
-							
+
 							//鑷畾涔夊垪瀹�
 							SetTableColW('Box-list', 'BllAsn/GetPalletUpShelfList', TotalColsSysArr);
 						},
diff --git a/HTML/views/ASNSetting/ProcurePlanNotice.html b/HTML/views/ASNSetting/ProcurePlanNotice.html
index 103015b..733b7c0 100644
--- a/HTML/views/ASNSetting/ProcurePlanNotice.html
+++ b/HTML/views/ASNSetting/ProcurePlanNotice.html
@@ -292,7 +292,7 @@
 				{ field: 'CreateTime', title: '涓嬪彂鏃堕棿', align: 'center', templet: '#templetCreateTime' },
 				{ field: 'UpdateUserName', title: '淇敼浜�', align: 'center', width: 110 },
 				{ field: 'UpdateTime', title: '淇敼鏃堕棿', align: 'center', templet: '#templetUpdateTime' },
-				{ field: 'caozuo', title: '鎿嶄綔', fixed: 'right', width: 280, align: 'center', toolbar: '#toolbarDemo1', "disabled": true }
+				//{ field: 'caozuo', title: '鎿嶄綔', fixed: 'right', width: 280, align: 'center', toolbar: '#toolbarDemo1', "disabled": true }
 			]];
 			var TotalColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜
 			//#endregion
@@ -367,15 +367,15 @@
 				{ field: 'Qty', title: '鏁伴噺', align: 'center', width: 70 },
 				{ field: 'CompleteQty', title: '瀹屾垚鏁伴噺', align: 'center', width: 90 },
 				{ field: 'CompleteTime', title: '瀹屾垚鏃堕棿', align: 'center', width: 160, templet: '#templetCompleteTime2' },
-				{ field: 'UnitName', title: '璁¢噺鍗曚綅', align: 'center', width: 90 },
-				{ field: 'Price', title: '鍗曚环', align: 'center', width: 65 },
-				{ field: 'Money', title: '閲戦', align: 'center', width: 65 },
+				//{ field: 'UnitName', title: '璁¢噺鍗曚綅', align: 'center', width: 90 },
+				//{ field: 'Price', title: '鍗曚环', align: 'center', width: 65 },
+				//{ field: 'Money', title: '閲戦', align: 'center', width: 65 },
 				{ field: 'PackagName', title: '鍖呰鍚嶇О', align: 'center', width: 110, },
 				{ field: 'CreateUserName', title: '鍒涘缓浜�', align: 'center', width: 100 },
 				{ field: 'CreateTime', title: '鍒涘缓鏃堕棿', align: 'center', width: 160, templet: '#templetCreateTime2' },
 				{ field: 'UpdateUserName', title: '淇敼浜�', align: 'center', width: 150, },
 				{ field: 'UpdateTime', title: '淇敼鏃堕棿', align: 'center', width: 150, templet: '#templetUpdateTime3' },
-				{ field: 'caozuo', title: '鎿嶄綔', fixed: 'right', align: 'center', toolbar: '#toolbarDemoList', "disabled": true }
+				//{ field: 'caozuo', title: '鎿嶄綔', fixed: 'right', align: 'center', toolbar: '#toolbarDemoList', "disabled": true }
 			]];
 			var DetailColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(DetailColsArr)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜
 			//#endregion
diff --git a/Pda/View/SoSetting/pinTuoOut.html b/Pda/View/SoSetting/pinTuoOut.html
index c06d395..982a286 100644
--- a/Pda/View/SoSetting/pinTuoOut.html
+++ b/Pda/View/SoSetting/pinTuoOut.html
@@ -808,7 +808,9 @@
 					SoNo: $("#bar").val(),
 				};
 				synData(IP + "/PdaSo/GetSoSkuLotNoListByPallet", param, 'post', function (res) {
+					console.log(res);
 					if (res.code == 0) { //鎴愬姛
+
 						for (var i = 0; i < res.data.length; i++) {
 							if (i == 0) {
 								$("#skuLotNo").append('<option value =' + res.data[i].SoDetailId + ' selected>' + res.data[i].SkuName + " - " + res.data[i].LotNo + '</option>');
@@ -835,6 +837,7 @@
 					SoDetailId: $("#skuLotNo").val(),
 				};
 				synData(IP + "/PdaSo/GetPlanAndFinishQty", param, 'post', function (res) {
+					console.log("A00");
 					if (res.code == 0) { //鎴愬姛
 						console.log(res.data);
 						$("#planQty").val(res.data.PlanQty)
@@ -1256,8 +1259,8 @@
 							console.log(2)
 							updateSkuLotNoList2();
 							updateQtyList2();
-							getBar2();
-							GetDataInfo();
+							// getBar2();
+							// GetDataInfo();
 						}
 
 					} else { //涓嶆垚鍔�
@@ -1306,6 +1309,8 @@
 					SoNo: $("#bar2").val(),
 				};
 				synData(IP + "/PdaSo/GetSoSkuLotNoListByPallet", param, 'post', function (res) {
+
+					console.log(res);
 					if (res.code == 0) { //鎴愬姛
 						for (var i = 0; i < res.data.length; i++) {
 							if (i == 0) {
@@ -1337,12 +1342,14 @@
 			//鍒濆鍖栨覆鍗曟嵁鐨勮鍒掓暟閲忓拰瀹屾垚鏁伴噺
 			function updateQtyList2() {
 				clear23();
+				console.log("AA");
 				var param = {
 					SoDetailId: $("#skuLotNo2").val(),
 				};
 				synData(IP + "/PdaSo/GetPlanAndFinishQty", param, 'post', function (res) {
+					console.log(res);
+					console.log(res.data);
 					if (res.code == 0) { //鎴愬姛
-						console.log(res.data);
 						$("#planQty2").val(res.data.PlanQty)
 						$("#finishQty2").val(res.data.FinishQty)
 					} else { //涓嶆垚鍔�
diff --git a/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs b/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs
index d7af22e..6ae7ac9 100644
--- a/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs
+++ b/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs
@@ -7,10 +7,10 @@
     public class OutPdaInfo
     {
         public string OutModel { get; set; }                     // 鎷h揣鍖猴紙鍑哄簱鍙o級
-        public decimal PlanQty { get; set; }                       // 璁″垝鏁伴噺
+        public decimal? PlanQty { get; set; }                       // 璁″垝鏁伴噺--
         public decimal? FinishQty { get; set; }                       // 瀹屾垚鏁伴噺
         public string Standard { get; set; }                       // 瑙勬牸
-        public decimal PickQty { get; set; }                       // 鎵樼洏寰呮嫞鏁伴噺
+        public decimal? PickQty { get; set; }                       // 鎵樼洏寰呮嫞鏁伴噺--
         public decimal? PickedQty { get; set; }                       // 鎵樼洏宸叉嫞鏁伴噺
         public string SkuNo { get; set; }                           // 鐗╂枡缂栧彿
     }
diff --git a/Wms/Model/ModelVm/BllTaskVm/TaskSyncInfoVm.cs b/Wms/Model/ModelVm/BllTaskVm/TaskSyncInfoVm.cs
index dd0f540..f22756a 100644
--- a/Wms/Model/ModelVm/BllTaskVm/TaskSyncInfoVm.cs
+++ b/Wms/Model/ModelVm/BllTaskVm/TaskSyncInfoVm.cs
@@ -102,9 +102,9 @@
         /// <summary>
         /// 绠辨敮淇℃伅
         /// </summary>
-        public List<BoxInfo> BoxInfoList { get; set; }
+        public List<BoxInfosVm> BoxInfoList { get; set; }
     }
-    public class BoxInfo
+    public class BoxInfosVm
     { 
         public string OrderCode { get; set; }
         public string BoxNo { get; set; }
diff --git a/Wms/Utility/Filter/CustomerExceptionFilter.cs b/Wms/Utility/Filter/CustomerExceptionFilter.cs
index 2c2c54d..051506a 100644
--- a/Wms/Utility/Filter/CustomerExceptionFilter.cs
+++ b/Wms/Utility/Filter/CustomerExceptionFilter.cs
@@ -28,11 +28,11 @@
             // 濡傛灉寮傚父娌℃湁琚鐞嗗垯杩涜澶勭悊
             if (context.ExceptionHandled == false)
             {
-                var result = "绯荤粺寮傚父锛岃鑱旂郴绠$悊鍛�";
-                if (context.Exception is AppFriendlyException)
-                    result = context.Exception.Message;
+                //var result = "绯荤粺寮傚父锛岃鑱旂郴绠$悊鍛�";
+                //if (context.Exception is AppFriendlyException)
+                var result = context.Exception.Message;
                 var apiResponse = new ApiResponse<object>(
-                        code: (int)ResponseEnum.Error,
+                        code: (int)ResponseEnum.Fail,
                         message: result,
                         data: result
                     );
diff --git a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
index 283f9ed..4c0e2f0 100644
--- a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
@@ -399,10 +399,11 @@
                 }
                 else if (model.Type == "0")//鐗╂枡鎵�
                 {
-                    if (model.Detail.Count(m => m.OrderCode != detail.OrderDetailCode) > 0)
-                    {
-                        throw new Exception($"鎵樼洏缁戝畾鏄庣粏涓紝鍚湁绠辩爜鐢熶骇宸ュ崟涓嶄竴鑷�");
-                    }
+                    // 浣跨敤鍦烘櫙涓嶆槑纭�
+                    //if (model.Detail.Count(m => m.OrderCode != detail.OrderDetailCode) > 0)
+                    //{
+                    //    throw new Exception($"鎵樼洏缁戝畾鏄庣粏涓紝鍚湁绠辩爜鐢熶骇宸ュ崟涓嶄竴鑷�");
+                    //}
                     if (model.Detail.Count(m => m.SkuNo != model.SkuNo || m.LotNo != model.LotNo) > 0)
                     {
                         throw new Exception($"鎵樼洏缁戝畾鏄庣粏涓紝鍚湁绠辩爜鐗╂枡鎴栨壒娆′笉涓�鑷�");
@@ -1834,7 +1835,7 @@
                     }
                     //濡傛灉璺冲贩閬撳苟涓旀湭鎵惧埌鍚堥�傜┖鍌ㄤ綅,鍒欒烦鍒版渶鍚庝竴娆′娇鐢ㄧ殑宸烽亾鏌ヨ
 
-                    if (roadNo == "")
+                    if (string.IsNullOrWhiteSpace(roadNo))
                     {
                         if (useLog != null)
                         {
@@ -1867,7 +1868,7 @@
                             roadNo = item;
                         }
                         //褰撳墠宸锋湁浣嶇疆鍒欓��鍑�
-                        if (roadNo != null)
+                        if (!string.IsNullOrWhiteSpace(roadNo))
                         {
                             break;
                         }
@@ -1919,6 +1920,7 @@
                     };
                     Db.Insertable(exTask).ExecuteCommand();
 
+                    var asnNo = "";
                     // 娣诲姞鎵樼洏缁戝畾琛ㄦ墭鐩樺叆搴撲换鍔″彿  liudl
                     if (palletBindList.Count < 1)
                     {
@@ -1932,9 +1934,33 @@
                                 bindModel.WareHouseNo = houseNo;
                                 bindModel.RoadwayNo = roadNo;
                                 Db.Updateable(bindModel).ExecuteCommand();
+                                asnNo = stockModel.ASNNo;
                             }
                         }
                     }
+                    foreach (DataStockDetail stockModel in stockDetail)
+                    {
+                        //娣诲姞鎵樼洏涓婃灦璁板綍
+                        var upShelf = new BllPalletUpShelf()
+                        {
+                            TaskNo = exTask.TaskNo,
+                            TraceNo = asnNo,
+                            PalletNo = palletNo,
+                            SkuNo = stockModel.SkuNo,
+                            SkuName = stockModel.SkuName,
+                            LotNo = stockModel.LotNo,
+                            Status = "1",
+
+                            WareHouseNo = houseNo,
+                            RoadwayNo = roadNo,
+                            AreaNo = "",
+                            LocatNo = "",
+
+                            CreateUser = 0,
+                        };
+                        Db.Insertable(upShelf).ExecuteCommand();
+                    }
+                       
 
                     if (palletBindList.Count >= 1)
                     {
@@ -2242,7 +2268,7 @@
 
                         };
                         Db.Insertable(exTask).ExecuteCommand();
-
+                        var asnNo = "";
                         // 娣诲姞鎵樼洏缁戝畾琛ㄦ墭鐩樺叆搴撲换鍔″彿 liudl
                         foreach (DataStockDetail stockModel in stockDetail)
                         {
@@ -2255,9 +2281,32 @@
                                 bindModel.RoadwayNo = locate.RoadwayNo;
                                 bindModel.LocatNo = locate.LocatNo;
                                 Db.Updateable(bindModel).ExecuteCommand();
+                                asnNo = stockModel.ASNNo;
                             }
                         }
+                        foreach (DataStockDetail stockModel in stockDetail)
+                        {
+                            //娣诲姞鎵樼洏涓婃灦璁板綍
+                            var upShelf = new BllPalletUpShelf()
+                            {
+                                TaskNo = exTask.TaskNo,
+                                TraceNo = asnNo,
+                                PalletNo = palletNo,
+                                SkuNo = stockModel.SkuNo,
+                                SkuName = stockModel.SkuName,
+                                LotNo = stockModel.LotNo,
+                                Status = "1",
 
+                                WareHouseNo = houseNo,
+                                RoadwayNo = locate.RoadwayNo,
+                                AreaNo = locate.AreaNo,
+                                LocatNo = locate.LocatNo,
+
+                                CreateUser = 0,
+                            };
+                            Db.Insertable(upShelf).ExecuteCommand();
+                        }
+                            
                         oldTaskNo = taskNo;
                     }
                     else
@@ -2272,16 +2321,34 @@
                         }
                         Db.Updateable(oldTask).ExecuteCommand();
 
-                        var bindModel = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.Status == "2"
-                           && m.PalletNo == oldTask.PalletNo && m.TaskNo == oldTaskNo);
-                        if (bindModel != null && string.IsNullOrWhiteSpace(bindModel.LocatNo))
+
+                        var bindModelList = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.Status == "2"
+                           && m.PalletNo == oldTask.PalletNo && m.TaskNo == oldTaskNo).ToList();
+                        foreach (var bindModel in bindModelList)
                         {
-                            bindModel.TaskNo = oldTask.TaskNo;
-                            bindModel.WareHouseNo = locate.WareHouseNo;
-                            bindModel.RoadwayNo = locate.RoadwayNo;
-                            bindModel.LocatNo = locate.LocatNo;
-                            Db.Updateable(bindModel).ExecuteCommand();
+                            if (string.IsNullOrWhiteSpace(bindModel.LocatNo))
+                            {
+                                bindModel.TaskNo = oldTask.TaskNo;
+                                bindModel.WareHouseNo = locate.WareHouseNo;
+                                bindModel.RoadwayNo = locate.RoadwayNo;
+                                bindModel.LocatNo = locate.LocatNo;
+                                Db.Updateable(bindModel).ExecuteCommand();
+                                
+                            }
                         }
+                        //鏇存敼涓婃灦淇℃伅
+                        var upShelfList = Db.Queryable<BllPalletUpShelf>().Where(m => m.IsDel == "0" && m.TaskNo == oldTask.TaskNo && m.PalletNo == palletNo).ToList();
+                        foreach (var upShelf in upShelfList)
+                        {
+                            upShelf.WareHouseNo = locate.WareHouseNo;
+                            upShelf.RoadwayNo = locate.RoadwayNo;
+                            upShelf.LocatNo = locate.LocatNo;
+                            upShelf.Status = "1";
+                            Db.Updateable(upShelf).ExecuteCommand();
+                             
+                        }
+
+
                     }
 
                     locate.Status = "2";
@@ -2652,6 +2719,7 @@
                     //娣诲姞鎿嶄綔鏃ュ織璁板綍
                     var k = new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId);
                 }
+                
                 //鍒ゆ柇鏄惁鏄洖娴佸叆搴撳畬鎴�
                 if (stockDetail.Any())
                 {
@@ -3251,7 +3319,13 @@
                 task.FinishDate = comTime;//瀹屾垚鏃堕棿
                 //鏇存柊浠诲姟淇℃伅
                 Db.Updateable(task).ExecuteCommand();
-
+                //鏇存敼鎵樼洏涓婃灦璁板綍淇℃伅
+                var upShelfList = Db.Queryable<BllPalletUpShelf>().Where(m => m.IsDel == "0" && m.TaskNo == taskNo && m.PalletNo == task.PalletNo).ToList();
+                foreach (var upShelf in upShelfList)
+                {
+                    upShelf.Status = "2";
+                    Db.Updateable(upShelf).ExecuteCommand();
+                } 
                 //鍒ゆ柇鏄惁鏄洖娴佸叆搴撳畬鎴�
                 if (stockDetail.Any())
                 {
@@ -3294,49 +3368,6 @@
                         Db.Updateable(dataBoxInfoList).ExecuteCommand();
                         #endregion
 
-                        #region 閲囪喘璁″垝
-                        //var noticeDetail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == item.ASNDetailNo);
-                        //if (noticeDetail == null)
-                        //{
-                        //    throw new Exception("鏈煡璇㈠埌鎵樼洏缁戝畾鐨勫叆搴撳崟鏄庣粏淇℃伅");
-                        //}
-                        //var notice = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == noticeDetail.ASNNo);
-                        //if (notice == null)
-                        //{
-                        //    throw new Exception("鏈煡璇㈠埌鎵樼洏缁戝畾鐨勫叆搴撳崟淇℃伅");
-                        //}
-                        //if (notice.Type == "1" && !string.IsNullOrEmpty(noticeDetail.OrderDetailCode))
-                        //{
-                        //    //閲囪喘鍗曟槑缁�
-                        //    var planDetail = Db.Queryable<BllProcurePlanNoticeDetail>().First(it => it.OrderDetailCode == noticeDetail.OrderDetailCode && it.IsDel == "0");
-                        //    planDetail.CompleteQty += item.Qty;
-                        //    if (planDetail.CompleteQty >= planDetail.Qty)
-                        //    {
-                        //        planDetail.Status = "2";
-                        //        planDetail.CompleteTime = comTime;
-                        //    }
-                        //    Db.Updateable(planDetail).ExecuteCommand();
-
-                        //    //閲囪喘鍗�
-                        //    var planOrd = Db.Queryable<BllProcurePlanNotice>().First(it => it.Id == planDetail.ParentId && it.IsDel == "0");
-                        //    var planDetailNum = Db.Queryable<BllProcurePlanNoticeDetail>()
-                        //    .Count(m => m.IsDel == "0" && m.ParentId == planDetail.ParentId && m.Status != "2");
-                        //    if (planDetailNum == 0)
-                        //    {
-                        //        planOrd.Status = "2";
-                        //        planOrd.CompleteTime = comTime;
-                        //        Db.Updateable(planOrd).ExecuteCommand();
-                        //    }
-                        //    else
-                        //    {
-                        //        if (planOrd.Status == "0")
-                        //        {
-                        //            planOrd.Status = "1";
-                        //            Db.Updateable(planOrd).ExecuteCommand();
-                        //        }
-                        //    }
-                        //}
-                        #endregion
                         item.Status = "3";
                         item.CompleteTime = comTime;
                     }
@@ -3587,6 +3618,15 @@
                     }
                     Db.Updateable(bind).ExecuteCommand();
                 }
+                //鏇存敼鎵樼洏涓婃灦璁板綍淇℃伅
+                var upShelfList = Db.Queryable<BllPalletUpShelf>().Where(m => m.IsDel == "0" && m.TaskNo == taskNo && m.PalletNo == task.PalletNo).ToList();
+                foreach (var upShelf in upShelfList)
+                {
+                    upShelf.IsDel = "1";
+                    Db.Updateable(upShelf).ExecuteCommand();
+                } 
+
+                //鍌ㄤ綅淇℃伅
                 var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat);
                 if (locate != null)
                 {
diff --git a/Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs b/Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs
index 3e0f48b..db806fa 100644
--- a/Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/ProcurePlanServer.cs
@@ -271,6 +271,7 @@
                 {
                     Status = "0",                   
                     OrderCode = model.OrderCode,
+                    UserName = model.Username  //鍒跺崟浜�
                 };
                 // 鎻掑叆閲囪喘鍗曟�昏〃
                 int parentId = Db.Insertable(planModel).ExecuteReturnIdentity();
diff --git a/Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs b/Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs
index 19db4a1..616764b 100644
--- a/Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs
+++ b/Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs
@@ -476,20 +476,20 @@
                         // 姝e紡杩愯绋嬪簭鏀惧紑
                         var list2 = outWhs.Select(m => m.TaskNo).ToList();
                         var jsonData = JsonConvert.SerializeObject(outWhs);
-                        string response = "";
+                        //string response = "";
 
                         try
                         {
-                            var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
-                            response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
-                            var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
+                            //var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
+                            //response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
+                            //var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
 
                             ////瑙f瀽杩斿洖鏁版嵁 
                             //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
                             //if (wcsModel.StatusCode == 0)
                             //{
                             //    //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
-                                new TaskServer().EditTaskIssueOk(list2, time1, time2);
+                                //new TaskServer().EditTaskIssueOk(list2, time1, time2);
                             //}
                             //if (wcsModel.StatusCode == -1)
                             //{
diff --git a/Wms/WMS.BLL/SysServer/MaterialsServer.cs b/Wms/WMS.BLL/SysServer/MaterialsServer.cs
index 6b0d9c7..e10d30f 100644
--- a/Wms/WMS.BLL/SysServer/MaterialsServer.cs
+++ b/Wms/WMS.BLL/SysServer/MaterialsServer.cs
@@ -57,6 +57,8 @@
         {
             return Db.Queryable<SysMaterials>()
                      .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
+                     .LeftJoin<SysPackag>((a, b,c) => a.PackagNo == c.PackagNo) 
+                     .Where((a,b,c) => c.IsDel == "0")
                      .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo.Contains(skuNo))
                      .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuNo.Contains(skuName))
                      .WhereIF(!string.IsNullOrEmpty(auditStatusNo), a => a.AuditStatusNo == auditStatusNo)
@@ -66,7 +68,7 @@
                      .WhereIF(!string.IsNullOrEmpty(environment), a => a.Environment == environment)
                      .WhereIF(!string.IsNullOrEmpty(categoryNo), a => a.CategoryNo == categoryNo)
                      .Where(a => a.IsDel == "0")
-                     .Select<MaterialsDto>((a, b) => new MaterialsDto() { CreateUserName = b.RealName }, true)
+                     .Select<MaterialsDto>((a, b, c) => new MaterialsDto() { CreateUserName = b.RealName,PackagName = c.PackagName }, true)
                      .ToListAsync();
         }
 
diff --git a/Wms/WMS.DAL/SysInfrastructure/StorageLocatRepository.cs b/Wms/WMS.DAL/SysInfrastructure/StorageLocatRepository.cs
index 54503c3..92fb59a 100644
--- a/Wms/WMS.DAL/SysInfrastructure/StorageLocatRepository.cs
+++ b/Wms/WMS.DAL/SysInfrastructure/StorageLocatRepository.cs
@@ -93,23 +93,23 @@
                     outDtoList.Add(locatEntry2);
 
                     // 姝e紡杩愯绋嬪簭鏀惧紑
-                    var jsonData = JsonConvert.SerializeObject(outDtoList);
-                    string response = "";
+                    //var jsonData = JsonConvert.SerializeObject(outDtoList);
+                    //string response = "";
 
-                    try
-                    {
-                        response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍚屾鍌ㄤ綅淇℃伅", "WCS");
-                        //瑙f瀽杩斿洖鏁版嵁 
-                        var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
-                        if (wcsModel.StatusCode == -1)
-                        {
-                            throw new Exception(wcsModel.Msg);
-                        }
-                    }
-                    catch (Exception ex)
-                    {
-                        throw new Exception(ex.Message);
-                    }
+                    //try
+                    //{
+                    //    response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍚屾鍌ㄤ綅淇℃伅", "WCS");
+                    //    //瑙f瀽杩斿洖鏁版嵁 
+                    //    var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
+                    //    if (wcsModel.StatusCode == -1)
+                    //    {
+                    //        throw new Exception(wcsModel.Msg);
+                    //    }
+                    //}
+                    //catch (Exception ex)
+                    //{
+                    //    throw new Exception(ex.Message);
+                    //}
                 }
 
                 Db.CommitTran();
@@ -195,23 +195,23 @@
                 if (i > 0)
                 {
                     // 姝e紡杩愯绋嬪簭鏀惧紑
-                    var jsonData = JsonConvert.SerializeObject(outDtoList);
-                    string response = "";
+                    //var jsonData = JsonConvert.SerializeObject(outDtoList);
+                    //string response = "";
 
-                    try
-                    {
-                        response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
-                        //瑙f瀽杩斿洖鏁版嵁 
-                        var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
-                        if (wcsModel.StatusCode == -1)
-                        {
-                            throw new Exception(wcsModel.Msg);
-                        }
-                    }
-                    catch (Exception ex)
-                    {
-                        throw new Exception(ex.Message);
-                    }
+                    //try
+                    //{
+                    //    response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
+                    //    //瑙f瀽杩斿洖鏁版嵁 
+                    //    var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
+                    //    if (wcsModel.StatusCode == -1)
+                    //    {
+                    //        throw new Exception(wcsModel.Msg);
+                    //    }
+                    //}
+                    //catch (Exception ex)
+                    //{
+                    //    throw new Exception(ex.Message);
+                    //}
                 }
                 Db.CommitTran();
                 return i > 0;
diff --git a/Wms/Wms/Controllers/PdaSoController.cs b/Wms/Wms/Controllers/PdaSoController.cs
index 006663b..0056a0e 100644
--- a/Wms/Wms/Controllers/PdaSoController.cs
+++ b/Wms/Wms/Controllers/PdaSoController.cs
@@ -10,7 +10,6 @@
 using Model.ModelVm.PdaVm;
 using WMS.IBLL.IPdaServer;
 using Model.ModelDto;
-using Model.ModelVm;
 using Wms.Tools;
 using Utility;
 using System.Security.Cryptography;
@@ -65,9 +64,9 @@
         /// <param name="model">PalletNo:鎵樼洏鐮併�丼oNo:鍗曟嵁鍙�</param> 
         /// <returns></returns>
         [HttpPost]
-        public async Task GetSoSkuLotNoListByPallet(PdaSoVm model)
+        public async Task<List<DetailIdSkuLotNo>> GetSoSkuLotNoListByPallet(PdaSoVm model)
         {
-            var models = await _pdaSoSvc.GetSoSkuLotNoListByPallet(model.PalletNo, model.SoNo);
+           return await _pdaSoSvc.GetSoSkuLotNoListByPallet(model.PalletNo, model.SoNo);
         }
 
         /// <summary>
@@ -89,18 +88,20 @@
         [HttpPost]
         public async Task<OutPdaInfo> GetPlanAndFinishQty(PdaSoVm model)
         {
-            return await _pdaSoSvc.GetPlanAndFinishQty(model.SoDetailId);
+            var data = await _pdaSoSvc.GetPlanAndFinishQty(model.SoDetailId);
+            return data;
         }
 
         /// <summary>
         /// 鑾峰彇绠辩爜淇℃伅锛堟牴鎹鐮佸湪搴撳瓨绠辩爜鏄庣粏涓煡璇級
         /// </summary>
-        /// <param name="model">BoxNo:绠辩爜鍙�</param> 
+        /// <param name="model"></param>
         /// <returns></returns>
         [HttpPost]
-        public async Task<dynamic> GetDataComBoxInfo(PdaSoVm model)
+        public async Task<List<BoxInfo>> GetDataComBoxInfo(PdaSoVm model)
         {
-            return await _pdaSoSvc.GetDataComBoxInfo(model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3);
+            var data = await _pdaSoSvc.GetDataComBoxInfo(model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3);
+            return data;
         }
 
         /// <summary>
@@ -109,7 +110,7 @@
         /// <param name="model">BoxNo:绠辩爜鍙�</param> 
         /// <returns></returns>
         [HttpPost]
-        public async Task<dynamic> GetAllotPlnInfo(PdaSoVm model)
+        public async Task<List<BoxInfo>> GetAllotPlnInfo(PdaSoVm model)
         {
             return await _pdaSoSvc.GetAllotPlnInfo(model.SoDetailId, model.PalletNo);
         }
diff --git a/Wms/Wms/appsettings.json b/Wms/Wms/appsettings.json
index b5ce370..6de1f01 100644
--- a/Wms/Wms/appsettings.json
+++ b/Wms/Wms/appsettings.json
@@ -12,7 +12,7 @@
     //"ConnectionString": "Server=47.95.120.53;Database=WMS_JC09;User ID=sa;Password=boxline!@#;Integrated Security=False;",
     //"ConnectionString": "Server=192.168.62.106;Database=WMS_JC24;User ID=sa;Password=sql2019;Integrated Security=False;",
     //"ConnectionString": "Server=192.168.62.200;Database=WMS_JC26;User ID=sa;Password=sql2019;Integrated Security=False;",
-    "ConnectionString": "Server=.\\MSSQLSERVER2019;Database=WMS_JC26;User ID=sa;Password=admin2023@;Integrated Security=False;"
+    "ConnectionString": "Server=.;Database=WMS_JC26;User ID=sa;Password=sql2019;Integrated Security=False;"
     //"ConnectionString": "Server=.;Database=WMS_JC09;User ID=sa;Password=sql2019;Integrated Security=False;"
     //"ConnectionString": "Data Source=DESKTOP-0EJDG95\\MSSQLSERVER1;Initial Catalog=WMS_V01;Integrated Security=True;"
   },
@@ -47,7 +47,7 @@
   },
   "Quartz": {
     "dbProviderName": "SqlServer",
-    "connectionString": "Server=.\\MSSQLSERVER2019;Database=QRTZ;User ID=sa;Password=admin2023@;Integrated Security=False;"
+    "connectionString": "Server=.;Database=QRTZ;User ID=sa;Password=sql2019;Integrated Security=False;"
   }
 
 

--
Gitblit v1.8.0