From 8c6e292c508312eca0aef4c203e5857c4fc3094c Mon Sep 17 00:00:00 2001 From: bklLiudl <673013083@qq.com> Date: 星期六, 07 九月 2024 09:18:39 +0800 Subject: [PATCH] Merge branch 'master' into Liudl --- Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 704 +++++++++++++++++++++++++++++++--------------------------- 1 files changed, 377 insertions(+), 327 deletions(-) diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs index d3b7475..2c65e4c 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs @@ -81,6 +81,24 @@ return allotList2; } + //鑾峰彇鎵樼洏涓惈鏈夌殑鎵ц涓殑鍗曟嵁 + public async Task<List<string>> GetRunNoticeList(string type) + { + if (type == "1")//骞冲簱鍑哄簱鑾峰彇鍗曟嵁 + { + 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; + } + //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗� + var allotList2 = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3")).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync(); + + //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList(); + //鑾峰彇鍑哄簱鍗曟嵁涓嶄负寰呮嫞璐� 鎵ц瀹屾瘯 璁㈠崟鍏抽棴 绛夊緟鎵ц鐨勫崟鎹� + //var export = Db.Queryable<BllExportNotice>().Where(a => a.IsDel == "0" && a.Status == "1" || a.Status == "2" || a.Status == "3").Select(a => a.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList(); + + return allotList2; + } + //鑾峰彇鍑哄簱鎵樼洏涓婄殑鐗╂枡鎵规(鏍规嵁鎵樼洏鐮�) public async Task<List<DetailIdSkuLotNo>> GetSoSkuLotNoListByPallet(string palletNo, string soNo) { @@ -960,6 +978,7 @@ catch (Exception e) { Db.RollbackTran(); + throw e; } } @@ -1175,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; } @@ -1222,10 +1287,10 @@ throw Oops.Bah("搴撳瓨淇℃伅涓笉瀛樺湪璇ユ墭鐩樹俊鎭紝璇锋鏌�!"); } - if (result.WareHouseNo != "W02")//W02锛氶浂绠卞簱 - { - throw Oops.Bah("璇ユ墭鐩樻湭鍦ㄩ浂绠卞簱锛岃妫�鏌�!"); - } + //if (result.WareHouseNo != "W02")//W02锛氶浂绠卞簱 + //{ + // throw Oops.Bah("璇ユ墭鐩樻湭鍦ㄩ浂绠卞簱锛岃妫�鏌�!"); + //} #endregion @@ -1236,7 +1301,7 @@ { throw Oops.Bah("鏈幏鍙栧埌瀵瑰簲鍌ㄤ綅淇℃伅锛岃妫�鏌�!"); } - if (locat.Status != "1") + if (locat.Status != "3") { throw Oops.Bah("褰撳墠鍌ㄤ綅涓嶆槸鏈夌墿鍝侊紝璇锋鏌�!"); } @@ -1328,6 +1393,7 @@ catch (Exception e) { Db.RollbackTran(); + throw e; } } @@ -1385,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 @@ -2025,60 +2092,61 @@ catch (Exception e) { Db.RollbackTran(); + throw e; } } //鍙栨牱鍑哄簱鎷h揣(鏃犳爣绛�) - public void SampleSoSetQtyPick(string soType, string soNo, string soDetailId, string palletNo, string PickQty, string asnNo, int userId) + public async Task SampleSoSetQtyPick(string soType, string soNo, string soDetailId, string palletNo, string PickQty, string asnNo, int userId) { Db.BeginTran(); try { if (string.IsNullOrWhiteSpace(soType)) { - throw new Exception("鍙栨牱鏍囪瘑涓嶈兘涓虹┖"); + throw Oops.Bah("鍙栨牱鏍囪瘑涓嶈兘涓虹┖"); } if (soType == "1") { if (string.IsNullOrWhiteSpace(asnNo)) { - throw new Exception("鍏ュ簱鍗曟嵁涓嶈兘涓虹┖"); + throw Oops.Bah("鍏ュ簱鍗曟嵁涓嶈兘涓虹┖"); } if (string.IsNullOrWhiteSpace(palletNo)) { - throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�"); + throw Oops.Bah("鎵樼洏鐮佷笉鑳戒负绌�"); } //鍏堝垽鏂槸鍚︽槸搴撳鍙栨牱鎵樼洏 - var allot = Db.Queryable<BllExportAllot>().First(m => + var allot = await Db.Queryable<BllExportAllot>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNo && m.Status != "5" && m.Status != "6"); if (allot != null) { - throw new Exception("褰撳墠鎵樼洏涓嶅睘浜庡簱鍓嶅彇鏍�"); + throw Oops.Bah("褰撳墠鎵樼洏涓嶅睘浜庡簱鍓嶅彇鏍�"); } //搴撳瓨鏄庣粏 - var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.ASNNo == asnNo && m.PalletNo == palletNo); + var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.ASNNo == asnNo && m.PalletNo == palletNo); if (stockDetail == null) { - throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樼殑搴撳瓨鏄庣粏淇℃伅锛�"); + throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樼殑搴撳瓨鏄庣粏淇℃伅锛�"); } - var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == stockDetail.SkuNo); + var sku = await Db.Queryable<SysMaterials>().FirstAsync(m => m.IsDel == "0" && m.SkuNo == stockDetail.SkuNo); if (sku == null) { - throw new Exception("鏈煡璇㈠埌褰撳墠鎵樼洏涓婄殑鐗╂枡淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌褰撳墠鎵樼洏涓婄殑鐗╂枡淇℃伅"); } //搴撳瓨鎬昏〃 - var stock = Db.Queryable<DataStock>().First(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo && a.LotNo == stockDetail.LotNo); + var stock = await Db.Queryable<DataStock>().FirstAsync(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo && a.LotNo == stockDetail.LotNo); if (stock == null) { - throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�"); + throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�"); } //鍑哄簱鍗� - var notice = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.AsnSampleNo == asnNo); + var notice = await Db.Queryable<BllExportNotice>().FirstAsync(m => m.IsDel == "0" && m.AsnSampleNo == asnNo); //鍒涘缓鍑哄簱鍗� if (notice == null || notice.Status == "6") { @@ -2089,7 +2157,7 @@ //鑾峰彇鑷鍗曟嵁鍙� billNo = new Common().GetMaxNo("SO"); var no = billNo; - bl = Db.Queryable<BllExportNotice>().Any(m => m.SONo == no); + bl = await Db.Queryable<BllExportNotice>().AnyAsync(m => m.SONo == no); } while (bl); var addNotice = new BllExportNotice() @@ -2106,12 +2174,12 @@ CreateUser = userId, }; - var n = Db.Insertable(addNotice).ExecuteReturnEntity(); + var n = await Db.Insertable(addNotice).ExecuteReturnEntityAsync(); notice = n; } //鍒涘缓鍑哄簱鍗曟槑缁� - var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(m => m.IsDel == "0" && m.SONo == notice.SONo && m.SkuNo == stockDetail.SkuNo && m.LotNo.Contains(stockDetail.LotNo)); + var noticeDetail = await Db.Queryable<BllExportNoticeDetail>().FirstAsync(m => m.IsDel == "0" && m.SONo == notice.SONo && m.SkuNo == stockDetail.SkuNo && m.LotNo.Contains(stockDetail.LotNo)); if (noticeDetail == null) { var addNoticeDetail = new BllExportNoticeDetail() @@ -2139,11 +2207,11 @@ CreateUser = userId, }; - var m = Db.Insertable(addNoticeDetail).ExecuteReturnEntity(); + var m = await Db.Insertable(addNoticeDetail).ExecuteReturnEntityAsync(); noticeDetail = m; } //鍑哄簱鍒嗛厤淇℃伅 - var allot2 = Db.Queryable<BllExportAllot>().First(m => m.IsDel == "0" && m.Status == "5" && m.SONo == notice.SONo && m.PalletNo == palletNo); + var allot2 = await Db.Queryable<BllExportAllot>().FirstAsync(m => m.IsDel == "0" && m.Status == "5" && m.SONo == notice.SONo && m.PalletNo == palletNo); if (allot2 == null) { //娣诲姞鍒嗛厤琛ㄤ俊鎭� @@ -2175,12 +2243,12 @@ UpdateTime = DateTime.Now }; - var fp = Db.Insertable(addAllot).ExecuteReturnEntity(); + var fp = await Db.Insertable(addAllot).ExecuteReturnEntityAsync(); allot2 = fp; } //鑾峰彇褰撳墠鎵樼洏鎷h揣鏄庣粏 - var complete = Db.Queryable<BllCompleteDetail>().First(a => a.IsDel == "0" && a.PalletNo == palletNo && a.SONo == notice.SONo && a.ExportAllotId == allot2.Id && a.StockId == stockDetail.Id); + var complete = await Db.Queryable<BllCompleteDetail>().FirstAsync(a => a.IsDel == "0" && a.PalletNo == palletNo && a.SONo == notice.SONo && a.ExportAllotId == allot2.Id && a.StockId == stockDetail.Id); //鍒よ鏄惁瀛樺湪鎷h揣鏄庣粏 int isComplete = 0; @@ -2219,7 +2287,7 @@ comList.Add(completeDetail); //娣诲姞鎷h揣鏄庣粏 - Db.Insertable(comList).ExecuteCommand(); + await Db.Insertable(comList).ExecuteCommandAsync(); } else if (isComplete == 1) { @@ -2227,7 +2295,7 @@ complete.UpdateUser = userId; complete.UpdateTime = Db.GetDate(); - Db.Updateable(complete).ExecuteCommand(); + await Db.Updateable(complete).ExecuteCommandAsync(); } @@ -2235,7 +2303,7 @@ //淇敼鍑哄簱鍒嗛厤淇℃伅 allot2.Qty += int.Parse(PickQty); allot2.CompleteQty += int.Parse(PickQty); - Db.Updateable(allot2).ExecuteCommand(); + await Db.Updateable(allot2).ExecuteCommandAsync(); int isDel = 0; @@ -2257,36 +2325,36 @@ } if (stockDetail.Qty <= 0) { - Db.Deleteable(stockDetail).ExecuteCommand(); + await Db.Deleteable(stockDetail).ExecuteCommandAsync(); } else { isDel = 1; - Db.Updateable(stockDetail).ExecuteCommand(); + await Db.Updateable(stockDetail).ExecuteCommandAsync(); } //鍒犻櫎鎴栦慨鏀瑰簱瀛� stock.Qty -= int.Parse(PickQty); if (stock.Qty <= 0) { - Db.Deleteable(stock).ExecuteCommand(); + await Db.Deleteable(stock).ExecuteCommandAsync(); } else { - Db.Updateable(stock).ExecuteCommand(); + await Db.Updateable(stock).ExecuteCommandAsync(); } //鏀瑰彉鎵樼洏鐘舵�佷负锛氭湭浣跨敤 - var pallet = Db.Queryable<SysPallets>().First(m => m.PalletNo == palletNo && m.IsDel == "0"); + var pallet = await Db.Queryable<SysPallets>().FirstAsync(m => m.PalletNo == palletNo && m.IsDel == "0"); if (pallet == null) { - throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�"); + throw Oops.Bah("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�"); } //鍒ゆ柇鎵樼洏涓婄墿鏂欐槸鍚︽嫞璐у畬姣� if (isDel == 0) { pallet.Status = "0"; - Db.Updateable(pallet).ExecuteCommand(); + await Db.Updateable(pallet).ExecuteCommandAsync(); } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� @@ -2295,7 +2363,7 @@ noticeDetail.FactQty += int.Parse(PickQty); noticeDetail.CompleteQty += int.Parse(PickQty); noticeDetail.Money = string.IsNullOrWhiteSpace(sku.Price.ToString()) ? null : sku.Price * noticeDetail.Qty; - Db.Updateable(noticeDetail).ExecuteCommand(); + await Db.Updateable(noticeDetail).ExecuteCommandAsync(); } else if (soType == "0") @@ -2304,7 +2372,7 @@ if (string.IsNullOrWhiteSpace(soNo)) { - throw new Exception("鍑哄簱鍗曟嵁涓嶈兘涓虹┖"); + throw Oops.Bah("鍑哄簱鍗曟嵁涓嶈兘涓虹┖"); } //if (string.IsNullOrWhiteSpace(soDetailId)) //{ @@ -2312,56 +2380,56 @@ //} if (string.IsNullOrWhiteSpace(palletNo)) { - throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�"); + throw Oops.Bah("鎵樼洏鐮佷笉鑳戒负绌�"); } //鍑哄簱鍗� var notice = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.SONo == soNo); if (notice == null) { - throw new Exception("鏈煡璇㈠埌璇ュ嚭搴撳崟鐨勪俊鎭�"); + throw Oops.Bah("鏈煡璇㈠埌璇ュ嚭搴撳崟鐨勪俊鎭�"); } if (notice.Status != "3") { - throw new Exception("鍑哄簱鍗曠殑鐘舵�佷笉鏄鍦ㄦ墽琛岋紝涓嶈兘鎷h揣"); + throw Oops.Bah("鍑哄簱鍗曠殑鐘舵�佷笉鏄鍦ㄦ墽琛岋紝涓嶈兘鎷h揣"); } //鍑哄簱鍗曟槑缁� var noticeDetail = Db.Queryable<BllExportNoticeDetail>() .First(m => m.IsDel == "0" && m.Id == int.Parse(soDetailId)); if (noticeDetail == null) { - throw new Exception("鏈煡璇㈠埌璇ュ嚭搴撳崟鏄庣粏鐨勪俊鎭�"); + throw Oops.Bah("鏈煡璇㈠埌璇ュ嚭搴撳崟鏄庣粏鐨勪俊鎭�"); } //鍑哄簱鍒嗛厤淇℃伅 - var allot = Db.Queryable<BllExportAllot>().First(m => + var allot = await Db.Queryable<BllExportAllot>().FirstAsync(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.SONo == soNo && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo); if (allot == null) { - throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樼殑鍒嗛厤淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樼殑鍒嗛厤淇℃伅"); } //鍓╀綑鎷h揣鏁伴噺锛堝緟鎷e噺鍘诲凡鎷o級 var needQty = allot.Qty - allot.CompleteQty; if (int.Parse(PickQty) > needQty) { - throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鎵樺唴鍓╀綑寰呮嫞鏁伴噺"); + throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬鎵樺唴鍓╀綑寰呮嫞鏁伴噺"); } //搴撳瓨鏄庣粏 - var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.Id == allot.StockId); + var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.Id == allot.StockId); if (stockDetail == null) { - throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨鏄庣粏淇℃伅锛�"); + throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨鏄庣粏淇℃伅锛�"); } //搴撳瓨鎬昏〃 - var stock = Db.Queryable<DataStock>().First(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo && a.LotNo == stockDetail.LotNo); + var stock = await Db.Queryable<DataStock>().FirstAsync(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo && a.LotNo == stockDetail.LotNo); if (stock == null) { - throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�"); + throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�"); } #endregion //鑾峰彇褰撳墠鎵樼洏鎷h揣鏄庣粏 - var complete = Db.Queryable<BllCompleteDetail>().First(a => a.IsDel == "0" && a.PalletNo == palletNo && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.ExportAllotId == allot.Id && a.StockId == stockDetail.Id); + var complete = await Db.Queryable<BllCompleteDetail>().FirstAsync(a => a.IsDel == "0" && a.PalletNo == palletNo && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.ExportAllotId == allot.Id && a.StockId == stockDetail.Id); //鍒よ鏄惁瀛樺湪鎷h揣鏄庣粏 int isComplete = 0; @@ -2400,7 +2468,7 @@ comList.Add(completeDetail); //娣诲姞鎷h揣鏄庣粏 - Db.Insertable(comList).ExecuteCommand(); + await Db.Insertable(comList).ExecuteCommandAsync(); } else if (isComplete == 1) { @@ -2408,7 +2476,7 @@ complete.UpdateUser = userId; complete.UpdateTime = Db.GetDate(); - Db.Updateable(complete).ExecuteCommand(); + await Db.Updateable(complete).ExecuteCommandAsync(); } @@ -2418,7 +2486,7 @@ allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3"; allot.UpdateTime = DateTime.Now; - Db.Updateable(allot).ExecuteCommand(); + await Db.Updateable(allot).ExecuteCommandAsync(); int isDel = 0; @@ -2441,12 +2509,12 @@ } if (stockDetail.Qty <= 0) { - Db.Deleteable(stockDetail).ExecuteCommand(); + await Db.Deleteable(stockDetail).ExecuteCommandAsync(); } else { isDel = 1; - Db.Updateable(stockDetail).ExecuteCommand(); + await Db.Updateable(stockDetail).ExecuteCommandAsync(); } //鍒犻櫎鎴栦慨鏀瑰簱瀛� stock.Qty -= int.Parse(PickQty); @@ -2454,39 +2522,39 @@ stock.IsSampling = "1"; //鏄惁鍙栨牱 if (stock.Qty <= 0) { - Db.Deleteable(stock).ExecuteCommand(); + await Db.Deleteable(stock).ExecuteCommandAsync(); } else { - Db.Updateable(stock).ExecuteCommand(); + await Db.Updateable(stock).ExecuteCommandAsync(); } //鏀瑰彉鎵樼洏鐘舵�佷负锛氭湭浣跨敤 - var pallet = Db.Queryable<SysPallets>().First(m => m.PalletNo == palletNo && m.IsDel == "0"); + var pallet = await Db.Queryable<SysPallets>().FirstAsync(m => m.PalletNo == palletNo && m.IsDel == "0"); if (pallet == null) { - throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�"); + throw Oops.Bah("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�"); } //鍒ゆ柇鎵樼洏涓婄墿鏂欐槸鍚︽嫞璐у畬姣� if (isDel == 0) { pallet.Status = "0"; - Db.Updateable(pallet).ExecuteCommand(); + await Db.Updateable(pallet).ExecuteCommandAsync(); } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� noticeDetail.CompleteQty += int.Parse(PickQty); - Db.Updateable(noticeDetail).ExecuteCommand(); + await Db.Updateable(noticeDetail).ExecuteCommandAsync(); - var num = Db.Queryable<BllExportNoticeDetail>() - .Count(m => m.IsDel == "0" && m.SONo == soNo && m.CompleteQty < m.Qty); + var num = await Db.Queryable<BllExportNoticeDetail>() + .CountAsync(m => m.IsDel == "0" && m.SONo == soNo && m.CompleteQty < m.Qty); if (num <= 0) { notice.Status = "4"; //鏇存敼涓烘墽琛屽畬鎴� } //淇敼鍑哄簱鍗曚俊鎭� - Db.Updateable(notice).ExecuteCommand(); + await Db.Updateable(notice).ExecuteCommandAsync(); } @@ -2497,7 +2565,7 @@ catch (Exception e) { Db.RollbackTran(); - throw new Exception(e.Message); + throw e; } } @@ -2513,7 +2581,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 async Task SoSetPinPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, string palletNoNew, int userId) { Db.BeginTran(); try @@ -2523,71 +2591,71 @@ if (string.IsNullOrWhiteSpace(soNo)) { - throw new Exception("鍑哄簱鍗曟嵁涓嶈兘涓虹┖"); + throw Oops.Bah("鍑哄簱鍗曟嵁涓嶈兘涓虹┖"); } if (string.IsNullOrWhiteSpace(soDetailId)) { - throw new Exception("鍑哄簱鐗╂枡-鎵规涓嶈兘涓虹┖"); + throw Oops.Bah("鍑哄簱鐗╂枡-鎵规涓嶈兘涓虹┖"); } if (string.IsNullOrWhiteSpace(palletNo)) { - throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�"); + throw Oops.Bah("鎵樼洏鐮佷笉鑳戒负绌�"); } if (!string.IsNullOrEmpty(boxNo3) && !string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0) { - throw new Exception("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�"); + throw Oops.Bah("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�"); } if (string.IsNullOrWhiteSpace(palletNoNew)) { - throw new Exception("鏂版墭鐩樼爜涓嶈兘涓虹┖"); + throw Oops.Bah("鏂版墭鐩樼爜涓嶈兘涓虹┖"); } if (palletNo == palletNoNew)//鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷� { if (!string.IsNullOrEmpty(boxNo)) { - throw new Exception("鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷达紝璇烽�夋嫨鏁存墭鍑哄簱"); + throw Oops.Bah("鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷达紝璇烽�夋嫨鏁存墭鍑哄簱"); } } //鍑哄簱鍗� - var notice = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.SONo == soNo); + var notice = await Db.Queryable<BllExportNotice>().FirstAsync(m => m.IsDel == "0" && m.SONo == soNo); if (notice == null) { - throw new Exception("鏈煡璇㈠埌璇ュ嚭搴撳崟鐨勪俊鎭�"); + throw Oops.Bah("鏈煡璇㈠埌璇ュ嚭搴撳崟鐨勪俊鎭�"); } if (notice.Status != "3") { - throw new Exception("鍑哄簱鍗曠殑鐘舵�佷笉鏄鍦ㄦ墽琛岋紝涓嶈兘鎷h揣"); + throw Oops.Bah("鍑哄簱鍗曠殑鐘舵�佷笉鏄鍦ㄦ墽琛岋紝涓嶈兘鎷h揣"); } //鍑哄簱鍗曟槑缁� - var noticeDetail = Db.Queryable<BllExportNoticeDetail>() - .First(m => m.IsDel == "0" && m.Id == int.Parse(soDetailId)); + var noticeDetail = await Db.Queryable<BllExportNoticeDetail>() + .FirstAsync(m => m.IsDel == "0" && m.Id == int.Parse(soDetailId)); if (noticeDetail == null) { - throw new Exception("鏈煡璇㈠埌璇ュ嚭搴撳崟鏄庣粏鐨勪俊鎭�"); + throw Oops.Bah("鏈煡璇㈠埌璇ュ嚭搴撳崟鏄庣粏鐨勪俊鎭�"); } //鍑哄簱鍒嗛厤淇℃伅 - var allot = Db.Queryable<BllExportAllot>().First(m => + var allot = await Db.Queryable<BllExportAllot>().FirstAsync(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.SONo == soNo && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo); if (allot == null) { - throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樼殑鍒嗛厤淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樼殑鍒嗛厤淇℃伅"); } //鍓╀綑鎷h揣鏁伴噺锛堝緟鎷e噺鍘诲凡鎷o級 var needQty = allot.Qty - allot.CompleteQty; //搴撳瓨鏄庣粏 - var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.Id == allot.StockId); + var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.Id == allot.StockId); if (stockDetail == null) { - throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨鏄庣粏淇℃伅锛�"); + throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨鏄庣粏淇℃伅锛�"); } //搴撳瓨鎬昏〃 - var stock = Db.Queryable<DataStock>().First(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo && a.LotNo == stockDetail.LotNo); + var stock = await Db.Queryable<DataStock>().FirstAsync(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo && a.LotNo == stockDetail.LotNo); if (stock == null) { - throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�"); + throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�"); } #endregion @@ -2595,14 +2663,14 @@ #region 鎷兼墭淇℃伅 var sdId = 0; bool isNew = false; - var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew); + var pinStockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew); if (pinStockDetail != null) { if (palletNo != palletNoNew)//闈炴暣鎵樻嫞璐� { if (pinStockDetail.SONo != notice.SONo) { - throw new Exception("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�"); + throw Oops.Bah("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�"); } if (pinStockDetail.SkuName != stockDetail.SkuName || pinStockDetail.LotNo != stockDetail.LotNo) { @@ -2615,14 +2683,14 @@ { isNew = true; - var newPalletInfo = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0"); + var newPalletInfo = await Db.Queryable<SysPallets>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0"); if (newPalletInfo == null) { - throw new Exception("鏂版墭鐩樹俊鎭笉瀛樺湪鎴栧凡琚娇鐢紒"); + throw Oops.Bah("鏂版墭鐩樹俊鎭笉瀛樺湪鎴栧凡琚娇鐢紒"); } //淇敼鏂版墭鐩樼姸鎬� newPalletInfo.Status = "1"; - Db.Updateable(newPalletInfo).ExecuteCommand(); + await Db.Updateable(newPalletInfo).ExecuteCommandAsync(); } var sd = new DataStockDetail(); if (isNew) @@ -2668,7 +2736,7 @@ sd.CreateTime = nowDate; //鏂板鎷兼墭搴撳瓨鏄庣粏淇℃伅 - sdId = Db.Insertable(sd).ExecuteReturnIdentity(); + sdId = await Db.Insertable(sd).ExecuteReturnIdentityAsync(); } #endregion @@ -2677,28 +2745,28 @@ { List<DataBoxInfo> boxInfos; var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo);//鎵惧埌鎵樼洏涓婃墍鏈夌鐮� - boxInfos = boxInfo.ToList(); + boxInfos = await boxInfo.ToListAsync(); if (boxInfo.Count() <= 0) { - throw new Exception("璇ユ墭鐩樹笂娌℃湁鍙嫞璐х殑绠卞瓙"); + throw Oops.Bah("璇ユ墭鐩樹笂娌℃湁鍙嫞璐х殑绠卞瓙"); } - var boxQty = boxInfo.GroupBy(m => m.PalletNo).Select(m => SqlFunc.AggregateSum(m.Qty)).ToList(); + var boxQty = await boxInfo.GroupBy(m => m.PalletNo).Select(m => SqlFunc.AggregateSum(m.Qty)).ToListAsync(); if (boxQty[0] > needQty) { - throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺"); + throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺"); } - var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToList(); + var comDetailList = await Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToListAsync(); var comList = new List<BllCompleteDetail>(); foreach (var item in boxInfos) { if (comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) { - throw new Exception($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); + throw Oops.Bah($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); } if (item.SkuNo != allot.SkuNo || item.LotNo != allot.LotNo) { - throw new Exception("褰撳墠鎵樼洏涓婃湁鍏朵粬涓嶅悓鐗╂枡鎵规锛屾嫞璐уけ璐�"); + throw Oops.Bah("褰撳墠鎵樼洏涓婃湁鍏朵粬涓嶅悓鐗╂枡鎵规锛屾嫞璐уけ璐�"); } //娣诲姞鎷h揣鏄庣粏 var completeDetail = new BllCompleteDetail() @@ -2732,41 +2800,41 @@ } item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣 //淇敼搴撳瓨绠辩爜鏄庣粏 - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); pickQty += item.Qty; } //娣诲姞鎷h揣鏄庣粏 - Db.Insertable(comList).ExecuteCommand(); + await Db.Insertable(comList).ExecuteCommandAsync(); //淇敼鍑哄簱鍒嗛厤淇℃伅 allot.CompleteQty += pickQty; allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3"; allot.UpdateTime = DateTime.Now; - Db.Updateable(allot).ExecuteCommand(); + await Db.Updateable(allot).ExecuteCommandAsync(); if (palletNo != palletNoNew) { //鍒犻櫎鍘熸墭鐩樺簱瀛樻槑缁� - Db.Deleteable(stockDetail).ExecuteCommand(); + await Db.Deleteable(stockDetail).ExecuteCommandAsync(); //鏀瑰彉鍘熸墭鐩樼姸鎬佷负锛氭湭浣跨敤 - var pallet = Db.Queryable<SysPallets>().First(m => m.PalletNo == palletNo && m.IsDel == "0"); + var pallet = await Db.Queryable<SysPallets>().FirstAsync(m => m.PalletNo == palletNo && m.IsDel == "0"); if (pallet == null) { - throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�"); + throw Oops.Bah("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�"); } pallet.Status = "0"; - Db.Updateable(pallet).ExecuteCommand(); + await Db.Updateable(pallet).ExecuteCommandAsync(); } else { stockDetail.SONo = soNo; - Db.Updateable(stockDetail).ExecuteCommand(); + await Db.Updateable(stockDetail).ExecuteCommandAsync(); } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� noticeDetail.CompleteQty += pickQty; - Db.Updateable(noticeDetail).ExecuteCommand(); + await Db.Updateable(noticeDetail).ExecuteCommandAsync(); var num = Db.Queryable<BllExportNoticeDetail>() .Count(m => m.IsDel == "0" && m.SONo == soNo && m.CompleteQty < m.Qty); @@ -2775,48 +2843,48 @@ notice.Status = "4"; //鏇存敼涓烘墽琛屽畬鎴� } //淇敼鍑哄簱鍗曚俊鎭� - Db.Updateable(notice).ExecuteCommand(); + await Db.Updateable(notice).ExecuteCommandAsync(); } else { var biaoShi = "0";//0锛氭暣绠辨嫞璐с��1锛氭暎鏀嫞璐с��2锛氭暟閲忔嫞璐� List<DataBoxInfo> boxInfos; var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo); - if (boxInfo.Count() == 0) + if (await boxInfo.CountAsync() == 0) { - throw new Exception("鏈煡璇㈠埌璇ョ鐮佸強杩芥函鐮佺殑淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌璇ョ鐮佸強杩芥函鐮佺殑淇℃伅"); } - boxInfos = boxInfo.ToList(); + boxInfos = await boxInfo.ToListAsync(); - var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToList(); + var comDetailList = await Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToListAsync(); if (!string.IsNullOrWhiteSpace(boxNo3)) //鏁f敮鎷h揣 { boxInfos = boxInfos.Where(m => m.BoxNo3 == boxNo3).ToList(); if (boxInfos.Count() == 0) { - throw new Exception("鏈煡璇㈠埌璇ョ鐮佸強杩芥函鐮佺殑淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌璇ョ鐮佸強杩芥函鐮佺殑淇℃伅"); } if (boxInfos.Count() > 1) { - throw new Exception("璇ヨ拷婧敮鐮佺殑淇℃伅澶т簬1鏉★紝淇℃伅閿欒锛岃鏍稿疄锛�"); + throw Oops.Bah("璇ヨ拷婧敮鐮佺殑淇℃伅澶т簬1鏉★紝淇℃伅閿欒锛岃鏍稿疄锛�"); } if (boxInfos.Any(m => m.PalletNo != palletNo)) { - throw new Exception("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴"); + throw Oops.Bah("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴"); } var boxQty = boxInfos.First().Qty; if (boxQty > needQty) { - throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺"); + throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺"); } foreach (var item in boxInfos) { if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) { - throw new Exception($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); + throw Oops.Bah($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); } } @@ -2826,16 +2894,16 @@ { if (boxInfo.Count() > 1) { - throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣"); + throw Oops.Bah("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣"); } decimal boxQty = boxInfo.First().Qty; if (Convert.ToInt32(pickQty1) > boxQty) { - throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); + throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); } if (Convert.ToInt32(pickQty1) > needQty) { - throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺"); + throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺"); } biaoShi = "2"; @@ -2844,23 +2912,23 @@ { if (boxInfo.Count() == 0) { - throw new Exception("鏈煡璇㈠埌璇ョ鐮佺殑淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌璇ョ鐮佺殑淇℃伅"); } if (boxInfo.Any(m => m.PalletNo != palletNo)) { - throw new Exception("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴"); + throw Oops.Bah("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴"); } - var boxQty = boxInfo.GroupBy(m => m.BoxNo).Select(m => SqlFunc.AggregateSum(m.Qty)).ToList(); + var boxQty = await boxInfo.GroupBy(m => m.BoxNo).Select(m => SqlFunc.AggregateSum(m.Qty)).ToListAsync(); if (boxQty[0] > needQty) { - throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺"); + throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺"); } foreach (var item in boxInfos) { if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo == item.BoxNo)) { - throw new Exception($"褰撳墠{item.BoxNo}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); + throw Oops.Bah($"褰撳墠{item.BoxNo}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣"); } } } @@ -2899,7 +2967,7 @@ item.BindNo = null;//鎵樼洏缁戝畾鍙� item.PalletNo = palletNoNew; item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣 - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); pickQty += item.Qty; } @@ -2912,7 +2980,7 @@ item.BoxNo = item.BoxNo3;//灏嗘敮鐮佽祴缁欑鐮� item.BitBoxMark = "1";//闆剁鏍囪 item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣 - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); pickQty += item.Qty; } @@ -2925,13 +2993,13 @@ item.BindNo = null;//鎵樼洏缁戝畾鍙� item.PalletNo = palletNoNew; item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣 - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); } else { item.Qty -= decimal.Parse(pickQty1); item.BitBoxMark = "1";//闆剁鏍囪瘑 - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); } pickQty += int.Parse(pickQty1); @@ -2944,11 +3012,11 @@ foreach (var item in boxSurplusList) { item.BitBoxMark = "1"; - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); } } - Db.Insertable(comList).ExecuteCommand(); + await Db.Insertable(comList).ExecuteCommandAsync(); //淇敼鍑哄簱鍒嗛厤淇℃伅 allot.CompleteQty += pickQty; allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3"; @@ -2957,7 +3025,7 @@ { //鍒ゆ柇璇ユ墭鐩樻槸鍚﹁繕瀛樺湪鐗╂枡 瀛樺湪鏀逛负寰呭洖搴� 寰呭洖搴撳畬鎴愬悗鏀逛负宸插畬鎴� } - Db.Updateable(allot).ExecuteCommand(); + await Db.Updateable(allot).ExecuteCommandAsync(); //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁� stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇� @@ -2978,36 +3046,36 @@ if (stockDetail.Qty <= 0) { - Db.Deleteable(stockDetail).ExecuteCommand(); + await Db.Deleteable(stockDetail).ExecuteCommandAsync(); } else { - Db.Updateable(stockDetail).ExecuteCommand(); + await Db.Updateable(stockDetail).ExecuteCommandAsync(); } - var num2 = Db.Queryable<DataStockDetail>().Count(m => m.IsDel == "0" && m.PalletNo == palletNo); + var num2 = await Db.Queryable<DataStockDetail>().CountAsync(m => m.IsDel == "0" && m.PalletNo == palletNo); if (num2 <= 0) { //鏀瑰彉鎵樼洏鐘舵�� - var pallet = Db.Queryable<SysPallets>().First(m => m.PalletNo == palletNo && m.IsDel == "0"); + var pallet = await Db.Queryable<SysPallets>().FirstAsync(m => m.PalletNo == palletNo && m.IsDel == "0"); if (pallet == null) { - throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�"); + throw Oops.Bah("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�"); } pallet.Status = "0"; - Db.Updateable(pallet).ExecuteCommand(); + await Db.Updateable(pallet).ExecuteCommandAsync(); } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� noticeDetail.CompleteQty += pickQty; - Db.Updateable(noticeDetail).ExecuteCommand(); + await Db.Updateable(noticeDetail).ExecuteCommandAsync(); - var num = Db.Queryable<BllExportNoticeDetail>() - .Count(m => m.IsDel == "0" && m.SONo == soNo && m.CompleteQty < m.Qty); + var num = await Db.Queryable<BllExportNoticeDetail>() + .CountAsync(m => m.IsDel == "0" && m.SONo == soNo && m.CompleteQty < m.Qty); if (num <= 0) { notice.Status = "4"; //鏇存敼涓烘墽琛屽畬鎴� } //淇敼鍑哄簱鍗曚俊鎭� - Db.Updateable(notice).ExecuteCommand(); + await Db.Updateable(notice).ExecuteCommandAsync(); } if (isNew) @@ -3022,7 +3090,7 @@ //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏 pinStockDetail.Qty += pickQty; pinStockDetail.LockQty += pickQty; - Db.Updateable(pinStockDetail).ExecuteCommand(); + await Db.Updateable(pinStockDetail).ExecuteCommandAsync(); } } @@ -3033,7 +3101,7 @@ catch (Exception e) { Db.RollbackTran(); - throw new Exception(e.Message); + throw e; } } /// <summary> @@ -3045,7 +3113,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 async Task SoSetQtyPinPick(string soNo, string soDetailId, string palletNo, string PickQty, string palletNoNew, int userId) { Db.BeginTran(); try @@ -3055,7 +3123,7 @@ if (string.IsNullOrWhiteSpace(soNo)) { - throw new Exception("鍑哄簱鍗曟嵁涓嶈兘涓虹┖"); + throw Oops.Bah("鍑哄簱鍗曟嵁涓嶈兘涓虹┖"); } //if (string.IsNullOrWhiteSpace(soDetailId)) //{ @@ -3063,76 +3131,76 @@ //} if (string.IsNullOrWhiteSpace(palletNo)) { - throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�"); + throw Oops.Bah("鎵樼洏鐮佷笉鑳戒负绌�"); } if (string.IsNullOrWhiteSpace(palletNoNew)) { - throw new Exception("鏂版墭鐩樼爜涓嶈兘涓虹┖"); + throw Oops.Bah("鏂版墭鐩樼爜涓嶈兘涓虹┖"); } //鍑哄簱鍗� - var notice = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.SONo == soNo); + var notice = await Db.Queryable<BllExportNotice>().FirstAsync(m => m.IsDel == "0" && m.SONo == soNo); if (notice == null) { - throw new Exception("鏈煡璇㈠埌璇ュ嚭搴撳崟鐨勪俊鎭�"); + throw Oops.Bah("鏈煡璇㈠埌璇ュ嚭搴撳崟鐨勪俊鎭�"); } if (notice.Status != "3") { - throw new Exception("鍑哄簱鍗曠殑鐘舵�佷笉鏄鍦ㄦ墽琛岋紝涓嶈兘鎷h揣"); + throw Oops.Bah("鍑哄簱鍗曠殑鐘舵�佷笉鏄鍦ㄦ墽琛岋紝涓嶈兘鎷h揣"); } //鍑哄簱鍗曟槑缁� - var noticeDetail = Db.Queryable<BllExportNoticeDetail>() - .First(m => m.IsDel == "0" && m.Id == int.Parse(soDetailId)); + var noticeDetail = await Db.Queryable<BllExportNoticeDetail>() + .FirstAsync(m => m.IsDel == "0" && m.Id == int.Parse(soDetailId)); if (noticeDetail == null) { - throw new Exception("鏈煡璇㈠埌璇ュ嚭搴撳崟鏄庣粏鐨勪俊鎭�"); + throw Oops.Bah("鏈煡璇㈠埌璇ュ嚭搴撳崟鏄庣粏鐨勪俊鎭�"); } //鍑哄簱鍒嗛厤淇℃伅 - var allot = Db.Queryable<BllExportAllot>().First(m => + var allot = await Db.Queryable<BllExportAllot>().FirstAsync(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.SONo == soNo && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo); if (allot == null) { - throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樼殑鍒嗛厤淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樼殑鍒嗛厤淇℃伅"); } //鍓╀綑鎷h揣鏁伴噺锛堝緟鎷e噺鍘诲凡鎷o級 var needQty = allot.Qty - allot.CompleteQty; if (int.Parse(PickQty) > needQty) { - throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鎵樺唴鍓╀綑寰呮嫞鏁伴噺"); + throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬鎵樺唴鍓╀綑寰呮嫞鏁伴噺"); } //搴撳瓨鏄庣粏 - var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.Id == allot.StockId); + var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.Id == allot.StockId); if (stockDetail == null) { - throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨鏄庣粏淇℃伅锛�"); + throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨鏄庣粏淇℃伅锛�"); } //搴撳瓨鎬昏〃 - var stock = Db.Queryable<DataStock>().First(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo && a.LotNo == stockDetail.LotNo); + var stock = await Db.Queryable<DataStock>().FirstAsync(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo && a.LotNo == stockDetail.LotNo); if (stock == null) { - throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�"); + throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�"); } if (palletNo == palletNoNew)//鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷� { if (int.Parse(PickQty) != stockDetail.Qty) { - throw new Exception("鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷达紝闇�瑕佹妸鎵樼洏涓婃墍鏈夋暟閲忔嫞璐�"); + throw Oops.Bah("鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷达紝闇�瑕佹妸鎵樼洏涓婃墍鏈夋暟閲忔嫞璐�"); } } #endregion #region 鎷兼墭淇℃伅 bool isNew = false; - var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew); + var pinStockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew); if (pinStockDetail != null) { if (palletNo != palletNoNew)//闈炴暣鎵樻嫞璐� { if (pinStockDetail.SONo != notice.SONo) { - throw new Exception("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�"); + throw Oops.Bah("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�"); } if (pinStockDetail.SkuName != stockDetail.SkuName || pinStockDetail.LotNo != stockDetail.LotNo) { @@ -3144,14 +3212,14 @@ { isNew = true; - var newPalletInfo = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0"); + var newPalletInfo = await Db.Queryable<SysPallets>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0"); if (newPalletInfo == null) { - throw new Exception("鏂版墭鐩樹俊鎭笉瀛樺湪鎴栧凡琚娇鐢紒"); + throw Oops.Bah("鏂版墭鐩樹俊鎭笉瀛樺湪鎴栧凡琚娇鐢紒"); } //淇敼鏂版墭鐩樼姸鎬� newPalletInfo.Status = "1"; - Db.Updateable(newPalletInfo).ExecuteCommand(); + await Db.Updateable(newPalletInfo).ExecuteCommandAsync(); } if (isNew) @@ -3202,7 +3270,7 @@ sd.CreateTime = nowDate; //鏂板鎷兼墭搴撳瓨鏄庣粏淇℃伅 - Db.Insertable(sd).ExecuteReturnIdentity(); + await Db.Insertable(sd).ExecuteReturnIdentityAsync(); } else { @@ -3211,18 +3279,18 @@ //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏 pinStockDetail.Qty += int.Parse(PickQty); pinStockDetail.LockQty += int.Parse(PickQty); - Db.Updateable(pinStockDetail).ExecuteCommand(); + await Db.Updateable(pinStockDetail).ExecuteCommandAsync(); } else { pinStockDetail.SONo = soNo; - Db.Updateable(pinStockDetail).ExecuteCommand(); + await Db.Updateable(pinStockDetail).ExecuteCommandAsync(); } } #endregion //鑾峰彇褰撳墠鎵樼洏鎷h揣鏄庣粏 - var complete = Db.Queryable<BllCompleteDetail>().First(a => a.IsDel == "0" && a.PalletNo == palletNo && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.ExportAllotId == allot.Id && a.StockId == stockDetail.Id); + var complete = await Db.Queryable<BllCompleteDetail>().FirstAsync(a => a.IsDel == "0" && a.PalletNo == palletNo && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.ExportAllotId == allot.Id && a.StockId == stockDetail.Id); //鍒よ鏄惁瀛樺湪鎷h揣鏄庣粏 int isComplete = 0; @@ -3262,7 +3330,7 @@ comList.Add(completeDetail); //娣诲姞鎷h揣鏄庣粏 - Db.Insertable(comList).ExecuteCommand(); + await Db.Insertable(comList).ExecuteCommandAsync(); } else if (isComplete == 1) { @@ -3270,14 +3338,14 @@ complete.UpdateUser = userId; complete.UpdateTime = Db.GetDate(); - Db.Updateable(complete).ExecuteCommand(); + await Db.Updateable(complete).ExecuteCommandAsync(); } //淇敼鍑哄簱鍒嗛厤淇℃伅 allot.CompleteQty += int.Parse(PickQty); allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3"; allot.UpdateTime = DateTime.Now; - Db.Updateable(allot).ExecuteCommand(); + await Db.Updateable(allot).ExecuteCommandAsync(); int isDel = 0; @@ -3301,12 +3369,12 @@ } if (stockDetail.Qty <= 0) { - Db.Deleteable(stockDetail).ExecuteCommand(); + await Db.Deleteable(stockDetail).ExecuteCommandAsync(); } else { isDel = 1; - Db.Updateable(stockDetail).ExecuteCommand(); + await Db.Updateable(stockDetail).ExecuteCommandAsync(); } } else @@ -3317,28 +3385,28 @@ if (isDel == 0) { //鏀瑰彉鎵樼洏鐘舵�佷负锛氭湭浣跨敤 - var pallet = Db.Queryable<SysPallets>().First(m => m.PalletNo == palletNo && m.IsDel == "0"); + var pallet = await Db.Queryable<SysPallets>().FirstAsync(m => m.PalletNo == palletNo && m.IsDel == "0"); if (pallet == null) { - throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�"); + throw Oops.Bah("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�"); } pallet.Status = "0"; - Db.Updateable(pallet).ExecuteCommand(); + await Db.Updateable(pallet).ExecuteCommandAsync(); } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� noticeDetail.CompleteQty += int.Parse(PickQty); - Db.Updateable(noticeDetail).ExecuteCommand(); + await Db.Updateable(noticeDetail).ExecuteCommandAsync(); - var num = Db.Queryable<BllExportNoticeDetail>() - .Count(m => m.IsDel == "0" && m.SONo == soNo && m.CompleteQty < m.Qty); + var num = await Db.Queryable<BllExportNoticeDetail>() + .CountAsync(m => m.IsDel == "0" && m.SONo == soNo && m.CompleteQty < m.Qty); if (num <= 0) { notice.Status = "4"; //鏇存敼涓烘墽琛屽畬鎴� } //淇敼鍑哄簱鍗曚俊鎭� - Db.Updateable(notice).ExecuteCommand(); + await Db.Updateable(notice).ExecuteCommandAsync(); //娣诲姞鎿嶄綔鏃ュ織璁板綍 var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鎷兼墭", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勬墭鐩樼爜涓猴細{palletNo}锛屾柊鎵樼洏鐮佷负锛歿palletNoNew}鐨勬嫞璐ф搷浣�", userId); @@ -3347,7 +3415,7 @@ catch (Exception e) { Db.RollbackTran(); - throw new Exception(e.Message); + throw e; } } #endregion @@ -3355,75 +3423,53 @@ #region JC23鐗堝彇鏍� //鏍规嵁鎵樼洏鍙疯幏鍙栧彇鏍风被鍨� - public string GetSampleType2(string palletNo) + public async Task<string> GetSampleType2(string palletNo) { - try + var type = ""; + var detail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNo); + if (detail == null) { - var type = ""; - var detail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNo); - if (detail == null) - { - throw new Exception("褰撳墠鎵樼洏鏈湪搴撳瓨涓�"); - } - - var boxInfo = Db.Queryable<DataBoxInfo>().Count(m => m.IsDel == "0" && m.StockDetailId == detail.Id); - - //鍒ゆ柇鎵樼洏涓婃槸鍚︽湁绠辩爜淇℃伅 - if (boxInfo > 0) - { - type = "0";//鏍囩鍙栨牱 - } - else - { - type = "1";//鏁伴噺鍙栨牱 - } - return type; + throw Oops.Bah("褰撳墠鎵樼洏鏈湪搴撳瓨涓�"); } - catch (Exception e) + + var boxInfo = await Db.Queryable<DataBoxInfo>().CountAsync(m => m.IsDel == "0" && m.StockDetailId == detail.Id); + + //鍒ゆ柇鎵樼洏涓婃槸鍚︽湁绠辩爜淇℃伅 + if (boxInfo > 0) { - throw new Exception(e.Message); + type = "0";//鏍囩鍙栨牱 } + else + { + type = "1";//鏁伴噺鍙栨牱 + } + return type; } //鑾峰彇寰呭嚭搴撴垨寰呭彇鏍风殑璇烽獙鍗� - public List<string> GetInspectionNo() + public async Task<List<string>> GetInspectionNo() { - try - { - var data = Db.Queryable<BllQualityInspectionRequest>().Where(m => m.IsDel == "0" && (m.Status == "1" || m.Status == "2")).OrderByDescending(m => m.QcNo).Select(m => m.QcNo).ToList(); - return data; - } - catch (Exception e) - { - throw new Exception(e.Message); - } + return await Db.Queryable<BllQualityInspectionRequest>().Where(m => m.IsDel == "0" && (m.Status == "1" || m.Status == "2")).OrderByDescending(m => m.QcNo).Select(m => m.QcNo).ToListAsync(); } //鑾峰彇璇烽獙鍗曠浉鍏充俊鎭� - public InspectionRequestDto GetInspectionRequestInfo(string qcNo) + public async Task<InspectionRequestDto> GetInspectionRequestInfo(string qcNo) { - try - { - var data = new InspectionRequestDto(); - var inspectionRequest = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.QcNo == qcNo); - var samplingQty = Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo).Sum(m => m.CompleteQty); + var data = new InspectionRequestDto(); + var inspectionRequest = await Db.Queryable<BllQualityInspectionRequest>().FirstAsync(m => m.IsDel == "0" && m.QcNo == qcNo); + 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.LotNo = inspectionRequest.LotNo; - data.Qty = inspectionRequest.SamplingQty.ToString(); - data.SamplingQty = samplingQty == null ? "0" : samplingQty.ToString(); + data.QcNo = qcNo; + data.Sku = inspectionRequest.SkuNo + "-" + inspectionRequest.SkuName; + data.LotNo = inspectionRequest.LotNo; + data.Qty = inspectionRequest.SamplingQty.ToString(); + data.SamplingQty = samplingQty == null ? "0" : samplingQty.ToString(); - return data; - } - catch (Exception e) - { - throw new Exception(e.Message); - } + return data; } //鍙栨牱鍑哄簱鎷h揣(鏍囩) - public void SampleSetPick(string qcNo, string palletNo, string boxNo, string boxNo3, string pickQty, int userId) + public async Task SampleSetPick(string qcNo, string palletNo, string boxNo, string boxNo3, string pickQty, int userId) { try { @@ -3431,20 +3477,20 @@ if (string.IsNullOrWhiteSpace(qcNo)) { - throw new Exception("璇烽獙鍗曟嵁涓嶈兘涓虹┖"); + throw Oops.Bah("璇烽獙鍗曟嵁涓嶈兘涓虹┖"); } if (string.IsNullOrWhiteSpace(palletNo)) { - throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�"); + throw Oops.Bah("鎵樼洏鍙蜂笉鑳戒负绌�"); } - var type = GetSampleType2(palletNo); + var type = await GetSampleType2(palletNo); if (type != "0") { - throw new Exception("褰撳墠鎵樼洏璇峰湪鏁伴噺椤电鍙栨牱"); + throw Oops.Bah("褰撳墠鎵樼洏璇峰湪鏁伴噺椤电鍙栨牱"); } if (string.IsNullOrEmpty(boxNo)) { - throw new Exception("澶栫鏉$爜涓嶈兘涓虹┖"); + throw Oops.Bah("澶栫鏉$爜涓嶈兘涓虹┖"); } //if (!string.IsNullOrEmpty(boxNo3) && !string.IsNullOrEmpty(pickQty) && int.Parse(pickQty) > 0) //{ @@ -3452,44 +3498,44 @@ //} //璇烽獙鍗� - var inspecd = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.QcNo == qcNo); + var inspecd = await Db.Queryable<BllQualityInspectionRequest>().FirstAsync(m => m.IsDel == "0" && m.QcNo == qcNo); if (inspecd == null) { - throw new Exception("鏈煡璇㈠埌璇烽獙鍗曚俊鎭�"); + throw Oops.Bah("鏈煡璇㈠埌璇烽獙鍗曚俊鎭�"); } if (inspecd.Status == "0" || inspecd.Status == "3") { - throw new Exception("璇烽獙鍗曠姸鎬侀敊璇紝璇锋牳瀹�"); + throw Oops.Bah("璇烽獙鍗曠姸鎬侀敊璇紝璇锋牳瀹�"); } //搴撳瓨鏄庣粏淇℃伅 - var stockDetail = Db.Queryable<DataStockDetail>().First(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 new Exception("鏈湪搴撳瓨涓煡璇㈠嚭褰撳墠鎵樼洏淇℃伅"); + throw Oops.Bah("鏈湪搴撳瓨涓煡璇㈠嚭褰撳墠鎵樼洏淇℃伅"); } if (!string.IsNullOrWhiteSpace(stockDetail.LocatNo)) { - throw new Exception("褰撳墠鎵樼洏涓嶆槸搴撳鎵樼洏锛岃鏍稿疄"); + throw Oops.Bah("褰撳墠鎵樼洏涓嶆槸搴撳鎵樼洏锛岃鏍稿疄"); } //绠辨敮淇℃伅 - var boxInfoList = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == stockDetail.Id && m.BoxNo == boxNo).ToList(); + var boxInfoList = await Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == stockDetail.Id && m.BoxNo == boxNo).ToListAsync(); //搴撳瓨鎬昏〃 - var stock = Db.Queryable<DataStock>().First(m => m.IsDel == "0" && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo); + var stock = await Db.Queryable<DataStock>().FirstAsync(m => m.IsDel == "0" && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo); if (stock == null) { - throw new Exception("鏈煡璇㈠嚭搴撳瓨鎬讳俊鎭�"); + throw Oops.Bah("鏈煡璇㈠嚭搴撳瓨鎬讳俊鎭�"); } //鍏ュ簱鍗� - var notice = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == inspecd.ASNNo); + var notice = await Db.Queryable<BllArrivalNotice>().FirstAsync(m => m.IsDel == "0" && m.ASNNo == inspecd.ASNNo); if (notice == null) { - throw new Exception("鏈煡璇㈠埌鍏ュ簱鍗曚俊鎭�"); + throw Oops.Bah("鏈煡璇㈠埌鍏ュ簱鍗曚俊鎭�"); } #endregion //鍙栨牱鏄庣粏璁板綍琛� - var sampld = Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo).ToList(); + var sampld = await Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo).ToListAsync(); var isAddSampld = false; var PickType = ""; //0鏁伴噺鎷h揣 1 绠辨敮鎷h揣 @@ -3506,16 +3552,16 @@ { if (boxInfoList.Count(m => m.BoxNo3 == boxNo3) == 0) { - throw new Exception("鏈煡璇㈠埌鏀爜淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌鏀爜淇℃伅"); } if (boxInfoList.Count(m => m.BoxNo3 == boxNo3) > 1) { - throw new Exception("鏀爜淇℃伅鏁版嵁淇℃伅閿欒锛岃鏍稿疄"); + throw Oops.Bah("鏀爜淇℃伅鏁版嵁淇℃伅閿欒锛岃鏍稿疄"); } - EditboxInfo = Db.Queryable<DataBoxInfo>().First(m => m.IsDel == "0" && m.StockDetailId == stockDetail.Id && m.BoxNo == boxNo && m.BoxNo3 == boxNo3); + EditboxInfo = await Db.Queryable<DataBoxInfo>().FirstAsync(m => m.IsDel == "0" && m.StockDetailId == stockDetail.Id && m.BoxNo == boxNo && m.BoxNo3 == boxNo3); if (EditboxInfo.Qty < decimal.Parse(pickQty)) { - throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); + throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); } isAddSampld = sampld.Count(m => m.PalletNo == palletNo && m.BoxNo == EditboxInfo.BoxNo && m.BoxNo3 == EditboxInfo.BoxNo3) == 0; } @@ -3524,33 +3570,33 @@ if (boxInfoList.Count == 0) { - throw new Exception("鏈湪鎵樼洏涓婃煡璇㈠埌绠辩爜淇℃伅锛岃鏍稿疄"); + throw Oops.Bah("鏈湪鎵樼洏涓婃煡璇㈠埌绠辩爜淇℃伅锛岃鏍稿疄"); } if (boxInfoList.Count > 1) { - throw new Exception("绠辩爜鏁版嵁淇℃伅閿欒锛岃鏍稿疄"); + throw Oops.Bah("绠辩爜鏁版嵁淇℃伅閿欒锛岃鏍稿疄"); } if (boxInfoList.Count(m => !string.IsNullOrWhiteSpace(m.BoxNo3)) > 0) { - throw new Exception("褰撳墠绠辩爜涓惈鏈夋敮鐮侊紝璇疯緭鍏ユ敮鐮佷俊鎭彇鏍�"); + throw Oops.Bah("褰撳墠绠辩爜涓惈鏈夋敮鐮侊紝璇疯緭鍏ユ敮鐮佷俊鎭彇鏍�"); } - EditboxInfo = Db.Queryable<DataBoxInfo>().First(m => m.IsDel == "0" && m.StockDetailId == stockDetail.Id && m.BoxNo == boxNo); + EditboxInfo = await Db.Queryable<DataBoxInfo>().FirstAsync(m => m.IsDel == "0" && m.StockDetailId == stockDetail.Id && m.BoxNo == boxNo); if (EditboxInfo.Qty < decimal.Parse(pickQty)) { - throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); + throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); } isAddSampld = sampld.Count(m => m.PalletNo == palletNo && m.BoxNo == EditboxInfo.BoxNo) == 0; } if (sampld.Sum(m => m.CompleteQty) + decimal.Parse(pickQty) > inspecd.SamplingQty) { - throw new Exception("鍙栨牱鎬绘嫞璐ф暟閲忓ぇ浜庤楠屽崟鍙栨牱鏁伴噺"); + throw Oops.Bah("鍙栨牱鎬绘嫞璐ф暟閲忓ぇ浜庤楠屽崟鍙栨牱鏁伴噺"); } //鍒ゆ柇绠变腑鏄惁鍚湁鏀爜锛屾湁锛氫笉璁╂嫞鏁伴噺 if (stockDetail.Qty - stockDetail.LockQty - stockDetail.FrozenQty < decimal.Parse(pickQty)) { - throw new Exception("鎵樼洏涓婂彲鐢ㄦ暟閲忓皬浜庡彇鏍锋暟閲忥紝璇锋牳瀹為攣瀹氥�佸喕缁撴暟閲�"); + throw Oops.Bah("鎵樼洏涓婂彲鐢ㄦ暟閲忓皬浜庡彇鏍锋暟閲忥紝璇锋牳瀹為攣瀹氥�佸喕缁撴暟閲�"); } } else //绠辨敮鎷h揣 @@ -3563,16 +3609,16 @@ if (boxInfoList.Count(m => m.BoxNo3 == boxNo3) == 0) { - throw new Exception("鏈煡璇㈠埌鏀爜淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌鏀爜淇℃伅"); } if (boxInfoList.Count(m => m.BoxNo3 == boxNo3) > 1) { - throw new Exception("鏀爜鏁版嵁淇℃伅閿欒锛岃鏍稿疄"); + throw Oops.Bah("鏀爜鏁版嵁淇℃伅閿欒锛岃鏍稿疄"); } - EditboxInfoList = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == stockDetail.Id && m.BoxNo == boxNo && m.BoxNo3 == boxNo3).ToList(); + EditboxInfoList = await Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == stockDetail.Id && m.BoxNo == boxNo && m.BoxNo3 == boxNo3).ToListAsync(); if (EditboxInfoList.Sum(m => m.Qty) + sampld.Sum(m => m.CompleteQty) > inspecd.SamplingQty) { - throw new Exception("鍙栨牱鎬绘嫞璐ф暟閲忓ぇ浜庤楠屽崟鍙栨牱鏁伴噺"); + throw Oops.Bah("鍙栨牱鎬绘嫞璐ф暟閲忓ぇ浜庤楠屽崟鍙栨牱鏁伴噺"); } qty = EditboxInfoList.Sum(m => m.Qty); //isAddSampld = sampld.Count(m => m.PalletNo == palletNo && m.BoxNo == EditboxInfo.BoxNo && m.BoxNo3 == EditboxInfo.BoxNo3) == 0; @@ -3582,32 +3628,32 @@ if (boxInfoList.Count == 0) { - throw new Exception("鏈湪鎵樼洏涓婃煡璇㈠埌绠辩爜淇℃伅锛岃鏍稿疄"); + throw Oops.Bah("鏈湪鎵樼洏涓婃煡璇㈠埌绠辩爜淇℃伅锛岃鏍稿疄"); } if (boxInfoList.Count > 1) { - throw new Exception("绠辩爜鏁版嵁淇℃伅閿欒锛岃鏍稿疄"); + throw Oops.Bah("绠辩爜鏁版嵁淇℃伅閿欒锛岃鏍稿疄"); } if (boxInfoList.Count(m => !string.IsNullOrWhiteSpace(m.BoxNo3)) > 0) { - throw new Exception("褰撳墠绠辩爜涓惈鏈夋敮鐮侊紝璇疯緭鍏ユ敮鐮佷俊鎭彇鏍�"); + throw Oops.Bah("褰撳墠绠辩爜涓惈鏈夋敮鐮侊紝璇疯緭鍏ユ敮鐮佷俊鎭彇鏍�"); } - EditboxInfoList = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == stockDetail.Id && m.BoxNo == boxNo).ToList(); + EditboxInfoList = await Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == stockDetail.Id && m.BoxNo == boxNo).ToListAsync(); if (EditboxInfo.Qty < decimal.Parse(pickQty)) { - throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); + throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); } qty = EditboxInfoList.Sum(m => m.Qty); //isAddSampld = sampld.Count(m => m.PalletNo == palletNo && m.BoxNo == EditboxInfo.BoxNo) == 0; } if (sampld.Sum(m => m.CompleteQty) + qty > inspecd.SamplingQty) { - throw new Exception("鍙栨牱鎬绘嫞璐ф暟閲忓ぇ浜庤楠屽崟鍙栨牱鏁伴噺"); + throw Oops.Bah("鍙栨牱鎬绘嫞璐ф暟閲忓ぇ浜庤楠屽崟鍙栨牱鏁伴噺"); } if (stockDetail.Qty - stockDetail.LockQty - stockDetail.FrozenQty < qty) { - throw new Exception("鎵樼洏涓婂彲鐢ㄦ暟閲忓皬浜庡彇鏍锋暟閲忥紝璇锋牳瀹為攣瀹氥�佸喕缁撴暟閲�"); + throw Oops.Bah("鎵樼洏涓婂彲鐢ㄦ暟閲忓皬浜庡彇鏍锋暟閲忥紝璇锋牳瀹為攣瀹氥�佸喕缁撴暟閲�"); } } #endregion @@ -3772,7 +3818,7 @@ CreateTime = DateTime.Now, CreateUser = userId }; - Db.Insertable(sampleDetail).ExecuteCommand(); + await Db.Insertable(sampleDetail).ExecuteCommandAsync(); //} //else //{ @@ -3791,7 +3837,7 @@ #region 淇敼搴撳瓨涓夎〃 //鎷嗗寘鏈夋晥鏈熸洿鏀� - var unpackWarranty = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == inspecd.SkuNo).UnpackWarranty; + var unpackWarranty = (await Db.Queryable<SysMaterials>().FirstAsync(m => m.IsDel == "0" && m.SkuNo == inspecd.SkuNo)).UnpackWarranty; foreach (var item in boxInfoList) { @@ -3809,31 +3855,31 @@ } } } - Db.Updateable(boxInfoList).ExecuteCommand(); + await Db.Updateable(boxInfoList).ExecuteCommandAsync(); //搴撳瓨绠辩爜 - Db.Deleteable(boxInfo).ExecuteCommand(); + await Db.Deleteable(boxInfo).ExecuteCommandAsync(); //搴撳瓨鏄庣粏 stockDetail.Qty -= boxInfo.Qty; if (stockDetail.Qty == 0) { - Db.Deleteable(stockDetail).ExecuteCommand(); + await Db.Deleteable(stockDetail).ExecuteCommandAsync(); } else { - Db.Updateable(stockDetail).ExecuteCommand(); + await Db.Updateable(stockDetail).ExecuteCommandAsync(); } //搴撳瓨鎬昏〃 stock.Qty -= boxInfo.Qty; if (stock.Qty == 0) { - Db.Deleteable(stock).ExecuteCommand(); + await Db.Deleteable(stock).ExecuteCommandAsync(); } else { - Db.Updateable(stock).ExecuteCommand(); + await Db.Updateable(stock).ExecuteCommandAsync(); } #endregion @@ -3843,12 +3889,12 @@ //涓嶆槸涓婁紶瀹屾瘯鐨勪慨鏀瑰彇鏍风姸鎬� if (notice.Status != "4") { - var noticeDetail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.ASNNo == inspecd.ASNNo && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo); + var noticeDetail = await Db.Queryable<BllArrivalNoticeDetail>().FirstAsync(m => m.IsDel == "0" && m.ASNNo == inspecd.ASNNo && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo); if (noticeDetail.IsSampling == "0") { noticeDetail.IsSampling = "1"; - Db.Updateable(noticeDetail).ExecuteCommand(); + await Db.Updateable(noticeDetail).ExecuteCommandAsync(); } } @@ -3866,7 +3912,7 @@ inspecd.Status = "3"; } - Db.Updateable(inspecd).ExecuteCommand(); + await Db.Updateable(inspecd).ExecuteCommandAsync(); #endregion } @@ -3880,13 +3926,13 @@ catch (Exception e) { Db.RollbackTran(); - throw new Exception(e.Message); + throw e; } } //鍙栨牱鍑哄簱鎷h揣(鏁伴噺) - public void SampleSetQtyPick(string qcNo, string palletNo, string pickQty, int userId) + public async Task SampleSetQtyPick(string qcNo, string palletNo, string pickQty, int userId) { try { @@ -3894,63 +3940,69 @@ if (string.IsNullOrWhiteSpace(qcNo)) { - throw new Exception("璇烽獙鍗曟嵁涓嶈兘涓虹┖"); + throw Oops.Bah("璇烽獙鍗曟嵁涓嶈兘涓虹┖"); } if (string.IsNullOrWhiteSpace(palletNo)) { - throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�"); + throw Oops.Bah("鎵樼洏鍙蜂笉鑳戒负绌�"); } - var type = GetSampleType2(palletNo); + var type = await GetSampleType2(palletNo); if (type != "1") { - throw new Exception("褰撳墠鎵樼洏璇峰湪鏍囩椤电鍙栨牱"); + throw Oops.Bah("褰撳墠鎵樼洏璇峰湪鏍囩椤电鍙栨牱"); } if (string.IsNullOrWhiteSpace(pickQty)) { - throw new Exception("鎷h揣鏁伴噺涓嶈兘涓虹┖"); + throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘涓虹┖"); } if (decimal.Parse(pickQty) <= 0) { - throw new Exception("鎷h揣鏁伴噺涓嶈兘灏忎簬绛変簬0"); + throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘灏忎簬绛変簬0"); } //璇烽獙鍗� - var inspecd = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.QcNo == qcNo); + var inspecd = await Db.Queryable<BllQualityInspectionRequest>().FirstAsync(m => m.IsDel == "0" && m.QcNo == qcNo); if (inspecd == null) { - throw new Exception("鏈煡璇㈠埌璇烽獙鍗曚俊鎭�"); + throw Oops.Bah("鏈煡璇㈠埌璇烽獙鍗曚俊鎭�"); } if (inspecd.Status == "0" || inspecd.Status == "3") { - throw new Exception("璇烽獙鍗曠姸鎬侀敊璇紝璇锋牳瀹�"); + throw Oops.Bah("璇烽獙鍗曠姸鎬侀敊璇紝璇锋牳瀹�"); } //搴撳瓨鏄庣粏淇℃伅 - var stockDetail = Db.Queryable<DataStockDetail>().First(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 new Exception("鏈湪搴撳瓨涓煡璇㈠嚭褰撳墠鎵樼洏淇℃伅"); + throw Oops.Bah("鏈湪搴撳瓨涓煡璇㈠嚭褰撳墠鎵樼洏淇℃伅"); } + // 鍒ゆ柇鎵樼洏鏄惁鍦ㄥ簱鍐� if (!string.IsNullOrWhiteSpace(stockDetail.LocatNo)) { - throw new Exception("褰撳墠鎵樼洏涓嶆槸搴撳鎵樼洏锛岃鏍稿疄"); + var wareHouseData = await Db.Queryable<SysWareHouse>().FirstAsync(m => m.IsDel == "0" && m.WareHouseNo == stockDetail.WareHouseNo); + if (wareHouseData.Type != "2") + { + throw Oops.Bah("褰撳墠鎵樼洏涓嶆槸搴撳鎵樼洏锛岃鏍稿疄"); + } } //搴撳瓨鎬昏〃 - var stock = Db.Queryable<DataStock>().First(m => m.IsDel == "0" && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo); + var stock = await Db.Queryable<DataStock>().FirstAsync(m => m.IsDel == "0" && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo); if (stock == null) { - throw new Exception("鏈煡璇㈠嚭搴撳瓨鎬讳俊鎭�"); + throw Oops.Bah("鏈煡璇㈠嚭搴撳瓨鎬讳俊鎭�"); } //鍏ュ簱鍗� - var notice = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == inspecd.ASNNo); + var notice = await Db.Queryable<BllArrivalNotice>().FirstAsync(m => m.IsDel == "0" && m.ASNNo == inspecd.ASNNo); if (notice == null) { - throw new Exception("鏈煡璇㈠埌鍏ュ簱鍗曚俊鎭�"); + throw Oops.Bah("鏈煡璇㈠埌鍏ュ簱鍗曚俊鎭�"); } #endregion //鍙栨牱鏄庣粏璁板綍琛� - var sampld = Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo).ToList(); + var sampld = await Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo).ToListAsync(); var qty = decimal.Parse(pickQty); //var isAddSampld = sampld.Count(m => m.PalletNo == palletNo) == 0; @@ -3959,12 +4011,12 @@ if (sampld.Sum(m => m.CompleteQty) + qty > inspecd.SamplingQty) { - throw new Exception("鍙栨牱鎬绘嫞璐ф暟閲忓ぇ浜庤楠屽崟鍙栨牱鏁伴噺"); + throw Oops.Bah("鍙栨牱鎬绘嫞璐ф暟閲忓ぇ浜庤楠屽崟鍙栨牱鏁伴噺"); } //鍒ゆ柇绠变腑鏄惁鍚湁鏀爜锛屾湁锛氫笉璁╂嫞鏁伴噺 if (stockDetail.Qty - stockDetail.LockQty - stockDetail.FrozenQty < qty) { - throw new Exception("鎵樼洏涓婂彲鐢ㄦ暟閲忓皬浜庡彇鏍锋暟閲忥紝璇锋牳瀹為攣瀹氥�佸喕缁撴暟閲�"); + throw Oops.Bah("鎵樼洏涓婂彲鐢ㄦ暟閲忓皬浜庡彇鏍锋暟閲忥紝璇锋牳瀹為攣瀹氥�佸喕缁撴暟閲�"); } @@ -3990,7 +4042,7 @@ CreateTime = DateTime.Now, CreateUser = userId }; - Db.Insertable(sampleDetail).ExecuteCommand(); + await Db.Insertable(sampleDetail).ExecuteCommandAsync(); //} //else //{ @@ -4009,24 +4061,24 @@ stockDetail.Qty -= qty; if (stockDetail.Qty == 0) { - Db.Deleteable(stockDetail).ExecuteCommand(); + await Db.Deleteable(stockDetail).ExecuteCommandAsync(); } else { stockDetail.BitPalletMark = "1"; stockDetail.InspectMark = "1"; - Db.Updateable(stockDetail).ExecuteCommand(); + await Db.Updateable(stockDetail).ExecuteCommandAsync(); } //搴撳瓨鎬昏〃 stock.Qty -= qty; if (stock.Qty == 0) { - Db.Deleteable(stock).ExecuteCommand(); + await Db.Deleteable(stock).ExecuteCommandAsync(); } else { - Db.Updateable(stock).ExecuteCommand(); + await Db.Updateable(stock).ExecuteCommandAsync(); } #endregion @@ -4036,12 +4088,12 @@ //涓嶆槸涓婁紶瀹屾瘯鐨勪慨鏀瑰彇鏍风姸鎬� if (notice.Status != "4") { - var noticeDetail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.ASNNo == inspecd.ASNNo && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo); + var noticeDetail = await Db.Queryable<BllArrivalNoticeDetail>().FirstAsync(m => m.IsDel == "0" && m.ASNNo == inspecd.ASNNo && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo); if (noticeDetail.IsSampling == "0") { noticeDetail.IsSampling = "1"; - Db.Updateable(noticeDetail).ExecuteCommand(); + await Db.Updateable(noticeDetail).ExecuteCommandAsync(); } } @@ -4056,10 +4108,8 @@ { inspecd.Status = "3"; } - Db.Updateable(inspecd).ExecuteCommand(); + await Db.Updateable(inspecd).ExecuteCommandAsync(); #endregion - - //娣诲姞鎿嶄綔鏃ュ織璁板綍 var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鍙栨牱鎷h揣", qcNo, "鎷h揣", $"鍦≒DA涓婂璇烽獙鍗曞彿涓猴細{qcNo}鐨勬墭鐩樼爜涓猴細{palletNo}鐨勬嫞璐ф搷浣�", userId); @@ -4068,7 +4118,7 @@ catch (Exception e) { Db.RollbackTran(); - throw new Exception(e.Message); + throw e; } } -- Gitblit v1.8.0