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/MesSupplierManager.cs |  151 ++++++++++++++++++++++----------------------------
 1 files changed, 67 insertions(+), 84 deletions(-)

diff --git a/MES.Service/service/BasicData/MesSupplierManager.cs b/MES.Service/service/BasicData/MesSupplierManager.cs
index fb8718f..649b8fd 100644
--- a/MES.Service/service/BasicData/MesSupplierManager.cs
+++ b/MES.Service/service/BasicData/MesSupplierManager.cs
@@ -2,6 +2,7 @@
 using MES.Service.Dto.webApi;
 using MES.Service.Modes;
 using SqlSugar;
+using System.Collections.Generic;
 
 namespace MES.Service.service.BasicData;
 
@@ -28,7 +29,7 @@
                         return 1;
                     break;
                 case "3":
-                    if (DeleteSupplier(entity.Id))
+                    if (UpdateSupplierStatus(db, entity.Id, "B"))
                         return 1;
                     break;
                 case "4":
@@ -36,10 +37,8 @@
                         return 1;
                     break;
                 default:
-                    throw new ArgumentNullException(
-                        $"type娌℃湁{unit.Type}杩欎釜绫诲瀷鐨勫弬鏁�");
+                    throw new ArgumentNullException($"type娌℃湁{unit.Type}杩欎釜绫诲瀷鐨勫弬鏁�");
             }
-
             throw new NotImplementedException("鎿嶄綔澶辫触");
         }) > 0;
     }
@@ -47,8 +46,7 @@
     public bool SaveList(List<ErpSupplier> suppliers)
     {
         var list = suppliers.Select(GetMesSupplier).ToList();
-        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 =>
         {
@@ -56,13 +54,11 @@
                 switch (supplierGroup.Key)
                 {
                     case "0":
-                        if (!UpdateSupplierStatusBatch(db, supplierGroup.Value,
-                                "A"))
+                        if (!UpdateSupplierStatusBatch(db, supplierGroup.Value,"A"))
                             throw new NotImplementedException("鍚敤澶辫触");
                         break;
                     case "1":
-                        if (!UpdateSupplierStatusBatch(db, supplierGroup.Value,
-                                "B"))
+                        if (!UpdateSupplierStatusBatch(db, supplierGroup.Value,"B"))
                             throw new NotImplementedException("绂佺敤澶辫触");
                         break;
                     case "2":
@@ -70,7 +66,7 @@
                             throw new NotImplementedException("鎻掑叆澶辫触");
                         break;
                     case "3":
-                        if (!DeleteSupplierBatch(db, supplierGroup.Value))
+                        if (!UpdateSupplierStatusBatch(db, supplierGroup.Value, "B"))
                             throw new NotImplementedException("鍒犻櫎澶辫触");
                         break;
                     case "4":
@@ -78,41 +74,61 @@
                             throw new NotImplementedException("鍚屾澶辫触");
                         break;
                     default:
-                        throw new ArgumentNullException(
-                            $"type娌℃湁{supplierGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�");
+                        throw new ArgumentNullException($"type娌℃湁{supplierGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�");
                 }
 
             return 1;
         }) > 0;
     }
 
-    private bool UpdateSupplierStatus(SqlSugarScope db, decimal supplierId,
-        string status)
+    private bool UpdateSupplierStatus(SqlSugarScope db, decimal supplierId,string status)
     {
-        var result = db.Updateable<MesSupplier>()
-            .SetColumns(s => s.Fforbidstatus == status)
-            .Where(s => s.Id == supplierId).ExecuteCommand();
-
-        if (result > 0)
-            return true;
-
-        throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触");
+        var result = db.Updateable<MesSupplier>().SetColumns(s => s.Fforbidstatus == status).Where(s => s.Id == supplierId).ExecuteCommand();
+        return true;
     }
 
     private bool InsertSupplier(SqlSugarScope db, MesSupplier entity)
     {
-        var insert = db.Insertable(entity).ExecuteCommand();
-        if (insert > 0)
+        var exists = db.Queryable<MesSupplier>().Any(e => e.Id == entity.Id);
+        if (exists)
+        {
+            var result = db.Updateable<MesSupplier>().ExecuteCommand();
             return true;
-
-        throw new NotImplementedException("鎻掑叆澶辫触");
+        }
+        else
+        {
+            var insert = db.Insertable(entity).ExecuteCommand();
+            if (insert > 0)
+            {
+                return true;
+            }
+            else
+            {
+                throw new NotImplementedException("鎻掑叆澶辫触");
+            }
+        }
     }
 
