From bdd84cc48ba7b2527584c44d174da8e7d20c5375 Mon Sep 17 00:00:00 2001 From: zhaowc <526854230@qq.com> Date: 星期三, 18 九月 2024 16:37:13 +0800 Subject: [PATCH] 增加对申请入库时对平库库位的校验 --- Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 95 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 77 insertions(+), 18 deletions(-) diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs index de3e6a4..2c65e4c 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs @@ -86,7 +86,7 @@ { if (type == "1")//骞冲簱鍑哄簱鑾峰彇鍗曟嵁 { - var allotList = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" ).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync(); + var allotList = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "1" || m.Status =="0")).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync(); return allotList; } //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗� @@ -978,6 +978,7 @@ catch (Exception e) { Db.RollbackTran(); + throw e; } } @@ -1193,18 +1194,64 @@ //鑾峰彇骞冲簱鎵樼洏淇℃伅 public async Task<List<BoxInfo>> GetPingKuInfoByPallet(string soNo, string palletNo) { - var info = Db.Queryable<BllExportAllot>().Where(m => m.SONo == soNo && m.PalletNo == palletNo && m.IsDel == "0"); - if (await info.CountAsync() == 0) - { - throw Oops.Bah("鏈煡璇㈠埌鎵樼洏鍒嗛厤涓嬪彂鐨勪俊鎭�"); - } - var data = await info.GroupBy(m => new { m.SkuNo, m.SkuName, m.LotNo }).Select(m => new BoxInfo() - { - SkuNo = m.SkuNo, - SkuName = m.SkuName, - LotNo = m.LotNo - }).ToListAsync(); + var info = Db.Queryable<BllExportAllot>() + .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo) + .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo) + .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo}).Select((a,b) => new BoxInfo() + { + SkuNo = a.SkuNo, + SkuName = a.SkuName, + LotNo = a.LotNo + }).ToListAsync(); + var data = await info; + + /*v var info = Db.Queryable<BllExportAllot>() + .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo) + .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo) + .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo, a.PalletNo,b.LocatNo }).Select((a,b) => new BoxInfo() + { + PalletNo = a.PalletNo, + SkuNo = a.SkuNo, + SkuName = a.SkuName, + LotNo = a.LotNo, + LocatNo = b.LocatNo + }).ToListAsync(); + var data = await info;*/ + + return data; + } + + //鑾峰彇骞冲簱鍗曟嵁涓墭鐩樹綅缃俊鎭� + public async Task<List<BoxInfo>> GetPingKuLocationInfo(string soNo,string skuno,string lotno) + { + + var info = Db.Queryable<BllExportAllot>() + .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo) + .LeftJoin<SysWareHouse>((a,b,c)=>b.WareHouseNo == c.WareHouseNo) + .LeftJoin<SysStorageArea>((a,b,c,d)=>b.AreaNo == d.AreaNo) + .Where(a => a.IsDel == "0" && (a.Status == "0" || a.Status == "1") && a.SONo == soNo && a.SkuNo == skuno && a.LotNo == lotno) + .GroupBy((a, b,c,d) => new { a.PalletNo, b.LocatNo,c.WareHouseName,d.AreaName }).Select((a, b,c,d) => new BoxInfo() + { + PalletNo = a.PalletNo, + LocatNo = b.LocatNo, + WareHouseName = c.WareHouseName, + AreaName = d.AreaName + }).ToListAsync(); + var data = await info; + + /*v var info = Db.Queryable<BllExportAllot>() + .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo) + .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo) + .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo, a.PalletNo,b.LocatNo }).Select((a,b) => new BoxInfo() + { + PalletNo = a.PalletNo, + SkuNo = a.SkuNo, + SkuName = a.SkuName, + LotNo = a.LotNo, + LocatNo = b.LocatNo + }).ToListAsync(); + var data = await info;*/ return data; } @@ -1346,6 +1393,7 @@ catch (Exception e) { Db.RollbackTran(); + throw e; } } @@ -1403,7 +1451,8 @@ } //鍙栨牱鍑哄簱鎷h揣(鏍囩) - public async Task SampleSoSetPick(string soType, string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, string asnNo, int userId) + public async Task SampleSoSetPick(string soType, string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, + string pickQty1, string asnNo, int userId) { Db.BeginTran(); try @@ -2043,6 +2092,7 @@ catch (Exception e) { Db.RollbackTran(); + throw e; } } @@ -2515,6 +2565,7 @@ catch (Exception e) { Db.RollbackTran(); + throw e; } } @@ -3050,6 +3101,7 @@ catch (Exception e) { Db.RollbackTran(); + throw e; } } /// <summary> @@ -3363,6 +3415,7 @@ catch (Exception e) { Db.RollbackTran(); + throw e; } } #endregion @@ -3407,7 +3460,7 @@ var samplingQty = await Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo).SumAsync(m => m.CompleteQty); data.QcNo = qcNo; - data.Sku = inspectionRequest.SkuNo; + data.Sku = inspectionRequest.SkuNo + "-" + inspectionRequest.SkuName; data.LotNo = inspectionRequest.LotNo; data.Qty = inspectionRequest.SamplingQty.ToString(); data.SamplingQty = samplingQty == null ? "0" : samplingQty.ToString(); @@ -3873,6 +3926,7 @@ catch (Exception e) { Db.RollbackTran(); + throw e; } } @@ -3917,14 +3971,20 @@ throw Oops.Bah("璇烽獙鍗曠姸鎬侀敊璇紝璇锋牳瀹�"); } //搴撳瓨鏄庣粏淇℃伅 - var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNo && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo); + var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNo + && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo); if (stockDetail == null) { throw Oops.Bah("鏈湪搴撳瓨涓煡璇㈠嚭褰撳墠鎵樼洏淇℃伅"); } + // 鍒ゆ柇鎵樼洏鏄惁鍦ㄥ簱鍐� if (!string.IsNullOrWhiteSpace(stockDetail.LocatNo)) { - throw Oops.Bah("褰撳墠鎵樼洏涓嶆槸搴撳鎵樼洏锛岃鏍稿疄"); + var wareHouseData = await Db.Queryable<SysWareHouse>().FirstAsync(m => m.IsDel == "0" && m.WareHouseNo == stockDetail.WareHouseNo); + if (wareHouseData.Type != "2") + { + throw Oops.Bah("褰撳墠鎵樼洏涓嶆槸搴撳鎵樼洏锛岃鏍稿疄"); + } } //搴撳瓨鎬昏〃 var stock = await Db.Queryable<DataStock>().FirstAsync(m => m.IsDel == "0" && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo); @@ -4051,8 +4111,6 @@ await Db.Updateable(inspecd).ExecuteCommandAsync(); #endregion - - //娣诲姞鎿嶄綔鏃ュ織璁板綍 var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鍙栨牱鎷h揣", qcNo, "鎷h揣", $"鍦≒DA涓婂璇烽獙鍗曞彿涓猴細{qcNo}鐨勬墭鐩樼爜涓猴細{palletNo}鐨勬嫞璐ф搷浣�", userId); Db.CommitTran(); @@ -4060,6 +4118,7 @@ catch (Exception e) { Db.RollbackTran(); + throw e; } } -- Gitblit v1.8.0