22
schangxiang@126.com
2025-05-20 7dccff98bbdf39624cc9430436833db968f1e80e
22
已修改2个文件
68 ■■■■■ 文件已修改
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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)