From 0c999fbeed306e212e30baabf90792afa52412dc Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期三, 17 十二月 2025 08:37:53 +0800
Subject: [PATCH] 主表ID改为序列化生成:生产订单、采购订单。采购订单整单删除功能日志消息补全。
---
MES.Service/service/BasicData/MesRohInManager.cs | 147 +++++++++++++++++++++++++++++++++++-------------
1 files changed, 107 insertions(+), 40 deletions(-)
diff --git a/MES.Service/service/BasicData/MesRohInManager.cs b/MES.Service/service/BasicData/MesRohInManager.cs
index 56dc5da..cdc658e 100644
--- a/MES.Service/service/BasicData/MesRohInManager.cs
+++ b/MES.Service/service/BasicData/MesRohInManager.cs
@@ -1,4 +1,5 @@
-锘縰sing Masuit.Tools;
+锘縰sing AngleSharp.Dom;
+using Masuit.Tools;
using MES.Service.DB;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
@@ -70,17 +71,17 @@
// 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
private bool SaveOrUpdateData(SqlSugarScope db, MesRohIn mesRohIn,List<MesRohInData> mesRohInDatas, string type)
{
- ////浼犱粈涔堬紝c灏辨敼鎴愪粈涔�
+ //浼犱粈涔堬紝c灏辨敼鎴愪粈涔�
//if (type == "3" || (mesRohIn.DocumentStatus != null && mesRohIn.DocumentStatus != "C"))//C琛ㄧず宸插鏍哥姸鎬�
//{
// mesRohIn.BillNo = mesRohIn.BillNo + "F" + mesRohIn.EbelnK3id.ToString();
//}
- //浼犱粈涔堬紝c灏辨敼鎴愪粈涔�
- if (type == "3" || (mesRohIn.DocumentStatus != null && mesRohIn.DocumentStatus != "Y"))//Y琛ㄧず宸插鏍哥姸鎬�
- {
- mesRohIn.BillNo = mesRohIn.BillNo + "Y" + mesRohIn.EbelnK3id.ToString();
- }
+ ////浼犱粈涔堬紝c灏辨敼鎴愪粈涔�
+ //if (type == "3" || (mesRohIn.DocumentStatus != null && mesRohIn.DocumentStatus != "Y"))//Y琛ㄧず宸插鏍哥姸鎬�
+ //{
+ // mesRohIn.BillNo = mesRohIn.BillNo + "F" + mesRohIn.EbelnK3id.ToString();
+ //}
if (mesRohIn.Guid != null)
db.Deleteable<MesRohIn>().Where(s => s.Guid == mesRohIn.Guid)
@@ -138,13 +139,31 @@
mesRohIn.EbelnK3id = eid;
mesRohIn.BillNo = rohIn.FBillNo;
- mesRohIn.DocumentStatus = rohIn.FDocumentStatus;
+
mesRohIn.DocumentType = rohIn.FBillTypeID;
mesRohIn.BusinessType = rohIn.FBusinessType;
+
+
+ ////erp浼犺繃鏉ョ殑Y->C,琛ㄧず瀹℃牳銆侼->A銆傦紙涓庨噾铦堕�昏緫淇濇寔涓�鑷达級
+ //mesRohIn.DocumentStatus = rohIn.FDocumentStatus;
+
+ //erp浼犺繃鏉ョ殑Y->C,琛ㄧず瀹℃牳銆侼->A銆傦紙涓庨噾铦堕�昏緫淇濇寔涓�鑷达級
+ if (string.IsNullOrEmpty(rohIn.FDocumentStatus))
+ {
+ mesRohIn.DocumentStatus = "A";
+ }
+ else
+ {
+ mesRohIn.DocumentStatus = rohIn.FDocumentStatus == "Y" ? "C" : "A";
+ }
+
+
if (rohIn.FDate != null)
mesRohIn.PurchaseDate = DateTime.ParseExact(rohIn.FDate,
"yyyy-MM-dd HH:mm:ss", null);
+
+
//渚涘簲鍟嗙紪鐮佽浆ID
var mesRohInSupplier = Db.Queryable<MesSupplier>()
@@ -177,10 +196,6 @@
if (!string.IsNullOrWhiteSpace(mesRohInPurchaseDept))
{
mesRohIn.PurchaseDept = mesRohInPurchaseDept;
- }
- else if (!string.IsNullOrWhiteSpace(rohIn.FPurchaseDeptId))
- {
- mesRohIn.PurchaseDept = rohIn.FPurchaseDeptId;
}
else
{
@@ -330,6 +345,21 @@
SalesOrderId = s.F_UNW_Text_xsddh
};
+ //搴撳瓨鍗曚綅缂栫爜杞琁D
+ //InventoryUnit = s.FStockUnitID,
+ var entityInventoryUnit = Db.Queryable<MesUnit>()
+ .Where(x => x.Fnumber == s.FUnitId)
+ .Select(x => x.Id.ToString())
+ .First();
+ if (!string.IsNullOrWhiteSpace(entityInventoryUnit))
+ {
+ entity.InventoryUnit = entityInventoryUnit;
+ }
+ else
+ {
+ entity.InventoryUnit = "0";
+ }
+
//閲囪喘鍗曚綅缂栫爜杞琁D
var entityPurchaseUnit = Db.Queryable<MesUnit>()
.Where(x => x.Fnumber == s.FUnitId)
@@ -338,10 +368,6 @@
if (!string.IsNullOrWhiteSpace(entityPurchaseUnit))
{
entity.PurchaseUnit = entityPurchaseUnit;
- }
- else if (!string.IsNullOrWhiteSpace(s.FUnitId))
- {
- entity.PurchaseUnit = s.FUnitId;
}
else
{
@@ -357,10 +383,6 @@
{
entity.PricingUnit = entityPricingUnit;
}
- else if (!string.IsNullOrWhiteSpace(s.FPriceUnitId))
- {
- entity.PricingUnit = s.FPriceUnitId;
- }
else
{
entity.PricingUnit = "0";
@@ -374,10 +396,6 @@
if (!string.IsNullOrWhiteSpace(entityItemId))
{
entity.ItemId = entityItemId;
- }
- else if (!string.IsNullOrWhiteSpace(s.FMaterialId))
- {
- entity.ItemId = s.FMaterialId;
}
else
{
@@ -414,29 +432,57 @@
}
//鏌ヨEbelnK3id瀵瑰簲鐨凣uid锛岃祴鍊肩粰entity.Guid銆傚疄鐜颁富閿鐢�
- var single = rohInDataManager.GetSingle(it =>it.EbelnK3id == entity.EbelnK3id);
+ var single = rohInDataManager.GetSingle(it => it.EbelnK3id == entity.EbelnK3id);
if (single != null) entity.Guid = single.Guid;
return entity;
}).ToList();
}
+ ///// <summary>
+ ///// 鐢熸垚鏂扮殑涓昏〃ID锛岀‘淇濅笉閲嶅
+ ///// </summary>
+ //private decimal GenerateNewId()
+ //{
+ // // 澶勭悊绌鸿〃鐨勬儏鍐碉紝浠�1寮�濮�
+ // var maxId = Db.Queryable<MesRohIn>().Max(x => (decimal?)x.EbelnK3id) ?? 0;
+ // var newId = maxId + 1;
+
+ // // 鍙岄噸妫�鏌ワ紝纭繚鐢熸垚鐨処D涓嶅瓨鍦�
+ // while (Db.Queryable<MesRohIn>().Where(x => x.EbelnK3id == newId).Any())
+ // {
+ // newId++;
+ // }
+
+ // return newId;
+ //}
+
/// <summary>
- /// 鐢熸垚鏂扮殑涓昏〃ID锛岀‘淇濅笉閲嶅
+ /// 鐢熸垚鏂扮殑涓昏〃ID锛岄�氳繃鏁版嵁搴撳簭鍒楄幏鍙栧敮涓�ID
/// </summary>
private decimal GenerateNewId()
{
- // 澶勭悊绌鸿〃鐨勬儏鍐碉紝浠�1寮�濮�
- var maxId = Db.Queryable<MesRohIn>().Max(x => (decimal?)x.EbelnK3id) ?? 0;
- var newId = maxId + 1;
-
- // 鍙岄噸妫�鏌ワ紝纭繚鐢熸垚鐨処D涓嶅瓨鍦�
- while (Db.Queryable<MesRohIn>().Where(x => x.EbelnK3id == newId).Any())
+ try
{
- newId++;
- }
+ // 鏇挎崲涓猴細
+ var sequenceValueObj = Db.Ado.GetScalar("SELECT NEXT VALUE FOR MES_ROH_IN_seq");
+ var sequenceValue = Convert.ToDecimal(sequenceValueObj);
+ // 楠岃瘉搴忓垪鍊兼槸鍚︽湁鏁�
+ if (sequenceValue <= 0)
+ {
+ throw new InvalidOperationException($"鏁版嵁搴撳簭鍒� MES_ROH_IN_seq 杩斿洖浜嗘棤鏁堢殑鍊�: {sequenceValue}");
+ }
- return newId;
+ return sequenceValue;
+ }
+ catch (Exception ex)
+ {
+ // 璁板綍寮傚父淇℃伅
+ Console.WriteLine($"璋冪敤鏁版嵁搴撳簭鍒� MES_ROH_IN_seq 澶辫触: {ex.Message}");
+
+ // 鍚戜笂灞傛姏鍑烘槑纭殑寮傚父淇℃伅
+ throw new InvalidOperationException($"鐢熸垚瀛愯〃ID澶辫触锛屾棤娉曡幏鍙栨暟鎹簱搴忓垪鍊�: {ex.Message}", ex);
+ }
}
/// <summary>
@@ -446,14 +492,29 @@
{
try
{
- // 鏇挎崲涓猴細
+ // 鑾峰彇褰撳墠琛ㄤ腑宸插瓨鍦ㄧ殑鏈�澶� EBELN_K3ID
+ //var maxId = Db.Queryable<MesRohInData>().Max(x => (decimal?)x.EbelnK3id) ?? 0m;
+
+ // 鍏堝彇涓�涓簭鍒楀��
var sequenceValueObj = Db.Ado.GetScalar("SELECT NEXT VALUE FOR MES_ROH_IN_DATA_seq");
var sequenceValue = Convert.ToDecimal(sequenceValueObj);
- // 楠岃瘉搴忓垪鍊兼槸鍚︽湁鏁�
+
if (sequenceValue <= 0)
{
throw new InvalidOperationException($"鏁版嵁搴撳簭鍒� MES_ROH_IN_DATA_seq 杩斿洖浜嗘棤鏁堢殑鍊�: {sequenceValue}");
}
+
+ //// 濡傛灉搴忓垪鍊艰惤鍚庝簬褰撳墠鏈�澶D锛屾寔缁幏鍙栫洿鍒拌秴杩� maxId
+ //while (sequenceValue <= maxId || Db.Queryable<MesRohInData>().Where(x => x.EbelnK3id == sequenceValue).Any())
+ //{
+ // sequenceValueObj = Db.Ado.GetScalar("SELECT NEXT VALUE FOR MES_ROH_IN_DATA_seq");
+ // sequenceValue = Convert.ToDecimal(sequenceValueObj);
+
+ // if (sequenceValue <= 0)
+ // {
+ // throw new InvalidOperationException($"鏁版嵁搴撳簭鍒� MES_ROH_IN_DATA_seq 杩炵画杩斿洖鏃犳晥鐨勫��: {sequenceValue}");
+ // }
+ //}
return sequenceValue;
}
@@ -474,6 +535,8 @@
/// <returns>琚垹闄ょ殑鍗曞彿</returns>
public (int outSum, string outMsg) Delete(string FBillNo, string FBillTypeID)
{
+ try
+ {
var outMsg = string.Empty;
var outSum = 0;
@@ -488,9 +551,13 @@
Db.Ado.UseStoredProcedure().ExecuteCommand("ERP_DeleteMesRohInByBillNo", parameters);
outMsg = parameters[2].Value?.ToString() ?? "";
- outSum = parameters[3].Value != null ? Convert.ToInt32(parameters[2].Value) : -1;
-
- return (outSum, outMsg);
+ outSum = parameters[3].Value != null ? Convert.ToInt32(parameters[index: 3].Value) : -1;
+ return (outSum, outMsg);
+ }
+ catch (Exception ex)
+ {
+ throw new InvalidOperationException($"璋冪敤瀛樺偍杩囩▼ ERP_DeleteMesRohInByBillNo 澶辫触: {ex.Message}", ex);
+ }
}
--
Gitblit v1.9.3