helongyang
13 小时以前 dc06f58d8ed537555fd529551180f43a0586ec3f
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/°å²Ä²Ö/RGVJob_BC.cs
@@ -169,8 +169,8 @@
                            }
                        }
                        //允许放行一号开料口出库任务
                        bool outAllow = device.Communicator.Read<bool>("DB14.4.6");
                        if (outAllow)
                        bool outAllowLine1 = device.Communicator.Read<bool>("DB14.4.6");
                        if (outAllowLine1)
                        {
                            Dt_Task taskExcuting = _taskRepository.QueryFirst(x => x.WarehouseId== warehouseDevice.WarehouseId && (x.TargetAddress== "SCUTL-001" || x.TargetAddress == "1101")
                            && (x.TaskState==TaskStatusEnum.SC_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt() 
@@ -183,6 +183,36 @@
                                WriteDebug($"一号开料口放行任务", $"任务号{taskExecute.TaskNum}");
                            }
                        }
                        //允许放行二号开料口出库任务
                        bool outAllowLine2 = device.Communicator.Read<bool>("DB14.12.6");
                        if (outAllowLine2)
                        {
                            Dt_Task taskExcuting = _taskRepository.QueryFirst(x => x.WarehouseId == warehouseDevice.WarehouseId && (x.TargetAddress == "SCUTL-002" || x.TargetAddress == "1103")
                            && (x.TaskState == TaskStatusEnum.SC_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt()
                            || x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt()));
                            Dt_Task? taskExecute = _taskRepository.QueryData(x => x.WarehouseId == warehouseDevice.WarehouseId && x.TargetAddress == "SCUTL-002"
                            && x.TaskState == TaskStatusEnum.MesPending.ObjToInt()).OrderByDescending(x => x.Grade).ThenBy(x => x.TaskNum).ThenBy(x => x.CreateDate).FirstOrDefault();
                            if (taskExcuting == null && taskExecute != null)
                            {
                                _taskService.UpdateTask(taskExecute, TaskStatusEnum.SC_Execute);
                                WriteDebug($"二号开料口放行任务", $"任务号{taskExecute.TaskNum}");
                            }
                        }
                        //允许放行手动开料口出库任务
                        bool outAllowMusual = device.Communicator.Read<bool>("DB14.4.7");
                        if (outAllowMusual)
                        {
                            Dt_Task taskExcuting = _taskRepository.QueryFirst(x => x.WarehouseId == warehouseDevice.WarehouseId && (x.TargetAddress == "SCUTL_04-001" || x.TargetAddress == "1102")
                            && (x.TaskState == TaskStatusEnum.SC_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt()
                            || x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt() || x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt()));
                            Dt_Task? taskExecute = _taskRepository.QueryData(x => x.WarehouseId == warehouseDevice.WarehouseId && x.TargetAddress == "SCUTL_04-001"
                            && x.TaskState == TaskStatusEnum.MesPending.ObjToInt()).OrderByDescending(x => x.Grade).ThenBy(x => x.TaskNum).ThenBy(x => x.CreateDate).FirstOrDefault();
                            if (taskExcuting == null && taskExecute != null)
                            {
                                _taskService.UpdateTask(taskExecute, TaskStatusEnum.SC_Execute);
                                WriteDebug($"手动开料口放行任务", $"任务号{taskExecute.TaskNum}");
                            }
                        }
                    }
                    else
                    {