From 8d771316d68f1523bcdf30c97d3a55107cb5ae56 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期四, 04 九月 2025 10:53:31 +0800 Subject: [PATCH] 111 --- MES.Service/service/BasicData/SysDepartmentManager.cs | 97 ++++++++++++++++++++++-------------------------- 1 files changed, 45 insertions(+), 52 deletions(-) diff --git a/MES.Service/service/BasicData/SysDepartmentManager.cs b/MES.Service/service/BasicData/SysDepartmentManager.cs index 4537867..91c9b8b 100644 --- a/MES.Service/service/BasicData/SysDepartmentManager.cs +++ b/MES.Service/service/BasicData/SysDepartmentManager.cs @@ -94,74 +94,67 @@ // 灏� ErpDepartment 瀵硅薄杞崲涓� SysDepartment 瀵硅薄鐨勬柟娉� private SysDepartment GetSysDepartment(ErpDepartment department) { - return new SysDepartment + // var unixTimeSeconds = string.IsNullOrEmpty(department.Id) + // ? DateTimeOffset.UtcNow.ToUnixTimeSeconds() + // : Convert.ToDecimal(department.Id); + + var fForbidStatus = department.FForbidStatus; + if (department.FForbidStatus == "0") + { + fForbidStatus = "A"; + } + else if (department.FForbidStatus == "1") + { + fForbidStatus = "B"; + } + + var entity = new SysDepartment { Departmentcode = department.FNumber, Departmentname = department.FName, - Departmentid = Convert.ToDecimal(department.Id), - Id = Convert.ToDecimal(department.Id), + // Departmentid = unixTimeSeconds, + // Id = unixTimeSeconds, Depextr1 = department.FDeptProperty, Depextr2 = department.FGroup, Depextr3 = department.FWIPStockID, - Depextr4 = department.FForbidStatus, + Depextr4 = fForbidStatus, FParentID = department.FParentID, - FSubsidiary = department.FUseOrgId, - Fumbrella = department.FCreateOrgId, + FSubsidiary = string.IsNullOrEmpty(department.FUseOrgId) + ? "1" + : department.FUseOrgId, + Fumbrella = string.IsNullOrEmpty(department.FCreateOrgId) + ? "1" + : department.FCreateOrgId, CreateDate = DateTime.Now, LastupdateDate = DateTime.Now, Company = "1000", - Factory = "1000", - FDocumentStatus = department.FDocumentStatus + Factory = "1000" }; + + var sysDepartment = Db.Queryable<SysDepartment>() + .Where(s => s.Departmentcode == entity.Departmentcode) + .First(); + + if (sysDepartment != null) + { + entity.Id = sysDepartment.Id; + } + + return entity; } // SaveList 鏂规硶鐢ㄤ簬淇濆瓨澶氫釜閮ㄩ棬璁板綍锛屾牴鎹被鍨嬫壒閲忔墽琛屼笉鍚岀殑鎿嶄綔 public bool SaveList(List<ErpDepartment> departments) { - var list = new List<SysDepartment>(); - departments.ForEach(s => + if (departments == null || !departments.Any()) { - var entity = - GetSysDepartment(s); // 灏� ErpDepartment 杞崲涓� SysDepartment - entity.Type = s.Type; - list.Add(entity); - }); + Console.WriteLine("璀﹀憡: 浼犲叆鐨勭墿鏂欏垪琛ㄤ负绌�"); + return false; + } - 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")) // 鎵归噺鍚敤閮ㄩ棬 - throw new NotImplementedException("鍚敤澶辫触"); - break; - case "1": - if (!UpdateDepartmentStatusBatch(db, - departmentGroup.Value, "B")) // 鎵归噺绂佺敤閮ㄩ棬 - throw new NotImplementedException("绂佺敤澶辫触"); - break; - case "3": - if (!DeleteDepartmentBatch(db, - departmentGroup.Value)) // 鎵归噺鍒犻櫎閮ㄩ棬 - throw new NotImplementedException("鍒犻櫎澶辫触"); - break; - case "2": - case "4": - if (!InsertOrUpdateDepartmentBatch(db, - departmentGroup.Value)) // 鎵归噺鎻掑叆鎴栨洿鏂伴儴闂� - throw new NotImplementedException("鍚屾澶辫触"); - break; - default: - throw new ArgumentNullException( - $"type娌℃湁{departmentGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�"); - } - - return 1; - }) > 0; + // 閫愭潯澶勭悊锛屽叏閮ㄦ垚鍔熸墠杩斿洖true锛堜簨鍔″唴鎵归噺澶勭悊鏇翠紭锛屾澶勪繚鎸佸師鏈夐�昏緫锛� + var result = departments.Select(Save).ToList(); + return result.All(b => b); } // 鎵归噺鏇存柊閮ㄩ棬鐘舵�佺殑鏂规硶 @@ -209,7 +202,7 @@ private bool InsertOrUpdateDepartmentBatch(SqlSugarScope db, List<SysDepartment> departmentList) { - return departmentList.All( - entity => InsertOrUpdateDepartment(db, entity)); + return departmentList.All(entity => + InsertOrUpdateDepartment(db, entity)); } } \ No newline at end of file -- Gitblit v1.9.3