From 94deafdd5a4fdd4a1717aead3ce542bfed5d62ea Mon Sep 17 00:00:00 2001 From: bklLiudl <673013083@qq.com> Date: 星期一, 26 八月 2024 09:13:05 +0800 Subject: [PATCH] Merge branch 'master' into Liudl --- Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 106 ++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 80 insertions(+), 26 deletions(-) diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs index 7c124fd..bed4f60 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs @@ -3527,12 +3527,12 @@ boxInfoList.AddRange(list); msgStr += $"灏剧鍙蜂负{model.TailBoxNo}"; } + //缁戝畾绠辨�绘暟閲� + //model.SkuQty = boxInfoList.Sum(s => s.Qty); //鍜岄�夋嫨鐨勬壒娆″悓鎵规鐨勭鐮佷俊鎭� - var sameBoxInfoList = boxInfoList.Where(w => w.LotNo == model.LotNo).ToList(); + var sameBoxInfoList = boxInfoList.Where(w => w.LotNo == model.LotNo && w.Status == "0").ToList(); //鍜岄�夋嫨鐨勬壒娆′笉鍚屾壒娆$殑绠辩爜淇℃伅锛堟嫾绠辨壒娆★級 var notBoxInfoList = boxInfoList.Where(w => w.LotNo != model.LotNo).ToList(); - //鎷肩鏁伴噺(鍜岄�夋嫨鐨勬壒娆′笉鍚屾壒娆$殑绠辩爜鏁伴噺) - decimal pinBoxQty = notBoxInfoList.Sum(s => s.Qty); #endregion if (sameBoxInfoList.Count <= 0) @@ -3553,7 +3553,7 @@ PalletNo = model.PalletNo, PalletNo2 = "", PalletNo3 = "", - Qty = model.SkuQty - pinBoxQty,//涓嶅寘鍚嫾绠变腑闈炲悓鎵规鏁伴噺 + Qty = model.SkuQty,//涓嶅寘鍚嫾绠变腑闈炲悓鎵规鏁伴噺 FullQty = pNum, Status = "2",//鍏ュ簱瀹屾垚 Type = "0", @@ -3576,10 +3576,10 @@ bindId = bind.Id; bind.Qty += model.SkuQty; } - if (bind.Qty < 0) + /*if (bind.Qty < 0) { throw new Exception("缁勭洏鏁伴噺涓嶈兘灏忎簬0"); - } + }*/ #endregion #region 搴撳瓨鏄庣粏鍜岃川妫�淇℃伅 @@ -3917,6 +3917,8 @@ } var pinBoxNo = notBoxInfoList[0].BoxNo;//鎷肩绠辩爜 var pinBoxLotNo = notBoxInfoList[0].LotNo;//鎷肩鎵规鍙� + //鎷肩鏁伴噺(鍜岄�夋嫨鐨勬壒娆′笉鍚屾壒娆$殑绠辩爜鏁伴噺) + decimal pinBoxQty = notBoxInfoList.Sum(s => s.Qty); var dataBoxList = Db.Queryable<DataBoxInfo>().Where(w => w.IsDel == "0" && w.BoxNo == pinBoxNo && w.LotNo == pinBoxLotNo).ToList(); if (dataBoxList.Count > 0)//宸叉湁搴撳瓨 @@ -3925,6 +3927,8 @@ var oldPalletBind = Db.Queryable<BllPalletBind>().First(w => w.Id == notBoxInfoList[0].BindNo); //鍘熷叆搴撳崟鏄庣粏 var oldAsnDetail = Db.Queryable<BllArrivalNoticeDetail>().First(w => w.Id == oldPalletBind.ASNDetailNo); + //鍘熷叆搴撳崟 + var oldAsnNotice = Db.Queryable<BllArrivalNotice>().First(w => w.ASNNo == oldAsnDetail.ASNNo); #region 鎵樼洏缁戝畾淇℃伅 var bind = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.ASNDetailNo == oldAsnDetail.Id && m.PalletNo == model.PalletNo); var bindId = 0; @@ -3937,7 +3941,7 @@ PalletNo = model.PalletNo, PalletNo2 = "", PalletNo3 = "", - Qty = pinBoxQty, + Qty = 0, FullQty = pNum, Status = "2",//鍏ュ簱瀹屾垚 Type = "0", @@ -3967,7 +3971,7 @@ // 鎻掑叆搴撳瓨鏄庣粏鏁版嵁 var sd1 = new DataStockDetail() { - LotNo = pinBoxNo, + LotNo = pinBoxLotNo, LotText = notBoxInfoList[0].LotText, SupplierLot = notBoxInfoList[0].SupplierLot, SkuNo = sku.SkuNo, @@ -3983,9 +3987,9 @@ RoadwayNo = "",//鎵�灞炲贩閬� AreaNo = "",//鎵�灞炲尯鍩� LocatNo = "",//鍌ㄤ綅鍦板潃 - PalletNo = oldPalletBind.PalletNo, - PalletNo2 = oldPalletBind.PalletNo2, - PalletNo3 = oldPalletBind.PalletNo3, + PalletNo = bind.PalletNo, + PalletNo2 = bind.PalletNo2, + PalletNo3 = bind.PalletNo3, PalletTags = "0", CompleteTime = comTime, ProductionTime = oldPalletBind.ProductionTime, @@ -4002,6 +4006,17 @@ CreateUser = 0, CreateTime = comTime }; + //缁存姢搴撳瓨鏄庣粏璐т富/渚涘簲鍟嗕俊鎭� + if (oldAsnNotice.Type == "0" || oldAsnNotice.Type == "2" || oldAsnNotice.Type == "4" || oldAsnNotice.Type == "6" || oldAsnNotice.Type == "7")//0:鎴愬搧鍏ュ簱锛�2:涓棿鍝佸叆搴�,4:杞﹂棿浣欐枡鍏ュ簱,6:浠e偍鍏ュ簱,7:瀵勫瓨鍏ュ簱 + { + sd1.OwnerNo = oldAsnNotice.CustomerNo;//璐т富缂栫爜 + sd1.OwnerName = oldAsnNotice.CustomerName;//璐т富鍚嶇О + } + else if (oldAsnNotice.Type == "1" || oldAsnNotice.Type == "5")//1:閲囪喘鍏ュ簱,2:鍏跺畠鍏ュ簱 + { + sd1.SupplierNo = oldAsnNotice.CustomerNo;//渚涘簲鍟嗙紪鐮� + sd1.SupplierName = oldAsnNotice.CustomerName;//渚涘簲鍟嗗悕绉� + } //娣诲姞搴撳瓨鏄庣粏 var sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity(); foreach (var item in dataBoxList) @@ -4029,7 +4044,7 @@ string sql = $@"SELECT detail.* FROM BllArrivalNoticeDetail as detail JOIN BllArrivalNotice as notice ON detail.ASNNo=notice.ASNNo WHERE notice.IsDel='0' - AND notice.Status='1' + AND ( notice.Status=0 or notice.Status=1 ) AND detail.IsDel='0' AND detail.LotNo='{pinBoxLotNo}' AND detail.SkuNo='{sku.SkuNo}' @@ -4041,7 +4056,7 @@ throw new Exception("鎷肩鍐呯墿鏂欐墍灞炲叆搴撳崟鏄庣粏涓嶅瓨鍦�!"); } //鎵惧埌鎷肩鍐呭叾浠栨壒娆℃墍灞炲叆搴撳崟 - var arrNotice = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.ASNNo == arrDetail.ASNNo && w.Status == "1"); + var arrNotice = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.ASNNo == arrDetail.ASNNo); if (arrNotice == null) { throw new Exception("鎷肩鍐呯墿鏂欐墍灞炲叆搴撳崟涓嶅瓨鍦�!"); @@ -4058,7 +4073,7 @@ PalletNo = model.PalletNo, PalletNo2 = "", PalletNo3 = "", - Qty = pinBoxQty, + Qty = 0, FullQty = pNum, Status = "2",//鍏ュ簱瀹屾垚 Type = "0", @@ -4079,9 +4094,6 @@ else { bindId = bind.Id; - bind.Qty += pinBoxQty; - - Db.Updateable(bind).ExecuteCommand(); } #endregion @@ -4110,7 +4122,7 @@ { sdId1 = sd1.Id; // 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁 - sd1.Qty = pinBoxQty; + sd1.Qty = bind.Qty; sd1.CompleteTime = comTime; sd1.UpdateUser = userId; sd1.UpdateTime = comTime; @@ -4128,7 +4140,7 @@ SkuNo = sku.SkuNo, SkuName = sku.SkuName, Standard = sku.Standard, - Qty = pinBoxQty, + Qty = bind.Qty, LockQty = 0, FrozenQty = 0, InspectQty = 0, @@ -4149,7 +4161,7 @@ InspectMark = bind.InspectMark, InspectStatus = sku.IsInspect, BitPalletMark = bind.BitPalletMark, - PackagNo = detail.PackagNo, //liudl 鐢眘ku鐨勫寘瑁呯紪鍙峰彉涓哄叆搴撳崟鏄庣粏鐨勫寘瑁呯紪鐮� + PackagNo = arrDetail.PackagNo, //liudl 鐢眘ku鐨勫寘瑁呯紪鍙峰彉涓哄叆搴撳崟鏄庣粏鐨勫寘瑁呯紪鐮� IsBale = bind.IsBale, IsBelt = bind.IsBelt, @@ -4208,7 +4220,7 @@ continue; } //绠卞唴鐗╂枡鎵规涓庡崟鎹槑缁嗕笉绗﹀悎 - if (box.SkuNo != detail.SkuNo || box.LotNo != model.LotNo) + if (box.SkuNo != arrDetail.SkuNo || box.LotNo != arrDetail.LotNo) { throw new Exception($"-1:{box.BoxNo}绠卞唴鐗╂枡鍙婃壒娆′笌鍗曟嵁涓嶄竴鑷达紝璇锋牳瀹�!"); } @@ -4309,7 +4321,7 @@ arrDetail.IsSampling = "1"; } arrDetail.Status = "1";//0锛氱瓑寰呮墽琛� 1锛氭鍦ㄦ墽琛� 2锛氭墽琛屽畬鎴� - if (arrDetail.CompleteQty >= detail.Qty) + if (arrDetail.CompleteQty >= arrDetail.Qty) { arrDetail.Status = "2"; arrDetail.CompleteTime = comTime; @@ -5141,7 +5153,7 @@ SendDate = serverTime, //鍙戦�佹椂闂� BackDate = serverTime, //杩斿洖鏃堕棿 StartLocat = "",//璧峰浣嶇疆 - EndLocat = "鍔涜骞冲簱",//鐩爣浣嶇疆 + EndLocat = "骞冲簱",//鐩爣浣嶇疆 PalletNo = bindInfo.PalletNo,//鎵樼洏鐮� IsSend = 0,//鏄惁鍙啀娆′笅鍙� IsCancel = 0,//鏄惁鍙彇娑� @@ -5149,7 +5161,7 @@ Type = "0",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟 Status = "2",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚 OrderType = "0",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� - Msg = "鍔涜骞冲簱鐨勫叆搴撲换鍔�", + Msg = "骞冲簱鐨勫叆搴撲换鍔�", }; Db.Insertable(exTask).ExecuteCommand(); @@ -5163,6 +5175,27 @@ bindInfo.TaskNo = taskNo; //浠诲姟鍙� Db.Updateable(bindInfo).ExecuteCommand(); #endregion + + /* #region 娣诲姞鎵樼洏涓婃灦璁板綍 + var upShelf = new BllPalletUpShelf() + { + TaskNo = exTask.TaskNo, + TraceNo = bindInfo.ASNNo, + PalletNo = bindInfo.PalletNo, + SkuNo = stockModel.SkuNo, + SkuName = stockModel.SkuName, + LotNo = stockModel.LotNo, + Status = "1", + + WareHouseNo = bindInfo.WareHouseNo, + RoadwayNo = bindInfo.RoadwayNo, + AreaNo = "", + LocatNo = "", + + CreateUser = 0, + }; + Db.Insertable(upShelf).ExecuteCommand(); + #endregion*/ #region 搴撳瓨绠辨敮鏄庣粏琛� // 鎻掑叆鏂扮粍鐨勭鏀俊鎭� @@ -5259,7 +5292,7 @@ SendDate = DateTime.Now, //鍙戦�佹椂闂� BackDate = DateTime.Now, //杩斿洖鏃堕棿 StartLocat = "",//璧峰浣嶇疆 - EndLocat = "鐗у師骞冲簱",//鐩爣浣嶇疆 + EndLocat = "骞冲簱",//鐩爣浣嶇疆 PalletNo = model.PalletNo,//鎵樼洏鐮� IsSend = 0,//鏄惁鍙啀娆′笅鍙� IsCancel = 0,//鏄惁鍙彇娑� @@ -5267,7 +5300,7 @@ Type = "0",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟 Status = "2",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚 OrderType = "3",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� - Msg = "鐗у師骞冲簱鐨勫叆搴撲换鍔�", + Msg = "骞冲簱鐨勫叆搴撲换鍔�", }; Db.Insertable(exTask).ExecuteCommand(); //鎵樼洏缁戝畾淇℃伅 @@ -5283,6 +5316,27 @@ Db.Updateable(bindInfo).ExecuteCommand(); } #endregion + + #region 娣诲姞鎵樼洏涓婃灦璁板綍 + var palletupinfo = stockDetail.First(); + var upShelf = new BllPalletUpShelf() + { + TaskNo = exTask.TaskNo, + TraceNo = bindInfo.ASNNo, + PalletNo = bindInfo.PalletNo, + SkuNo = palletupinfo.SkuNo, + SkuName = palletupinfo.SkuName, + LotNo = palletupinfo.LotNo, + Status = "2", + LocatNo = model.LocatNo, + WareHouseNo = bindInfo.WareHouseNo, + RoadwayNo = bindInfo.RoadwayNo, + AreaNo = storageLocat.AreaNo, + + CreateUser = 0, + }; + Db.Insertable(upShelf).ExecuteCommand(); + #endregion } storageLocat.Status = "1";//鐘舵�佸凡浣跨敤 storageLocat.UpdateTime = serverTime; //淇敼鏃堕棿 -- Gitblit v1.8.0