From 06bc1ebcdbc217a7f53be2926ee4c25eb2990903 Mon Sep 17 00:00:00 2001 From: zhaowc <526854230@qq.com> Date: 星期四, 29 八月 2024 09:07:25 +0800 Subject: [PATCH] 修改组托收货箱码关联,和平库出库单页面 --- Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 162 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 133 insertions(+), 29 deletions(-) diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs index 7c124fd..35a07f3 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs @@ -1888,16 +1888,17 @@ BoxNo, SkuNo, SkuName, - LotNo, + LotNo, + BitBoxMark, SUM(Qty) as Qty FROM BllBoxInfo WHERE IsDel = '0' AND Status='0' AND BoxNo = '{model.BoxNo}' - GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo; "; + GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; "; var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString); - if (models == null) + if (models.Count == 0 ) { throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!"); } @@ -1909,6 +1910,55 @@ throw ex; } } + + /// <summary> + /// 鏍规嵁绠辩爜鍚戣拷婧郴缁熻姹傛爣绛剧鐮佷俊鎭� + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + public List<BoxInfoDto> GetFMBindBoxInfos(string boxno) + { + try + { + #region 绠辩爜璇锋眰鎺ュ彛锛屾寮忕郴缁熸斁寮� + /*var jsonData = JsonConvert.SerializeObject(boxno); + + var response = HttpHelper.DoPost(url, jsonData, "绠辩爜淇℃伅璇锋眰", "FM"); + + var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁 + if (obj.Success != 0) + { + throw new Exception("璇锋眰澶辫触" + obj.Message); + }*/ + #endregion + string sqlString = $@"SELECT + ASNNo, + BoxNo, + SkuNo, + SkuName, + LotNo, + BitBoxMark, + SUM(Qty) as Qty + FROM BllBoxInfo + WHERE IsDel = '0' + AND Status='0' + AND BoxNo = '{boxno}' + GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; "; + var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString); // response + + if (models.Count == 0) + { + throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!"); + } + + return models; + } + catch (Exception ex) + { + throw ex; + } + } + // 鏍规嵁鍗曟嵁鍙疯幏鍙栧崟鎹槑缁嗗垪琛� public List<ArrivalNoticeDetailDto> GetBindArrivalNoticeDetails(ArrivalNoticeVm model) { @@ -3527,12 +3577,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 +3603,7 @@ PalletNo = model.PalletNo, PalletNo2 = "", PalletNo3 = "", - Qty = model.SkuQty - pinBoxQty,//涓嶅寘鍚嫾绠变腑闈炲悓鎵规鏁伴噺 + Qty = model.SkuQty,//涓嶅寘鍚嫾绠变腑闈炲悓鎵规鏁伴噺 FullQty = pNum, Status = "2",//鍏ュ簱瀹屾垚 Type = "0", @@ -3576,10 +3626,10 @@ bindId = bind.Id; bind.Qty += model.SkuQty; } - if (bind.Qty < 0) + /*if (bind.Qty < 0) { throw new Exception("缁勭洏鏁伴噺涓嶈兘灏忎簬0"); - } + }*/ #endregion #region 搴撳瓨鏄庣粏鍜岃川妫�淇℃伅 @@ -3917,6 +3967,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 +3977,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 +3991,7 @@ PalletNo = model.PalletNo, PalletNo2 = "", PalletNo3 = "", - Qty = pinBoxQty, + Qty = 0, FullQty = pNum, Status = "2",//鍏ュ簱瀹屾垚 Type = "0", @@ -3967,7 +4021,7 @@ // 鎻掑叆搴撳瓨鏄庣粏鏁版嵁 var sd1 = new DataStockDetail() { - LotNo = pinBoxNo, + LotNo = pinBoxLotNo, LotText = notBoxInfoList[0].LotText, SupplierLot = notBoxInfoList[0].SupplierLot, SkuNo = sku.SkuNo, @@ -3983,9 +4037,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 +4056,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 +4094,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 +4106,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 +4123,7 @@ PalletNo = model.PalletNo, PalletNo2 = "", PalletNo3 = "", - Qty = pinBoxQty, + Qty = 0, FullQty = pNum, Status = "2",//鍏ュ簱瀹屾垚 Type = "0", @@ -4079,9 +4144,6 @@ else { bindId = bind.Id; - bind.Qty += pinBoxQty; - - Db.Updateable(bind).ExecuteCommand(); } #endregion @@ -4110,7 +4172,7 @@ { sdId1 = sd1.Id; // 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁 - sd1.Qty = pinBoxQty; + sd1.Qty = bind.Qty; sd1.CompleteTime = comTime; sd1.UpdateUser = userId; sd1.UpdateTime = comTime; @@ -4128,7 +4190,7 @@ SkuNo = sku.SkuNo, SkuName = sku.SkuName, Standard = sku.Standard, - Qty = pinBoxQty, + Qty = bind.Qty, LockQty = 0, FrozenQty = 0, InspectQty = 0, @@ -4149,7 +4211,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 +4270,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 +4371,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 +5203,7 @@ SendDate = serverTime, //鍙戦�佹椂闂� BackDate = serverTime, //杩斿洖鏃堕棿 StartLocat = "",//璧峰浣嶇疆 - EndLocat = "鍔涜骞冲簱",//鐩爣浣嶇疆 + EndLocat = "骞冲簱",//鐩爣浣嶇疆 PalletNo = bindInfo.PalletNo,//鎵樼洏鐮� IsSend = 0,//鏄惁鍙啀娆′笅鍙� IsCancel = 0,//鏄惁鍙彇娑� @@ -5149,7 +5211,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 +5225,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 +5342,7 @@ SendDate = DateTime.Now, //鍙戦�佹椂闂� BackDate = DateTime.Now, //杩斿洖鏃堕棿 StartLocat = "",//璧峰浣嶇疆 - EndLocat = "鐗у師骞冲簱",//鐩爣浣嶇疆 + EndLocat = "骞冲簱",//鐩爣浣嶇疆 PalletNo = model.PalletNo,//鎵樼洏鐮� IsSend = 0,//鏄惁鍙啀娆′笅鍙� IsCancel = 0,//鏄惁鍙彇娑� @@ -5267,7 +5350,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 +5366,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