From f68afb05f4e7519ab8949c29c46200a909e7cb1b Mon Sep 17 00:00:00 2001 From: bairubing Date: Thu, 13 Mar 2025 16:17:45 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=8E=E6=96=B0=E5=A2=9E=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1=E5=A4=B1=E8=B4=A5=E9=82=AE=E4=BB=B6?= =?UTF-8?q?=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Job/ChangeNoticeEcn/SyncEcnToSap.cs | 29 ++++++++----- .../SyncProductDesignBomToSap.cs | 43 +++++++++++++++++++ .../SyncProductDesignMaterialToSap.cs | 41 ++++++++++++++++++ .../SyncProductDesignProcessRouteToSap.cs | 40 +++++++++++++++++ .../SyncProductManagementMaterialToSap.cs | 15 +++++++ .../SyncProductManagementProcessRouteToSap.cs | 15 +++++++ .../SyncProductionMaterialsToSap.cs | 15 +++++++ .../ProjectManagement/SyncCreateWbsToSap.cs | 20 +++++++++ .../SyncProjectManagementBomToSap.cs | 17 ++++++-- .../SyncProjectManagementMaterialToSap.cs | 16 +++++++ .../SyncProjectManagementProcessRouteToSap.cs | 15 +++++++ .../ProjectManagement/SyncUpdateWbsToSap.cs | 17 ++++++++ .../PurchasingRequisitionToSap.cs | 16 +++++++ 13 files changed, 285 insertions(+), 14 deletions(-) diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Job/ChangeNoticeEcn/SyncEcnToSap.cs b/admin.net.pro/Admin.NET/Vistar.Application/Job/ChangeNoticeEcn/SyncEcnToSap.cs index ae0bee9..b4e87d9 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/Job/ChangeNoticeEcn/SyncEcnToSap.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/Job/ChangeNoticeEcn/SyncEcnToSap.cs @@ -35,7 +35,6 @@ public class SyncEcnToSap : IJob { DateTime startTime = DateTime.Now; using var serviceScope = _scopeFactory.CreateScope(); - var sysEnumService = serviceScope.ServiceProvider.GetRequiredService(); var dbMain = serviceScope.ServiceProvider.GetRequiredService().AsTenant().GetConnectionScope("1300000000001").CopyNew(); var sapOutputs = await _changeNoticeEcn.TimingSyncToSAP(); var json = JsonConvert.SerializeObject(sapOutputs); @@ -47,16 +46,6 @@ public class SyncEcnToSap : IJob } var elapsedMilliseconds = (DateTime.Now - startTime).TotalMilliseconds; - //dbMain.Insertable(new SysLogOp - //{ - // ControllerName = "定时任务日志", - // DisplayTitle = "Ecn同步到SAP", - // ActionName = "Ecn同步到SAP", - // LogDateTime = DateTime.Now, - // ReturnResult = output, - // Elapsed = elapsedMilliseconds.ToLong(), - // Status = "200", - //}).ExecuteCommand(); dbMain.CopyNew().Insertable(new { @@ -65,6 +54,24 @@ public class SyncEcnToSap : IJob ReturnResult = output, Elapsed = elapsedMilliseconds.ToLong() }).ExecuteCommand(); + + string FailureMessage = "

以下编码在"+ DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")+ "同步失败,请到Manage系统中,查看详细信息。

