From baa7d3abea49a36b1ca83d29343e720647ee2b8b Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期一, 05 五月 2025 10:29:55 +0800
Subject: [PATCH] 1.生产订单新增同步时间。 2.采购订单新增同步时间。 3.员工新增账号逻辑优化。 4.基础信息+业务单据增加route储存单号。

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

diff --git a/MES.Service/service/BasicData/MesStaffManager.cs b/MES.Service/service/BasicData/MesStaffManager.cs
index 25fb3a1..8921d64 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;
     }
@@ -119,7 +132,8 @@
             UserName = staff.FName,
             Password = "E1ADC3949BA59ABBE56E057F2F883E", // 鍒濆瀵嗙爜
             DepartNo = staff.FPostDept,
-            Type = staff.Type
+            Type = staff.Type,
+            CreateTime = DateTime.Now
         };
     }
 
@@ -157,16 +171,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 +241,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