From 7d015999eec3156e16e972bf3aa6adecb0c18854 Mon Sep 17 00:00:00 2001
From: sjz <1240968267@qq.com>
Date: 星期五, 14 二月 2025 20:58:00 +0800
Subject: [PATCH] ERP变更用料清单同步
---
MES.Service/service/WomcaaManager.cs | 45 ++++++++++++++++++++--
MES.Service/service/WomcaaWWManager.cs | 43 ++++++++++++++++++++-
2 files changed, 80 insertions(+), 8 deletions(-)
diff --git a/MES.Service/service/WomcaaManager.cs b/MES.Service/service/WomcaaManager.cs
index 7b09e4b..62c2f95 100644
--- a/MES.Service/service/WomcaaManager.cs
+++ b/MES.Service/service/WomcaaManager.cs
@@ -33,19 +33,54 @@
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}杩欎釜绫诲瀷");
}
}) > 0;
+ }
+ private bool UpdateData(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);
+ 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);
+ // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+ int result = int.Parse((string)outParam1.Value);
+ string 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 SaveOrUpdateData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs)
@@ -61,7 +96,7 @@
throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
}
- private bool UpdateData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs)
+ private bool DeleteData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs)
{
var decimals = mesWomcabs.Select(s => s.Id).ToArray();
var update = base.DeleteById(mesWomcaa.Id);
diff --git a/MES.Service/service/WomcaaWWManager.cs b/MES.Service/service/WomcaaWWManager.cs
index 2acad32..25adab9 100644
--- a/MES.Service/service/WomcaaWWManager.cs
+++ b/MES.Service/service/WomcaaWWManager.cs
@@ -35,17 +35,54 @@
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":
- case "5":
return SaveOrUpdateDataWw(db, mesWomcaa, mesWomcabs) ? 1 : 0;
+ case "5":
+ return UpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0;
default:
throw new NotImplementedException(
$"type娌℃湁{womErpCaa.Type}杩欎釜绫诲瀷");
}
}) > 0;
+ }
+ private bool UpdateData(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 = _womcabWWManager.InsertRange(mesWomcabs);
+ 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);
+ // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+ int result = int.Parse((string)outParam1.Value);
+ string 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 SaveOrUpdateDataWw(SqlSugarScope db, Womcaa mesWomcaa, List<Womcab> mesWomcabss)
@@ -61,7 +98,7 @@
throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
}
- private bool UpdateData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs)
+ private bool DeleteData(SqlSugarScope db, Womcaa mesWomcaa,List<Womcab> mesWomcabs)
{
if (mesWomcaa.Id != null)
{
--
Gitblit v1.9.3