From f2dc0484c97dc430279fe45a09a15c967a60a2b9 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期三, 13 三月 2024 11:16:23 +0800
Subject: [PATCH] PDA平库入库增加维护货主信息;入库完成增加维护供应商信息;

---
 Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs    |  134 ++++++++++++++++
 Wms/Wms/Controllers/PdaSoController.cs          |   23 ++
 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs         |   38 ++++
 Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs         |    7 
 Wms/Wms/Controllers/BllAsnController.cs         |   40 +++++
 Wms/WMS.BLL/SysServer/MaterialsServer.cs        |   16 ++
 Wms/WMS.IBLL/IBllAsnServer/IBllBoxInfoServer.cs |   15 +
 Pda/View/SoSetting/SampleOut.html               |   48 ++++-
 HTML/views/ASNSetting/LabelBox.html             |  110 +++++++++++++
 Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs    |    2 
 Wms/WMS.BLL/DataServer/StockServer.cs           |   39 +++-
 11 files changed, 441 insertions(+), 31 deletions(-)

diff --git a/HTML/views/ASNSetting/LabelBox.html b/HTML/views/ASNSetting/LabelBox.html
index ec5c961..86b5a37 100644
--- a/HTML/views/ASNSetting/LabelBox.html
+++ b/HTML/views/ASNSetting/LabelBox.html
@@ -121,9 +121,31 @@
 							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 buDaLabelClass" style="margin-left: 5px;" lay-event="BuDaLabel" id="BuDaLabel">
+						<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>
@@ -289,7 +311,85 @@
 					// 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);
+						});
+					}
+				});
+            });
 
 
 			// // 鍒犻櫎绠辨敮淇℃伅