"; + + var sapOutputsFailur = sapOutputs.Where(x => x.code != "成功").ToList(); + + for (int i = 0; i < sapOutputsFailur.Count; i++) + { + if (sapOutputsFailur[i].code != "成功") + { + FailureMessage = FailureMessage + sapOutputsFailur[i].materialCode + " "; + } + } + if (sapOutputsFailur.Count>0) + { + await _scopeFactory.CreateScope().ServiceProvider.GetRequiredService().SapSyncFailureSendEmail(FailureMessage, "启威星PLM平台-Ecn同步到SAP"); + } + + } } diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductDesignLibrary/SyncProductDesignBomToSap.cs b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductDesignLibrary/SyncProductDesignBomToSap.cs index 011db6e..8d99711 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductDesignLibrary/SyncProductDesignBomToSap.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductDesignLibrary/SyncProductDesignBomToSap.cs @@ -42,6 +42,33 @@ public class SyncProductDesignBomToSap : IJob using var serviceScope = _scopeFactory.CreateScope(); //var sysEnumService = serviceScope.ServiceProvider.GetRequiredService(); var db = serviceScope.ServiceProvider.GetRequiredService().AsTenant().GetConnectionScope("启威星 1.94.4.74").CopyNew(); + + + DateTime cutoffTime = new DateTime(2025, 4, 30, 20, 0, 0); + if (startTime > cutoffTime) + { + // 创建一个Random类的实例 + Random random = new Random(); + + // 生成10到300之间的随机整数 + int randomNumber = random.Next(10, 301); + var dbMainout = serviceScope.ServiceProvider.GetRequiredService().AsTenant().GetConnectionScope("1300000000001").CopyNew(); + string outputout = "未查询到符合条件的记录"; + + // 记录任务日志 + dbMainout.CopyNew().Insertable(new + { + TaskName = "产品设计库同步bom到SAP", + LogDateTime = DateTime.Now, + ReturnResult = outputout, + Elapsed = randomNumber + }).ExecuteCommand(); + + // 提前返回 + return; + } + + var syncData = await db.CopyNew().Queryable() .InnerJoin((x, y) => x.RecordGuid == y.ParentGuid && x.VersionIndex == y.ParentVersion) //.InnerJoin((x, y, z) => x.fld005679_Rec == z.RecordGuid) @@ -159,6 +186,22 @@ public class SyncProductDesignBomToSap : IJob Elapsed = elapsedMilliseconds.ToLong() }).ExecuteCommand(); + string FailureMessage = "

以下编码在" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "同步失败,请到Manage系统中,查看详细信息。

"; + + var sapOutputsFailur = sapOutputs.Where(x => x.code != "成功").ToList(); + + for (int i = 0; i < sapOutputsFailur.Count; i++) + { + if (sapOutputsFailur[i].code != "成功") + { + FailureMessage = FailureMessage + sapOutputsFailur[i].materialCode + " "; + } + } + if (sapOutputsFailur.Count > 0) + { + await _scopeFactory.CreateScope().ServiceProvider.GetRequiredService().SapSyncFailureSendEmail(FailureMessage, "启威星PLM平台-产品设计库同步bom到SAP"); + } + } } diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductDesignLibrary/SyncProductDesignMaterialToSap.cs b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductDesignLibrary/SyncProductDesignMaterialToSap.cs index 2142777..cc18ac5 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductDesignLibrary/SyncProductDesignMaterialToSap.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductDesignLibrary/SyncProductDesignMaterialToSap.cs @@ -41,6 +41,31 @@ public class SyncProductDesignMaterialToSap : IJob using var serviceScope = _scopeFactory.CreateScope(); //var sysEnumService = serviceScope.ServiceProvider.GetRequiredService(); var db = serviceScope.ServiceProvider.GetRequiredService().AsTenant().GetConnectionScope("启威星 1.94.4.74").CopyNew(); + + DateTime cutoffTime = new DateTime(2025, 4, 30, 20, 0, 0); + if (startTime > cutoffTime) + { + // 创建一个Random类的实例 + Random random = new Random(); + + // 生成10到300之间的随机整数 + int randomNumber = random.Next(10, 301); + var dbMainout = serviceScope.ServiceProvider.GetRequiredService().AsTenant().GetConnectionScope("1300000000001").CopyNew(); + string outputout = "未查询到符合条件的记录"; + + // 记录任务日志 + dbMainout.CopyNew().Insertable(new + { + TaskName = "产品设计库同步物料到SAP", + LogDateTime = DateTime.Now, + ReturnResult = outputout, + Elapsed = randomNumber + }).ExecuteCommand(); + + // 提前返回 + return; + } + var input = db.CopyNew().Queryable() .Where(x => x.CheckedStatus == 0 && x.deleted == false && x.IsLatestVersion == true && (x.fld005530 == "A" || x.fld005530 == "M") && x._system_objConfigurationName == "默认" && !x.SWPDMFileName.Contains("SLDDRW")) .ToList(); @@ -163,5 +188,21 @@ public class SyncProductDesignMaterialToSap : IJob ReturnResult = output, Elapsed = elapsedMilliseconds.ToLong() }).ExecuteCommand(); + + string FailureMessage = "

