From c6d9fc76d16c944e64d6490eb2a6d866fd7a38f0 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期三, 12 十一月 2025 09:06:01 +0800
Subject: [PATCH] 11
---
MES.Service/service/BasicData/MesStaffManager.cs | 188 +++++++++++-----------------------------------
1 files changed, 45 insertions(+), 143 deletions(-)
diff --git a/MES.Service/service/BasicData/MesStaffManager.cs b/MES.Service/service/BasicData/MesStaffManager.cs
index 5dc3db7..28a1ef5 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 && e.StaffNo==entity.StaffNo);
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).Where(e => e.Id == entity.Id && e.StaffNo == entity.StaffNo).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,9 +79,12 @@
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
};
@@ -128,50 +96,11 @@
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,
- Ismanager = 0,
- Isacq = 0,
- ExpField9 = "1020",
- QmUser = 0,
- Status = 0,
- Isdeparture = 0,
- CheckFlag = 0,
- ExpFiel12 = 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)
@@ -188,17 +117,15 @@
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,
+ if (!InsertOrUpdateBatch(db,
staffGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂板憳宸�
throw new NotImplementedException("鍚屾澶辫触");
break;
@@ -212,62 +139,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