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/MesItemsManager.cs | 211 ++++++++++++++++++++++++---------------------------- 1 files changed, 98 insertions(+), 113 deletions(-) diff --git a/MES.Service/service/BasicData/MesItemsManager.cs b/MES.Service/service/BasicData/MesItemsManager.cs index 019e483..f6efbc5 100644 --- a/MES.Service/service/BasicData/MesItemsManager.cs +++ b/MES.Service/service/BasicData/MesItemsManager.cs @@ -1,5 +1,4 @@ -锘縰sing Castle.Core.Resource; -using MES.Service.DB; +锘縰sing MES.Service.DB; using MES.Service.Dto.service; using MES.Service.Dto.webApi; using MES.Service.Modes; @@ -11,12 +10,10 @@ { public MesItems GetItemQcPrint(WarehouseQuery query) { - return Db.Queryable<MesItems>() - .Where(c => c.Factory == query.Factory - && c.Company == query.Company - && c.ItemNo == query.ItemNo).First(); + return Db.Queryable<MesItems>().Where(c => c.Factory == query.Factory && c.Company == query.Company && c.ItemNo == query.ItemNo).First(); } - + + public bool Save(ErpItems item) { var entity = GetMesItems(item); @@ -38,7 +35,7 @@ return 1; break; case "3": - if (DeleteItem(db, entity.Id)) + if (UpdateItemStatus(db, entity.Id, "B")) return 1; break; case "4": @@ -46,8 +43,7 @@ return 1; break; default: - throw new ArgumentNullException( - $"type娌℃湁{item.Type}杩欎釜绫诲瀷鐨勫弬鏁�"); + throw new ArgumentNullException($"type娌℃湁{item.Type}杩欎釜绫诲瀷鐨勫弬鏁�"); } throw new NotImplementedException("鎿嶄綔澶辫触"); @@ -57,8 +53,7 @@ public bool SaveList(List<ErpItems> items) { var list = items.Select(GetMesItems).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 => { @@ -78,7 +73,7 @@ throw new NotImplementedException("鎻掑叆澶辫触"); break; case "3": - if (!DeleteItemBatch(db, itemGroup.Value)) + if (!UpdateItemStatusBatch(db, itemGroup.Value, "B")) throw new NotImplementedException("鍒犻櫎澶辫触"); break; case "4": @@ -86,115 +81,39 @@ throw new NotImplementedException("鍚屾澶辫触"); break; default: - throw new ArgumentNullException( - $"type娌℃湁{itemGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�"); + throw new ArgumentNullException($"type娌℃湁{itemGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�"); } return 1; }) > 0; } - private bool UpdateItemStatus(SqlSugarScope db, decimal itemId, - string status) + private bool UpdateItemStatus(SqlSugarScope db, decimal itemId,string status) { - var result = db.Updateable<MesItems>() - .SetColumns(s => s.Fforbidstatus == status) - .Where(s => s.Id == itemId).ExecuteCommand(); - - if (result > 0) - return true; - - throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触"); + var result = db.Updateable<MesItems>().SetColumns(s => s.Fforbidstatus == status).Where(s => s.Id == itemId).ExecuteCommand(); + return true; } private bool InsertItem(SqlSugarScope db, MesItems entity) { - var insert = db.Insertable(entity).ExecuteCommand(); - if (insert > 0) - return true; - - throw new NotImplementedException("鎻掑叆澶辫触"); - } - - private bool DeleteItem(SqlSugarScope db, decimal itemId) - { - var deleteById = db.Deleteable<MesItems>().In(itemId).ExecuteCommand(); - if (deleteById > 0) - return true; - - throw new NotImplementedException("鍒犻櫎澶辫触"); - } - - private MesItems GetMesItems(ErpItems item) - { - return new MesItems + var exists = db.Queryable<MesItems>().Any(e => e.Id == entity.Id); + if (exists) { - Id = Convert.ToDecimal(item.Id), - ItemNo = item.FNumber, - ItemName = item.FName, - ItemModel = item.FSpecification, - ItemUnit = item.FBaseUnitId, - Lowlimit = item.FSafeStock, - Highlimit = item.FMaxStock, - PrdPack = item.FMinPackCount, - DepotCode = item.FStockId, - Fmaterialgroup = item.FMaterialGroup, - Remarks = item.FDescription, - Ffinishreceiptoverrate = item.FFinishReceiptOverRate, - Fissuetype = item.FIssueType, - Fisbatchmanage = item.FIsBatchManage, - Fpurchaserid = item.FPurchaserId, - Fpurchaseunitid = Convert.ToDecimal(item.FPurchaseUnitId), - Storeunit = item.FStoreUnitID, - Saleunit = item.FSaleUnitId, - Fforbidstatus = item.FForbidStatus, - MaterialProperti = item.FErpClsID, - ProductionWorkshop = item.FWorkShopId, - ProduceUnit = item.FPRODUCEUNITID, - SubconUnit = item.FSUBCONUNITID, - FSubsidiary = item.FSubsidiary, - Fumbrella = item.Fumbrella, - FLOSSPERCENT = item.FLOSSPERCENT , - FMnemonicCode = item.FMnemonicCode, - FExpPeriod = item.FExpPeriod, - LastupdateDate=DateTime.Now, - CreateDate=DateTime.Now, - Company = "1000", - Factory = "1000" - }; - } - - private bool UpdateItemStatusBatch(SqlSugarScope db, - List<MesItems> itemList, string status) - { - var ids = itemList.Select(it => it.Id).ToArray(); - var result = db.Updateable<MesItems>() - .SetColumns(s => s.Fforbidstatus == status) - .Where(s => ids.Contains(s.Id)).ExecuteCommand(); - - if (result > 0) + var result = db.Updateable(entity).ExecuteCommand(); return true; - - throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触"); - } - - private bool InsertItemBatch(SqlSugarScope db, List<MesItems> itemList) - { - var insertRange = db.Insertable(itemList).ExecuteCommand(); - if (insertRange > 0) - return true; - - throw new NotImplementedException("鎻掑叆澶辫触"); - } - - private bool DeleteItemBatch(SqlSugarScope db, List<MesItems> itemList) - { - var ids = itemList.Select(it => it.Id).ToArray(); - var deleteByIds = db.Deleteable<MesItems>().In(ids).ExecuteCommand(); - if (deleteByIds > 0) - return true; - - throw new NotImplementedException("鍒犻櫎澶辫触"); + } + else + { + var insert = db.Insertable(entity).ExecuteCommand(); + if (insert > 0) + { + return true; + } + else + { + throw new NotImplementedException("鎻掑叆澶辫触"); + } + } } private bool InsertOrUpdate(SqlSugarScope db, MesItems entity) @@ -203,25 +122,91 @@ 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 MesItems GetMesItems(ErpItems item) + { + return new MesItems + { + Id = Convert.ToDecimal(item.Id), + ItemId = Convert.ToDecimal(item.Id), + ItemNo = item.FNumber, + ItemName = item.FName, + ItemModel = item.FSpecification, + ItemUnit = item.FBaseUnitId, + Lowlimit = item.FSafeStock, + Highlimit = item.FMaxStock, + PrdPack = item.FMinPackCount, + DepotCode = item.FStockId, + Ppbom00019124 = item.PPBOM00019124, + Fmaterialgroup = item.FMaterialGroup, + Remarks = item.FDescription, + Ffinishreceiptoverrate = item.FFinishReceiptOverRate, + Fissuetype = item.FIssueType, + Fisbatchmanage = item.FIsBatchManage, + Fpurchaserid = item.FPurchaserId, + Fpurchaseunitid = item.FPurchaseUnitId, + Storeunit = item.FStoreUnitID, + Saleunit = item.FSaleUnitId, + Fforbidstatus = item.FForbidStatus, + MaterialProperti = item.FErpClsID, + ProductionWorkshop = item.FWorkShopId, + ProduceUnit = item.FPRODUCEUNITID, + SubconUnit = item.FSUBCONUNITID, + CreateOrg = Convert.ToDecimal(item.FCreateOrgId), + UseOrg = Convert.ToDecimal(item.FUseOrgId), + LossPercent = item.FLOSSPERCENT, + MnemonicCode = item.FMnemonicCode, + ExpPeriod = item.FExpPeriod, + ColorName = item.FColor, + CreateDate = DateTime.Now, + Company = "1000", + Factory = "1000" + }; + } + + private bool UpdateItemStatusBatch(SqlSugarScope db,List<MesItems> itemList, string status) + { + var ids = itemList.Select(it => it.Id).ToArray(); + var result = db.Updateable<MesItems>().SetColumns(s => s.Fforbidstatus == status).Where(s => ids.Contains(s.Id)).ExecuteCommand(); + return true; + } + + private bool InsertItemBatch(SqlSugarScope db, List<MesItems> itemList) + { + foreach (var entity in itemList) + { + if (!InsertItem(db, entity)) + { + return false; + } + } + return true; } private bool InsertOrUpdateBatch(SqlSugarScope db, List<MesItems> itemList) { foreach (var entity in itemList) + { if (!InsertOrUpdate(db, entity)) + { return false; - + } + } return true; } } \ No newline at end of file -- Gitblit v1.9.3