From e19f8a13e2b35e6836ce46c17402c44327814a00 Mon Sep 17 00:00:00 2001
From: wbc <2597324127@qq.com>
Date: 星期四, 18 十二月 2025 09:14:36 +0800
Subject: [PATCH] 产能排产漏更新

---
 WebApi/Gs.Wom/Service/WompbaGxManager.cs |  174 +++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 137 insertions(+), 37 deletions(-)

diff --git a/WebApi/Gs.Wom/Service/WompbaGxManager.cs b/WebApi/Gs.Wom/Service/WompbaGxManager.cs
index bf8e401..6aad561 100644
--- a/WebApi/Gs.Wom/Service/WompbaGxManager.cs
+++ b/WebApi/Gs.Wom/Service/WompbaGxManager.cs
@@ -19,7 +19,6 @@
     private readonly IHttpContextAccessor _http;
 
     private readonly string _userCode, _userGuid, _orgFids;
-
     public WompbaGxManager(IHttpContextAccessor httpContextAccessor)
     {
         _http = httpContextAccessor;
@@ -82,7 +81,7 @@
         {
             LogHelper.Debug(ToString(), ex.Message);
             return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
-                ReturnCode.Exception, ex.Message);
+          ReturnCode.Exception, ex.Message);
         }
 
         return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
@@ -112,8 +111,7 @@
         var dset = new DataSet();
         try
         {
-            dset = DbHelperSQL.RunProcedure("[prc_wom_pbagx_mx]", parameters,
-                "0");
+            dset = DbHelperSQL.RunProcedure("[prc_wom_pbagx_mx]", parameters, "0");
             if (dset != null && dset.Tables.Count > 0 &&
                 dset.Tables[0].Rows.Count > 0)
             {
@@ -145,8 +143,8 @@
         Guid? guid = model.guid; //涓婚敭
         string bz = model.bz; //澶囨敞
         string cjId = model.cjId; //杞﹂棿
-        var cxId = ""; //浜х嚎,鐢ㄤ笉鍒颁簡
-        var jhrs = ""; //璁″垝浜烘暟,鐢ㄤ笉鍒颁簡
+        string cxId = ""; //浜х嚎,鐢ㄤ笉鍒颁簡
+        string jhrs = ""; //璁″垝浜烘暟,鐢ㄤ笉鍒颁簡
         var _sb = new StringBuilder();
         var _split = "|";
         foreach (var m in model.list)
@@ -169,7 +167,6 @@
                 _sb.Append("~");
             _sb.Append(_line);
         }
-
         dynamic mObj = new ExpandoObject();
         mObj.outMsg = "";
         mObj.outSum = -1;
@@ -189,8 +186,7 @@
                         new("@outSum", SqlDbType.Int),
                         new("@outGuid", SqlDbType.UniqueIdentifier),
                         new("@outNo", SqlDbType.NVarChar, 300),
-                        new("@inOrderGuid",
-                            CheckGuid(guid) ? guid : DBNull.Value),
+                        new("@inOrderGuid", CheckGuid(guid) ? guid : DBNull.Value),
                         new("@inBz", bz),
                         new("@inCjId", cjId),
                         new("@inCxId", cxId),
@@ -223,12 +219,9 @@
                 }
             }
         }
-
         if (mObj.outSum <= 0)
-            return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Exception,
-                mObj.outMsg);
-        return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Success,
-            mObj.outMsg);
+            return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Exception, mObj.outMsg);
+        return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Success, mObj.outMsg);
     }
 
 
@@ -246,16 +239,16 @@
         string keyWhere = model.Paging.keyWhere;
         string itemid = model.ItemInfo.itemid;
         SqlParameter[] parameters =
-        {
-            new("@inCurrentPage", currentPage),
-            new("@inEveryPageSize", everyPageSize),
-            new("@inSortName", sortName),
-            new("@inSortOrder", ""),
-            new("@inQueryWhere", keyWhere),
-            new("@itemID", itemid),
-            new("@inP1", ""),
-            new("@inP2", "")
-        };
+                  {
+                        new("@inCurrentPage", currentPage),
+                        new("@inEveryPageSize", everyPageSize),
+                        new("@inSortName", sortName),
+                        new("@inSortOrder", ""),
+                        new("@inQueryWhere", keyWhere),
+                        new("@itemID", itemid),
+                        new("@inP1", ""),
+                        new("@inP2", "")
+                    };
         var dset = new DataSet();
         var _pglist = new PageList<dynamic>
         {
@@ -266,10 +259,9 @@
         };
         try
         {
-            dset = DbHelperSQL.RunProcedure("prc_wom_pba_selectGX", parameters,
-                "0");
+            dset = DbHelperSQL.RunProcedure("prc_wom_pba_selectGX", parameters, "0");
             if (dset != null && dset.Tables.Count > 0 &&
-                dset.Tables[0].Rows.Count > 0) //鏈夋暟鎹�
+                    dset.Tables[0].Rows.Count > 0) //鏈夋暟鎹�
             {
                 var intTotal =
                     int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString());
@@ -287,12 +279,13 @@
         {
             LogHelper.Debug(ToString(), ex.Message);
             return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
-                ReturnCode.Exception, ex.Message);
+          ReturnCode.Exception, ex.Message);
         }
-
         return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
             ReturnCode.Success, "璇诲彇鎴愬姛");
     }
+
+
 
 
     /// <summary>
