From 6761b0ed84fd7a03400b557244d0835f671dad94 Mon Sep 17 00:00:00 2001
From: sjz <1240968267@qq.com>
Date: 星期一, 14 七月 2025 18:02:59 +0800
Subject: [PATCH] 修改多组织

---
 MES.Service/service/BasicData/MesPositionManager.cs |  119 +++++++++++++++--------------------------------------------
 1 files changed, 30 insertions(+), 89 deletions(-)

diff --git a/MES.Service/service/BasicData/MesPositionManager.cs b/MES.Service/service/BasicData/MesPositionManager.cs
index 628faf8..3e7b4cb 100644
--- a/MES.Service/service/BasicData/MesPositionManager.cs
+++ b/MES.Service/service/BasicData/MesPositionManager.cs
@@ -7,9 +7,6 @@
 
 public class MesPositionManager : Repository<MesPosition>
 {
-    // 褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
-
-    // Save 鏂规硶鐢ㄤ簬淇濆瓨鍗曚釜宀椾綅璁板綍锛屾牴鎹被鍨嬫墽琛屼笉鍚岀殑鎿嶄綔
     public bool Save(ErpPosition unit)
     {
         var entity = GetMesPosition(unit); // 灏� ErpPosition 杞崲涓� MesPosition
@@ -30,7 +27,7 @@
                         return 1;
                     break;
                 case "3":
-                    if (DeletePosition(db, entity.Id)) // 鍒犻櫎宀椾綅
+                    if (UpdatePositionStatus(db, entity.Id, "B")) // 鍒犻櫎宀椾綅
                         return 1;
                     break;
                 case "4":
@@ -38,8 +35,7 @@
                         return 1;
                     break;
                 default:
-                    throw new ArgumentNullException(
-                        $"type娌℃湁{unit.Type}杩欎釜绫诲瀷鐨勫弬鏁�");
+                    throw new ArgumentNullException($"type娌℃湁{unit.Type}杩欎釜绫诲瀷鐨勫弬鏁�");
             }
 
             throw new NotImplementedException("鎿嶄綔澶辫触");
@@ -47,17 +43,10 @@
     }
 
     // 鏇存柊宀椾綅鐘舵�佺殑鏂规硶
-    private bool UpdatePositionStatus(SqlSugarScope db, decimal positionId,
-        string status)
+    private bool UpdatePositionStatus(SqlSugarScope db, decimal positionId , string status)
     {
-        var result = db.Updateable<MesPosition>()
-            .SetColumns(s => s.Fforbidstatus == status)
-            .Where(s => s.Id == positionId).ExecuteCommand();
-
-        if (result > 0)
-            return true;
-
-        throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触");
+        var result = db.Updateable<MesPosition>().SetColumns(s => s.Fforbidstatus == status).Where(s => s.Id == positionId).ExecuteCommand();
+        return true;
     }
 
     // 鎻掑叆鎴栨洿鏂板矖浣嶇殑鏂规硶
@@ -67,28 +56,20 @@
         if (exists)
         {
             var update = db.Updateable(entity).ExecuteCommand();
-            if (update > 0)
-                return true;
+            return true;
         }
         else
         {
             var insert = db.Insertable(entity).ExecuteCommand();
             if (insert > 0)
+            {
                 return true;
+            }
+            else
+            {
+                return false;
+            }
         }
-
-        return false;
-    }
-
-    // 鍒犻櫎宀椾綅鐨勬柟娉�
-    private bool DeletePosition(SqlSugarScope db, decimal positionId)
-    {
-        var deleteById = db.Deleteable<MesPosition>().In(positionId)
-            .ExecuteCommand();
-        if (deleteById > 0)
-            return true;
-
-        throw new NotImplementedException("鍒犻櫎澶辫触");
     }
 
     // 灏� ErpPosition 瀵硅薄杞崲涓� MesPosition 瀵硅薄鐨勬柟娉�
@@ -103,8 +84,9 @@
             Department = position.FDept,
             Fforbidstatus = position.FForbidStatus,
             CreationDate = DateTime.Now,
-            DisabledBy = position.FForbidderId,
-            DisabledDate = position.FForbidDate != null? DateTime.ParseExact(position.FForbidDate, "yyyy-MM-dd HH:mm:ss", null) : null
+            FCreateOrgId = position.FCreateOrgId,
+            FUserOrgId = position.FUseOrgId
+
         };
     }
 
