22
schangxiang@126.com
2025-05-20 7dccff98bbdf39624cc9430436833db968f1e80e
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)