From 2494e3538d2ca2003f250b3f75283a9444442068 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期一, 18 八月 2025 14:28:35 +0800 Subject: [PATCH] 增加导出条件 --- guns-admin/src/main/java/com/stylefeng/guns/modular/api/PatrolTaskController.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 46 insertions(+), 10 deletions(-) diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PatrolTaskController.java b/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PatrolTaskController.java index cc99c2d..f36d398 100644 --- a/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PatrolTaskController.java +++ b/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PatrolTaskController.java @@ -1,5 +1,6 @@ package com.stylefeng.guns.modular.api; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.common.constant.JwtConstants; @@ -15,20 +16,27 @@ import com.stylefeng.guns.modular.system.util.videoGateway.VideoGateway; import com.stylefeng.guns.modular.system.util.videoGateway.model.Ship; import com.stylefeng.guns.modular.system.util.videoGateway.model.Vehicle; +import com.stylefeng.guns.modular.system.warpper.VehicleSpeed; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; 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 * @Date 2024/12/17 20:18 */ +@Slf4j @RestController @RequestMapping("") public class PatrolTaskController extends BaseController { @@ -41,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); @@ -152,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); @@ -206,6 +214,7 @@ String userId = JwtTokenUtil.getPrivateClaimFromToken(token, "userId"); return taskDetailService.manualAudit(vo, userId); } + @@ -213,20 +222,45 @@ @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, 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, 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); } - @PutMapping("/base/patrolTask/vehicleSpeed") + @PostMapping("/base/patrolTask/vehicleSpeed") @ApiOperation(value = "变更车辆状态", tags = {"互联互通接口"}) @ApiImplicitParams({ @ApiImplicitParam(value = "车牌号", name = "vehicleNum", dataType = "String", required = true), @@ -237,8 +271,10 @@ @ApiImplicitParam(value = "纬度", name = "latitude", dataType = "double", required = true), @ApiImplicitParam(value = "经度", name = "longitude", dataType = "double", required = true), }) - public ResultUtil vehicleSpeed(String vehicleNum, Integer vehicleStatus, Integer vehicleType, String communicationNum, String vehicleGpsProtocol, Double latitude, Double longitude){ - patrolTaskService.vehicleSpeed(vehicleNum, vehicleStatus, vehicleType, communicationNum, vehicleGpsProtocol, latitude, longitude); + public ResultUtil vehicleSpeed(@RequestBody VehicleSpeed vehicleSpeed){ + log.info("推送车辆状态:{}", JSON.toJSONString(vehicleSpeed)); + patrolTaskService.vehicleSpeed(vehicleSpeed.getVehicleNum(), vehicleSpeed.getVehicleStatus(), vehicleSpeed.getVehicleType(), + vehicleSpeed.getCommunicationNum(), vehicleSpeed.getVehicleGpsProtocol(), vehicleSpeed.getLatitude(), vehicleSpeed.getLongitude()); return ResultUtil.success(); } } -- Gitblit v1.7.1