From 5b529126898f79c90062020389b56702a92bd490 Mon Sep 17 00:00:00 2001 From: yuyou_x <2336760928@qq.com> Date: 星期六, 23 三月 2024 15:01:40 +0800 Subject: [PATCH] Merge branch 'yyk' --- Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 115 +++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 82 insertions(+), 33 deletions(-) diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs index 28f183a..42f39e2 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); @@ -1541,7 +1564,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 +1582,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 +1615,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() { @@ -1778,6 +1813,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 +1836,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 +1878,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() { -- Gitblit v1.8.0