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/MesUnitManager.cs | 74 ++++++++++++++++++------------------- 1 files changed, 36 insertions(+), 38 deletions(-) diff --git a/MES.Service/service/BasicData/MesUnitManager.cs b/MES.Service/service/BasicData/MesUnitManager.cs index 4157420..7f6058d 100644 --- a/MES.Service/service/BasicData/MesUnitManager.cs +++ b/MES.Service/service/BasicData/MesUnitManager.cs @@ -43,39 +43,15 @@ public bool SaveList(List<ErpUnit> units) { - var list = units.Select(GetMesUnit).ToList(); - var groupBy = list.GroupBy(s => s.Type) - .ToDictionary(g => g.Key, g => g.ToList()); - - return UseTransaction(db => + if (units == null || !units.Any()) { - foreach (var unitGroup in groupBy) - switch (unitGroup.Key) - { - case "0": - if (!UpdateUnitStatusBatch(db, unitGroup.Value, "A")) - throw new NotImplementedException("鍚敤澶辫触"); - break; - case "1": - if (!UpdateUnitStatusBatch(db, unitGroup.Value, "B")) - throw new NotImplementedException("绂佺敤澶辫触"); - break; - case "3": - if (!DeleteUnitBatch(db, unitGroup.Value)) - throw new NotImplementedException("鍒犻櫎澶辫触"); - break; - case "2": - case "4": - if (!InsertOrUpdateBatch(db, unitGroup.Value)) - throw new NotImplementedException("鍚屾澶辫触"); - break; - default: - throw new ArgumentNullException( - $"type娌℃湁{unitGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�"); - } + Console.WriteLine("璀﹀憡: 浼犲叆鐨勫垪琛ㄤ负绌�"); + return false; + } - return 1; - }) > 0; + // 閫愭潯澶勭悊锛屽叏閮ㄦ垚鍔熸墠杩斿洖true锛堜簨鍔″唴鎵归噺澶勭悊鏇翠紭锛屾澶勪繚鎸佸師鏈夐�昏緫锛� + var result = units.Select(Save).ToList(); + return result.All(b => b); } private bool UpdateUnitStatus(SqlSugarScope db, decimal unitId, @@ -112,27 +88,49 @@ private MesUnit GetMesUnit(ErpUnit unit) { - return new MesUnit + var fForbidStatus = unit.FForbidStatus; + if (unit.FForbidStatus == "0") { - Id = Convert.ToDecimal(unit.Id), + fForbidStatus = "A"; + } + else if (unit.FForbidStatus == "1") + { + fForbidStatus = "B"; + } + + var entity = new MesUnit + { + // Id = string.IsNullOrEmpty(unit.Id) + // ? DateTimeOffset.UtcNow.ToUnixTimeSeconds() + // : Convert.ToDecimal(unit.Id), Fnumber = unit.FNumber, Fname = unit.FName, Funitgroupid = unit.FUnitGroupId, - Fconvertdenominator = Convert.ToDouble(unit.FConvertDenominator), + Fconvertdenominator = Convert.ToDecimal(unit.FConvertDenominator), Fcurrentunitid = unit.FCurrentUnitId, - Fconvertnumerator = unit.FConvertNumerator, + Fconvertnumerator = Convert.ToDecimal(unit.FConvertNumerator), Fbaseunit = unit.FBaseUnit, Froundtype = unit.FRoundType, Fprecision = unit.FPrecision, Fdescription = unit.FDescription, - Fforbidstatus = unit.FForbidStatus, + Fforbidstatus = fForbidStatus, CreateDate = DateTime.Now, LastupdateDate = DateTime.Now, Company = "1000", Factory = "1000", - Type = unit.Type, - FDocumentStatus = unit.FDocumentStatus + Type = unit.Type }; + + var mesUnit = Db.Queryable<MesUnit>() + .Where(s => s.Fnumber == entity.Fnumber) + .First(); + + if (mesUnit != null) + { + entity.Id = mesUnit.Id; + } + + return entity; } private bool UpdateUnitStatusBatch(SqlSugarScope db, List<MesUnit> unitList, -- Gitblit v1.9.3