From a4ae3bf5f1826e8e29a95da3dc2c947d713d4ebb Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期五, 06 六月 2025 15:38:14 +0800
Subject: [PATCH] 1.仓库信息储存逻辑调整 2.生产订单接口优化。

---
 MES.Service/service/BasicData/MesStaffManager.cs |   40 ++++++++++++++++++++++++----------------
 1 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/MES.Service/service/BasicData/MesStaffManager.cs b/MES.Service/service/BasicData/MesStaffManager.cs
index 25fb3a1..5ccd3f4 100644
--- a/MES.Service/service/BasicData/MesStaffManager.cs
+++ b/MES.Service/service/BasicData/MesStaffManager.cs
@@ -27,7 +27,6 @@
                     break;
                 case "2":
                 case "4":
-                    DeleteStaff(db, sysUser, entity.Id);
                     if (InsertOrUpdateStaff(db, sysUser, entity)) // 鎻掑叆鎴栨洿鏂板憳宸�
                         return 1;
                     break;
@@ -62,8 +61,22 @@
     private bool InsertOrUpdateStaff(SqlSugarScope db, SysUser sysUser,
         MesStaff entity)
     {
-        var insertUser = db.Insertable(sysUser).ExecuteCommand();
-        if (insertUser <= 0) return false;
+
+        var exists = db.Queryable<SysUser>().Any(u => u.Account == sysUser.Account);
+        if (!exists)
+        {
+            var insertUser = db.Insertable(sysUser).ExecuteCommand();
+            if (insertUser <= 0) return false;
+        }
+
+        //db.Deleteable<SysUser>()
+        //    .Where(s => s.Account == sysUser.Account).ExecuteCommand();
+
+        db.Deleteable<MesStaff>()
+            .Where(s => s.Id == entity.Id).ExecuteCommand();
+
+        
+
         var insertStaff = db.Insertable(entity).ExecuteCommand();
         return insertStaff > 0;
     }
@@ -115,11 +128,13 @@
     {
         return new SysUser
         {
+            IsStatus = true,
             Account = staff.FStaffNumber,
             UserName = staff.FName,
             Password = "E1ADC3949BA59ABBE56E057F2F883E", // 鍒濆瀵嗙爜
             DepartNo = staff.FPostDept,
-            Type = staff.Type
+            Type = staff.Type,
+            CreateTime = DateTime.Now
         };
     }
 
@@ -157,16 +172,12 @@
                                 "B")) // 鎵归噺绂佺敤鍛樺伐
                             throw new NotImplementedException("绂佺敤澶辫触");
                         break;
-                    case "2":
-                        if (!InsertStaffBatch(db, userList,
-                                staffGroup.Value)) // 鎵归噺鎻掑叆鍛樺伐
-                            throw new NotImplementedException("鎻掑叆澶辫触");
-                        break;
                     case "3":
                         if (!DeleteStaffBatch(db, userList,
                                 staffGroup.Value)) // 鎵归噺鍒犻櫎鍛樺伐
                             throw new NotImplementedException("鍒犻櫎澶辫触");
                         break;
+                    case "2":
                     case "4":
                         if (!InsertOrUpdateBatch(db, userList,
                                 staffGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂板憳宸�
@@ -231,12 +242,9 @@
     private bool InsertOrUpdateBatch(SqlSugarScope db, List<SysUser> userList,
         List<MesStaff> staffList)
     {
-        foreach (var sysUser in userList)
-        {
-            var entity = staffList.First(s => s.StaffNo == sysUser.Account);
-            if (!InsertOrUpdateStaff(db, sysUser, entity)) return false;
-        }
-
-        return true;
+        return !(from sysUser in userList
+            let entity = staffList.First(s => s.StaffNo == sysUser.Account)
+            where !InsertOrUpdateStaff(db, sysUser, entity)
+            select sysUser).Any();
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3