From 8dbe04f7807d7a4540910552a3db7d7d9008c488 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 20 5月 2025 14:30:50 +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