From 65ecd34acf0a3d33e6c1e10c93e351716d749e2f Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@DESKTOP-5BIMHQ3> Date: 星期三, 06 三月 2024 14:51:29 +0800 Subject: [PATCH] 修改出库单编辑页面 --- Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs | 103 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 83 insertions(+), 20 deletions(-) diff --git a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs index 770214d..3593c83 100644 --- a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs @@ -862,22 +862,48 @@ } } var roadList = Db.Queryable<SysStorageLocat>().Where(m => m.WareHouseNo == houseNo && areaList.Contains(m.AreaNo)) - .GroupBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).ToList(); + .GroupBy(m => m.RoadwayNo).OrderBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).ToList(); - SysRoadwayUseLog useLog = Db.Ado.SqlQuerySingle<SysRoadwayUseLog>("select Top(1) * from SysRoadwayUseLog where IsDel=0 order by CreateTime desc"); //宸烽亾鏈�鍚庝竴娆′娇鐢ㄨ褰� + SysRoadwayUseLog useLog = Db.Queryable<SysRoadwayUseLog>().Where(m=>m.IsDel =="0" && roadList.Contains(m.RoadwayNo)).OrderByDescending(l => l.Id).First(); //宸烽亾鏈�鍚庝竴娆′娇鐢ㄨ褰� - var bindNum = Db.Queryable<BllPalletBind>() - .Where(m => m.IsDel == "0" && m.Status == "0" && !string.IsNullOrWhiteSpace(m.RoadwayNo)) - .GroupBy(m => m.PalletNo).Select(m => m.PalletNo).Count(); + #region 纭畾宸烽亾鎺掑簭 + + List<string> roadList2 = new List<string>(); + List<string> roadSmall = new List<string>(); + List<string> roadLarge = new List<string>(); + if (useLog != null) + { + roadList2.Add(useLog.RoadwayNo); + foreach (var r in roadList) + { + if (r == useLog.RoadwayNo) + { + continue; + } + //濡傛灉缁撴灉涓�0锛屽垯璇存槑涓や釜瀛楃涓茬浉绛夛紱 + //濡傛灉缁撴灉灏忎簬0锛屽垯璇存槑绗竴涓瓧绗︿覆灏忎簬绗簩涓瓧绗︿覆锛� + //濡傛灉缁撴灉澶т簬0锛屽垯璇存槑绗竴涓瓧绗︿覆澶т簬绗簩涓瓧绗︿覆銆� + var bol = String.CompareOrdinal(r, useLog.RoadwayNo); + if (bol < 0) + { + roadSmall.Add(r); + } + if (bol > 0) + { + roadLarge.Add(r); + } + } + roadList2.AddRange(roadLarge); + roadList2.AddRange(roadSmall); + } + + roadList = roadList2; + #endregion + var roadNo = ""; if (laneAllot == 0)//璺冲贩閬撳钩鍧囧垎閰� { - //濡傛灉鍚岀骇宸烽亾鏈夊鏉″垯鏌ヤ笂娆′綅缃棩蹇� - if (roadList.Count > 1) - { - useLog = Db.Queryable<SysRoadwayUseLog>().OrderByDescending(l => l.Id).First(); - } //鍙栧悇宸烽亾鎵�鏈夋帓绗竴涓悎閫備綅 foreach (var l in roadList) { @@ -888,7 +914,11 @@ } var locateCount = Db.Queryable<SysStorageLocat>() - .Where(m => m.Status == "0" && m.Flag == "0" && areaList.Contains(m.AreaNo)).Count(); + .Where(m => m.Status == "0" && m.Flag == "0" && areaList.Contains(m.AreaNo) && m.RoadwayNo == l).Count(); + + var bindNum = Db.Queryable<BllPalletBind>() + .Where(m => m.IsDel == "0" && m.Status == "0" && m.RoadwayNo== l) + .GroupBy(m => m.PalletNo).Select(m => m.PalletNo).Count(); if (locateCount - bindNum > 0) { roadNo = l; @@ -905,19 +935,39 @@ { if (useLog != null) { - roadNo = useLog.RoadwayNo; + var locateCount = Db.Queryable<SysStorageLocat>() + .Where(m => m.Status == "0" && m.Flag == "0" && areaList.Contains(m.AreaNo) && m.RoadwayNo == useLog.RoadwayNo).Count(); + + var bindNum = Db.Queryable<BllPalletBind>() + .Where(m => m.IsDel == "0" && m.Status == "0" && m.RoadwayNo == useLog.RoadwayNo) + .GroupBy(m => m.PalletNo).Select(m => m.PalletNo).Count(); + if (locateCount - bindNum > 0) + { + roadNo = useLog.RoadwayNo; + } } } } else//鎸夌収宸烽亾浼樺厛绾у垎閰� { foreach (var item in roadList) - { - roadNo = item; + { + var locateCount = Db.Queryable<SysStorageLocat>() + .Where(m => m.Status == "0" && m.Flag == "0" && areaList.Contains(m.AreaNo) && m.RoadwayNo == item).Count(); + + var bindNum = Db.Queryable<BllPalletBind>() + .Where(m => m.IsDel == "0" && m.Status == "0" && m.RoadwayNo == item) + .GroupBy(m => m.PalletNo).Select(m => m.PalletNo).Count(); + + if (locateCount - bindNum > 0) + { + roadNo = item; + } + //褰撳墠宸锋湁浣嶇疆鍒欓��鍑� if (roadNo != null) { break; - } + } } } @@ -975,7 +1025,7 @@ } #endregion - return null; + return comDto; } catch (Exception e) { @@ -1449,12 +1499,19 @@ #endregion break; - case "0": + case "0": var noticeDetail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == item.ASNDetailNo); if (noticeDetail == null) { throw new Exception("鏈煡璇㈠埌鎵樼洏缁戝畾鐨勫叆搴撳崟鏄庣粏淇℃伅"); } + var notice = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == noticeDetail.ASNNo); + if (notice == null) + { + throw new Exception("鏈煡璇㈠埌鎵樼洏缁戝畾鐨勫叆搴撳崟淇℃伅"); + } + string ownerNo = notice.CustomerNo;//璐т富缂栫爜 + string ownerName = notice.CustomerName;//璐т富鍚嶇О var sku1 = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == noticeDetail.SkuNo); string isinspect = "0"; @@ -1471,7 +1528,7 @@ { LotNo = item.LotNo, LotText = noticeDetail.LotText, - SupplierLot = noticeDetail.SupplierLot, + SupplierLot = noticeDetail.SupplierLot, SkuNo = noticeDetail.SkuNo, SkuName = noticeDetail.SkuName, Standard = noticeDetail.Standard, @@ -1499,6 +1556,10 @@ PackagNo = noticeDetail.PackagNo, IsBale = item.IsBale, IsBelt = item.IsBelt, + Demo = item.Demo, + + OwnerNo = ownerNo, + OwnerName = ownerName, IsDel = "0", CreateUser = 0, @@ -1588,6 +1649,9 @@ LockQty = 0, FrozenQty = 0, + OwnerNo = ownerNo, + OwnerName = ownerName, + IsDel = "0", CreateUser = userId, CreateTime = comTime @@ -1609,8 +1673,7 @@ var asnDetailNum = Db.Queryable<BllArrivalNoticeDetail>() .Count(m => m.IsDel == "0" && m.ASNNo == noticeDetail.ASNNo && m.Status != "2"); if (asnDetailNum == 0) - { - var notice = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == noticeDetail.ASNNo); + { notice.Status = "2"; notice.CompleteTime = comTime; Db.Updateable(notice).ExecuteCommand(); -- Gitblit v1.8.0