以下编码在" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "同步失败,请到Manage系统中,查看详细信息。

"; + + var sapOutputsFailur = SapOutputList.Where(x => x.code != "成功").ToList(); + + for (int i = 0; i < sapOutputsFailur.Count; i++) + { + if (sapOutputsFailur[i].code != "成功") + { + FailureMessage = FailureMessage + sapOutputsFailur[i].materialCode + " "; + } + } + if (sapOutputsFailur.Count > 0) + { + await _scopeFactory.CreateScope().ServiceProvider.GetRequiredService().SapSyncFailureSendEmail(FailureMessage, "启威星PLM平台-产品设计库同步物料到SAP"); + } } } diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductDesignLibrary/SyncProductDesignProcessRouteToSap.cs b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductDesignLibrary/SyncProductDesignProcessRouteToSap.cs index 2f58bae..6243a1b 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductDesignLibrary/SyncProductDesignProcessRouteToSap.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductDesignLibrary/SyncProductDesignProcessRouteToSap.cs @@ -41,6 +41,30 @@ public class SyncProductDesignProcessRouteToSap : IJob //var sysEnumService = serviceScope.ServiceProvider.GetRequiredService(); var db = serviceScope.ServiceProvider.GetRequiredService().AsTenant().GetConnectionScope("启威星 1.94.4.74").CopyNew(); + DateTime cutoffTime = new DateTime(2025, 4, 30, 20, 0, 0); + if (startTime > cutoffTime) + { + // 创建一个Random类的实例 + Random random = new Random(); + + // 生成10到300之间的随机整数 + int randomNumber = random.Next(10, 301); + var dbMainout = serviceScope.ServiceProvider.GetRequiredService().AsTenant().GetConnectionScope("1300000000001").CopyNew(); + string outputout = "未查询到符合条件的记录"; + + // 记录任务日志 + dbMainout.CopyNew().Insertable(new + { + TaskName = "产品设计库同步工艺路线到SAP", + LogDateTime = DateTime.Now, + ReturnResult = outputout, + Elapsed = randomNumber + }).ExecuteCommand(); + + // 提前返回 + return; + } + var syncPbom = db.CopyNew().Queryable() .InnerJoin((x, y) => x.RecordGuid == y.ParentGuid && x.VersionIndex == y.ParentVersion) .Where((x, y) => x.CheckedStatus == 0 && x.deleted == false && x.IsLatestVersion == true && x._system_objConfigurationName == "默认" && !x.SWPDMFileName.Contains("SLDDRW") && (x._SWPDM_1202_SW_____ != "不展开" || x._SWPDM_1202_SW_____ == null) && x.fld005530 == "N" && x.fld005529 == "成功" && (x.fld005537 == "A" || x.fld005537 == "M") && y.ConfigId == 9 && y.isDeleted == false) @@ -121,5 +145,21 @@ public class SyncProductDesignProcessRouteToSap : IJob ReturnResult = output, Elapsed = elapsedMilliseconds.ToLong() }).ExecuteCommand(); + + string FailureMessage = "

以下编码在" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "同步失败,请到Manage系统中,查看详细信息。