@@ -112,48 +94,34 @@
     public bool SaveList(List<ErpPosition> positions)
     {
         var list = new List<MesPosition>();
-        positions.ForEach(s =>
-        {
-            var entity = GetMesPosition(s); // 灏� ErpPosition 杞崲涓� MesPosition
-            entity.Type = s.Type;
-            list.Add(entity);
-        });
-
-        var groupBy = list.GroupBy(s => s.Type)
-            .ToDictionary(g => g.Key, g => g.ToList());
+        var groupBy = list.GroupBy(s => s.Type).ToDictionary(g => g.Key, g => g.ToList());
         return UseTransaction(db =>
         {
             foreach (var positionGroup in groupBy)
                 switch (positionGroup.Key)
                 {
                     case "0":
-                        if (!UpdatePositionStatusBatch(db, positionGroup.Value,
-                                "A")) // 鎵归噺鍚敤宀椾綅
+                        if (!UpdatePositionStatusBatch(db, positionGroup.Value,"A")) // 鎵归噺鍚敤宀椾綅
                             throw new NotImplementedException("鍚敤澶辫触");
                         break;
                     case "1":
-                        if (!UpdatePositionStatusBatch(db, positionGroup.Value,
-                                "B")) // 鎵归噺绂佺敤宀椾綅
+                        if (!UpdatePositionStatusBatch(db, positionGroup.Value,"B")) // 鎵归噺绂佺敤宀椾綅
                             throw new NotImplementedException("绂佺敤澶辫触");
                         break;
                     case "2":
-                        if (!InsertPositionBatch(db,
-                                positionGroup.Value)) // 鎵归噺鎻掑叆宀椾綅
+                        if (!InsertOrUpdatePositionBatch(db, positionGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂板矖浣�
                             throw new NotImplementedException("鎻掑叆澶辫触");
                         break;
                     case "3":
-                        if (!DeletePositionBatch(db,
-                                positionGroup.Value)) // 鎵归噺鍒犻櫎宀椾綅
+                        if (!UpdatePositionStatusBatch(db, positionGroup.Value, "B")) // 鎵归噺绂佺敤宀椾綅
                             throw new NotImplementedException("鍒犻櫎澶辫触");
                         break;
                     case "4":
-                        if (!InsertOrUpdatePositionBatch(db,
-                                positionGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂板矖浣�
+                        if (!InsertOrUpdatePositionBatch(db,positionGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂板矖浣�
                             throw new NotImplementedException("鍚屾澶辫触");
                         break;
                     default:
-                        throw new ArgumentNullException(
-                            $"type娌℃湁{positionGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�");
+                        throw new ArgumentNullException($"type娌℃湁{positionGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�");
                 }
 
             return 1;
@@ -161,51 +129,24 @@
     }
 
     // 鎵归噺鏇存柊宀椾綅鐘舵�佺殑鏂规硶
-    private bool UpdatePositionStatusBatch(SqlSugarScope db,
-        List<MesPosition> positionList, string status)
+    private bool UpdatePositionStatusBatch(SqlSugarScope db,List<MesPosition> positionList, string status)
     {
         var ids = positionList.Select(it => it.Id).ToArray();
-        var result = db.Updateable<MesPosition>()
-            .SetColumns(s => s.Fforbidstatus == status)
-            .Where(s => ids.Contains(s.Id)).ExecuteCommand();
+        var result = db.Updateable<MesPosition>().SetColumns(s => s.Fforbidstatus == status).Where(s => ids.Contains(s.Id)).ExecuteCommand();
+        return true;
 
-        if (result > 0)
-            return true;
-
-        throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触");
-    }
-
-    // 鎵归噺鎻掑叆宀椾綅鐨勬柟娉�
-    private bool InsertPositionBatch(SqlSugarScope db,
-        List<MesPosition> positionList)
-    {
-        var insertRange = db.Insertable(positionList).ExecuteCommand();
-        if (insertRange > 0)
-            return true;
-
-        throw new NotImplementedException("鎻掑叆澶辫触");
-    }
-
-    // 鎵归噺鍒犻櫎宀椾綅鐨勬柟娉�
-    private bool DeletePositionBatch(SqlSugarScope db,
-        List<MesPosition> positionList)
-    {
-        var ids = positionList.Select(it => it.Id).ToArray();
-        var deleteByIds = db.Deleteable<MesPosition>().In(ids).ExecuteCommand();
-        if (deleteByIds > 0)
-            return true;
-
-        throw new NotImplementedException("鍒犻櫎澶辫触");
     }
 
     // 鎵归噺鎻掑叆鎴栨洿鏂板矖浣嶇殑鏂规硶
-    private bool InsertOrUpdatePositionBatch(SqlSugarScope db,
-        List<MesPosition> positionList)
+    private bool InsertOrUpdatePositionBatch(SqlSugarScope db,List<MesPosition> positionList)
     {
         foreach (var entity in positionList)
+        {
             if (!InsertOrUpdatePosition(db, entity))
+            {
                 return false;
-
+            }
+        }
         return true;
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3