From 89fa5f03903ed6161474dcbe8528503f69f804d1 Mon Sep 17 00:00:00 2001
From: CRZ <1278080563@qq.com>
Date: 星期二, 16 十二月 2025 17:08:34 +0800
Subject: [PATCH] 人员信息修改
---
MES.Service/service/BasicData/MesStaffManager.cs | 104 ++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 76 insertions(+), 28 deletions(-)
diff --git a/MES.Service/service/BasicData/MesStaffManager.cs b/MES.Service/service/BasicData/MesStaffManager.cs
index 746abd7..4ac8060 100644
--- a/MES.Service/service/BasicData/MesStaffManager.cs
+++ b/MES.Service/service/BasicData/MesStaffManager.cs
@@ -60,7 +60,7 @@
.SetColumns(s => s.Isdeparture == isDeparture)
.Where(s => s.Fcode == staffId)
.ExecuteCommand();
-
+
return true;
}
@@ -71,34 +71,68 @@
private bool InsertOrUpdateStaff(SqlSugarScope db, SysUser sysUser,
MesStaff entity)
{
- var exists = db.Queryable<SysUser>().Any(u => u.Fcode == sysUser.Fcode);
- if (exists)
+ try
{
- var updateUser = db.Updateable<SysUser>()
- .SetColumns(s => s.Fname == sysUser.Fname)
- .SetColumns(s => s.Departmentid == sysUser.Departmentid) // 鏇存柊閮ㄩ棬淇℃伅
- .SetColumns(s => s.Isdeparture == sysUser.Isdeparture) // 鏇存柊绂昏亴鐘舵��
- .Where(s => s.Fcode == sysUser.Fcode)
- .ExecuteCommand();
- if (updateUser > 0)
+ var exists = db.Queryable<SysUser>().Any(u => u.Fcode == sysUser.Fcode);
+ if (exists)
{
- var updateStaff = db.Updateable(entity).ExecuteCommand();
- if (updateStaff > 0)
- return true;
+ // 鐢ㄦ埛宸插瓨鍦紝鎵ц鏇存柊鎿嶄綔
+ var updateUser = db.Updateable<SysUser>()
+ .SetColumns(s => s.Fname == sysUser.Fname)
+ .SetColumns(s => s.Departmentid == sysUser.Departmentid) // 鏇存柊閮ㄩ棬淇℃伅
+ .SetColumns(s => s.Isdeparture == sysUser.Isdeparture) // 鏇存柊绂昏亴鐘舵��
+ .Where(s => s.Fcode == sysUser.Fcode)
+ .ExecuteCommand();
+ if (updateUser > 0)
+ {
+ // 妫�鏌� MesStaff 鏄惁宸插瓨鍦�
+ var staffExists = db.Queryable<MesStaff>().Any(s => s.StaffNo == entity.StaffNo);
+ if (staffExists)
+ {
+ // 鍛樺伐宸插瓨鍦紝鎵ц鏇存柊
+ var updateStaff = db.Updateable(entity)
+ .Where(s => s.StaffNo == entity.StaffNo)
+ .ExecuteCommand();
+ if (updateStaff > 0)
+ return true;
+ throw new NotImplementedException(
+ $"MES_STAFF琛ㄦ洿鏂板け璐ワ細鍛樺伐 {entity.StaffNo}({entity.StaffName})");
+ }
+ else
+ {
+ // 鍛樺伐涓嶅瓨鍦紝鎵ц鎻掑叆
+ var insertStaff = db.Insertable(entity).ExecuteCommand();
+ if (insertStaff > 0)
+ return true;
+ throw new NotImplementedException(
+ $"MES_STAFF琛ㄦ彃鍏ュけ璐ワ細鍛樺伐 {entity.StaffNo}({entity.StaffName})");
+ }
+ }
+ throw new NotImplementedException(
+ $"SYS_USER琛ㄦ洿鏂板け璐ワ細鐢ㄦ埛 {sysUser.Fcode}({sysUser.Fname})");
+ }
+ else
+ {
+ // 鐢ㄦ埛涓嶅瓨鍦紝鎵ц鎻掑叆鎿嶄綔
+ var insertUser = db.Insertable(sysUser).ExecuteCommand();
+ if (insertUser > 0)
+ {
+ var insertStaff = db.Insertable(entity).ExecuteCommand();
+ if (insertStaff > 0)
+ return true;
+ throw new NotImplementedException(
+ $"MES_STAFF琛ㄦ彃鍏ュけ璐ワ細鍛樺伐 {entity.StaffNo}({entity.StaffName})");
+ }
+ throw new NotImplementedException(
+ $"SYS_USER琛ㄦ彃鍏ュけ璐ワ細鐢ㄦ埛 {sysUser.Fcode}({sysUser.Fname})");
}
}
- else
+ catch (Exception ex)
{
- var insertUser = db.Insertable(sysUser).ExecuteCommand();
- if (insertUser > 0)
- {
- var insertStaff = db.Insertable(entity).ExecuteCommand();
- if (insertStaff > 0)
- return true;
- }
+ // 鎹曡幏骞舵姏鍑鸿缁嗙殑寮傚父淇℃伅
+ throw new NotImplementedException(
+ $"鍛樺伐 {entity.StaffNo}({entity.StaffName}) 鍚屾澶辫触锛歿ex.Message}", ex);
}
-
- return false;
}
// 鍒犻櫎鍛樺伐鐨勬柟娉�
@@ -128,7 +162,8 @@
DepartmentName = staff.FPostDept,
PositionName = staff.FPost,
PhoneNumber = staff.FMobile,
- Remark = staff.FDescription,
+ // 灏� "None" 瀛楃涓茶浆鎹负 null锛岄伩鍏嶆暟鎹簱绾︽潫闂
+ Remark = staff.FDescription == "None" ? null : staff.FDescription,
FforbidStatus = staff.FForbidStatus
};
@@ -149,7 +184,7 @@
{
// 濡傛灉 FForbidStatus='B'锛屽垯 Isdeparture=1锛屽惁鍒欎负0
var isDeparture = staff.FForbidStatus == "B" ? 1 : 0;
-
+
return new SysUser
{
//Sid = Convert.ToDecimal(staff.Id),
@@ -252,7 +287,7 @@
.SetColumns(s => s.Isdeparture == isDeparture)
.Where(s => ids.Contains(s.Fcode))
.ExecuteCommand();
-
+
return true;
}
@@ -297,8 +332,21 @@
{
foreach (var sysUser in userList)
{
- var entity = staffList.First(s => s.StaffNo == sysUser.Fcode);
- if (!InsertOrUpdateStaff(db, sysUser, entity)) return false;
+ try
+ {
+ var entity = staffList.First(s => s.StaffNo == sysUser.Fcode);
+ if (!InsertOrUpdateStaff(db, sysUser, entity))
+ {
+ throw new NotImplementedException(
+ $"鍚屾澶辫触锛氬憳宸ョ紪鍙� {entity.StaffNo}({entity.StaffName}) 鏇存柊鎴栨彃鍏ユ搷浣滃け璐�");
+ }
+ }
+ catch (Exception ex)
+ {
+ // 鎶涘嚭璇︾粏鐨勫紓甯镐俊鎭紝鍖呭惈鍛樺伐缂栧彿鍜屽叿浣撻敊璇�
+ throw new NotImplementedException(
+ $"鍚屾澶辫触锛氬憳宸ョ紪鍙� {sysUser.Fcode}({sysUser.Fname}) 澶勭悊寮傚父 - {ex.Message}", ex);
+ }
}
return true;
--
Gitblit v1.9.3