@@ -341,10 +334,8 @@
         }
         catch (Exception ex)
         {
-            LogHelper.Debug(ToString(),
-                "prc_wom_pba_select error锛�" + ex.Message);
-            return ReturnDto<PageList<dynamic>>.QuickReturn(
-                default(PageList<dynamic>), ReturnCode.Exception, "璇诲彇澶辫触");
+            LogHelper.Debug(ToString(), "prc_wom_pba_select error锛�" + ex.Message);
+            return ReturnDto<PageList<dynamic>>.QuickReturn(default(PageList<dynamic>), ReturnCode.Exception, "璇诲彇澶辫触");
         }
 
         var _pglist = new PageList<dynamic>
@@ -497,7 +488,7 @@
 
 
     /// <summary>
-    ///     瀹℃牳
+    ///   瀹℃牳
     /// </summary>
     /// <param name="mode"></param>
     /// <returns></returns>
@@ -553,7 +544,7 @@
     }
 
     /// <summary>
-    ///     鍙嶅鏍�
+    ///   鍙嶅鏍�
     /// </summary>
     /// <param name="mode"></param>
     /// <returns></returns>
@@ -578,7 +569,7 @@
                         new("@outMsg", SqlDbType.NVarChar, 300),
                         new("@outSum", SqlDbType.Int),
                         new("@inEdtUserGuid", _userGuid),
-                        new("@PI_ID", _guid)
+                        new("@PI_ID", _guid),
                         //new("@inFieldValue", 1),
                         //new("@in1", ""),
                         //new("@in2", "")
@@ -605,7 +596,116 @@
                 }
             }
         }
-
         return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "鎿嶄綔鎴愬姛锛�");
     }
+
+
+
+    /// <summary>
+    /// 鎵归噺澶勭悊鏄庣粏鏁版嵁
+    /// </summary>
+    /// <param name="model"></param>
+    /// <returns></returns>
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<ExpandoObject> BatchProcessDetails([FromBody] dynamic model)
+    {
+        dynamic result = new ExpandoObject();
+        result.outSum = 0;
+        result.outMsg = "";
+
+        try
+        {
+            // 鑾峰彇璇锋眰鍙傛暟
+            string operatorGuid = model.operatorGuid?.ToString() ?? "";
+            string operationType = model.operationType?.ToString() ?? "BatchProcess";
+            var selectedDetails = model.selectedDetails;
+
+            if (selectedDetails == null)
+            {
+                result.outMsg = "鏈帴鏀跺埌瑕佸鐞嗙殑鏄庣粏鏁版嵁锛�";
+                return ReturnDto<ExpandoObject>.QuickReturn(result, ReturnCode.Default, result.outMsg);
+            }
+
+            // 鏋勫缓鏄庣粏鏁版嵁瀛楃涓诧紝鐢ㄤ簬浼犻�掔粰瀛樺偍杩囩▼
+            var _sb = new StringBuilder();
+            var _split = "|";
+            int processCount = 0;
+
+            foreach (var detail in selectedDetails)
+            {
+                string detailGuid = detail.guid?.ToString() ?? "";
+                string daa002 = detail.daa002?.ToString() ?? "";
+                string daa003 = detail.daa003?.ToString() ?? "";
+                string daa005 = detail.daa005?.ToString() ?? "";
+                string daa010 = detail.daa010?.ToString() ?? "";
+
+                // 楠岃瘉蹇呰瀛楁
+                if (string.IsNullOrEmpty(detailGuid))
+                    continue;
+
+                // 鏋勫缓鏄庣粏琛屾暟鎹瓧绗︿覆
+                var _line = detailGuid + _split
+                           + daa002 + _split
+                           + daa003 + _split
+                           + daa005 + _split
+                           + daa010 + _split
+                           + operationType + _split
+                           + _userCode + _split
+                           + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+
+                if (_sb.Length > 0)
+                    _sb.Append("~");
+                _sb.Append(_line);
+                processCount++;
+            }
+
+            if (processCount == 0)
+            {
+                result.outMsg = "娌℃湁鏈夋晥鐨勬槑缁嗘暟鎹渶瑕佸鐞嗭紒";
+                return ReturnDto<ExpandoObject>.QuickReturn(result, ReturnCode.Default, result.outMsg);
+            }
+
+            // 璋冪敤瀛樺偍杩囩▼杩涜鎵归噺澶勭悊
+            SqlParameter[] parameters =
+            {
+            new("@inOperatorGuid", operatorGuid),
+            new("@inOperationType", operationType),
+            new("@inDetailsData", _sb.ToString()),
+            new("@inUserCode", _userCode),
+            new("@inUserGuid", _userGuid),
+            new("@inOrgFids", _orgFids),
+            new("@outSum", SqlDbType.Int) { Direction = ParameterDirection.Output },
+            new("@outMsg", SqlDbType.NVarChar, 500) { Direction = ParameterDirection.Output }
+        };
+
+            var dset = new DataSet();
+            dset = DbHelperSQL.RunProcedure("prc_wom_pbagx_batch_process", parameters, "0");
+
+            // 鑾峰彇杈撳嚭鍙傛暟
+            int outSum = Convert.ToInt32(parameters[6].Value ?? 0);
+            string outMsg = parameters[7].Value?.ToString() ?? "";
+
+            result.outSum = outSum;
+            result.outMsg = outMsg;
+
+            if (outSum > 0)
+            {
+
+                return ReturnDto<ExpandoObject>.QuickReturn(result, ReturnCode.Success, outMsg);
+            }
+            else
+            {
+
+                return ReturnDto<ExpandoObject>.QuickReturn(result, ReturnCode.Default, outMsg);
+            }
+        }
+        catch (Exception ex)
+        {
+            result.outMsg = "鎵归噺澶勭悊鏄庣粏鏃跺彂鐢熷紓甯革細" + ex.Message;
+            return ReturnDto<ExpandoObject>.QuickReturn(result, ReturnCode.Exception, result.outMsg);
+        }
+    }
+
+
+
 }
\ No newline at end of file

--
Gitblit v1.9.3