From 1310b47a24f0cc70f0128c820bd490dca6a1a921 Mon Sep 17 00:00:00 2001 From: yyk <2336760928@qq.com> Date: 星期四, 22 八月 2024 14:08:03 +0800 Subject: [PATCH] Merge branch 'master' into yyk --- Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 2014 ++++++++++++++++++++++++++++------------------------------- 1 files changed, 956 insertions(+), 1,058 deletions(-) diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs index 6526b6b..3a75010 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs @@ -20,6 +20,8 @@ using WMS.Entity.LogEntity; using WMS.Entity.BllQualityEntity; using WMS.Entity.BllAsnEntity; +using System.Threading.Tasks; +using Utility; namespace WMS.BLL.BllPdaServer { @@ -28,348 +30,296 @@ private static readonly SqlSugarScope Db = DataContext.Db; //楠岃瘉鎵樼洏鏄惁瀛樺湪骞舵槸鍚﹀彲鍑哄簱 - public string IsEnableOkPalletNo(string palletNo) + public async Task<string> IsEnableOkPalletNo(string palletNo) { - try - { - string sqlMsg = ""; - var models = Db.Queryable<SysPallets>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).ToList(); + string sqlMsg = ""; + var models = await Db.Queryable<SysPallets>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).ToListAsync(); - if (models.Count > 1) - { - sqlMsg = "-1:瀛樺湪閲嶅鎵樼洏鍙�,璇锋鏌�!"; - return sqlMsg; - } - if (models.Count > 0) - { - if (models[0].Status == "0") - { - sqlMsg = "-1:鎵樼洏鍙风姸鎬佷负鏈娇鐢�!"; - } - } - else - { - sqlMsg = "-1:鎵樼洏鍙蜂笉瀛樺湪!"; - } - - return sqlMsg; - } - catch (Exception ex) + if (models.Count > 1) { - throw new Exception(ex.Message); + throw Oops.Bah("-1:瀛樺湪閲嶅鎵樼洏鍙�,璇锋鏌�!"); } + if (models.Count > 0) + { + if (models[0].Status == "0") + { + throw Oops.Bah("-1:鎵樼洏鍙风姸鎬佷负鏈娇鐢�!"); + } + } + else + { + throw Oops.Bah("-1:鎵樼洏鍙蜂笉瀛樺湪!"); + } + + return sqlMsg; } //鑾峰彇鎵樼洏涓惈鏈夌殑鎵ц涓殑鍗曟嵁 - public List<string> GetRunSoNoticeList(string palletNo, string type) + public async Task<List<string>> GetRunSoNoticeList(string palletNo, string type) { - try + if (string.IsNullOrWhiteSpace(palletNo))//鍒ゆ柇鎵樼洏鏄惁涓虹┖ { - if (string.IsNullOrWhiteSpace(palletNo))//鍒ゆ柇鎵樼洏鏄惁涓虹┖ - { - throw new Exception("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜"); - } - var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo); - if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1") - { - 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(); - return allotList; - } - //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗� - var allotList2 = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList(); - - //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; + throw Oops.Bah("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜"); } - catch (Exception ex) + var palletInfo = await Db.Queryable<DataStockDetail>().FirstAsync(w => w.IsDel == "0" && w.PalletNo == palletNo); + if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1") { - throw new Exception(ex.Message); + throw Oops.Bah("璇ユ墭鐩樿繕鏈嚭搴�"); } + if (type == "1")//骞冲簱鍑哄簱鑾峰彇鍗曟嵁 + { + var allotList = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo).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") && m.PalletNo == palletNo).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 List<DetailIdSkuLotNo> GetSoSkuLotNoListByPallet(string palletNo, string soNo) + public async Task<List<DetailIdSkuLotNo>> GetSoSkuLotNoListByPallet(string palletNo, string soNo) { - try + if (string.IsNullOrWhiteSpace(palletNo))//鍒ゆ柇鎵樼洏鏄惁涓虹┖ { - if (string.IsNullOrWhiteSpace(palletNo))//鍒ゆ柇鎵樼洏鏄惁涓虹┖ - { - throw new Exception("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜"); - } - //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗� - var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.PalletNo == palletNo); - //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SONo == soNo && m.Status != "4" && m.Status != "5"); - if (!string.IsNullOrWhiteSpace(soNo)) - { - allotList = allotList.Where(m => m.SONo == soNo); - } - - var list = allotList.GroupBy(m => new { m.SODetailNo, m.PalletNo, m.SkuNo, m.SkuName, m.LotNo }).Select(m => new DetailIdSkuLotNo() - { - SoDetailId = m.SODetailNo, - PalletNo = m.PalletNo, - SkuNo = m.SkuNo, - SkuName = m.SkuName, - LotNo = m.LotNo, - }).ToList(); - - return list; + throw Oops.Bah("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜"); } - catch (Exception ex) + //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗� + var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.PalletNo == palletNo); + //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SONo == soNo && m.Status != "4" && m.Status != "5"); + if (!string.IsNullOrWhiteSpace(soNo)) { - throw new Exception(ex.Message); + allotList = allotList.Where(m => m.SONo == soNo); } + + var list = await allotList.GroupBy(m => new { m.SODetailNo, m.PalletNo, m.SkuNo, m.SkuName, m.LotNo }).Select(m => new DetailIdSkuLotNo() + { + SoDetailId = m.SODetailNo, + PalletNo = m.PalletNo, + SkuNo = m.SkuNo, + SkuName = m.SkuName, + LotNo = m.LotNo, + }).ToListAsync(); + + return list; } //鑾峰彇鍑哄簱鍙c�佽鏍笺�佸緟鎷e強宸叉嫞鏁伴噺锛堟牴鎹嚭搴撳崟鏄庣粏ID銆佹墭鐩樺彿锛� - public OutPdaInfo GetOutlets(string soDetailId, string palletNo) + public async Task<OutPdaInfo> GetOutlets(string soDetailId, string palletNo) { - try + var allotInfo = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo && (m.Status == "2" || m.Status == "3")).ToListAsync(); + if (allotInfo.Count == 0) { - - var allotInfo = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo && (m.Status == "2" || m.Status == "3")).ToList(); - if (allotInfo.Count == 0) - { - throw new Exception($"{palletNo}鎵樼洏涓婃湭鏌ヨ鍒板垎閰嶄俊鎭紝璇锋牳瀹�"); - } - if (allotInfo.Count > 1) - { - throw new Exception($"{palletNo}鎵樼洏涓婂瓨鍦ㄥ鏉$浉鍚岀殑鍒嗛厤淇℃伅锛岃鏍稿疄"); - } - var data = allotInfo.First(); - var data2 = new OutPdaInfo() - { - OutModel = data.OutMode, - Standard = data.Standard, - PickQty = data.Qty, - PickedQty = data.CompleteQty - }; - return data2; + throw Oops.Bah($"{palletNo}鎵樼洏涓婃湭鏌ヨ鍒板垎閰嶄俊鎭紝璇锋牳瀹�"); } - catch (Exception e) + if (allotInfo.Count > 1) { - throw new Exception(e.Message); + throw Oops.Bah($"{palletNo}鎵樼洏涓婂瓨鍦ㄥ鏉$浉鍚岀殑鍒嗛厤淇℃伅锛岃鏍稿疄"); } + var data = allotInfo.First(); + var data2 = new OutPdaInfo() + { + OutModel = data.OutMode, + Standard = data.Standard, + PickQty = data.Qty, + PickedQty = data.CompleteQty + }; + return data2; } //鑾峰彇鍑哄簱鍗曠殑璁″垝鏁伴噺鍜屽畬鎴� - public OutPdaInfo GetPlanAndFinishQty(string soDetailId) + public async Task<OutPdaInfo> GetPlanAndFinishQty(string soDetailId) { - try + var detail = await Db.Queryable<BllExportNoticeDetail>().FirstAsync(m => m.Id == int.Parse(soDetailId) && m.IsDel == "0"); + if (detail == null) { - var detail = Db.Queryable<BllExportNoticeDetail>().First(m => m.Id == int.Parse(soDetailId) && m.IsDel == "0"); - if (detail == null) - { - throw new Exception("鏈煡璇㈠埌鍑哄簱鍗曠殑鏄庣粏"); - } - var data = new OutPdaInfo() - { - PlanQty = detail.Qty, - FinishQty = detail.CompleteQty - }; - return data; + throw Oops.Bah("鏈煡璇㈠埌鍑哄簱鍗曠殑鏄庣粏"); } - catch (Exception e) + var data = new OutPdaInfo() { - throw new Exception(e.Message); - } + PlanQty = detail.Qty, + FinishQty = detail.CompleteQty + }; + return data; } //鑾峰彇绠辩爜淇℃伅锛堟牴鎹鐮佸湪搴撳瓨绠辩爜鏄庣粏涓煡璇㈠強鎷h揣鏄庣粏涓嫞璐ф暟閲忥級 - public List<Model.ModelDto.BoxInfo> GetDataComBoxInfo(string soDetailId, string palletNo, string boxNo, string boxNo3) + public async Task<List<BoxInfo>> GetDataComBoxInfo(string soDetailId, string palletNo, string boxNo, string boxNo3) { - try + if (string.IsNullOrWhiteSpace(palletNo)) { - if (string.IsNullOrWhiteSpace(palletNo)) + throw Oops.Bah("鎵樼洏鍙蜂笉鑳戒负绌�"); + } + Expression<Func<DataBoxInfo, bool>> item = Expressionable.Create<DataBoxInfo>() + .And(it => it.PalletNo == palletNo) + .AndIF(!string.IsNullOrWhiteSpace(boxNo), it => it.BoxNo == boxNo) + .AndIF(!string.IsNullOrWhiteSpace(boxNo3), it => it.BoxNo3 == boxNo3) + .And(m => m.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + var info = Db.Queryable<DataBoxInfo>().Where(item); + if (info.Count() == 0) + { + throw Oops.Bah("鏈湪搴撳瓨涓煡璇㈠埌淇℃伅"); + } + + var type = "0";//0锛氭煡绠辩爜鎴栨敮鐮佷笉鍒嗙粍 1锛氭煡鎵樼洏鍒嗙粍 鏄剧ず绠� + var list = new List<BoxInfo>(); + if (!string.IsNullOrWhiteSpace(boxNo3) || !string.IsNullOrWhiteSpace(boxNo))//鍒ゆ柇鏀爜鏄惁涓虹┖ + { + foreach (var demo in await info.ToListAsync()) { - throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�"); - } - Expression<Func<DataBoxInfo, bool>> item = Expressionable.Create<DataBoxInfo>() - .And(it => it.PalletNo == palletNo) - .AndIF(!string.IsNullOrWhiteSpace(boxNo), it => it.BoxNo == boxNo) - .AndIF(!string.IsNullOrWhiteSpace(boxNo3), it => it.BoxNo3 == boxNo3) - .And(m => m.IsDel == "0") - .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� - var info = Db.Queryable<DataBoxInfo>().Where(item); - if (info.Count() == 0) - { - throw new Exception("鏈湪搴撳瓨涓煡璇㈠埌淇℃伅"); + var t = new BoxInfo() + { + BoxNo = demo.BoxNo3, + Qty = demo.Qty, + //SkuNo = demo.SkuNo, + //SkuName = demo.SkuName, + //LotNo = demo.LotNo, + }; + list.Add(t); } - var type = "0";//0锛氭煡绠辩爜鎴栨敮鐮佷笉鍒嗙粍 1锛氭煡鎵樼洏鍒嗙粍 鏄剧ず绠� - var list = new List<BoxInfo>(); - if (!string.IsNullOrWhiteSpace(boxNo3) || !string.IsNullOrWhiteSpace(boxNo))//鍒ゆ柇鏀爜鏄惁涓虹┖ + } + else if (!string.IsNullOrWhiteSpace(palletNo)) + { + list = await info.GroupBy(m => new { m.BoxNo }).Select(it => new BoxInfo { - foreach (var demo in info.ToList()) + BoxNo = it.BoxNo, + Qty = SqlFunc.AggregateSum(it.Qty) + }).ToListAsync(); + type = "1"; + } + if (!string.IsNullOrWhiteSpace(soDetailId)) + { + var allotInfos = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo && (m.Status == "2" || m.Status == "3")).ToListAsync(); + if (allotInfos.Count == 0) + { + throw Oops.Bah($"{palletNo}鎵樼洏涓婃湭鏌ヨ鍒板垎閰嶄俊鎭紝璇锋牳瀹�"); + } + if (allotInfos.Count > 1) + { + throw Oops.Bah($"{palletNo}鎵樼洏涓婂瓨鍦ㄥ鏉$浉鍚岀殑鍒嗛厤淇℃伅锛岃鏍稿疄"); + } + var allotInfo = allotInfos.First(); + var comInfo = await Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allotInfo.Id).ToListAsync(); + if (comInfo.Count != 0) + { + if (type == "0") { - var t = new BoxInfo() + foreach (var demo in list) { - BoxNo = demo.BoxNo3, - Qty = demo.Qty, - //SkuNo = demo.SkuNo, - //SkuName = demo.SkuName, - //LotNo = demo.LotNo, - }; - list.Add(t); - } + //if (!string.IsNullOrWhiteSpace(boxNo3)) + //{ + // var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 == demo.BoxNo); + //} + //else if (!string.IsNullOrWhiteSpace(boxNo)) + //{ + // if (expr) + // { - } - else if (!string.IsNullOrWhiteSpace(palletNo)) - { - list = info.GroupBy(m => new { m.BoxNo }).Select(it => new BoxInfo - { - BoxNo = it.BoxNo, - Qty = SqlFunc.AggregateSum(it.Qty) - }).ToList(); - type = "1"; - } - if (!string.IsNullOrWhiteSpace(soDetailId)) - { - var allotInfos = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo && (m.Status == "2" || m.Status == "3")).ToList(); - if (allotInfos.Count == 0) - { - throw new Exception($"{palletNo}鎵樼洏涓婃湭鏌ヨ鍒板垎閰嶄俊鎭紝璇锋牳瀹�"); - } - if (allotInfos.Count > 1) - { - throw new Exception($"{palletNo}鎵樼洏涓婂瓨鍦ㄥ鏉$浉鍚岀殑鍒嗛厤淇℃伅锛岃鏍稿疄"); - } - var allotInfo = allotInfos.First(); - var comInfo = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allotInfo.Id).ToList(); - if (comInfo.Count != 0) - { - if (type == "0") - { - foreach (var demo in list) + // } + + //} + var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 != null && m.BoxNo3 == demo.BoxNo); + if (com != null) { - //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; - } - } - } - if (type == "1") - { - var com = comInfo.Where(m => m.IsDel == "0").GroupBy(m => m.BoxNo).Select(it => new BoxInfo - { - BoxNo = it.Key, - PickedQty = it.Sum(a => a.CompleteQty) - }).ToList(); - foreach (var demo in list) - { - - var com2 = com.FirstOrDefault(m => m.BoxNo == demo.BoxNo); - if (com2 != null) - { - demo.PickedQty = com2.PickedQty; - } + demo.PickedQty = com.CompleteQty; } } } + if (type == "1") + { + var com = comInfo.Where(m => m.IsDel == "0").GroupBy(m => m.BoxNo).Select(it => new BoxInfo + { + BoxNo = it.Key, + PickedQty = it.Sum(a => a.CompleteQty) + }).ToList(); + foreach (var demo in list) + { + var com2 = com.FirstOrDefault(m => m.BoxNo == demo.BoxNo); + if (com2 != null) + { + demo.PickedQty = com2.PickedQty; + } + } + } } - return list; } - catch (Exception e) - { - throw new Exception(e.Message); - } + + return list; } //鑾峰彇搴撳唴鏃犵鐮佺殑鎵樼洏鍒嗛厤淇℃伅 - public List<Model.ModelDto.BoxInfo> GetAllotPlnInfo(string soDetailId, string palletNo) + public async Task<List<BoxInfo>> GetAllotPlnInfo(string soDetailId, string palletNo) { - try + #region 鍒ゆ柇 + + //鏍规嵁id鍙婃墭鐩樿幏鍙栧嚭搴撳崟鍜屾墭鐩樻嫞璐т俊鎭� + if (string.IsNullOrWhiteSpace(palletNo)) { - #region 鍒ゆ柇 - - //鏍规嵁id鍙婃墭鐩樿幏鍙栧嚭搴撳崟鍜屾墭鐩樻嫞璐т俊鎭� - if (string.IsNullOrWhiteSpace(palletNo)) - { - throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�"); - } - //鑾峰彇瀵瑰簲鎵樼洏涓嬫槸鍚﹀瓨鍦ㄧ鐮佷俊鎭� - var boxInfo = Db.Queryable<DataBoxInfo>().First(b => b.IsDel == "0" && b.PalletNo == palletNo); - if (boxInfo != null) - { - throw new Exception($"{palletNo}鎵樼洏涓婂瓨鍦ㄧ鐮佷俊鎭紝鏃犳硶鍦ㄦ暟閲忔嫞璐ц繘琛屾搷浣滐紒"); - } - - BllExportAllot allot = null; - if (!string.IsNullOrWhiteSpace(soDetailId)) - { - //鍑哄簱鍗曟槑缁� - 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 detail = Db.Queryable<DataStockDetail>().First(a => a.IsDel == "0" && a.PalletNo == palletNo); - if (detail == null) - { - throw new Exception($"鏈煡璇㈠埌搴撳瓨鏄庣粏淇℃伅锛岃鏍稿疄锛�"); - } - - #endregion - - List<BoxInfo> pdaInfo = new List<BoxInfo>(); - - BoxInfo info = new BoxInfo() - { - SkuNo = detail.SkuNo, - BoxNo = detail.SkuNo, - Qty = allot == null ? (int)(detail.Qty - detail.LockQty) : (int)allot.Qty, - PickedQty = allot == null ? 0 : (int)allot.CompleteQty, - }; - - pdaInfo.Add(info); - return pdaInfo; - + throw Oops.Bah("鎵樼洏鍙蜂笉鑳戒负绌�"); } - catch (Exception e) + //鑾峰彇瀵瑰簲鎵樼洏涓嬫槸鍚﹀瓨鍦ㄧ鐮佷俊鎭� + var boxInfo = await Db.Queryable<DataBoxInfo>().FirstAsync(b => b.IsDel == "0" && b.PalletNo == palletNo); + if (boxInfo != null) { - throw new Exception(e.Message); + throw Oops.Bah($"{palletNo}鎵樼洏涓婂瓨鍦ㄧ鐮佷俊鎭紝鏃犳硶鍦ㄦ暟閲忔嫞璐ц繘琛屾搷浣滐紒"); } + + BllExportAllot allot = null; + if (!string.IsNullOrWhiteSpace(soDetailId)) + { + //鍑哄簱鍗曟槑缁� + var noticeDetail = await Db.Queryable<BllExportNoticeDetail>().FirstAsync(a => a.Id == int.Parse(soDetailId) && a.IsDel == "0"); + if (noticeDetail == null) + { + throw Oops.Bah($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟槑缁嗕俊鎭紝璇锋牳瀹烇紒"); + } + //鍑哄簱鍗曟�诲崟 + var notice = await Db.Queryable<BllExportNotice>().FirstAsync(a => a.IsDel == "0" && a.SONo == noticeDetail.SONo); + if (notice == null) + { + throw Oops.Bah($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟�诲崟淇℃伅锛岃鏍稿疄锛�"); + } + //鍒嗛厤淇℃伅 + allot = await Db.Queryable<BllExportAllot>().FirstAsync(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 Oops.Bah($"鏈煡璇㈠埌瀵瑰簲鍒嗛厤淇℃伅锛岃鏍稿疄锛�"); + } + } + + //搴撳瓨鏄庣粏 + var detail = await Db.Queryable<DataStockDetail>().FirstAsync(a => a.IsDel == "0" && a.PalletNo == palletNo); + if (detail == null) + { + throw Oops.Bah($"鏈煡璇㈠埌搴撳瓨鏄庣粏淇℃伅锛岃鏍稿疄锛�"); + } + + #endregion + + List<BoxInfo> pdaInfo = new List<BoxInfo>(); + + BoxInfo info = new BoxInfo() + { + SkuNo = detail.SkuNo, + BoxNo = detail.SkuNo, + Qty = allot == null ? (int)(detail.Qty - detail.LockQty) : (int)allot.Qty, + PickedQty = allot == null ? 0 : (int)allot.CompleteQty, + }; + + pdaInfo.Add(info); + return pdaInfo; } //鍑哄簱pda鎷h揣 - public void SoSetPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, int userId) + public async Task SoSetPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, int userId) { Db.BeginTran(); try @@ -378,60 +328,60 @@ 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("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�"); } //鍑哄簱鍗� - 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 @@ -439,28 +389,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揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺"); } decimal pickQty = 0;//鎷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) && item.BoxNo3 != null) { - 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() @@ -487,76 +437,76 @@ comList.Add(completeDetail); //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 - Db.Deleteable(item).ExecuteCommand(); + await Db.Deleteable(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(); //鍒犻櫎搴撳瓨鏄庣粏 - Db.Deleteable(stockDetail).ExecuteCommand(); + await Db.Deleteable(stockDetail).ExecuteCommandAsync(); //鍒犻櫎鎴栦慨鏀瑰簱瀛� stock.Qty -= pickQty; stock.LockQty -= 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"); 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 (notice.IsWave == "1") { - var waveNum = Db.Queryable<BllExportNotice>().Count(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo && m.Status != "4"); + var waveNum = await Db.Queryable<BllExportNotice>().CountAsync(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo && m.Status != "4"); if (waveNum == 0) { - var wave = Db.Queryable<BllWaveMage>().First(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo); + var wave = await Db.Queryable<BllWaveMage>().FirstAsync(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo); if (wave != null) { wave.Status = "4"; wave.UpdateUser = userId; wave.UpdateTime = DateTime.Now; - Db.Updateable(wave).ExecuteCommand(); + await Db.Updateable(wave).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(); if (!string.IsNullOrWhiteSpace(boxNo3)) //鏁f敮鎷h揣 @@ -565,28 +515,28 @@ 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揣"); } } @@ -596,16 +546,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"; @@ -614,23 +564,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揣"); } } } @@ -666,20 +616,20 @@ if (biaoShi != "2") { //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 - Db.Deleteable(item).ExecuteCommand(); + await Db.Deleteable(item).ExecuteCommandAsync(); } else//鏁伴噺鎷h揣 { if (decimal.Parse(pickQty1) == item.Qty) { //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 - Db.Deleteable(item).ExecuteCommand(); + await Db.Deleteable(item).ExecuteCommandAsync(); } else { item.Qty -= decimal.Parse(pickQty1); item.BitBoxMark = "1";//闆剁鏍囪瘑 - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); } } pickQty += item.Qty; @@ -691,11 +641,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"; @@ -704,7 +654,7 @@ { //鍒ゆ柇璇ユ墭鐩樻槸鍚﹁繕瀛樺湪鐗╂枡 瀛樺湪鏀逛负寰呭洖搴� 寰呭洖搴撳畬鎴愬悗鏀逛负宸插畬鎴� } - Db.Updateable(allot).ExecuteCommand(); + await Db.Updateable(allot).ExecuteCommandAsync(); //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁� stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇� @@ -725,58 +675,58 @@ 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 -= pickQty; stock.LockQty -= 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 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 (notice.IsWave == "1") { - var waveNum = Db.Queryable<BllExportNotice>() - .Count(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo && m.Status !="4"); + var waveNum = await Db.Queryable<BllExportNotice>() + .CountAsync(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo && m.Status != "4"); if (waveNum == 0) { - var wave = Db.Queryable<BllWaveMage>().First(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo); - if (wave!= null) + var wave = await Db.Queryable<BllWaveMage>().FirstAsync(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo); + if (wave != null) { wave.Status = "4"; wave.UpdateUser = userId; wave.UpdateTime = DateTime.Now; - Db.Updateable(wave).ExecuteCommand(); + await Db.Updateable(wave).ExecuteCommandAsync(); } } } @@ -786,6 +736,10 @@ var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鍑哄簱", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勬墭鐩樼爜涓猴細{palletNo}鐨勬嫞璐ф搷浣�", userId); Db.CommitTran(); } + catch (AppFriendlyException e) + { + Db.RollbackTran(); + } catch (Exception e) { Db.RollbackTran(); @@ -794,7 +748,7 @@ } //鍑哄簱pda鎷h揣 - public void SoSetQtyPick(string soNo, string soDetailId, string palletNo, string PickQty, int userId) + public async Task SoSetQtyPick(string soNo, string soDetailId, string palletNo, string PickQty, int userId) { Db.BeginTran(); try @@ -803,7 +757,7 @@ if (string.IsNullOrWhiteSpace(soNo)) { - throw new Exception("鍑哄簱鍗曟嵁涓嶈兘涓虹┖"); + throw Oops.Bah("鍑哄簱鍗曟嵁涓嶈兘涓虹┖"); } //if (string.IsNullOrWhiteSpace(soDetailId)) //{ @@ -811,56 +765,56 @@ //} if (string.IsNullOrWhiteSpace(palletNo)) { - 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("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�"); } #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; @@ -900,7 +854,7 @@ comList.Add(completeDetail); //娣诲姞鎷h揣鏄庣粏 - Db.Insertable(comList).ExecuteCommand(); + await Db.Insertable(comList).ExecuteCommandAsync(); } else if (isComplete == 1) { @@ -908,14 +862,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; @@ -937,67 +891,67 @@ } 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); stock.LockQty -= 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(); } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� 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(); if (notice.IsWave == "1") { - var waveNum = Db.Queryable<BllExportNotice>().Count(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo && m.Status != "4"); + var waveNum = await Db.Queryable<BllExportNotice>().CountAsync(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo && m.Status != "4"); if (waveNum <= 0) { - var wave = Db.Queryable<BllWaveMage>().First(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo); + var wave = await Db.Queryable<BllWaveMage>().FirstAsync(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo); if (wave != null) { wave.Status = "4"; wave.UpdateUser = userId; wave.UpdateTime = DateTime.Now; - Db.Updateable(wave).ExecuteCommand(); + await Db.Updateable(wave).ExecuteCommandAsync(); } } } } - + //娣诲姞鎿嶄綔鏃ュ織璁板綍 var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鍑哄簱", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勬墭鐩樼爜涓猴細{palletNo}鐨勬嫞璐ф搷浣�", userId); @@ -1006,7 +960,6 @@ catch (Exception e) { Db.RollbackTran(); - throw new Exception(e.Message); } } @@ -1018,33 +971,31 @@ /// <param name="url"> </param> /// <returns></returns> /// <exception cref="Exception"></exception> - public string IssuePlnOutHouse(OutModePalletVm model, int userId, string url) + public async Task<string> IssuePlnOutHouse(OutModePalletVm model, int userId, string url) { try { - string strMsg = ""; var outDtoList = new List<OutCommandDto>(); //鍑哄簱鏁版嵁鐨勯泦鍚� //鑾峰彇褰撳墠鏃堕棿 DateTime serverTime = Db.GetDate(); //鑾峰彇搴撳瓨鏄庣粏鏄惁灏忎簬绛変簬璇ュ灈鏁� - string str = "select * from DataStockDetail where IsDel = '0' and SkuNo = '100099' and Status = '0' "; - var stockDetail = Db.Ado.SqlQuery<DataStockDetail>(str); + //string str = "select * from DataStockDetail where IsDel = '0' and SkuNo = '100099' and Status = '0' "; + //var stockDetail = Db.Ado.SqlQuery<DataStockDetail>(str); + var stockDetail = await Db.Queryable<DataStockDetail>().Where(s => s.IsDel == "0" && s.SkuNo == "100099" && s.Status == "0").ToListAsync(); if (stockDetail.Count > 0) { //鍒ゆ柇鏄惁澶т簬闇�瑕佸灈鏁� if (stockDetail.Count < int.Parse(model.Num)) { - strMsg = "闇�瑕佸灈鏁板ぇ浜庡簱瀛樺灈鏁帮紝璇烽噸鏂拌緭鍏�!"; - return strMsg; + throw Oops.Bah("闇�瑕佸灈鏁板ぇ浜庡簱瀛樺灈鏁帮紝璇烽噸鏂拌緭鍏�!"); } } //鑾峰彇搴撳瓨鎬昏〃淇℃伅 - var stock = Db.Queryable<DataStock>().First(s => s.IsDel == "0" && s.SkuNo == "100099"); + var stock = await Db.Queryable<DataStock>().FirstAsync(s => s.IsDel == "0" && s.SkuNo == "100099"); //楠岃瘉搴撳瓨鎬昏〃鏄惁涓虹┖ if (stock == null) { - strMsg = "搴撳瓨淇℃伅涓嶅瓨鍦紝璇锋牳鏌�!"; - return strMsg; + throw Oops.Bah("搴撳瓨淇℃伅涓嶅瓨鍦紝璇锋牳鏌�!"); } int i = 0; @@ -1055,7 +1006,7 @@ foreach (var s in stockDetail) { //鑾峰彇鍌ㄤ綅淇℃伅 - var locat = Db.Queryable<SysStorageLocat>().First(l => l.LocatNo == s.LocatNo && l.IsDel == "0" && l.WareHouseNo == "W01"); + var locat = await Db.Queryable<SysStorageLocat>().FirstAsync(l => l.LocatNo == s.LocatNo && l.IsDel == "0" && l.WareHouseNo == "W01"); if (locat != null) { @@ -1068,7 +1019,7 @@ locat.UpdateTime = serverTime; //淇敼鏃堕棿 locat.UpdateUser = userId; //淇敼浜� //淇敼鍌ㄤ綅淇℃伅 - Db.Updateable(locat).ExecuteCommand(); + await Db.Updateable(locat).ExecuteCommandAsync(); } //澧炲姞搴撳瓨閿佸畾鏁伴噺 @@ -1077,7 +1028,7 @@ stock.UpdateTime = serverTime; //淇敼鏃堕棿 stock.UpdateUser = userId; //淇敼浜� //淇敼搴撳瓨鎬昏〃淇℃伅 - Db.Updateable(stock).ExecuteCommand(); + await Db.Updateable(stock).ExecuteCommandAsync(); //澧炲姞搴撳瓨鏄庣粏閿佸畾鏁伴噺 //s.AllotQty += @@ -1086,7 +1037,7 @@ s.UpdateUser = userId; //淇敼浜� s.Status = "2"; //2 宸插垎閰� //淇敼搴撳瓨鏄庣粏淇℃伅 - Db.Updateable(s).ExecuteCommand(); + await Db.Updateable(s).ExecuteCommandAsync(); #region 鍒嗛厤 @@ -1118,7 +1069,7 @@ CreateUser = userId, CreateTime = DateTime.Now }; - Db.Insertable(allot).ExecuteCommand(); + await Db.Insertable(allot).ExecuteCommandAsync(); #endregion @@ -1157,7 +1108,7 @@ OutMode = model.OutMode, //鐩爣鍦板潃 Order = 1 }); - Db.Insertable(exTask).ExecuteCommand(); + await Db.Insertable(exTask).ExecuteCommandAsync(); #endregion i += 1; @@ -1187,13 +1138,17 @@ { //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�// new TaskServer().EditTaskIssueOk(list2, time1, time2); - str += "涓嬪彂鎴愬姛"; + //str += "涓嬪彂鎴愬姛"; } if (wcsModel.StatusCode == -1) { new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg); - throw new Exception(wcsModel.Msg); + throw Oops.Bah(wcsModel.Msg); } + } + catch (AppFriendlyException e) + { + throw Oops.Bah(e.Message); } catch (Exception ex) { @@ -1212,35 +1167,28 @@ catch (Exception e) { Db.RollbackTran(); - throw new Exception(e.Message); + return ""; } } //鑾峰彇骞冲簱鎵樼洏淇℃伅 - public List<Model.ModelDto.BoxInfo> GetPingKuInfoByPallet(string soNo, string palletNo) + public async Task<List<BoxInfo>> GetPingKuInfoByPallet(string soNo, string palletNo) { - try + var info = Db.Queryable<BllExportAllot>().Where(m => m.SONo == soNo && m.PalletNo == palletNo && m.IsDel == "0"); + if (await info.CountAsync() == 0) { - var info = Db.Queryable<BllExportAllot>().Where(m => m.SONo == soNo && m.PalletNo == palletNo && m.IsDel == "0"); - if (info.Count() == 0) - { - throw new Exception("鏈煡璇㈠埌鎵樼洏鍒嗛厤涓嬪彂鐨勪俊鎭�"); - } - - var data = info.GroupBy(m => new { m.SkuNo, m.SkuName, m.LotNo }).Select(m => new BoxInfo() - { - SkuNo = m.SkuNo, - SkuName = m.SkuName, - LotNo = m.LotNo - }).ToList(); - - return data; + throw Oops.Bah("鏈煡璇㈠埌鎵樼洏鍒嗛厤涓嬪彂鐨勪俊鎭�"); } - catch (Exception e) + + var data = await info.GroupBy(m => new { m.SkuNo, m.SkuName, m.LotNo }).Select(m => new BoxInfo() { - throw new Exception(e.Message); - } + SkuNo = m.SkuNo, + SkuName = m.SkuName, + LotNo = m.LotNo + }).ToListAsync(); + + return data; } /// <summary> @@ -1249,224 +1197,202 @@ /// <param name="soNo">鍗曟嵁鍙�</param> /// <param name="palletNo">鎵樼洏鐮�</param> /// <param name="userId">鎿嶄綔浜�</param> - public void PlaneExportSuccess(string soNo, string palletNo, int userId) + public async Task PlaneExportSuccess(string soNo, string palletNo, int userId) { + #region 鎵樼洏淇℃伅 + + //鑾峰彇鎵樼洏淇℃伅 + var pallet = await Db.Queryable<SysPallets>().FirstAsync(p => p.IsDel == "0" && p.PalletNo == palletNo); + //楠岃瘉鎵樼洏淇℃伅鏄惁涓虹┖ + if (pallet == null) + { + throw Oops.Bah("鎵樼洏淇℃伅涓嶅瓨鍦紝璇锋鏌�!"); + } + if (pallet.Status == "0") + { + throw Oops.Bah("鎵樼洏鏈娇鐢紝璇锋鏌�!"); + } + #endregion + + #region 鎵樼洏鏄惁鍦ㄥ钩搴撻獙璇� + + var result = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.PalletNo == palletNo); + if (result == null) + { + throw Oops.Bah("搴撳瓨淇℃伅涓笉瀛樺湪璇ユ墭鐩樹俊鎭紝璇锋鏌�!"); + } + + //if (result.WareHouseNo != "W02")//W02锛氶浂绠卞簱 + //{ + // throw Oops.Bah("璇ユ墭鐩樻湭鍦ㄩ浂绠卞簱锛岃妫�鏌�!"); + //} + + #endregion + + #region 楠岃瘉鍌ㄤ綅鐘舵�佹槸鍚︽甯� + + var locat = await Db.Queryable<SysStorageLocat>().FirstAsync(a => a.IsDel == "0" && a.LocatNo == result.LocatNo); + if (locat == null) + { + throw Oops.Bah("鏈幏鍙栧埌瀵瑰簲鍌ㄤ綅淇℃伅锛岃妫�鏌�!"); + } + if (locat.Status != "3") + { + throw Oops.Bah("褰撳墠鍌ㄤ綅涓嶆槸鏈夌墿鍝侊紝璇锋鏌�!"); + } + + #endregion + + //鑾峰彇搴撳瓨鏄庣粏淇℃伅 + var stockDetail = await Db.Queryable<DataStockDetail>().Where(s => s.IsDel == "0" && s.PalletNo == palletNo).ToListAsync(); + //楠岃瘉搴撳瓨鏄庣粏淇℃伅鏄惁瀛樺湪 + if (stockDetail == null) + { + throw Oops.Bah("搴撳瓨鏄庣粏涓嶅瓨鍦紝璇锋鏌ュ簱瀛樹俊鎭�!"); + } + + Db.BeginTran(); + try { - #region 鎵樼洏淇℃伅 - - //鑾峰彇鎵樼洏淇℃伅 - var pallet = Db.Queryable<SysPallets>().First(p => p.IsDel == "0" && p.PalletNo == palletNo); - //楠岃瘉鎵樼洏淇℃伅鏄惁涓虹┖ - if (pallet == null) + foreach (var item in stockDetail) { - throw new Exception("鎵樼洏淇℃伅涓嶅瓨鍦紝璇锋鏌�!"); - } - if (pallet.Status == "0") - { - throw new Exception("鎵樼洏鏈娇鐢紝璇锋鏌�!"); - } - #endregion - - #region 鎵樼洏鏄惁鍦ㄥ钩搴撻獙璇� - - var result = Db.Queryable<DataStockDetail>().First(m => m.PalletNo == palletNo); - if (result == null) - { - throw new Exception("搴撳瓨淇℃伅涓笉瀛樺湪璇ユ墭鐩樹俊鎭紝璇锋鏌�!"); - } - - if (result.WareHouseNo != "W02")//W02锛氶浂绠卞簱 - { - 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 != "1") - { - throw new Exception("褰撳墠鍌ㄤ綅涓嶆槸鏈夌墿鍝侊紝璇锋鏌�!"); - } - - #endregion - - //鑾峰彇搴撳瓨鏄庣粏淇℃伅 - var stockDetail = Db.Queryable<DataStockDetail>().Where(s => s.IsDel == "0" && s.PalletNo == palletNo).ToList(); - //楠岃瘉搴撳瓨鏄庣粏淇℃伅鏄惁瀛樺湪 - if (stockDetail == null) - { - throw new Exception("搴撳瓨鏄庣粏涓嶅瓨鍦紝璇锋鏌ュ簱瀛樹俊鎭�!"); - } - - Db.BeginTran(); - - try - { - foreach (var item in stockDetail) + if (item.SkuNo == "100099")//鍒ゆ柇鏄惁鏄┖鎵樺嚭搴� { - if (item.SkuNo == "100099")//鍒ゆ柇鏄惁鏄┖鎵樺嚭搴� + //鍒ゆ柇鎬诲簱瀛樻槸鍚︿负0锛屽鏋滀负0鍒犻櫎 鍚﹀垯鍑忓幓鏁伴噺 + var stock = await Db.Queryable<DataStock>().FirstAsync(m => m.SkuNo == "100099"); + + if (stock != null) { - //鍒ゆ柇鎬诲簱瀛樻槸鍚︿负0锛屽鏋滀负0鍒犻櫎 鍚﹀垯鍑忓幓鏁伴噺 - var stock = Db.Queryable<DataStock>().First(m => m.SkuNo == "100099"); - - if (stock != null) + if (item.LockQty != null) { - if (item.LockQty != null) - { - stock.Qty -= item.LockQty.Value; - stock.LockQty -= item.LockQty.Value; - Db.Updateable(stock).ExecuteCommand(); - } - - if (stock.Qty == 0) - { - Db.Deleteable(stock).ExecuteCommand(); - } + stock.Qty -= item.LockQty.Value; + stock.LockQty -= item.LockQty.Value; + await Db.Updateable(stock).ExecuteCommandAsync(); } - //鎵樼洏鐘舵�佹敼涓烘湭浣跨敤 - var sCode = Db.Queryable<SysPallets>().First(m => m.PalletNo == item.PalletNo); - if (sCode != null) + if (stock.Qty == 0) { - sCode.Status = "0"; - Db.Updateable(sCode).ExecuteCommand(); + await Db.Deleteable(stock).ExecuteCommandAsync(); } - Db.Deleteable(item).ExecuteCommand(); - - continue; } - item.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛� - item.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級 - item.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級 - 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(); - - foreach (var item in allot) - { - if (item.SkuNo == "100099") + //鎵樼洏鐘舵�佹敼涓烘湭浣跨敤 + var sCode = await Db.Queryable<SysPallets>().FirstAsync(m => m.PalletNo == item.PalletNo); + if (sCode != null) { - item.Status = "5"; - item.CompleteQty += stockDetail[0].Qty; + sCode.Status = "0"; + await Db.Updateable(sCode).ExecuteCommandAsync(); } - else - { - item.Status = "2"; - } + await Db.Deleteable(item).ExecuteCommandAsync(); + continue; } - Db.Updateable(allot).ExecuteCommand(); - - #region 娣诲姞鍑哄簱鎿嶄綔鏃ュ織璁板綍淇℃伅 - - //娣诲姞鎿嶄綔鏃ュ織璁板綍 - var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鎷h揣鏄庣粏", soNo, "瀹屾垚", $"鐢≒DA瀹屾垚浜嗗崟鎹彿涓簕soNo}鐨勫钩搴撳嚭搴�", userId); - - #endregion - - Db.CommitTran(); + item.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛� + item.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級 + item.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級 + item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級 + await Db.Updateable(item).ExecuteCommandAsync(); } - catch (Exception e) + //鍙樻洿鍌ㄤ綅鐘舵�� + locat.Status = "0";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖鍌ㄤ綅锛� + await Db.Updateable(locat).ExecuteCommandAsync(); + + //鍑哄簱娴佹按锛堟洿鏀圭姸鎬侊級 + var allot = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo && m.SONo == soNo).ToListAsync(); + + foreach (var item in allot) { - Db.RollbackTran(); - throw new Exception(e.Message); + if (item.SkuNo == "100099") + { + item.Status = "5"; + item.CompleteQty += stockDetail[0].Qty; + } + else + { + item.Status = "2"; + } + } + await Db.Updateable(allot).ExecuteCommandAsync(); + + #region 娣诲姞鍑哄簱鎿嶄綔鏃ュ織璁板綍淇℃伅 + + //娣诲姞鎿嶄綔鏃ュ織璁板綍 + var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鎷h揣鏄庣粏", soNo, "瀹屾垚", $"鐢≒DA瀹屾垚浜嗗崟鎹彿涓簕soNo}鐨勫钩搴撳嚭搴�", userId); + + #endregion + + Db.CommitTran(); } catch (Exception e) { - throw new Exception(e.Message); + Db.RollbackTran(); } } //鏍规嵁鎵樼洏鍙疯幏鍙栧彇鏍风被鍨� - public string GetSampleType(string palletNo) + public async Task<string> GetSampleType(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("褰撳墠鎵樼洏鏈湪搴撳瓨涓�"); - } - //鎬庝箞鍒ゆ柇褰撳墠鎵樼洏鏄簱澶栬鍙栨牱鐨勬墭鐩橈紝姝e父鍑哄簱鍓╀綑鎵樼洏鐩墠杩欑鎯呭喌涔熻兘鎷h揣鍟婏紝涔熸病鏈夊垎閰嶄俊鎭� - var allot = Db.Queryable<BllExportAllot>().First(m => - m.IsDel == "0" && m.PalletNo == palletNo && m.Status != "5" && m.Status != "6"); - 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 - { - //鍒ゆ柇褰撳墠鎵樼洏鏄惁鏄湪骞冲簱鎴栧簱澶� - type = "1";//搴撳墠鍙栨牱 - } - return type; + throw Oops.Bah("褰撳墠鎵樼洏鏈湪搴撳瓨涓�"); } - catch (Exception e) + //鎬庝箞鍒ゆ柇褰撳墠鎵樼洏鏄簱澶栬鍙栨牱鐨勬墭鐩橈紝姝e父鍑哄簱鍓╀綑鎵樼洏鐩墠杩欑鎯呭喌涔熻兘鎷h揣鍟婏紝涔熸病鏈夊垎閰嶄俊鎭� + 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(e.Message); + var soNo = await Db.Queryable<BllExportNotice>() + .FirstAsync(m => m.IsDel == "0" && m.SONo == allot.SONo); + if (soNo == null) + { + throw Oops.Bah("鏈壘鍒版墭鐩樹笂鍑哄簱鍗曟嵁淇℃伅"); + } + if (soNo.Type != "3") + { + throw Oops.Bah("璇ユ墭鐩樹笉鏄彇鏍锋墭鐩�"); + } + type = "0";//搴撳唴鍙栨牱 } + else + { + //鍒ゆ柇褰撳墠鎵樼洏鏄惁鏄湪骞冲簱鎴栧簱澶� + type = "1";//搴撳墠鍙栨牱 + } + return type; } //鏍规嵁鎵樼洏鍙疯幏鍙栧叆搴撳崟鎹� - public List<string> GetAsnNoByPallet(string palletNo) + public async Task<List<string>> GetAsnNoByPallet(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("褰撳墠鎵樼洏鏈湪搴撳瓨涓�"); - } + throw Oops.Bah("褰撳墠鎵樼洏鏈湪搴撳瓨涓�"); + } - var list = new List<string>(); - if (string.IsNullOrWhiteSpace(detail.ASNNo)) - { - throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樼殑鍏ュ簱鍗曚俊鎭�"); - } - list.Add(detail.ASNNo); - return list; - } - catch (Exception e) + var list = new List<string>(); + if (string.IsNullOrWhiteSpace(detail.ASNNo)) { - throw new Exception(e.Message); + throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樼殑鍏ュ簱鍗曚俊鎭�"); } + list.Add(detail.ASNNo); + return list; } //鍙栨牱鍑哄簱鎷h揣(鏍囩) - public void 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 { if (string.IsNullOrWhiteSpace(soType)) { - throw new Exception("鍙栨牱鏍囪瘑涓嶈兘涓虹┖"); + throw Oops.Bah("鍙栨牱鏍囪瘑涓嶈兘涓虹┖"); } //soType: 0搴撳唴鍙栨牱锛屾湁鍑哄簱鍗曞強鍒嗛厤淇℃伅锛� 1搴撳墠鍙栨牱锛屽弽鍚戞坊鍔犲嚭搴撳崟鍙婂垎閰嶄俊鎭� @@ -1477,46 +1403,46 @@ if (string.IsNullOrWhiteSpace(asnNo)) { - 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("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�"); } //鍏堝垽鏂槸鍚︽槸搴撳鍙栨牱鎵樼洏 - 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); 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") { @@ -1527,7 +1453,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); @@ -1545,12 +1471,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() @@ -1578,11 +1504,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) { //娣诲姞鍒嗛厤琛ㄤ俊鎭� @@ -1614,7 +1540,7 @@ UpdateTime = DateTime.Now }; - var fp = Db.Insertable(addAllot).ExecuteReturnEntity(); + var fp = await Db.Insertable(addAllot).ExecuteReturnEntityAsync(); allot2 = fp; } @@ -1626,34 +1552,34 @@ 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(); - var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot2.Id && m.PalletNo == palletNo).ToList(); + boxInfos = await boxInfo.ToListAsync(); + var comDetailList = await Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot2.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("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴"); } 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揣"); } } biaoShi = "1"; @@ -1662,12 +1588,12 @@ { 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揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); } biaoShi = "2"; @@ -1676,17 +1602,17 @@ { if (boxInfo.Count() == 0) { - throw new Exception("鏈煡璇㈠埌璇ョ鐮佺殑淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌璇ョ鐮佺殑淇℃伅"); } if (boxInfo.Any(m => m.PalletNo != palletNo)) { - throw new Exception("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴"); + throw Oops.Bah("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴"); } 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揣"); } } } @@ -1727,21 +1653,21 @@ if (biaoShi != "2") { //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 - Db.Deleteable(item).ExecuteCommand(); + await Db.Deleteable(item).ExecuteCommandAsync(); } else//鏁伴噺鎷h揣 { if (decimal.Parse(pickQty1) == item.Qty) { //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 - Db.Deleteable(item).ExecuteCommand(); + await Db.Deleteable(item).ExecuteCommandAsync(); } else { item.Qty -= decimal.Parse(pickQty1); item.BitBoxMark = "1";//闆剁鏍囪瘑 item.InspectMark = "1";//鎶芥绠辨爣璇� - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); } } pickQty += biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty; @@ -1756,15 +1682,15 @@ { item.BitBoxMark = "1"; item.InspectMark = "1"; - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); } } - Db.Insertable(comList).ExecuteCommand(); + await Db.Insertable(comList).ExecuteCommandAsync(); //淇敼鍑哄簱鍒嗛厤淇℃伅 allot2.Qty += pickQty; allot2.CompleteQty += pickQty; - Db.Updateable(allot2).ExecuteCommand(); + await Db.Updateable(allot2).ExecuteCommandAsync(); //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁� stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇� @@ -1772,32 +1698,32 @@ 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 -= 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 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.Qty += pickQty; @@ -1805,7 +1731,7 @@ noticeDetail.FactQty += pickQty; noticeDetail.CompleteQty += 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") @@ -1814,60 +1740,60 @@ 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("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�"); } //鍑哄簱鍗� - 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 @@ -1875,39 +1801,39 @@ 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(); - var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToList(); + boxInfos = await boxInfo.ToListAsync(); + 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揣"); } } biaoShi = "1"; @@ -1916,16 +1842,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"; @@ -1934,22 +1860,22 @@ { 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(); 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揣"); } } } @@ -1989,21 +1915,21 @@ if (biaoShi != "2") { //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 - Db.Deleteable(item).ExecuteCommand(); + await Db.Deleteable(item).ExecuteCommandAsync(); } else//鏁伴噺鎷h揣 { if (decimal.Parse(pickQty1) == item.Qty) { //鍒犻櫎搴撳瓨绠辩爜鏄庣粏 - Db.Deleteable(item).ExecuteCommand(); + await Db.Deleteable(item).ExecuteCommandAsync(); } else { item.Qty -= decimal.Parse(pickQty1); item.BitBoxMark = "1";//闆剁鏍囪瘑 item.InspectMark = "1"; //鎶芥绠辨爣璇� - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); } } pickQty += item.Qty; @@ -2015,11 +1941,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"; @@ -2028,7 +1954,7 @@ { //鍒ゆ柇璇ユ墭鐩樻槸鍚﹁繕瀛樺湪鐗╂枡 瀛樺湪鏀逛负寰呭洖搴� 寰呭洖搴撳畬鎴愬悗鏀逛负宸插畬鎴� } - Db.Updateable(allot).ExecuteCommand(); + await Db.Updateable(allot).ExecuteCommandAsync(); //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁� stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇� @@ -2050,47 +1976,47 @@ 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 -= pickQty; stock.LockQty -= pickQty; 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 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(); } //娣诲姞鎿嶄綔鏃ュ織璁板綍 var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鍑哄簱", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勬墭鐩樼爜涓猴細{palletNo}鐨勬嫞璐ф搷浣�", userId); @@ -2099,61 +2025,60 @@ catch (Exception e) { Db.RollbackTran(); - throw new Exception(e.Message); } } //鍙栨牱鍑哄簱鎷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") { @@ -2164,7 +2089,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() @@ -2181,12 +2106,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() @@ -2214,11 +2139,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) { //娣诲姞鍒嗛厤琛ㄤ俊鎭� @@ -2250,12 +2175,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; @@ -2294,7 +2219,7 @@ comList.Add(completeDetail); //娣诲姞鎷h揣鏄庣粏 - Db.Insertable(comList).ExecuteCommand(); + await Db.Insertable(comList).ExecuteCommandAsync(); } else if (isComplete == 1) { @@ -2302,7 +2227,7 @@ complete.UpdateUser = userId; complete.UpdateTime = Db.GetDate(); - Db.Updateable(complete).ExecuteCommand(); + await Db.Updateable(complete).ExecuteCommandAsync(); } @@ -2310,7 +2235,7 @@ //淇敼鍑哄簱鍒嗛厤淇℃伅 allot2.Qty += int.Parse(PickQty); allot2.CompleteQty += int.Parse(PickQty); - Db.Updateable(allot2).ExecuteCommand(); + await Db.Updateable(allot2).ExecuteCommandAsync(); int isDel = 0; @@ -2332,36 +2257,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(); } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� @@ -2370,7 +2295,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") @@ -2379,7 +2304,7 @@ if (string.IsNullOrWhiteSpace(soNo)) { - throw new Exception("鍑哄簱鍗曟嵁涓嶈兘涓虹┖"); + throw Oops.Bah("鍑哄簱鍗曟嵁涓嶈兘涓虹┖"); } //if (string.IsNullOrWhiteSpace(soDetailId)) //{ @@ -2387,56 +2312,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; @@ -2475,7 +2400,7 @@ comList.Add(completeDetail); //娣诲姞鎷h揣鏄庣粏 - Db.Insertable(comList).ExecuteCommand(); + await Db.Insertable(comList).ExecuteCommandAsync(); } else if (isComplete == 1) { @@ -2483,7 +2408,7 @@ complete.UpdateUser = userId; complete.UpdateTime = Db.GetDate(); - Db.Updateable(complete).ExecuteCommand(); + await Db.Updateable(complete).ExecuteCommandAsync(); } @@ -2493,7 +2418,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; @@ -2516,12 +2441,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); @@ -2529,39 +2454,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(); } @@ -2572,7 +2497,6 @@ catch (Exception e) { Db.RollbackTran(); - throw new Exception(e.Message); } } @@ -2588,7 +2512,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 @@ -2598,71 +2522,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 @@ -2670,14 +2594,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) { @@ -2690,14 +2614,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) @@ -2743,7 +2667,7 @@ sd.CreateTime = nowDate; //鏂板鎷兼墭搴撳瓨鏄庣粏淇℃伅 - sdId = Db.Insertable(sd).ExecuteReturnIdentity(); + sdId = await Db.Insertable(sd).ExecuteReturnIdentityAsync(); } #endregion @@ -2752,28 +2676,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() @@ -2798,7 +2722,7 @@ CreateUser = userId }; comList.Add(completeDetail); - + if (palletNo != palletNoNew) { item.StockDetailId = sdId; @@ -2807,41 +2731,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); @@ -2850,48 +2774,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揣"); } } @@ -2901,16 +2825,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"; @@ -2919,23 +2843,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揣"); } } } @@ -2974,7 +2898,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; } @@ -2987,7 +2911,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; } @@ -3000,13 +2924,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); @@ -3019,11 +2943,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"; @@ -3032,7 +2956,7 @@ { //鍒ゆ柇璇ユ墭鐩樻槸鍚﹁繕瀛樺湪鐗╂枡 瀛樺湪鏀逛负寰呭洖搴� 寰呭洖搴撳畬鎴愬悗鏀逛负宸插畬鎴� } - Db.Updateable(allot).ExecuteCommand(); + await Db.Updateable(allot).ExecuteCommandAsync(); //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁� stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇� @@ -3053,36 +2977,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) @@ -3097,10 +3021,10 @@ //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏 pinStockDetail.Qty += pickQty; pinStockDetail.LockQty += pickQty; - Db.Updateable(pinStockDetail).ExecuteCommand(); + await Db.Updateable(pinStockDetail).ExecuteCommandAsync(); } } - + //娣诲姞鎿嶄綔鏃ュ織璁板綍 var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鎷兼墭", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勫師鎵樼洏鐮佷负锛歿palletNo}锛屾柊鎵樼洏鐮佷负锛歿palletNoNew}鐨勬嫞璐ф嫾鎵樻搷浣�", userId); Db.CommitTran(); @@ -3108,7 +3032,6 @@ catch (Exception e) { Db.RollbackTran(); - throw new Exception(e.Message); } } /// <summary> @@ -3120,7 +3043,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 @@ -3130,7 +3053,7 @@ if (string.IsNullOrWhiteSpace(soNo)) { - throw new Exception("鍑哄簱鍗曟嵁涓嶈兘涓虹┖"); + throw Oops.Bah("鍑哄簱鍗曟嵁涓嶈兘涓虹┖"); } //if (string.IsNullOrWhiteSpace(soDetailId)) //{ @@ -3138,76 +3061,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) { @@ -3219,14 +3142,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) @@ -3277,7 +3200,7 @@ sd.CreateTime = nowDate; //鏂板鎷兼墭搴撳瓨鏄庣粏淇℃伅 - Db.Insertable(sd).ExecuteReturnIdentity(); + await Db.Insertable(sd).ExecuteReturnIdentityAsync(); } else { @@ -3286,18 +3209,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; @@ -3337,7 +3260,7 @@ comList.Add(completeDetail); //娣诲姞鎷h揣鏄庣粏 - Db.Insertable(comList).ExecuteCommand(); + await Db.Insertable(comList).ExecuteCommandAsync(); } else if (isComplete == 1) { @@ -3345,14 +3268,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; @@ -3376,12 +3299,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 @@ -3392,28 +3315,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); @@ -3422,7 +3345,6 @@ catch (Exception e) { Db.RollbackTran(); - throw new Exception(e.Message); } } #endregion @@ -3430,75 +3352,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; + 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 { @@ -3506,20 +3406,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) //{ @@ -3527,44 +3427,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揣 @@ -3581,16 +3481,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; } @@ -3599,33 +3499,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揣 @@ -3638,16 +3538,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; @@ -3657,32 +3557,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 @@ -3700,24 +3600,24 @@ //if (isAddSampld) //娣诲姞鍙栨牱鏄庣粏 //{ - var sampleDetail = new BllSamplingDetails() - { - QcNo = qcNo, - ASNNo = inspecd.ASNNo, - PalletNo = palletNo, - BoxNo = boxInfo.BoxNo, - BoxNo2 = boxInfo.BoxNo2, - BoxNo3 = boxInfo.BoxNo3, - SkuNo = boxInfo.SkuNo, - SkuName = boxInfo.SkuName, - Standard = boxInfo.Standard, - LotNo = boxInfo.LotNo, - SupplierLot = boxInfo.SupplierLot, - CompleteQty = decimal.Parse(pickQty), - CreateTime = DateTime.Now, - CreateUser = userId - }; - Db.Insertable(sampleDetail).ExecuteCommand(); + var sampleDetail = new BllSamplingDetails() + { + QcNo = qcNo, + ASNNo = inspecd.ASNNo, + PalletNo = palletNo, + BoxNo = boxInfo.BoxNo, + BoxNo2 = boxInfo.BoxNo2, + BoxNo3 = boxInfo.BoxNo3, + SkuNo = boxInfo.SkuNo, + SkuName = boxInfo.SkuName, + Standard = boxInfo.Standard, + LotNo = boxInfo.LotNo, + SupplierLot = boxInfo.SupplierLot, + CompleteQty = decimal.Parse(pickQty), + CreateTime = DateTime.Now, + CreateUser = userId + }; + Db.Insertable(sampleDetail).ExecuteCommand(); //} //else //{ @@ -3742,7 +3642,7 @@ { item.BitBoxMark = "1"; item.InspectMark = "1"; - + if (unpackWarranty > 0 && boxInfoList.Count(m => m.ProductionTime != null) > 0) { if (item.ProductionTime != null) @@ -3757,7 +3657,7 @@ } Db.Updateable(boxInfoList).ExecuteCommand(); - + //搴撳瓨绠辩爜 boxInfo.Qty -= decimal.Parse(pickQty); if (boxInfo.Qty == 0) @@ -3830,24 +3730,24 @@ //if (isAddSampld) //娣诲姞鍙栨牱鏄庣粏 //{ - var sampleDetail = new BllSamplingDetails() - { - QcNo = qcNo, - ASNNo = inspecd.ASNNo, - PalletNo = palletNo, - BoxNo = boxInfo.BoxNo, - BoxNo2 = boxInfo.BoxNo2, - BoxNo3 = boxInfo.BoxNo3, - SkuNo = boxInfo.SkuNo, - SkuName = boxInfo.SkuName, - Standard = boxInfo.Standard, - LotNo = boxInfo.LotNo, - SupplierLot = boxInfo.SupplierLot, - CompleteQty = boxInfo.Qty, - CreateTime = DateTime.Now, - CreateUser = userId - }; - Db.Insertable(sampleDetail).ExecuteCommand(); + var sampleDetail = new BllSamplingDetails() + { + QcNo = qcNo, + ASNNo = inspecd.ASNNo, + PalletNo = palletNo, + BoxNo = boxInfo.BoxNo, + BoxNo2 = boxInfo.BoxNo2, + BoxNo3 = boxInfo.BoxNo3, + SkuNo = boxInfo.SkuNo, + SkuName = boxInfo.SkuName, + Standard = boxInfo.Standard, + LotNo = boxInfo.LotNo, + SupplierLot = boxInfo.SupplierLot, + CompleteQty = boxInfo.Qty, + CreateTime = DateTime.Now, + CreateUser = userId + }; + await Db.Insertable(sampleDetail).ExecuteCommandAsync(); //} //else //{ @@ -3866,8 +3766,8 @@ #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) { item.BitBoxMark = "1"; @@ -3884,31 +3784,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 @@ -3918,12 +3818,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(); } } @@ -3941,7 +3841,7 @@ inspecd.Status = "3"; } - Db.Updateable(inspecd).ExecuteCommand(); + await Db.Updateable(inspecd).ExecuteCommandAsync(); #endregion } @@ -3955,13 +3855,12 @@ catch (Exception e) { Db.RollbackTran(); - throw new Exception(e.Message); } } //鍙栨牱鍑哄簱鎷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 { @@ -3969,77 +3868,77 @@ 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("褰撳墠鎵樼洏涓嶆槸搴撳鎵樼洏锛岃鏍稿疄"); + 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; - + #region 鍒ゆ柇鏁伴噺 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("鎵樼洏涓婂彲鐢ㄦ暟閲忓皬浜庡彇鏍锋暟閲忥紝璇锋牳瀹為攣瀹氥�佸喕缁撴暟閲�"); } @@ -4047,25 +3946,25 @@ #region 娣诲姞鎴栦慨鏀瑰彇鏍锋槑缁� - Db.BeginTran(); + Db.BeginTran(); //if (isAddSampld) //娣诲姞鍙栨牱鏄庣粏 //{ - var sampleDetail = new BllSamplingDetails() - { - QcNo = qcNo, - ASNNo = inspecd.ASNNo, - PalletNo = palletNo, - SkuNo = stockDetail.SkuNo, - SkuName = stockDetail.SkuName, - Standard = stockDetail.Standard, - LotNo = stockDetail.LotNo, - SupplierLot = stockDetail.SupplierLot, - CompleteQty = qty, - CreateTime = DateTime.Now, - CreateUser = userId - }; - Db.Insertable(sampleDetail).ExecuteCommand(); + var sampleDetail = new BllSamplingDetails() + { + QcNo = qcNo, + ASNNo = inspecd.ASNNo, + PalletNo = palletNo, + SkuNo = stockDetail.SkuNo, + SkuName = stockDetail.SkuName, + Standard = stockDetail.Standard, + LotNo = stockDetail.LotNo, + SupplierLot = stockDetail.SupplierLot, + CompleteQty = qty, + CreateTime = DateTime.Now, + CreateUser = userId + }; + await Db.Insertable(sampleDetail).ExecuteCommandAsync(); //} //else //{ @@ -4084,24 +3983,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 @@ -4111,12 +4010,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(); } } @@ -4131,9 +4030,9 @@ { inspecd.Status = "3"; } - Db.Updateable(inspecd).ExecuteCommand(); + await Db.Updateable(inspecd).ExecuteCommandAsync(); #endregion - + //娣诲姞鎿嶄綔鏃ュ織璁板綍 @@ -4143,7 +4042,6 @@ catch (Exception e) { Db.RollbackTran(); - throw new Exception(e.Message); } } -- Gitblit v1.8.0