diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductManagement/SyncProductManagementBomToSap.cs b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductManagement/SyncProductManagementBomToSap.cs
index 6c5c1fa..4aba559 100644
--- a/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductManagement/SyncProductManagementBomToSap.cs
+++ b/admin.net.pro/Admin.NET/Vistar.Application/Job/ProductManagement/SyncProductManagementBomToSap.cs
@@ -59,7 +59,7 @@ public class SyncProductManagementBomToSap : IJob
y.ChildObjID,
y.childVersion,
y.ConfigId,
- y.Quantity,
+ y.QtyManual,
y.PartNumber,
y.fld004936,
y.fld004937,
@@ -92,7 +92,7 @@ public class SyncProductManagementBomToSap : IJob
ConfigId = g.ConfigId,
childVersion = g.childVersion,
ParentVersion = g.VersionIndex,
- Quantity = g.Quantity,
+ QtyManual = g.QtyManual,
SORTF = g.fld004936,
ITISOB = g.fld004937,
ALPGR = g.fld004938,
@@ -152,5 +152,21 @@ public class SyncProductManagementBomToSap : 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平台-产品管理同步bom到SAP");
+ }
}
}
diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Service/MaterialManagement/ProductManagementService.cs b/admin.net.pro/Admin.NET/Vistar.Application/Service/MaterialManagement/ProductManagementService.cs
index 50e036e..03174e5 100644
--- a/admin.net.pro/Admin.NET/Vistar.Application/Service/MaterialManagement/ProductManagementService.cs
+++ b/admin.net.pro/Admin.NET/Vistar.Application/Service/MaterialManagement/ProductManagementService.cs
@@ -274,7 +274,7 @@ public class ProductManagementService : IDynamicApiController, ITransient
{
POSNR = "",//组件序号 sun.ToString()
IDNRK = input[i].PartNumber,//组件物料号
- MENGE = input[i].Quantity.ToString(),//组件数量
+ MENGE = input[i].QtyManual.ToString(),//组件数量
SORTF = input[i].fld004936,
ITISOB = input[i].fld004937,
ALPGR = input[i].fld004938,
@@ -331,7 +331,7 @@ public class ProductManagementService : IDynamicApiController, ITransient
{
POSNR = "",//组件序号 sun.ToString()
IDNRK = BomData[i].PartNumber,//组件物料号
- MENGE = BomData[i].Quantity.ToString(),//组件数量
+ MENGE = BomData[i].QtyManual.ToString(),//组件数量
SORTF = BomData[i].fld004936,
ITISOB = BomData[i].fld004937,
ALPGR = BomData[i].fld004938,
@@ -713,7 +713,7 @@ public class ProductManagementService : IDynamicApiController, ITransient
{
POSNR = (bomData.IndexOf(bomItem) + 1).ToString(),
IDNRK = bomItem.PartNumber,
- MENGE = bomItem.Quantity.ToString(),
+ MENGE = bomItem.QtyManual.ToString(),
SORTF = bomItem.fld004936,
ITISOB = bomItem.fld004937,
ALPGR = bomItem.fld004938,
@@ -749,7 +749,7 @@ public class ProductManagementService : IDynamicApiController, ITransient
{
POSNR = "",//组件序号 sun.ToString()
IDNRK = BomDataold[i].PartNumber,//组件物料号
- MENGE = BomDataold[i].Quantity.ToString(),//组件数量
+ MENGE = BomDataold[i].QtyManual.ToString(),//组件数量
SORTF = BomDataold[i].fld004936,
ITISOB = BomDataold[i].fld004937,
ALPGR = BomDataold[i].fld004938,
@@ -884,7 +884,7 @@ public class ProductManagementService : IDynamicApiController, ITransient
{
POSNR = (data.Bom.IndexOf(item) + 1).ToString(),
IDNRK = item.PartNumber,
- MENGE = item.Quantity.ToString(),
+ MENGE = item.QtyManual.ToString(),
SORTF = item.SORTF,
ITISOB = item.ITISOB,
ALPGR = item.ALPGR,
@@ -958,7 +958,7 @@ public class ProductManagementService : IDynamicApiController, ITransient
{
POSNR = "",//组件序号 sun.ToString()
IDNRK = item.PartNumber,//组件物料号
- MENGE = item.Quantity.ToString(),//组件数量
+ MENGE = item.QtyManual.ToString(),//组件数量
SORTF = item.fld004936,
ITISOB = item.fld004937,
ALPGR = item.fld004938,
@@ -1382,6 +1382,7 @@ public class ProductManagementService : IDynamicApiController, ITransient
}
var output = new SapOutput()
{
+ materialCode = data._System_objNBS,
parameter = apiOutput.parameter,
code = codeVal,
msg = msg,
diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Service/ProjectManagement/ProjectManagementService.cs b/admin.net.pro/Admin.NET/Vistar.Application/Service/ProjectManagement/ProjectManagementService.cs
index 8dfefd8..3e499a1 100644
--- a/admin.net.pro/Admin.NET/Vistar.Application/Service/ProjectManagement/ProjectManagementService.cs
+++ b/admin.net.pro/Admin.NET/Vistar.Application/Service/ProjectManagement/ProjectManagementService.cs
@@ -366,7 +366,7 @@ public class ProjectManagementService : IDynamicApiController, ITransient
{
POSNR = sun.ToString(),//组件序号
IDNRK = input[i].PartNumber,//组件物料号
- MENGE = input[i].Quantity.ToString(),//组件数量
+ MENGE = input[i].QtyManual.ToString(),//组件数量
SORTF = input[i].fld004936,
ITISOB = input[i].fld004937,
ALPGR = input[i].fld004938,
@@ -599,7 +599,7 @@ public class ProjectManagementService : IDynamicApiController, ITransient
{
POSNR = (bomData.IndexOf(bomItem) + 1).ToString(),
IDNRK = bomItem.PartNumber,
- MENGE = bomItem.Quantity.ToString(),
+ MENGE = bomItem.QtyManual.ToString(),
SORTF = bomItem.fld004936,
ITISOB = bomItem.fld004937,
ALPGR = bomItem.fld004938,
@@ -900,6 +900,7 @@ public class ProjectManagementService : IDynamicApiController, ITransient
}
var output = new SapOutput()
{
+ materialCode = item._System_objNBS,
parameter = apiOutput.parameter,
code = codeVal,
msg = msg,
@@ -1160,7 +1161,7 @@ public class ProjectManagementService : IDynamicApiController, ITransient
};
var output = await _sapService.SapCreateWBS(sapInput);
-
+ output.materialCode = hierarchicalCoding1;
if (output.code == "S")
{
//await _obj126Rep.AsUpdateable()
@@ -1328,10 +1329,12 @@ public class ProjectManagementService : IDynamicApiController, ITransient
string hierarchicalCoding4 = "";
int i = 0;
long projectIdRecord = 0;
+ string materialCode = "";
var sortList = list.OrderBy(x => x.OrderIndex).ToList();
foreach (var item in sortList)
{
projectIdRecord = item.projectIdRecord;
+ materialCode = item.System_objNBS109;
//if (string.IsNullOrEmpty(item.fld006745))
//{
// var errParam = new SapOutput()
@@ -1691,6 +1694,7 @@ public class ProjectManagementService : IDynamicApiController, ITransient
SapUpdateWBSItem = sapUpdateInputItem
};
var output = await _sapService.SapUpdateWBS(sapInput);
+ output.materialCode = materialCode;
sapOutput.Add(output);
if (output.code == "S")
{