huliguo
11 小时以前 2494e3538d2ca2003f250b3f75283a9444442068
guns-admin/src/main/java/com/stylefeng/guns/modular/api/PatrolTaskController.java
@@ -26,7 +26,11 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @author zhibing.pu
@@ -45,9 +49,9 @@
   
   
   
   @GetMapping("/api/patrolTask/getTaskDetailList")
   @PostMapping("/api/patrolTask/getTaskDetailList")
   @ApiOperation(value = "获取任务列表数据", tags = {"任务管理"})
   public PageInfoBT<TaskDetailList> getTaskDetailList(TaskDetailListVo vo){
   public PageInfoBT<TaskDetailList> getTaskDetailList(@RequestBody TaskDetailListVo vo){
      Page<TaskDetailList> pageInfo = new Page(vo.getLimit(), vo.getOffset());
      List<TaskDetailList> taskDetailList = taskDetailService.getTaskDetailList(pageInfo, vo);
      pageInfo.setRecords(taskDetailList);
@@ -156,9 +160,9 @@
   
   
   
   @GetMapping("/api/patrolTask/getTaskRecordList")
   @PostMapping("/api/patrolTask/getTaskRecordList")
   @ApiOperation(value = "获取任务记录列表", tags = {"任务记录"})
   public PageInfoBT<TaskRecordList> getTaskRecordList(TaskRecordListVo vo){
   public PageInfoBT<TaskRecordList> getTaskRecordList(@RequestBody TaskRecordListVo vo){
      Page<TaskRecordList> pageInfo = new Page(vo.getLimit(), vo.getOffset());
      List<TaskRecordList> taskRecordList = taskDetailService.getTaskRecordList(pageInfo, vo);
      pageInfo.setRecords(taskRecordList);
@@ -218,17 +222,41 @@
   @ApiOperation(value = "下载任务记录数据", tags = {"任务记录"})
   @ApiImplicitParams({
         @ApiImplicitParam(value = "列表数据id,多个逗号分隔", name = "ids", dataType = "String"),
         @ApiImplicitParam(value = "状态(1=待执行,2=进行中,3=成功,4=失败)", name = "status", dataType = "int"),
         @ApiImplicitParam(value = "状态(1=待执行,2=进行中,3=成功,4=失败)", name = "status", dataType = "String"),
         @ApiImplicitParam(value = "规则编号", name = "code", dataType = "String"),
         @ApiImplicitParam(value = "任务类型", name = "type", dataType = "int"),
         @ApiImplicitParam(value = "任务名称", name = "name", dataType = "String"),
         @ApiImplicitParam(value = "系统审核状态(1=未执行,2=正常,3=异常)", name = "sysStatus", dataType = "int"),
         @ApiImplicitParam(value = "执行时间范围(开始时间)", name = "startTime", dataType = "String"),
         @ApiImplicitParam(value = "执行时间范围(结束时间)", name = "endTime", dataType = "String"),
   })
   public void downloadTaskRecord(String ids, String code, Integer status,Integer sysStatus, HttpServletResponse response){
   public void downloadTaskRecord(String ids, String code, String status,Integer type, String name, Integer sysStatus,String startTime ,String endTime,HttpServletResponse response){
      List<String> id = null;
      if(ToolUtil.isNotEmpty(ids)){
         String[] split = ids.split(",");
         id = Arrays.asList(split);
      }
      taskDetailService.downloadTaskRecord(id, code, status,sysStatus, response);
      List<Integer> statusList=null;
      if(ToolUtil.isNotEmpty(status)){
         String[] split = status.split(",");
         statusList = Arrays.stream(split)
               .map(Integer::parseInt)
               .collect(Collectors.toList());
      }
      LocalDateTime startTime2 = null;
      LocalDateTime endTime2 = null;
      // 定义匹配前端时间格式的解析器(处理带毫秒和Z的情况)
      DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
      try {
         // 解析为LocalDateTime(Z代表UTC时区,这里直接按字符串处理)
         startTime2 = LocalDateTime.parse(startTime, formatter);
         endTime2 = LocalDateTime.parse(endTime, formatter);
      } catch (DateTimeParseException e) {
         System.err.println("时间格式错误 " );
      }
      taskDetailService.downloadTaskRecord(id, code, statusList,sysStatus,type,name,startTime2,endTime2,response);
   }