From 148e3eea1fea2d45ab135c6e66e69d163a4dd811 Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期五, 28 二月 2025 16:19:53 +0800
Subject: [PATCH] 代码提交

---
 StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs |   51 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 33 insertions(+), 18 deletions(-)

diff --git a/StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs b/StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs
index 655f745..8bac07c 100644
--- a/StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs
+++ b/StandardPda/MES.Service/service/BasicData/MesSupplierManager.cs
@@ -1,6 +1,7 @@
 锘縰sing MES.Service.DB;
 using MES.Service.Dto.webApi;
 using MES.Service.Modes;
+using MES.Service.util;
 using SqlSugar;
 
 namespace MES.Service.service.BasicData;
@@ -65,19 +66,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();
 
-        var executeCommand = Db.Deleteable<MesSupplier>()
-            .Where(s => ids.Contains(s.Id)).ExecuteCommand();
+        // 浣跨敤杩欎簺 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();
 
-        if (executeCommand > 0) return true;
+        // 鏍规嵁 U9Id 鎵惧埌鎵�鏈夊搴旂殑 MesId锛岃繘琛屽垹闄�
+        // 娉ㄦ剰锛氳繖閲屽亣璁炬偍纭疄鎯宠鍒犻櫎杩欎簺璁板綍銆傚鏋滀笉纭畾锛岃鍏堟煡璇互楠岃瘉缁撴灉銆�
+        var idsToDelete = Db.Queryable<MesLinkU9>()
+            .Where(u => u9Ids.Contains(u.U9Id) && u.TableType == "MES_SUPPLIER")
+            .Select(u => u.MesId)
+            .Distinct() // 搴旂敤 Distinct 鍘婚噸
+            .ToList();
 
-        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 =>
@@ -97,6 +119,7 @@
             }
             else
             {
+                mesId = GetSeqUtil.GetSeq("SEQ_BASEINFO_ID");
                 var entity = new MesLinkU9
                 {
                     CreateDate = DateTime.Now,
@@ -105,7 +128,7 @@
                     OrgId = se.FUseOrgId,
                     TableType = "MES_SUPPLIER"
                 };
-                mesId = Db.Insertable(entity).ExecuteReturnIdentity();
+                Db.Insertable(entity).ExecuteCommand();
             }
 
             var mesSupplier = new MesSupplier
@@ -176,18 +199,10 @@
     ///鏂颁唬鐮�
     private bool InsertOrUpdate(SqlSugarScope db, List<MesSupplier> entity)
     {
-        var ids = entity.Select(it => it.Id).ToArray();
+        DeleteSupplier(entity);
 
-        var executeCommand = db.Deleteable<MesSupplier>()
-            .Where(s => ids.Contains(s.Id))
+        var insert = db.Insertable(entity).PageSize(1).IgnoreColumnsNull()
             .ExecuteCommand();
-
-        if (executeCommand > 0)
-        {
-            var insert = db.Insertable(entity).ExecuteCommand();
-            return insert > 0;
-        }
-
-        throw new Exception("鎿嶄綔澶辫触");
+        return insert > 0;
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3