From e6c63a16b60a51fad5077ce4cb8a3b76b9de6acc Mon Sep 17 00:00:00 2001 From: me Date: Sat, 9 Aug 2025 17:00:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=BA=BA=E5=91=98=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E9=80=9A=E8=BF=87=EF=BC=8C=E6=B2=A1=E6=9C=89=E6=89=93?= =?UTF-8?q?=E5=8D=B0=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MenBanReports/MenBanPackingRecDto.cs | 24 +- .../MsgCheck/BillM110s/Dtos/BillM110Dto.cs | 4 +- .../BillM110s/Dtos/ResultBillM110Dto.cs | 4 +- .../MsgCheck/BillR100s/Dtos/BillR100Dto.cs | 4 +- .../BillR100s/Dtos/ResultBillR100Dto.cs | 4 +- .../WY.NewJit.Application.Contracts.xml | 24 +- .../MsgCheck/BillM100s/BillM100AppService.cs | 234 +++++++++--------- .../BillM100s/MenBanPackingRecService.cs | 194 ++++++++------- .../WY.NewJit.Application.xml | 2 +- .../PaiGe/MenBanReports/MenBanPackingRec.cs | 24 +- .../WY.NewJit.Job.ConsoleApp/appsettings.json | 12 +- .../appsettings.json | 12 +- 12 files changed, 305 insertions(+), 237 deletions(-) diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Extends/MenBanReports/MenBanPackingRecDto.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Extends/MenBanReports/MenBanPackingRecDto.cs index e4053fa..d08ab89 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Extends/MenBanReports/MenBanPackingRecDto.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Extends/MenBanReports/MenBanPackingRecDto.cs @@ -76,9 +76,29 @@ namespace WY.NewJit.Extends public virtual string SN { get; set; } /// - /// 扫描零件号,供发运使用 + /// 扫描零件号1,供发运使用 /// - public string ScanPartCode { get; set; } + public string ScanPartCode1 { get; set; } + + /// + /// 扫描零件号2,供发运使用 + /// + public string ScanPartCode2 { get; set; } + + /// + /// 扫描零件号3,供发运使用 + /// + public string ScanPartCode3 { get; set; } + + /// + /// 扫描零件号4,供发运使用 + /// + public string ScanPartCode4 { get; set; } + + /// + /// 扫描零件号5,供发运使用 + /// + public string ScanPartCode5 { get; set; } /// /// 备注 diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM110s/Dtos/BillM110Dto.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM110s/Dtos/BillM110Dto.cs index cdabb63..d6a1d85 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM110s/Dtos/BillM110Dto.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM110s/Dtos/BillM110Dto.cs @@ -87,8 +87,8 @@ namespace WY.NewJit.MsgCheck /// /// 单据状态(0 空;1 未匹配;2 已匹配未打印;3 已打印) /// - [ExporterHeader(DisplayName = "单据状态")] - [ImporterHeader(Name = "单据状态")] + [ExporterHeader(IsIgnore = false)] + [ImporterHeader(IsIgnore = false)] public BillStatusEnum BillStatus { get; set; } /// diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM110s/Dtos/ResultBillM110Dto.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM110s/Dtos/ResultBillM110Dto.cs index 1668835..16a95d8 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM110s/Dtos/ResultBillM110Dto.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM110s/Dtos/ResultBillM110Dto.cs @@ -85,8 +85,8 @@ namespace WY.NewJit.MsgCheck /// /// 单据状态(0 空;1 未匹配;2 已匹配未打印;3 已打印) /// - [ExporterHeader(DisplayName = "单据状态")] - [ImporterHeader(Name = "单据状态")] + [ExporterHeader(IsIgnore = false)] + [ImporterHeader(IsIgnore = false)] public BillStatusEnum BillStatus { get; set; } /// diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/BillR100Dto.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/BillR100Dto.cs index 033a000..74cdf97 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/BillR100Dto.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/BillR100Dto.cs @@ -74,8 +74,8 @@ namespace WY.NewJit.MsgCheck /// /// 单据状态(0 空;1 未匹配;2 已匹配未导出;3 已导出) /// - [ExporterHeader(DisplayName = "单据状态")] - [ImporterHeader(Name = "单据状态")] + [ExporterHeader(IsIgnore =false)] + [ImporterHeader(IsIgnore = false)] public BillStatusEnum BillStatus { get; set; } /// diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/ResultBillR100Dto.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/ResultBillR100Dto.cs index 3269628..ddc9d4d 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/ResultBillR100Dto.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/ResultBillR100Dto.cs @@ -95,8 +95,8 @@ namespace WY.NewJit.MsgCheck /// /// 单据状态(0 空;1 未匹配;2 已匹配未导出;3 已导出) /// - [ExporterHeader(DisplayName = "单据状态")] - [ImporterHeader(Name = "单据状态")] + [ExporterHeader(IsIgnore = false)] + [ImporterHeader(IsIgnore = false)] public BillStatusEnum BillStatus { get; set; } /// diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml index 69b2003..69230a1 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml @@ -199,9 +199,29 @@ 上箱位号 - + - 扫描零件号,供发运使用 + 扫描零件号1,供发运使用 + + + + + 扫描零件号2,供发运使用 + + + + + 扫描零件号3,供发运使用 + + + + + 扫描零件号4,供发运使用 + + + + + 扫描零件号5,供发运使用 diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs index cec6694..df22d93 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs @@ -1131,11 +1131,14 @@ select * from /// 最大顺序号加一 /// 当前页的记录 /// 报表分类,对应DicItemSort4 - /// 零件大类字典项(已经排序) + /// 零件大类字典项(已经排序,当前报表类型) /// 本次打印的sortId相同 /// private MenBanPackingList DoMBPrint(MenBanPrintInputDto input, double maxSN, List pageBillLst, string reportSort, List partLargeTypeLst, Guid sortId) { + bool isScanFactoryPart = partLargeTypeLst[0].DicItemSort5 == "厂内零件号"; //扫描厂内零件 + int scanPartCount = partLargeTypeLst.Count(itm => itm.DicItemSort10?.Trim() == "1"); //扫描零件数量 + var partLargeTypeObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemCode == reportSort); if (partLargeTypeObj == null) { @@ -1143,12 +1146,12 @@ select * from } string[] partLargeTypes = partLargeTypeLst.Select(itm => itm.DicItemCode).ToArray(); //取零件大类 - //取扫描零件的索引 - int idx = partLargeTypeLst.FindIndex(itm => itm.Id == partLargeTypeObj.Id); - if (idx < 0) - { - idx = 0; - } + ////取扫描零件的索引 + //int idx = partLargeTypeLst.FindIndex(itm => itm.Id == partLargeTypeObj.Id); + //if (idx < 0) + //{ + // idx = 0; + //} //var vmLst = curPageLst.Select(itm => itm.VehicleModelCode).Distinct().JoinAsString(","); //取车型 string ymd = ServerHelper.CurrentDateTime.ToString("yyyyMMdd"); string serialNum = maxSN.ToString().PadLeft(3, '0'); //075 @@ -1195,6 +1198,28 @@ select * from if (partObj != null) { packingDetail.PartCode1 = partObj.PartCode; + + #region 扫描零件赋值 + if (scanPartCount >= 1) + { + if (isScanFactoryPart) + { + var partCfgObj = _partCfgLst.FirstOrDefault(itm => itm.PartCode == partObj.PartCode); + if (partCfgObj == null) + { + packingDetail.Remark = $"根据客户零件{partObj.PartCode}无法取得厂内零件"; + } + else + { + packingDetail.ScanPartCode1 = partCfgObj.RelationKey; + } + } + else + { + packingDetail.ScanPartCode1 = partObj.PartCode; + } + } + #endregion } } //第二个零件 @@ -1204,6 +1229,29 @@ select * from if (partObj != null) { packingDetail.PartCode2 = partObj.PartCode; + + #region 扫描零件赋值 + if (scanPartCount >= 2) + { + if (isScanFactoryPart) + { + var partCfgObj = _partCfgLst.FirstOrDefault(itm => itm.PartCode == partObj.PartCode); + if (partCfgObj == null) + { + packingDetail.Remark = $"根据客户零件{partObj.PartCode}无法取得厂内零件"; + } + else + { + packingDetail.ScanPartCode2 = partCfgObj.RelationKey; + } + } + else + { + packingDetail.ScanPartCode2 = partObj.PartCode; + } + + } + #endregion } } //第三个零件 @@ -1213,6 +1261,28 @@ select * from if (partObj != null) { packingDetail.PartCode3 = partObj.PartCode; + + #region 扫描零件赋值 + if (scanPartCount >= 3) + { + if (isScanFactoryPart) + { + var partCfgObj = _partCfgLst.FirstOrDefault(itm => itm.PartCode == partObj.PartCode); + if (partCfgObj == null) + { + packingDetail.Remark = $"根据客户零件{partObj.PartCode}无法取得厂内零件"; + } + else + { + packingDetail.ScanPartCode3 = partCfgObj.RelationKey; + } + } + else + { + packingDetail.ScanPartCode3 = partObj.PartCode; + } + } + #endregion } } //第四个零件 @@ -1222,103 +1292,30 @@ select * from if (partObj != null) { packingDetail.PartCode4 = partObj.PartCode; - } - } - switch (idx) - { - case 0: - if (partLargeTypeLst[0].DicItemSort5 == "厂内零件号") - { - var partCfgObj = _partCfgLst.FirstOrDefault(itm => itm.PartCode == packingDetail.PartCode1); - if (partCfgObj == null) - { - packingDetail.Remark = $"根据客户零件{packingDetail.PartCode1}无法取得厂内零件"; - } - else - { - packingDetail.ScanPartCode = partCfgObj.RelationKey; - } - } - else - { - packingDetail.ScanPartCode = packingDetail.PartCode1; - } - break; - case 1: - if (partLargeTypeLst[0].DicItemSort5 == "厂内零件号") - { - var partCfgObj = _partCfgLst.FirstOrDefault(itm => itm.PartCode == packingDetail.PartCode2); - if (partCfgObj == null) - { - packingDetail.Remark = $"根据客户零件{packingDetail.PartCode2}无法取得厂内零件"; - } - else - { - packingDetail.ScanPartCode = partCfgObj.RelationKey; - } - } - else - { - packingDetail.ScanPartCode = packingDetail.PartCode2; - } - break; - case 2: - if (partLargeTypeLst[0].DicItemSort5 == "厂内零件号") - { - var partCfgObj = _partCfgLst.FirstOrDefault(itm => itm.PartCode == packingDetail.PartCode3); - if (partCfgObj == null) - { - packingDetail.Remark = $"根据客户零件{packingDetail.PartCode3}无法取得厂内零件"; - } - else - { - packingDetail.ScanPartCode = partCfgObj.RelationKey; - } - } - else - { - packingDetail.ScanPartCode = packingDetail.PartCode3; - } - break; - case 3: - if (partLargeTypeLst[0].DicItemSort5 == "厂内零件号") - { - var partCfgObj = _partCfgLst.FirstOrDefault(itm => itm.PartCode == packingDetail.PartCode4); - if (partCfgObj == null) - { - packingDetail.Remark = $"根据客户零件{packingDetail.PartCode4}无法取得厂内零件"; - } - else - { - packingDetail.ScanPartCode = partCfgObj.RelationKey; - } - } - else + #region 扫描零件赋值 + if (scanPartCount >= 4) { - packingDetail.ScanPartCode = packingDetail.PartCode4; - } - break; - case 4: - if (partLargeTypeLst[0].DicItemSort5 == "厂内零件号") - { - var partCfgObj = _partCfgLst.FirstOrDefault(itm => itm.PartCode == packingDetail.PartCode5); - if (partCfgObj == null) + if (isScanFactoryPart) { - packingDetail.Remark = $"根据客户零件{packingDetail.PartCode5}无法取得厂内零件"; + var partCfgObj = _partCfgLst.FirstOrDefault(itm => itm.PartCode == partObj.PartCode); + if (partCfgObj == null) + { + packingDetail.Remark = $"根据客户零件{partObj.PartCode}无法取得厂内零件"; + } + else + { + packingDetail.ScanPartCode4 = partCfgObj.RelationKey; + } } else { - packingDetail.ScanPartCode = partCfgObj.RelationKey; + packingDetail.ScanPartCode4 = partObj.PartCode; } } - else - { - packingDetail.ScanPartCode = packingDetail.PartCode5; - } - break; + #endregion + } } - packingDetail.SN = sn.ToString(); packingMain.Details.Add(packingDetail); sn++; @@ -1326,6 +1323,7 @@ select * from return packingMain; } + /// /// 上箱位号加前缀 /// KNR前4位 大于等于 2402的 属于新发货状态, 不加前缀; @@ -2430,7 +2428,7 @@ select * from ListResultDto tempLst = await GetMBReportDetailList(input, false); List billLst = tempLst.Item; - if (retLst.Count == 0 && billLst.Count < input.EndHostSN - input.BeginHostSN + 1) + if (billLst.Count < input.EndHostSN - input.BeginHostSN + 1) { retLst.Add($"本车装箱单不满架!"); } @@ -2439,12 +2437,12 @@ select * from if (m100Obj.PrintBillNum.HasValue()) { var alreadyPrintLst = billLst.Where(itm => string.IsNullOrEmpty(itm.PrintBillNum) == false).ToList(); - var sortId = await GetPackingListByM100Id(input.ProductLine, m100Obj.Id); - if (sortId != null) + var sortIdLst = await GetPackingListByM100Id(input.ProductLine, m100Obj.Id); + foreach (var sortId in sortIdLst) { var allMBLst = await _menBanPackingListRepository.GetListAsync(itm => itm.SortId == sortId); - string billNumStr = allMBLst.OrderBy(itm => itm.BillNum).JoinAsString(","); - retLst.Add($"从{alreadyPrintLst[0].HostSN}到{alreadyPrintLst[alreadyPrintLst.Count - 1].HostSN}的大众顺序号已经打印,打印对应的单号是{billNumStr}"); + string billNumStr = allMBLst.Select(itm => itm.BillNum).OrderBy(itm => itm).JoinAsString(","); + retLst.Add($"从{alreadyPrintLst[0].HostSN}到{alreadyPrintLst[alreadyPrintLst.Count - 1].HostSN}的大众顺序号已经打印,打印对应的单号是:{billNumStr}"); } } @@ -2465,14 +2463,14 @@ select * from /// /// /// - private async Task GetPackingListByM100Id(string productLine, Guid m100Id, bool isTrans = false) + private async Task> GetPackingListByM100Id(string productLine, Guid m100Id, bool isTrans = false) { string sql = $@" -select top 1 SortId from FisMenBanPackingList where ProductLine = '{productLine}' +select distinct SortId from FisMenBanPackingList where ProductLine = '{productLine}' and IsScrap = 0 and Id in (select MenBanPackingListId from FisMenBanPackingRec where M100BillId = '{m100Id}') "; var sortIdLst = await _newJitDapperRepository.GetListBySqlAsync(sql, isTrans); - return sortIdLst.Count > 0 ? sortIdLst[0] : null; + return sortIdLst; } /// @@ -3781,6 +3779,22 @@ and Id in (select MenBanPackingListId from FisMenBanPackingRec where M100BillId } } + #region 新校验 + //4.校验1 - 4张单据都没有扫描提交,可以重复打印1 - 4张单据,或者打印1 - 5, + //5.重复打印后,原单据作废,原单据即使扫描也无法提交 + var m100Id = billLst[0].Id; + var sortIdLst2 = await GetPackingListByM100Id(input.ProductLine, m100Id, true); + foreach (var sortId2 in sortIdLst2) + { + var allMBLst = await _menBanPackingListRepository.GetListAsync(itm => itm.SortId == sortId2); + foreach (var mbObj in allMBLst) + { + mbObj.IsScrap = true; + } + await _menBanPackingListRepository.UpdateManyAsync(allMBLst); + } + #endregion + //插入门板打印记录表 await _menBanPackingListRepository.InsertManyAsync(reportMainLst, true); //调用派格版库存接口 @@ -3803,19 +3817,7 @@ and Id in (select MenBanPackingListId from FisMenBanPackingRec where M100BillId // await _billM100Repository.UpdateAsync(billObj, true); //} } - //4.校验1 - 4张单据都没有扫描提交,可以重复打印1 - 4张单据,或者打印1 - 5, - //5.重复打印后,原单据作废,原单据即使扫描也无法提交 - var m100Id = billLst[0].Id; - var sortId2 = await GetPackingListByM100Id(input.ProductLine, m100Id, true); - if (sortId2 != null) - { - var allMBLst = await _menBanPackingListRepository.GetListAsync(itm => itm.SortId == sortId2); - foreach (var mbObj in allMBLst) - { - mbObj.IsScrap = true; - } - await _menBanPackingListRepository.UpdateManyAsync(allMBLst); - } + } //if 正常打印 //else if (input.PrintType == PrintTypeEnum.重新打印) //和正常打印单据完全一样,可以打印部分单据 //{ diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/MenBanPackingRecService.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/MenBanPackingRecService.cs index 816169e..01379e5 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/MenBanPackingRecService.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/MenBanPackingRecService.cs @@ -437,94 +437,94 @@ namespace Win.Sfs.SettleAccount.FISes targetLst = targetLst.OrderBy(itm => itm.BillNum).ToList(); #region 扫描依据的列表, C8返回的客户零件号,其它车型返回厂内零件号 - foreach (var targetObj in targetLst) - { - foreach (var detailObj in targetObj.Details) - { - //第一个零件 - if (detailObj.PartCode1.HasValue() && detailObj.PartCode1.Length >= 9) - { - //根据车型、零件大类取记录 - var partLargeTypeObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode1.Substring(6, 3)); - var partCfgObj = partCfgLst.FirstOrDefault(itm => itm.PartCode == detailObj.PartCode1); - if (partLargeTypeObj.DicItemSort5 == "客户零件号") - { - if (partCfgObj != null) - { - detailObj.PartCode1 = partCfgObj.PartCode; - } - } - else if (partLargeTypeObj.DicItemSort5 == "厂内零件号") - { - if (partCfgObj != null) - { - detailObj.PartCode1 = partCfgObj.RelationKey; - } - } - } - //第二个零件 - if (detailObj.PartCode2.HasValue() && detailObj.PartCode2.Length >= 9) - { - var dicItemObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode2.Substring(6, 3)); - var partCfgObj = partCfgLst.FirstOrDefault(itm => itm.PartCode == detailObj.PartCode2); - if (dicItemObj.DicItemSort5 == "客户零件号") - { - if (partCfgObj != null) - { - detailObj.PartCode2 = partCfgObj.PartCode; - } - } - else if (dicItemObj.DicItemSort5 == "厂内零件号") - { - if (partCfgObj != null) - { - detailObj.PartCode2 = partCfgObj.RelationKey; - } - } - } - //第三个零件 - if (detailObj.PartCode3.HasValue() && detailObj.PartCode3.Length >= 9) - { - var dicItemObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode3.Substring(6, 3)); - var partCfgObj = partCfgLst.FirstOrDefault(itm => itm.PartCode == detailObj.PartCode3); - if (dicItemObj.DicItemSort5 == "客户零件号") - { - if (partCfgObj != null) - { - detailObj.PartCode3 = partCfgObj.PartCode; - } - } - else if (dicItemObj.DicItemSort5 == "厂内零件号") - { - if (partCfgObj != null) - { - detailObj.PartCode3 = partCfgObj.RelationKey; - } - } - } - //第四个零件 - if (detailObj.PartCode4.HasValue() && detailObj.PartCode4.Length >= 9) - { - var dicItemObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode4.Substring(6, 3)); - var partCfgObj = partCfgLst.FirstOrDefault(itm => itm.PartCode == detailObj.PartCode4); - if (dicItemObj.DicItemSort5 == "客户零件号") - { - if (partCfgObj != null) - { - detailObj.PartCode4 = partCfgObj.PartCode; - } - } - else if (dicItemObj.DicItemSort5 == "厂内零件号") - { - if (partCfgObj != null) - { - detailObj.PartCode4 = partCfgObj.RelationKey; - } - } - } + //foreach (var targetObj in targetLst) + //{ + // foreach (var detailObj in targetObj.Details) + // { + // //第一个零件 + // if (detailObj.PartCode1.HasValue() && detailObj.PartCode1.Length >= 9) + // { + // //根据车型、零件大类取记录 + // var partLargeTypeObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode1.Substring(6, 3)); + // var partCfgObj = partCfgLst.FirstOrDefault(itm => itm.PartCode == detailObj.PartCode1); + // if (partLargeTypeObj.DicItemSort5 == "客户零件号") + // { + // if (partCfgObj != null) + // { + // detailObj.PartCode1 = partCfgObj.PartCode; + // } + // } + // else if (partLargeTypeObj.DicItemSort5 == "厂内零件号") + // { + // if (partCfgObj != null) + // { + // detailObj.PartCode1 = partCfgObj.RelationKey; + // } + // } + // } + // //第二个零件 + // if (detailObj.PartCode2.HasValue() && detailObj.PartCode2.Length >= 9) + // { + // var dicItemObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode2.Substring(6, 3)); + // var partCfgObj = partCfgLst.FirstOrDefault(itm => itm.PartCode == detailObj.PartCode2); + // if (dicItemObj.DicItemSort5 == "客户零件号") + // { + // if (partCfgObj != null) + // { + // detailObj.PartCode2 = partCfgObj.PartCode; + // } + // } + // else if (dicItemObj.DicItemSort5 == "厂内零件号") + // { + // if (partCfgObj != null) + // { + // detailObj.PartCode2 = partCfgObj.RelationKey; + // } + // } + // } + // //第三个零件 + // if (detailObj.PartCode3.HasValue() && detailObj.PartCode3.Length >= 9) + // { + // var dicItemObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode3.Substring(6, 3)); + // var partCfgObj = partCfgLst.FirstOrDefault(itm => itm.PartCode == detailObj.PartCode3); + // if (dicItemObj.DicItemSort5 == "客户零件号") + // { + // if (partCfgObj != null) + // { + // detailObj.PartCode3 = partCfgObj.PartCode; + // } + // } + // else if (dicItemObj.DicItemSort5 == "厂内零件号") + // { + // if (partCfgObj != null) + // { + // detailObj.PartCode3 = partCfgObj.RelationKey; + // } + // } + // } + // //第四个零件 + // if (detailObj.PartCode4.HasValue() && detailObj.PartCode4.Length >= 9) + // { + // var dicItemObj = partLargeTypeLst.FirstOrDefault(itm => itm.DicItemSort3 == targetObj.VehicleModel && itm.DicItemCode == detailObj.PartCode4.Substring(6, 3)); + // var partCfgObj = partCfgLst.FirstOrDefault(itm => itm.PartCode == detailObj.PartCode4); + // if (dicItemObj.DicItemSort5 == "客户零件号") + // { + // if (partCfgObj != null) + // { + // detailObj.PartCode4 = partCfgObj.PartCode; + // } + // } + // else if (dicItemObj.DicItemSort5 == "厂内零件号") + // { + // if (partCfgObj != null) + // { + // detailObj.PartCode4 = partCfgObj.RelationKey; + // } + // } + // } - } - } + // } + //} #endregion #endregion @@ -556,15 +556,21 @@ namespace Win.Sfs.SettleAccount.FISes } string billNumStr = billNumList.JoinAsString(","); - var menBanLst = await _menBanPackingListRepository.GetListAsync(itm => billNumList.Contains(itm.BillNum)); - bool isScrap = menBanLst.Any(itm => itm.IsScrap == true); - if (isScrap) + var allLst = await _menBanPackingListRepository.GetListAsync(itm => billNumList.Contains(itm.BillNum)); + var menBanLst = allLst.Where(itm => itm.IsScrap == false).ToList(); //扣除报废的 + var isScan = menBanLst.Any(itm => itm.ReportStatus == ReportStatusEnum.已扫描); + if (isScan) { - throw new Exception($"传入的单号,存在已经报废的单据(FIS操作人员重新打印引起)" + billNumStr); + throw new Exception($"存在已经扫描的单据,不允许重复提交"); } + //bool isScrap = menBanLst.Any(itm => itm.IsScrap == true); + //if (isScrap) + //{ + // throw new Exception($"传入的单号,存在已经报废的单据(FIS操作人员重新打印引起)" + billNumStr); + //} if (menBanLst.Count != billNumList.Count) { - throw new Exception($"传入的单号,有的在打印表不存在:" + billNumStr); + throw new Exception($"传入的单号,有的在打印表不存在(或者已经报废):" + billNumStr); } var distLst = menBanLst.Select(itm => itm.SortId).Distinct().ToList(); if (distLst.Count > 1) @@ -594,7 +600,7 @@ namespace Win.Sfs.SettleAccount.FISes batchMenBan.ReportStatus = ReportStatusEnum.已扫描; var updateObj = await _menBanPackingListRepository.UpdateAsync(batchMenBan); } - var billIdLst = batchMenBanLst.SelectMany(itm => itm.Details).Select(itm => itm.M100BillId).ToList(); + var billIdLst = batchMenBanLst.SelectMany(itm => itm.Details).Select(itm => itm.M100BillId).Distinct().ToList(); var m100Lst = await _billM100Repository.GetListAsync(itm => billIdLst.Contains(itm.Id)); foreach (var m100 in m100Lst) { @@ -609,7 +615,7 @@ namespace Win.Sfs.SettleAccount.FISes { ret.Status = false; ret.Message = $"调用UpdateScanStatus方法报错:{ex.Message}"; - throw; + return ret; } } diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml index 6cefdfa..c986150 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml @@ -1053,7 +1053,7 @@ 最大顺序号加一 当前页的记录 报表分类,对应DicItemSort4 - 零件大类字典项(已经排序) + 零件大类字典项(已经排序,当前报表类型) 本次打印的sortId相同 diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Extends/PaiGe/MenBanReports/MenBanPackingRec.cs b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Extends/PaiGe/MenBanReports/MenBanPackingRec.cs index 21d2c85..6111288 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Extends/PaiGe/MenBanReports/MenBanPackingRec.cs +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Extends/PaiGe/MenBanReports/MenBanPackingRec.cs @@ -65,9 +65,29 @@ namespace WY.NewJit.Extends public virtual string SN { get; set; } /// - /// 扫描零件号,供发运使用 + /// 扫描零件号1,供发运使用 /// - public string ScanPartCode { get; set; } + public string ScanPartCode1 { get; set; } + + /// + /// 扫描零件号2,供发运使用 + /// + public string ScanPartCode2 { get; set; } + + /// + /// 扫描零件号3,供发运使用 + /// + public string ScanPartCode3 { get; set; } + + /// + /// 扫描零件号4,供发运使用 + /// + public string ScanPartCode4 { get; set; } + + /// + /// 扫描零件号5,供发运使用 + /// + public string ScanPartCode5 { get; set; } /// /// 备注 diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Job.ConsoleApp/appsettings.json b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Job.ConsoleApp/appsettings.json index 2e6c0b5..a2bb27d 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Job.ConsoleApp/appsettings.json +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Job.ConsoleApp/appsettings.json @@ -60,13 +60,13 @@ }, "ConnectionStrings": { - //"Default": "Server=192.168.1.228;Database=NewJitPG;uid=sa;pwd=ChangkeTec@2021;", - //"ABP": "Server=192.168.1.228;Database=ABP;User ID=sa;Password=ChangkeTec@2021;", - //"WMS": "Server=192.168.1.228;Database=CPAT_WMS_TEST;User ID=sa;Password=ChangkeTec@2021;", + "Default": "Server=192.168.1.228;Database=NewJitPG;uid=sa;pwd=ChangkeTec@2021;", + "ABP": "Server=192.168.1.228;Database=ABP;User ID=sa;Password=ChangkeTec@2021;", + "WMS": "Server=192.168.1.228;Database=CPAT_WMS_TEST;User ID=sa;Password=ChangkeTec@2021;", - "Default": "Server=dev.ccwin-in.com,6208;Database=NewJitPG;uid=sa;pwd=ChangkeTec@2021;", - "ABP": "Server=dev.ccwin-in.com,6208;Database=ABP;User ID=sa;Password=ChangkeTec@2021;", - "WMS": "Server=dev.ccwin-in.com,6208;Database=CPAT_WMS_TEST;User ID=sa;Password=ChangkeTec@2021;" + //"Default": "Server=dev.ccwin-in.com,6208;Database=NewJitPG;uid=sa;pwd=ChangkeTec@2021;", + //"ABP": "Server=dev.ccwin-in.com,6208;Database=ABP;User ID=sa;Password=ChangkeTec@2021;", + //"WMS": "Server=dev.ccwin-in.com,6208;Database=CPAT_WMS_TEST;User ID=sa;Password=ChangkeTec@2021;" }, diff --git a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Job.ConsoleGetEDIFile/appsettings.json b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Job.ConsoleGetEDIFile/appsettings.json index 8205641..6520db4 100644 --- a/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Job.ConsoleGetEDIFile/appsettings.json +++ b/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Job.ConsoleGetEDIFile/appsettings.json @@ -46,13 +46,13 @@ }, "ConnectionStrings": { - //"Default": "Server=192.168.1.228;Database=NewJitPG;uid=sa;pwd=ChangkeTec@2021;", - //"ABP": "Server=192.168.1.228;Database=ABP;User ID=sa;Password=ChangkeTec@2021;", - //"WMS": "Server=192.168.1.228;Database=CPAT_WMS_TEST;User ID=sa;Password=ChangkeTec@2021;", + "Default": "Server=192.168.1.228;Database=NewJitPG;uid=sa;pwd=ChangkeTec@2021;", + "ABP": "Server=192.168.1.228;Database=ABP;User ID=sa;Password=ChangkeTec@2021;", + "WMS": "Server=192.168.1.228;Database=CPAT_WMS_TEST;User ID=sa;Password=ChangkeTec@2021;", - "Default": "Server=dev.ccwin-in.com,6208;Database=NewJitPG;uid=sa;pwd=ChangkeTec@2021;", - "ABP": "Server=dev.ccwin-in.com,6208;Database=ABP;User ID=sa;Password=ChangkeTec@2021;", - "WMS": "Server=dev.ccwin-in.com,6208;Database=CPAT_WMS_TEST;User ID=sa;Password=ChangkeTec@2021;" + //"Default": "Server=dev.ccwin-in.com,6208;Database=NewJitPG;uid=sa;pwd=ChangkeTec@2021;", + //"ABP": "Server=dev.ccwin-in.com,6208;Database=ABP;User ID=sa;Password=ChangkeTec@2021;", + //"WMS": "Server=dev.ccwin-in.com,6208;Database=CPAT_WMS_TEST;User ID=sa;Password=ChangkeTec@2021;" },