huangxiaoqiang
23 小时以前 b06b33248bcc19f8ea6c574124d5c536b7fa6c49
CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -226,7 +226,15 @@
                var hasTask = await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode);
                if (hasTask != null)
                {
                    return content.OK("当前托盘存在任务");
                    var taskExecuting = BaseDal.QueryFirst(x => x.PalletCode == palletCode && x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting);
                    if (taskExecuting != null)
                    {
                        taskExecuting.ExceptionMessage = "未接收到线体完成信号系统内部自动完成";
                        Delete(taskExecuting);
                    }
                    ConsoleHelper.WriteErrorLine($"当前托盘存在任务:【{palletCode}】");
                    QuartzLogger.WriteLogToFile($"任务异常未完成", $"当前托盘存在任务:【{palletCode}】{Environment.NewLine}");
                }
                var wmsIpAddrss = string.Empty;
@@ -284,9 +292,9 @@
        {
            Dt_Task task = null;
              task= BaseDal.QueryFirst(x => ((TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew) || (TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)) && x.CurrentAddress == currentAddress, TaskOrderBy);
            if(task == null)
            if (task == null)
            {
                task= BaseDal.QueryFirst(x => x.Roadway==currentAddress&& x.TaskType== (int)TaskOutboundTypeEnum.TrayInToOut&&x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
                task = BaseDal.QueryFirst(x => x.Roadway == currentAddress && x.TaskType == (int)TaskOutboundTypeEnum.TrayInToOut && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
            }
            return task;
        }
@@ -771,7 +779,7 @@
                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
                {
                    if (task.Roadway.Contains("GW") || (task.Roadway.Contains("JZ") && task.TaskType == (int)TaskOutboundTypeEnum.OutTray))
                    if (task.Roadway.Contains("GW") || (task.Roadway.Contains("JZ") && task.TaskType == (int)TaskOutboundTypeEnum.OutTray)|| (task.Roadway.Contains("CW") && task.TaskType == (int)TaskOutboundTypeEnum.InToOut))
                    {
                        task.TaskState = (int)TaskOutStatusEnum.OutFinish;
                        //如高温出库后 NG 则将任务标记为NG 并在出库申请后将任务出至NG口
@@ -782,7 +790,7 @@
                        else
                        {
                            BaseDal.DeleteData(task);
                            ConsoleHelper.WriteWarningLine($"{(task.Roadway.Contains("GW")? "高温":"静置")}出库目的地址{task.TargetAddress}");
                            ConsoleHelper.WriteWarningLine($"{(task.Roadway)}出库目的地址{task.TargetAddress}");
                        }
                        var taskHty = task.Adapt<Dt_Task_Hty>();
@@ -960,6 +968,14 @@
            return wcsBasez + address;
        }
        public WebResponseContent Delete(Dt_Task task)
        {
            var taskHty = task.Adapt<Dt_Task_Hty>();
            taskHty.Creater = App.User.UserName != null ? App.User.UserName : "System";
            _taskHtyRepository.AddData(taskHty);
            return base.DeleteData(task);
        }
        #region 重写方法
        public override WebResponseContent DeleteData(object[] key)