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/SysDepartmentManager.cs | 158 +++++++++++++++++++++------------------------------- 1 files changed, 63 insertions(+), 95 deletions(-) diff --git a/MES.Service/service/BasicData/SysDepartmentManager.cs b/MES.Service/service/BasicData/SysDepartmentManager.cs index f10a7e5..cdab8cf 100644 --- a/MES.Service/service/BasicData/SysDepartmentManager.cs +++ b/MES.Service/service/BasicData/SysDepartmentManager.cs @@ -1,4 +1,5 @@ -锘縰sing MES.Service.DB; +锘縰sing Castle.Core.Resource; +using MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; using SqlSugar; @@ -31,7 +32,7 @@ return 1; break; case "3": - if (DeleteDepartment(db, entity.Id)) // 鍒犻櫎閮ㄩ棬 + if (UpdateDepartmentStatus(db, entity.Id, "B")) // 绂佺敤閮ㄩ棬 return 1; break; case "4": @@ -39,8 +40,7 @@ return 1; break; default: - throw new ArgumentNullException( - $"type娌℃湁{department.Type}杩欎釜绫诲瀷鐨勫弬鏁�"); + throw new ArgumentNullException($"type娌℃湁{department.Type}杩欎釜绫诲瀷鐨勫弬鏁�"); } throw new NotImplementedException("鎿嶄綔澶辫触"); @@ -48,59 +48,56 @@ } // 鏇存柊閮ㄩ棬鐘舵�佺殑鏂规硶 - private bool UpdateDepartmentStatus(SqlSugarScope db, decimal departmentId, - string status) + private bool UpdateDepartmentStatus(SqlSugarScope db, decimal departmentId,string status) { - var result = db.Updateable<SysDepartment>() - .SetColumns(s => s.Depextr4 == status) - .Where(s => s.Id == departmentId).ExecuteCommand(); - - if (result > 0) - return true; - - throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触"); + var result = db.Updateable<SysDepartment>().SetColumns(s => s.Depextr4 == status).Where(s => s.Id == departmentId).ExecuteCommand(); + return true; } // 鎻掑叆鏂伴儴闂ㄧ殑鏂规硶 private bool InsertDepartment(SqlSugarScope db, SysDepartment entity) { - var insert = db.Insertable(entity).ExecuteCommand(); - if (insert > 0) - return true; - - throw new NotImplementedException("鎻掑叆澶辫触"); - } - - // 鍒犻櫎閮ㄩ棬鐨勬柟娉� - private bool DeleteDepartment(SqlSugarScope db, decimal departmentId) - { - var deleteById = db.Deleteable<SysDepartment>().In(departmentId) - .ExecuteCommand(); - if (deleteById > 0) - return true; - - throw new NotImplementedException("鍒犻櫎澶辫触"); - } - - // 鎻掑叆鎴栨洿鏂伴儴闂ㄧ殑鏂规硶 - private bool InsertOrUpdateDepartment(SqlSugarScope db, - SysDepartment entity) - { var exists = db.Queryable<SysDepartment>().Any(e => e.Id == entity.Id); if (exists) { - var update = db.Updateable(entity).ExecuteCommand(); - if (update > 0) - return true; + var result = db.Updateable<SysDepartment>().ExecuteCommand(); + return true; } else { var insert = db.Insertable(entity).ExecuteCommand(); if (insert > 0) + { return true; + } + else + { + throw new NotImplementedException("鎻掑叆澶辫触"); + } } + } - return false; + // 鎻掑叆鎴栨洿鏂伴儴闂ㄧ殑鏂规硶 + private bool InsertOrUpdateDepartment(SqlSugarScope db,SysDepartment entity) + { + var exists = db.Queryable<SysDepartment>().Any(e => e.Id == entity.Id); + if (exists) + { + var update = db.Updateable(entity).ExecuteCommand(); + return true; + } + else + { + var insert = db.Insertable(entity).ExecuteCommand(); + if (insert > 0) + { + return true; + } + else + { + return false; + } + } } // 灏� ErpDepartment 瀵硅薄杞崲涓� SysDepartment 瀵硅薄鐨勬柟娉� @@ -128,50 +125,37 @@ // SaveList 鏂规硶鐢ㄤ簬淇濆瓨澶氫釜閮ㄩ棬璁板綍锛屾牴鎹被鍨嬫壒閲忔墽琛屼笉鍚岀殑鎿嶄綔 public bool SaveList(List<ErpDepartment> departments) { - var list = new List<SysDepartment>(); - departments.ForEach(s => - { - var entity = - GetSysDepartment(s); // 灏� ErpDepartment 杞崲涓� SysDepartment - entity.Type = s.Type; - list.Add(entity); - }); + var list = departments.Select(GetSysDepartment).ToList(); - var groupBy = list.GroupBy(s => s.Type) - .ToDictionary(g => g.Key, g => g.ToList()); + var groupBy = list.GroupBy(s => s.Type).ToDictionary(g => g.Key, g => g.ToList()); + return UseTransaction(db => { foreach (var departmentGroup in groupBy) switch (departmentGroup.Key) { case "0": - if (!UpdateDepartmentStatusBatch(db, - departmentGroup.Value, "A")) // 鎵归噺鍚敤閮ㄩ棬 + if (!UpdateDepartmentStatusBatch(db,departmentGroup.Value, "A")) // 鎵归噺鍚敤閮ㄩ棬 throw new NotImplementedException("鍚敤澶辫触"); break; case "1": - if (!UpdateDepartmentStatusBatch(db, - departmentGroup.Value, "B")) // 鎵归噺绂佺敤閮ㄩ棬 + if (!UpdateDepartmentStatusBatch(db,departmentGroup.Value, "B")) // 鎵归噺绂佺敤閮ㄩ棬 throw new NotImplementedException("绂佺敤澶辫触"); break; case "2": - if (!InsertDepartmentBatch(db, - departmentGroup.Value)) // 鎵归噺鎻掑叆閮ㄩ棬 + if (!InsertDepartmentBatch(db,departmentGroup.Value)) // 鎵归噺鎻掑叆閮ㄩ棬 throw new NotImplementedException("鎻掑叆澶辫触"); break; case "3": - if (!DeleteDepartmentBatch(db, - departmentGroup.Value)) // 鎵归噺鍒犻櫎閮ㄩ棬 + if (!UpdateDepartmentStatusBatch(db, departmentGroup.Value, "B")) // 鎵归噺绂佺敤閮ㄩ棬 throw new NotImplementedException("鍒犻櫎澶辫触"); break; case "4": - if (!InsertOrUpdateDepartmentBatch(db, - departmentGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂伴儴闂� + if (!InsertOrUpdateDepartmentBatch(db,departmentGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂伴儴闂� throw new NotImplementedException("鍚屾澶辫触"); break; default: - throw new ArgumentNullException( - $"type娌℃湁{departmentGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�"); + throw new ArgumentNullException($"type娌℃湁{departmentGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�"); } return 1; @@ -179,52 +163,36 @@ } // 鎵归噺鏇存柊閮ㄩ棬鐘舵�佺殑鏂规硶 - private bool UpdateDepartmentStatusBatch(SqlSugarScope db, - List<SysDepartment> departmentList, string status) + private bool UpdateDepartmentStatusBatch(SqlSugarScope db,List<SysDepartment> departmentList, string status) { var ids = departmentList.Select(it => it.Id).ToArray(); - var result = db.Updateable<SysDepartment>() - .SetColumns(s => s.Depextr4 == status) - .Where(s => ids.Contains(s.Id)).ExecuteCommand(); - - if (result > 0) - return true; - - throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触"); + var result = db.Updateable<SysDepartment>().SetColumns(s => s.Depextr4 == status).Where(s => ids.Contains(s.Id)).ExecuteCommand(); + return true; } // 鎵归噺鎻掑叆閮ㄩ棬鐨勬柟娉� - private bool InsertDepartmentBatch(SqlSugarScope db, - List<SysDepartment> departmentList) + private bool InsertDepartmentBatch(SqlSugarScope db,List<SysDepartment> departmentList) { - var insertRange = db.Insertable(departmentList).ExecuteCommand(); - if (insertRange > 0) - return true; - - throw new NotImplementedException("鎻掑叆澶辫触"); - } - - // 鎵归噺鍒犻櫎閮ㄩ棬鐨勬柟娉� - private bool DeleteDepartmentBatch(SqlSugarScope db, - List<SysDepartment> departmentList) - { - var ids = departmentList.Select(it => it.Id).ToArray(); - var deleteByIds = - db.Deleteable<SysDepartment>().In(ids).ExecuteCommand(); - if (deleteByIds > 0) - return true; - - throw new NotImplementedException("鍒犻櫎澶辫触"); + foreach (var entity in departmentList) + { + if (!InsertDepartment(db, entity)) + { + return false; + } + } + return true; } // 鎵归噺鎻掑叆鎴栨洿鏂伴儴闂ㄧ殑鏂规硶 - private bool InsertOrUpdateDepartmentBatch(SqlSugarScope db, - List<SysDepartment> departmentList) + private bool InsertOrUpdateDepartmentBatch(SqlSugarScope db,List<SysDepartment> departmentList) { foreach (var entity in departmentList) + { if (!InsertOrUpdateDepartment(db, entity)) + { return false; - + } + } return true; } } \ No newline at end of file -- Gitblit v1.9.3