From f147cfa91feec613eb304c78fecafdf43286034a Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@DESKTOP-5BIMHQ3> Date: 星期六, 30 三月 2024 11:12:24 +0800 Subject: [PATCH] Merge branch 'wxw' --- Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs | 86 ++++++++++++++++++++++++++++++++---------- 1 files changed, 65 insertions(+), 21 deletions(-) diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs index a0d290b..9922b6d 100644 --- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs @@ -153,39 +153,58 @@ try { string skuType = string.Empty; + int IsPack = 0; //0锛氫笉绠� 1锛氳创 2锛氫笉璐� + /** + * 鎴愬搧璐� 0 + * 閲囪喘鍙创鍙笉璐� 1 + * 涓棿鍝佷笉璐� 2 + * 閫�璐ц创 3 + * 浣欐枡閫�鍥炲彲璐村彲涓嶈创 4 + * 鍏跺畠鍙创鍙笉璐� 5 + * 浠e偍涓嶈创 6 + * 瀵勫瓨涓嶈创 7 + */ switch (model.Type)//0锛氬師鏂� 1锛氬寘鏉� 2锛氭垚鍝� 3锛氳�楁潗 4锛氬崐鎴愬搧 { case "0"://鎴愬搧鍏ュ簱 skuType = "(2)"; + IsPack = 1; //璐� + break; + case "1"://閲囪喘鍏ュ簱 + skuType = "(0,1,3)"; + break; + case "2"://涓棿鍝佸叆搴� + skuType = "(4)"; + IsPack = 2; //涓嶈创 break; case "3"://閫�璐у叆搴� skuType = "(2)"; + IsPack = 1; //璐� + break; + case "4"://杞﹂棿浣欐枡閫�鍥炲叆搴� + skuType = "(0,1,3)"; break; case "5"://鍏跺畠鍏ュ簱 skuType = "(0,1,3)"; break; case "6"://浠e偍鍏ュ簱 skuType = "(2)"; - break; - case "1"://閲囪喘鍏ュ簱 - skuType = "(0,1,3)"; - break; - case "4"://杞﹂棿浣欐枡閫�鍥炲叆搴� - skuType = "(0,1,3)"; - break; - case "2"://涓棿鍝佸叆搴� - skuType = "(4)"; + IsPack = 2; //涓嶈创 break; case "7"://瀵勫瓨鍏ュ簱 - skuType = "(0,1,2,3,4)"; + //skuType = "(3)"; + IsPack = 2; //涓嶈创 break; default: //鍏跺畠 - skuType = "(0,1,2,3,4)"; + //skuType = "(0,1,2,3,4)"; break; } Expression<Func<SysMaterials, bool>> item = Expressionable.Create<SysMaterials>() - .AndIF(true, it => skuType.Contains(it.Type)) + .AndIF(model.Type != "7", it => skuType.Contains(it.Type)) + .AndIF(model.Type == "7", it => it.SkuNo == "100088") + .AndIF(IsPack == 1, it => it.PackagNo != "") + .AndIF(IsPack == 2, it => it.PackagNo == "") .AndIF(true, it => it.IsDel == "0") .And(it => it.SkuNo != "100099") .AndIF(!string.IsNullOrWhiteSpace(model.SkuNo), @@ -200,6 +219,8 @@ .Includes(x => x.UnitInfo) .Includes(x => x.PackagInfo) .ToList(); + + return data.Select(m => new MaterialsDto() { @@ -238,7 +259,7 @@ string sqlString = string.Empty; string sqlDetailStr = string.Empty; //0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 2锛氫腑闂村搧鍏ュ簱 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欏叆搴� 5锛氬叾瀹冨叆搴� 6锛氫唬鍌ㄥ叆搴� 7锛氬瘎瀛樺叆搴� - var TypeLot = "1, 2, 5, 6, 7"; + var TypeLot = "1, 2, 5, 6, 7"; //鎵规鍙负绌哄崟鎹被鍨� try { @@ -752,16 +773,35 @@ } var info = boxInfo.First(m => m.BindNo == item.Id); - if (!msgS.Contains(info.SkuNo)) + //鑾峰彇鎵樼洏缁戝畾瀵瑰簲鍗曟嵁 + var noticeDetail = Db.Queryable<BllArrivalNoticeDetail>().First(a => a.IsDel == "0" && a.Id == item.ASNDetailNo); + if (info != null) { - msgS += info.SkuNo + ";"; + if (!msgS.Contains(info.SkuNo)) + { + msgS += info.SkuNo + ";"; + } + + if (!msgL.Contains(info.LotNo)) + { + msgL += info.LotNo + ";"; + + } + } + else + { + if (!msgS.Contains(noticeDetail.SkuNo)) + { + msgS += noticeDetail.SkuNo + ";"; + } + + if (!msgL.Contains(noticeDetail.LotNo)) + { + msgL += noticeDetail.LotNo + ";"; + + } } - if (!msgL.Contains(info.LotNo)) - { - msgL += info.LotNo + ";"; - - } } var time = DateTime.Now; var log = new BllAuditLog() @@ -869,7 +909,7 @@ { ASNNo = asnNo, Type = model.AsnType, - Origin = model.Origin, + Origin = string.IsNullOrEmpty(model.Origin) ? "ERP" : model.Origin, CustomerNo = model.Customer, CustomerName = CustomerModel.CustomerName, OrderCode = model.OrderCode, @@ -953,6 +993,10 @@ { throw new Exception("鏈煡璇㈠埌鍗曟嵁淇℃伅"); } + if (notice.Status != "3") + { + throw new Exception("澶嶆牳澶辫触锛屽崟鎹潪鍏抽棴鐘舵��"); + } var detail = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.ASNNo == notice.ASNNo && m.IsDel == "0").ToList(); if (detail.Count == 0) { -- Gitblit v1.8.0