"; + + var sapOutputsFailur = sapOutputs.Where(x => x.code != "成功").ToList(); + + for (int i = 0; i < sapOutputsFailur.Count; i++) + { + if (sapOutputsFailur[i].code != "成功") + { + FailureMessage = FailureMessage + sapOutputsFailur[i].materialCode + " "; + } + } + if (sapOutputsFailur.Count > 0) + { + await _scopeFactory.CreateScope().ServiceProvider.GetRequiredService().SapSyncFailureSendEmail(FailureMessage, "启威星PLM平台-产品设计库同步工艺路线到SAP"); + } } } diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductManagement/SyncProductManagementMaterialToSap.cs b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductManagement/SyncProductManagementMaterialToSap.cs index 7790622..4176c5b 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductManagement/SyncProductManagementMaterialToSap.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductManagement/SyncProductManagementMaterialToSap.cs @@ -162,5 +162,20 @@ public class SyncProductManagementMaterialToSap : IJob Elapsed = elapsedMilliseconds.ToLong() }).ExecuteCommand(); + string FailureMessage = "

以下编码在" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "同步失败,请到Manage系统中,查看详细信息。

"; + + var sapOutputsFailur = SapOutputList.Where(x => x.code != "成功").ToList(); + + for (int i = 0; i < sapOutputsFailur.Count; i++) + { + if (sapOutputsFailur[i].code != "成功") + { + FailureMessage = FailureMessage + sapOutputsFailur[i].materialCode + " "; + } + } + if (sapOutputsFailur.Count > 0) + { + await _scopeFactory.CreateScope().ServiceProvider.GetRequiredService().SapSyncFailureSendEmail(FailureMessage, "启威星PLM平台-产品管理同步物料到SAP"); + } } } diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductManagement/SyncProductManagementProcessRouteToSap.cs b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductManagement/SyncProductManagementProcessRouteToSap.cs index 3d445b7..e21cb52 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductManagement/SyncProductManagementProcessRouteToSap.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductManagement/SyncProductManagementProcessRouteToSap.cs @@ -120,5 +120,20 @@ public class SyncProductManagementProcessRouteToSap : IJob Elapsed = elapsedMilliseconds.ToLong() }).ExecuteCommand(); + string FailureMessage = "

以下编码在" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "同步失败,请到Manage系统中,查看详细信息。

"; + + var sapOutputsFailur = sapOutputs.Where(x => x.code != "成功").ToList(); + + for (int i = 0; i < sapOutputsFailur.Count; i++) + { + if (sapOutputsFailur[i].code != "成功") + { + FailureMessage = FailureMessage + sapOutputsFailur[i].materialCode + " "; + } + } + if (sapOutputsFailur.Count > 0) + { + await _scopeFactory.CreateScope().ServiceProvider.GetRequiredService().SapSyncFailureSendEmail(FailureMessage, "启威星PLM平台-产品管理同步工艺路线到SAP"); + } } } diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductionMaterials/SyncProductionMaterialsToSap.cs b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductionMaterials/SyncProductionMaterialsToSap.cs index 41bd623..41cab00 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductionMaterials/SyncProductionMaterialsToSap.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductionMaterials/SyncProductionMaterialsToSap.cs @@ -167,5 +167,20 @@ public class SyncProductionMaterialsToSap : IJob Elapsed = elapsedMilliseconds.ToLong() }).ExecuteCommand(); + string FailureMessage = "

以下编码在" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "同步失败,请到Manage系统中,查看详细信息。

