From 6761b0ed84fd7a03400b557244d0835f671dad94 Mon Sep 17 00:00:00 2001 From: sjz <1240968267@qq.com> Date: 星期一, 14 七月 2025 18:02:59 +0800 Subject: [PATCH] 修改多组织 --- MES.Service/service/BasicData/MesStaffManager.cs | 195 ++++++++++++------------------------------------ 1 files changed, 51 insertions(+), 144 deletions(-) diff --git a/MES.Service/service/BasicData/MesStaffManager.cs b/MES.Service/service/BasicData/MesStaffManager.cs index 366f989..d0eb8b7 100644 --- a/MES.Service/service/BasicData/MesStaffManager.cs +++ b/MES.Service/service/BasicData/MesStaffManager.cs @@ -11,7 +11,6 @@ public bool Save(ErpStaff unit) { var entity = GetMesStaff(unit); // 灏� ErpStaff 杞崲涓� MesStaff - var sysUser = GetUser(unit); // 鑾峰彇 SysUser 瀹炰緥 return UseTransaction(db => { @@ -27,16 +26,15 @@ break; case "2": case "4": - if (InsertOrUpdateStaff(db, sysUser, entity)) // 鎻掑叆鎴栨洿鏂板憳宸� + if (InsertOrUpdateStaff(db, entity)) // 鎻掑叆鎴栨洿鏂板憳宸� return 1; break; case "3": - if (DeleteStaff(db, sysUser, entity.Id)) // 鍒犻櫎鍛樺伐 + if (UpdateStaffStatus(db, entity.Id, "B")) // 绂佺敤鍛樺伐 return 1; break; default: - throw new ArgumentNullException( - $"type娌℃湁{unit.Type}杩欎釜绫诲瀷鐨勫弬鏁�"); + throw new ArgumentNullException($"type娌℃湁{unit.Type}杩欎釜绫诲瀷鐨勫弬鏁�"); } throw new NotImplementedException("鎿嶄綔澶辫触"); @@ -44,66 +42,33 @@ } // 鏇存柊鍛樺伐鐘舵�佺殑鏂规硶 - private bool UpdateStaffStatus(SqlSugarScope db, decimal staffId, - string status) + private bool UpdateStaffStatus(SqlSugarScope db, decimal staffId,string status) { - var result = db.Updateable<MesStaff>() - .SetColumns(s => s.FforbidStatus == status) - .Where(s => s.Id == staffId).ExecuteCommand(); - - if (result > 0) - return true; - - throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触"); + var result = db.Updateable<MesStaff>().SetColumns(s => s.FforbidStatus == status).Where(s => s.Id == staffId).ExecuteCommand(); + return true; } // 鎻掑叆鎴栨洿鏂板憳宸ョ殑鏂规硶 - private bool InsertOrUpdateStaff(SqlSugarScope db, SysUser sysUser, - MesStaff entity) + private bool InsertOrUpdateStaff(SqlSugarScope db,MesStaff entity) { - var exists = db.Queryable<SysUser>().Any(u => u.Sid == sysUser.Sid); + var exists = db.Queryable<MesStaff>().Any(e => e.Id == entity.Id); if (exists) { - var updateUser = db.Updateable<SysUser>() - .SetColumns(s => s.Fcode == sysUser.Fcode) - .SetColumns(s => s.Fname == sysUser.Fname) - .Where(s => s.Sid == sysUser.Sid) - .ExecuteCommand(); - if (updateUser > 0) - { - var updateStaff = db.Updateable(entity).ExecuteCommand(); - if (updateStaff > 0) - return true; - } + var update = db.Updateable(entity).ExecuteCommand(); + return true; } else { - var insertUser = db.Insertable(sysUser).ExecuteCommand(); - if (insertUser > 0) + var insert = db.Insertable(entity).ExecuteCommand(); + if (insert > 0) { - var insertStaff = db.Insertable(entity).ExecuteCommand(); - if (insertStaff > 0) - return true; + return true; + } + else + { + return false; } } - - return false; - } - - // 鍒犻櫎鍛樺伐鐨勬柟娉� - private bool DeleteStaff(SqlSugarScope db, SysUser sysUser, decimal staffId) - { - var deleteUser = db.Deleteable<SysUser>() - .Where(s => s.Sid == sysUser.Sid).ExecuteCommand(); - if (deleteUser > 0) - { - var deleteStaff = - db.Deleteable<MesStaff>().In(staffId).ExecuteCommand(); - if (deleteStaff > 0) - return true; - } - - throw new NotImplementedException("鍙嶅鏍稿け璐�"); } // 灏� ErpStaff 瀵硅薄杞崲涓� MesStaff 瀵硅薄鐨勬柟娉� @@ -114,89 +79,56 @@ Id = Convert.ToDecimal(staff.Id), StaffNo = staff.FStaffNumber, StaffName = staff.FName, - DepartmentName = staff.FPostDept, - PositionName = staff.FPost, + DepartmentNo = staff.FPostDept, + PositionCode = staff.FPost, PhoneNumber = staff.FMobile, + CreateOrg = Convert.ToDecimal(staff.FCreateOrgId), + UseOrg = Convert.ToDecimal(staff.FUseOrgId), + CreateDate = DateTime.Now, Remark = staff.FDescription, FforbidStatus = staff.FForbidStatus }; if (staff.FStaffStartDate != null) - entity.StartDate = DateTime.ParseExact(staff.FStaffStartDate, - "yyyy-MM-dd HH:mm:ss", null); + { + entity.StartDate = DateTime.ParseExact(staff.FStaffStartDate, "yyyy-MM-dd HH:mm:ss", null); + } return entity; } - // 灏� ErpStaff 瀵硅薄杞崲涓� SysUser 瀵硅薄鐨勬柟娉� - private SysUser GetUser(ErpStaff staff) - { - return new SysUser - { - Sid = Convert.ToDecimal(staff.Id), - Fcode = staff.FStaffNumber, - Fname = staff.FName, - Fpassword = "8+()./,", // 鍒濆瀵嗙爜 - Fsystem = "涓婃牸", - Lever = 0, - Fcompany = "1000", - Ffactory = "1000", - DelFlag = 0 - }; - } - // SaveList 鏂规硶鐢ㄤ簬淇濆瓨澶氫釜鍛樺伐璁板綍锛屾牴鎹被鍨嬫壒閲忔墽琛屼笉鍚岀殑鎿嶄綔 - public bool SaveList(List<ErpStaff> departments) + public bool SaveList(List<ErpStaff> staffs) { - var list = new List<MesStaff>(); - var userList = new List<SysUser>(); - - departments.ForEach(s => - { - var entity = GetMesStaff(s); - entity.Type = s.Type; - list.Add(entity); - - var sysUser = GetUser(s); - sysUser.Type = s.Type; - userList.Add(sysUser); - }); - - var groupBy = list.GroupBy(s => s.Type) - .ToDictionary(g => g.Key, g => g.ToList()); + var list = staffs.Select(GetMesStaff).ToList(); + var groupBy = list.GroupBy(s => s.Type).ToDictionary(g => g.Key, g => g.ToList()); return UseTransaction(db => { foreach (var staffGroup in groupBy) switch (staffGroup.Key) { case "0": - if (!UpdateStaffStatusBatch(db, staffGroup.Value, - "A")) // 鎵归噺鍚敤鍛樺伐 + if (!UpdateStaffStatusBatch(db, staffGroup.Value,"A")) // 鎵归噺鍚敤鍛樺伐 throw new NotImplementedException("鍚敤澶辫触"); break; case "1": - if (!UpdateStaffStatusBatch(db, staffGroup.Value, - "B")) // 鎵归噺绂佺敤鍛樺伐 + if (!UpdateStaffStatusBatch(db, staffGroup.Value,"B")) // 鎵归噺绂佺敤鍛樺伐 throw new NotImplementedException("绂佺敤澶辫触"); break; case "2": - if (!InsertStaffBatch(db, userList, - staffGroup.Value)) // 鎵归噺鎻掑叆鍛樺伐 + if (!InsertStaffBatch(db,staffGroup.Value)) // 鎵归噺鎻掑叆鍛樺伐 throw new NotImplementedException("鎻掑叆澶辫触"); break; case "3": - if (!DeleteStaffBatch(db, userList, - staffGroup.Value)) // 鎵归噺鍒犻櫎鍛樺伐 + if (!UpdateStaffStatusBatch(db, staffGroup.Value, "B")) // 鎵归噺绂佺敤鍛樺伐 throw new NotImplementedException("鍒犻櫎澶辫触"); break; case "4": - if (!InsertOrUpdateBatch(db, userList, - staffGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂板憳宸� + if (!InsertOrUpdateBatch(db,staffGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂板憳宸� throw new NotImplementedException("鍚屾澶辫触"); break; default: - throw new ArgumentNullException( - $"type娌℃湁{staffGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�"); + throw new ArgumentNullException($"type娌℃湁{staffGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�"); } return 1; @@ -204,62 +136,37 @@ } // 鎵归噺鏇存柊鍛樺伐鐘舵�佺殑鏂规硶 - private bool UpdateStaffStatusBatch(SqlSugarScope db, - List<MesStaff> staffList, string status) + private bool UpdateStaffStatusBatch(SqlSugarScope db,List<MesStaff> staffList, string status) { var ids = staffList.Select(it => it.Id).ToArray(); - var result = db.Updateable<MesStaff>() - .SetColumns(s => s.FforbidStatus == status) - .Where(s => ids.Contains(s.Id)).ExecuteCommand(); - - if (result > 0) - return true; - - throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触"); + var result = db.Updateable<MesStaff>().SetColumns(s => s.FforbidStatus == status).Where(s => ids.Contains(s.Id)).ExecuteCommand(); + return true; + } // 鎵归噺鎻掑叆鍛樺伐鐨勬柟娉� - private bool InsertStaffBatch(SqlSugarScope db, List<SysUser> userList, - List<MesStaff> staffList) + private bool InsertStaffBatch(SqlSugarScope db,List<MesStaff> staffList) { - var userInsert = userList.FindAll(s => s.Type == "INSERT"); - var executeCommand = db.Insertable(userInsert).ExecuteCommand(); - if (executeCommand > 0) - if (db.Insertable(staffList).ExecuteCommand() > 0) - return true; - - throw new ArgumentNullException("瀹℃牳澶辫触"); - } - - // 鎵归噺鍒犻櫎鍛樺伐鐨勬柟娉� - private bool DeleteStaffBatch(SqlSugarScope db, List<SysUser> userList, - List<MesStaff> staffList) - { - var sid = userList.FindAll(s => s.Type == "DELETE").Select(s => s.Sid) - .ToArray(); - var result = db.Deleteable<SysUser>() - .Where(s => sid.Contains(s.Sid)).ExecuteCommand(); - - if (result > 0) + foreach (var entity in staffList) { - var ids = staffList.Select(it => it.Id).ToArray(); - if (db.Deleteable<MesStaff>().In(ids).ExecuteCommand() > 0) - return true; + if (!InsertOrUpdateStaff(db, entity)) + { + return false; + } } - - throw new ArgumentNullException("鍙嶅鏍稿け璐�"); + return true; } // 鎵归噺鎻掑叆鎴栨洿鏂板憳宸ョ殑鏂规硶 - private bool InsertOrUpdateBatch(SqlSugarScope db, List<SysUser> userList, - List<MesStaff> staffList) + private bool InsertOrUpdateBatch(SqlSugarScope db, List<MesStaff> staffList) { - foreach (var sysUser in userList) + foreach (var entity in staffList) { - var entity = staffList.First(s => s.Id == sysUser.Sid); - if (!InsertOrUpdateStaff(db, sysUser, entity)) return false; + if (!InsertOrUpdateStaff(db, entity)) + { + return false; + } } - return true; } } \ No newline at end of file -- Gitblit v1.9.3