From 4fa3f2b7d70af1539cf2731d7c54cc9769b0e14d Mon Sep 17 00:00:00 2001 From: zyf <1071160500@qq.com> Date: 星期五, 15 十一月 2024 09:37:00 +0800 Subject: [PATCH] 委外变更单更新开工状态 --- MES.Service/service/BasicData/ProductionOrderManager.cs | 83 +++++++++++++++++++++++++++++++++-------- 1 files changed, 66 insertions(+), 17 deletions(-) diff --git a/MES.Service/service/BasicData/ProductionOrderManager.cs b/MES.Service/service/BasicData/ProductionOrderManager.cs index aedbd5d..42349c4 100644 --- a/MES.Service/service/BasicData/ProductionOrderManager.cs +++ b/MES.Service/service/BasicData/ProductionOrderManager.cs @@ -1,10 +1,13 @@ -锘縰sing System.Globalization; +锘縰sing System.Data; +using System.Globalization; using MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; using SqlSugar; +using static Microsoft.EntityFrameworkCore.DbLoggerCategory; +using DbType = System.Data.DbType; -namespace MES.Service.service; +namespace MES.Service.service.BasicData; public class ProductionOrderManager : Repository<ProductionOrder> { @@ -35,7 +38,7 @@ return UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0; case "2": case "4": - return SaveOrUpdateData(db, mesRohIn, mesRohInDatas) + return SaveOrUpdateData(db, mesRohIn, mesRohInDatas, erpProductionOrderDto.Type) ? 1 : 0; default: @@ -60,7 +63,7 @@ // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶 private bool SaveOrUpdateData(SqlSugarScope db, ProductionOrder mesRohIn, - List<ProductionOrderSub> mesRohInDatas) + List<ProductionOrderSub> mesRohInDatas,string type) { if (mesRohIn.Id != null) base.DeleteById(mesRohIn.Id); @@ -70,7 +73,52 @@ var orUpdate = base.Insert(mesRohIn); var baOrUpdate = _productionOrderSubManager.InsertRange(mesRohInDatas); - if (orUpdate && baOrUpdate) return true; + if (orUpdate && baOrUpdate) + { + if ("4".Equals(type)) + { + //璋冪敤瀛樺偍杩囩▼ + try + { + // 瀹氫箟杈撳嚭鍙傛暟 + var outputResult = new SugarParameter("C_RESULT", null, + DbType.Int32, ParameterDirection.Output, + 4000); + + var outputMessage = new SugarParameter("MSG", null, DbType.String, + ParameterDirection.Output, 4000); + + // 瀹氫箟杈撳叆鍙傛暟 + var parameters = new List<SugarParameter> + { + + new("P_ID",mesRohIn.ErpId , DbType.String, + ParameterDirection.Input), + outputResult, + outputMessage + }; + + // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼ + Db.Ado.ExecuteCommand( + "BEGIN PRC_MES_WW_UPDATE_BS(:P_ID, :C_RESULT, :MSG); END;", + parameters.ToArray()); + + // 鑾峰彇杈撳嚭鍙傛暟鐨勫�� + var resultValue = outputResult.Value?.ToString(); + var messageValue = outputMessage.Value?.ToString(); + + if ("1".Equals(resultValue)) throw new Exception("鏇存柊澶辫触"); + + return true; + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + } + return true; + } + throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�"); } @@ -108,15 +156,15 @@ BusinessStatus = erpDto.FStatus, ProductCode = erpDto.FMaterialId, Unit = erpDto.FUnitID, - WorkOrderQty = Convert.ToDecimal(erpDto.FQty), + WorkOrderQty = Convert.ToDouble(erpDto.FQty), PlanningGroup = erpDto.FWorkGroupId, Planner = erpDto.FPlannerID, EstimatedStartTime = ParseDateTime(erpDto.FPlanStartDate) ?? null, EstimatedEndTime = ParseDateTime(erpDto.FPlanFinishDate) ?? null, - StorageUpperLimit = Convert.ToDecimal(erpDto.FStockInLimitH), - StorageLowerLimit = Convert.ToDecimal(erpDto.FStockInLimitL), + StorageUpperLimit = Convert.ToDouble(erpDto.FStockInLimitH), + StorageLowerLimit = Convert.ToDouble(erpDto.FStockInLimitL), TrackingNo = erpDto.FMTONO, BatchNo = erpDto.FLot, BomVersion = erpDto.FBomId, @@ -137,13 +185,14 @@ ErpProductionEntryCode = erpDto.FSUBENTRYID, PurchaseOrderNo = erpDto.FPurOrderNo, PurchaseOrderEntrySeq = long.Parse(erpDto.FPurOrderEntrySeq), - StandardPoints = - Convert.ToDecimal(erpDto.F_UNW_BaseProperty_bzds), - PricingPoints = - Convert.ToDecimal(erpDto.F_UNW_BaseProperty_jjds), + // StandardPoints = + // Convert.ToDecimal(erpDto.F_UNW_BaseProperty_bzds), + // PricingPoints = + // Convert.ToDecimal(erpDto.F_UNW_BaseProperty_jjds), StockInQty = Convert.ToDecimal(erpDto.FBaseStockInQty), - NoStockInQty = Convert.ToDecimal(erpDto.FBaseNoStockInQty), - StockOwner = erpDto.FInStockOwnerId + NoStockInQty = Convert.ToDouble(erpDto.FBaseNoStockInQty), + StockOwner = erpDto.FInStockOwnerId, + SUPPLIER = erpDto.FSUPPLIERID }; var single = base.GetSingle(it => it.ErpId == erpDto.FPPOMID); @@ -164,7 +213,7 @@ { SequenceNo = long.Parse(erpDto.FSEQ), MaterialCode = erpDto.FMaterialID2, - RequiredQty = Convert.ToDecimal(erpDto.FMustQty), + RequiredQty = Convert.ToDouble(erpDto.FMustQty), IssuedQty = Convert.ToDecimal(erpDto.FPickedQty), LocationNo = erpDto.FPositionNO, StockOwner = erpDto.FOwnerID, @@ -175,8 +224,8 @@ Process = erpDto.F_UNW_Text_tpgy_Z, Unit = erpDto.FUnitID2, SupplyingType = erpDto.FSupplyType, - Numerator = long.Parse(erpDto.FNumerator), - Denominator = long.Parse(erpDto.FDenominator), + Numerator = Convert.ToDouble(erpDto.FNumerator), + Denominator = Convert.ToDouble(erpDto.FDenominator), ErpId = erpDto.FPPOMENTRYID, ErpHeaderId = erpDto.FPPOMID, FixedLoss = Convert.ToDecimal(erpDto.FFixScrapQty), -- Gitblit v1.9.3