wlzboy
2025-12-25 77b8624957ea9afafc81af72e52212c15b5f091e
ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskController.java
@@ -4,6 +4,8 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.system.domain.SysTaskEmergency;
import com.ruoyi.system.service.*;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -47,6 +49,9 @@
    
    @Autowired
    private ISysTaskService sysTaskService;
    @Autowired
    private ISysTaskEmergencyService sysTaskEmergencyService;
    
    @Autowired
    private IVehicleInfoService vehicleInfoService;
@@ -70,7 +75,18 @@
    @GetMapping("/admin/list")
    public TableDataInfo adminList(TaskQueryVO queryVO) {
        startPage();
        List<SysTask> list = sysTaskService.selectSysTaskList(queryVO);
        // Handle multi-field task code search
        String searchTaskCode = queryVO.getTaskCode();
        List<SysTask> list;
        if(searchTaskCode != null && !searchTaskCode.trim().isEmpty()){
            // Search across task_code, emergency_info.dispatch_code, and emergency_info.service_code
            list = sysTaskService.selectSysTaskListByMultiCode(queryVO, searchTaskCode);
        } else {
            queryVO.setTaskCode(null);
            list = sysTaskService.selectSysTaskList(queryVO);
        }
        return getDataTable(list);
    }
@@ -167,6 +183,8 @@
        return toAjax(sysTaskService.insertSysTask(createVO));
    }
    /**
     * 新增任务(APP端)
     */
@@ -257,6 +275,11 @@
        TaskStatus newStatus = TaskStatus.getByCode(request.getTaskStatus());
        if (newStatus == null) {
            return error("无效的任务状态");
        }
        // 如果是取消状态,保存取消原因
        if (newStatus == TaskStatus.CANCELLED && StringUtils.isNotEmpty(request.getCancelReason())) {
            sysTaskService.saveCancelInfo(taskId, request.getCancelReason());
        }
        
        // 如果包含GPS位置信息,使用带位置的方法
@@ -412,6 +435,9 @@
        private Double altitude;
        private Double speed;
        private Double heading;
        // 取消相关字段
        private String cancelReason;  // 取消原因(关联数据字典task_cancel_reason)
        public String getTaskStatus() {
            return taskStatus;
@@ -508,5 +534,13 @@
        public void setHeading(Double heading) {
            this.heading = heading;
        }
        public String getCancelReason() {
            return cancelReason;
        }
        public void setCancelReason(String cancelReason) {
            this.cancelReason = cancelReason;
        }
    }
}