From 302054e253f1550ee64430882786ec9a3920ec92 Mon Sep 17 00:00:00 2001 From: sjz <1240968267@qq.com> Date: 星期六, 19 七月 2025 08:33:44 +0800 Subject: [PATCH] 优化多组织代码 --- MES.Service/service/BasicData/MesSupplierManager.cs | 160 ++++++++++++++++++++++++----------------------------- 1 files changed, 72 insertions(+), 88 deletions(-) diff --git a/MES.Service/service/BasicData/MesSupplierManager.cs b/MES.Service/service/BasicData/MesSupplierManager.cs index b2e5ac3..d284c46 100644 --- a/MES.Service/service/BasicData/MesSupplierManager.cs +++ b/MES.Service/service/BasicData/MesSupplierManager.cs @@ -2,6 +2,7 @@ using MES.Service.Dto.webApi; using MES.Service.Modes; using SqlSugar; +using System.Collections.Generic; namespace MES.Service.service.BasicData; @@ -28,7 +29,7 @@ return 1; break; case "3": - if (DeleteSupplier(db, entity.Id)) + if (UpdateSupplierStatus(db, entity.Id, "B")) return 1; break; case "4": @@ -36,10 +37,8 @@ return 1; break; default: - throw new ArgumentNullException( - $"type娌℃湁{unit.Type}杩欎釜绫诲瀷鐨勫弬鏁�"); + throw new ArgumentNullException($"type娌℃湁{unit.Type}杩欎釜绫诲瀷鐨勫弬鏁�"); } - throw new NotImplementedException("鎿嶄綔澶辫触"); }) > 0; } @@ -47,8 +46,7 @@ public bool SaveList(List<ErpSupplier> suppliers) { var list = suppliers.Select(GetMesSupplier).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 => { @@ -56,13 +54,11 @@ switch (supplierGroup.Key) { case "0": - if (!UpdateSupplierStatusBatch(db, supplierGroup.Value, - "A")) + if (!UpdateSupplierStatusBatch(db, supplierGroup.Value,"A")) throw new NotImplementedException("鍚敤澶辫触"); break; case "1": - if (!UpdateSupplierStatusBatch(db, supplierGroup.Value, - "B")) + if (!UpdateSupplierStatusBatch(db, supplierGroup.Value,"B")) throw new NotImplementedException("绂佺敤澶辫触"); break; case "2": @@ -70,7 +66,7 @@ throw new NotImplementedException("鎻掑叆澶辫触"); break; case "3": - if (!DeleteSupplierBatch(db, supplierGroup.Value)) + if (!UpdateSupplierStatusBatch(db, supplierGroup.Value, "B")) throw new NotImplementedException("鍒犻櫎澶辫触"); break; case "4": @@ -78,44 +74,61 @@ throw new NotImplementedException("鍚屾澶辫触"); break; default: - throw new ArgumentNullException( - $"type娌℃湁{supplierGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�"); + throw new ArgumentNullException($"type娌℃湁{supplierGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�"); } return 1; }) > 0; } - private bool UpdateSupplierStatus(SqlSugarScope db, decimal supplierId, - string status) + private bool UpdateSupplierStatus(SqlSugarScope db, decimal supplierId,string status) { - var result = db.Updateable<MesSupplier>() - .SetColumns(s => s.Fforbidstatus == status) - .Where(s => s.Id == supplierId).ExecuteCommand(); - - if (result > 0) - return true; - - throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触"); + var result = db.Updateable<MesSupplier>().SetColumns(s => s.Fforbidstatus == status).Where(s => s.Id == supplierId).ExecuteCommand(); + return true; } private bool InsertSupplier(SqlSugarScope db, MesSupplier entity) { - var insert = db.Insertable(entity).ExecuteCommand(); - if (insert > 0) + var exists = db.Queryable<MesSupplier>().Any(e => e.Id == entity.Id); + if (exists) + { + var result = db.Updateable(entity).ExecuteCommand(); return true; - - throw new NotImplementedException("鎻掑叆澶辫触"); + } + else + { + var insert = db.Insertable(entity).ExecuteCommand(); + if (insert > 0) + { + return true; + } + else + { + throw new NotImplementedException("鎻掑叆澶辫触"); + } + } } - private bool DeleteSupplier(SqlSugarScope db, decimal supplierId) + private bool InsertOrUpdate(SqlSugarScope db, MesSupplier entity) { - var deleteById = db.Deleteable<MesSupplier>().In(supplierId) - .ExecuteCommand(); - if (deleteById > 0) + var exists = db.Queryable<MesSupplier>().Any(e => e.Id == entity.Id); + if (exists) + { + var update = db.Updateable(entity).ExecuteCommand(); return true; - - throw new NotImplementedException("鍒犻櫎澶辫触"); + } + else + { + var insert = db.Insertable(entity).ExecuteCommand(); + if (insert > 0) + { + return true; + } + else + { + return false; + } + } } private MesSupplier GetMesSupplier(ErpSupplier supplier) @@ -126,76 +139,47 @@ SuppNo = supplier.FNumber, SuppSname = supplier.FShortName, SuppName = supplier.FName, - Lxr = supplier.F_UNW_LXR, - Telf1 = supplier.F_UNW_LXRDH, + Lxr = supplier.FContact, + Telf1 = supplier.FTel, Fstaffid = supplier.FStaffId, Fforbidstatus = supplier.FForbidStatus, + CreateDate = DateTime.Now, + CreateOrg = Convert.ToDecimal(supplier.FCreateOrgId), + UseOrg = Convert.ToDecimal(supplier.FUseOrgId), + Remark = supplier.FDescription, Company = "1000", Factory = "1000" }; } - private bool UpdateSupplierStatusBatch(SqlSugarScope db, - List<MesSupplier> supplierList, string status) + private bool UpdateSupplierStatusBatch(SqlSugarScope db,List<MesSupplier> supplierList, string status) { var ids = supplierList.Select(it => it.Id).ToArray(); - var result = db.Updateable<MesSupplier>() - .SetColumns(s => s.Fforbidstatus == status) - .Where(s => ids.Contains(s.Id)).ExecuteCommand(); - - if (result > 0) - return true; - - throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触"); + var result = db.Updateable<MesSupplier>().SetColumns(s => s.Fforbidstatus == status).Where(s => ids.Contains(s.Id)).ExecuteCommand(); + return true; } - private bool InsertSupplierBatch(SqlSugarScope db, - List<MesSupplier> supplierList) - { - var insertRange = db.Insertable(supplierList).ExecuteCommand(); - if (insertRange > 0) - return true; - - throw new NotImplementedException("鎻掑叆澶辫触"); - } - - private bool DeleteSupplierBatch(SqlSugarScope db, - List<MesSupplier> supplierList) - { - var ids = supplierList.Select(it => it.Id).ToArray(); - var deleteByIds = db.Deleteable<MesSupplier>().In(ids).ExecuteCommand(); - if (deleteByIds > 0) - return true; - - throw new NotImplementedException("鍒犻櫎澶辫触"); - } - - private bool InsertOrUpdate(SqlSugarScope db, MesSupplier entity) - { - var exists = db.Queryable<MesSupplier>().Any(e => e.Id == entity.Id); - if (exists) - { - var update = db.Updateable(entity).ExecuteCommand(); - if (update > 0) - return true; - } - else - { - var insert = db.Insertable(entity).ExecuteCommand(); - if (insert > 0) - return true; - } - - return false; - } - - private bool InsertOrUpdateBatch(SqlSugarScope db, - List<MesSupplier> supplierList) + private bool InsertSupplierBatch(SqlSugarScope db,List<MesSupplier> supplierList) { foreach (var entity in supplierList) - if (!InsertOrUpdate(db, entity)) + { + if (!InsertSupplier(db, entity)) + { return false; + } + } + return true; + } + private bool InsertOrUpdateBatch(SqlSugarScope db,List<MesSupplier> supplierList) + { + foreach (var entity in supplierList) + { + if (!InsertOrUpdate(db, entity)) + { + return false; + } + } return true; } } \ No newline at end of file -- Gitblit v1.9.3