@@ -421,6 +521,7 @@
 			function setRight() {
 				$(function () {
 					$(".buDaLabelClass").hide(); 
+					$(".delLabelClass").hide(); 
 				});
 				sendData(IP + "/Basis/GetRoleRightList", {}, 'get', function (res) {
 					if (res.code == 0) { //鎴愬姛 
@@ -430,6 +531,11 @@
 									$(".buDaLabelClass").show();
 								});
 							} 
+							if (res.data[k].MenuName == "鍒犻櫎鏍囩") {
+								$(function () {
+									$(".delLabelClass").show();
+								});
+							} 
 						}
 					} else { //涓嶆垚鍔�
 						layer.msg('鑾峰彇鏉冮檺淇℃伅澶辫触', {
diff --git a/Pda/View/SoSetting/SampleOut.html b/Pda/View/SoSetting/SampleOut.html
index 75d9bf8..4fc9be3 100644
--- a/Pda/View/SoSetting/SampleOut.html
+++ b/Pda/View/SoSetting/SampleOut.html
@@ -613,18 +613,6 @@
 				checkPalletState()
 			})
 
-			form.on('switch(IsZhengTuo)', function (obj) {
-				if (obj.elem.checked) {
-					$('#BoxDIv').attr("style", "display:none")
-					isContinue="1";
-				} else {					
-					$('#BoxDIv').attr("style", "display:block")
-					isContinue="0";
-				}
-				$('#boxNo').val("");
-				$('#boxNo3').val("");
-			});
-
 			//绠辩爜鏂囨湰妗嗗洖杞︿簨浠�
 			$("#boxNo").blur(function () {
 				GetBoxInfo();
@@ -645,7 +633,7 @@
 				synData(IP + "/PdaSo/IsEnableOkPalletNo", param, 'post', function (res) {
                     
 					if (res.code == 0) { //鎴愬姛 
-                        synData(IP + "/PdaSo/IsEnableOkPalletNo", param, 'post', function (res) {
+                        synData(IP + "/PdaSo/GetSampleType", param, 'get', function (res) {
                             if (res.code == 0){
                                 if (res.data == "0") {//搴撳唴鍙栨牱
                                     $('#kuneilabel').show();
@@ -680,7 +668,39 @@
 					}
 				});
 			}
-			//涓嬫媺鍗曟嵁閫変腑鍚庝簨浠�
+			
+            //鍒濆鍖栨覆鏌� 鍏ュ簱鍗�
+			function updateAsnBillList() {
+
+                $("#bar").empty()
+                $("#bar").append('<option value =>' + '</option>');
+                form.render('select');
+
+                var param = {
+                    PalletNo: $("#palletNo").val(),
+                };
+                synData(IP + "/PdaSo/GetRunSoNoticeList", param, 'post', function (res) {
+                    if (res.code == 0) { //鎴愬姛
+                        console.log(res.data);
+                        for (var i = 0; i < res.data.length; i++) {
+                            if (i == 0) {
+                                $("#bar").append('<option value =' + res.data[i] + ' selected>' + res.data[i] + '</option>');
+                            } else {
+                                $("#bar").append('<option value =' + res.data[i] + '>' + res.data[i] + '</option>');
+                            }
+                        }
+                        form.render('select');
+
+                    } else { //涓嶆垚鍔�
+                        layer.msg(res.msg, {
+                            icon: 2,
+                            time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                        });
+                    }
+                });
+            }
+
+            //涓嬫媺鍗曟嵁閫変腑鍚庝簨浠�
 			form.on('select(getbar)', function (data) {
 				if ($('#palletNo').val() == "") {
 					layer.msg("璇疯緭鍏ユ墭鐩樻潯鐮�", {
diff --git a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
index 26c7d4e..8c2988c 100644
--- a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
@@ -1590,5 +1590,139 @@
                 throw new Exception(e.Message);
             }
         }
+
+        //鏍规嵁鍏ュ簱鍗曞彿杩囧幓鍗曟嵁涓嬫墍鏈夋壒娆″彿
+        public List<string> GetLotNoListByAsn(string asnNo)
+        {
+            try
+            {
+                var data = new List<string>();
+                var asnList = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && m.ASNNo == asnNo).ToList();
+                if (asnList.Count == 0)
+                {
+                    throw new Exception("鏈煡璇㈠埌璇ュ崟鎹彿鐨勪俊鎭�");
+                }
+
+                foreach (var item in asnList)
+                {
+                    if (string.IsNullOrWhiteSpace(item.LotNo))
+                    {
+                        continue;
+                    }
+
+                    var strList = item.LotNo.Split(";");
+                    foreach (var str in strList)
+                    {
+                        if (string.IsNullOrWhiteSpace(str))
+                        {
+                            continue;
+                        }
+                        data.Add(str);
+                    }
+                }
+
+                return data;
+            }
+            catch (Exception e)
+            {
+                throw new Exception(e.Message);
+            }
+        }
+
+        //鍒犻櫎鍗曟嵁涓嬪崟涓垨澶氫釜鎵规鐨勬爣绛�
+        public void DelLabelByAsnNo(string asnNo,string lotNo, int userId)
+        {
+            try
+            {
+                var asnList = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && m.ASNNo == asnNo).ToList();
+                if (asnList.Count == 0)
+                {
+                    throw new Exception("鏈煡璇㈠埌璇ュ崟鎹彿鐨勪俊鎭�");
+                }
+
+                Db.BeginTran();
+
+                //鎵规涓虹┖锛氬綋鍓嶅崟鎹笅鎵�鏈夋壒娆$殑鏍囩鍏ㄩ儴鍒犻櫎锛� 鏈夋壒娆★細浼ゅ褰撳墠鍗曟嵁涓嬪綋鍓嶆壒娆$殑鏍囩
+                if (string.IsNullOrWhiteSpace(lotNo)) //鍒犻櫎鍏ㄩ儴鏍囩
+                {
+                    var labelList = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNNo == asnNo).ToList();
+                    if (labelList.Count(m => m.Status != "0") >= 1)
+                    {
+                        throw new Exception("褰撳墠鍗曟嵁鎵规鐨勬爣绛惧凡鏈夊凡浣跨敤锛屼笉鑳藉垹闄�");
+                    }
+
+                    foreach (var item in asnList)
+                    {
+                        if (string.IsNullOrWhiteSpace(item.LotNo))
+                        {
+                            continue;
+                        }
+
+                        item.LotNo = "";
+                        Db.Updateable(item).ExecuteCommand();
+
+                    }
+                    Db.Deleteable(labelList).ExecuteCommand();
+                }
+                else  //鍒犻櫎鍥哄畾鎵规鏍囩
+                {
+                    var labelList = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNNo == asnNo && m.LotNo == lotNo).ToList();
+                    if (labelList.Count(m=>m.Status != "0") >= 1 )
+                    {
+                        throw new Exception("褰撳墠鍗曟嵁鎵规鐨勬爣绛惧凡鏈夊凡浣跨敤锛屼笉鑳藉垹闄�");
+                    }
+
+                    foreach (var item in asnList)
+                    {
+                        if (string.IsNullOrWhiteSpace(item.LotNo) || item.LotNo!=lotNo)
+                        {
+                            continue;
+                        }
+
+                        var strList = item.LotNo.Split(";");
+                        var updateLotNo = "";
+                        foreach (var str in strList)
+                        {
+                            if (string.IsNullOrWhiteSpace(str) || str == lotNo)
+                            {
+                                continue;
+                            }
+
+                            if (string.IsNullOrWhiteSpace(updateLotNo))
+                            {
+                                updateLotNo = str;
+                            }
+                            else
+                            {
+                                updateLotNo += ";" + str;
+                            }
+                             
+                        }
+
+                        item.LotNo = updateLotNo;
+                        Db.Updateable(item).ExecuteCommand();
+
+                    }
+                    Db.Deleteable(labelList).ExecuteCommand();
+                }
+
+                Db.CommitTran();
+
+                var msg = $"鍒犻櫎浜嗗崟鎹彿锛歿asnNo}";
+                if (!string.IsNullOrWhiteSpace(lotNo))
+                {
+                    msg += $"銆佹壒娆″彿锛歿lotNo}";
+                }
+                msg += "鐨勬爣绛句俊鎭�";
+
+                new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鐗╂枡鏍囩", asnNo, "鍒犻櫎", msg, userId);
+            }
+            catch (Exception e)
+            {
+                Db.RollbackTran();
+                throw new Exception(e.Message);
+            }
+        }
+
     }
 }
diff --git a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
index 5075348..4e5e8b7 100644
--- a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
@@ -586,7 +586,7 @@
                    .And(m => m.AreaNo.Contains(categoryAreaNo))
                    .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
                 var total = 0;
-                var list = Db.Queryable<SysStorageLocat>().Where(item)
+                var list = Db.Queryable<SysStorageLocat>().Where(item).OrderByDescending(a=>a.Depth).OrderBy(a=>a.Column)
                     .Select(a => new LocatDto()
                     {
                         Id = a.Id,
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 87286b4..f2b5cc7 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -1300,6 +1300,16 @@
                     m.IsDel == "0" && m.PalletNo == palletNo && m.Status != "5" && m.Status != "6");
                 if (allot!=null)
                 {
+                    var soNo = Db.Queryable<BllExportNotice>()
+                        .First(m => m.IsDel == "0" && m.SONo == allot.SONo);
+                    if (soNo == null)
+                    {
+                        throw new Exception("鏈壘鍒版墭鐩樹笂鍑哄簱鍗曟嵁淇℃伅");
+                    } 
+                    if (soNo.Type != "3")
+                    {
+                        throw new Exception("璇ユ墭鐩樹笉鏄彇鏍锋墭鐩�");
+                    } 
                     type = "0";//搴撳唴鍙栨牱
                 }
                 else
@@ -1313,5 +1323,33 @@
                 throw new Exception(e.Message);
             }
         }
+
+        //鏍规嵁鎵樼洏鍙疯幏鍙栧叆搴撳崟鎹�
+        public List<string> GetAsnNoByPallet(string palletNo)
+        {
+            try
+            {
+                var type = "";
+                var detail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNo);
+                if (detail == null)
+                {
+                    throw new Exception("褰撳墠鎵樼洏鏈湪搴撳瓨涓�");
+                }
+
+                var list = new List<string>();
+                if (string.IsNullOrWhiteSpace(detail.ASNNo))
+                {
+                    throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樼殑鍏ュ簱鍗曚俊鎭�");
+                }
+                list.Add(detail.ASNNo);
+                return list;
+            }
+            catch (Exception e)
+            {
+                throw new Exception(e.Message);
+            }
+        }
+
+
     }
 }
diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs
index 5327b92..ba11a64 100644
--- a/Wms/WMS.BLL/DataServer/StockServer.cs
+++ b/Wms/WMS.BLL/DataServer/StockServer.cs
@@ -34,7 +34,11 @@
         /// <returns></returns>
         public List<MateDataStockDto> GetDataStockList(string skuNo, string skuName, string ownerNo, string ownerName)
         {
-            string str = "select stock.SkuNo,stock.SkuName,stock.LotNo,stock.LotText,stock.Standard,stock.Qty,stock.LockQty,stock.FrozenQty,stock.OwnerNo,stock.OwnerName,(mate.Weight * stock.Qty) WeightSum from DataStock stock left join SysMaterials mate on stock.SkuNo = mate.SkuNo Where stock.IsDel = @isdel";
+            string str = "select stock.SkuNo,stock.SkuName,stock.LotNo,stock.LotText,stock.Standard,stock.Qty," +
+                "stock.LockQty,stock.FrozenQty,stock.OwnerNo,stock.OwnerName,(mate.Weight * stock.Qty) WeightSum " +
+                "from DataStock stock " +
+                "left join SysMaterials mate on stock.SkuNo = mate.SkuNo " +
+                "Where stock.IsDel = @isdel";
             //鍒ゆ柇鐗╂枡缂栫爜鏄惁涓虹┖
             if (!string.IsNullOrEmpty(skuNo))
             {
@@ -117,23 +121,30 @@
         /// <param name="status">搴撳瓨鐘舵��</param>
         /// <param name="inspectStatus">璐ㄦ鐘舵��</param>
         /// <returns></returns>
-        public List<StockDetailDto> GetInventoryList1(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, string status, string inspectStatus, string ownerNo, string ownerName)
+        public List<StockDetailDto> GetInventoryList1(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, 
+            string status, string inspectStatus, string ownerNo, string ownerName)
         {
-            string str = "select detail.*,house.WareHouseNo + '-' + house.WareHouseName as WareHouseName,roadway.RoadwayNo + '-' + roadway.RoadwayName as RoadwayName,area.AreaNo + '-' + area.AreaName as AreaName  from DataStockDetail detail left join SysStorageRoadway roadway on detail.RoadwayNo = roadway.RoadwayNo left join SysWareHouse house on detail.WareHouseNo = house.WareHouseNo left join SysStorageArea area on detail.AreaNo = area.AreaNo Where detail.IsDel = @isdel";
+            string str = "select detail.*,house.WareHouseNo + '-' + house.WareHouseName as WareHouseName," +
+                "roadway.RoadwayNo + '-' + roadway.RoadwayName as RoadwayName,area.AreaNo + '-' + area.AreaName as AreaName  " +
+                "from DataStockDetail detail " +
+                "left join SysStorageRoadway roadway on detail.RoadwayNo = roadway.RoadwayNo " +
+                "left join SysWareHouse house on detail.WareHouseNo = house.WareHouseNo " +
+                "left join SysStorageArea area on detail.AreaNo = area.AreaNo " +
+                "Where detail.IsDel = @isdel";
             //鍒ゆ柇鐗╂枡缂栫爜鏄惁涓虹┖
             if (!string.IsNullOrEmpty(skuNo))
             {
-                str += " and detail.SkuNo = @skuno";
+                str += " and detail.SkuNo like @skuno";
             }
             //鍒ゆ柇鐗╂枡鍚嶇О鏄惁涓虹┖
             if (!string.IsNullOrEmpty(skuName))
             {
-                str += " and detail.SkuName = @skuname";
+                str += " and detail.SkuName like @skuname";
             }
             //鍒ゆ柇鎵规鏄惁涓虹┖
             if (!string.IsNullOrEmpty(lotNo))
             {
-                str += " and detail.LotNo = @lotno";
+                str += " and detail.LotNo like @lotno";
             }
             if (!string.IsNullOrEmpty(skuNo) && string.IsNullOrEmpty(lotNo))
             {
@@ -142,12 +153,12 @@
             //鍒ゆ柇鍌ㄤ綅鍦板潃鏄惁涓虹┖
             if (!string.IsNullOrEmpty(locatNo))
             {
-                str += " and detail.LocatNo = @locatno";
-            }            
+                str += " and detail.LocatNo like @locatno";
+            }
             //鍒ゆ柇鎵樼洏鏉$爜鏄惁涓虹┖
             if (!string.IsNullOrEmpty(palletNo))
             {
-                str += " and detail.PalletNo = @palletno";
+                str += " and detail.PalletNo like @palletno";
             }
             //鍒ゆ柇搴撳瓨鐘舵�佹槸鍚︿负绌�
             if (!string.IsNullOrEmpty(status))
@@ -174,11 +185,11 @@
             List<StockDetailDto> stockDetailsList = Db.Ado.SqlQuery<StockDetailDto>(str, new
             {
                 isdel = "0", //鏄惁鍒犻櫎
-                skuno = skuNo, //鐗╂枡缂栫爜
-                skuname = skuName, //鐗╂枡鍚嶇О
-                lotno = lotNo, //鎵规
-                locatno = locatNo, //鍌ㄤ綅鍦板潃
-                palletno = palletNo, //鎵樼洏鏉$爜
+                skuno = "%" + skuNo + "%", //鐗╂枡缂栫爜
+                skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
+                lotno = "%" + lotNo + "%", //鎵规
+                locatno = "%" + locatNo + "%", //鍌ㄤ綅鍦板潃
+                palletno = "%" + palletNo + "%", //鎵樼洏鏉$爜
                 status = status, //搴撳瓨鐘舵��
                 inspectstatus = inspectStatus, //璐ㄦ鐘舵��
                 ownerNo = "%" + ownerNo + "%", //璐т富缂栫爜
diff --git a/Wms/WMS.BLL/SysServer/MaterialsServer.cs b/Wms/WMS.BLL/SysServer/MaterialsServer.cs
index e33d8b6..eb05ab5 100644
--- a/Wms/WMS.BLL/SysServer/MaterialsServer.cs
+++ b/Wms/WMS.BLL/SysServer/MaterialsServer.cs
@@ -146,6 +146,14 @@
             //鎹曡幏寮傚父
             try
             {
+                int count = GetMateByNo(matedto.SkuNo);
+
+                if (count > 0)
+                {
+                    throw new Exception("鐗╂枡缂栫爜閲嶅");
+                }
+
+
                 //鏄犲皠妯″瀷
                 SysMaterials mate = _mapper.Map<SysMaterials>(matedto);
                 mate.AuditStatusNo = "9"; //瀹℃牳鐘舵��
@@ -201,6 +209,14 @@
             //鎹曡幏寮傚父
             try
             {
+
+                int count = GetMateByNo(matedto.SkuNo);
+
+                if (count > 0)
+                {
+                    throw new Exception("鐗╂枡缂栫爜閲嶅");
+                }
+
                 if (matedto.AdventTime > 365 && matedto.AdventTime < 30)
                 {
                     return 2;
diff --git a/Wms/WMS.IBLL/IBllAsnServer/IBllBoxInfoServer.cs b/Wms/WMS.IBLL/IBllAsnServer/IBllBoxInfoServer.cs
index 0b2d515..30fdad5 100644
--- a/Wms/WMS.IBLL/IBllAsnServer/IBllBoxInfoServer.cs
+++ b/Wms/WMS.IBLL/IBllAsnServer/IBllBoxInfoServer.cs
@@ -70,5 +70,20 @@
         List<BoxInfoDto> GetBuDaLabelList(string boxNo, string endBoxNo, string boxNo2, string endBoxNo2, string type,
             int userId);
 
+        /// <summary>
+        /// 鏍规嵁鍏ュ簱鍗曞彿杩囧幓鍗曟嵁涓嬫墍鏈夋壒娆″彿
+        /// </summary>
+        /// <param name="asnNo">鍏ュ簱鍗曞彿</param>
+        /// <returns>鎵规鍙烽泦鍚�</returns>
+        List<string> GetLotNoListByAsn(string asnNo);
+
+        /// <summary>
+        /// 鍒犻櫎鍗曟嵁涓嬪崟涓垨澶氫釜鎵规鐨勬爣绛�
+        /// </summary>
+        /// <param name="asnNo">鍏ュ簱鍗曞彿</param>
+        /// <param name="lotNo">鎵规鍙�</param>
+        /// <param name="userId">鎿嶄綔浜篒D</param>
+        void DelLabelByAsnNo(string asnNo, string lotNo,int userId);
+
     }
 }
diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
index fbaedcf..0b1509b 100644
--- a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
+++ b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
@@ -122,5 +122,12 @@
         /// <returns>0锛氬簱鍐呭彇鏍枫��1锛氬簱鍓嶅彇鏍�</returns>
         string GetSampleType(string palletNo);
 
+        /// <summary>
+        /// 鏍规嵁鎵樼洏鍙疯幏鍙栧叆搴撳崟鎹�(搴撳墠鍙栨牱鍑哄簱涓氬姟)
+        /// </summary>
+        /// <param name="palletNo">鎵樼洏鍙�</param>
+        /// <returns>鍗曟嵁闆嗗悎</returns>
+        List<string> GetAsnNoByPallet(string palletNo);
+
     }
 }
diff --git a/Wms/Wms/Controllers/BllAsnController.cs b/Wms/Wms/Controllers/BllAsnController.cs
index 86365ac..d6db2ab 100644
--- a/Wms/Wms/Controllers/BllAsnController.cs
+++ b/Wms/Wms/Controllers/BllAsnController.cs
@@ -946,7 +946,47 @@
             }
         }
 
+        //鏍规嵁鍏ュ簱鍗曞彿杩囧幓鍗曟嵁涓嬫墍鏈夋壒娆″彿
+        [HttpGet]
+        public IActionResult GetLotNoListByAsn(string asnNo)
+        {
+            try
+            {
+                var list = _BoxInfoSvc.GetLotNoListByAsn(asnNo);
+                return Ok(new { code = 0, msg = "鎴愬姛鑾峰彇鍗曟嵁涓嬫墍鏈夋壒娆″彿淇℃伅", data = list });
+            }
+            catch (Exception e)
+            {
+                return Ok(new { code = 1, count = 0, msg = e.Message });
+            }
+        }
 
+        //鍒犻櫎鍗曟嵁涓嬪崟涓垨澶氫釜鎵规鐨勬爣绛�
+        [HttpPost]
+        public IActionResult DelLabelByAsnNo(LabelBoxInfoVm model)
+        {
+            try
+            {
+                //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D
+                var claimsIdentity = this.User.Identity as ClaimsIdentity;
+                if (claimsIdentity == null)
+                {
+                    return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
+                }
+                var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
+                if (string.IsNullOrWhiteSpace(userId))
+                {
+                    return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
+                }
+                _BoxInfoSvc.DelLabelByAsnNo(model.AsnNo,model.LotNo,int.Parse(userId));
+                return Ok(new { code = 0, msg = "鎴愬姛鑾峰彇鍗曟嵁涓嬫墍鏈夋壒娆″彿淇℃伅", data = "" });
+            }
+            catch (Exception e)
+            {
+                return Ok(new { code = 1, count = 0, msg = e.Message });
+            }
+        }
+        
 
         #endregion
     }
diff --git a/Wms/Wms/Controllers/PdaSoController.cs b/Wms/Wms/Controllers/PdaSoController.cs
index b320755..bc959a6 100644
--- a/Wms/Wms/Controllers/PdaSoController.cs
+++ b/Wms/Wms/Controllers/PdaSoController.cs
@@ -373,5 +373,28 @@
 
         }
 
+        /// <summary>
+        /// 鏍规嵁鎵樼洏鍙疯幏鍙栧叆搴撳崟鎹�
+        /// </summary>
+        /// <param name="palletNo">鎵樼洏鍙�</param>
+        /// <returns></returns>
+        [HttpGet]
+        public IActionResult GetAsnNoByPallet(string palletNo)
+        {
+            try
+            {
+                var type = _pdaSoSvc.GetAsnNoByPallet(palletNo);
+
+                return Ok(new { data = type, code = 0, msg = "鑾峰彇鍏ュ簱鍗曟嵁" });
+            }
+            catch (Exception e)
+            {
+                return Ok(new { data = "", code = 1, msg = "鑾峰彇鍏ュ簱鍗曟嵁閿欒锛�" + e.Message });
+            }
+
+        }
+
+
+
     }
 }

--
Gitblit v1.8.0