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/MesStaffManager.cs |  109 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 63 insertions(+), 46 deletions(-)

diff --git a/StandardPda/MES.Service/service/BasicData/MesStaffManager.cs b/StandardPda/MES.Service/service/BasicData/MesStaffManager.cs
index 4ce05b3..6848f8f 100644
--- a/StandardPda/MES.Service/service/BasicData/MesStaffManager.cs
+++ b/StandardPda/MES.Service/service/BasicData/MesStaffManager.cs
@@ -1,11 +1,7 @@
-锘縰sing AngleSharp.Dom;
-using Castle.Core.Resource;
-using DnsClient;
-using MES.Service.DB;
+锘縰sing MES.Service.DB;
 using MES.Service.Dto.webApi;
 using MES.Service.Modes;
 using SqlSugar;
-using System.Xml.Linq;
 
 namespace MES.Service.service.BasicData;
 
@@ -16,7 +12,8 @@
     {
         var entity = GetMesStaff(unit); // 灏� ErpStaff 杞崲涓� MesStaff
         var sysUser = GetUser(unit); // 鑾峰彇 SysUser 瀹炰緥
-        var mesStaffPositionLink = GetMesStaffPositionLink(unit); // 鑾峰彇 MesStaffPositionLink 瀹炰緥
+        var mesStaffPositionLink =
+            GetMesStaffPositionLink(unit); // 鑾峰彇 MesStaffPositionLink 瀹炰緥
 
         return UseTransaction(db =>
         {
@@ -32,7 +29,8 @@
                     break;
                 case "2":
                 case "4":
-                    if (InsertOrUpdateStaff(db, sysUser, entity, mesStaffPositionLink)) // 鎻掑叆鎴栨洿鏂板憳宸�
+                    if (InsertOrUpdateStaff(db, sysUser, entity,
+                            mesStaffPositionLink)) // 鎻掑叆鎴栨洿鏂板憳宸�
                         return 1;
                     break;
                 case "3":
@@ -110,12 +108,12 @@
     /// 鏂颁唬鐮�
     // 鎻掑叆鎴栨洿鏂板憳宸ョ殑鏂规硶
     /// <summary>
-    /// 鎺ュ彛瀛楁璋冩暣锛氫慨鏀瑰弬鏁帮紝鏂板List<MesStaffPositionLink>鐨勫弬鏁�
+    ///     鎺ュ彛瀛楁璋冩暣锛氫慨鏀瑰弬鏁帮紝鏂板List<MesStaffPositionLink>鐨勫弬鏁�
     /// </summary>
     /// <remarks>
-    /// 淇敼浜猴細姹犲崡楠�
-    /// 淇敼鏃ユ湡锛�2024-12-25  鈥斺�斻�� 2025-01-05 浜屾淇敼
-    /// 淇敼璇存槑锛氫负浜嗗簲涓轰竴涓憳宸ュ宀椾綅鐨勬儏鍐�
+    ///     淇敼浜猴細姹犲崡楠�
+    ///     淇敼鏃ユ湡锛�2024-12-25  鈥斺�斻�� 2025-01-05 浜屾淇敼
+    ///     淇敼璇存槑锛氫负浜嗗簲涓轰竴涓憳宸ュ宀椾綅鐨勬儏鍐�
     /// </remarks>
     private bool InsertOrUpdateStaff(SqlSugarScope db, SysUser sysUser,
         MesStaff entity, List<MesStaffPositionLink> mesStaffPositionLink)
@@ -128,10 +126,11 @@
 
 
         db.Deleteable<MesStaff>()
-            .Where(s => s.Id == entity.Id )
+            .Where(s => s.Id == entity.Id)
             .ExecuteCommand();
 
-        var insertStaff = db.Insertable(entity).IgnoreColumns(true).ExecuteCommand();
+        var insertStaff =
+            db.Insertable(entity).IgnoreColumns(true).ExecuteCommand();
 
 
         var insertPosition = 1;
@@ -139,17 +138,18 @@
         {
             //鍏堝垹闄わ紝鍐嶆柊澧�
             db.Deleteable<MesStaffPositionLink>()
-        .Where(s => mesStaffPositionLink.Any(m => m.StaffId == s.StaffId))
-        .ExecuteCommand();
+                .Where(s =>
+                    mesStaffPositionLink.Any(m => m.StaffId == s.StaffId))
+                .ExecuteCommand();
 
 
             //鎵归噺鎻掑叆鏃讹紝蹇界暐绌哄瓧娈�
             insertPosition = db.Insertable(mesStaffPositionLink).PageSize(1)
-            .IgnoreColumnsNull().ExecuteCommand();
+                .IgnoreColumnsNull().ExecuteCommand();
         }
-       
 
-        return (insertStaff > 0 && insertPosition >0);
+
+        return insertStaff > 0 && insertPosition > 0;
     }
 
     /// <summary>
@@ -188,13 +188,15 @@
         {
             var deleteStaff =
                 db.Deleteable<MesStaff>()
-            .Where(s => s.Id == entity.Id && s.PositionCode == entity.PositionCode)
-            .ExecuteCommand();
+                    .Where(s =>
+                        s.Id == entity.Id &&
+                        s.PositionCode == entity.PositionCode)
+                    .ExecuteCommand();
 
             //鍒犻櫎瀵瑰簲鍛樺伐宀椾綅淇℃伅鍏宠仈琛� 姹犲崡楠� 2025-01-02
             var insertPosition = db.Deleteable<MesStaffPositionLink>()
-            .Where(s => s.StaffId == entity.Id)
-            .ExecuteCommand();
+                .Where(s => s.StaffId == entity.Id)
+                .ExecuteCommand();
 
             if (deleteStaff > 0)
                 return true;
@@ -244,29 +246,38 @@
     }
 
     /// <summary>
-    /// 鎺ュ彛瀛楁璋冩暣锛氭牴鎹甹son鏍煎紡锛屽湪MesStaffPositionLink<List>涓瓨鍏ユ暟鎹��
+    ///     鎺ュ彛瀛楁璋冩暣锛氭牴鎹甹son鏍煎紡锛屽湪MesStaffPositionLink<List>涓瓨鍏ユ暟鎹��
     /// </summary>
     /// <remarks>
-    /// 淇敼浜猴細姹犲崡楠�
-    /// 淇敼鏃ユ湡锛�2025-01-02 鈥斺�斻�� 2025-01-05 浜屾淇敼
-    /// 淇敼璇存槑锛�
-    /// - 鏂板浠g爜
+    ///     淇敼浜猴細姹犲崡楠�
+    ///     淇敼鏃ユ湡锛�2025-01-02 鈥斺�斻�� 2025-01-05 浜屾淇敼
+    ///     淇敼璇存槑锛�
+    ///     - 鏂板浠g爜
     /// </remarks>
     private List<MesStaffPositionLink> GetMesStaffPositionLink(ErpStaff staff)
     {
-        List<MesStaffPositionLink> staffDetails = new List<MesStaffPositionLink>();
+        List<MesStaffPositionLink> staffDetails = new();
 
         if (staff.ErpStaffDetails != null && staff.ErpStaffDetails.Count > 0)
-        {
-            staffDetails = staff.ErpStaffDetails.Select(staffDetail => new MesStaffPositionLink
-            {
-                StaffId = Convert.ToDecimal(staff.Id),
-                PositionId = string.IsNullOrEmpty(staffDetail.fPostId.ToString()) ? null : Convert.ToDecimal(staffDetail.fPostId),
-                FPostDeptId = string.IsNullOrEmpty(staffDetail.fPostDeptid.ToString()) ? null : Convert.ToDecimal(staffDetail.fPostDeptid),
-                FStaffStartDate = string.IsNullOrEmpty(staffDetail.fStaffStartDate.ToString()) ? null : DateTime.ParseExact(staffDetail.fStaffStartDate, "yyyy-MM-dd HH:mm:ss", null) 
-
-            }).ToList();
-        }
+            staffDetails = staff.ErpStaffDetails.Select(staffDetail =>
+                new MesStaffPositionLink
+                {
+                    StaffId = Convert.ToDecimal(staff.Id),
+                    PositionId =
+                        string.IsNullOrEmpty(staffDetail.fPostId.ToString())
+                            ? null
+                            : Convert.ToDecimal(staffDetail.fPostId),
+                    FPostDeptId =
+                        string.IsNullOrEmpty(staffDetail.fPostDeptid.ToString())
+                            ? null
+                            : Convert.ToDecimal(staffDetail.fPostDeptid),
+                    FStaffStartDate =
+                        string.IsNullOrEmpty(staffDetail.fStaffStartDate
+                            .ToString())
+                            ? null
+                            : DateTime.ParseExact(staffDetail.fStaffStartDate,
+                                "yyyy-MM-dd HH:mm:ss", null)
+                }).ToList();
         //postIds.AddRange(links);
 
         return staffDetails;
@@ -277,10 +288,12 @@
     {
         //鑾峰彇褰撳墠鐢ㄦ埛浣跨敤缁勭粐瀵瑰簲鐨勭粍缁囧悕绉�
         var db = SqlSugarHelper.GetInstance();
-        string organize = db.Queryable<Organize>()
-            .Where(it => it.Id == Convert.ToDecimal(staff.FUseOrgId)) // 浣跨敤 Where 鏂规硶鏍规嵁鍗曚釜 ID 鏌ヨ
-            .Select(it => it.Fname)         // 閫夋嫨 Fname 灞炴��
-            .Single();                      // 浣跨敤 Single 鍥犱负鎴戜滑鏈熸湜鍙湁涓�涓尮閰嶉」
+        var organize = db.Queryable<Organize>()
+            .Where(it =>
+                it.Id ==
+                Convert.ToDecimal(staff.FUseOrgId)) // 浣跨敤 Where 鏂规硶鏍规嵁鍗曚釜 ID 鏌ヨ
+            .Select(it => it.Fname) // 閫夋嫨 Fname 灞炴��
+            .Single(); // 浣跨敤 Single 鍥犱负鎴戜滑鏈熸湜鍙湁涓�涓尮閰嶉」
 
         //string organizeName = organize.f;
 
@@ -329,7 +342,8 @@
             sysUser.Type = s.Type;
             userList.Add(sysUser);
 
-            var mesStaffPositionLink = GetMesStaffPositionLink(s); // 鑾峰彇 SysUser 瀹炰緥
+            var mesStaffPositionLink =
+                GetMesStaffPositionLink(s); // 鑾峰彇 SysUser 瀹炰緥
             mesStaffPositionLinkList.AddRange(mesStaffPositionLink);
         });
 
@@ -358,7 +372,8 @@
                     case "2":
                     case "4":
                         if (!InsertOrUpdateBatch(db, userList,
-                                staffGroup.Value, mesStaffPositionLinkList)) // 鎵归噺鎻掑叆鎴栨洿鏂板憳宸�
+                                staffGroup.Value,
+                                mesStaffPositionLinkList)) // 鎵归噺鎻掑叆鎴栨洿鏂板憳宸�
                             throw new NotImplementedException("鍚屾澶辫触");
                         break;
                     default:
@@ -419,12 +434,14 @@
 
     // 鎵归噺鎻掑叆鎴栨洿鏂板憳宸ョ殑鏂规硶
     private bool InsertOrUpdateBatch(SqlSugarScope db, List<SysUser> userList,
-        List<MesStaff> staffList, List<MesStaffPositionLink> mesStaffPositionLink)
+        List<MesStaff> staffList,
+        List<MesStaffPositionLink> mesStaffPositionLink)
     {
         foreach (var sysUser in userList)
         {
             var entity = staffList.First(s => s.Id == sysUser.Sid);
-            if (!InsertOrUpdateStaff(db, sysUser, entity, mesStaffPositionLink)) return false;
+            if (!InsertOrUpdateStaff(db, sysUser, entity, mesStaffPositionLink))
+                return false;
         }
 
         return true;

--
Gitblit v1.9.3