From eb744ecfecc0f1b6d9c0999c65bc740d93e30eda Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期三, 22 一月 2025 13:38:52 +0800
Subject: [PATCH] 新增接口

---
 StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs |   50 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 31 insertions(+), 19 deletions(-)

diff --git a/StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs b/StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs
index 655f745..ddfc488 100644
--- a/StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs
+++ b/StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs
@@ -65,19 +65,40 @@
 
     private bool DeleteSupplier(List<MesSupplier> supplierId)
     {
-        var ids = supplierId.Select(it => it.Id).ToArray();
+        // 鎻愬彇鎵�鏈夐渶瑕佺殑 MesId 缁勫悎 
+        var ids = supplierId.Select(customer => customer.Id.ToString())
+            .ToList();
+        
+        // 浣跨敤杩欎簺 MesId 鍘绘煡璇� MesLinkU9 琛紝鎵惧埌瀵瑰簲鐨� U9Id
+        var u9Ids = Db.Queryable<MesLinkU9>()
+            .Where(u =>
+                ids.Contains(u.MesId) && u.TableType == "MES_SUPPLIER")
+            .Select(u => u.U9Id)
+            .Distinct() // 搴旂敤 Distinct 鍘婚噸
+            .ToList();
 
-        var executeCommand = Db.Deleteable<MesSupplier>()
-            .Where(s => ids.Contains(s.Id)).ExecuteCommand();
+        // 鏍规嵁 U9Id 鎵惧埌鎵�鏈夊搴旂殑 MesId锛岃繘琛屽垹闄�
+        // 娉ㄦ剰锛氳繖閲屽亣璁炬偍纭疄鎯宠鍒犻櫎杩欎簺璁板綍銆傚鏋滀笉纭畾锛岃鍏堟煡璇互楠岃瘉缁撴灉銆�
+        var idsToDelete = Db.Queryable<MesLinkU9>()
+            .Where(u => u9Ids.Contains(u.U9Id) && u.TableType == "MES_SUPPLIER")
+            .Select(u => u.MesId)
+            .Distinct() // 搴旂敤 Distinct 鍘婚噸
+            .ToList();
 
-        if (executeCommand > 0) return true;
 
-        throw new NotImplementedException("鍒犻櫎澶辫触");
+        //浠ヤ笂鏂规硶鍙互鑰冭檻浼樺寲锛屽皢U9id鎵句釜鏂板缓瀛楁瀛樺湪MES_CUSTOMER涓紝灏卞彲浠ュ皯涓�姝ユ煡璇簡銆�
+
+        var deleteByIds = Db.Deleteable<MesSupplier>().In(idsToDelete)
+            .ExecuteCommand();
+        // if (deleteByIds > 0)
+        //     return true;
+        return true;
+        //throw new NotImplementedException("鍒犻櫎澶辫触");
     }
 
     private List<MesSupplier> GetMesSupplier(ErpSupplier supplier)
     {
-        List<MesSupplier> list = new List<MesSupplier>();
+        List<MesSupplier> list = new();
         foreach (var se in supplier.FUseOrgId)
         {
             var exists = Db.Queryable<MesLinkU9>().Any(u =>
@@ -176,18 +197,9 @@
     ///鏂颁唬鐮�
     private bool InsertOrUpdate(SqlSugarScope db, List<MesSupplier> entity)
     {
-        var ids = entity.Select(it => it.Id).ToArray();
-
-        var executeCommand = db.Deleteable<MesSupplier>()
-            .Where(s => ids.Contains(s.Id))
-            .ExecuteCommand();
-
-        if (executeCommand > 0)
-        {
-            var insert = db.Insertable(entity).ExecuteCommand();
-            return insert > 0;
-        }
-
-        throw new Exception("鎿嶄綔澶辫触");
+        DeleteSupplier(entity);
+         
+        var insert = db.Insertable(entity).ExecuteCommand();
+        return insert > 0;
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3