From a4bfa94e3d97406c410e6975d9ab1b625ed05fe1 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期三, 28 五月 2025 18:00:22 +0800 Subject: [PATCH] 新增任务管理、任务记录等搜索字段,可重复审核,添加导出任务记录字段 --- guns-admin/src/main/java/com/stylefeng/guns/modular/api/PatrolTaskController.java | 126 +++++++++++++++++++++++++++++++---------- 1 files changed, 94 insertions(+), 32 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 679b317..4a780a5 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,9 +16,11 @@ 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; @@ -29,8 +32,9 @@ * @author zhibing.pu * @Date 2024/12/17 20:18 */ +@Slf4j @RestController -@RequestMapping("/base/patrolTask") +@RequestMapping("") public class PatrolTaskController extends BaseController { @Resource @@ -41,27 +45,31 @@ - @GetMapping("/getTaskDetailList") + @GetMapping("/api/patrolTask/getTaskDetailList") @ApiOperation(value = "获取任务列表数据", tags = {"任务管理"}) public PageInfoBT<TaskDetailList> getTaskDetailList(TaskDetailListVo vo){ - Page<TaskDetailList> pageInfo = new Page(vo.getOffset(), vo.getPageSize()); + Page<TaskDetailList> pageInfo = new Page(vo.getLimit(), vo.getOffset()); List<TaskDetailList> taskDetailList = taskDetailService.getTaskDetailList(pageInfo, vo); pageInfo.setRecords(taskDetailList); - return super.packForBT(pageInfo); + PageInfoBT<TaskDetailList> taskDetailListPageInfoBT = super.packForBT(pageInfo); + taskDetailListPageInfoBT.setSize(vo.getOffset()); + taskDetailListPageInfoBT.setCurrent(vo.getLimit()); + return taskDetailListPageInfoBT; } - @DeleteMapping("/delTaskDetail") + @DeleteMapping("/api/patrolTask/delTaskDetail") @ApiOperation(value = "删除任务", tags = {"任务管理"}) - public ResultUtil delTaskDetail(List<Integer> ids){ - taskDetailService.delTaskDetail(ids); + public ResultUtil delTaskDetail(String ids){ + List<String> id = Arrays.asList(ids.split(",")); + taskDetailService.delTaskDetail(id); return ResultUtil.success(); } - @PostMapping("/addPatrolTask") + @PostMapping("/api/patrolTask/addPatrolTask") @ApiOperation(value = "添加巡查任务", tags = {"任务管理"}) public ResultUtil addPatrolTask(@RequestBody PatrolTaskVo vo, HttpServletRequest request){ String token = request.getHeader(JwtConstants.AUTH_HEADER); @@ -73,7 +81,7 @@ return ResultUtil.success(); } - @GetMapping("/getImageModel") + @GetMapping("/api/patrolTask/getImageModel") @ApiOperation(value = "获取图片模型", tags = {"任务管理"}) public ResultUtil<List<Map<String, Object>>> getImageModel(){ ImageModelEnum[] values = ImageModelEnum.values(); @@ -91,7 +99,7 @@ - @GetMapping("/getVideoChannel") + @GetMapping("/api/patrolTask/getVideoChannel") @ApiOperation(value = "获取视频通道", tags = {"任务管理"}) public ResultUtil<List<Map<String, Object>>> getVideoChannel(){ VideoChannelEnum[] values = VideoChannelEnum.values(); @@ -108,83 +116,137 @@ } - @GetMapping("/getVehicleList") + @GetMapping("/api/patrolTask/getVehicleList") @ApiOperation(value = "获取车辆列表", tags = {"任务管理"}) - public ResultUtil<List<Vehicle>> getVehicleList(){ + public ResultUtil<List<Vehicle>> getVehicleList(Integer year){ List<Vehicle> vehicleList = VideoGateway.getVehicleList(null, null, null, 0); - return ResultUtil.success(vehicleList); + List<Vehicle> list = new ArrayList<>(); + if(null != year){ + for (Vehicle vehicle : vehicleList) { + String vehicleGpsProtocol = vehicle.getVehicleGpsProtocol(); + if(2023 == year && null != vehicleGpsProtocol && vehicleGpsProtocol.equals("2")){ + list.add(vehicle); + } + } + }else{ + list = vehicleList; + } + return ResultUtil.success(list); } - @GetMapping("/getShipList") + @GetMapping("/api/patrolTask/getShipList") @ApiOperation(value = "获取船舶列表", tags = {"任务管理"}) - public ResultUtil<List<Ship>> getShipList(){ + public ResultUtil<List<Ship>> getShipList(Integer year){ List<Ship> shipList = VideoGateway.getShipList(null, null, null, 0); - return ResultUtil.success(shipList); + List<Ship> list = new ArrayList<>(); + if(null != year){ + for (Ship ship : shipList) { + String vehicleGpsProtocol = ship.getVehicleGpsProtocol(); + if(2023 == year && null != vehicleGpsProtocol && vehicleGpsProtocol.equals("2")){ + list.add(ship); + } + } + }else{ + list = shipList; + } + return ResultUtil.success(list); } - @GetMapping("/getTaskRecordList") + @GetMapping("/api/patrolTask/getTaskRecordList") @ApiOperation(value = "获取任务记录列表", tags = {"任务记录"}) public PageInfoBT<TaskRecordList> getTaskRecordList(TaskRecordListVo vo){ - Page<TaskRecordList> pageInfo = new Page(vo.getOffset(), vo.getPageSize()); + Page<TaskRecordList> pageInfo = new Page(vo.getLimit(), vo.getOffset()); List<TaskRecordList> taskRecordList = taskDetailService.getTaskRecordList(pageInfo, vo); pageInfo.setRecords(taskRecordList); - return super.packForBT(pageInfo); + PageInfoBT<TaskRecordList> taskRecordListPageInfoBT = super.packForBT(pageInfo); + taskRecordListPageInfoBT.setSize(vo.getOffset()); + taskRecordListPageInfoBT.setCurrent(vo.getLimit()); + return taskRecordListPageInfoBT; } - @GetMapping("/getTaskRecordInfo") + @GetMapping("/api/patrolTask/getTaskRecordInfo") @ApiOperation(value = "获取任务记录详情", tags = {"任务记录"}) public ResultUtil<TaskRecordInfo> getTaskRecordInfo(Integer id){ TaskRecordInfo taskRecordInfo = taskDetailService.getTaskRecordInfo(id); return ResultUtil.success(taskRecordInfo); } - @GetMapping("/getPictureDetailsVehicle") + @PostMapping("/api/patrolTask/getPictureDetailsVehicle") @ApiOperation(value = "获取任务记录详情中的车船数据", tags = {"任务记录"}) - public ResultUtil<PictureDetailsVehicle> getPictureDetailsVehicle(PictureDetailsVo vo){ + public ResultUtil<PictureDetailsVehicle> getPictureDetailsVehicle(@RequestBody PictureDetailsVo vo){ PictureDetailsVehicle pictureDetailsVehicle = taskDetailService.getPictureDetailsVehicle(vo); return ResultUtil.success(pictureDetailsVehicle); } - @GetMapping("/getPictureDetails") + @PostMapping("/api/patrolTask/getPictureDetails") @ApiOperation(value = "获取任务记录详情中的视频通道数据", tags = {"任务记录"}) - public PageInfoBT<PictureDetails> getPictureDetails(PictureDetailsVo vo){ - Page<PictureDetails> pageInfo = new Page(vo.getOffset(), vo.getPageSize()); + public PageInfoBT<PictureDetails> getPictureDetails(@RequestBody PictureDetailsVo vo){ + Page<PictureDetails> pageInfo = new Page(vo.getLimit(), vo.getOffset()); List<PictureDetails> pictureDetails = taskDetailService.getPictureDetails(pageInfo, vo); pageInfo.setRecords(pictureDetails); - return super.packForBT(pageInfo); + PageInfoBT<PictureDetails> pictureDetailsPageInfoBT = super.packForBT(pageInfo); + pictureDetailsPageInfoBT.setSize(vo.getOffset()); + pictureDetailsPageInfoBT.setCurrent(vo.getLimit()); + return pictureDetailsPageInfoBT; } - @PostMapping("/manualAudit") + @PostMapping("/api/patrolTask/manualAudit") @ApiOperation(value = "人工审核视频通道数据", tags = {"任务记录"}) - public ResultUtil manualAudit(@RequestBody ManualAuditVo vo){ - return taskDetailService.manualAudit(vo); + public ResultUtil manualAudit(@RequestBody ManualAuditVo vo, HttpServletRequest request){ + String token = request.getHeader(JwtConstants.AUTH_HEADER); + if (token != null && token.startsWith("Bearer ")) { + token = token.substring(token.indexOf(" ") + 1); + } + String userId = JwtTokenUtil.getPrivateClaimFromToken(token, "userId"); + return taskDetailService.manualAudit(vo, userId); } + - @GetMapping("/downloadTaskRecord") + @GetMapping("/api/patrolTask/downloadTaskRecord") @ApiOperation(value = "下载任务记录数据", tags = {"任务记录"}) @ApiImplicitParams({ @ApiImplicitParam(value = "列表数据id,多个逗号分隔", name = "ids", dataType = "String"), @ApiImplicitParam(value = "状态(1=待执行,2=进行中,3=成功,4=失败)", name = "status", dataType = "int"), @ApiImplicitParam(value = "规则编号", name = "code", dataType = "String"), + @ApiImplicitParam(value = "系统审核状态(1=未执行,2=正常,3=异常)", name = "sysStatus", dataType = "int"), }) - public void downloadTaskRecord(String ids, String code, Integer status, HttpServletResponse response){ + public void downloadTaskRecord(String ids, String code, Integer status,Integer sysStatus, HttpServletResponse response){ List<String> id = null; if(ToolUtil.isNotEmpty(ids)){ String[] split = ids.split(","); id = Arrays.asList(split); } - taskDetailService.downloadTaskRecord(id, code, status, response); + taskDetailService.downloadTaskRecord(id, code, status,sysStatus, response); + } + + + @PostMapping("/base/patrolTask/vehicleSpeed") + @ApiOperation(value = "变更车辆状态", tags = {"互联互通接口"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "车牌号", name = "vehicleNum", dataType = "String", required = true), + @ApiImplicitParam(value = "状态(1=行驶中,2=已停止)", name = "vehicleStatus", dataType = "int", required = true), + @ApiImplicitParam(value = "车辆类型(1=车,2=船)", name = "vehicleType", dataType = "int", required = true), + @ApiImplicitParam(value = "通信号", name = "communicationNum", dataType = "String", required = true), + @ApiImplicitParam(value = "gps协议", name = "vehicleGpsProtocol", dataType = "String", required = true), + @ApiImplicitParam(value = "纬度", name = "latitude", dataType = "double", required = true), + @ApiImplicitParam(value = "经度", name = "longitude", dataType = "double", required = true), + }) + 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