From 5b4f00ff3ea04a3246a8f6f86bdefe749fcfd0c4 Mon Sep 17 00:00:00 2001 From: yuyou_x <2336760928@qq.com> Date: 星期二, 26 三月 2024 08:24:28 +0800 Subject: [PATCH] 合并代码 --- Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 345 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 224 insertions(+), 121 deletions(-) diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs index 28f183a..78c8489 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs @@ -67,6 +67,11 @@ { throw new Exception("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜"); } + var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo); + if (!string.IsNullOrEmpty(palletInfo.WareHouseNo)) + { + throw new Exception("璇ユ墭鐩樿繕鏈嚭搴�"); + } if (type == "1")//骞冲簱鍑哄簱鑾峰彇鍗曟嵁 { var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList(); @@ -242,7 +247,19 @@ { foreach (var demo in list) { - var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 == demo.BoxNo); + //if (!string.IsNullOrWhiteSpace(boxNo3)) + //{ + // var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 == demo.BoxNo); + //} + //else if (!string.IsNullOrWhiteSpace(boxNo)) + //{ + // if (expr) + // { + + // } + + //} + var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 != null && m.BoxNo3 == demo.BoxNo); if (com != null) { demo.PickedQty = com.CompleteQty; @@ -296,24 +313,30 @@ { throw new Exception($"{palletNo}鎵樼洏涓婂瓨鍦ㄧ鐮佷俊鎭紝鏃犳硶鍦ㄦ暟閲忔嫞璐ц繘琛屾搷浣滐紒"); } - //鍑哄簱鍗曟槑缁� - var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(a => a.Id == int.Parse(soDetailId) && a.IsDel == "0"); - if (noticeDetail == null) + + BllExportAllot allot = null; + if (!string.IsNullOrWhiteSpace(soDetailId)) { - throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟槑缁嗕俊鎭紝璇锋牳瀹烇紒"); + //鍑哄簱鍗曟槑缁� + var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(a => a.Id == int.Parse(soDetailId) && a.IsDel == "0"); + if (noticeDetail == null) + { + throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟槑缁嗕俊鎭紝璇锋牳瀹烇紒"); + } + //鍑哄簱鍗曟�诲崟 + var notice = Db.Queryable<BllExportNotice>().First(a => a.IsDel == "0" && a.SONo == noticeDetail.SONo); + if (notice == null) + { + throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟�诲崟淇℃伅锛岃鏍稿疄锛�"); + } + //鍒嗛厤淇℃伅 + allot = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.PalletNo == palletNo && (a.Status == "2" || a.Status == "3")); + if (allot == null) + { + throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍒嗛厤淇℃伅锛岃鏍稿疄锛�"); + } } - //鍑哄簱鍗曟�诲崟 - var notice = Db.Queryable<BllExportNotice>().First(a => a.IsDel == "0" && a.SONo == noticeDetail.SONo); - if (notice == null) - { - throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟�诲崟淇℃伅锛岃鏍稿疄锛�"); - } - //鍒嗛厤淇℃伅 - var allot = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.PalletNo == palletNo && a.Status == "2" || a.Status == "3"); - if (allot == null) - { - throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍒嗛厤淇℃伅锛岃鏍稿疄锛�"); - } + //搴撳瓨鏄庣粏 var detail = Db.Queryable<DataStockDetail>().First(a => a.IsDel == "0" && a.PalletNo == palletNo); if (detail == null) @@ -329,8 +352,8 @@ { SkuNo = detail.SkuNo, BoxNo = detail.SkuNo, - Qty = (int)allot.Qty, - PickedQty = (int)allot.CompleteQty, + Qty = allot == null ? (int)(detail.Qty - detail.LockQty) : (int)allot.Qty, + PickedQty = allot == null ? 0 : (int)allot.CompleteQty, }; pdaInfo.Add(info); @@ -429,7 +452,7 @@ var comList = new List<BllCompleteDetail>(); foreach (var item in boxInfos) { - if (comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) + if (comDetailList.Any(m => m.BoxNo3 == item.BoxNo3) && item.BoxNo3 != null) { throw new Exception($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); } @@ -594,7 +617,7 @@ } } var pickQty = 0;//鎷h揣鐨勬暟閲� - + var comList = new List<BllCompleteDetail>(); foreach (var item in boxInfos) { @@ -625,7 +648,7 @@ if (biaoShi != "2") { //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 - Db.Deleteable(item).ExecuteCommand(); + Db.Deleteable(item).ExecuteCommand(); } else//鏁伴噺鎷h揣 { @@ -814,6 +837,7 @@ var comList = new List<BllCompleteDetail>(); //鍒ゆ柇鏄惁瀛樺湪鎷h揣鏄庣粏 + isComplete = 0;// 鎵�鏈夋棤绠辩爜鎴栦竴绾х鐮佹嫞璐ф椂锛屾嫞璐ф槑缁嗗簲閲嶆柊鎻掑叆鏁版嵁(浣撶幇澶氭鎷h揣娴佺▼璁板綍) if (isComplete == 0) { //娣诲姞鎷h揣鏄庣粏 @@ -852,8 +876,6 @@ Db.Updateable(complete).ExecuteCommand(); } - - //淇敼鍑哄簱鍒嗛厤淇℃伅 allot.CompleteQty += int.Parse(PickQty); @@ -913,7 +935,7 @@ pallet.Status = "0"; Db.Updateable(pallet).ExecuteCommand(); } - + //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� noticeDetail.CompleteQty += int.Parse(PickQty); Db.Updateable(noticeDetail).ExecuteCommand(); @@ -1308,25 +1330,25 @@ { var type = ""; var detail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNo); - if (detail== null) + if (detail == null) { throw new Exception("褰撳墠鎵樼洏鏈湪搴撳瓨涓�"); } //鎬庝箞鍒ゆ柇褰撳墠鎵樼洏鏄簱澶栬鍙栨牱鐨勬墭鐩橈紝姝e父鍑哄簱鍓╀綑鎵樼洏鐩墠杩欑鎯呭喌涔熻兘鎷h揣鍟婏紝涔熸病鏈夊垎閰嶄俊鎭� var allot = Db.Queryable<BllExportAllot>().First(m => m.IsDel == "0" && m.PalletNo == palletNo && m.Status != "5" && m.Status != "6"); - if (allot!=null) + 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 @@ -1369,7 +1391,7 @@ } //鍙栨牱鍑哄簱鎷h揣(鏍囩) - public void SampleSoSetPick(string soType,string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, string asnNo, int userId) + public void SampleSoSetPick(string soType, string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, string asnNo, int userId) { Db.BeginTran(); try @@ -1378,7 +1400,7 @@ { throw new Exception("鍙栨牱鏍囪瘑涓嶈兘涓虹┖"); } - + //soType: 0搴撳唴鍙栨牱锛屾湁鍑哄簱鍗曞強鍒嗛厤淇℃伅锛� 1搴撳墠鍙栨牱锛屽弽鍚戞坊鍔犲嚭搴撳崟鍙婂垎閰嶄俊鎭� if (soType == "1") { @@ -1388,7 +1410,7 @@ if (string.IsNullOrWhiteSpace(asnNo)) { throw new Exception("鍏ュ簱鍗曚笉鑳戒负绌�"); - } + } if (string.IsNullOrWhiteSpace(palletNo)) { throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�"); @@ -1413,7 +1435,7 @@ throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樼殑搴撳瓨鏄庣粏淇℃伅锛�"); } - var sku = Db.Queryable<SysMaterials>().First(m=>m.IsDel == "0" && m.SkuNo == stockDetail.SkuNo); + var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == stockDetail.SkuNo); if (sku == null) { throw new Exception("鏈煡璇㈠埌褰撳墠鎵樼洏涓婄殑鐗╂枡淇℃伅"); @@ -1428,7 +1450,7 @@ //鍑哄簱鍗� var notice = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.AsnSampleNo == asnNo); //鍒涘缓鍑哄簱鍗� - if (notice == null || notice.Status == "6") + if (notice == null || notice.Status == "6") { var billNo = ""; var bl = true; @@ -1440,7 +1462,7 @@ bl = Db.Queryable<BllExportNotice>().Any(m => m.SONo == no); } while (bl); - + var addNotice = new BllExportNotice() { SONo = billNo, @@ -1452,7 +1474,7 @@ WaveNo = "", IsDespatch = "0", CompleteTime = DateTime.Now, - CreateUser = userId, + CreateUser = userId, }; var n = Db.Insertable(addNotice).ExecuteReturnEntity(); @@ -1486,7 +1508,7 @@ IsIssueLotNo = "0", Status = "3", CreateUser = userId, - + }; var m = Db.Insertable(addNoticeDetail).ExecuteReturnEntity(); noticeDetail = m; @@ -1509,8 +1531,8 @@ SkuName = sku.SkuName, Standard = sku.Standard, PalletNo = palletNo, - IsBale = "0" , //鏄惁瑁瑰寘 - IsBelt = "0" , //鏄惁鎵撳甫 + IsBale = "0", //鏄惁瑁瑰寘 + IsBelt = "0", //鏄惁鎵撳甫 Qty = 0, CompleteQty = 0, @@ -1527,7 +1549,7 @@ var fp = Db.Insertable(addAllot).ExecuteReturnEntity(); allot2 = fp; } - + #endregion @@ -1541,7 +1563,7 @@ throw new Exception("鏈煡璇㈠埌璇ョ鐮佸強杩芥函鐮佺殑淇℃伅"); } boxInfos = boxInfo.ToList(); - + var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot2.Id && m.PalletNo == palletNo).ToList(); if (!string.IsNullOrWhiteSpace(boxNo3)) //鏁f敮鎷h揣 { boxInfos = boxInfos.Where(m => m.BoxNo3 == boxNo3).ToList(); @@ -1559,7 +1581,13 @@ { throw new Exception("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴"); } - + foreach (var item in boxInfos) + { + if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) + { + throw new Exception($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); + } + } biaoShi = "1"; } else if (!string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)//鏁伴噺鎷h揣 @@ -1586,17 +1614,23 @@ { throw new Exception("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴"); } - + foreach (var item in boxInfos) + { + if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo == item.BoxNo)) + { + throw new Exception($"褰撳墠{item.BoxNo}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); + } + } } var pickQty = 0;//鎷h揣鐨勬暟閲� - var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot2.Id && m.PalletNo == palletNo).ToList(); + var comList = new List<BllCompleteDetail>(); foreach (var item in boxInfos) { - if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) - { - throw new Exception($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); - } + //if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) + //{ + // throw new Exception($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); + //} //娣诲姞鎷h揣鏄庣粏 var completeDetail = new BllCompleteDetail() { @@ -1644,7 +1678,7 @@ } pickQty += biaoShi == "2" ? int.Parse(pickQty1) : item.Qty; } - + //鏀瑰彉搴撳唴绠辩爜鏄惁闆剁淇℃伅 if (biaoShi == "1") @@ -1661,13 +1695,13 @@ Db.Insertable(comList).ExecuteCommand(); //淇敼鍑哄簱鍒嗛厤淇℃伅 allot2.Qty += pickQty; - allot2.CompleteQty += pickQty; + allot2.CompleteQty += pickQty; Db.Updateable(allot2).ExecuteCommand(); //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁� stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇� stockDetail.Qty -= pickQty; - + if (stockDetail.Qty <= 0) { Db.Deleteable(stockDetail).ExecuteCommand(); @@ -1706,7 +1740,7 @@ Db.Updateable(noticeDetail).ExecuteCommand(); } - else if(soType == "0") + else if (soType == "0") { #region 鍒ゆ柇 @@ -1778,6 +1812,7 @@ throw new Exception("鏈煡璇㈠埌璇ョ鐮佸強杩芥函鐮佺殑淇℃伅"); } boxInfos = boxInfo.ToList(); + var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToList(); if (!string.IsNullOrWhiteSpace(boxNo3)) //鏁f敮鎷h揣 { boxInfos = boxInfos.Where(m => m.BoxNo3 == boxNo3).ToList(); @@ -1800,7 +1835,13 @@ { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺"); } - + foreach (var item in boxInfos) + { + if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) + { + throw new Exception($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); + } + } biaoShi = "1"; } else if (!string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)//鏁伴噺鎷h揣 @@ -1836,16 +1877,23 @@ { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺"); } + foreach (var item in boxInfos) + { + if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo == item.BoxNo)) + { + throw new Exception($"褰撳墠{item.BoxNo}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); + } + } } var 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) { - if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) - { - throw new Exception($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); - } + //if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) + //{ + // throw new Exception($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); + //} //娣诲姞鎷h揣鏄庣粏 var completeDetail = new BllCompleteDetail() { @@ -2167,7 +2215,7 @@ SkuName = allot2.SkuName, Standard = allot2.Standard, PalletNo = palletNo, - CompleteQty = int.Parse(PickQty) , + CompleteQty = int.Parse(PickQty), InspectMark = "1", CreateUser = userId @@ -2190,7 +2238,7 @@ //淇敼鍑哄簱鍒嗛厤淇℃伅 allot2.Qty += int.Parse(PickQty); - allot2.CompleteQty += int.Parse(PickQty); + allot2.CompleteQty += int.Parse(PickQty); Db.Updateable(allot2).ExecuteCommand(); int isDel = 0; @@ -2199,7 +2247,7 @@ stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇� stockDetail.InspectMark = "1";//淇敼涓烘娊妫�鎵樻爣璇� stockDetail.Qty -= int.Parse(PickQty); - if (stockDetail.Qty == stockDetail.LockQty&& stockDetail.Qty != 0) + if (stockDetail.Qty == stockDetail.LockQty && stockDetail.Qty != 0) { stockDetail.Status = "2"; } @@ -2252,7 +2300,7 @@ noticeDetail.CompleteQty += int.Parse(PickQty); noticeDetail.Money = string.IsNullOrWhiteSpace(sku.Price.ToString()) ? null : sku.Price * noticeDetail.Qty; Db.Updateable(noticeDetail).ExecuteCommand(); - + } else if (soType == "0") { @@ -2467,7 +2515,7 @@ /// <param name="pickQty1"></param> /// <param name="palletNoNew"></param> /// <param name="userId"></param> - public void SoSetPinPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1,string palletNoNew,int userId) + public void SoSetPinPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, string palletNoNew, int userId) { Db.BeginTran(); try @@ -2494,6 +2542,13 @@ if (string.IsNullOrWhiteSpace(palletNoNew)) { throw new Exception("鏂版墭鐩樼爜涓嶈兘涓虹┖"); + } + if (palletNo == palletNoNew)//鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷� + { + if (!string.IsNullOrEmpty(boxNo)) + { + throw new Exception("鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷达紝璇烽�夋嫨鏁存墭鍑哄簱"); + } } //鍑哄簱鍗� @@ -2545,13 +2600,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; + } } sdId = pinStockDetail.Id; } @@ -2559,7 +2617,7 @@ { isNew = true; - var newPalletInfo = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status=="0"); + var newPalletInfo = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0"); if (newPalletInfo == null) { throw new Exception("鏂版墭鐩樹俊鎭笉瀛樺湪鎴栧凡琚娇鐢紒"); @@ -2577,7 +2635,7 @@ sd.SkuNo = stockDetail.SkuNo; sd.SkuName = stockDetail.SkuName; sd.Standard = stockDetail.Standard; - + sd.FrozenQty = 0; sd.InspectQty = 0; sd.ASNNo = ""; @@ -2615,7 +2673,7 @@ sdId = Db.Insertable(sd).ExecuteReturnIdentity(); } #endregion - + var pickQty = 0;//鎷h揣鐨勬暟閲� if (string.IsNullOrWhiteSpace(boxNo))//鏁存墭鎷h揣 { @@ -2667,11 +2725,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; @@ -2683,17 +2745,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(); @@ -2828,6 +2900,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; @@ -2839,7 +2912,8 @@ 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; @@ -2852,6 +2926,7 @@ item.StockDetailId = sdId; item.BindNo = null;//鎵樼洏缁戝畾鍙� item.PalletNo = palletNoNew; + item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣 Db.Updateable(item).ExecuteCommand(); } else @@ -2944,10 +3019,13 @@ } else { - //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏 - pinStockDetail.Qty += pickQty; - pinStockDetail.LockQty += pickQty; - Db.Updateable(pinStockDetail).ExecuteCommand(); + if (palletNo != palletNoNew) + { + //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏 + pinStockDetail.Qty += pickQty; + pinStockDetail.LockQty += pickQty; + Db.Updateable(pinStockDetail).ExecuteCommand(); + } } //娣诲姞鎿嶄綔鏃ュ織璁板綍 @@ -2969,7 +3047,7 @@ /// <param name="PickQty"></param> /// <param name="palletNoNew"></param> /// <param name="userId"></param> - public void SoSetQtyPinPick(string soNo, string soDetailId, string palletNo, string PickQty,string palletNoNew, int userId) + public void SoSetQtyPinPick(string soNo, string soDetailId, string palletNo, string PickQty, string palletNoNew, int userId) { Db.BeginTran(); try @@ -3038,6 +3116,13 @@ { throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�"); } + if (palletNo == palletNoNew)//鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷� + { + if (int.Parse(PickQty) != stockDetail.Qty) + { + throw new Exception("鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷达紝闇�瑕佹妸鎵樼洏涓婃墍鏈夋暟閲忔嫞璐�"); + } + } #endregion #region 鎷兼墭淇℃伅 @@ -3045,13 +3130,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 @@ -3067,7 +3155,7 @@ newPalletInfo.Status = "1"; Db.Updateable(newPalletInfo).ExecuteCommand(); } - + if (isNew) { var sd = new DataStockDetail(); @@ -3120,10 +3208,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 @@ -3139,6 +3235,7 @@ var comList = new List<BllCompleteDetail>(); //鍒ゆ柇鏄惁瀛樺湪鎷h揣鏄庣粏 + isComplete = 0;//鎵�鏈夋棤绠辩爜鎴栦竴绾х鐮佹嫞璐ф椂锛屾嫞璐ф槑缁嗗簲閲嶆柊鎻掑叆鏁版嵁(浣撶幇澶氭鎷h揣娴佺▼璁板綍) if (isComplete == 0) { //娣诲姞鎷h揣鏄庣粏 @@ -3186,32 +3283,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