From 924fda05f33076be906de8566c2cc53a27752ff8 Mon Sep 17 00:00:00 2001
From: sjz <1240968267@qq.com>
Date: 星期三, 12 十一月 2025 08:37:05 +0800
Subject: [PATCH] 生产订单明细加客户物料编码、客户物料名称、客户订单号 字段
---
MES.Service/service/WomcaaManager.cs | 150 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 113 insertions(+), 37 deletions(-)
diff --git a/MES.Service/service/WomcaaManager.cs b/MES.Service/service/WomcaaManager.cs
index 7b09e4b..a26390f 100644
--- a/MES.Service/service/WomcaaManager.cs
+++ b/MES.Service/service/WomcaaManager.cs
@@ -1,9 +1,7 @@
-锘縰sing Dm;
-using MES.Service.DB;
+锘縰sing MES.Service.DB;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
using SqlSugar;
-using System.Net.NetworkInformation;
namespace MES.Service.service;
@@ -24,56 +22,122 @@
public bool Save(ErpWOM wom)
{
var womErpCaa = wom.ErpCaa;
- var mesWomcaa = MapErpCAAtoWomcaa(womErpCaa);
- var mesWomcabs =
- MapErpCABtoWomcab(wom.ErpCabs);
+ var mesWomcaa = MapErpCAAtoWomcaa(womErpCaa, wom.ErpCabs[0].FXSHTBH, wom.ErpCabs[0].F_ZJXF_HSDJ, wom.ErpCabs[0].F_KHWLBM, wom.ErpCabs[0].F_KHWLMC);
+ var mesWomcabs = MapErpCABtoWomcab(wom.ErpCabs);
return UseTransaction(db =>
{
switch (womErpCaa.Type)
{
case "3":
- return UpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0;
+ return DeleteData(db, mesWomcaa, mesWomcabs) ? 1 : 0;
case "1":
case "2":
case "4":
+ return SaveOrUpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0;
case "5":
- return SaveOrUpdateData(db, mesWomcaa, mesWomcabs)
- ? 1
- : 0;
+ return UpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0;
default:
- throw new NotImplementedException(
- $"type娌℃湁{womErpCaa.Type}杩欎釜绫诲瀷");
+ throw new NotImplementedException( $"type娌℃湁{womErpCaa.Type}杩欎釜绫诲瀷");
}
}) > 0;
}
- private bool SaveOrUpdateData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs)
+ private bool UpdateData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs)
{
- if (mesWomcaa.Id != null) base.DeleteById(mesWomcaa.Id);
-
+ if (mesWomcaa.Id != null)
+ {
+ base.DeleteById(mesWomcaa.Id);
+ }
if (mesWomcabs.Count > 0)
+ {
db.Deleteable<Womcab>().Where(s => s.Eid == mesWomcaa.Erpid).ExecuteCommand();
-
+ }
var orUpdate = base.Insert(mesWomcaa);
var baOrUpdate = _womcabManager.InsertRange(mesWomcabs);
- if (orUpdate && baOrUpdate) return true;
+ db.Ado.CommitTran();
+ if (orUpdate && baOrUpdate)
+ {
+ //瀹氫箟杈撳叆鍙傛暟
+ var inputParam1 = new SugarParameter("P_WORK_NO", mesWomcaa.Caa001);
+ // 瀹氫箟杈撳嚭鍙傛暟
+ var outParam1 = new SugarParameter("c_Result", null, true);
+ var outParam2 = new SugarParameter("C_MSG", null, true);
+ // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+ Db.Ado.ExecuteCommand("BEGIN PRC_UPDATE_DAA(:P_WORK_NO,:c_Result,:C_MSG); END;",inputParam1, outParam1, outParam2);
+ // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+ var result = int.Parse((string)outParam1.Value);
+ var message = outParam2.Value == DBNull.Value ? string.Empty : (string)outParam2.Value;
+ if (result == 1)
+ {
+ //瀛樺偍杩囩▼澶辫触鍒欎簨鍔¤繘琛屽洖婊�
+ //db.Ado.RollbackTran();
+ throw new Exception(message);
+ }
+ // 鎻愪氦浜嬪姟
+ //db.Ado.CommitTran();
+ return true;
+ }
+
throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
}
- private bool UpdateData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs)
+ private bool SaveOrUpdateData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs)
+ {
+ if (mesWomcaa.Id != null)
+ {
+ base.DeleteById(mesWomcaa.Id);
+ }
+
+ if (mesWomcabs.Count > 0)
+ {
+ db.Deleteable<Womcab>().Where(s => s.Eid == mesWomcaa.Erpid).ExecuteCommand();
+ }
+ var orUpdate = base.Insert(mesWomcaa);
+ var baOrUpdate = _womcabManager.InsertRange(mesWomcabs);
+ db.Ado.CommitTran();
+ if (orUpdate && baOrUpdate)
+ {
+ //瀹氫箟杈撳叆鍙傛暟
+ var inputParam1 = new SugarParameter("P_WORK_NO", mesWomcaa.Caa001);
+ // 瀹氫箟杈撳嚭鍙傛暟
+ var outParam1 = new SugarParameter("c_Result", null, true);
+ var outParam2 = new SugarParameter("C_MSG", null, true);
+ // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+ Db.Ado.ExecuteCommand("BEGIN PRC_UPDATE_DAA(:P_WORK_NO,:c_Result,:C_MSG); END;",inputParam1, outParam1, outParam2);
+ // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+ var result = int.Parse((string)outParam1.Value);
+ var message = outParam2.Value == DBNull.Value ? string.Empty : (string)outParam2.Value;
+ if (result == 1)
+ {
+ //瀛樺偍杩囩▼澶辫触鍒欎簨鍔¤繘琛屽洖婊�
+ //db.Ado.RollbackTran();
+ throw new Exception(message);
+ }
+ // 鎻愪氦浜嬪姟
+ //db.Ado.CommitTran();
+ return true;
+ }
+
+ throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
+ }
+
+ private bool DeleteData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs)
{
var decimals = mesWomcabs.Select(s => s.Id).ToArray();
var update = base.DeleteById(mesWomcaa.Id);
- var insertOrUpdate = db.Deleteable<Womcab>().In(decimals).ExecuteCommand() > 0;
+ var insertOrUpdate =db.Deleteable<Womcab>().In(decimals).ExecuteCommand() > 0;
- if (update && insertOrUpdate) return true;
- throw new NotImplementedException("鏇存柊澶辫触");
+ if (update && insertOrUpdate)
+ {
+ return true;
+ }
+ throw new NotImplementedException("鍒犻櫎澶辫触");
}
- private Womcaa MapErpCAAtoWomcaa(ErpCAA dto)
+ private Womcaa MapErpCAAtoWomcaa(ErpCAA dto, string? fxshtbh, string? hsdj,string? F_KHWLBM,string? F_KHWLMC)
{
- string jabs="0";
+ var jabs = "0";
var entity = new Womcaa
{
@@ -87,7 +151,7 @@
Caa011 = dto.FPlanFinishDate,
Caa012 = Convert.ToDecimal(dto.FQty),
Caa013 = dto.FBomId,
- Caa015 = dto.FXSHTH,
+ Caa015 = fxshtbh,
Caa015Head = dto.FSaleOrderEntrySeq,
Caa016 = dto.FDescription,
Caa017 = 0,
@@ -100,7 +164,7 @@
Caa023 = dto.FStatus,
Caa024 = 0,
RoutingId = dto.FRoutingId,
- WorkShopId = dto.FREMWorkShopId,
+ WorkShopId = dto.FremWorkShopId,
DepotCode = dto.FStockId,
CreateDate = dto.FDate,
WorkGroupId = dto.FWorkGroupId,
@@ -113,17 +177,23 @@
SrcBillType = dto.FSrcBillType,
SrcBillNo = dto.FSrcBillNo,
SrcBillentryseq = dto.FSrcBillEntrySeq,
- SaleOrderNo = dto.FXSHTH,
+ SaleOrderNo = dto.FSaleOrderNo,
SaleOrderEntryseq = dto.FSaleOrderEntrySeq,
ForceCloserid = dto.FForceCloserId,
CloseType = dto.FCloseType,
SrcSplitBillno = dto.FSrcSplitBillNo,
F_ZSXG_KH = dto.F_ZSXG_KH,
F_ZJXF_YHRQ = dto.F_ZJXF_YHRQ,
- PrdOrg = dto.erP_SCZZ,
- TrustOrg = dto.erP_WTZZ,
+ PrdOrg = dto.ERP_SCZZ,
+ TrustOrg = dto.ERP_WTZZ,
TbTime = DateTime.Now,
- JaBs = "0"
+ JaBs = "0",
+ SupplierId = dto.SupplierId,
+ FinishedProduct = dto.FinishedProduct,
+ F_ZJXF_HSDJ = hsdj,
+ F_KHWLBM = F_KHWLBM,
+ F_KHWLMC = F_KHWLMC,
+ F_ZJXF_TEXT_QTR_LEE = dto.F_ZJXF_TEXT_QTR_LEE
};
if (dto.Type == "5")
@@ -142,7 +212,10 @@
}
var single = base.GetSingle(it => it.Erpid == entity.Erpid);
- if (single != null) entity.Id = single.Id;
+ if (single != null)
+ {
+ entity.Id = single.Id;
+ }
return entity;
}
@@ -167,8 +240,8 @@
Pid = Convert.ToDecimal(dto.FID),
Eid = Convert.ToDecimal(dto.FID),
PositionNo = dto.FPositionNO,
- IssuingOrganization=dto.FSupplyOrg,
- SupplyOrganization=dto.FChildSupplyOrgId,
+ IssuingOrganization = dto.FSupplyOrg,
+ SupplyOrganization = dto.FChildSupplyOrgId,
OwnerId = dto.FOwnerID,
Mtono = dto.FMTONO,
Lot = dto.FLot,
@@ -179,13 +252,16 @@
Denominator = Convert.ToDecimal(dto.FDenominator),
SCRAPQTY = Convert.ToDecimal(dto.FFixScrapQty),
SCRAPRATE = Convert.ToDecimal(dto.FScrapRate),
- SalesOrder=dto.FXSHTBH,
- F_ZJXF_YHRQ=dto.F_ZJXF_YHRQ
+ SalesOrder = dto.FXSHTBH,
+ F_ZJXF_YHRQ = dto.F_ZJXF_YHRQ,
+ ProcNo = dto.F_ZJXF_SSGX
};
- var entity = Db.Queryable<Womcab>()
- .Where(s => s.Erpid == womcab.Erpid).Single();
- if (entity != null) womcab.Id = entity.Id;
+ var entity = Db.Queryable<Womcab>().Where(s => s.Erpid == womcab.Erpid && s.Eid==womcab.Eid).Single();
+ if (entity != null)
+ {
+ womcab.Id = entity.Id;
+ }
womcabList.Add(womcab);
}
--
Gitblit v1.9.3