From 8328aed1bca2a30c3105b19f41d324acb59437c9 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期四, 18 十二月 2025 14:11:42 +0800
Subject: [PATCH] 采购订单:添加组合键、添加单别。生产订单:添加整单删除、主表id生产改为序列化

---
 MES.Service/service/WomcaaManager.cs |  111 ++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 73 insertions(+), 38 deletions(-)

diff --git a/MES.Service/service/WomcaaManager.cs b/MES.Service/service/WomcaaManager.cs
index 0672037..516c7d0 100644
--- a/MES.Service/service/WomcaaManager.cs
+++ b/MES.Service/service/WomcaaManager.cs
@@ -3,9 +3,12 @@
 using MES.Service.Modes;
 using MES.Service.util;
 using SqlSugar;
+using System.Data;
 
 namespace MES.Service.service;
-
+/// <summary>
+/// 鐢熶骇璁㈠崟
+/// </summary>
 public class WomcaaManager : Repository<Womcaa>
 {
     //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
@@ -324,51 +327,51 @@
         return womcabList;
     }
 
-    /// <summary>
-    /// 鐢熸垚鏂扮殑涓昏〃ID锛岀‘淇濅笉閲嶅
-    /// </summary>
-    private decimal GenerateNewId()
-    {
-        // 澶勭悊绌鸿〃鐨勬儏鍐碉紝浠�1寮�濮�
-        var maxId = Db.Queryable<Womcaa>().Max(x => (decimal?)x.Erpid) ?? 0;
-        var newId = maxId + 1;
-
-        // 鍙岄噸妫�鏌ワ紝纭繚鐢熸垚鐨処D涓嶅瓨鍦�
-        while (Db.Queryable<Womcaa>().Where(x => x.Erpid == newId).Any())
-        {
-            newId++;
-        }
-
-        return newId;
-    }
-
     ///// <summary>
-    ///// 鐢熸垚鏂扮殑涓昏〃ID锛岄�氳繃鏁版嵁搴撳簭鍒楄幏鍙栧敮涓�ID
+    ///// 鐢熸垚鏂扮殑涓昏〃ID锛岀‘淇濅笉閲嶅
     ///// </summary>
     //private decimal GenerateNewId()
     //{
-    //    try
-    //    {
-    //        // 鏇挎崲涓猴細
-    //        var sequenceValueObj = Db.Ado.GetScalar("SELECT NEXT VALUE FOR MES_WOMCAB_IN_seq");
-    //        var sequenceValue = Convert.ToDecimal(sequenceValueObj);
-    //        // 楠岃瘉搴忓垪鍊兼槸鍚︽湁鏁�
-    //        if (sequenceValue <= 0)
-    //        {
-    //            throw new InvalidOperationException($"鏁版嵁搴撳簭鍒� MES_WOMCAB_IN_seq 杩斿洖浜嗘棤鏁堢殑鍊�: {sequenceValue}");
-    //        }
+    //    // 澶勭悊绌鸿〃鐨勬儏鍐碉紝浠�1寮�濮�
+    //    var maxId = Db.Queryable<Womcaa>().Max(x => (decimal?)x.Erpid) ?? 0;
+    //    var newId = maxId + 1;
 
-    //        return sequenceValue;
-    //    }
-    //    catch (Exception ex)
+    //    // 鍙岄噸妫�鏌ワ紝纭繚鐢熸垚鐨処D涓嶅瓨鍦�
+    //    while (Db.Queryable<Womcaa>().Where(x => x.Erpid == newId).Any())
     //    {
-    //        // 璁板綍寮傚父淇℃伅
-    //        Console.WriteLine($"璋冪敤鏁版嵁搴撳簭鍒� MES_WOMCAB_IN_seq 澶辫触: {ex.Message}");
-
-    //        // 鍚戜笂灞傛姏鍑烘槑纭殑寮傚父淇℃伅
-    //        throw new InvalidOperationException($"鐢熸垚瀛愯〃ID澶辫触锛屾棤娉曡幏鍙栨暟鎹簱搴忓垪鍊�: {ex.Message}", ex);
+    //        newId++;
     //    }
+
+    //    return newId;
     //}
+
+    /// <summary>
+    /// 鐢熸垚鏂扮殑涓昏〃ID锛岄�氳繃鏁版嵁搴撳簭鍒楄幏鍙栧敮涓�ID
+    /// </summary>
+    private decimal GenerateNewId()
+    {
+        try
+        {
+            // 鏇挎崲涓猴細
+            var sequenceValueObj = Db.Ado.GetScalar("SELECT NEXT VALUE FOR MES_WOMCAB_IN_seq");
+            var sequenceValue = Convert.ToDecimal(sequenceValueObj);
+            // 楠岃瘉搴忓垪鍊兼槸鍚︽湁鏁�
+            if (sequenceValue <= 0)
+            {
+                throw new InvalidOperationException($"鏁版嵁搴撳簭鍒� MES_WOMCAB_IN_seq 杩斿洖浜嗘棤鏁堢殑鍊�: {sequenceValue}");
+            }
+
+            return sequenceValue;
+        }
+        catch (Exception ex)
+        {
+            // 璁板綍寮傚父淇℃伅
+            Console.WriteLine($"璋冪敤鏁版嵁搴撳簭鍒� MES_WOMCAB_IN_seq 澶辫触: {ex.Message}");
+
+            // 鍚戜笂灞傛姏鍑烘槑纭殑寮傚父淇℃伅
+            throw new InvalidOperationException($"鐢熸垚瀛愯〃ID澶辫触锛屾棤娉曡幏鍙栨暟鎹簱搴忓垪鍊�: {ex.Message}", ex);
+        }
+    }
 
     /// <summary>
     /// 鐢熸垚鏂扮殑瀛愯〃ID锛岄�氳繃鏁版嵁搴撳簭鍒楄幏鍙栧敮涓�ID
@@ -397,4 +400,36 @@
             throw new InvalidOperationException($"鐢熸垚瀛愯〃ID澶辫触锛屾棤娉曡幏鍙栨暟鎹簱搴忓垪鍊�: {ex.Message}", ex);
         }
     }
+
+    /// <summary>
+    /// 鏁村崟鍒犻櫎锛岃皟鐢ㄥ瓨鍌ㄨ繃绋�
+    /// </summary>
+    /// <param name="billNo">鍗曞彿</param>
+    /// <returns>琚垹闄ょ殑鍗曞彿</returns>
+    public (int outSum, string outMsg) Delete(string FBillNo, string FBillTypeID)
+    {
+        try
+        {
+            var outMsg = string.Empty;
+            var outSum = 0;
+
+            var parameters = new List<SugarParameter>
+    {
+        new SugarParameter("@FBillNo", FBillNo),
+        new SugarParameter("@FBillTypeID", FBillTypeID),
+        new SugarParameter("@outMsg", outMsg, typeof(string), ParameterDirection.Output, 2500),
+        new SugarParameter("@outSum", outSum, typeof(int), ParameterDirection.Output)
+    };
+
+            Db.Ado.UseStoredProcedure().ExecuteCommand("ERP_DeleteMesRohInByBillNo", parameters);
+
+            outMsg = parameters[2].Value?.ToString() ?? "";
+            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);
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3