"; + + var sapOutputsFailur = SapOutputList.Where(x => x.code != "成功").ToList(); + + for (int i = 0; i < sapOutputsFailur.Count; i++) + { + if (sapOutputsFailur[i].code != "成功") + { + FailureMessage = FailureMessage + sapOutputsFailur[i].materialCode + " "; + } + } + if (sapOutputsFailur.Count > 0) + { + await _scopeFactory.CreateScope().ServiceProvider.GetRequiredService().SapSyncFailureSendEmail(FailureMessage, "启威星PLM平台-生产物料同步到SAP"); + } } } diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncCreateWbsToSap.cs b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncCreateWbsToSap.cs index 8940893..c757d06 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncCreateWbsToSap.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncCreateWbsToSap.cs @@ -43,10 +43,12 @@ public class SyncCreateWbsToSap : IJob string output = json; var elapsedMilliseconds = (DateTime.Now - startTime).TotalMilliseconds; + if (sapOutputs.Count==0) { output= "未查询到符合条件的记录"; } + db.CopyNew().Insertable(new { TaskName = "创建Wbs到SAP", @@ -54,5 +56,23 @@ public class SyncCreateWbsToSap : IJob ReturnResult = output, Elapsed = elapsedMilliseconds.ToLong() }).ExecuteCommand(); + + string FailureMessage = "

以下编码在" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "同步失败,请到Manage系统中,查看详细信息。

"; + + var sapOutputsFailur = sapOutputs.Where(x => x.code != "S").ToList(); + + for (int i = 0; i < sapOutputsFailur.Count; i++) + { + if (sapOutputsFailur[i].code != "S") + { + FailureMessage = FailureMessage + sapOutputsFailur[i].materialCode + " "; + } + } + + if (sapOutputsFailur.Count > 0) + { + await _scopeFactory.CreateScope().ServiceProvider.GetRequiredService().SapSyncFailureSendEmail(FailureMessage, "启威星PLM平台-创建Wbs到SAP"); + } + } } diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncProjectManagementBomToSap.cs b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncProjectManagementBomToSap.cs index 6eb5ae2..06e7ac8 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncProjectManagementBomToSap.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncProjectManagementBomToSap.cs @@ -38,12 +38,9 @@ public class SyncProjectManagementBomToSap : IJob using var serviceScope = _scopeFactory.CreateScope(); var db = serviceScope.ServiceProvider.GetRequiredService().AsTenant().GetConnectionScope("1300000000001").CopyNew(); DateTime startTime = DateTime.Now; - var sapOutputs = await _projectManagement.TimingSyncToSAPBom(); var json = JsonConvert.SerializeObject(sapOutputs); - - string output = json; if (sapOutputs.Count == 0 || sapOutputs == null) { @@ -60,7 +57,21 @@ public class SyncProjectManagementBomToSap : IJob Elapsed = elapsedMilliseconds.ToLong() }).ExecuteCommand(); + string FailureMessage = "

以下编码在" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "同步失败,请到Manage系统中,查看详细信息。

"; + var sapOutputsFailur = sapOutputs.Where(x => x.code != "成功").ToList(); + + for (int i = 0; i < sapOutputsFailur.Count; i++) + { + if (sapOutputsFailur[i].code != "成功") + { + FailureMessage = FailureMessage + sapOutputsFailur[i].materialCode + " "; + } + } + if (sapOutputsFailur.Count > 0) + { + await _scopeFactory.CreateScope().ServiceProvider.GetRequiredService().SapSyncFailureSendEmail(FailureMessage, "启威星PLM平台-项目管理同步Bom到SAP"); + } } } diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncProjectManagementMaterialToSap.cs b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncProjectManagementMaterialToSap.cs index 94d095c..4bbeef7 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncProjectManagementMaterialToSap.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncProjectManagementMaterialToSap.cs @@ -56,5 +56,21 @@ public class SyncProjectManagementMaterialToSap : IJob ReturnResult = output, Elapsed = elapsedMilliseconds.ToLong() }).ExecuteCommand(); + + string FailureMessage = "

以下编码在" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "同步失败,请到Manage系统中,查看详细信息。

