From 2be1922b035c182c3c516427aa68be54badd6938 Mon Sep 17 00:00:00 2001 From: IPC-610 <IPC-610@DESKTOP-6LEOOS3> Date: 星期四, 26 九月 2024 15:15:52 +0800 Subject: [PATCH] 登录页修改 --- Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 238 +++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 156 insertions(+), 82 deletions(-) diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs index a0e81f2..b506589 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs @@ -68,7 +68,7 @@ throw new Exception("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜"); } var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo); - if (!string.IsNullOrEmpty(palletInfo.WareHouseNo)) + if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1") { throw new Exception("璇ユ墭鐩樿繕鏈嚭搴�"); } @@ -447,7 +447,7 @@ { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺"); } - var pickQty = 0;//鎷h揣鐨勬暟閲� + decimal pickQty = 0;//鎷h揣鐨勬暟閲� var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToList(); var comList = new List<BllCompleteDetail>(); foreach (var item in boxInfos) @@ -580,7 +580,7 @@ { throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣"); } - int boxQty = boxInfo.First().Qty; + decimal boxQty = boxInfo.First().Qty; if (Convert.ToInt32(pickQty1) > boxQty) { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); @@ -616,7 +616,7 @@ } } } - var pickQty = 0;//鎷h揣鐨勬暟閲� + decimal pickQty = 0;//鎷h揣鐨勬暟閲� var comList = new List<BllCompleteDetail>(); foreach (var item in boxInfos) @@ -639,7 +639,7 @@ SkuName = allot.SkuName, Standard = allot.Standard, PalletNo = palletNo, - CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty, + CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty, CreateUser = userId }; @@ -652,14 +652,14 @@ } else//鏁伴噺鎷h揣 { - if (int.Parse(pickQty1) == item.Qty) + if (decimal.Parse(pickQty1) == item.Qty) { //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 Db.Deleteable(item).ExecuteCommand(); } else { - item.Qty -= int.Parse(pickQty1); + item.Qty -= decimal.Parse(pickQty1); item.BitBoxMark = "1";//闆剁鏍囪瘑 Db.Updateable(item).ExecuteCommand(); } @@ -837,6 +837,7 @@ var comList = new List<BllCompleteDetail>(); //鍒ゆ柇鏄惁瀛樺湪鎷h揣鏄庣粏 + isComplete = 0;// 鎵�鏈夋棤绠辩爜鎴栦竴绾х鐮佹嫞璐ф椂锛屾嫞璐ф槑缁嗗簲閲嶆柊鎻掑叆鏁版嵁(浣撶幇澶氭鎷h揣娴佺▼璁板綍) if (isComplete == 0) { //娣诲姞鎷h揣鏄庣粏 @@ -875,8 +876,6 @@ Db.Updateable(complete).ExecuteCommand(); } - - //淇敼鍑哄簱鍒嗛厤淇℃伅 allot.CompleteQty += int.Parse(PickQty); @@ -1102,7 +1101,7 @@ PalletNo = exTask.PalletNo,//鎵樼洏鍙� StartLocate = exTask.StartLocat, // 璧峰浣嶇疆 StartRoadway = locat.RoadwayNo, //鎵�灞炲贩閬� - EndLocate = "", // 鐩爣浣嶇疆 + EndLocate = model.OutMode, // 鐩爣浣嶇疆 TaskNo = exTask.TaskNo, // 浠诲姟鍙� TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱) OutMode = model.OutMode, //鐩爣鍦板潃 @@ -1229,7 +1228,21 @@ if (result.WareHouseNo != "W02")//W02锛氶浂绠卞簱 { - throw new Exception("璇ユ墭鐩樻湭鍦ㄩ浂绠卞簱锛岃妫�鏌�!"); + throw new Exception("璇ユ墭鐩樻湭鍦ㄥ钩搴撳唴锛岃妫�鏌�!"); + } + + #endregion + + #region 楠岃瘉鍌ㄤ綅鐘舵�佹槸鍚︽甯� + + var locat = Db.Queryable<SysStorageLocat>().First(a=>a.IsDel == "0" && a.LocatNo == result.LocatNo); + if (locat == null) + { + throw new Exception("鏈幏鍙栧埌瀵瑰簲鍌ㄤ綅淇℃伅锛岃妫�鏌�!"); + } + if (locat.Status != "3") + { + throw new Exception("褰撳墠鍌ㄤ綅涓嶆槸鍑哄簱涓紝璇锋鏌�!"); } #endregion @@ -1285,6 +1298,10 @@ item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級 Db.Updateable(item).ExecuteCommand(); } + //鍙樻洿鍌ㄤ綅鐘舵�� + locat.Status = "0";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖鍌ㄤ綅锛� + Db.Updateable(locat).ExecuteCommand(); + //鍑哄簱娴佹按锛堟洿鏀圭姸鎬侊級 var allot = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo && m.SONo == soNo).ToList(); @@ -1597,7 +1614,7 @@ { throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣"); } - int boxQty = boxInfo.First().Qty; + decimal boxQty = boxInfo.First().Qty; if (Convert.ToInt32(pickQty1) > boxQty) { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); @@ -1623,7 +1640,7 @@ } } } - var pickQty = 0;//鎷h揣鐨勬暟閲� + decimal pickQty = 0;//鎷h揣鐨勬暟閲� var comList = new List<BllCompleteDetail>(); foreach (var item in boxInfos) @@ -1650,7 +1667,7 @@ SkuName = allot2.SkuName, Standard = allot2.Standard, PalletNo = palletNo, - CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty, + CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty, InspectMark = "1", CreateUser = userId @@ -1664,20 +1681,20 @@ } else//鏁伴噺鎷h揣 { - if (int.Parse(pickQty1) == item.Qty) + if (decimal.Parse(pickQty1) == item.Qty) { //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 Db.Deleteable(item).ExecuteCommand(); } else { - item.Qty -= int.Parse(pickQty1); + item.Qty -= decimal.Parse(pickQty1); item.BitBoxMark = "1";//闆剁鏍囪瘑 item.InspectMark = "1";//鎶芥绠辨爣璇� Db.Updateable(item).ExecuteCommand(); } } - pickQty += biaoShi == "2" ? int.Parse(pickQty1) : item.Qty; + pickQty += biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty; } @@ -1851,7 +1868,7 @@ { throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣"); } - int boxQty = boxInfo.First().Qty; + decimal boxQty = boxInfo.First().Qty; if (Convert.ToInt32(pickQty1) > boxQty) { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); @@ -1886,7 +1903,7 @@ } } } - var pickQty = 0;//鎷h揣鐨勬暟閲� + decimal pickQty = 0;//鎷h揣鐨勬暟閲� var comList = new List<BllCompleteDetail>(); foreach (var item in boxInfos) @@ -1913,7 +1930,7 @@ SkuName = allot.SkuName, Standard = allot.Standard, PalletNo = palletNo, - CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty, + CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty, CreateUser = userId }; @@ -1926,14 +1943,14 @@ } else//鏁伴噺鎷h揣 { - if (int.Parse(pickQty1) == item.Qty) + if (decimal.Parse(pickQty1) == item.Qty) { //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 Db.Deleteable(item).ExecuteCommand(); } else { - item.Qty -= int.Parse(pickQty1); + item.Qty -= decimal.Parse(pickQty1); item.BitBoxMark = "1";//闆剁鏍囪瘑 Db.Updateable(item).ExecuteCommand(); } @@ -2544,6 +2561,13 @@ { throw new Exception("鏂版墭鐩樼爜涓嶈兘涓虹┖"); } + if (palletNo == palletNoNew)//鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷� + { + if (!string.IsNullOrEmpty(boxNo)) + { + throw new Exception("鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷达紝璇烽�夋嫨鏁存墭鍑哄簱"); + } + } //鍑哄簱鍗� var notice = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.SONo == soNo); @@ -2591,16 +2615,19 @@ #region 鎷兼墭淇℃伅 var sdId = 0; bool isNew = false; - var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew); + var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.SkuNo == allot.SkuNo && m.LotNo == allot.LotNo); if (pinStockDetail != null) { - if (pinStockDetail.SONo != notice.SONo) + if (palletNo != palletNoNew)//闈炴暣鎵樻嫞璐� { - throw new Exception("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�"); - } - if (pinStockDetail.SkuName != stockDetail.SkuName || pinStockDetail.LotNo != stockDetail.LotNo) - { - isNew = true; + if (pinStockDetail.SONo != notice.SONo) + { + throw new Exception("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�"); + } + if (pinStockDetail.SkuName != stockDetail.SkuName || pinStockDetail.LotNo != stockDetail.LotNo) + { + isNew = true; + } } sdId = pinStockDetail.Id; } @@ -2665,7 +2692,7 @@ } #endregion - var pickQty = 0;//鎷h揣鐨勬暟閲� + decimal pickQty = 0;//鎷h揣鐨勬暟閲� if (string.IsNullOrWhiteSpace(boxNo))//鏁存墭鎷h揣 { List<DataBoxInfo> boxInfos; @@ -2716,11 +2743,15 @@ CreateUser = userId }; comList.Add(completeDetail); - + + if (palletNo != palletNoNew) + { + item.StockDetailId = sdId; + item.BindNo = null;//鎵樼洏缁戝畾鍙� + item.PalletNo = palletNoNew; + } + item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣 //淇敼搴撳瓨绠辩爜鏄庣粏 - item.StockDetailId = sdId; - item.BindNo = null;//鎵樼洏缁戝畾鍙� - item.PalletNo = palletNoNew; Db.Updateable(item).ExecuteCommand(); pickQty += item.Qty; @@ -2732,17 +2763,27 @@ allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3"; allot.UpdateTime = DateTime.Now; Db.Updateable(allot).ExecuteCommand(); - //鍒犻櫎鍘熸墭鐩樺簱瀛樻槑缁� - Db.Deleteable(stockDetail).ExecuteCommand(); - //鏀瑰彉鎵樼洏鐘舵�佷负锛氭湭浣跨敤 - var pallet = Db.Queryable<SysPallets>().First(m => m.PalletNo == palletNo && m.IsDel == "0"); - if (pallet == null) + if (palletNo != palletNoNew) { - throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�"); + //鍒犻櫎鍘熸墭鐩樺簱瀛樻槑缁� + Db.Deleteable(stockDetail).ExecuteCommand(); + + //鏀瑰彉鍘熸墭鐩樼姸鎬佷负锛氭湭浣跨敤 + var pallet = Db.Queryable<SysPallets>().First(m => m.PalletNo == palletNo && m.IsDel == "0"); + if (pallet == null) + { + throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�"); + } + pallet.Status = "0"; + Db.Updateable(pallet).ExecuteCommand(); } - pallet.Status = "0"; - Db.Updateable(pallet).ExecuteCommand(); + else + { + stockDetail.SONo = soNo; + Db.Updateable(stockDetail).ExecuteCommand(); + } + //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� noticeDetail.CompleteQty += pickQty; Db.Updateable(noticeDetail).ExecuteCommand(); @@ -2807,7 +2848,7 @@ { throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣"); } - int boxQty = boxInfo.First().Qty; + decimal boxQty = boxInfo.First().Qty; if (Convert.ToInt32(pickQty1) > boxQty) { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); @@ -2865,7 +2906,7 @@ SkuName = allot.SkuName, Standard = allot.Standard, PalletNo = palletNo, - CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty, + CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty, CreateUser = userId }; @@ -2877,6 +2918,7 @@ item.StockDetailId = sdId; item.BindNo = null;//鎵樼洏缁戝畾鍙� item.PalletNo = palletNoNew; + item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣 Db.Updateable(item).ExecuteCommand(); pickQty += item.Qty; @@ -2888,24 +2930,26 @@ item.BindNo = null;//鎵樼洏缁戝畾鍙� item.PalletNo = palletNoNew; item.BoxNo = item.BoxNo3;//灏嗘敮鐮佽祴缁欑鐮� - item.BitBoxMark = "1"; + item.BitBoxMark = "1";//闆剁鏍囪 + item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣 Db.Updateable(item).ExecuteCommand(); pickQty += item.Qty; } else//鏁伴噺鎷h揣 { - if (int.Parse(pickQty1) == item.Qty) + if (decimal.Parse(pickQty1) == item.Qty) { //淇敼搴撳瓨绠辩爜鏄庣粏 item.StockDetailId = sdId; item.BindNo = null;//鎵樼洏缁戝畾鍙� item.PalletNo = palletNoNew; + item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣 Db.Updateable(item).ExecuteCommand(); } else { - item.Qty -= int.Parse(pickQty1); + item.Qty -= decimal.Parse(pickQty1); item.BitBoxMark = "1";//闆剁鏍囪瘑 Db.Updateable(item).ExecuteCommand(); } @@ -2990,15 +3034,20 @@ { sd.Qty = pickQty; sd.LockQty = pickQty; + + Db.Updateable(sd).ExecuteCommand(); } else { - //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏 - pinStockDetail.Qty += pickQty; - pinStockDetail.LockQty += pickQty; - Db.Updateable(pinStockDetail).ExecuteCommand(); + if (palletNo != palletNoNew) + { + //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏 + pinStockDetail.Qty += pickQty; + pinStockDetail.LockQty += pickQty; + Db.Updateable(pinStockDetail).ExecuteCommand(); + } } - + //娣诲姞鎿嶄綔鏃ュ織璁板綍 var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鎷兼墭", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勫師鎵樼洏鐮佷负锛歿palletNo}锛屾柊鎵樼洏鐮佷负锛歿palletNoNew}鐨勬嫞璐ф嫾鎵樻搷浣�", userId); Db.CommitTran(); @@ -3087,6 +3136,13 @@ { throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�"); } + if (palletNo == palletNoNew)//鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷� + { + if (int.Parse(PickQty) != stockDetail.Qty) + { + throw new Exception("鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷达紝闇�瑕佹妸鎵樼洏涓婃墍鏈夋暟閲忔嫞璐�"); + } + } #endregion #region 鎷兼墭淇℃伅 @@ -3094,13 +3150,16 @@ var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew); if (pinStockDetail != null) { - if (pinStockDetail.SONo != notice.SONo) + if (palletNo != palletNoNew)//闈炴暣鎵樻嫞璐� { - throw new Exception("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�"); - } - if (pinStockDetail.SkuName != stockDetail.SkuName || pinStockDetail.LotNo != stockDetail.LotNo) - { - isNew = true; + if (pinStockDetail.SONo != notice.SONo) + { + throw new Exception("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�"); + } + if (pinStockDetail.SkuName != stockDetail.SkuName || pinStockDetail.LotNo != stockDetail.LotNo) + { + isNew = true; + } } } else @@ -3169,10 +3228,18 @@ } else { - //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏 - pinStockDetail.Qty += int.Parse(PickQty); - pinStockDetail.LockQty += int.Parse(PickQty); - Db.Updateable(pinStockDetail).ExecuteCommand(); + if (palletNo != palletNoNew) + { + //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏 + pinStockDetail.Qty += int.Parse(PickQty); + pinStockDetail.LockQty += int.Parse(PickQty); + Db.Updateable(pinStockDetail).ExecuteCommand(); + } + else + { + pinStockDetail.SONo = soNo; + Db.Updateable(pinStockDetail).ExecuteCommand(); + } } #endregion @@ -3188,6 +3255,7 @@ var comList = new List<BllCompleteDetail>(); //鍒ゆ柇鏄惁瀛樺湪鎷h揣鏄庣粏 + isComplete = 0;//鎵�鏈夋棤绠辩爜鎴栦竴绾х鐮佹嫞璐ф椂锛屾嫞璐ф槑缁嗗簲閲嶆柊鎻掑叆鏁版嵁(浣撶幇澶氭鎷h揣娴佺▼璁板綍) if (isComplete == 0) { //娣诲姞鎷h揣鏄庣粏 @@ -3235,32 +3303,38 @@ int isDel = 0; - //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁� - stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇� - stockDetail.Qty -= int.Parse(PickQty); - stockDetail.LockQty -= int.Parse(PickQty); - if (stockDetail.Qty == stockDetail.LockQty) + if (palletNo != palletNoNew) { - stockDetail.Status = "2"; - } - else if (stockDetail.Qty > stockDetail.LockQty && stockDetail.LockQty > 0) - { - stockDetail.Status = "1"; - } - else - { - stockDetail.Status = "0"; - } - if (stockDetail.Qty <= 0) - { - Db.Deleteable(stockDetail).ExecuteCommand(); + //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁� + stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇� + stockDetail.Qty -= int.Parse(PickQty); + stockDetail.LockQty -= int.Parse(PickQty); + if (stockDetail.Qty == stockDetail.LockQty) + { + stockDetail.Status = "2"; + } + else if (stockDetail.Qty > stockDetail.LockQty && stockDetail.LockQty > 0) + { + stockDetail.Status = "1"; + } + else + { + stockDetail.Status = "0"; + } + if (stockDetail.Qty <= 0) + { + Db.Deleteable(stockDetail).ExecuteCommand(); + } + else + { + isDel = 1; + Db.Updateable(stockDetail).ExecuteCommand(); + } } else { isDel = 1; - Db.Updateable(stockDetail).ExecuteCommand(); } - //鍒ゆ柇鎵樼洏涓婄墿鏂欐槸鍚︽嫞璐у畬姣� if (isDel == 0) { -- Gitblit v1.8.0