From a38d5c5a9b3988179390ff93cede3349011dc6cb Mon Sep 17 00:00:00 2001 From: 44673626 <44673626@qq.com> Date: Wed, 27 Jul 2022 16:48:24 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=A2=E6=97=97=E4=B8=80=E8=BD=BF=E8=BD=A6?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E3=80=81=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=8F=91=E8=B4=A7=E5=8D=95=E5=92=8C=E4=B8=80=E6=AC=A1=E6=80=A7?= =?UTF-8?q?=E5=AF=84=E5=94=AE=E5=87=BA=E5=BA=93=E5=AF=BC=E5=85=A5=E5=8A=A0?= =?UTF-8?q?=E4=B8=8A=E6=A3=80=E9=AA=8C=EF=BC=8C=E4=B8=8D=E6=98=AF=E6=B1=87?= =?UTF-8?q?=E6=80=BB=E7=9A=84=E6=95=B0=E6=8D=AE=E6=8F=90=E7=A4=BA=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WMS/WMSCusomerKanbanAppService.cs | 13 ++++++++++++ .../Entities/WMS/WmsHQKBOutputAppService.cs | 21 ++++++++++++++++++- .../WMS/WmsOneTimeSaleOutputAppService.cs | 13 ++++++++++++ .../Entities/WMS/WmsUnInterface.cs | 4 ++-- 4 files changed, 48 insertions(+), 3 deletions(-) diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSCusomerKanbanAppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSCusomerKanbanAppService.cs index 36ed14d0..37d42caa 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSCusomerKanbanAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WMSCusomerKanbanAppService.cs @@ -485,6 +485,19 @@ namespace Win.Sfs.SettleAccount.Entities.SettleAccounts var filteResult = result.Where(p =>!string.IsNullOrEmpty(p.SapMaterialCode));//过滤掉物料号为空的数据 + //不是汇总形式出库的不能导入,即导入的数据中如果SAP编号 即厂内零件号有重复不能导入 + var sapcodegroup = (from t in filteResult + group t by t.SapMaterialCode into m + where m.Count() >= 2 + select m).ToList(); + if (sapcodegroup != null && sapcodegroup.Count > 0) + { + foreach (var item in sapcodegroup) + { + checkList.Add(new ErrorExportDto(version, "自定义出库单导入", string.Empty, string.Empty, item.Key, string.Empty, string.Format("导入模板中SAP编码{0},有重复不是汇总出库请检查!", item.Key), string.Empty)); + } + } + //和物料主数据中SAP物料号检验是否存在 var gethqimportdata = filteResult.Select(p => p.SapMaterialCode).Distinct().ToList(); var getmaterial = _erpdapperRepository.GetMaterialList(); diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQKBOutputAppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQKBOutputAppService.cs index 5c42e197..ba98d736 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQKBOutputAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsHQKBOutputAppService.cs @@ -279,11 +279,30 @@ namespace Win.Sfs.SettleAccount.Entities.WMS } } + //不是汇总形式出库的不能导入,即导入的数据中如果SAP编号 即厂内零件号有重复不能导入 + var sapcodegroup = (from t in _list + group t by new { sapcode = t.SapMaterialCode, isbj = t.IsBack } into m + select new + { + 物料号 = m.Key.sapcode, + 是否备件 = m.Key.isbj, + rowcount = m.Count() + } into c + where c.rowcount >= 2 + select c).ToList(); + if (sapcodegroup != null && sapcodegroup.Count > 0) + { + foreach (var item in sapcodegroup) + { + checkList.Add(new ErrorExportDto(version, "红旗一轿出库单导入", string.Empty, string.Empty, item.物料号, string.Empty, string.Format("导入模板中SAP编码{0}并且是否备件值{1},有重复不是汇总出库请检查!", item.物料号, item.是否备件), string.Empty)); + } + } + foreach (var itm in _list) { if (itm.IsBack != "是" && itm.IsBack != "否") { - checkList.Add(new ErrorExportDto(version, "红旗一轿出库单导入", string.Empty, string.Empty, string.Empty, string.Empty, string.Format("导入模板中SAP编码{0}的是否备件请填写是或否,影响出库请检查!", itm.SapMaterialCode), string.Empty)); + checkList.Add(new ErrorExportDto(version, "红旗一轿出库单导入", string.Empty, string.Empty, itm.SapMaterialCode, string.Empty, string.Format("导入模板中SAP编码{0}的是否备件请填写是或否,影响出库请检查!", itm.SapMaterialCode), string.Empty)); } } //和物料主数据中SAP物料号检验是否存在 diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsOneTimeSaleOutputAppService.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsOneTimeSaleOutputAppService.cs index b1198605..3ab0e5c5 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsOneTimeSaleOutputAppService.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsOneTimeSaleOutputAppService.cs @@ -233,6 +233,19 @@ namespace Win.Sfs.SettleAccount.Entities.WMS checkList.Add(new ErrorExportDto(version, "一次性寄售销售导入", string.Empty, string.Empty, string.Empty, string.Empty, "导入模板中第一页签没有数据,请检查!", string.Empty)); } + //不是汇总形式出库的不能导入,即导入的数据中如果SAP编号 即厂内零件号有重复不能导入 + var sapcodegroup = (from t in _list + group t by t.SapMaterialCode into m + where m.Count() >= 2 + select m).ToList(); + if (sapcodegroup != null && sapcodegroup.Count > 0) + { + foreach (var item in sapcodegroup) + { + checkList.Add(new ErrorExportDto(version, "一次性寄售销售导入", string.Empty, string.Empty, item.Key, string.Empty, string.Format("导入模板中SAP编码{0},有重复不是汇总出库请检查!", item.Key), string.Empty)); + } + } + //和物料主数据中SAP物料号检验是否存在 var gethqimportdata = _list.Select(p => p.SapMaterialCode).Distinct().ToList(); var getmaterial = _erpdapperRepository.GetMaterialList(); diff --git a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnInterface.cs b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnInterface.cs index 003806c1..042a9dde 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnInterface.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/WMS/WmsUnInterface.cs @@ -306,13 +306,13 @@ namespace Win.Sfs.SettleAccount.Entities.WMS var en1= entities.Where(p => p.OutputQty == 0).ToList(); foreach(var itm in en1) { - checkList.Add(new ErrorExportDto() { Message = string.Format("结算号:{0}物料号:{1}实际出库数量为0不能同步Sap", itm.BillNum, itm.MaterialCode) }); + checkList.Add(new ErrorExportDto() { Version = input.Version, ItemCode = itm.MaterialCode, Model = "结算出库SAP接口", Message = string.Format("结算号:{0}物料号:{1}实际出库数量为0不能同步Sap", itm.BillNum, itm.MaterialCode) }); } var en2=entities.Where(p => p.OutputQty != p.Qty && p.OutputQty>0).ToList(); foreach (var itm in en2) { - checkList.Add(new ErrorExportDto() { Message = string.Format("结算号:{0}物料号:{1}实际出库数量不等于结算数量不能同步Sap", itm.BillNum, itm.MaterialCode) }); + checkList.Add(new ErrorExportDto() { Version = input.Version, ItemCode = itm.MaterialCode, Model = "结算出库SAP接口", Message = string.Format("结算号:{0}物料号:{1}实际出库数量不等于结算数量不能同步Sap", itm.BillNum, itm.MaterialCode) }); } var _count = entities.Count(p => p.State==2);