wangxinhui
昨天 695571c6009ecbc12e7d4a4fb147df7967a1260e
Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn
已修改4个文件
202 ■■■■■ 文件已修改
代码管理/WCS/WIDESEAWCS_Client/config/buttons.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/ZH_AGVController.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Client/config/buttons.js
@@ -136,7 +136,34 @@
    onClick: function () {
        this.export();
    }
}
},
{
    name: "阻焊AGV出库任务重发",
    icon: '',
    class: '',
    type: 'warning',
    value: 'AgvZHTaskResend',
    onClick: function () {
    }
},
{
    name: "堆垛机任务重发",
    icon: '',
    class: '',
    type: 'warning',
    value: 'StackerCraneTaskResending',
    onClick: function () {
    }
},
{
    name: "堆垛机任务优先执行",
    icon: '',
    class: '',
    type: 'warning',
    value: 'StackerCraneTaskPriority',
    onClick: function () {
    }
},
]
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js
@@ -42,7 +42,86 @@
                    this.$refs.gridBody.open(row);
                }
            },);
            let AgvZHTaskResendBtn = this.buttons.find(x => x.value == 'AgvZHTaskResend');
            if (AgvZHTaskResendBtn) {
                AgvZHTaskResendBtn.onClick = function () {
                this.$confirm("是否确认重发阻焊AGV出库任务","手动任务重发警告",{
                    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/ZH_AGV/AgvZHTaskResend?taskNum="+param, "数据处理中...")
                        .then((x) => {
                            if (x.status) {
                            this.$Message.success('手动任务重发成功');
                            this.refresh();
                        } else {
                            return this.$error(x.message);
                        }
                        });
                    });
                }
            }
            
            let StackerCraneTaskResendingBtn = this.buttons.find(x => x.value == 'StackerCraneTaskResending');
            if (StackerCraneTaskResendingBtn) {
                StackerCraneTaskResendingBtn.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/StackerCraneTaskResending?taskNum="+param, "数据处理中...")
                        .then((x) => {
                            if (x.status) {
                            this.$Message.success('手动任务重发成功');
                            this.refresh();
                        } else {
                            return this.$error(x.message);
                        }
                        });
                    });
                }
            }
            let StackerCraneTaskPriorityBtn = this.buttons.find(x => x.value == 'StackerCraneTaskPriority');
            if (StackerCraneTaskPriorityBtn) {
                StackerCraneTaskPriorityBtn.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/StackerCraneTaskPriority?taskNum="+param, "数据处理中...")
                        .then((x) => {
                            if (x.status) {
                            this.$Message.success('手动优先任务成功');
                            this.refresh();
                        } else {
                            return this.$error(x.message);
                        }
                        });
                    });
                }
            }
        },
        onInited() {
            //框架初始化配置后
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/ZH_AGVController.cs
@@ -334,5 +334,32 @@
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        //阻焊仓出库任务空储位异常手动重发AGV任务
        [HttpPost, HttpGet,Route("AgvZHTaskResend"),AllowAnonymous]
        public WebResponseContent AgvZHTaskResend(int taskNum)
        {
            try
            {
                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null)
                {
                    return WebResponseContent.Instance.Error("未找到相关任务信息");
                }
                if (task.TaskState == TaskStatusEnum.Exception.ObjToInt() && task.DeviceCode == "AGV_ZH")
                {
                    _taskService.UpdateTask(task, TaskStatusEnum.AGV_Execute);
                }
                else
                {
                    return WebResponseContent.Instance.Error("任务设备编号不正确或任务状态非空储位异常");
                }
                return WebResponseContent.Instance.OK();
            }
            catch(Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs
@@ -2,11 +2,16 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using SqlSugar.Extensions;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseController;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_TaskInfoRepository;
using WIDESEAWCS_TaskInfoService;
using WIDESEAWCS_Tasks;
namespace WIDESEAWCS_WCSServer.Controllers.Task
@@ -18,11 +23,14 @@
        private readonly IHttpContextAccessor _httpContextAccessor;
        private readonly IRouterExtension _routerExtension;
        //private readonly WebSocketServer _webSocketServer;
        public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor, IRouterExtension routerExtension/*, WebSocketServer webSocketServer*/) : base(service)
        private readonly ITaskService _taskService;
        private readonly ITaskRepository _taskRepository;
        public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor, IRouterExtension routerExtension ,ITaskService taskService,ITaskRepository taskRepository /*, WebSocketServer webSocketServer*/) : base(service)
        {
            _httpContextAccessor = httpContextAccessor;
            _routerExtension = routerExtension;
            _taskService = taskService;
            _taskRepository = taskRepository;
            //_webSocketServer = webSocketServer;
        }
@@ -101,5 +109,60 @@
        {
            return Service.RecWMSTaskCompleted(taskNum);
        }
        //堆垛机任务重发
        [HttpPost, HttpGet, Route("StackerCraneTaskResending"), AllowAnonymous]
        public WebResponseContent StackerCraneTaskResending(int taskNum)
        {
            try
            {
                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null)
                {
                    return WebResponseContent.Instance.Error("未找到该任务信息");
                }
                if(task.TaskState == TaskStatusEnum.SC_Executing.ObjToInt())
                {
                    _taskService.UpdateTask(task, TaskStatusEnum.SC_Execute);
                }
                else
                {
                    return WebResponseContent.Instance.Error("非堆垛机执行中状态");
                }
                return WebResponseContent.Instance.OK();
            }
            catch(Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        //堆垛机任务优先执行
        [HttpPost, HttpGet, Route("StackerCraneTaskPriority"), AllowAnonymous]
        public WebResponseContent StackerCraneTaskPriority(int taskNum)
        {
            try
            {
                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null)
                {
                    return WebResponseContent.Instance.Error("未找到该任务信息");
                }
                if (task.TaskState == TaskStatusEnum.SC_Execute.ObjToInt())
                {
                    task.Grade = 98;
                }
                else
                {
                    return WebResponseContent.Instance.Error("非堆垛机待执行状态");
                }
                _taskRepository.UpdateData(task);
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
    }
}