From 0f74b3e1c8024d3b203d25a772a348b48e0f4ebd Mon Sep 17 00:00:00 2001
From: wbc <2597324127@qq.com>
Date: 星期四, 15 五月 2025 09:06:49 +0800
Subject: [PATCH] 添加入库检回写入库申请单
---
MES.Service/service/WomcaaManager.cs | 203 ++++++++++++++++++++++++++++++++++++--------------
1 files changed, 145 insertions(+), 58 deletions(-)
diff --git a/MES.Service/service/WomcaaManager.cs b/MES.Service/service/WomcaaManager.cs
index 4203eb1..b4d469a 100644
--- a/MES.Service/service/WomcaaManager.cs
+++ b/MES.Service/service/WomcaaManager.cs
@@ -1,9 +1,9 @@
-锘縰sing MES.Service.DB;
+锘縰sing Dm;
+using MES.Service.DB;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
using SqlSugar;
-using System;
-using System.Security.Cryptography;
+using System.Net.NetworkInformation;
namespace MES.Service.service;
@@ -33,42 +33,101 @@
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}杩欎釜绫诲瀷");
}
}) > 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) 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_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 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);
+
+ 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 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("鏇存柊澶辫触");
@@ -76,34 +135,42 @@
private Womcaa MapErpCAAtoWomcaa(ErpCAA dto)
{
+ string jabs="0";
- var entity = new Womcaa
+ var entity = new Womcaa
{
Erpid = Convert.ToDecimal(dto.Id),
Caa001 = dto.FBillNo,
- Caa021 = dto.FWorkShopID0,
+ 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,
+ Caa015Head = dto.FSaleOrderEntrySeq,
+ 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,
@@ -113,11 +180,30 @@
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
+ F_ZSXG_KH = dto.F_ZSXG_KH,
+ F_ZJXF_YHRQ = dto.F_ZJXF_YHRQ,
+ PrdOrg = dto.erP_SCZZ,
+ TrustOrg = dto.erP_WTZZ,
+ TbTime = DateTime.Now,
+ JaBs = "0",
+ SupplierId=dto.SupplierId,
+ FinishedProduct=dto.FinishedProduct
};
+
+ if (dto.Type == "5")
+ {
+ entity.IsXg = 1;
+ }
+ else
+ {
+ entity.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;
@@ -133,40 +219,41 @@
{
var womcab = new Womcab
{
- Erpid = Convert.ToDecimal(dto.ID),
+ Erpid = Convert.ToDecimal(dto.FENTRYID),
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.FNeedQty),
+ Cab007 = Convert.ToDecimal(dto.FPickedQty),
+ Cab009 = dto.FUnitID,
+ Cab012 = Convert.ToDecimal(dto.FStdQty),
+ Cab014 = dto.FIsKeyItem,
+ Pid = Convert.ToDecimal(dto.FID),
+ Eid = Convert.ToDecimal(dto.FID),
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),
+ 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();
+ var entity = Db.Queryable<Womcab>()
+ .Where(s => s.Erpid == womcab.Erpid).Single();
if (entity != null) womcab.Id = entity.Id;
womcabList.Add(womcab);
}
-
return womcabList;
}
}
\ No newline at end of file
--
Gitblit v1.9.3