PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs
@@ -13,6 +13,7 @@ using CMS.Plugin.PipeLineLems.Domain.CallMaterialOrder; using CMS.Plugin.PipeLineLems.Domain.CallMaterialOrderRecord; using CMS.Plugin.PipeLineLems.Domain.WorkPlan; using CMS.Plugin.PipeLineLems.Domain.WorkTask; using CMS.Plugin.ProcessManagement.Abstractions; using CMS.Plugin.ProductManagement.Abstractions; using CMS.Plugin.TraceManagement.Abstractions; @@ -563,6 +564,7 @@ var callMaterialOrderRepository = _serviceProvider.GetRequiredService<ICallMaterialOrderRepository>(); var workPlanRepository = _serviceProvider.GetRequiredService<IWorkPlanRepository>(); var workTaskRepository = _serviceProvider.GetRequiredService<IWorkTaskRepository>(); var callMaterialOrderRecordRepository = _serviceProvider.GetRequiredService<ICallMaterialOrderRecordRepository>(); var orderManager = _serviceProvider.GetRequiredService<IOrderManager>(); @@ -633,6 +635,15 @@ } await workPlanRepository.UpdateManyAsync(workPlanList); //更新作业任务表 var workTaskList = await workTaskRepository.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier); foreach (var item in workTaskList) { item.CallMaterialStatus = Domain.Shared.Enums.CallMaterialStatusEnum.叫料完成; item.LastModifierName = "SuperAdmin"; } await workTaskRepository.UpdateManyAsync(workTaskList); //新增叫料记录表 var callMaterialOrderRecord = new CallMaterialOrderRecord() { @@ -691,12 +702,17 @@ VariableService _variableService = _serviceProvider.GetRequiredService<VariableService>(); var callMaterialOrderRepository = _serviceProvider.GetRequiredService<ICallMaterialOrderRepository>(); var workPlanRepository = _serviceProvider.GetRequiredService<IWorkPlanRepository>(); var workTaskRepository = _serviceProvider.GetRequiredService<IWorkTaskRepository>(); var callMaterialOrderRecordRepository = _serviceProvider.GetRequiredService<ICallMaterialOrderRecordRepository>(); var orderManager = _serviceProvider.GetRequiredService<IOrderManager>(); var callMaterialOrderAppService = _serviceProvider.GetRequiredService<ICallMaterialOrderAppService>(); // 查找数据 var workTask = await workTaskRepository.GetSingleByFilterAsync(x => x.TaskCode == input.TaskCode); if (workTask == null) { throw new UserFriendlyException($"找不到作业计划"); } var workPlan = await workPlanRepository.GetSingleByFilterAsync(x => x.TaskCode == input.TaskCode); if (workPlan == null) { @@ -740,6 +756,7 @@ // workPlan.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.已完成; //} workPlan.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.生产中; workTask.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.生产中; await workPlanRepository.UpdateAsync(workPlan); @@ -822,10 +839,17 @@ var traceProvider = _serviceProvider.GetRequiredService<ITraceProvider>(); var materialProvider = _serviceProvider.GetRequiredService<IMaterialProvider>(); var workPlanAppService = _serviceProvider.GetRequiredService<IWorkPlanAppService>(); var workTaskAppService = _serviceProvider.GetRequiredService<IWorkTaskAppService>(); var workPlanRepository = _serviceProvider.GetRequiredService<IWorkPlanRepository>(); var workTaskRepository = _serviceProvider.GetRequiredService<IWorkTaskRepository>(); var callMaterialOrderAppService = _serviceProvider.GetRequiredService<ICallMaterialOrderAppService>(); string processName = ""; var firstWorkTask = await workTaskAppService.GetSingleByFilterAsync(x => x.PipeSpecCode == input.PipeSpecCode && x.ProcessName == input.ProcessName); if (firstWorkTask == null) { throw new UserFriendlyException($"找不到作业计划"); } //物料参数列表 var firstWorkPlan = await workPlanAppService.GetSingleByFilterAsync(x => x.PipeSpecCode == input.PipeSpecCode && x.ProcessName == input.ProcessName); if (firstWorkPlan == null) @@ -883,7 +907,8 @@ { #region 数据处理 firstWorkTask.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.已完成; await workTaskRepository.UpdateAsync(firstWorkTask); firstWorkPlan.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.已完成; await workPlanRepository.UpdateAsync(firstWorkPlan); PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs
@@ -24,6 +24,7 @@ using NPOI.SS.Formula.Functions; using CMS.Plugin.PipeLineLems.Application.Implements; using CmsQueryExtensions.Entitys; using CMS.Plugin.PipeLineLems.Domain.WorkTask; namespace CMS.Plugin.PipeLineLems.ProjectService { @@ -465,7 +466,9 @@ { var workPlanAppService = _serviceProvider.GetRequiredService<IWorkPlanAppService>(); var workTaskAppService = _serviceProvider.GetRequiredService<IWorkTaskAppService>(); var workPlanRepository = _serviceProvider.GetRequiredService<IWorkPlanRepository>(); var workTaskRepository = _serviceProvider.GetRequiredService<IWorkTaskRepository>(); var callMaterialOrderAppService = _serviceProvider.GetRequiredService<ICallMaterialOrderAppService>(); using var scope = _serviceProvider.CreateScope(); @@ -492,6 +495,10 @@ if (callMaterialOrder == null) return;//结束 //根据原料标识寻找 作业计划 var workTaskList = await workTaskAppService.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier); if (workTaskList?.Count == 0) return;//结束 //更新为生产中 //根据原料标识寻找 作业计划 var workPlanList = await workPlanAppService.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier); @@ -507,6 +514,13 @@ }; var ret = _variableService.WriteValueAsync(keyValuePairs_productID); //更新 任务 为生产中 var new_workTaskList = workTaskList.Where(x => x.ProcessRouteNumber == "切割").ToList(); foreach (var item in new_workTaskList) { item.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.生产中; } await workTaskRepository.UpdateManyAsync(new_workTaskList); //更新为生产中 var new_workPlanList = workPlanList.Where(x => x.ProcessRouteNumber == "切割").ToList(); @@ -737,7 +751,9 @@ { var workPlanAppService = _serviceProvider.GetRequiredService<IWorkPlanAppService>(); var workTaskAppService = _serviceProvider.GetRequiredService<IWorkTaskAppService>(); var workPlanRepository = _serviceProvider.GetRequiredService<IWorkPlanRepository>(); var workTaskRepository = _serviceProvider.GetRequiredService<IWorkTaskRepository>(); var callMaterialOrderAppService = _serviceProvider.GetRequiredService<ICallMaterialOrderAppService>(); using var scope = _serviceProvider.CreateScope(); @@ -763,7 +779,26 @@ callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo); if (callMaterialOrder == null) return;//结束 //根据原料标识寻找 作业计划 var workTaskList = await workTaskAppService.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier); if (workTaskList?.Count == 0) return;//结束 var new_workTaskList = workTaskList.Where(x => x.ProcessName == "切割工序").ToList(); //更新为生产中 foreach (var item in new_workTaskList) { item.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.生产中; item.Remark = "更新生产中"; } await workTaskRepository.UpdateManyAsync(new_workTaskList); var new_workTaskList_printCode = workTaskList.Where(x => x.ProcessName == "打码工序").ToList(); foreach (var item in new_workTaskList_printCode) { item.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.已完成; item.Remark = "更新已完成"; } await workTaskRepository.UpdateManyAsync(new_workTaskList_printCode); //根据原料标识寻找 作业计划 var workPlanList = await workPlanAppService.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier); @@ -778,6 +813,8 @@ { "CMS反馈请求生成切割产品码信号结果", true}, }; var ret = _variableService.WriteValueAsync(keyValuePairs_productID); var new_workPlanList = workPlanList.Where(x => x.ProcessRouteNumber == "装配").ToList(); //更新为生产中 @@ -855,7 +892,7 @@ { UserAccount = userName.Content.Value.SafeString().ToString() }; sharedService.CompleteAssemblyProcess(_serviceProvider, new Application.Contracts.Dtos.WorkPlan.CompleteAssemblyProcessInput() { PipeSpecCode = myPipeSpecCode, ProcessName="装配工序" }, myCurrentUser); sharedService.CompleteAssemblyProcess(_serviceProvider, new Application.Contracts.Dtos.WorkPlan.CompleteAssemblyProcessInput() { PipeSpecCode = myPipeSpecCode, ProcessName = "装配工序" }, myCurrentUser); } catch (Exception)