liulijun
2025-11-24 baa732073a68a34bd68d86eb65751a94b2e47813
新增任务重新下发

新增任务重新下发
已修改5个文件
97 ■■■■■ 文件已修改
项目代码/WCS/WCSClient/config/buttons.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSClient/src/extension/taskinfo/task.js 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WCS/WCSClient/config/buttons.js
@@ -42,6 +42,15 @@
    }
},
{
    name: "ä»» åŠ¡ é‡ æ–° ä¸‹ å‘",
    icon: '',
    class: '',
    type: 'success',
    value: 'ResendTask',
    onClick: function () {
    }
},
{
    name: "任务取消",
    icon: '',
    class: '',
ÏîÄ¿´úÂë/WCS/WCSClient/src/extension/taskinfo/task.js
@@ -42,7 +42,33 @@
                    this.$refs.gridBody.open(row);
                }
            },);
            let ResendTaskBtn = this.buttons.find(x => x.value == 'ResendTask');
            if (ResendTaskBtn) {
                ResendTaskBtn.onClick = function () {
                    this.$confirm("是否确认重新下发任务", "重新下发任务警告", {
                        confirmButtonText: "确定",
                        cancelButtonText: "取消",
                        type: "warning",
                        center: true,
                    }).then(() => {
                        let rows = this.$refs.table.getSelected();
                        if (rows.length == 0) return this.$error("请选择数据!");
                        if (rows.length > 1) return this.$error("请选择一条数据!");
                        var param = rows[0].taskNum;
                        this.http
                            .post("api/Task/ResendTask?taskNum=" + param, "")
                            .then((x) => {
                                if (x.status) {
                                    this.$Message.success('任务重新下发');
                                    this.refresh();
                                } else {
                                    return this.$error(x.message);
                                }
                            });
                    });
                }
            }
        },
        onInited() {
            //框架初始化配置后
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -141,6 +141,13 @@
        WebResponseContent TaskCompleted(int taskNum);
        /// <summary>
        /// ä»»åŠ¡é‡æ–°ä¸‹å‘
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <returns></returns>
        WebResponseContent ResendTask(int taskNum);
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、任务类型分组(可选)按照优先级以及创建时间排序查询任务池新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs
@@ -41,6 +41,17 @@
            return Service.ReceiveWMSTask(taskDTOs);
        }
        /// <summary>
        /// ä»»åŠ¡é‡æ–°ä¸‹å‘
        /// </summary>
        /// <param name="taskNum"></param>
        /// <returns></returns>
        [HttpPost,HttpGet,Route("ResendTask"),AllowAnonymous]
        public WebResponseContent ResendTask(int taskNum)
        {
            return Service.ResendTask(taskNum);
        }
        [HttpPost, HttpGet, Route("RequestAssignLocation"), AllowAnonymous]
        public string? RequestAssignLocation(int taskNum, string roadwayNo)
        {
@@ -125,6 +136,8 @@
        {
            return Service.RecWMSTaskCompleted(taskNum);
        }
        [HttpPost, HttpGet, Route("YLPurchasePush"), AllowAnonymous]
        public WebResponseContent YLPurchasePush(string code)
        {
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -18,6 +18,7 @@
using Newtonsoft.Json;
using SqlSugar;
using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
using WIDESEA_DTO.Agv;
using WIDESEAWCS_Common;
using WIDESEAWCS_Common.APIEnum;
@@ -129,7 +130,46 @@
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        /// <summary>
        /// ä»»åŠ¡é‡æ–°ä¸‹å‘
        /// </summary>
        /// <param name="taskNum"></param>
        /// <returns></returns>
        public WebResponseContent ResendTask(int taskNum)
        {
            try
            {
                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                if (task != null)
                {
                    if (task.TaskState == (int)TaskStatusEnum.SC_Executing)
                    {
                        task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt();
                    }
                    else if(task.TaskState == (int)TaskStatusEnum.AGV_Executing)
                    {
                        task.TaskState = TaskStatusEnum.AGV_Execute.ObjToInt();
                    }
                    else
                    {
                        return WebResponseContent.Instance.Error($"此任务 { taskNum } æš‚时不能重新下发任务");
                    }
                    BaseDal.UpdateData(task);
                }
                else
                {
                    return WebResponseContent.Instance.Error($"未找到任务消息");
                }
                return WebResponseContent.Instance.OK("任务重新下发成功");
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        /// <summary>
        /// æŽ¥æ”¶WMS任务信息
        /// </summary>