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/MesPositionManager.cs | 119 +++++++++++++++-------------------------------------------- 1 files changed, 30 insertions(+), 89 deletions(-) diff --git a/MES.Service/service/BasicData/MesPositionManager.cs b/MES.Service/service/BasicData/MesPositionManager.cs index 628faf8..3e7b4cb 100644 --- a/MES.Service/service/BasicData/MesPositionManager.cs +++ b/MES.Service/service/BasicData/MesPositionManager.cs @@ -7,9 +7,6 @@ public class MesPositionManager : Repository<MesPosition> { - // 褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉� - - // Save 鏂规硶鐢ㄤ簬淇濆瓨鍗曚釜宀椾綅璁板綍锛屾牴鎹被鍨嬫墽琛屼笉鍚岀殑鎿嶄綔 public bool Save(ErpPosition unit) { var entity = GetMesPosition(unit); // 灏� ErpPosition 杞崲涓� MesPosition @@ -30,7 +27,7 @@ return 1; break; case "3": - if (DeletePosition(db, entity.Id)) // 鍒犻櫎宀椾綅 + if (UpdatePositionStatus(db, entity.Id, "B")) // 鍒犻櫎宀椾綅 return 1; break; case "4": @@ -38,8 +35,7 @@ return 1; break; default: - throw new ArgumentNullException( - $"type娌℃湁{unit.Type}杩欎釜绫诲瀷鐨勫弬鏁�"); + throw new ArgumentNullException($"type娌℃湁{unit.Type}杩欎釜绫诲瀷鐨勫弬鏁�"); } throw new NotImplementedException("鎿嶄綔澶辫触"); @@ -47,17 +43,10 @@ } // 鏇存柊宀椾綅鐘舵�佺殑鏂规硶 - private bool UpdatePositionStatus(SqlSugarScope db, decimal positionId, - string status) + private bool UpdatePositionStatus(SqlSugarScope db, decimal positionId , string status) { - var result = db.Updateable<MesPosition>() - .SetColumns(s => s.Fforbidstatus == status) - .Where(s => s.Id == positionId).ExecuteCommand(); - - if (result > 0) - return true; - - throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触"); + var result = db.Updateable<MesPosition>().SetColumns(s => s.Fforbidstatus == status).Where(s => s.Id == positionId).ExecuteCommand(); + return true; } // 鎻掑叆鎴栨洿鏂板矖浣嶇殑鏂规硶 @@ -67,28 +56,20 @@ if (exists) { var update = db.Updateable(entity).ExecuteCommand(); - if (update > 0) - return true; + return true; } else { var insert = db.Insertable(entity).ExecuteCommand(); if (insert > 0) + { return true; + } + else + { + return false; + } } - - return false; - } - - // 鍒犻櫎宀椾綅鐨勬柟娉� - private bool DeletePosition(SqlSugarScope db, decimal positionId) - { - var deleteById = db.Deleteable<MesPosition>().In(positionId) - .ExecuteCommand(); - if (deleteById > 0) - return true; - - throw new NotImplementedException("鍒犻櫎澶辫触"); } // 灏� ErpPosition 瀵硅薄杞崲涓� MesPosition 瀵硅薄鐨勬柟娉� @@ -103,8 +84,9 @@ Department = position.FDept, Fforbidstatus = position.FForbidStatus, CreationDate = DateTime.Now, - DisabledBy = position.FForbidderId, - DisabledDate = position.FForbidDate != null? DateTime.ParseExact(position.FForbidDate, "yyyy-MM-dd HH:mm:ss", null) : null + FCreateOrgId = position.FCreateOrgId, + FUserOrgId = position.FUseOrgId + }; } @@ -112,48 +94,34 @@ public bool SaveList(List<ErpPosition> positions) { var list = new List<MesPosition>(); - positions.ForEach(s => - { - var entity = GetMesPosition(s); // 灏� ErpPosition 杞崲涓� MesPosition - entity.Type = s.Type; - list.Add(entity); - }); - - 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 positionGroup in groupBy) switch (positionGroup.Key) { case "0": - if (!UpdatePositionStatusBatch(db, positionGroup.Value, - "A")) // 鎵归噺鍚敤宀椾綅 + if (!UpdatePositionStatusBatch(db, positionGroup.Value,"A")) // 鎵归噺鍚敤宀椾綅 throw new NotImplementedException("鍚敤澶辫触"); break; case "1": - if (!UpdatePositionStatusBatch(db, positionGroup.Value, - "B")) // 鎵归噺绂佺敤宀椾綅 + if (!UpdatePositionStatusBatch(db, positionGroup.Value,"B")) // 鎵归噺绂佺敤宀椾綅 throw new NotImplementedException("绂佺敤澶辫触"); break; case "2": - if (!InsertPositionBatch(db, - positionGroup.Value)) // 鎵归噺鎻掑叆宀椾綅 + if (!InsertOrUpdatePositionBatch(db, positionGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂板矖浣� throw new NotImplementedException("鎻掑叆澶辫触"); break; case "3": - if (!DeletePositionBatch(db, - positionGroup.Value)) // 鎵归噺鍒犻櫎宀椾綅 + if (!UpdatePositionStatusBatch(db, positionGroup.Value, "B")) // 鎵归噺绂佺敤宀椾綅 throw new NotImplementedException("鍒犻櫎澶辫触"); break; case "4": - if (!InsertOrUpdatePositionBatch(db, - positionGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂板矖浣� + if (!InsertOrUpdatePositionBatch(db,positionGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂板矖浣� throw new NotImplementedException("鍚屾澶辫触"); break; default: - throw new ArgumentNullException( - $"type娌℃湁{positionGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�"); + throw new ArgumentNullException($"type娌℃湁{positionGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�"); } return 1; @@ -161,51 +129,24 @@ } // 鎵归噺鏇存柊宀椾綅鐘舵�佺殑鏂规硶 - private bool UpdatePositionStatusBatch(SqlSugarScope db, - List<MesPosition> positionList, string status) + private bool UpdatePositionStatusBatch(SqlSugarScope db,List<MesPosition> positionList, string status) { var ids = positionList.Select(it => it.Id).ToArray(); - var result = db.Updateable<MesPosition>() - .SetColumns(s => s.Fforbidstatus == status) - .Where(s => ids.Contains(s.Id)).ExecuteCommand(); + var result = db.Updateable<MesPosition>().SetColumns(s => s.Fforbidstatus == status).Where(s => ids.Contains(s.Id)).ExecuteCommand(); + return true; - if (result > 0) - return true; - - throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触"); - } - - // 鎵归噺鎻掑叆宀椾綅鐨勬柟娉� - private bool InsertPositionBatch(SqlSugarScope db, - List<MesPosition> positionList) - { - var insertRange = db.Insertable(positionList).ExecuteCommand(); - if (insertRange > 0) - return true; - - throw new NotImplementedException("鎻掑叆澶辫触"); - } - - // 鎵归噺鍒犻櫎宀椾綅鐨勬柟娉� - private bool DeletePositionBatch(SqlSugarScope db, - List<MesPosition> positionList) - { - var ids = positionList.Select(it => it.Id).ToArray(); - var deleteByIds = db.Deleteable<MesPosition>().In(ids).ExecuteCommand(); - if (deleteByIds > 0) - return true; - - throw new NotImplementedException("鍒犻櫎澶辫触"); } // 鎵归噺鎻掑叆鎴栨洿鏂板矖浣嶇殑鏂规硶 - private bool InsertOrUpdatePositionBatch(SqlSugarScope db, - List<MesPosition> positionList) + private bool InsertOrUpdatePositionBatch(SqlSugarScope db,List<MesPosition> positionList) { foreach (var entity in positionList) + { if (!InsertOrUpdatePosition(db, entity)) + { return false; - + } + } return true; } } \ No newline at end of file -- Gitblit v1.9.3