From 1cd4e66b490e4b6cc3368771cdff164990e152e7 Mon Sep 17 00:00:00 2001
From: cdk <2441919651@qq.com>
Date: 星期一, 22 十二月 2025 17:35:57 +0800
Subject: [PATCH] 接口增加单位换算,dab增加两个字段
---
MES.Service/service/WomcaaManager.cs | 99 +++++++++++++++++++++++++++++++++++++++----------
1 files changed, 79 insertions(+), 20 deletions(-)
diff --git a/MES.Service/service/WomcaaManager.cs b/MES.Service/service/WomcaaManager.cs
index a39614e..f0369f4 100644
--- a/MES.Service/service/WomcaaManager.cs
+++ b/MES.Service/service/WomcaaManager.cs
@@ -23,7 +23,8 @@
public bool Save(ErpWOM wom)
{
var womErpCaa = wom.ErpCaa;
- var mesWomcaa = MapErpCAAtoWomcaa(womErpCaa);
+
+ var mesWomcaa = MapErpCAAtoWomcaa(womErpCaa, wom.ErpCabs[0].FBillNo);
var mesWomcabs =
MapErpCABtoWomcab(wom.ErpCabs);
@@ -32,12 +33,15 @@
switch (womErpCaa.Type)
{
case "3":
- return UpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0;
+ return SaveOrUpdateData(db, mesWomcaa, mesWomcabs,womErpCaa.Type)
+ ? 1
+ : 0;
+ //return UpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0; //鍙嶅鏍镐笉鍒犻櫎锛屽仛update銆�
case "2":
case "4":
//kyy 2024-09-13 鍙樻洿
case "5":
- return SaveOrUpdateData(db, mesWomcaa, mesWomcabs)
+ return SaveOrUpdateData(db, mesWomcaa, mesWomcabs,womErpCaa.Type)
? 1
: 0;
default:
@@ -48,8 +52,16 @@
}
private bool SaveOrUpdateData(SqlSugarScope db, Womcaa mesWomcaa,
- List<Womcab> mesWomcabs)
+ List<Womcab> mesWomcabs, string type)
{
+ if(type == "3" || (mesWomcaa.DocumentStatus != null && mesWomcaa.DocumentStatus != "C"))
+ {
+ mesWomcaa.Typea = "3"; // 鏂板瀛楁璧嬪��
+ mesWomcaa.Caa001 = mesWomcaa.Caa001 + "F" + mesWomcaa.Erpid.ToString();
+ }
+
+
+
if (StringUtil.CheckGuid(mesWomcaa.Guid))
base.DeleteById(mesWomcaa.Guid);
@@ -58,15 +70,44 @@
db.Deleteable<Womcab>()
.Where(s => s.Pid == mesWomcaa.Erpid).ExecuteCommand();
- var orUpdate = base.Insert(mesWomcaa);
- var baOrUpdate = _womcabManager.InsertRange(mesWomcabs);
- if (orUpdate && baOrUpdate) return true;
+ //鍗曟潯鎻掑叆蹇界暐绌哄瓧娈�
+ var orUpdate = db.Insertable(mesWomcaa)
+ .IgnoreColumns(true).ExecuteCommand() > 0;
+
+ //鎵归噺鎻掑叆蹇界暐绌哄瓧娈�
+ var baOrUpdate = db.Insertable(mesWomcabs).PageSize(1)
+ .IgnoreColumnsNull()
+ .ExecuteCommand() > 0;
+
+ // if (orUpdate && baOrUpdate)
+ // throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
+
+ if (orUpdate && baOrUpdate)
+ {
+ db.Ado.ExecuteCommand("exec [dbo].[prc_unit_check] @billno, @ModuleType",
+ new { billno = mesWomcaa.Caa001, ModuleType = "鐢熶骇宸ュ崟" });
+
+
+ // 璋冪敤瀛樺偍杩囩▼鏇存柊鐢ㄦ枡娓呭崟
+ db.Ado.ExecuteCommand("exec [dbo].[prc_update_womdab] @outMsg output,@outSum output,@inEdtUserGuid,@inCaaGuid",
+ new {
+ outMsg = (string)null, // 杈撳嚭鍙傛暟
+ outSum = (int?)null, // 杈撳嚭鍙傛暟
+ inEdtUserGuid = new Guid("11111111-1111-1111-1111-111111111111"),
+ inCaaGuid = new Guid(mesWomcaa.Guid.ToString())
+ });
+ return true;
+ }
throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
+
+
}
private bool UpdateData(SqlSugarScope db, Womcaa mesWomcaa,
List<Womcab> mesWomcabs)
{
+ //throw new NotImplementedException("瀛樺湪涓嬫湁鍗曟嵁锛屼笉鍏佽鍙嶅");
+
var decimals = mesWomcabs.Select(s => s.Guid).ToArray();
var update = base.DeleteById(mesWomcaa.Guid);
var insertOrUpdate = db
@@ -77,12 +118,12 @@
throw new NotImplementedException("鏇存柊澶辫触");
}
- private Womcaa MapErpCAAtoWomcaa(ErpCAA dto)
+ private Womcaa MapErpCAAtoWomcaa(ErpCAA dto,string PPBOMNO)
{
var entity = new Womcaa
{
Erpid = Convert.ToInt32(dto.Id), /// ERPID
- Caa001 = dto.FBillNo, /// 鍗曞彿
+ Caa001 = PPBOMNO, /// 鍗曞彿
Caa021 = dto.FWorkShopID, /// 宸ヤ綔杞﹂棿
RoutingId = dto.FRoutingId, /// 宸ヨ壓璺嚎
WorkShopId = dto.FREMWorkShopId, /// 浜х嚎
@@ -93,13 +134,15 @@
Caa006 = dto.FMaterialId, /// 浜у搧缂栫爜
Caa009 = dto.FUnitId, /// 鍗曚綅
Caa012 = !string.IsNullOrEmpty(dto.FQty)
- ? Convert.ToInt32(dto.FQty)
+ ? Convert.ToDecimal(dto.FQty)
: null, /// 鏁伴噺
WorkGroupId = dto.FWorkGroupId, /// 璁″垝缁�
PlanId = dto.FPlannerID, /// 璁″垝鍛�
Caa010 = dto.FPlanStartDate, /// 棰勮寮�宸ユ椂闂�
Caa011 = dto.FPlanFinishDate, /// 棰勮瀹屽伐鏃堕棿
- Caa005 = dto.FConveyDate, /// 寮�鍗曟棩鏈�
+ Caa005 = DateTime.TryParse(dto.FConveyDate, out var conveyDate)
+ ? (conveyDate <= new DateTime(1900, 1, 1) ? null : conveyDate.ToString())
+ : null, /// 寮�鍗曟棩鏈�
StockInlimith = dto.FStockInLimitH, /// 鍏ュ簱涓婇檺
StockInlimitl = dto.FStockInLimitL, /// 鍏ュ簱涓嬮檺
Mtono = dto.FMTONO, /// 璁″垝璺熻釜鍙�
@@ -127,6 +170,7 @@
//Caa015 = dto.F_UNW_Text_xsddh, /// 閿�鍞鍗曞彿
ErpSczz = Convert.ToInt32(dto.FPrdOrgId), /// 鐢熶骇缁勭粐ID
ErpWtzz = Convert.ToInt32(dto.FEnTrustOrgId), /// 濮旀墭缁勭粐ID
+ Btbz = dto.Btbz, /// 濮旀墭缁勭粐ID
//Caa015Head = dto.F_XIFG_Integer_tzk, /// 閿�鍞鍗曡鍙�
//MainProductNo = dto.F_XIFG_Base_w5c, /// 涓讳骇鍝佺紪鐮�
// MainProductQty =
@@ -135,7 +179,11 @@
// PackingListNumber = dto.F_XIFG_Text_yrr, /// 鍖呰鍗曞彿
// CustomerName = dto.F_XIFG_Text_qtr1, /// 瀹㈡埛鍚嶇О
// Customer = dto.F_XIFG_Base_83g1, /// 瀹㈡埛
- Caa0111 = dto.FPlanFinishDate /// 棰勮瀹屽伐鏃堕棿澶囦唤
+ Caa0111 = dto.FPlanFinishDate, /// 棰勮瀹屽伐鏃堕棿澶囦唤
+ Typea = dto.TypeA, /// 棰勮瀹屽伐鏃堕棿澶囦唤
+ //Typeb = dto.TypeB /// 棰勮瀹屽伐鏃堕棿澶囦唤
+ SynchronousDate = DateTime.Now,
+ DocumentStatus = dto.FDocumentStatus
};
var single = base.GetSingle(it => it.Erpid == entity.Erpid);
@@ -152,15 +200,15 @@
{
var womcab = new Womcab
{
- Erpid = Convert.ToInt32(dto.FENTRYID), /// ERPID
+ Erpid = Convert.ToInt32(dto.Id), /// ERPID
Cab001 = dto.FBillNo, /// 宸ュ崟鍗曞彿
- Cab002 = dto.FSeq, /// 搴忓彿
+ Cab002 = Convert.ToInt32(dto.FSeq), /// 搴忓彿
Cab003 = dto.FMaterialID, /// 鏉愭枡缂栫爜
Cab006 = !string.IsNullOrEmpty(dto.FNeedQty)
- ? Convert.ToInt32(dto.FNeedQty)
+ ? Convert.ToDecimal(dto.FNeedQty)
: null, /// 闇�棰嗙敤閲�
Cab007 = !string.IsNullOrEmpty(dto.FPickedQty)
- ? Convert.ToInt32(dto.FPickedQty)
+ ? Convert.ToDecimal(dto.FPickedQty)
: null, /// 宸查鐢ㄩ噺
PositionNo = dto.FPositionNO, /// 浣嶇疆鍙�
SupplyOrganization = dto.FChildSupplyOrgId, /// 渚涘簲缁勭粐
@@ -174,7 +222,7 @@
Cab009 = dto.FUnitID, /// 鍗曚綅
SupplyType = dto.FSupplyType, /// 渚涘簲绫诲瀷(C閲囪喘 Z鑷埗 W濮斿)
Cab012 = !string.IsNullOrEmpty(dto.FStdQty)
- ? Convert.ToInt32(dto.FStdQty)
+ ? Convert.ToDecimal(dto.FStdQty)
: null, /// 缁勬垚鐢ㄩ噺
Cab014 = dto.FIsKeyItem, /// 鏄惁鏇挎枡
Numerator = dto.FNumerator, /// 鍒嗗瓙
@@ -183,7 +231,13 @@
Eid = Convert.ToInt32(dto.Id), /// ERP ID
Scrapqty = dto.FFixScrapQty, /// 鍥哄畾鎹熻��
- Scraprate = dto.FScrapRate, /// 鍙樺姩鎹熻�楃巼
+ Scraprate = dto.FScrapRate, /// 鍙樺姩鎹熻�楃巼
+ Freplacegroup = Convert.ToInt32(dto.FReplaceGroup),
+ UseRate = Convert.ToDecimal(dto.FUseRate),
+ MaterialType = dto.FMaterialType,
+ MustQty = Convert.ToDecimal(dto.FMustQty),
+ Typeb = dto.TypeB,
+ F_UNW_QTY_YFSL = dto.F_UNW_QTY_YFSL,
// Fsaleorderno = dto.FSALEORDERNO, /// 閿�鍞鍗�
//
// CustomerItemNumber = dto.F_XIFG_Text_re5, /// 瀹㈡埛璐у彿
@@ -195,8 +249,13 @@
};
var entity = Db.Queryable<Womcab>()
- .Where(s => s.Erpid == womcab.Erpid).Single();
- if (entity != null) womcab.Guid = entity.Guid;
+ .Where(s => s.Eid == womcab.Eid).Single();
+ if (entity != null) {
+ womcab.Guid = entity.Guid;
+ womcab.IS_LOCK = entity.IS_LOCK;
+ womcab.IS_LOCK_DATE = entity.IS_LOCK_DATE;
+
+ }
womcabList.Add(womcab);
}
--
Gitblit v1.9.3