From 5a149d626ae8bc3fa4bddbb53f8caf40f51f6da6 Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周三, 04 6月 2025 17:42:13 +0800 Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo --- PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/MesAppService.cs | 275 ++++++++++++++++++++++++++++-------------------------- 1 files changed, 142 insertions(+), 133 deletions(-) diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/MesAppService.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/MesAppService.cs index c9f2648..c2beaf6 100644 --- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/MesAppService.cs +++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/MesAppService.cs @@ -8,157 +8,166 @@ using CMS.Plugin.ProductManagement.Abstractions; using Microsoft.Extensions.DependencyInjection; using Volo.Abp; +using Volo.Abp.Users; namespace CMS.Plugin.PipeLineLems.Application.Implements; -public class MesAppService : CMSPluginAppService +public class MesAppService : CMSPluginAppService,IMesAppService { private readonly IServiceProvider _serviceProvider; - private readonly IWorkPlanAppService _workPlanAppService; - + private readonly WorkPlanAppService _workPlanAppService; + private readonly SharedService _sharedService; //private readonly IEventBus _eventBus; public MesAppService(IServiceProvider serviceProvider - , IWorkPlanAppService workPlanAppService + , WorkPlanAppService workPlanAppService //, IEventBus eventBus + , SharedService sharedService ) { _serviceProvider = serviceProvider; // _eventBus = eventBus; _workPlanAppService = workPlanAppService; + _sharedService = sharedService; } - public async Task<MesOrderResponse> CreateAsync(List<WorkPlanInput> input) + public async Task<MesOrderResponse> CreateAsync(List<WorkPlanInput> input, string userId, string userAccount) { - if (input == null) - { - throw new UserFriendlyException("杈撳叆鍙傛暟涓嶈兘涓虹┖"); - } + var response = await _sharedService.CommonCreatebyApsAsync(input, _serviceProvider, _workPlanAppService, userId, userAccount); - 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 _workPlanAppService.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; } + //public async Task<MesOrderResponse> CreateAsync(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 _workPlanAppService.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; + //} } -- Gitblit v1.9.3