From 8b67ee8a1b3e954de07014724f94875815c2783a Mon Sep 17 00:00:00 2001
From: cnf <3200815559@qq.com>
Date: 星期二, 25 三月 2025 18:12:22 +0800
Subject: [PATCH] 111
---
MES.Service/service/WomcaaManager.cs | 166 ++++++++++++++++++++++++++++++++++++------------------
1 files changed, 110 insertions(+), 56 deletions(-)
diff --git a/MES.Service/service/WomcaaManager.cs b/MES.Service/service/WomcaaManager.cs
index bdddbe0..27a1cbe 100644
--- a/MES.Service/service/WomcaaManager.cs
+++ b/MES.Service/service/WomcaaManager.cs
@@ -22,21 +22,21 @@
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].FBillNo);
+ 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;
+ return SaveOrUpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0;
+ case "5":
+ return UpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0;
default:
throw new NotImplementedException(
$"type娌℃湁{womErpCaa.Type}杩欎釜绫诲瀷");
@@ -44,63 +44,102 @@
}) > 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();
-
+ {
+ 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)
+ {
+ 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;
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);
- 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("鏇存柊澶辫触");
}
- private Womcaa MapErpCAAtoWomcaa(ErpCAA dto)
+ private Womcaa MapErpCAAtoWomcaa(ErpCAA dto,string FBillNo)
{
var entity = new Womcaa
{
Erpid = Convert.ToDecimal(dto.Id),
- Caa001 = dto.FBillNo,
- Caa021 = dto.FWorkShopID0,
+ Caa001 = FBillNo,
+ Caa004 = dto.FBillType,
+ Caa005 = dto.FConveyDate,
+ Caa006 = dto.FMaterialId,
+ Caa009 = dto.FUnitId,
+ Caa010 = dto.FPlanStartDate,
+ Caa011 = dto.FPlanFinishDate,
+ Caa012 = Convert.ToDecimal(dto.FQty),
+ Caa013 = dto.FBomId,
+ Caa015 = dto.FSaleOrderNo,
+ Caa016 = dto.FDescription,
+ Caa017 = 0,
+ Caa018 = Convert.ToDecimal(dto.PLAN_ID),
+ Caa019 = dto.PLAN_SEQ,
+ Caa020 = dto.PLAN_NUM,
+ Caa021 = dto.FWorkShopID,
+ Fstatus = 0,
+ Caa022 = Convert.ToDecimal(dto.FQty),
+ Caa023 = dto.FStatus,
+ Caa024 = 0,
RoutingId = dto.FRoutingId,
WorkShopId = dto.FREMWorkShopId,
DepotCode = dto.FStockId,
CreateDate = dto.FDate,
- Caa004 = dto.FBillType,
- Caa023 = dto.FStatus,
- Caa006 = dto.FMaterialId,
- Caa009 = dto.FUnitId,
- Caa012 = !string.IsNullOrEmpty(dto.FQty)
- ? Convert.ToDecimal(dto.FQty)
- : null,
WorkGroupId = dto.FWorkGroupId,
PlanId = dto.FPlannerID,
- Caa010 = dto.FPlanStartDate,
- Caa011 = dto.FPlanFinishDate,
- Caa005 = dto.FConveyDate,
StockInlimith = dto.FStockInLimitH,
StockInlimitl = dto.FStockInLimitL,
Mtono = dto.FMTONO,
Lot = dto.FLot,
- Caa013 = dto.FBomId,
- Caa015 = dto.F_UNW_Text_xsddh,
CreateType = dto.FCreateType,
SrcBillType = dto.FSrcBillType,
SrcBillNo = dto.FSrcBillNo,
@@ -110,11 +149,24 @@
ForceCloserid = dto.FForceCloserId,
CloseType = dto.FCloseType,
SrcSplitBillno = dto.FSrcSplitBillNo,
- Caa016 = dto.FMemoItem,
- Caa018 = Convert.ToDecimal(dto.planId),
- Caa019 = Convert.ToDecimal(dto.planSeq),
- Caa020 = dto.planNum
+ PrdOrg=dto.FPrdOrgId,
+ TrustOrg=dto.FEnTrustOrgId,
+ TbTime=DateTime.Now,
+ JaBs = "0",
+ F_WWC_BASEPROPERTY = dto.F_wwc_BaseProperty,
+ F_WWC_DATETIME = dto.F_WWC_DATETIME != null ? DateTime.ParseExact(dto.F_WWC_DATETIME, "yyyy-MM-dd HH:mm:ss", null) : null,
+ FGS = Convert.ToDecimal(dto.FGS),
+ F_WWC_DECIMAL = Convert.ToDecimal(dto.F_WWC_DECIMAL),
+ F_WWC_XB = dto.F_WWC_XB,
+ F_WWC_BASE = dto.F_WWC_BASE,
+ IsXg = 0
+
};
+ if (dto.FStatus == "6" || dto.FStatus == "7")
+ {
+ entity.JaBs = "1";
+ entity.JaTime = DateTime.Now;
+ }
var single = base.GetSingle(it => it.Erpid == entity.Erpid);
if (single != null) entity.Id = single.Id;
@@ -130,34 +182,36 @@
{
var womcab = new Womcab
{
- Erpid = Convert.ToDecimal(dto.ID),
+ Erpid = Convert.ToDecimal(dto.Id),
Cab001 = dto.FBillNo,
Cab002 = dto.FSeq,
- Cab003 = dto.FMaterialID2,
- Cab006 = !string.IsNullOrEmpty(dto.FNeedQty2)
- ? Convert.ToDecimal(dto.FNeedQty2)
- : null,
- Cab007 = !string.IsNullOrEmpty(dto.FPickedQty)
- ? Convert.ToDecimal(dto.FPickedQty)
- : null,
+ Cab003 = dto.FMaterialID,
+ Cab006 = Convert.ToDecimal(dto.FMustQty),
+ Cab007 = Convert.ToDecimal(dto.FPickedQty),
+ Cab009 = dto.FUnitID,
+ Cab012 = Convert.ToDecimal(dto.FStdQty),
+ Cab014 = dto.FIsKeyItem,
+ Pid = Convert.ToDecimal(dto.Pid),
+ Eid = Convert.ToDecimal(dto.Pid),
PositionNo = dto.FPositionNO,
+ IssuingOrganization=dto.FSupplyOrg,
+ SupplyOrganization=dto.FChildSupplyOrgId,
OwnerId = dto.FOwnerID,
Mtono = dto.FMTONO,
Lot = dto.FLot,
DepotCode = dto.FStockID,
IssueType = dto.FIssueType,
- Cab008 = dto.F_UNW_Text_tpgy,
- Cab009 = dto.FUnitID,
SupplyType = dto.FSupplyType,
- Cab012 = !string.IsNullOrEmpty(dto.FStdQty)
- ? Convert.ToDecimal(dto.FStdQty)
- : null,
- Cab014 = dto.FIsKeyItem,
- Numerator = dto.FNumerator,
- Denominator = dto.FDenominator,
- Eid = Convert.ToDecimal(dto.PID),
+ Numerator = Convert.ToDecimal(dto.FNumerator),
+ Denominator = Convert.ToDecimal(dto.FDenominator),
SCRAPQTY = Convert.ToDecimal(dto.FFixScrapQty),
- SCRAPRATE = Convert.ToDecimal(dto.FScrapRate)
+ SCRAPRATE = Convert.ToDecimal(dto.FScrapRate),
+ SalesOrder = dto.F_WWC_TEXT,
+ F_WWC_TEXT1 = dto.F_WWC_TEXT1,
+ F_WWC_DATE = dto.F_WWC_DATE != null ? DateTime.ParseExact(dto.F_WWC_DATE, "yyyy-MM-dd HH:mm:ss", null) : null,
+ F_WWC_BASEPROPERTY = dto.F_wwc_BaseProperty,
+ FUSERATE = dto.FUseRate,
+ FMATERIALTYPE = dto.FMaterialType
};
var entity = Db.Queryable<Womcab>()
--
Gitblit v1.9.3