| | |
| | | using System.Collections.Generic; |
| | | using CMS.Framework.AspNetCore.Users; |
| | | using NPOI.SS.Formula.Functions; |
| | | using CMS.Plugin.PipeLineLems.Application.Implements; |
| | | using CmsQueryExtensions.Entitys; |
| | | |
| | | namespace CMS.Plugin.PipeLineLems.ProjectService |
| | | { |
| | |
| | | { "请求生成打码产品码信号", "请求生成打码产品码信号(描述)" }, |
| | | { "请求生成切割产品码信号", "请求生成切割产品码信号(描述)" }, |
| | | { "切割进站信号", "切割进站信号(描述)" }, |
| | | |
| | | { "装配完工信号", "装配完工信号(描述)" }, |
| | | { "焊接完工信号", "焊接完工信号(描述)" }, |
| | | }; |
| | | |
| | | // 创建通道监听 |
| | |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | if (changed.Name == "装配完工信号") |
| | | { |
| | | if (changed.New?.Value.SafeString().ToBool() == true) |
| | | { |
| | | _ = Task.Run(async () => |
| | | { |
| | | await HanlderFor装配完工信号Async(); |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | _ = Task.Run(async () => |
| | | { |
| | | await HanlderFor完工信号WhenFalseAsync("装配"); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | if (changed.Name == "焊接完工信号") |
| | | { |
| | | if (changed.New?.Value.SafeString().ToBool() == true) |
| | | { |
| | | _ = Task.Run(async () => |
| | | { |
| | | await HanlderFor焊接完工信号Async(); |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | _ = Task.Run(async () => |
| | | { |
| | | await HanlderFor完工信号WhenFalseAsync("焊接"); |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | try |
| | | { |
| | | //根据wms任务号寻找 叫料工单 |
| | | callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo); |
| | | callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo); |
| | | if (callMaterialOrder == null) return;//结束 |
| | | |
| | | |
| | |
| | | pipeSpecCode3 = new_workPlanList[i].PipeSpecCode; |
| | | } |
| | | } |
| | | //获取 批次 |
| | | await callMaterialOrderAppService.wh |
| | | |
| | | Dictionary<string, object?> keyValuePairs = new Dictionary<string, object?> |
| | | { |
| | | { "打码工件1",code1}, |
| | |
| | | { "打码管段名称", new_workPlanList.First().PipeSectionName }, |
| | | { "打码原料管型号", new_workPlanList.First().MaterialMode }, |
| | | { "打码原料标识", new_workPlanList.First().DataIdentifier }, |
| | | { "打码原料管批次", new_workPlanList.First() }, |
| | | { "打码原料管批次", callMaterialOrder.MaterialBatch },//批次 |
| | | }; |
| | | _variableService.WriteValueAsync(keyValuePairs); |
| | | |
| | |
| | | try |
| | | { |
| | | //根据wms任务号寻找 叫料工单 |
| | | callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo); |
| | | callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo); |
| | | if (callMaterialOrder == null) return;//结束 |
| | | |
| | | |
| | |
| | | try |
| | | { |
| | | //根据wms任务号寻找 叫料工单 |
| | | callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo); |
| | | callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo); |
| | | if (callMaterialOrder == null) return;//结束 |
| | | |
| | | |
| | |
| | | { "切割管段编码", new_workPlanList.First().PipeSpecCode }, |
| | | { "切割管段名称", new_workPlanList.First().PipeSectionName }, |
| | | { "切割原料管型号", new_workPlanList.First().MaterialMode }, |
| | | { "切割原料标识", new_workPlanList.First().DataIdentifier } |
| | | { "切割原料标识", new_workPlanList.First().DataIdentifier }, |
| | | { "切割原料管批次", callMaterialOrder.MaterialBatch },//批次 |
| | | }; |
| | | _variableService.WriteValueAsync(keyValuePairs); |
| | | |
| | |
| | | try |
| | | { |
| | | //根据wms任务号寻找 叫料工单 |
| | | callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo); |
| | | callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo); |
| | | if (callMaterialOrder == null) return;//结束 |
| | | |
| | | |
| | |
| | | }; |
| | | var ret = _variableService.WriteValueAsync(keyValuePairs_productID); |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 装配完工信号=true时 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | private async Task HanlderFor装配完工信号Async() |
| | | { |
| | | |
| | | var workPlanAppService = _serviceProvider.GetRequiredService<IWorkPlanAppService>(); |
| | | var workPlanRepository = _serviceProvider.GetRequiredService<IWorkPlanRepository>(); |
| | | var callMaterialOrderAppService = _serviceProvider.GetRequiredService<ICallMaterialOrderAppService>(); |
| | | |
| | | var pipeSpecCode = await _variableService.ReadValueAsync("装配管段编码"); |
| | | |
| | | if (string.IsNullOrEmpty(pipeSpecCode?.Content?.Value.SafeString().ToString())) |
| | | { |
| | | |
| | | } |
| | | else |
| | | { |
| | | |
| | | |
| | | |
| | | var myPipeSpecCode = pipeSpecCode.Content.Value.SafeString().ToString(); |
| | | CallMaterialOrder callMaterialOrder = null; |
| | | try |
| | | { |
| | | var sharedService = _serviceProvider.GetRequiredService<SharedService>(); |
| | | var userName = await _variableService.ReadValueAsync("装配人"); |
| | | MyCurrentUser myCurrentUser = new MyCurrentUser() |
| | | { |
| | | UserAccount = userName.Content.Value.SafeString().ToString() |
| | | }; |
| | | sharedService.CompleteAssemblyProcess(_serviceProvider, new Application.Contracts.Dtos.WorkPlan.CompleteAssemblyProcessInput() { PipeSpecCode = myPipeSpecCode, ProcessName="装配工序" }, myCurrentUser); |
| | | |
| | | } |
| | | catch (Exception) |
| | | { |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 焊接完工信号=true时 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | private async Task HanlderFor焊接完工信号Async() |
| | | { |
| | | |
| | | var workPlanAppService = _serviceProvider.GetRequiredService<IWorkPlanAppService>(); |
| | | var workPlanRepository = _serviceProvider.GetRequiredService<IWorkPlanRepository>(); |
| | | var callMaterialOrderAppService = _serviceProvider.GetRequiredService<ICallMaterialOrderAppService>(); |
| | | |
| | | var pipeSpecCode = await _variableService.ReadValueAsync("焊接管段编码"); |
| | | |
| | | if (string.IsNullOrEmpty(pipeSpecCode?.Content?.Value.SafeString().ToString())) |
| | | { |
| | | |
| | | } |
| | | else |
| | | { |
| | | |
| | | |
| | | |
| | | var myPipeSpecCode = pipeSpecCode.Content.Value.SafeString().ToString(); |
| | | CallMaterialOrder callMaterialOrder = null; |
| | | try |
| | | { |
| | | var sharedService = _serviceProvider.GetRequiredService<SharedService>(); |
| | | var userName = await _variableService.ReadValueAsync("焊接人"); |
| | | MyCurrentUser myCurrentUser = new MyCurrentUser() |
| | | { |
| | | UserAccount = userName.Content.Value.SafeString().ToString() |
| | | }; |
| | | sharedService.CompleteAssemblyProcess(_serviceProvider, new Application.Contracts.Dtos.WorkPlan.CompleteAssemblyProcessInput() { PipeSpecCode = myPipeSpecCode, ProcessName = "焊接工序" }, myCurrentUser); |
| | | |
| | | } |
| | | catch (Exception) |
| | | { |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 完工信号=false时 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | private async Task HanlderFor完工信号WhenFalseAsync(string processName) |
| | | { |
| | | try |
| | | { |
| | | var sharedService = _serviceProvider.GetRequiredService<SharedService>(); |
| | | await sharedService.CompleteHandleOutStoreFinish(_serviceProvider, processName, false); |
| | | } |
| | | catch (Exception) |
| | | { |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |