From 638b471ad73bce1c701d9f9c8d02effe6a38c7ca Mon Sep 17 00:00:00 2001 From: chengsc <Demo@DESKTOP-CPA90BF> Date: 星期一, 22 七月 2024 16:57:20 +0800 Subject: [PATCH] 修改托盘绑定方法 --- Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 943 ++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 546 insertions(+), 397 deletions(-) diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs index 4558ce5..c439b34 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs @@ -3375,7 +3375,7 @@ { throw new Exception("鎵樼洏鍙蜂笉鍙负绌�!"); } - + //鏍规嵁鍗曟嵁鍙疯幏鍙栧叆搴撳崟鎬诲崟 var notice = Db.Queryable<BllArrivalNotice>().First(a => a.IsDel == "0" && a.ASNNo == model.AsnNo); if (notice.Status != "0" && notice.Status != "1" && notice.Status != "2") @@ -3418,8 +3418,6 @@ throw new Exception("寮�鍚繛缁粍鎵樻椂锛屽熬绠辩爜淇℃伅涓嶅彲涓虹┖!"); } } - - #endregion var comTime = DateTime.Now; @@ -3445,6 +3443,8 @@ { throw new Exception("璇ユ墭鐩樺湪搴撳瓨宸叉湁鍏跺畠鐗╂枡鎵规淇℃伅锛岃鏍稿疄锛�"); } + + #endregion #region 鍖呰 @@ -3487,10 +3487,11 @@ { throw new Exception($"缁戝畾澶辫触锛寋detail.SkuNo}鐗╁搧鍖呰鏈壘鍒帮紒"); } - + #endregion #region 楠岃瘉鏄惁鍏佽绔嬪簱鍚屾墭鐩樹笉鍚岀墿鏂欏叆搴撴垨鍚屾墭鐩樺悓鐗╂枡涓嶅悓鎵规鍏ュ簱 + var palletBind = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.ASNNo == model.AsnNo && m.PalletNo == model.PalletNo && m.ASNDetailNo != model.AsnDetailId); if (palletBind != null) { @@ -3504,416 +3505,564 @@ } } } - #endregion - //liudl && m.Status != "2" 缁勭洏鏃㈠叆搴撳畬鎴愭棤闇�鏍规嵁鎵樼洏鐘舵�佸垽鏂� - var bind = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.ASNDetailNo == model.AsnDetailId && m.PalletNo == model.PalletNo); - var bindId = 0; - if (bind == null) - { - bind = new BllPalletBind - { - ASNNo = model.AsnNo, - ASNDetailNo = (int)model.AsnDetailId, - PalletNo = model.PalletNo, - - Qty = model.SkuQty, - FullQty = pNum, - Status = "2",//鍏ュ簱瀹屾垚 - Type = "0", - LotNo = model.LotNo, - LotText = detail.LotText, - SupplierLot = detail.SupplierLot, - //InspectMark = model.IsSample, //鏄惁鍙栨牱鎵樼洏 鍚庢湡涓氬姟寮�鍙戞椂 鎺ュ彛浼犲�奸渶娣诲姞瀵瑰簲瀛楁鍒ゆ柇 - //SamplingQty = 0, //鍙栨牱鏁伴噺 鍚庢湡涓氬姟寮�鍙戞椂 鎺ュ彛浼犲�奸渶娣诲姞瀵瑰簲瀛楁鍒ゆ柇 - BitPalletMark = "1", - IsBale = "0", - IsBelt = "0", - CreateUser = userId, - Demo = model.Demo, - }; - // 鎻掑叆鎵樼洏缁戝畾琛� - bindId = Db.Insertable(bind).ExecuteReturnIdentity(); - } - else - { - bindId = bind.Id; - bind.Qty += model.SkuQty; - } - if (bind.Qty < 0) - { - throw new Exception("缁勭洏鏁伴噺涓嶈兘灏忎簬0"); - } - #region 搴撳瓨鏄庣粏 - //鑾峰彇璇ユ壒娆℃渶缁堣川妫�缁撴灉 - BllQualityInspect quality = new BllQualityInspect(); - //鍒ゆ柇鏄惁涓洪��璐у叆搴撳崟 - if (notice.Type == "3") - { - quality = Db.Queryable<BllQualityInspect>().Where(a => a.IsDel == "0" && a.ASNNo == detail.ASNNo && a.SkuNo == detail.SkuNo && a.LotNo == detail.LotNo).OrderByDescending(a => a.CreateTime).First(); - } - else - { - quality = Db.Queryable<BllQualityInspect>().Where(a => a.IsDel == "0" && a.SkuNo == detail.SkuNo && a.LotNo == detail.LotNo).OrderByDescending(a => a.CreateTime).First(); - } - var tags = "0"; - if (notice.Type == "3" || notice.Type == "4") - { - tags = "1"; - } - - // 鍒ゆ柇搴撳瓨鏄庣粏鏄惁宸叉湁姝ゆ墭鐩樹俊鎭� - var sd1 = Db.Queryable<DataStockDetail>() - .First(m => m.IsDel == "0" && m.ASNDetailNo == bind.ASNDetailNo && m.PalletNo == model.PalletNo); - var sdId1 = 0; - if (sd1 != null) - { - sdId1 = sd1.Id; - // 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁 - sd1.Qty = bind.Qty; - sd1.CompleteTime = comTime; - sd1.UpdateUser = userId; - sd1.UpdateTime = comTime; - - Db.Updateable(sd1).ExecuteCommand(); //淇敼璐ㄦ淇℃伅 - } - else - { - // 搴撳瓨涓嶅瓨鍦� 鎻掑叆鏁版嵁 - sd1 = new DataStockDetail() - { - LotNo = bind.LotNo, - LotText = bind.LotText, - SupplierLot = bind.SupplierLot, - SkuNo = sku.SkuNo, - SkuName = sku.SkuName, - Standard = sku.Standard, - Qty = bind.Qty, - LockQty = 0, - FrozenQty = 0, - InspectQty = 0, - ASNNo = bind.ASNNo, - ASNDetailNo = bind.ASNDetailNo, - WareHouseNo = "",//鎵�灞炰粨搴� - RoadwayNo = "",//鎵�灞炲贩閬� - AreaNo = "",//鎵�灞炲尯鍩� - LocatNo = "",//鍌ㄤ綅鍦板潃 - PalletNo = bind.PalletNo, - PalletNo2 = bind.PalletNo2, - PalletNo3 = bind.PalletNo3, - PalletTags = tags, - CompleteTime = comTime, - ProductionTime = bind.ProductionTime, - ExpirationTime = bind.ExpirationTime, - Status = "0", - InspectMark = bind.InspectMark, - InspectStatus = sku.IsInspect, - BitPalletMark = bind.BitPalletMark, - PackagNo = detail.PackagNo, //liudl 鐢眘ku鐨勫寘瑁呯紪鍙峰彉涓哄叆搴撳崟鏄庣粏鐨勫寘瑁呯紪鐮� - IsBale = bind.IsBale, - IsBelt = bind.IsBelt, - - IsDel = "0", - CreateUser = 0, - CreateTime = comTime - }; - - //缁存姢搴撳瓨鏄庣粏璐т富/渚涘簲鍟嗕俊鎭� - if (notice.Type == "0" || notice.Type == "2" || notice.Type == "4" || notice.Type == "6" || notice.Type == "7")//0:鎴愬搧鍏ュ簱锛�2:涓棿鍝佸叆搴�,4:杞﹂棿浣欐枡鍏ュ簱,6:浠e偍鍏ュ簱,7:瀵勫瓨鍏ュ簱 - { - sd1.OwnerNo = notice.CustomerNo;//璐т富缂栫爜 - sd1.OwnerName = notice.CustomerName;//璐т富鍚嶇О - } - else if (notice.Type == "1" || notice.Type == "5")//1:閲囪喘鍏ュ簱,2:鍏跺畠鍏ュ簱 - { - sd1.SupplierNo = notice.CustomerNo;//渚涘簲鍟嗙紪鐮� - sd1.SupplierName = notice.CustomerName;//渚涘簲鍟嗗悕绉� - } - if (quality != null) - { - //淇敼鍚堟牸涓嶅悎鏍兼暟閲� - if (quality.IsQualified == "1") //鍚堟牸 - { - //澧炲姞鍚堟牸鏁伴噺 - quality.PassQty += bind.Qty; - sd1.InspectStatus = "1"; - } - else if (quality.IsQualified == "0") //涓嶅悎鏍� - { - //澧炲姞涓嶅悎鏍兼暟閲� - quality.FailQty += bind.Qty; - sd1.InspectStatus = "2"; - } - Db.Updateable(quality).ExecuteCommand(); //淇敼璐ㄦ淇℃伅 - } - //娣诲姞搴撳瓨鏄庣粏 - sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity(); - } #endregion - #region 绠辩爜淇℃伅 - var msgStr = $"绠卞彿涓簕model.BoxNo}"; - var boxInfoList = new List<BllBoxInfo>(); - - //棣栫 - var boxInfo = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.BoxNo).ToList(); - if (boxInfo.Count == 0) - { - throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!"); - } - boxInfo = boxInfo.Where(m => m.Status == "0").ToList(); - if (boxInfo.Count == 0) - { - throw new Exception("绠辩爜宸茶浣跨敤!"); - } - boxInfoList.AddRange(boxInfo); - //鏄惁杩炵画缁勬墭 - if (model.IsContinue == "1") - { - //灏剧 - var boxInfo2 = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.TailBoxNo).ToList(); - if (boxInfo2.Count == 0) - { - throw new Exception("灏剧鐮佷俊鎭笉瀛樺湪!"); - } - boxInfo2 = boxInfo2.Where(m => m.Status == "0").ToList(); - if (boxInfo2.Count == 0) - { - throw new Exception("灏剧绠辩爜宸茶浣跨敤!"); - } - boxInfoList.AddRange(boxInfo2); - var sql = $"select * from BllBoxInfo where IsDel = '0' and Status = '0' and boxNo>'{model.BoxNo}' and boxNo<'{model.TailBoxNo}'; "; - var list = Db.Ado.SqlQuery<BllBoxInfo>(sql); - boxInfoList.AddRange(list); - msgStr += $"灏剧鍙蜂负{model.TailBoxNo}"; - } - - #endregion + /* 鍥犺�冭檻鍙兘浼氭湁鎷肩(鍚岀墿鏂欎笉鍚屾壒娆�)锛岄�昏緫濡備笅 + * 鏌ヨ鍑鸿缁戝畾鎵樼洏鐨勭鐮佷俊鎭�佸垎缁勬暣鐞嗐�佸垽鏂槸鍚︽湁鎷肩(鍏佽鏈夊涓�)锛屽惊鐜坊鍔犵鐮�<->搴撳瓨绠辩爜 鍜� 瀵瑰簲鐨勬墭鐩樼粦瀹�<->搴撳瓨鎵樼洏鏄庣粏淇℃伅 + * 寰幆绠辩爜闇�瑕佸垽鏂槸鍚︽槸褰撳墠鍗曟嵁锛屽涓嶆槸锛氭洿鏂板搴斿崟鎹� + * + * + */ - // 鏇存敼绠辨敮鍏崇郴琛� - decimal factQty = 0.00m;//鎵樼洏鎬绘暟閲� - var isSample = "0";//鏄惁鍙栨牱 - var sampleQty = 0m;//鍙栨牱鏁伴噺 + //#region 绠辩爜淇℃伅 + //var msgStr = $"绠卞彿涓簕model.BoxNo}"; + //var boxInfoList = new List<BllBoxInfo>(); - - var boxGroup = boxInfoList.GroupBy(m => m.BoxNo).ToList(); - foreach (var g in boxGroup) - { - decimal boxFullQty = 0;//绠卞唴鎬绘暟閲� - foreach (var box in g) - { - if (box.BindNo != null && box.BindNo != 0) - { - continue; - } - //绠卞唴鐗╂枡鎵规涓庡崟鎹槑缁嗕笉绗﹀悎 - if (box.SkuNo != detail.SkuNo || box.LotNo != model.LotNo) - { - throw new Exception($"-1:{box.BoxNo}绠卞唴鐗╂枡鍙婃壒娆′笌鍗曟嵁涓嶄竴鑷达紝璇锋牳瀹�!"); - } + ////棣栫 + //var boxInfo = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.BoxNo).ToList(); + //if (boxInfo.Count == 0) + //{ + // throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!"); + //} + //boxInfo = boxInfo.Where(m => m.Status == "0").ToList(); + //if (boxInfo.Count == 0) + //{ + // throw new Exception("绠辩爜宸茶浣跨敤!"); + //} + //boxInfoList.AddRange(boxInfo); + ////鏄惁杩炵画缁勬墭 + //if (model.IsContinue == "1") + //{ + // //灏剧 + // var boxInfo2 = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.TailBoxNo).ToList(); + // if (boxInfo2.Count == 0) + // { + // throw new Exception("灏剧鐮佷俊鎭笉瀛樺湪!"); + // } + // boxInfo2 = boxInfo2.Where(m => m.Status == "0").ToList(); + // if (boxInfo2.Count == 0) + // { + // throw new Exception("灏剧绠辩爜宸茶浣跨敤!"); + // } + // boxInfoList.AddRange(boxInfo2); + // var sql = $"select * from BllBoxInfo where IsDel = '0' and Status = '0' and boxNo>'{model.BoxNo}' and boxNo<'{model.TailBoxNo}'; "; + // var list = Db.Ado.SqlQuery<BllBoxInfo>(sql); + // boxInfoList.AddRange(list); + // msgStr += $"灏剧鍙蜂负{model.TailBoxNo}"; + //} - box.ASNNo = model.AsnNo; - box.ASNDetailNo = model.AsnDetailId; - box.BindNo = bindId; - box.PalletNo = model.PalletNo; - box.Status = "2"; - //box.InspectMark = model.IsSample; //鏄惁鍙栨牱鎵樼洏 鍚庢湡涓氬姟寮�鍙戞椂 鎺ュ彛浼犲�奸渶娣诲姞瀵瑰簲瀛楁鍒ゆ柇 - //box.SamplingQty = 0; //鍙栨牱鏁伴噺 鍚庢湡涓氬姟寮�鍙戞椂 鎺ュ彛浼犲�奸渶娣诲姞瀵瑰簲瀛楁鍒ゆ柇 - box.CompleteTime = comTime; - box.UpdateTime = comTime; - box.UpdateUser = userId; + //#endregion - //box.Qty = box.Qty; - //box.BitBoxMark = box.Qty == box.FullQty ? "0" : "1"; + //// 鏇存敼绠辨敮鍏崇郴琛� + //decimal factQty = 0.00m;//鎵樼洏鎬绘暟閲� + //var isSample = "0";//鏄惁鍙栨牱 + //var sampleQty = 0m;//鍙栨牱鏁伴噺 - factQty += box.Qty; - boxFullQty += box.Qty; - if (box.InspectMark == "1") //鍒ゆ柇鏄惁鍙栨牱 - { - isSample = "1"; - sampleQty += (decimal)box.SamplingQty; - } + //var boxInfoStr = boxInfoList.Select(m => m.BoxNo3).ToList();//鏀爜闆嗗悎 + //var dataBoxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && boxInfoStr.Contains(m.BoxNo3));//浠庡簱瀛樹腑鑾峰彇瀵瑰簲鐨勭鐮佷俊鎭泦鍚� - #region 搴撳瓨绠辩爜鏄庣粏 - var box2 = new DataBoxInfo() - { - StockDetailId = sdId1, - BindNo = bind.Id, - BoxNo = box.BoxNo, - BoxNo2 = box.BoxNo2, - BoxNo3 = box.BoxNo3, - PalletNo = box.PalletNo, - PalletNo2 = box.PalletNo2, - PalletNo3 = box.PalletNo3, - Qty = box.Qty, - FullQty = box.FullQty, - Status = "2",//0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣 - LotNo = box.LotNo, - LotText = box.LotText, - SkuNo = box.SkuNo, - SkuName = box.SkuName, - Standard = sku.Standard, - ProductionTime = box.ProductionTime, - SupplierLot = box.SupplierLot, - InspectStatus = sku.IsInspect, - InspectMark = box.InspectMark, - BitBoxMark = box.BitBoxMark, - ExpirationTime = box.ExpirationTime, - - CreateUser = 0, - CreateTime = comTime - }; - //娣诲姞搴撳瓨绠辩爜鏄庣粏 - Db.Insertable(box2).ExecuteCommand(); - #endregion - } - if (boxFullQty > bNum) - { - throw new Exception($"缁戝畾澶辫触锛寋g.Key}绠辩爜缁戝畾鏁伴噺澶т簬璇ョ墿鍝佸寘瑁呮暟閲忥紒"); - } - } - Db.Updateable(boxInfoList).ExecuteCommand(); - - // 鏇存柊鎵樼洏缁戝畾琛� - bind.Qty += factQty; - - //if (bind.FullQty < bind.Qty && isTextTable == 0) - if (bind.FullQty < bind.Qty) - { - throw new Exception("鎵樼洏缁戝畾鏁伴噺宸茶秴鍑鸿鐗╂枡鍖呰鏁伴噺"); - } - - if (bind.FullQty == bind.Qty) - { - bind.BitPalletMark = "0"; - sd1.BitPalletMark = "0"; - } - //if (bind.Qty > pNum && isTextTable == 0) - if (bind.Qty > pNum) - { - throw new Exception($"缁戝畾澶辫触锛寋bind.PalletNo}鎵樼洏缁戝畾鏁伴噺澶т簬璇ョ墿鍝佹墭鐩樺寘瑁呮暟閲忥紒"); - } - - if (isSample == "1") - { - bind.InspectMark = "1"; - bind.SamplingQty = bind.SamplingQty == null ? sampleQty : bind.SamplingQty + sampleQty; - } - Db.Updateable(bind).Where(m => m.Id == bindId).ExecuteCommand(); - - #region 鍏ュ簱鍗曞強鏄庣粏 - decimal addQty = factQty; - - detail.FactQty += addQty;//宸茬粍鏁伴噺 - detail.CompleteQty += addQty;//瀹屾垚鏁伴噺 - if (isSample == "1") //鍚庢湡涓氬姟寮�鍙戞椂 鎺ュ彛浼犲�兼敼涓哄垽鏂槸鍚﹀彇鏍� - { - detail.IsSampling = "1"; - } - detail.Status = "1";//0锛氱瓑寰呮墽琛� 1锛氭鍦ㄦ墽琛� 2锛氭墽琛屽畬鎴� - if (detail.CompleteQty >= detail.Qty) - { - detail.Status = "2"; - detail.CompleteTime = comTime; - } - detail.UpdateUser = userId; - detail.UpdateTime = comTime; - //鏇存柊鍏ュ簱鍗曟槑缁� - Db.Updateable(detail).ExecuteCommand(); - - notice.UpdateUser = userId; - notice.UpdateTime = comTime; - if (notice.Status == "0") - { - notice.Status = "1"; - } - var asnDetailNum = Db.Queryable<BllArrivalNoticeDetail>() - .Count(m => m.IsDel == "0" && m.ASNNo == detail.ASNNo && m.Status != "2"); - if (asnDetailNum == 0) - { - notice.Status = "2"; - notice.CompleteTime = comTime;//瀹屾垚鏃堕棿 - } - //鏇存柊鍏ュ簱鍗� - Db.Updateable(notice).ExecuteCommand(); - #endregion - - #region 搴撳瓨鏄庣粏 - sd1.Qty = bind.Qty; - //鏇存敼搴撳瓨鏄庣粏鏁伴噺 - Db.Updateable(sd1).Where(m => m.Id == sdId1).ExecuteCommand(); - #endregion - - #region 搴撳瓨 - var dataStock = Db.Queryable<DataStock>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo && m.LotNo == bind.LotNo); - if (dataStock != null) - { - dataStock.Qty += factQty; + //var boxGroup = boxInfoList.GroupBy(m => new { m.BoxNo ,m.LotNo}).ToList(); //鏍规嵁绠辩爜銆佹壒姝ゅ垎缁� + //foreach (var g in boxGroup)//21 + //{ - if (bind.InspectMark == "1") - { - dataStock.IsSampling = bind.InspectMark; - } - Db.Updateable(dataStock).ExecuteCommand(); - } - else - { - var stock = new DataStock() - { - SkuNo = sku.SkuNo, - SkuName = sku.SkuName, - Standard = sku.Standard, - LotNo = bind.LotNo, - LotText = bind.LotText, - Qty = bind.Qty, - LockQty = 0, - FrozenQty = 0, - IsSampling = bind.InspectMark, - IsDel = "0", - CreateUser = userId, - CreateTime = comTime - }; - //缁存姢搴撳瓨璐т富淇℃伅 - if (notice.Type == "0" || notice.Type == "2" || notice.Type == "4" || notice.Type == "6" || notice.Type == "7")//0:鎴愬搧鍏ュ簱锛�2:涓棿鍝佸叆搴�,4:杞﹂棿浣欐枡鍏ュ簱,6:浠e偍鍏ュ簱,7:瀵勫瓨鍏ュ簱 - { - stock.OwnerNo = notice.CustomerNo;//璐т富缂栫爜 - stock.OwnerName = notice.CustomerName;//璐т富鍚嶇О - } - Db.Insertable(stock).ExecuteCommand(); - } - #endregion + // var isYou = false;//闇�鍒ゆ柇鏄惁鏄瓨鍦ㄥ簱瀛� + // var count = dataBoxInfo.Count(m => m.BoxNo == g.Key.BoxNo); + // if (count >0) + // { + // isYou = true; + // } - #region 璐ㄦ璇烽獙 - if ((notice.Type == "1" || notice.Type == "4" || notice.Type == "5") && sku.IsInspect != "1") - { - var qualityRequest = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo && m.LotNo == bind.LotNo && m.SupplierLot == bind.SupplierLot); - if (qualityRequest == null) - { - string qcNo = new Common().GetMaxNo("QC"); - qualityRequest = new BllQualityInspectionRequest(); - qualityRequest.QcNo = qcNo; - qualityRequest.Status = "0"; - qualityRequest.SkuNo = sku.SkuNo; - qualityRequest.SkuName = sku.SkuName; - qualityRequest.LotNo = bind.LotNo; - qualityRequest.SupplierLot = bind.SupplierLot; - qualityRequest.Qty = detail.Qty; - qualityRequest.SamplingQty = 0; - qualityRequest.ASNNo = detail.ASNNo; - qualityRequest.CreateUser = userId; - qualityRequest.CreateTime = comTime; - //娣诲姞璐ㄦ璇烽獙鍗� - Db.Insertable(qualityRequest).ExecuteCommand(); - } - } - #endregion + // var bind = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.ASNDetailNo == model.AsnDetailId && m.PalletNo == model.PalletNo && m.LotNo == g.Key.LotNo); + + // var bindId = 0; + // if (bind == null && !isYou) + // { + // bind = new BllPalletBind + // { + // ASNNo = model.AsnNo, + // ASNDetailNo = (int)model.AsnDetailId, + // PalletNo = model.PalletNo, + + // Qty = model.SkuQty, + // FullQty = pNum, + // Status = "2",//鍏ュ簱瀹屾垚 + // Type = "0", + // LotNo = model.LotNo, + // LotText = detail.LotText, + // SupplierLot = detail.SupplierLot, + // //InspectMark = model.IsSample, //鏄惁鍙栨牱鎵樼洏 鍚庢湡涓氬姟寮�鍙戞椂 鎺ュ彛浼犲�奸渶娣诲姞瀵瑰簲瀛楁鍒ゆ柇 + // //SamplingQty = 0, //鍙栨牱鏁伴噺 鍚庢湡涓氬姟寮�鍙戞椂 鎺ュ彛浼犲�奸渶娣诲姞瀵瑰簲瀛楁鍒ゆ柇 + // BitPalletMark = "1", + // IsBale = "0", + // IsBelt = "0", + // CreateUser = userId, + // Demo = model.Demo, + + // }; + // // 鎻掑叆鎵樼洏缁戝畾琛� + // bindId = Db.Insertable(bind).ExecuteReturnIdentity(); + // } + // else + // { + // bindId = bind.Id; + // bind.Qty += model.SkuQty; + // } + // if (bind.Qty < 0) + // { + // throw new Exception("缁勭洏鏁伴噺涓嶈兘灏忎簬0"); + // } + + + // decimal boxFullQty = 0;//绠卞唴鎬绘暟閲� + // foreach (var box in g)//鏀爜 2 + // { + // if (box.BindNo != null && box.BindNo != 0) + // { + // continue; + // } + // //绠卞唴鐗╂枡涓庡崟鎹槑缁嗕笉绗﹀悎 鍚屾墭鐩樺彲鍚岀墿鏂欎笉鍚屾壒娆� + // if (box.SkuNo != detail.SkuNo) + // { + // throw new Exception($"-1:{box.BoxNo}绠卞唴鐗╂枡鍙婃壒娆′笌鍗曟嵁涓嶄竴鑷达紝璇锋牳瀹�!"); + // } + + + + + // box.ASNNo = model.AsnNo; + // box.ASNDetailNo = model.AsnDetailId; + // box.BindNo = bindId; + // box.PalletNo = model.PalletNo; + // box.Status = "2"; + // //box.InspectMark = model.IsSample; //鏄惁鍙栨牱鎵樼洏 鍚庢湡涓氬姟寮�鍙戞椂 鎺ュ彛浼犲�奸渶娣诲姞瀵瑰簲瀛楁鍒ゆ柇 + // //box.SamplingQty = 0; //鍙栨牱鏁伴噺 鍚庢湡涓氬姟寮�鍙戞椂 鎺ュ彛浼犲�奸渶娣诲姞瀵瑰簲瀛楁鍒ゆ柇 + // box.CompleteTime = comTime; + // box.UpdateTime = comTime; + // box.UpdateUser = userId; + + // //box.Qty = box.Qty; + // //box.BitBoxMark = box.Qty == box.FullQty ? "0" : "1"; + + // factQty += box.Qty; + // boxFullQty += box.Qty; + // if (box.InspectMark == "1") //鍒ゆ柇鏄惁鍙栨牱 + // { + // isSample = "1"; + // sampleQty += (decimal)box.SamplingQty; + // } + + // #region 搴撳瓨绠辩爜鏄庣粏 + // var box2 = new DataBoxInfo() + // { + // StockDetailId = sdId1, + // BindNo = bind.Id, + // BoxNo = box.BoxNo, + // BoxNo2 = box.BoxNo2, + // BoxNo3 = box.BoxNo3, + // PalletNo = box.PalletNo, + // PalletNo2 = box.PalletNo2, + // PalletNo3 = box.PalletNo3, + // Qty = box.Qty, + // FullQty = box.FullQty, + // Status = "2",//0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣 + // LotNo = box.LotNo, + // LotText = box.LotText, + // SkuNo = box.SkuNo, + // SkuName = box.SkuName, + // Standard = sku.Standard, + // ProductionTime = box.ProductionTime, + // SupplierLot = box.SupplierLot, + // InspectStatus = sku.IsInspect, + // InspectMark = box.InspectMark, + // BitBoxMark = box.BitBoxMark, + // ExpirationTime = box.ExpirationTime, + + // CreateUser = 0, + // CreateTime = comTime + // }; + // //娣诲姞搴撳瓨绠辩爜鏄庣粏 + // Db.Insertable(box2).ExecuteCommand(); + // #endregion + // } + // if (boxFullQty > bNum) + // { + // throw new Exception($"缁戝畾澶辫触锛寋g.Key}绠辩爜缁戝畾鏁伴噺澶т簬璇ョ墿鍝佸寘瑁呮暟閲忥紒"); + // } + //} + //Db.Updateable(boxInfoList).ExecuteCommand(); + + + //#region 搴撳瓨鏄庣粏 + ////鑾峰彇璇ユ壒娆℃渶缁堣川妫�缁撴灉 + //BllQualityInspect quality = new BllQualityInspect(); + ////鍒ゆ柇鏄惁涓洪��璐у叆搴撳崟 + //if (notice.Type == "3") + //{ + // quality = Db.Queryable<BllQualityInspect>().Where(a => a.IsDel == "0" && a.ASNNo == detail.ASNNo && a.SkuNo == detail.SkuNo && a.LotNo == detail.LotNo).OrderByDescending(a => a.CreateTime).First(); + //} + //else + //{ + // quality = Db.Queryable<BllQualityInspect>().Where(a => a.IsDel == "0" && a.SkuNo == detail.SkuNo && a.LotNo == detail.LotNo).OrderByDescending(a => a.CreateTime).First(); + //} + //var tags = "0"; + //if (notice.Type == "3" || notice.Type == "4") + //{ + // tags = "1"; + //} + + //// 鍒ゆ柇搴撳瓨鏄庣粏鏄惁宸叉湁姝ゆ墭鐩樹俊鎭� + //var sd1 = Db.Queryable<DataStockDetail>() + // .First(m => m.IsDel == "0" && m.ASNDetailNo == bind.ASNDetailNo && m.PalletNo == model.PalletNo); + //var sdId1 = 0; + //if (sd1 != null) + //{ + // sdId1 = sd1.Id; + // // 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁 + // sd1.Qty = bind.Qty; + // sd1.CompleteTime = comTime; + // sd1.UpdateUser = userId; + // sd1.UpdateTime = comTime; + + // Db.Updateable(sd1).ExecuteCommand(); //淇敼璐ㄦ淇℃伅 + //} + //else + //{ + // // 搴撳瓨涓嶅瓨鍦� 鎻掑叆鏁版嵁 + // sd1 = new DataStockDetail() + // { + // LotNo = bind.LotNo, + // LotText = bind.LotText, + // SupplierLot = bind.SupplierLot, + // SkuNo = sku.SkuNo, + // SkuName = sku.SkuName, + // Standard = sku.Standard, + // Qty = bind.Qty, + // LockQty = 0, + // FrozenQty = 0, + // InspectQty = 0, + // ASNNo = bind.ASNNo, + // ASNDetailNo = bind.ASNDetailNo, + // WareHouseNo = "",//鎵�灞炰粨搴� + // RoadwayNo = "",//鎵�灞炲贩閬� + // AreaNo = "",//鎵�灞炲尯鍩� + // LocatNo = "",//鍌ㄤ綅鍦板潃 + // PalletNo = bind.PalletNo, + // PalletNo2 = bind.PalletNo2, + // PalletNo3 = bind.PalletNo3, + // PalletTags = tags, + // CompleteTime = comTime, + // ProductionTime = bind.ProductionTime, + // ExpirationTime = bind.ExpirationTime, + // Status = "0", + // InspectMark = bind.InspectMark, + // InspectStatus = sku.IsInspect, + // BitPalletMark = bind.BitPalletMark, + // PackagNo = detail.PackagNo, //liudl 鐢眘ku鐨勫寘瑁呯紪鍙峰彉涓哄叆搴撳崟鏄庣粏鐨勫寘瑁呯紪鐮� + // IsBale = bind.IsBale, + // IsBelt = bind.IsBelt, + + // IsDel = "0", + // CreateUser = 0, + // CreateTime = comTime + // }; + + // //缁存姢搴撳瓨鏄庣粏璐т富/渚涘簲鍟嗕俊鎭� + // if (notice.Type == "0" || notice.Type == "2" || notice.Type == "4" || notice.Type == "6" || notice.Type == "7")//0:鎴愬搧鍏ュ簱锛�2:涓棿鍝佸叆搴�,4:杞﹂棿浣欐枡鍏ュ簱,6:浠e偍鍏ュ簱,7:瀵勫瓨鍏ュ簱 + // { + // sd1.OwnerNo = notice.CustomerNo;//璐т富缂栫爜 + // sd1.OwnerName = notice.CustomerName;//璐т富鍚嶇О + // } + // else if (notice.Type == "1" || notice.Type == "5")//1:閲囪喘鍏ュ簱,2:鍏跺畠鍏ュ簱 + // { + // sd1.SupplierNo = notice.CustomerNo;//渚涘簲鍟嗙紪鐮� + // sd1.SupplierName = notice.CustomerName;//渚涘簲鍟嗗悕绉� + // } + // if (quality != null) + // { + // //淇敼鍚堟牸涓嶅悎鏍兼暟閲� + // if (quality.IsQualified == "1") //鍚堟牸 + // { + // //澧炲姞鍚堟牸鏁伴噺 + // quality.PassQty += bind.Qty; + // sd1.InspectStatus = "1"; + // } + // else if (quality.IsQualified == "0") //涓嶅悎鏍� + // { + // //澧炲姞涓嶅悎鏍兼暟閲� + // quality.FailQty += bind.Qty; + // sd1.InspectStatus = "2"; + // } + // Db.Updateable(quality).ExecuteCommand(); //淇敼璐ㄦ淇℃伅 + // } + // //娣诲姞搴撳瓨鏄庣粏 + // sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity(); + //} + //#endregion + + //#region 绠辩爜淇℃伅 + //var msgStr = $"绠卞彿涓簕model.BoxNo}"; + //var boxInfoList = new List<BllBoxInfo>(); + + ////棣栫 + //var boxInfo = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.BoxNo).ToList(); + //if (boxInfo.Count == 0) + //{ + // throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!"); + //} + //boxInfo = boxInfo.Where(m => m.Status == "0").ToList(); + //if (boxInfo.Count == 0) + //{ + // throw new Exception("绠辩爜宸茶浣跨敤!"); + //} + //boxInfoList.AddRange(boxInfo); + ////鏄惁杩炵画缁勬墭 + //if (model.IsContinue == "1") + //{ + // //灏剧 + // var boxInfo2 = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.TailBoxNo).ToList(); + // if (boxInfo2.Count == 0) + // { + // throw new Exception("灏剧鐮佷俊鎭笉瀛樺湪!"); + // } + // boxInfo2 = boxInfo2.Where(m => m.Status == "0").ToList(); + // if (boxInfo2.Count == 0) + // { + // throw new Exception("灏剧绠辩爜宸茶浣跨敤!"); + // } + // boxInfoList.AddRange(boxInfo2); + // var sql = $"select * from BllBoxInfo where IsDel = '0' and Status = '0' and boxNo>'{model.BoxNo}' and boxNo<'{model.TailBoxNo}'; "; + // var list = Db.Ado.SqlQuery<BllBoxInfo>(sql); + // boxInfoList.AddRange(list); + // msgStr += $"灏剧鍙蜂负{model.TailBoxNo}"; + //} + + //#endregion + + //// 鏇存敼绠辨敮鍏崇郴琛� + //decimal factQty = 0.00m;//鎵樼洏鎬绘暟閲� + //var isSample = "0";//鏄惁鍙栨牱 + //var sampleQty = 0m;//鍙栨牱鏁伴噺 + + + //var boxGroup = boxInfoList.GroupBy(m => m.BoxNo).ToList(); + //foreach (var g in boxGroup) + //{ + // decimal boxFullQty = 0;//绠卞唴鎬绘暟閲� + // foreach (var box in g) + // { + // if (box.BindNo != null && box.BindNo != 0) + // { + // continue; + // } + // //绠卞唴鐗╂枡鎵规涓庡崟鎹槑缁嗕笉绗﹀悎 + // if (box.SkuNo != detail.SkuNo || box.LotNo != model.LotNo) + // { + // throw new Exception($"-1:{box.BoxNo}绠卞唴鐗╂枡鍙婃壒娆′笌鍗曟嵁涓嶄竴鑷达紝璇锋牳瀹�!"); + // } + + // box.ASNNo = model.AsnNo; + // box.ASNDetailNo = model.AsnDetailId; + // box.BindNo = bindId; + // box.PalletNo = model.PalletNo; + // box.Status = "2"; + // //box.InspectMark = model.IsSample; //鏄惁鍙栨牱鎵樼洏 鍚庢湡涓氬姟寮�鍙戞椂 鎺ュ彛浼犲�奸渶娣诲姞瀵瑰簲瀛楁鍒ゆ柇 + // //box.SamplingQty = 0; //鍙栨牱鏁伴噺 鍚庢湡涓氬姟寮�鍙戞椂 鎺ュ彛浼犲�奸渶娣诲姞瀵瑰簲瀛楁鍒ゆ柇 + // box.CompleteTime = comTime; + // box.UpdateTime = comTime; + // box.UpdateUser = userId; + + // //box.Qty = box.Qty; + // //box.BitBoxMark = box.Qty == box.FullQty ? "0" : "1"; + + // factQty += box.Qty; + // boxFullQty += box.Qty; + // if (box.InspectMark == "1") //鍒ゆ柇鏄惁鍙栨牱 + // { + // isSample = "1"; + // sampleQty += (decimal)box.SamplingQty; + // } + + // #region 搴撳瓨绠辩爜鏄庣粏 + // var box2 = new DataBoxInfo() + // { + // StockDetailId = sdId1, + // BindNo = bind.Id, + // BoxNo = box.BoxNo, + // BoxNo2 = box.BoxNo2, + // BoxNo3 = box.BoxNo3, + // PalletNo = box.PalletNo, + // PalletNo2 = box.PalletNo2, + // PalletNo3 = box.PalletNo3, + // Qty = box.Qty, + // FullQty = box.FullQty, + // Status = "2",//0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣 + // LotNo = box.LotNo, + // LotText = box.LotText, + // SkuNo = box.SkuNo, + // SkuName = box.SkuName, + // Standard = sku.Standard, + // ProductionTime = box.ProductionTime, + // SupplierLot = box.SupplierLot, + // InspectStatus = sku.IsInspect, + // InspectMark = box.InspectMark, + // BitBoxMark = box.BitBoxMark, + // ExpirationTime = box.ExpirationTime, + + // CreateUser = 0, + // CreateTime = comTime + // }; + // //娣诲姞搴撳瓨绠辩爜鏄庣粏 + // Db.Insertable(box2).ExecuteCommand(); + // #endregion + // } + // if (boxFullQty > bNum) + // { + // throw new Exception($"缁戝畾澶辫触锛寋g.Key}绠辩爜缁戝畾鏁伴噺澶т簬璇ョ墿鍝佸寘瑁呮暟閲忥紒"); + // } + //} + //Db.Updateable(boxInfoList).ExecuteCommand(); + + //// 鏇存柊鎵樼洏缁戝畾琛� + //bind.Qty += factQty; + + ////if (bind.FullQty < bind.Qty && isTextTable == 0) + //if (bind.FullQty < bind.Qty) + //{ + // throw new Exception("鎵樼洏缁戝畾鏁伴噺宸茶秴鍑鸿鐗╂枡鍖呰鏁伴噺"); + //} + + //if (bind.FullQty == bind.Qty) + //{ + // bind.BitPalletMark = "0"; + // sd1.BitPalletMark = "0"; + //} + ////if (bind.Qty > pNum && isTextTable == 0) + //if (bind.Qty > pNum) + //{ + // throw new Exception($"缁戝畾澶辫触锛寋bind.PalletNo}鎵樼洏缁戝畾鏁伴噺澶т簬璇ョ墿鍝佹墭鐩樺寘瑁呮暟閲忥紒"); + //} + + //if (isSample == "1") + //{ + // bind.InspectMark = "1"; + // bind.SamplingQty = bind.SamplingQty == null ? sampleQty : bind.SamplingQty + sampleQty; + //} + //Db.Updateable(bind).Where(m => m.Id == bindId).ExecuteCommand(); + + //#region 鍏ュ簱鍗曞強鏄庣粏 + //decimal addQty = factQty; + + //detail.FactQty += addQty;//宸茬粍鏁伴噺 + //detail.CompleteQty += addQty;//瀹屾垚鏁伴噺 + //if (isSample == "1") //鍚庢湡涓氬姟寮�鍙戞椂 鎺ュ彛浼犲�兼敼涓哄垽鏂槸鍚﹀彇鏍� + //{ + // detail.IsSampling = "1"; + //} + //detail.Status = "1";//0锛氱瓑寰呮墽琛� 1锛氭鍦ㄦ墽琛� 2锛氭墽琛屽畬鎴� + //if (detail.CompleteQty >= detail.Qty) + //{ + // detail.Status = "2"; + // detail.CompleteTime = comTime; + //} + //detail.UpdateUser = userId; + //detail.UpdateTime = comTime; + ////鏇存柊鍏ュ簱鍗曟槑缁� + //Db.Updateable(detail).ExecuteCommand(); + + //notice.UpdateUser = userId; + //notice.UpdateTime = comTime; + //if (notice.Status == "0") + //{ + // notice.Status = "1"; + //} + //var asnDetailNum = Db.Queryable<BllArrivalNoticeDetail>() + // .Count(m => m.IsDel == "0" && m.ASNNo == detail.ASNNo && m.Status != "2"); + //if (asnDetailNum == 0) + //{ + // notice.Status = "2"; + // notice.CompleteTime = comTime;//瀹屾垚鏃堕棿 + //} + ////鏇存柊鍏ュ簱鍗� + //Db.Updateable(notice).ExecuteCommand(); + //#endregion + + //#region 搴撳瓨鏄庣粏 + //sd1.Qty = bind.Qty; + ////鏇存敼搴撳瓨鏄庣粏鏁伴噺 + //Db.Updateable(sd1).Where(m => m.Id == sdId1).ExecuteCommand(); + //#endregion + + //#region 搴撳瓨 + //var dataStock = Db.Queryable<DataStock>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo && m.LotNo == bind.LotNo); + //if (dataStock != null) + //{ + // dataStock.Qty += factQty; + + // if (bind.InspectMark == "1") + // { + // dataStock.IsSampling = bind.InspectMark; + // } + // Db.Updateable(dataStock).ExecuteCommand(); + //} + //else + //{ + // var stock = new DataStock() + // { + // SkuNo = sku.SkuNo, + // SkuName = sku.SkuName, + // Standard = sku.Standard, + // LotNo = bind.LotNo, + // LotText = bind.LotText, + // Qty = bind.Qty, + // LockQty = 0, + // FrozenQty = 0, + // IsSampling = bind.InspectMark, + // IsDel = "0", + // CreateUser = userId, + // CreateTime = comTime + // }; + // //缁存姢搴撳瓨璐т富淇℃伅 + // if (notice.Type == "0" || notice.Type == "2" || notice.Type == "4" || notice.Type == "6" || notice.Type == "7")//0:鎴愬搧鍏ュ簱锛�2:涓棿鍝佸叆搴�,4:杞﹂棿浣欐枡鍏ュ簱,6:浠e偍鍏ュ簱,7:瀵勫瓨鍏ュ簱 + // { + // stock.OwnerNo = notice.CustomerNo;//璐т富缂栫爜 + // stock.OwnerName = notice.CustomerName;//璐т富鍚嶇О + // } + // Db.Insertable(stock).ExecuteCommand(); + //} + //#endregion + + //#region 璐ㄦ璇烽獙 + //if ((notice.Type == "1" || notice.Type == "4" || notice.Type == "5") && sku.IsInspect != "1") + //{ + // var qualityRequest = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo && m.LotNo == bind.LotNo && m.SupplierLot == bind.SupplierLot); + // if (qualityRequest == null) + // { + // string qcNo = new Common().GetMaxNo("QC"); + // qualityRequest = new BllQualityInspectionRequest(); + // qualityRequest.QcNo = qcNo; + // qualityRequest.Status = "0"; + // qualityRequest.SkuNo = sku.SkuNo; + // qualityRequest.SkuName = sku.SkuName; + // qualityRequest.LotNo = bind.LotNo; + // qualityRequest.SupplierLot = bind.SupplierLot; + // qualityRequest.Qty = detail.Qty; + // qualityRequest.SamplingQty = 0; + // qualityRequest.ASNNo = detail.ASNNo; + // qualityRequest.CreateUser = userId; + // qualityRequest.CreateTime = comTime; + // //娣诲姞璐ㄦ璇烽獙鍗� + // Db.Insertable(qualityRequest).ExecuteCommand(); + // } + //} + //#endregion // 鏇存敼鎵樼洏浣跨敤鐘舵�� var sqlStr = $"update SysPallets set Status = '1' where PalletNo = '{model.PalletNo}';"; //娣诲姞鎵樼洏璁板綍琛ㄦ暟鎹� sqlStr += $"insert into LogPalletTrack values('{model.PalletNo}','{model.AsnNo}','缁勭洏','0',getDate(),{userId},NULL,NULL);"; Db.Ado.ExecuteCommand(sqlStr); - new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "鎵樼洏缁戝畾", model.AsnNo, "娣诲姞", $"娣诲姞浜嗘墭鐩樼爜涓猴細{model.PalletNo}銆亄msgStr}鐨勭粍鐩樹俊鎭�", userId); + //new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "鎵樼洏缁戝畾", model.AsnNo, "娣诲姞", $"娣诲姞浜嗘墭鐩樼爜涓猴細{model.PalletNo}銆亄msgStr}鐨勭粍鐩樹俊鎭�", userId); Db.CommitTran(); } -- Gitblit v1.8.0