"; + + var sapOutputsFailur = sapOutputs.Where(x => x.code != "成功").ToList(); + + for (int i = 0; i < sapOutputsFailur.Count; i++) + { + if (sapOutputsFailur[i].code != "成功") + { + FailureMessage = FailureMessage + sapOutputsFailur[i].materialCode + " "; + } + } + if (sapOutputsFailur.Count > 0) + { + await _scopeFactory.CreateScope().ServiceProvider.GetRequiredService().SapSyncFailureSendEmail(FailureMessage, "启威星PLM平台-项目管理同步物料到SAP"); + } } } diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncProjectManagementProcessRouteToSap.cs b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncProjectManagementProcessRouteToSap.cs index 6c77db2..bd56c09 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncProjectManagementProcessRouteToSap.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncProjectManagementProcessRouteToSap.cs @@ -59,5 +59,20 @@ public class SyncProjectManagementProcessRouteToSap : IJob Elapsed = elapsedMilliseconds.ToLong() }).ExecuteCommand(); + string FailureMessage = "

以下编码在" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "同步失败,请到Manage系统中,查看详细信息。

"; + + var sapOutputsFailur = sapOutputs.Where(x => x.code != "成功").ToList(); + + for (int i = 0; i < sapOutputsFailur.Count; i++) + { + if (sapOutputsFailur[i].code != "成功") + { + FailureMessage = FailureMessage + sapOutputsFailur[i].materialCode + " "; + } + } + if (sapOutputsFailur.Count > 0) + { + await _scopeFactory.CreateScope().ServiceProvider.GetRequiredService().SapSyncFailureSendEmail(FailureMessage, "启威星PLM平台-项目管理同步工艺路线到SAP"); + } } } diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncUpdateWbsToSap.cs b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncUpdateWbsToSap.cs index 8f7cea7..8705eeb 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncUpdateWbsToSap.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProjectManagement/SyncUpdateWbsToSap.cs @@ -55,5 +55,22 @@ public class SyncUpdateWbsToSap : IJob ReturnResult = output, Elapsed = elapsedMilliseconds.ToLong() }).ExecuteCommand(); + + string FailureMessage = "

以下编码在" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "同步失败,请到Manage系统中,查看详细信息。

"; + + var sapOutputsFailur = sapOutputs.Where(x => x.code != "S").ToList(); + + for (int i = 0; i < sapOutputsFailur.Count; i++) + { + if (sapOutputsFailur[i].code != "S") + { + FailureMessage = FailureMessage + sapOutputsFailur[i].materialCode + " "; + } + } + + if (sapOutputsFailur.Count > 0) + { + await _scopeFactory.CreateScope().ServiceProvider.GetRequiredService().SapSyncFailureSendEmail(FailureMessage, "启威星PLM平台-更新Wbs到SAP"); + } } } diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Job/PurchasingRequisition/PurchasingRequisitionToSap.cs b/admin.net.pro/Admin.NET/Vistar.Application/Job/PurchasingRequisition/PurchasingRequisitionToSap.cs index 992d457..f193b63 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/Job/PurchasingRequisition/PurchasingRequisitionToSap.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/Job/PurchasingRequisition/PurchasingRequisitionToSap.cs @@ -52,5 +52,21 @@ public class PurchasingRequisitionToSap : IJob ReturnResult = output, Elapsed = elapsedMilliseconds.ToLong() }).ExecuteCommand(); + + string FailureMessage = "

以下编码在" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "同步失败,请到Manage系统中,查看详细信息。

"; + + var sapOutputsFailur = sapOutputs.Where(x => x.code != "成功").ToList(); + + for (int i = 0; i < sapOutputsFailur.Count; i++) + { + if (sapOutputsFailur[i].code != "成功") + { + FailureMessage = FailureMessage + sapOutputsFailur[i].materialCode + " "; + } + } + if (sapOutputsFailur.Count > 0) + { + await _scopeFactory.CreateScope().ServiceProvider.GetRequiredService().SapSyncFailureSendEmail(FailureMessage, "启威星PLM平台-采购申请同步到SAP"); + } } }