From 7456b57c9d11052643a30ea1e559d7cb09c11e8c Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期三, 12 二月 2025 15:07:25 +0800
Subject: [PATCH] 111
---
StandardPda/MES.Service/Modes/MesStaff.cs | 131 ++++++------
/dev/null | 34 ---
StandardPda/MES.Service/service/BasicData/MesStaffManager.cs | 320 ++-----------------------------
StandardPda/MES.Service/Dto/webApi/ErpStaff.cs | 75 +------
StandardPda/MES.Service/service/BasicData/MesRohInManager.cs | 1
5 files changed, 98 insertions(+), 463 deletions(-)
diff --git a/StandardPda/MES.Service/Dto/webApi/ErpStaff.cs b/StandardPda/MES.Service/Dto/webApi/ErpStaff.cs
index 9cf438f..e736de1 100644
--- a/StandardPda/MES.Service/Dto/webApi/ErpStaff.cs
+++ b/StandardPda/MES.Service/Dto/webApi/ErpStaff.cs
@@ -2,67 +2,16 @@
public class ErpStaff
{
- public string Id { get; set; }
- public string? Type { get; set; }
- public string? FStaffNumber { get; set; }
-
- public string? FName { get; set; }
-
- //鍒犻櫎锛氭斁鍏ュ崟鎹ご浣�--姹犲崡楠� 2025-01-02
- //public string? FPostDept { get; set; }
- /// <summary>
- /// 鎺ュ彛瀛楁璋冩暣锛氬皢FPost瀛楁閲嶅懡鍚嶄负FPostId銆�
- /// </summary>
- /// <remarks>
- /// 淇敼浜猴細姹犲崡楠�
- /// 淇敼鏃ユ湡锛�2024-12-25
- /// 淇敼璇存槑锛�
- /// - 鍘熶唬鐮侊細`public string? FPost { get; set; }`
- /// - 淇敼鍚庯細`public string? FPostId { get; set; }`
- /// -2025-01-02 :浜屾淇敼鍒犻櫎銆�
- /// </remarks>
- /// //鍒犻櫎锛氭斁鍏ュ崟鎹ご浣�--姹犲崡楠� 2025-01-02
- //public string? FPostId { get; set; }
- public string? FMobile { get; set; }
-
- /// <summary>
- /// 鎺ュ彛瀛楁璋冩暣锛氭爣鍑嗙増鎺ュ彛鏂板 ERP鍗曟嵁鐘舵�� 瀛楁銆�
- /// </summary>
- /// <remarks>
- /// 淇敼浜猴細
- /// <姹犲崡楠�>
- /// 淇敼鏃ユ湡锛�<2024-12-27>
- /// 淇敼璇存槑锛�
- /// - 鍘熶唬鐮侊細绌�
- /// - 淇敼鍚庯細
- /// public string? FDocumentStatus { get; set; }
- /// </remarks>
- public string? FDocumentStatus { get; set; }
-
- //鍒犻櫎锛氭斁鍏ュ崟鎹ご浣�--姹犲崡楠� 2025-01-02
- //public string? FStaffStartDate { get; set; }
- public string? FDescription { get; set; }
- public string? FForbidStatus { get; set; }
- public string? FCreateOrgId { get; set; }
- public string? FUseOrgId { get; set; }
-
- //鏂板涓�涓狿ostIdItem绫诲瀷鐨刲ist鏉ヨ幏鍙杄rp鐨勫矖浣峣d
- public List<ErpStaffDetail>? ErpStaffDetails { get; set; }
-}
-
-/// <summary>
-/// 鎺ュ彛瀛楁璋冩暣锛氬矖浣嶃�侀儴闂ㄣ�佷换宀楀紑濮嬫棩鏈� 淇℃伅鐢ㄤ竴涓狿ostIdItem绫诲瀷鏉ュ瓨鍌ㄣ��
-/// </summary>
-/// <remarks>
-/// 淇敼浜猴細姹犲崡楠�
-/// 淇敼鏃ユ湡锛�2025-01-02
-/// 淇敼璇存槑锛�
-/// </remarks>
-public class ErpStaffDetail
-{
- public string? fPostId { get; set; }
-
- public string? fPostDeptid { get; set; }
-
- public string? fStaffStartDate { get; set; }
+ public string? Id{ get; set; }
+ public string? Type{ get; set; }
+ public string? FStaffNumber{ get; set; }
+ public string? FName{ get; set; }
+ public string? FPostId{ get; set; }
+ public string? KeyPosts{ get; set; }
+ public string? FStaffStartDate{ get; set; }
+ public string? SeparationTime{ get; set; }
+ public string? FforbidStatus{ get; set; }
+ public string? DepartmentName{ get; set; }
+ public string? FUseOrgId{ get; set; }
+ public string? Remark{ get; set; }
}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesStaff.cs b/StandardPda/MES.Service/Modes/MesStaff.cs
index 450ed0d..83471e2 100644
--- a/StandardPda/MES.Service/Modes/MesStaff.cs
+++ b/StandardPda/MES.Service/Modes/MesStaff.cs
@@ -9,161 +9,158 @@
public class MesStaff
{
/// <summary>
- /// ID
- /// </summary>
+ /// ID
+ ///</summary>
[SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
public decimal Id { get; set; }
/// <summary>
- /// 鎺ュ彛瀛楁璋冩暣锛氭爣鍑嗙増鎺ュ彛鏂板 ERP鍗曟嵁鐘舵�� 瀛楁銆�
- /// </summary>
- /// <remarks>
- /// 淇敼浜猴細
- /// <姹犲崡楠�>
- /// 淇敼鏃ユ湡锛�<2024-12-27>
- /// 淇敼璇存槑锛�
- /// - 鍘熶唬鐮侊細绌�
- /// - 淇敼鍚庯細
- /// [SugarColumn(ColumnName = "FDOCUMENTSTATUS")]
- /// public string? FDOCUMENTSTATUS { get; set; }
- /// </remarks>
- /// <summary>
- /// ERP鍗曟嵁鐘舵��
- /// </summary>
- [SugarColumn(ColumnName = "FDOCUMENTSTATUS")]
- public string? FDOCUMENTSTATUS { get; set; }
-
- /// <summary>
- /// 鍛樺伐缂栫爜
- /// </summary>
+ /// 鍛樺伐缂栫爜
+ ///</summary>
[SugarColumn(ColumnName = "STAFF_NO")]
public string? StaffNo { get; set; }
/// <summary>
- /// 鍛樺伐濮撳悕
- /// </summary>
+ /// 鍛樺伐濮撳悕
+ ///</summary>
[SugarColumn(ColumnName = "STAFF_NAME")]
public string? StaffName { get; set; }
/// <summary>
- /// 閮ㄩ棬缂栫爜
- /// </summary>
+ /// 閮ㄩ棬缂栫爜
+ ///</summary>
[SugarColumn(ColumnName = "DEPARTMENT_NO")]
public string? DepartmentNo { get; set; }
/// <summary>
- /// 閮ㄩ棬鍚嶇О
- /// </summary>
+ /// 閮ㄩ棬鍚嶇О
+ ///</summary>
[SugarColumn(ColumnName = "DEPARTMENT_NAME")]
public string? DepartmentName { get; set; }
/// <summary>
- /// 宀椾綅缂栫爜
- /// </summary>
+ /// 宀椾綅缂栫爜
+ ///</summary>
[SugarColumn(ColumnName = "POSITION_CODE")]
public string? PositionCode { get; set; }
/// <summary>
- /// 宀椾綅鍚嶇О
- /// </summary>
+ /// 宀椾綅鍚嶇О
+ ///</summary>
[SugarColumn(ColumnName = "POSITION_NAME")]
public string? PositionName { get; set; }
/// <summary>
- /// 鎵嬫満鍙�
- /// </summary>
+ /// 鎵嬫満鍙�
+ ///</summary>
[SugarColumn(ColumnName = "PHONE_NUMBER")]
public string? PhoneNumber { get; set; }
/// <summary>
- /// 浠诲矖寮�濮嬫棩鏈�
- /// </summary>
+ /// 浠诲矖寮�濮嬫棩鏈�
+ ///</summary>
[SugarColumn(ColumnName = "START_DATE")]
public DateTime? StartDate { get; set; }
/// <summary>
- /// 澶囨敞
- /// </summary>
+ /// 澶囨敞 浜哄憳绫诲瀷锛�1锛氭寮忓伐锛�2锛氭淳閬e伐
+ ///</summary>
[SugarColumn(ColumnName = "REMARK")]
public string? Remark { get; set; }
/// <summary>
- /// 鍒涘缓缁勭粐
- /// </summary>
+ /// 鍒涘缓缁勭粐
+ ///</summary>
[SugarColumn(ColumnName = "CREATE_ORG")]
public decimal? CreateOrg { get; set; }
/// <summary>
- /// 浣跨敤缁勭粐
- /// </summary>
+ /// 浣跨敤缁勭粐
+ ///</summary>
[SugarColumn(ColumnName = "USE_ORG")]
- public decimal? UseOrg { get; set; }
+ public string? UseOrg { get; set; }
/// <summary>
- /// 鑷畾涔夊瓧娈�3
- /// </summary>
+ /// 鑷畾涔夊瓧娈�3
+ ///</summary>
[SugarColumn(ColumnName = "REMARK3")]
public string? Remark3 { get; set; }
/// <summary>
- /// 鑷畾涔夊瓧娈�4
- /// </summary>
+ /// 鑷畾涔夊瓧娈�4
+ ///</summary>
[SugarColumn(ColumnName = "REMARK4")]
public string? Remark4 { get; set; }
/// <summary>
- /// 鑷畾涔夊瓧娈�5
- /// </summary>
+ /// 鑷畾涔夊瓧娈�5
+ ///</summary>
[SugarColumn(ColumnName = "REMARK5")]
public string? Remark5 { get; set; }
/// <summary>
- /// 鍒涘缓浜�
- /// </summary>
+ /// 鍒涘缓浜�
+ ///</summary>
[SugarColumn(ColumnName = "CREATE_BY")]
public string? CreateBy { get; set; }
/// <summary>
- /// 鍒涘缓鏃堕棿
- /// </summary>
+ /// 鍒涘缓鏃堕棿
+ ///</summary>
[SugarColumn(ColumnName = "CREATE_DATE")]
public DateTime? CreateDate { get; set; }
/// <summary>
- /// 鏇存柊浜�
- /// </summary>
+ /// 鏇存柊浜�
+ ///</summary>
[SugarColumn(ColumnName = "LASTUPDATE_BY")]
public string? LastupdateBy { get; set; }
/// <summary>
- /// 鏇存柊鏃堕棿
- /// </summary>
+ /// 鏇存柊鏃堕棿
+ ///</summary>
[SugarColumn(ColumnName = "LASTUPDATE_DATE")]
public DateTime? LastupdateDate { get; set; }
/// <summary>
- /// 澶囨敞
- /// </summary>
+ /// 澶囨敞
+ ///</summary>
[SugarColumn(ColumnName = "MEMO")]
public string? Memo { get; set; }
/// <summary>
- /// 鐢熶骇绾�
- /// </summary>
+ /// 鐢熶骇绾�
+ ///</summary>
[SugarColumn(ColumnName = "LINE_NO")]
public string? LineNo { get; set; }
/// <summary>
- /// 鐢熶骇鍛樺伐鏍囪瘑
- /// </summary>
+ /// 鐢熶骇鍛樺伐鏍囪瘑
+ ///</summary>
[SugarColumn(ColumnName = "WORK_MK")]
public decimal? WorkMk { get; set; }
/// <summary>
- /// 鏄惁绂佺敤
- /// </summary>
+ /// 鏄惁绂佺敤 宸ヤ綔鐘舵�侊紝1锛氬湪鑱岋紱2锛氱鑱�
+ ///</summary>
[SugarColumn(ColumnName = "FFORBID_STATUS")]
public string? FforbidStatus { get; set; }
- [SugarColumn(IsIgnore = true)] public string? Type { get; set; }
+ /// <summary>
+ /// 涓氬姟鍛樼被鍨�
+ ///</summary>
+ [SugarColumn(ColumnName = "OPERATOR_TYPE")]
+ public string? OperatorType { get; set; }
+
+ /// <summary>
+ /// 鏄惁鏄叧閿矖浣� 0锛氬惁锛�1锛氭槸
+ ///</summary>
+ [SugarColumn(ColumnName = "KEY_POSTS")]
+ public string? KeyPosts { get; set; }
+
+ /// <summary>
+ /// 绂昏亴鏃堕棿
+ ///</summary>
+ [SugarColumn(ColumnName = "SEPARATION_TIME")]
+ public DateTime? SeparationTime { get; set; }
}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesStaffPositionLink.cs b/StandardPda/MES.Service/Modes/MesStaffPositionLink.cs
deleted file mode 100644
index f3e5cab..0000000
--- a/StandardPda/MES.Service/Modes/MesStaffPositionLink.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-锘縰sing SqlSugar;
-
-namespace MES.Service.Modes;
-
-/// <summary>
-/// 鍛樺伐宀椾綅淇℃伅鍏宠仈琛�
-/// </summary>
-[SugarTable("MES_Staff_Position_Link")]
-public class MesStaffPositionLink
-{
- /// <summary>
- /// 宀椾綅id
- /// </summary>
- [SugarColumn(ColumnName = "position_id")]
- public decimal? PositionId { get; set; }
-
- /// <summary>
- /// 浜哄憳id
- /// </summary>
- [SugarColumn(ColumnName = "staff_id")]
- public decimal? StaffId { get; set; }
-
- /// <summary>
- /// 閮ㄩ棬id
- /// </summary>
- [SugarColumn(ColumnName = "FPOSTDEPT_ID")]
- public decimal? FPostDeptId { get; set; }
-
- /// <summary>
- /// 浠诲矖鏃ユ湡
- /// </summary>
- [SugarColumn(ColumnName = "FSTAFFSTARTDATE")]
- public DateTime? FStaffStartDate { get; set; }
-}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs b/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs
index 234d234..67e8fab 100644
--- a/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs
+++ b/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs
@@ -160,6 +160,7 @@
ErpId = Convert.ToDecimal(s.Eid),
BillNo = s.FBillNo,
OrderLineId = s.FSeq,
+ BusinessFreeze = s.FStatus,
PurchaseOrderLineNumber = s.FSeq,
SalesOrderId = s.FDemandBillEntrySeq,
ItemId = s.FMaterialId,
diff --git a/StandardPda/MES.Service/service/BasicData/MesStaffManager.cs b/StandardPda/MES.Service/service/BasicData/MesStaffManager.cs
index 6848f8f..a832cfb 100644
--- a/StandardPda/MES.Service/service/BasicData/MesStaffManager.cs
+++ b/StandardPda/MES.Service/service/BasicData/MesStaffManager.cs
@@ -12,25 +12,14 @@
{
var entity = GetMesStaff(unit); // 灏� ErpStaff 杞崲涓� MesStaff
var sysUser = GetUser(unit); // 鑾峰彇 SysUser 瀹炰緥
- var mesStaffPositionLink =
- GetMesStaffPositionLink(unit); // 鑾峰彇 MesStaffPositionLink 瀹炰緥
return UseTransaction(db =>
{
switch (unit.Type)
{
- case "0":
- if (UpdateStaffStatus(db, entity.Id, "A")) // 鍚敤鍛樺伐
- return 1;
- break;
- case "1":
- if (UpdateStaffStatus(db, entity.Id, "B")) // 绂佺敤鍛樺伐
- return 1;
- break;
case "2":
case "4":
- if (InsertOrUpdateStaff(db, sysUser, entity,
- mesStaffPositionLink)) // 鎻掑叆鎴栨洿鏂板憳宸�
+ if (InsertOrUpdateStaff(db, sysUser, entity)) // 鎻掑叆鎴栨洿鏂板憳宸�
return 1;
break;
case "3":
@@ -60,52 +49,6 @@
throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触");
}
- /// <summary>
- /// "鎻掑叆鎴栨洿鏂板憳宸ョ殑鏂规硶"璋冩暣锛氫慨鏀逛负鍏堝垹闄ゅ啀鎻掑叆锛屽悓鏃剁敤id鍜孭ositionCode浣滀负鍒ゆ柇渚濇嵁
- /// </summary>
- /// <remarks>
- /// 淇敼浜猴細姹犲崡楠�
- /// 淇敼鏃ユ湡锛�2024-12-30
- /// 淇敼璇存槑锛歚
- /// </remarks>
-
- //// - 鍘熶唬鐮侊細
- // 鎻掑叆鎴栨洿鏂板憳宸ョ殑鏂规硶
- //private bool InsertOrUpdateStaff(SqlSugarScope db, SysUser sysUser,
- // MesStaff entity)
- //{
- // var exists = db.Queryable<SysUser>().Any(u => u.Sid == sysUser.Sid);
- // 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;
- // }
- // }
- // else
- // {
- // var insertUser = db.Insertable(sysUser).ExecuteCommand();
- // if (insertUser > 0)
- // {
- // var insertStaff = db.Insertable(entity).ExecuteCommand();
- // if (insertStaff > 0)
- // return true;
- // }
- // }
-
- // return false;
- //}
-
- // 鎻掑叆鎴栨洿鏂板憳宸ョ殑鏂规硶
-
- /// 鏂颁唬鐮�
// 鎻掑叆鎴栨洿鏂板憳宸ョ殑鏂规硶
/// <summary>
/// 鎺ュ彛瀛楁璋冩暣锛氫慨鏀瑰弬鏁帮紝鏂板List<MesStaffPositionLink>鐨勫弬鏁�
@@ -116,15 +59,14 @@
/// 淇敼璇存槑锛氫负浜嗗簲涓轰竴涓憳宸ュ宀椾綅鐨勬儏鍐�
/// </remarks>
private bool InsertOrUpdateStaff(SqlSugarScope db, SysUser sysUser,
- MesStaff entity, List<MesStaffPositionLink> mesStaffPositionLink)
+ MesStaff entity)
{
var exists = db.Queryable<SysUser>().Any(u => u.Sid == sysUser.Sid);
if (!exists)
{
- var insertUser = db.Insertable(sysUser).ExecuteCommand();
+ db.Insertable(sysUser).ExecuteCommand();
}
-
-
+
db.Deleteable<MesStaff>()
.Where(s => s.Id == entity.Id)
.ExecuteCommand();
@@ -132,24 +74,7 @@
var insertStaff =
db.Insertable(entity).IgnoreColumns(true).ExecuteCommand();
-
- var insertPosition = 1;
- if (mesStaffPositionLink != null && mesStaffPositionLink.Count > 0)
- {
- //鍏堝垹闄わ紝鍐嶆柊澧�
- db.Deleteable<MesStaffPositionLink>()
- .Where(s =>
- mesStaffPositionLink.Any(m => m.StaffId == s.StaffId))
- .ExecuteCommand();
-
-
- //鎵归噺鎻掑叆鏃讹紝蹇界暐绌哄瓧娈�
- insertPosition = db.Insertable(mesStaffPositionLink).PageSize(1)
- .IgnoreColumnsNull().ExecuteCommand();
- }
-
-
- return insertStaff > 0 && insertPosition > 0;
+ return insertStaff > 0;
}
/// <summary>
@@ -160,26 +85,6 @@
/// 淇敼鏃ユ湡锛�2024-12-30
/// 淇敼璇存槑锛歚
/// </remarks>
-
- //// 鍘熶唬鐮�
- // 鍒犻櫎鍛樺伐鐨勬柟娉�
- //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("鍙嶅鏍稿け璐�");
- //}
-
- /// 鏂颁唬鐮�
- // 鍒犻櫎鍛樺伐鐨勬柟娉�
private bool DeleteStaff(SqlSugarScope db, SysUser sysUser, MesStaff entity)
{
var deleteUser = db.Deleteable<SysUser>()
@@ -192,11 +97,6 @@
s.Id == entity.Id &&
s.PositionCode == entity.PositionCode)
.ExecuteCommand();
-
- //鍒犻櫎瀵瑰簲鍛樺伐宀椾綅淇℃伅鍏宠仈琛� 姹犲崡楠� 2025-01-02
- var insertPosition = db.Deleteable<MesStaffPositionLink>()
- .Where(s => s.StaffId == entity.Id)
- .ExecuteCommand();
if (deleteStaff > 0)
return true;
@@ -213,97 +113,34 @@
Id = Convert.ToDecimal(staff.Id),
StaffNo = staff.FStaffNumber,
StaffName = staff.FName,
- //鍒犻櫎 2025-01-04 姹犲崡楠�
- //DepartmentNo = staff.FPostDept,
-
- /// <summary>
- /// 鎺ュ彛瀛楁璋冩暣锛氬皢FPost瀛楁閲嶅懡鍚嶄负FPostId銆�
- /// </summary>
- /// <remarks>
- /// 淇敼浜猴細姹犲崡楠�
- /// 淇敼鏃ユ湡锛�2024-12-25
- /// 淇敼璇存槑锛�
- /// - 鍘熶唬鐮侊細`PositionCode = staff.FPost,
- /// - 淇敼鍚庯細`PositionCode = staff.FPostId,
- /// - 浜屾淇敼锛屽垹闄�
- /// </remarks>
- //PositionCode = staff.FPostId,
- PhoneNumber = staff.FMobile,
- CreateOrg = Convert.ToDecimal(staff.FCreateOrgId),
- UseOrg = Convert.ToDecimal(staff.FUseOrgId),
- CreateDate = DateTime.Now,
- Remark = staff.FDescription,
- FDOCUMENTSTATUS = staff.FDocumentStatus,
- FforbidStatus = staff.FForbidStatus
+ PositionCode = staff.FPostId,
+ KeyPosts = staff.KeyPosts,
+ StartDate = staff.FStaffStartDate != null
+ ? DateTime.ParseExact(staff.FStaffStartDate,
+ "yyyy-MM-dd HH:mm:ss", null)
+ : null,
+ SeparationTime = staff.SeparationTime != null
+ ? DateTime.ParseExact(staff.SeparationTime,
+ "yyyy-MM-dd HH:mm:ss", null)
+ : null,
+ FforbidStatus = staff.FforbidStatus,
+ DepartmentName = staff.DepartmentName,
+ UseOrg = staff.FUseOrgId,
+ Remark = staff.Remark
};
- //鍒犻櫎 2025-01-04 姹犲崡楠�
- //if (staff.FStaffStartDate != null)
- // entity.StartDate = DateTime.ParseExact(staff.FStaffStartDate,
- // "yyyy-MM-dd HH:mm:ss", null);
-
return entity;
- }
-
- /// <summary>
- /// 鎺ュ彛瀛楁璋冩暣锛氭牴鎹甹son鏍煎紡锛屽湪MesStaffPositionLink<List>涓瓨鍏ユ暟鎹��
- /// </summary>
- /// <remarks>
- /// 淇敼浜猴細姹犲崡楠�
- /// 淇敼鏃ユ湡锛�2025-01-02 鈥斺�斻�� 2025-01-05 浜屾淇敼
- /// 淇敼璇存槑锛�
- /// - 鏂板浠g爜
- /// </remarks>
- private List<MesStaffPositionLink> GetMesStaffPositionLink(ErpStaff staff)
- {
- 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();
- //postIds.AddRange(links);
-
- return staffDetails;
}
// 灏� ErpStaff 瀵硅薄杞崲涓� SysUser 瀵硅薄鐨勬柟娉�
private SysUser GetUser(ErpStaff staff)
{
- //鑾峰彇褰撳墠鐢ㄦ埛浣跨敤缁勭粐瀵瑰簲鐨勭粍缁囧悕绉�
- var db = SqlSugarHelper.GetInstance();
- 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;
-
return new SysUser
{
Sid = Convert.ToDecimal(staff.Id),
Fcode = staff.FStaffNumber,
Fname = staff.FName,
Fpassword = "8+()./,", // 鍒濆瀵嗙爜
- Fsystem = organize,
Lever = 0,
Fcompany = "1000",
Ffactory = "1000",
@@ -328,122 +165,7 @@
// SaveList 鏂规硶鐢ㄤ簬淇濆瓨澶氫釜鍛樺伐璁板綍锛屾牴鎹被鍨嬫壒閲忔墽琛屼笉鍚岀殑鎿嶄綔
public bool SaveList(List<ErpStaff> departments)
{
- var list = new List<MesStaff>();
- var userList = new List<SysUser>();
- var mesStaffPositionLinkList = new List<MesStaffPositionLink>();
-
- 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 mesStaffPositionLink =
- GetMesStaffPositionLink(s); // 鑾峰彇 SysUser 瀹炰緥
- mesStaffPositionLinkList.AddRange(mesStaffPositionLink);
- });
-
- 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")) // 鎵归噺鍚敤鍛樺伐
- throw new NotImplementedException("鍚敤澶辫触");
- break;
- case "1":
- if (!UpdateStaffStatusBatch(db, staffGroup.Value,
- "B")) // 鎵归噺绂佺敤鍛樺伐
- 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,
- mesStaffPositionLinkList)) // 鎵归噺鎻掑叆鎴栨洿鏂板憳宸�
- throw new NotImplementedException("鍚屾澶辫触");
- break;
- default:
- throw new ArgumentNullException(
- $"type娌℃湁{staffGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�");
- }
-
- return 1;
- }) > 0;
- }
-
- // 鎵归噺鏇存柊鍛樺伐鐘舵�佺殑鏂规硶
- 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" ? "鍚敤澶辫触" : "绂佺敤澶辫触");
- }
-
- // 鎵归噺鎻掑叆鍛樺伐鐨勬柟娉�
- private bool InsertStaffBatch(SqlSugarScope db, List<SysUser> userList,
- 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)
- {
- var ids = staffList.Select(it => it.Id).ToArray();
- if (db.Deleteable<MesStaff>().In(ids).ExecuteCommand() > 0)
- return true;
- }
-
- throw new ArgumentNullException("鍙嶅鏍稿け璐�");
- }
-
- // 鎵归噺鎻掑叆鎴栨洿鏂板憳宸ョ殑鏂规硶
- private bool InsertOrUpdateBatch(SqlSugarScope db, List<SysUser> userList,
- 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;
- }
-
- return true;
+ var result = departments.Select(Save).ToList();
+ return result.All(b => b);
}
}
\ No newline at end of file
--
Gitblit v1.9.3