-    private bool DeleteSupplier(decimal supplierId)
+    private bool InsertOrUpdate(SqlSugarScope db, MesSupplier entity)
     {
-        if (base.DeleteById(supplierId)) return true;
-
-        throw new NotImplementedException("鍒犻櫎澶辫触");
+        var exists = db.Queryable<MesSupplier>().Any(e => e.Id == entity.Id);
+        if (exists)
+        {
+            var update = db.Updateable(entity).ExecuteCommand();
+            return true;
+        }
+        else
+        {
+            var insert = db.Insertable(entity).ExecuteCommand();
+            if (insert > 0)
+            {
+                return true;
+            }
+            else
+            {
+                return false;
+            }
+        }
     }
 
     private MesSupplier GetMesSupplier(ErpSupplier supplier)
@@ -136,67 +152,34 @@
         };
     }
 
-    private bool UpdateSupplierStatusBatch(SqlSugarScope db,
-        List<MesSupplier> supplierList, string status)
+    private bool UpdateSupplierStatusBatch(SqlSugarScope db,List<MesSupplier> supplierList, string status)
     {
         var ids = supplierList.Select(it => it.Id).ToArray();
-        var result = db.Updateable<MesSupplier>()
-            .SetColumns(s => s.Fforbidstatus == status)
-            .Where(s => ids.Contains(s.Id)).ExecuteCommand();
-
-        if (result > 0)
-            return true;
-
-        throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触");
+        var result = db.Updateable<MesSupplier>().SetColumns(s => s.Fforbidstatus == status).Where(s => ids.Contains(s.Id)).ExecuteCommand();
+        return true;
     }
 
-    private bool InsertSupplierBatch(SqlSugarScope db,
-        List<MesSupplier> supplierList)
-    {
-        var insertRange = db.Insertable(supplierList).ExecuteCommand();
-        if (insertRange > 0)
-            return true;
-
-        throw new NotImplementedException("鎻掑叆澶辫触");
-    }
-
-    private bool DeleteSupplierBatch(SqlSugarScope db,
-        List<MesSupplier> supplierList)
-    {
-        var ids = supplierList.Select(it => it.Id).ToArray();
-        var deleteByIds = db.Deleteable<MesSupplier>().In(ids).ExecuteCommand();
-        if (deleteByIds > 0)
-            return true;
-
-        throw new NotImplementedException("鍒犻櫎澶辫触");
-    }
-
-    private bool InsertOrUpdate(SqlSugarScope db, MesSupplier entity)
-    {
-        var exists = db.Queryable<MesSupplier>().Any(e => e.Id == entity.Id);
-        if (exists)
-        {
-            var update = db.Updateable(entity).ExecuteCommand();
-            if (update > 0)
-                return true;
-        }
-        else
-        {
-            var insert = db.Insertable(entity).ExecuteCommand();
-            if (insert > 0)
-                return true;
-        }
-
-        return false;
-    }
-
-    private bool InsertOrUpdateBatch(SqlSugarScope db,
-        List<MesSupplier> supplierList)
+    private bool InsertSupplierBatch(SqlSugarScope db,List<MesSupplier> supplierList)
     {
         foreach (var entity in supplierList)
-            if (!InsertOrUpdate(db, entity))
+        {
+            if (!InsertSupplier(db, entity))
+            {
                 return false;
+            }
+        }
+        return true;
+    }
 
+    private bool InsertOrUpdateBatch(SqlSugarScope db,List<MesSupplier> supplierList)
+    {
+        foreach (var entity in supplierList)
+        {
+            if (!InsertOrUpdate(db, entity))
+            {
+                return false;
+            }
+        }
         return true;
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3