1
HuBingJie
2025-11-22 51af2794f47d5b68496edbc09d0ccb168347f02b
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -1,4 +1,4 @@
#region << ç‰ˆ æœ¬ æ³¨ é‡Š >>
#region << ç‰ˆ æœ¬ æ³¨ é‡Š >>
/*----------------------------------------------------------------
 * å‘½åç©ºé—´ï¼šWIDESEAWCS_TaskInfoService
 * åˆ›å»ºè€…:胡童庆
@@ -407,9 +407,14 @@
                    //int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
                    task.TaskState = (int)TaskOutStatusEnum.SC_OutExecuting;
                    if (task.TaskState ==(int)TaskOutStatusEnum.SC_OutFinish)
                    {
                        task.TaskState = (int)TaskOutStatusEnum.Line_OutFinish;
                    }
                    else
                    {
                        task.TaskState = (int)TaskOutStatusEnum.SC_OutExecuting;
                    }
                    task.Dispatchertime = DateTime.Now;
                }
                else if (task.TaskType == (int)TaskInboundTypeEnum.Inbound)
@@ -444,7 +449,11 @@
                task.ModifyDate = DateTime.Now;
                task.Modifier = "System";
                BaseDal.UpdateData(task);
                bool res  = BaseDal.UpdateData(task);
                if (!res)
                {
                    return content = WebResponseContent.Instance.Error($"更新任务信息失败,任务号:【{task.TaskNum}】");
                }
                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? $"人工手动将任务状态从【{oldState}】跳转到【{task.TaskState}】" : $"系统自动流程,任务状态从【{oldState}】转到【{task.TaskState}】");
@@ -629,6 +638,9 @@
        {
            task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish;
            bool res = BaseDal.UpdateData(task);
            // æ·»åŠ å…¥åº“åŽ†å²è®°å½•
            //AddTaskHistory(task);
            return res;
        }
@@ -644,6 +656,7 @@
            // æ·»åŠ å…¥åº“åŽ†å²è®°å½•
            // _task_HtyService.AddTaskHty(task);
            _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, "入库完成");
            //AddTaskHistory(task);
            // å…¥åº“完成后删除任务
            bool res = BaseDal.DeleteData(task);
@@ -660,7 +673,7 @@
            BaseDal.UpdateData(task);
            _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, "移库完成");
            //AddTaskHistory(task);
            // ç§»åº“完成后删除任务
            bool res = BaseDal.DeleteData(task);
            // _task_HtyService.AddTaskHty(task);
@@ -849,7 +862,7 @@
        public Dt_Task GetOutTaskInfo2(string PalletCode)
        {
            return BaseDal.QueryFirst(x => x.PalletCode == PalletCode && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish, TaskOrderBy);
            return BaseDal.QueryFirst(x => x.PalletCode == PalletCode && x.TaskState == (int)TaskOutStatusEnum.Line_OutFinish, TaskOrderBy);
        }
        public List<Dt_Task> QueryStackerCraneYKTasks(string deviceNo)
@@ -857,5 +870,53 @@
            return BaseDal.QueryData(x => x.Roadway == deviceNo && x.TaskType == (int)TaskRelocationTypeEnum.Relocation && x.TaskState == (int)TaskRelocationStatusEnum.RelocationNew, TaskOrderBy);
        }
        public WebResponseContent WCSCancelinventory(int taskNum)
        {
            //查询任务信息
            Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
            if (task == null) return WebResponseContent.Instance.Error($"未找到该任务信息,任务号:【{taskNum}】");
            bool taskmsseg = BaseDal.DeleteData(task);
            //bool res = AddTaskHistory(task);
            //return taskmsseg && res ? WebResponseContent.Instance.OK() : WebResponseContent.Instance.Error();
            return null;
        }
        /// <summary>
        /// æ·»åŠ åŽ†å²ä»»åŠ¡è®°å½•ï¼ˆé™æ€æ–¹æ³•ï¼‰
        /// </summary>
        /// <param name="task">任务对象</param>
        /// <returns>是否添加成功</returns>
        public static bool AddTaskHistory(Dt_Task task)
        {
            try
            {
                if (task == null)
                {
                    return false;
                }
                // åˆ›å»ºä»»åŠ¡åŽ†å²æœåŠ¡å®žä¾‹
                var taskHtyService = App.GetService<ITaskHtyService>();
                if (taskHtyService == null)
                {
                    return false;
                }
                // æ·»åŠ åŽ†å²è®°å½•
                bool result = taskHtyService.AddTaskHistory(task, "自动完成");
                return result;
            }
            catch (Exception ex)
            {
                // è®°å½•异常日志
                Console.WriteLine($"添加历史任务记录失败: {ex.Message}");
                return false;
            }
        }
    }
}