From c62655030c6b61311e29c2915d895c81c7c16762 Mon Sep 17 00:00:00 2001
From: hao <1836460075@qq.com>
Date: 星期五, 28 十一月 2025 13:33:37 +0800
Subject: [PATCH] 分布式调拨防呆
---
StandardInterface/MES.Service/service/WomcaaManager.cs | 89 ++++++++++++++++++++++++++++++++++++++++----
1 files changed, 80 insertions(+), 9 deletions(-)
diff --git a/StandardInterface/MES.Service/service/WomcaaManager.cs b/StandardInterface/MES.Service/service/WomcaaManager.cs
index bfc2467..5651b46 100644
--- a/StandardInterface/MES.Service/service/WomcaaManager.cs
+++ b/StandardInterface/MES.Service/service/WomcaaManager.cs
@@ -64,22 +64,88 @@
.IgnoreColumnsNull()
.ExecuteCommand() > 0;
- if (orUpdate && baOrUpdate) return true;
+ 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_DAA2(: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)
{
+
+ //瀹氫箟杈撳叆鍙傛暟
+ 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_DAA2(: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();
+
+
var decimals = mesWomcabs.Select(s => s.Id).ToArray();
- var update = base.DeleteById(mesWomcaa.Id);
- var insertOrUpdate = db
- .Deleteable<Womcab>().In(decimals)
- .ExecuteCommand() > 0;
+ var update = true;
+ if (mesWomcaa != null)
+ {
+ if (mesWomcaa.Id != null)
+ {
+ update = base.DeleteById(mesWomcaa.Id);
+ }
+ }
+ var insertOrUpdate = true;
+ if (decimals != null || decimals.Length > 0)
+ {
+ insertOrUpdate = db.Deleteable<Womcab>().In(decimals).ExecuteCommand() > 0;
+ }
- if (update && insertOrUpdate) return true;
+ if (update && insertOrUpdate)
+ {
+
+ return true;
+ }
throw new NotImplementedException("鏇存柊澶辫触");
+
}
private Womcaa MapErpCAAtoWomcaa(ErpCAA dto)
@@ -210,7 +276,9 @@
Jt=dto.JT,
Xscn=dto.XS_CN,
Sjxs=dto.SJ_xs,
- Nextgx=dto.NEXT_Gx
+ Nextgx=dto.NEXT_Gx,
+ Rks=dto.RKS,
+ Khwlbm=dto.KHWLBM,
//娌冨皵鏂板
// WR_F_SCDD_SCTZD = dto.F_SCDD_SCTZD
//WR_F_SCDD_XH = dto.F_SCDD_XH
@@ -235,8 +303,10 @@
Cab001 = dto.FBillNo, //鍗曟嵁缂栧彿
Cab002 = dto.FSeq, //搴忓彿
Cab003 = dto.FMaterialID, //瀛愰」鐗╂枡缂栫爜
- Cab006 = Convert.ToDecimal(dto.FNeedQty), //闇�姹傛暟閲�
- MustQty = Convert.ToDecimal(dto.FMustQty), //搴斿彂鏁伴噺
+ // Cab006 = Convert.ToDecimal(dto.FNeedQty), //闇�姹傛暟閲�
+ Cab006 = Convert.ToDecimal(dto.FMustQty), //搴斿彂鏁伴噺
+ MustQty = Convert.ToDecimal(dto.FNeedQty), //闇�姹傛暟閲�
+ // MustQty = Convert.ToDecimal(dto.FMustQty), //搴斿彂鏁伴噺
Cab007 = Convert.ToDecimal(dto.FPickedQty), //宸查鏁伴噺
PositionNo = dto.FPositionNO, //浣嶇疆鍙�
SupplyOrganization = dto.FChildSupplyOrgId, //渚涘簲缁勭粐
@@ -280,6 +350,7 @@
// Db.Deleteable<Womcab>().Where(s => s.Erpid == womcab.Erpid).ExecuteCommand();
womcab.Id = entity.Id;
}
+
womcabList.Add(womcab);
}
--
Gitblit v1.9.3