From 8372214fbc4db844645b846b286c441c1822af3d Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周六, 10 5月 2025 15:08:07 +0800 Subject: [PATCH] 第一版提交 --- PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/WorkPlanAppService.cs | 553 +++++++++++++++++++++++++++++++++--------------------- 1 files changed, 337 insertions(+), 216 deletions(-) diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/WorkPlanAppService.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/WorkPlanAppService.cs index 686a0d9..dccb3af 100644 --- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/WorkPlanAppService.cs +++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/WorkPlanAppService.cs @@ -10,6 +10,12 @@ using Volo.Abp.Data; using Volo.Abp.ObjectExtending; using Volo.Abp.ObjectMapping; +using CMS.Plugin.FormulaManagement.Abstractions; +using CMS.Plugin.OrderManagement.Abstractions.Enums; +using CMS.Plugin.OrderManagement.Abstractions.Models; +using CMS.Plugin.OrderManagement.Abstractions; +using CMS.Plugin.ProductManagement.Abstractions; +using Microsoft.Extensions.DependencyInjection; namespace CMS.Plugin.PipeLineLems.Application.Implements; @@ -19,14 +25,16 @@ public class WorkPlanAppService : CMSPluginAppService, IWorkPlanAppService { private readonly IWorkPlanRepository workPlanRepository; + private readonly IServiceProvider _serviceProvider; /// <summary> /// Initializes a new instance of the <see cref="WorkPlanAppService"/> class. /// </summary> /// <param name="WorkPlanRepository">The task job repository.</param> - public WorkPlanAppService(IWorkPlanRepository _WorkPlanRepository) + public WorkPlanAppService(IWorkPlanRepository _WorkPlanRepository, IServiceProvider serviceProvider) { workPlanRepository = _WorkPlanRepository; + _serviceProvider = serviceProvider; } /// <summary> @@ -144,7 +152,19 @@ input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None); updateObj.TaskCode = input.TaskCode; - updateObj.OrgMaterialCode = input.OrgMaterialCode; + updateObj.DataIdentifier = input.DataIdentifier; + updateObj.MaterialMode = input.MaterialMode; + updateObj.Length = input.Length; + updateObj.MarkingContent = input.MarkingContent; + updateObj.MarkingPosition = input.MarkingPosition; + updateObj.CuttingPosition = input.CuttingPosition; + updateObj.Quantity = input.Quantity; + updateObj.FlangeThickness = input.FlangeThickness; + updateObj.FlangeInnerDiameter = input.FlangeInnerDiameter; + updateObj.WeldingHeatInput = input.WeldingHeatInput; + updateObj.PipeAllowableStress = input.PipeAllowableStress; + updateObj.PipeDiameter = input.PipeDiameter; + updateObj.PipeWallThickness = input.PipeWallThickness; updateObj.FactoryCode = input.FactoryCode; updateObj.ProductCode = input.ProductCode; updateObj.WorkstationCode = input.WorkstationCode; @@ -153,45 +173,18 @@ updateObj.ProcessName = input.ProcessName; updateObj.PipeFittingCode = input.PipeFittingCode; updateObj.PreSerialNumber = input.PreSerialNumber; - updateObj.DataIdentifier = input.DataIdentifier; updateObj.PipeSpecCode = input.PipeSpecCode; updateObj.PipeSectionName = input.PipeSectionName; updateObj.OuterDiameter = input.OuterDiameter; - updateObj.Bevel = input.Bevel; + updateObj.Thickness = input.Thickness; updateObj.Material = input.Material; - updateObj.Length = input.Length; - updateObj.DrillingPosition = input.DrillingPosition; - updateObj.Intersecting = input.Intersecting; - updateObj.InterfaceRequirement = input.InterfaceRequirement; updateObj.HasMainSignature = input.HasMainSignature; - updateObj.Quantity = input.Quantity; - updateObj.MarkingContent = input.MarkingContent; - updateObj.CuttingFile = input.CuttingFile; - updateObj.BranchOuterDiameter = input.BranchOuterDiameter; - updateObj.BranchWallThickness = input.BranchWallThickness; - updateObj.BranchMaterial = input.BranchMaterial; - updateObj.BranchPortRadius = input.BranchPortRadius; - updateObj.BranchPortAngle = input.BranchPortAngle; - updateObj.BranchPortRequirement = input.BranchPortRequirement; - updateObj.IntersectingLineType = input.IntersectingLineType; - updateObj.IntersectingLineCategory = input.IntersectingLineCategory; - updateObj.FinishedProductScale = input.FinishedProductScale; - updateObj.FlangeThickness = input.FlangeThickness; - updateObj.FlangeInnerDiameter = input.FlangeInnerDiameter; - updateObj.WeldingHeatInput = input.WeldingHeatInput; - updateObj.PipeAllowableStress = input.PipeAllowableStress; - updateObj.PipeDiameter = input.PipeDiameter; - updateObj.PipeWallThickness = input.PipeWallThickness; - updateObj.VRData = input.VRData; updateObj.ProcessRouteNumber = input.ProcessRouteNumber; updateObj.PlannedStartTime = input.PlannedStartTime; updateObj.PlannedEndTime = input.PlannedEndTime; - updateObj.TimeInfo = input.TimeInfo; - updateObj.RedundantField1 = input.RedundantField1; - updateObj.RedundantField2 = input.RedundantField2; - updateObj.RedundantField3 = input.RedundantField3; + updateObj.TeamInfo = input.TeamInfo; + updateObj.Timestamp = input.Timestamp; updateObj.Remark = input.Remark; - updateObj.IsDisabled = input.IsDisabled; await workPlanRepository.UpdateAsync(updateObj); @@ -308,188 +301,308 @@ /// <exception cref="UserFriendlyException"></exception> public async Task ImportAsync(WorkPlansImportModel input) { - Check.NotNull(input, nameof(input)); - var workPlanCreateDtos = new List<(int RowIndex, WorkPlanCreateDto Item)>(); - var workPlanUpdateDtos = new List<(int RowIndex, Guid Id, WorkPlanUpdateDto Item)>(); - var importItems = input.WorkPlans; + //杞崲鏁版嵁 + var result = ObjectMapper.Map<List<WorkPlansImportModel.WorkPlanImportModel>, List<WorkPlanInput>>(input.WorkPlans); - if (importItems != null && importItems.Any()) - { - #region 瀵煎叆鏍¢獙 - - // 鍒ゆ柇鍚嶇О鏄惁閲嶅锛屽苟杈撳嚭绗嚑琛岄噸澶� - var duplicateWorkPlans = importItems.GroupBy(x => x.TaskCode).Where(x => x.Count() > 1).ToList(); - if (duplicateWorkPlans?.Any() == true) - { - var duplicateWorkPlanMsgs = duplicateWorkPlans.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key} 鍚嶇О閲嶅"); - var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWorkPlanMsgs)}锛岀粓姝㈠鍏�"; - throw new UserFriendlyException(errorMsg); - } - - #endregion - - foreach (var impItem in importItems) - { - if (impItem.TaskCode.IsNullOrWhiteSpace()) - { - continue; - } - - if (impItem.TaskCode.IsNullOrWhiteSpace()) - { - var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WorkPlan鍚嶇О涓嶈兘涓虹┖"; - throw new UserFriendlyException(errorMsg); - } - - var oldWorkPlan = await workPlanRepository.FindByNameAsync(impItem.TaskCode); - if (oldWorkPlan != null) - { - var workPlanUpdateDto = new WorkPlanUpdateDto - { - TaskCode = impItem.TaskCode, - OrgMaterialCode = impItem.OrgMaterialCode, - FactoryCode = impItem.FactoryCode, - ProductCode = impItem.ProductCode, - WorkstationCode = impItem.WorkstationCode, - EquipmentCode = impItem.EquipmentCode, - WorkpieceName = impItem.WorkpieceName, - ProcessName = impItem.ProcessName, - PipeFittingCode = impItem.PipeFittingCode, - PreSerialNumber = impItem.PreSerialNumber, - DataIdentifier = impItem.DataIdentifier, - PipeSpecCode = impItem.PipeSpecCode, - PipeSectionName = impItem.PipeSectionName, - OuterDiameter = impItem.OuterDiameter, - Bevel = impItem.Bevel, - Material = impItem.Material, - Length = impItem.Length, - DrillingPosition = impItem.DrillingPosition, - Intersecting = impItem.Intersecting, - InterfaceRequirement = impItem.InterfaceRequirement, - HasMainSignature = impItem.HasMainSignature, - Quantity = impItem.Quantity, - MarkingContent = impItem.MarkingContent, - CuttingFile = impItem.CuttingFile, - BranchOuterDiameter = impItem.BranchOuterDiameter, - BranchWallThickness = impItem.BranchWallThickness, - BranchMaterial = impItem.BranchMaterial, - BranchPortRadius = impItem.BranchPortRadius, - BranchPortAngle = impItem.BranchPortAngle, - BranchPortRequirement = impItem.BranchPortRequirement, - IntersectingLineType = impItem.IntersectingLineType, - IntersectingLineCategory = impItem.IntersectingLineCategory, - FinishedProductScale = impItem.FinishedProductScale, - FlangeThickness = impItem.FlangeThickness, - FlangeInnerDiameter = impItem.FlangeInnerDiameter, - WeldingHeatInput = impItem.WeldingHeatInput, - PipeAllowableStress = impItem.PipeAllowableStress, - PipeDiameter = impItem.PipeDiameter, - PipeWallThickness = impItem.PipeWallThickness, - VRData = impItem.VRData, - ProcessRouteNumber = impItem.ProcessRouteNumber, - PlannedStartTime = impItem.PlannedStartTime, - PlannedEndTime = impItem.PlannedEndTime, - TimeInfo = impItem.TimeInfo, - RedundantField1 = impItem.RedundantField1, - RedundantField2 = impItem.RedundantField2, - RedundantField3 = impItem.RedundantField3, - Remark = impItem.Remark, - IsDisabled = impItem.IsDisabled, - - }; - - workPlanUpdateDtos.Add((impItem.RowIndex, oldWorkPlan.Id, workPlanUpdateDto)); - } - else - { - var workPlanCreateDto = new WorkPlanCreateDto - { - TaskCode = impItem.TaskCode, - OrgMaterialCode = impItem.OrgMaterialCode, - FactoryCode = impItem.FactoryCode, - ProductCode = impItem.ProductCode, - WorkstationCode = impItem.WorkstationCode, - EquipmentCode = impItem.EquipmentCode, - WorkpieceName = impItem.WorkpieceName, - ProcessName = impItem.ProcessName, - PipeFittingCode = impItem.PipeFittingCode, - PreSerialNumber = impItem.PreSerialNumber, - DataIdentifier = impItem.DataIdentifier, - PipeSpecCode = impItem.PipeSpecCode, - PipeSectionName = impItem.PipeSectionName, - OuterDiameter = impItem.OuterDiameter, - Bevel = impItem.Bevel, - Material = impItem.Material, - Length = impItem.Length, - DrillingPosition = impItem.DrillingPosition, - Intersecting = impItem.Intersecting, - InterfaceRequirement = impItem.InterfaceRequirement, - HasMainSignature = impItem.HasMainSignature, - Quantity = impItem.Quantity, - MarkingContent = impItem.MarkingContent, - CuttingFile = impItem.CuttingFile, - BranchOuterDiameter = impItem.BranchOuterDiameter, - BranchWallThickness = impItem.BranchWallThickness, - BranchMaterial = impItem.BranchMaterial, - BranchPortRadius = impItem.BranchPortRadius, - BranchPortAngle = impItem.BranchPortAngle, - BranchPortRequirement = impItem.BranchPortRequirement, - IntersectingLineType = impItem.IntersectingLineType, - IntersectingLineCategory = impItem.IntersectingLineCategory, - FinishedProductScale = impItem.FinishedProductScale, - FlangeThickness = impItem.FlangeThickness, - FlangeInnerDiameter = impItem.FlangeInnerDiameter, - WeldingHeatInput = impItem.WeldingHeatInput, - PipeAllowableStress = impItem.PipeAllowableStress, - PipeDiameter = impItem.PipeDiameter, - PipeWallThickness = impItem.PipeWallThickness, - VRData = impItem.VRData, - ProcessRouteNumber = impItem.ProcessRouteNumber, - PlannedStartTime = impItem.PlannedStartTime, - PlannedEndTime = impItem.PlannedEndTime, - TimeInfo = impItem.TimeInfo, - RedundantField1 = impItem.RedundantField1, - RedundantField2 = impItem.RedundantField2, - RedundantField3 = impItem.RedundantField3, - Remark = impItem.Remark, - IsDisabled = impItem.IsDisabled, - - }; - - workPlanCreateDtos.Add((impItem.RowIndex, workPlanCreateDto)); - } - } - } - - // 鏂板 - foreach (var workPlanDto in workPlanCreateDtos) - { - try - { - await CreateAsync(workPlanDto.Item); - } - catch (Exception e) - { - var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊workPlanDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; - throw new UserFriendlyException(errorMsg); - } - } - - // 鏇存柊 - foreach (var workPlanDto in workPlanUpdateDtos) - { - try - { - await UpdateAsync(workPlanDto.Id, workPlanDto.Item); - } - catch (Exception e) - { - var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊workPlanDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; - throw new UserFriendlyException(errorMsg); - } - } + await CreatebyApsAsync(result); } + + + public async Task<MesOrderResponse> CreatebyApsAsync(List<WorkPlanInput> input) + { + if (input == null) + { + throw new UserFriendlyException("杈撳叆鍙傛暟涓嶈兘涓虹┖"); + } + + if (input.Count == 0) + { + throw new UserFriendlyException("杈撳叆鍙傛暟Data涓嶈兘涓虹┖"); + } + + var orderManager = _serviceProvider.GetRequiredService<IOrderManager>(); + var productProvider = _serviceProvider.GetRequiredService<IProductProvider>(); + var formulaProvider = _serviceProvider.GetRequiredService<IFormulaProvider>(); + List<OrderModel> orderModels = new List<OrderModel>(); + //鎸夌収浠诲姟缂栧彿鍒嗙粍 + var groupTask = input.GroupBy(x => x.TaskCode); + foreach (var gTask in groupTask) + { + var taskCode = gTask.Key; + var order = await orderManager.GetByCodeAsync(taskCode); + if (order != null) + { + throw new UserFriendlyException($"浠诲姟缂栧彿[{taskCode}]宸插瓨鍦�"); + } + + + //var product = await productProvider.FindByNameAsync(orderItem.PipeSectionName); + //if (product == null) + //{ + // throw new UserFriendlyException($"浜у搧鍚嶇О[{orderItem.PipeSectionName}]涓嶅瓨鍦�"); + //} + + //var formula = await formulaProvider.GetFormulaAsync(product.Id); + //if (formula == null) + //{ + // throw new UserFriendlyException($"浜у搧鍨嬪彿[{orderItem.MaterialCode}]鏃犲叧鑱旈厤鏂�"); + //} + //棣栧厛瑕佸垱寤� 鎵撶爜鍒囧壊鐨勫伐鍗� + var productForCut = await productProvider.FindByNameAsync("鍒囧壊鍘熸枡绠�"); + if (productForCut == null) + { + throw new UserFriendlyException($"浜у搧鍚嶇О[鍒囧壊鍘熸枡绠涓嶅瓨鍦�"); + } + var formulaForCut = await formulaProvider.GetFormulaAsync(productForCut.Id); + if (formulaForCut == null) + { + throw new UserFriendlyException($"浜у搧鍚嶇О[鍒囧壊鍘熸枡绠鏃犲叧鑱旈厤鏂�"); + } + //鍒嗙粍鏁版嵁 + var group = gTask.ToList().GroupBy(x => x.DataIdentifier); + foreach (var item in group) + { + OrderModel orderModelForCut = new OrderModel() + { + Id = Guid.NewGuid(), + Code = "Cut_" + taskCode, + Source = "APS鎺ㄩ��", + PlanStartTime = gTask.ToList().First().PlannedStartTime, + PlanFinishTime = gTask.ToList().First().PlannedEndTime, + PlanQty = (ulong)item.ToList().Count, + Status = OrderStatus.NotActive, + Product = new AssociationProductModel() { Id = productForCut.Id, Name = productForCut.Name, Model = productForCut.Model, ShortNumber = productForCut.ShortNumber }, + Formula = new AssociationFormulaModel() { Id = formulaForCut.Id, Code = formulaForCut.Code, Name = formulaForCut.Name } + }; + orderModelForCut.ExtraProperties["OuterDiameter"] = gTask.ToList().First().OuterDiameter;//澶栧緞 + orderModelForCut.ExtraProperties["Material"] = gTask.ToList().First().Material;//鏉愯川 + orderModelForCut.ExtraProperties["Length"] = gTask.ToList().First().Length;//闀垮害 + + var orderForCut = await orderManager.GetByCodeAsync(orderModelForCut.Code); + if (orderForCut != null) + { + //throw new UserFriendlyException($"宸ュ崟[{orderModelForCut.Code}]宸插瓨鍦�"); + //涓嶅啀鎶涘紓甯革紝鐩存帴璺宠繃 + break; + } + + var orderModelResultForCut = await orderManager.CreateAsync(orderModelForCut); + if (orderModelResultForCut == null) + { + throw new UserFriendlyException($"宸ュ崟[{orderModelForCut.Code}]鍒涘缓澶辫触"); + } + orderModels.Add(orderModelResultForCut); + + + //OrderModel orderModel = new OrderModel(); + //orderModel.Id = Guid.NewGuid(); + //orderModel.Code = orderItem.TaskCode; + //orderModel.Source = "APS鎺ㄩ��"; + //orderModel.Product = new AssociationProductModel() { Id = product.Id, Name = product.Name, Model = product.Model, ShortNumber = product.ShortNumber }; + ////orderModel.Formula = new AssociationFormulaModel() { Id = formula.Id, Code = formula.Code, Name = formula.Name }; + //orderModel.PlanStartTime = orderItem.PlannedStartTime; + //orderModel.PlanFinishTime = orderItem.PlannedEndTime; + //orderModel.PlanQty = (ulong?)orderItem.OrderQty; + //orderModel.Status = OrderStatus.NotActive; + //orderModel.ExtraProperties["Source"] = "ddd"; + //var source = orderModel.ExtraProperties["Source"]; + //var orderModelResult = await orderManager.CreateAsync(orderModel); + //if (orderModelResult == null) + //{ + // throw new UserFriendlyException($"宸ュ崟[{orderItem.TaskCode}]鍒涘缓澶辫触"); + //} + //orderModels.Add(orderModelResult); + } + + } + + + //淇濆瓨鍒拌〃涓� + foreach (var item in input) + { + var insertObj = ObjectMapper.Map<WorkPlanInput, WorkPlanCreateDto>(item); + //insertObj.OrgMaterialCode = "1111"; + insertObj.Sort = 1; + await CreateAsync(insertObj); + } + + + // 鍙戝竷浜嬩欢 + //await _eventBus.PublishAsync(new EntityChangedEto("MESCREATE", input, null, EntityChangeType.Add, true)); + + var response = new MesOrderResponse + { + Code = "000000", + Data = orderModels, + Fail = false, + Mesg = "澶勭悊鎴愬姛", + Success = true, + Time = DateTime.UtcNow + }; + return response; + } + + ///// <summary> + ///// 瀵煎叆浣滀笟璁″垝琛� + ///// </summary> + ///// <param name="input"></param> + ///// <returns></returns> + ///// <exception cref="UserFriendlyException"></exception> + //public async Task ImportAsync(WorkPlansImportModel input) + //{ + // Check.NotNull(input, nameof(input)); + + // var workPlanCreateDtos = new List<(int RowIndex, WorkPlanCreateDto Item)>(); + // var workPlanUpdateDtos = new List<(int RowIndex, Guid Id, WorkPlanUpdateDto Item)>(); + // var importItems = input.WorkPlans; + + // if (importItems != null && importItems.Any()) + // { + // #region 瀵煎叆鏍¢獙 + + // // 鍒ゆ柇鍚嶇О鏄惁閲嶅锛屽苟杈撳嚭绗嚑琛岄噸澶� + // var duplicateWorkPlans = importItems.GroupBy(x => x.TaskCode).Where(x => x.Count() > 1).ToList(); + // if (duplicateWorkPlans?.Any() == true) + // { + // var duplicateWorkPlanMsgs = duplicateWorkPlans.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key} 鍚嶇О閲嶅"); + // var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWorkPlanMsgs)}锛岀粓姝㈠鍏�"; + // throw new UserFriendlyException(errorMsg); + // } + + // #endregion + + // foreach (var impItem in importItems) + // { + // if (impItem.TaskCode.IsNullOrWhiteSpace()) + // { + // continue; + // } + + // if (impItem.TaskCode.IsNullOrWhiteSpace()) + // { + // var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WorkPlan鍚嶇О涓嶈兘涓虹┖"; + // throw new UserFriendlyException(errorMsg); + // } + + // var oldWorkPlan = await workPlanRepository.FindByNameAsync(impItem.TaskCode); + // if (oldWorkPlan != null) + // { + // var workPlanUpdateDto = new WorkPlanUpdateDto + // { + // TaskCode = impItem.TaskCode, + // DataIdentifier = impItem.DataIdentifier, + // MaterialMode = impItem.MaterialMode, + // Length = impItem.Length, + // MarkingContent = impItem.MarkingContent, + // MarkingPosition = impItem.MarkingPosition, + // CuttingPosition = impItem.CuttingPosition, + // Quantity = impItem.Quantity, + // FlangeThickness = impItem.FlangeThickness, + // FlangeInnerDiameter = impItem.FlangeInnerDiameter, + // WeldingHeatInput = impItem.WeldingHeatInput, + // PipeAllowableStress = impItem.PipeAllowableStress, + // PipeDiameter = impItem.PipeDiameter, + // PipeWallThickness = impItem.PipeWallThickness, + // FactoryCode = impItem.FactoryCode, + // ProductCode = impItem.ProductCode, + // WorkstationCode = impItem.WorkstationCode, + // EquipmentCode = impItem.EquipmentCode, + // WorkpieceName = impItem.WorkpieceName, + // ProcessName = impItem.ProcessName, + // PipeFittingCode = impItem.PipeFittingCode, + // PreSerialNumber = impItem.PreSerialNumber, + // PipeSpecCode = impItem.PipeSpecCode, + // PipeSectionName = impItem.PipeSectionName, + // OuterDiameter = impItem.OuterDiameter, + // Thickness = impItem.Thickness, + // Material = impItem.Material, + // HasMainSignature = impItem.HasMainSignature, + // ProcessRouteNumber = impItem.ProcessRouteNumber, + // PlannedStartTime = impItem.PlannedStartTime, + // PlannedEndTime = impItem.PlannedEndTime, + // TeamInfo = impItem.TeamInfo, + // Timestamp = impItem.Timestamp, + // Remark = impItem.Remark, + + // }; + + // workPlanUpdateDtos.Add((impItem.RowIndex, oldWorkPlan.Id, workPlanUpdateDto)); + // } + // else + // { + // var workPlanCreateDto = new WorkPlanCreateDto + // { + // TaskCode = impItem.TaskCode, + // DataIdentifier = impItem.DataIdentifier, + // MaterialMode = impItem.MaterialMode, + // Length = impItem.Length, + // MarkingContent = impItem.MarkingContent, + // MarkingPosition = impItem.MarkingPosition, + // CuttingPosition = impItem.CuttingPosition, + // Quantity = impItem.Quantity, + // FlangeThickness = impItem.FlangeThickness, + // FlangeInnerDiameter = impItem.FlangeInnerDiameter, + // WeldingHeatInput = impItem.WeldingHeatInput, + // PipeAllowableStress = impItem.PipeAllowableStress, + // PipeDiameter = impItem.PipeDiameter, + // PipeWallThickness = impItem.PipeWallThickness, + // FactoryCode = impItem.FactoryCode, + // ProductCode = impItem.ProductCode, + // WorkstationCode = impItem.WorkstationCode, + // EquipmentCode = impItem.EquipmentCode, + // WorkpieceName = impItem.WorkpieceName, + // ProcessName = impItem.ProcessName, + // PipeFittingCode = impItem.PipeFittingCode, + // PreSerialNumber = impItem.PreSerialNumber, + // PipeSpecCode = impItem.PipeSpecCode, + // PipeSectionName = impItem.PipeSectionName, + // OuterDiameter = impItem.OuterDiameter, + // Thickness = impItem.Thickness, + // Material = impItem.Material, + // HasMainSignature = impItem.HasMainSignature, + // ProcessRouteNumber = impItem.ProcessRouteNumber, + // PlannedStartTime = impItem.PlannedStartTime, + // PlannedEndTime = impItem.PlannedEndTime, + // TeamInfo = impItem.TeamInfo, + // Timestamp = impItem.Timestamp, + // Remark = impItem.Remark, + + // }; + + // workPlanCreateDtos.Add((impItem.RowIndex, workPlanCreateDto)); + // } + // } + // } + + // // 鏂板 + // foreach (var workPlanDto in workPlanCreateDtos) + // { + // try + // { + // await CreateAsync(workPlanDto.Item); + // } + // catch (Exception e) + // { + // var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊workPlanDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; + // throw new UserFriendlyException(errorMsg); + // } + // } + + // // 鏇存柊 + // foreach (var workPlanDto in workPlanUpdateDtos) + // { + // try + // { + // await UpdateAsync(workPlanDto.Id, workPlanDto.Item); + // } + // catch (Exception e) + // { + // var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊workPlanDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; + // throw new UserFriendlyException(errorMsg); + // } + // } + //} /// <summary> /// 瀵煎嚭浣滀笟璁″垝琛� @@ -521,7 +634,7 @@ ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result), }; - var fileName = result.Count > 1 ? "浣滀笟璁″垝琛ㄥ垪琛�" : result.Count == 1 ? result[0]?.TaskCode : "WorkPlan妯$増"; + var fileName = "浣滀笟璁″垝"; return (sheets, fileName); } @@ -533,10 +646,18 @@ protected Task CheckCreateOrUpdateDtoAsync(WorkPlanCreateOrUpdateDtoBase input) { Check.NotNull(input, nameof(input)); - Check.NotNullOrWhiteSpace(input.TaskCode, "浠诲姟缂栫爜", 64); - Check.NotNullOrWhiteSpace(input.OrgMaterialCode, "鍘熸枡缂栧彿", 64); - Check.NotNull(input.HasMainSignature, "鏄惁鏈変富绛�"); - Check.NotNull(input.Quantity, "鍖呮嫭鏁伴噺"); + Check.NotNullOrWhiteSpace(input.TaskCode, "浠诲姟缂栫爜", 256); + Check.NotNull(input.Length, "闀垮害(mm)"); + Check.NotNull(input.MarkingPosition, "鎵撶爜浣嶇疆"); + Check.NotNull(input.CuttingPosition, "鍒囧壊浣嶇疆"); + Check.NotNull(input.Quantity, "绠℃鏁伴噺"); + Check.NotNull(input.FlangeThickness, "娉曞叞鍘氬害(mm)"); + Check.NotNull(input.FlangeInnerDiameter, "娉曞叞鐩村緞(mm)"); + Check.NotNull(input.PipeDiameter, "濂楃闀垮害(mm)"); + Check.NotNull(input.PipeWallThickness, "濂楃鐩村緞(mm)"); + Check.NotNull(input.OuterDiameter, "澶栧緞(mm)"); + Check.NotNull(input.Thickness, "澹佸帤(mm)"); + Check.NotNull(input.HasMainSignature, "鏄惁涓绘敮绠�"); return Task.CompletedTask; } -- Gitblit v1.9.3