From 5cff51cedf8320fd944e7748a09166f4c061b58b Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期三, 17 九月 2025 09:04:56 +0800 Subject: [PATCH] 库存统计增加所属仓库和所属区域查询条件 --- Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs | 99 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 82 insertions(+), 17 deletions(-) diff --git a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs index ace488b..6296674 100644 --- a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs @@ -514,7 +514,7 @@ CreateTime = a.CreateTime, UpdateTime = a.UpdateTime - }).OrderByDescending(a => a.CreateTime).OrderBy(a => a.BoxNo).ToOffsetPage(model.Page, model.Limit, ref total); + }).OrderByDescending(a => a.ASNNo).OrderBy(a => a.BoxNo).ToOffsetPage(model.Page, model.Limit, ref total); count = total; return data; } @@ -534,8 +534,17 @@ { throw new Exception("鏈煡璇㈠埌鍗曟嵁鏄庣粏淇℃伅锛岃鏍稿疄"); } + var skuInfo = Db.Queryable<SysMaterials>().First(w => w.IsDel == "0" && w.SkuNo == asnDetail.SkuNo); + if (skuInfo == null) + { + throw new Exception("鏈煡璇㈠埌鐗╂枡淇℃伅锛岃鏍稿疄"); + } + if (string.IsNullOrEmpty(skuInfo.PackagNo)) + { + throw new Exception("鏈煡璇㈠埌鐗╂枡鐨勫寘瑁呬俊鎭紝璇锋牳瀹�"); + } - var packInfo = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == asnDetail.PackagNo); + var packInfo = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == skuInfo.PackagNo); if (packInfo == null) { throw new Exception("鏈煡璇㈠埌鍗曟嵁鏄庣粏涓殑鐗╂枡鍖呰淇℃伅"); @@ -597,17 +606,31 @@ { throw new Exception("鍗曟嵁鏁伴噺涓嶈兘灏忎簬绛変簬0"); } - if (string.IsNullOrWhiteSpace(asnList.LotNo)) + //if (string.IsNullOrWhiteSpace(asnList.LotNo)) + //{ + // throw new Exception("鍗曟嵁鎵规鍙蜂笉鑳戒负绌�"); + //} + if (string.IsNullOrWhiteSpace(asnList.BoxCodeStr)) { - throw new Exception("鍗曟嵁鎵规鍙蜂笉鑳戒负绌�"); + throw new Exception("鍗曟嵁绠辩爜甯稿�间笉鑳戒负绌�"); } var asn = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == asnList.ASNNo && m.IsDel == "0"); if (asn == null) { throw new Exception("鏈煡璇㈠埌鍗曟嵁淇℃伅"); } - - var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == asnList.PackagNo); + //鍖呰缂栫爜 + var packagNo = asnList.PackagNo; + if (string.IsNullOrEmpty(packagNo)) + { + var skuInfo = Db.Queryable<SysMaterials>().First(w => w.IsDel == "0" && w.SkuNo == asnList.SkuNo); + if (skuInfo == null) + { + throw new Exception("鏈煡璇㈠埌鐗╂枡淇℃伅"); + } + packagNo = skuInfo.PackagNo; + } + var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == packagNo); if (pack == null) { throw new Exception("鏈煡璇㈠埌褰撳墠鍗曟嵁涓墿鏂欑殑鍖呰淇℃伅"); @@ -723,9 +746,16 @@ string maxLotNoStr = ""; //鎵规鍙� string maxBoxCode = ""; //绠辩爜鍙� - - maxLotNoStr = asnList.LotNo; - maxBoxCode = label.Where(m => m.LotNo == maxLotNoStr).Max(a => a.BoxNo); + + maxLotNoStr = asnList.BoxCodeStr;//asnList.LotNo; + if (string.IsNullOrEmpty(asnList.LotNo)) + { + maxBoxCode = label.Where(m => m.ASNDetailNo == asnList.Id).Max(a => a.BoxNo); + } + else + { + maxBoxCode = label.Where(m => m.LotNo == maxLotNoStr).Max(a => a.BoxNo); + } #endregion for (int i = 1; i <= labelNum; i++) @@ -760,7 +790,6 @@ maxBoxCode = maxBoxCode.Substring(0, maxBoxCode.Length-6) + (int.Parse(maxBoxCode.Substring(maxBoxCode.Length - 6, 6)) + 1).ToString().PadLeft(6, '0'); } - DateTime? storeTime2 = null; // 灏嗘潯鐮佷繚瀛樺埌鍘熸枡鏉$爜琛� var labelModel = new BllBoxInfo() { @@ -772,7 +801,7 @@ Status = "0", SkuNo = asnList.SkuNo, SkuName = asnList.SkuName, - LotNo = maxLotNoStr, + LotNo = asnList.LotNo,//maxLotNoStr, Standard = asnList.Standard, PackageStandard = packStr, SupplierLot = supplierLot, @@ -780,14 +809,26 @@ BitBoxMark = bNum > boxQty ? "1" : "0", InspectStatus = "0", - ProductionTime = DateTime.Parse(productionTime), - StoreTime = string.IsNullOrWhiteSpace(storeTime) ? storeTime2 : DateTime.Parse(storeTime ), - ExpirationTime = DateTime.Parse(expirationTime), + ProductionTime = null, + StoreTime = null, + ExpirationTime = null, Origin = "WMS鐢熸垚", CreateUser = userId, CreateTime = DateTime.Now, }; + if (!string.IsNullOrEmpty(productionTime)) + { + labelModel.ProductionTime = DateTime.Parse(productionTime); + } + if (!string.IsNullOrEmpty(storeTime)) + { + labelModel.StoreTime = DateTime.Parse(storeTime); + } + if (!string.IsNullOrEmpty(expirationTime)) + { + labelModel.ExpirationTime = DateTime.Parse(expirationTime); + } Db.Insertable(labelModel).ExecuteCommand(); modelList.Add(labelModel); @@ -932,14 +973,26 @@ BitBoxMark = bNum > boxQty ? "1" : "0", InspectStatus = "0", - ProductionTime = DateTime.Parse(productionTime), - StoreTime = DateTime.Parse(storeTime), - ExpirationTime = DateTime.Parse(expirationTime), + ProductionTime = null, + StoreTime = null, + ExpirationTime = null, Origin = "WMS鐢熸垚", CreateUser = userId, CreateTime = DateTime.Now, }; + if (!string.IsNullOrEmpty(productionTime)) + { + labelModel.ProductionTime = DateTime.Parse(productionTime); + } + if (!string.IsNullOrEmpty(storeTime)) + { + labelModel.StoreTime = DateTime.Parse(storeTime); + } + if (!string.IsNullOrEmpty(expirationTime)) + { + labelModel.ExpirationTime = DateTime.Parse(expirationTime); + } Db.Insertable(labelModel).ExecuteCommand(); modelList.Add(labelModel); @@ -1027,6 +1080,7 @@ model.ExpirationTime = data.ExpirationTime; // 鏈夋晥鏈熻嚦 model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦 + model.ProductionTime = data.ProductionTime;//鐢熶骇鏃ユ湡 model.Qty = dataList.Sum(m => m.Qty);// 鏁伴噺 @@ -1082,6 +1136,7 @@ model.ExpirationTime = data.ExpirationTime; // 鏈夋晥鏈熻嚦 model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦 + model.ProductionTime = data.ProductionTime;//鐢熶骇鏃ユ湡 model.Qty = data1.Sum(m => m.Qty);// 鏁伴噺 @@ -1134,6 +1189,7 @@ model.ExpirationTime = data.ExpirationTime; // 鏈夋晥鏈熻嚦 model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦 + model.ProductionTime = data.ProductionTime;//鐢熶骇鏃ユ湡 model.Qty = data.Qty;// 鏁伴噺 @@ -1186,6 +1242,7 @@ model.ExpirationTime = data.ExpirationTime; // 鏈夋晥鏈熻嚦 model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦 + model.ProductionTime = data.ProductionTime;//鐢熶骇鏃ユ湡 model.Qty = data.Qty;// 鏁伴噺 @@ -1252,6 +1309,7 @@ model1.ExpirationTime = data.ExpirationTime; // 鏈夋晥鏈熻嚦 model1.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦 + model1.ProductionTime = data.ProductionTime;//鐢熶骇鏃ユ湡 model1.Qty = dataList.Sum(m => m.Qty);// 鏁伴噺 model1.BoxNo = data.BoxNo; // 绠卞彿 @@ -1271,6 +1329,7 @@ model.ExpirationTime = data.ExpirationTime; // 鏈夋晥鏈熻嚦 model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦 + model.ProductionTime = data.ProductionTime;//鐢熶骇鏃ユ湡 model.Qty = data.Qty;// 鏁伴噺 model.BoxNo = data.BoxNo3; // 鏀彿 @@ -1318,6 +1377,7 @@ model.ExpirationTime = boxData.ExpirationTime; // 鏈夋晥鏈熻嚦 model.StoreTime = boxData.StoreTime; // 鍌ㄥ瓨鏈熻嚦 + model.ProductionTime = boxData.ProductionTime;//鐢熶骇鏃ユ湡 model.Qty = data.Sum(m => m.Qty); // 鏁伴噺 model.BoxNo = boxData.BoxNo; // 鏀彿 @@ -1340,6 +1400,7 @@ model1.ExpirationTime = item.ExpirationTime; // 鏈夋晥鏈熻嚦 model1.StoreTime = item.StoreTime; // 鍌ㄥ瓨鏈熻嚦 + model1.ProductionTime = item.ProductionTime;//鐢熶骇鏃ユ湡 model1.Qty = item.Qty;// 鏁伴噺 model1.BoxNo = item.BoxNo3; // 鏀彿 @@ -1386,6 +1447,7 @@ model.ExpirationTime = boxData.ExpirationTime; // 鏈夋晥鏈熻嚦 model.StoreTime = boxData.StoreTime; // 鍌ㄥ瓨鏈熻嚦 + model.ProductionTime = boxData.ProductionTime;//鐢熶骇鏃ユ湡 model.Qty = data.Sum(m => m.Qty); // 鏁伴噺 model.BoxNo = boxData.BoxNo; // 鏀彿 @@ -1410,6 +1472,7 @@ model1.ExpirationTime = item.ExpirationTime; // 鏈夋晥鏈熻嚦 model1.StoreTime = item.StoreTime; // 鍌ㄥ瓨鏈熻嚦 + model.ProductionTime = item.ProductionTime;//鐢熶骇鏃ユ湡 model1.Qty = item.Qty; // 鏁伴噺 model1.BoxNo = item.BoxNo3; // 鏀彿 @@ -1478,6 +1541,7 @@ model.ExpirationTime = boxData.ExpirationTime; // 鏈夋晥鏈熻嚦 model.StoreTime = boxData.StoreTime; // 鍌ㄥ瓨鏈熻嚦 + model.ProductionTime = boxData.ProductionTime;//鐢熶骇鏃ユ湡 model.Qty = data.Sum(m => m.Qty); // 鏁伴噺 model.BoxNo = boxData.BoxNo; // 鏀彿 @@ -1506,6 +1570,7 @@ model1.ExpirationTime = item.ExpirationTime; // 鏈夋晥鏈熻嚦 model1.StoreTime = item.StoreTime; // 鍌ㄥ瓨鏈熻嚦 + model.ProductionTime = item.ProductionTime;//鐢熶骇鏃ユ湡 model1.Qty = item.Qty;// 鏁伴噺 model1.BoxNo = item.BoxNo3; // 鏀彿 -- Gitblit v1.8.0