page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List ids);
+
@Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task")
Long selectMaxCode();
}
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index f373547..d461e7b 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -71,6 +71,12 @@
5.8.12
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
index b3b43b4..5876c56 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
@@ -7,6 +7,7 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.dto.RecognitionRequest;
import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.AlarmRecord;
@@ -20,6 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +49,8 @@
private IAnalysisRecognitionService iAnalysisRecognitionService;
@Resource
private IAlarmRecordService iAlarmRecordService;
+ @Value("${casic.file.uploadPath}")
+ private String uploadPath;
@ApiOperation("算法接口")
@PostMapping("/getrecognitionRecords")
@@ -60,14 +64,14 @@
public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) {
String path = "";
try {
- path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\");
+ path = FileUtil.saveFile(multipartFile, uploadPath);
} catch (IOException e) {
e.printStackTrace();
}
return ReturnUtil.success(path);
}
- @ApiOperation("新建报警")
+ @ApiOperation("新建报警,返回报警编号")
@PostMapping("/add")
public Object add(@RequestBody AlarmRecord alarmRecord) {
return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord));
@@ -83,5 +87,14 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request)));
}
+
+ @ApiOperation("报警处置")
+ @PostMapping("/processAlarm")
+ public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(iAlarmRecordService.processAlarm(request));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
new file mode 100644
index 0000000..32d8a36
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.system.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页 前端控制器
+ *
+ *
+ * @author zt
+ * @since 2023-07-20
+ */
+@RestController
+@RequestMapping("/system/busOverView")
+public class BusOverViewController {
+
+}
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
index 39d0eb5..dce5046 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.service.IBusPatrolCarService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -32,7 +33,7 @@
@ApiOperation("新建巡检车辆")
@PostMapping("/add")
- public Object add(@RequestBody BusPatrolCar busPatrolCar) {
+ public ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) {
return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar));
@@ -40,7 +41,7 @@
@ApiOperation("车辆列表")
@PostMapping("/listPage")
- public Object listPage() {
+ public ReturnDTO listPage() {
QueryWrapper queryWrapper = new QueryWrapper<>();
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper)));
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
index e06f0dc..bec7887 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
@@ -1,17 +1,17 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
-import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
+import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import com.casic.missiles.modular.system.enums.BusinessExceptionEnum;
import com.casic.missiles.modular.system.exception.BusinessException;
import com.casic.missiles.modular.system.service.IBusPatrolTaskService;
+import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,7 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.Date;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Objects;
/**
@@ -33,9 +34,11 @@
@Api(tags = "巡检任务模块")
@RestController
@RequestMapping("/system/busPatrolTask")
-public class BusPatrolTaskController extends ExportController {
+public class BusPatrolTaskController extends ExportController {
@Resource
private IBusPatrolTaskService iBusPatrolTaskService;
+ @Resource
+ private IBusPatrolTrackService iBusPatrolTrackService;
@ApiOperation("新建巡检任务")
@PostMapping("/add")
@@ -61,5 +64,34 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request)));
}
+
+ @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数")
+ @PostMapping("/getDistance")
+ public ReturnDTO getDistance(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId()));
+ }
+
+ /**
+ * 批量巡检任务记录
+ */
+ @ApiOperation("批量导出巡检任务记录")
+ @RequestMapping(value = "/taskExport")
+ @ResponseBody
+ public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) {
+ List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds());
+ iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response);
+ }
+
+ @ApiOperation("任务详情,即该任务对应的轨迹")
+ @PostMapping("/detail")
+ public ReturnDTO detail(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId()));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
index d068947..5454a36 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
@@ -1,9 +1,12 @@
package com.casic.missiles.modular.system.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
+import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.entity.BusPatrolTrack;
import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -45,7 +48,5 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List ids);
+
@Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task")
Long selectMaxCode();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
index 97688d8..3ab4f78 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
@@ -43,6 +43,7 @@
ar.CANCEL_TIME as cancelTime,
ar.CANCEL_USER as cancelUser,
ar.CANCEL_RESULT as cancelResult,
+ ar.CANCEL_REASON as cancelReason,
ar.TS
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index f373547..d461e7b 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -71,6 +71,12 @@
5.8.12
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
index b3b43b4..5876c56 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
@@ -7,6 +7,7 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.dto.RecognitionRequest;
import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.AlarmRecord;
@@ -20,6 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +49,8 @@
private IAnalysisRecognitionService iAnalysisRecognitionService;
@Resource
private IAlarmRecordService iAlarmRecordService;
+ @Value("${casic.file.uploadPath}")
+ private String uploadPath;
@ApiOperation("算法接口")
@PostMapping("/getrecognitionRecords")
@@ -60,14 +64,14 @@
public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) {
String path = "";
try {
- path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\");
+ path = FileUtil.saveFile(multipartFile, uploadPath);
} catch (IOException e) {
e.printStackTrace();
}
return ReturnUtil.success(path);
}
- @ApiOperation("新建报警")
+ @ApiOperation("新建报警,返回报警编号")
@PostMapping("/add")
public Object add(@RequestBody AlarmRecord alarmRecord) {
return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord));
@@ -83,5 +87,14 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request)));
}
+
+ @ApiOperation("报警处置")
+ @PostMapping("/processAlarm")
+ public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(iAlarmRecordService.processAlarm(request));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
new file mode 100644
index 0000000..32d8a36
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.system.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页 前端控制器
+ *
+ *
+ * @author zt
+ * @since 2023-07-20
+ */
+@RestController
+@RequestMapping("/system/busOverView")
+public class BusOverViewController {
+
+}
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
index 39d0eb5..dce5046 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.service.IBusPatrolCarService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -32,7 +33,7 @@
@ApiOperation("新建巡检车辆")
@PostMapping("/add")
- public Object add(@RequestBody BusPatrolCar busPatrolCar) {
+ public ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) {
return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar));
@@ -40,7 +41,7 @@
@ApiOperation("车辆列表")
@PostMapping("/listPage")
- public Object listPage() {
+ public ReturnDTO listPage() {
QueryWrapper queryWrapper = new QueryWrapper<>();
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper)));
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
index e06f0dc..bec7887 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
@@ -1,17 +1,17 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
-import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
+import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import com.casic.missiles.modular.system.enums.BusinessExceptionEnum;
import com.casic.missiles.modular.system.exception.BusinessException;
import com.casic.missiles.modular.system.service.IBusPatrolTaskService;
+import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,7 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.Date;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Objects;
/**
@@ -33,9 +34,11 @@
@Api(tags = "巡检任务模块")
@RestController
@RequestMapping("/system/busPatrolTask")
-public class BusPatrolTaskController extends ExportController {
+public class BusPatrolTaskController extends ExportController {
@Resource
private IBusPatrolTaskService iBusPatrolTaskService;
+ @Resource
+ private IBusPatrolTrackService iBusPatrolTrackService;
@ApiOperation("新建巡检任务")
@PostMapping("/add")
@@ -61,5 +64,34 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request)));
}
+
+ @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数")
+ @PostMapping("/getDistance")
+ public ReturnDTO getDistance(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId()));
+ }
+
+ /**
+ * 批量巡检任务记录
+ */
+ @ApiOperation("批量导出巡检任务记录")
+ @RequestMapping(value = "/taskExport")
+ @ResponseBody
+ public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) {
+ List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds());
+ iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response);
+ }
+
+ @ApiOperation("任务详情,即该任务对应的轨迹")
+ @PostMapping("/detail")
+ public ReturnDTO detail(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId()));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
index d068947..5454a36 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
@@ -1,9 +1,12 @@
package com.casic.missiles.modular.system.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
+import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.entity.BusPatrolTrack;
import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -45,7 +48,5 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List ids);
+
@Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task")
Long selectMaxCode();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
index 97688d8..3ab4f78 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
@@ -43,6 +43,7 @@
ar.CANCEL_TIME as cancelTime,
ar.CANCEL_USER as cancelUser,
ar.CANCEL_RESULT as cancelResult,
+ ar.CANCEL_REASON as cancelReason,
ar.TS
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
index 2d503c9..32d843a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
@@ -4,45 +4,83 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS
+ bt.*
+
+
+
+
+
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index f373547..d461e7b 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -71,6 +71,12 @@
5.8.12
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
index b3b43b4..5876c56 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
@@ -7,6 +7,7 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.dto.RecognitionRequest;
import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.AlarmRecord;
@@ -20,6 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +49,8 @@
private IAnalysisRecognitionService iAnalysisRecognitionService;
@Resource
private IAlarmRecordService iAlarmRecordService;
+ @Value("${casic.file.uploadPath}")
+ private String uploadPath;
@ApiOperation("算法接口")
@PostMapping("/getrecognitionRecords")
@@ -60,14 +64,14 @@
public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) {
String path = "";
try {
- path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\");
+ path = FileUtil.saveFile(multipartFile, uploadPath);
} catch (IOException e) {
e.printStackTrace();
}
return ReturnUtil.success(path);
}
- @ApiOperation("新建报警")
+ @ApiOperation("新建报警,返回报警编号")
@PostMapping("/add")
public Object add(@RequestBody AlarmRecord alarmRecord) {
return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord));
@@ -83,5 +87,14 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request)));
}
+
+ @ApiOperation("报警处置")
+ @PostMapping("/processAlarm")
+ public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(iAlarmRecordService.processAlarm(request));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
new file mode 100644
index 0000000..32d8a36
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.system.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页 前端控制器
+ *
+ *
+ * @author zt
+ * @since 2023-07-20
+ */
+@RestController
+@RequestMapping("/system/busOverView")
+public class BusOverViewController {
+
+}
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
index 39d0eb5..dce5046 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.service.IBusPatrolCarService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -32,7 +33,7 @@
@ApiOperation("新建巡检车辆")
@PostMapping("/add")
- public Object add(@RequestBody BusPatrolCar busPatrolCar) {
+ public ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) {
return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar));
@@ -40,7 +41,7 @@
@ApiOperation("车辆列表")
@PostMapping("/listPage")
- public Object listPage() {
+ public ReturnDTO listPage() {
QueryWrapper queryWrapper = new QueryWrapper<>();
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper)));
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
index e06f0dc..bec7887 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
@@ -1,17 +1,17 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
-import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
+import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import com.casic.missiles.modular.system.enums.BusinessExceptionEnum;
import com.casic.missiles.modular.system.exception.BusinessException;
import com.casic.missiles.modular.system.service.IBusPatrolTaskService;
+import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,7 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.Date;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Objects;
/**
@@ -33,9 +34,11 @@
@Api(tags = "巡检任务模块")
@RestController
@RequestMapping("/system/busPatrolTask")
-public class BusPatrolTaskController extends ExportController {
+public class BusPatrolTaskController extends ExportController {
@Resource
private IBusPatrolTaskService iBusPatrolTaskService;
+ @Resource
+ private IBusPatrolTrackService iBusPatrolTrackService;
@ApiOperation("新建巡检任务")
@PostMapping("/add")
@@ -61,5 +64,34 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request)));
}
+
+ @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数")
+ @PostMapping("/getDistance")
+ public ReturnDTO getDistance(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId()));
+ }
+
+ /**
+ * 批量巡检任务记录
+ */
+ @ApiOperation("批量导出巡检任务记录")
+ @RequestMapping(value = "/taskExport")
+ @ResponseBody
+ public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) {
+ List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds());
+ iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response);
+ }
+
+ @ApiOperation("任务详情,即该任务对应的轨迹")
+ @PostMapping("/detail")
+ public ReturnDTO detail(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId()));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
index d068947..5454a36 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
@@ -1,9 +1,12 @@
package com.casic.missiles.modular.system.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
+import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.entity.BusPatrolTrack;
import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -45,7 +48,5 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List ids);
+
@Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task")
Long selectMaxCode();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
index 97688d8..3ab4f78 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
@@ -43,6 +43,7 @@
ar.CANCEL_TIME as cancelTime,
ar.CANCEL_USER as cancelUser,
ar.CANCEL_RESULT as cancelResult,
+ ar.CANCEL_REASON as cancelReason,
ar.TS
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
index 2d503c9..32d843a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
@@ -4,45 +4,83 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS
+ bt.*
+
+
+
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
new file mode 100644
index 0000000..f16ed07
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
@@ -0,0 +1,39 @@
+package com.casic.missiles.modular.system.dto;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusPatrolTrackDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ExcelProperty(value = "巡检任务编号", order = 0)
+ private String taskCode;
+
+ @ExcelProperty(value = "巡检任务名称", order = 1)
+ private String taskName;
+
+ @ExcelProperty(value = "巡检车牌号", order = 2)
+ private String carPlate;
+
+ @ExcelProperty(value = "车载云台型号", order = 3)
+ private String modelName;
+
+ @ExcelProperty(value = "开始时间", order = 4)
+ private String beginDate;
+
+ @ExcelProperty(value = "结束时间", order = 5)
+ private String endDate;
+
+ @ExcelProperty(value = "公里数", order = 6)
+ private String km;
+
+ @ExcelProperty(value = "巡检状态", order = 7)
+ private String statusName;
+
+}
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index f373547..d461e7b 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -71,6 +71,12 @@
5.8.12
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
index b3b43b4..5876c56 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
@@ -7,6 +7,7 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.dto.RecognitionRequest;
import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.AlarmRecord;
@@ -20,6 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +49,8 @@
private IAnalysisRecognitionService iAnalysisRecognitionService;
@Resource
private IAlarmRecordService iAlarmRecordService;
+ @Value("${casic.file.uploadPath}")
+ private String uploadPath;
@ApiOperation("算法接口")
@PostMapping("/getrecognitionRecords")
@@ -60,14 +64,14 @@
public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) {
String path = "";
try {
- path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\");
+ path = FileUtil.saveFile(multipartFile, uploadPath);
} catch (IOException e) {
e.printStackTrace();
}
return ReturnUtil.success(path);
}
- @ApiOperation("新建报警")
+ @ApiOperation("新建报警,返回报警编号")
@PostMapping("/add")
public Object add(@RequestBody AlarmRecord alarmRecord) {
return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord));
@@ -83,5 +87,14 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request)));
}
+
+ @ApiOperation("报警处置")
+ @PostMapping("/processAlarm")
+ public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(iAlarmRecordService.processAlarm(request));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
new file mode 100644
index 0000000..32d8a36
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.system.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页 前端控制器
+ *
+ *
+ * @author zt
+ * @since 2023-07-20
+ */
+@RestController
+@RequestMapping("/system/busOverView")
+public class BusOverViewController {
+
+}
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
index 39d0eb5..dce5046 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.service.IBusPatrolCarService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -32,7 +33,7 @@
@ApiOperation("新建巡检车辆")
@PostMapping("/add")
- public Object add(@RequestBody BusPatrolCar busPatrolCar) {
+ public ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) {
return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar));
@@ -40,7 +41,7 @@
@ApiOperation("车辆列表")
@PostMapping("/listPage")
- public Object listPage() {
+ public ReturnDTO listPage() {
QueryWrapper queryWrapper = new QueryWrapper<>();
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper)));
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
index e06f0dc..bec7887 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
@@ -1,17 +1,17 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
-import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
+import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import com.casic.missiles.modular.system.enums.BusinessExceptionEnum;
import com.casic.missiles.modular.system.exception.BusinessException;
import com.casic.missiles.modular.system.service.IBusPatrolTaskService;
+import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,7 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.Date;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Objects;
/**
@@ -33,9 +34,11 @@
@Api(tags = "巡检任务模块")
@RestController
@RequestMapping("/system/busPatrolTask")
-public class BusPatrolTaskController extends ExportController {
+public class BusPatrolTaskController extends ExportController {
@Resource
private IBusPatrolTaskService iBusPatrolTaskService;
+ @Resource
+ private IBusPatrolTrackService iBusPatrolTrackService;
@ApiOperation("新建巡检任务")
@PostMapping("/add")
@@ -61,5 +64,34 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request)));
}
+
+ @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数")
+ @PostMapping("/getDistance")
+ public ReturnDTO getDistance(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId()));
+ }
+
+ /**
+ * 批量巡检任务记录
+ */
+ @ApiOperation("批量导出巡检任务记录")
+ @RequestMapping(value = "/taskExport")
+ @ResponseBody
+ public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) {
+ List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds());
+ iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response);
+ }
+
+ @ApiOperation("任务详情,即该任务对应的轨迹")
+ @PostMapping("/detail")
+ public ReturnDTO detail(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId()));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
index d068947..5454a36 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
@@ -1,9 +1,12 @@
package com.casic.missiles.modular.system.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
+import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.entity.BusPatrolTrack;
import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -45,7 +48,5 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List ids);
+
@Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task")
Long selectMaxCode();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
index 97688d8..3ab4f78 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
@@ -43,6 +43,7 @@
ar.CANCEL_TIME as cancelTime,
ar.CANCEL_USER as cancelUser,
ar.CANCEL_RESULT as cancelResult,
+ ar.CANCEL_REASON as cancelReason,
ar.TS
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
index 2d503c9..32d843a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
@@ -4,45 +4,83 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS
+ bt.*
+
+
+
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
new file mode 100644
index 0000000..f16ed07
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
@@ -0,0 +1,39 @@
+package com.casic.missiles.modular.system.dto;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusPatrolTrackDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ExcelProperty(value = "巡检任务编号", order = 0)
+ private String taskCode;
+
+ @ExcelProperty(value = "巡检任务名称", order = 1)
+ private String taskName;
+
+ @ExcelProperty(value = "巡检车牌号", order = 2)
+ private String carPlate;
+
+ @ExcelProperty(value = "车载云台型号", order = 3)
+ private String modelName;
+
+ @ExcelProperty(value = "开始时间", order = 4)
+ private String beginDate;
+
+ @ExcelProperty(value = "结束时间", order = 5)
+ private String endDate;
+
+ @ExcelProperty(value = "公里数", order = 6)
+ private String km;
+
+ @ExcelProperty(value = "巡检状态", order = 7)
+ private String statusName;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
new file mode 100644
index 0000000..03e2c93
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
@@ -0,0 +1,14 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+
+@Data
+public class IdDTO {
+ @NotNull(message = "主键ID不能为空")
+ @ApiModelProperty("任务id")
+ private Long id;
+}
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index f373547..d461e7b 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -71,6 +71,12 @@
5.8.12
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
index b3b43b4..5876c56 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
@@ -7,6 +7,7 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.dto.RecognitionRequest;
import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.AlarmRecord;
@@ -20,6 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +49,8 @@
private IAnalysisRecognitionService iAnalysisRecognitionService;
@Resource
private IAlarmRecordService iAlarmRecordService;
+ @Value("${casic.file.uploadPath}")
+ private String uploadPath;
@ApiOperation("算法接口")
@PostMapping("/getrecognitionRecords")
@@ -60,14 +64,14 @@
public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) {
String path = "";
try {
- path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\");
+ path = FileUtil.saveFile(multipartFile, uploadPath);
} catch (IOException e) {
e.printStackTrace();
}
return ReturnUtil.success(path);
}
- @ApiOperation("新建报警")
+ @ApiOperation("新建报警,返回报警编号")
@PostMapping("/add")
public Object add(@RequestBody AlarmRecord alarmRecord) {
return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord));
@@ -83,5 +87,14 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request)));
}
+
+ @ApiOperation("报警处置")
+ @PostMapping("/processAlarm")
+ public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(iAlarmRecordService.processAlarm(request));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
new file mode 100644
index 0000000..32d8a36
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.system.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页 前端控制器
+ *
+ *
+ * @author zt
+ * @since 2023-07-20
+ */
+@RestController
+@RequestMapping("/system/busOverView")
+public class BusOverViewController {
+
+}
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
index 39d0eb5..dce5046 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.service.IBusPatrolCarService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -32,7 +33,7 @@
@ApiOperation("新建巡检车辆")
@PostMapping("/add")
- public Object add(@RequestBody BusPatrolCar busPatrolCar) {
+ public ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) {
return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar));
@@ -40,7 +41,7 @@
@ApiOperation("车辆列表")
@PostMapping("/listPage")
- public Object listPage() {
+ public ReturnDTO listPage() {
QueryWrapper queryWrapper = new QueryWrapper<>();
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper)));
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
index e06f0dc..bec7887 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
@@ -1,17 +1,17 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
-import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
+import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import com.casic.missiles.modular.system.enums.BusinessExceptionEnum;
import com.casic.missiles.modular.system.exception.BusinessException;
import com.casic.missiles.modular.system.service.IBusPatrolTaskService;
+import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,7 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.Date;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Objects;
/**
@@ -33,9 +34,11 @@
@Api(tags = "巡检任务模块")
@RestController
@RequestMapping("/system/busPatrolTask")
-public class BusPatrolTaskController extends ExportController {
+public class BusPatrolTaskController extends ExportController {
@Resource
private IBusPatrolTaskService iBusPatrolTaskService;
+ @Resource
+ private IBusPatrolTrackService iBusPatrolTrackService;
@ApiOperation("新建巡检任务")
@PostMapping("/add")
@@ -61,5 +64,34 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request)));
}
+
+ @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数")
+ @PostMapping("/getDistance")
+ public ReturnDTO getDistance(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId()));
+ }
+
+ /**
+ * 批量巡检任务记录
+ */
+ @ApiOperation("批量导出巡检任务记录")
+ @RequestMapping(value = "/taskExport")
+ @ResponseBody
+ public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) {
+ List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds());
+ iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response);
+ }
+
+ @ApiOperation("任务详情,即该任务对应的轨迹")
+ @PostMapping("/detail")
+ public ReturnDTO detail(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId()));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
index d068947..5454a36 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
@@ -1,9 +1,12 @@
package com.casic.missiles.modular.system.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
+import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.entity.BusPatrolTrack;
import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -45,7 +48,5 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List ids);
+
@Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task")
Long selectMaxCode();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
index 97688d8..3ab4f78 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
@@ -43,6 +43,7 @@
ar.CANCEL_TIME as cancelTime,
ar.CANCEL_USER as cancelUser,
ar.CANCEL_RESULT as cancelResult,
+ ar.CANCEL_REASON as cancelReason,
ar.TS
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
index 2d503c9..32d843a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
@@ -4,45 +4,83 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS
+ bt.*
+
+
+
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
new file mode 100644
index 0000000..f16ed07
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
@@ -0,0 +1,39 @@
+package com.casic.missiles.modular.system.dto;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusPatrolTrackDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ExcelProperty(value = "巡检任务编号", order = 0)
+ private String taskCode;
+
+ @ExcelProperty(value = "巡检任务名称", order = 1)
+ private String taskName;
+
+ @ExcelProperty(value = "巡检车牌号", order = 2)
+ private String carPlate;
+
+ @ExcelProperty(value = "车载云台型号", order = 3)
+ private String modelName;
+
+ @ExcelProperty(value = "开始时间", order = 4)
+ private String beginDate;
+
+ @ExcelProperty(value = "结束时间", order = 5)
+ private String endDate;
+
+ @ExcelProperty(value = "公里数", order = 6)
+ private String km;
+
+ @ExcelProperty(value = "巡检状态", order = 7)
+ private String statusName;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
new file mode 100644
index 0000000..03e2c93
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
@@ -0,0 +1,14 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+
+@Data
+public class IdDTO {
+ @NotNull(message = "主键ID不能为空")
+ @ApiModelProperty("任务id")
+ private Long id;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
new file mode 100644
index 0000000..bdbcfb2
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
@@ -0,0 +1,17 @@
+package com.casic.missiles.modular.system.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: for batch use
+ * @Author: zt
+ * @Date: 2022/11/26 9:51
+ */
+@Data
+public class IdsDTO {
+ @NotNull
+ private List ids;
+}
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index f373547..d461e7b 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -71,6 +71,12 @@
5.8.12
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
index b3b43b4..5876c56 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
@@ -7,6 +7,7 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.dto.RecognitionRequest;
import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.AlarmRecord;
@@ -20,6 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +49,8 @@
private IAnalysisRecognitionService iAnalysisRecognitionService;
@Resource
private IAlarmRecordService iAlarmRecordService;
+ @Value("${casic.file.uploadPath}")
+ private String uploadPath;
@ApiOperation("算法接口")
@PostMapping("/getrecognitionRecords")
@@ -60,14 +64,14 @@
public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) {
String path = "";
try {
- path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\");
+ path = FileUtil.saveFile(multipartFile, uploadPath);
} catch (IOException e) {
e.printStackTrace();
}
return ReturnUtil.success(path);
}
- @ApiOperation("新建报警")
+ @ApiOperation("新建报警,返回报警编号")
@PostMapping("/add")
public Object add(@RequestBody AlarmRecord alarmRecord) {
return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord));
@@ -83,5 +87,14 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request)));
}
+
+ @ApiOperation("报警处置")
+ @PostMapping("/processAlarm")
+ public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(iAlarmRecordService.processAlarm(request));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
new file mode 100644
index 0000000..32d8a36
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.system.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页 前端控制器
+ *
+ *
+ * @author zt
+ * @since 2023-07-20
+ */
+@RestController
+@RequestMapping("/system/busOverView")
+public class BusOverViewController {
+
+}
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
index 39d0eb5..dce5046 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.service.IBusPatrolCarService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -32,7 +33,7 @@
@ApiOperation("新建巡检车辆")
@PostMapping("/add")
- public Object add(@RequestBody BusPatrolCar busPatrolCar) {
+ public ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) {
return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar));
@@ -40,7 +41,7 @@
@ApiOperation("车辆列表")
@PostMapping("/listPage")
- public Object listPage() {
+ public ReturnDTO listPage() {
QueryWrapper queryWrapper = new QueryWrapper<>();
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper)));
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
index e06f0dc..bec7887 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
@@ -1,17 +1,17 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
-import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
+import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import com.casic.missiles.modular.system.enums.BusinessExceptionEnum;
import com.casic.missiles.modular.system.exception.BusinessException;
import com.casic.missiles.modular.system.service.IBusPatrolTaskService;
+import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,7 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.Date;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Objects;
/**
@@ -33,9 +34,11 @@
@Api(tags = "巡检任务模块")
@RestController
@RequestMapping("/system/busPatrolTask")
-public class BusPatrolTaskController extends ExportController {
+public class BusPatrolTaskController extends ExportController {
@Resource
private IBusPatrolTaskService iBusPatrolTaskService;
+ @Resource
+ private IBusPatrolTrackService iBusPatrolTrackService;
@ApiOperation("新建巡检任务")
@PostMapping("/add")
@@ -61,5 +64,34 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request)));
}
+
+ @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数")
+ @PostMapping("/getDistance")
+ public ReturnDTO getDistance(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId()));
+ }
+
+ /**
+ * 批量巡检任务记录
+ */
+ @ApiOperation("批量导出巡检任务记录")
+ @RequestMapping(value = "/taskExport")
+ @ResponseBody
+ public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) {
+ List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds());
+ iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response);
+ }
+
+ @ApiOperation("任务详情,即该任务对应的轨迹")
+ @PostMapping("/detail")
+ public ReturnDTO detail(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId()));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
index d068947..5454a36 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
@@ -1,9 +1,12 @@
package com.casic.missiles.modular.system.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
+import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.entity.BusPatrolTrack;
import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -45,7 +48,5 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List ids);
+
@Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task")
Long selectMaxCode();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
index 97688d8..3ab4f78 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
@@ -43,6 +43,7 @@
ar.CANCEL_TIME as cancelTime,
ar.CANCEL_USER as cancelUser,
ar.CANCEL_RESULT as cancelResult,
+ ar.CANCEL_REASON as cancelReason,
ar.TS
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
index 2d503c9..32d843a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
@@ -4,45 +4,83 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS
+ bt.*
+
+
+
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
new file mode 100644
index 0000000..f16ed07
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
@@ -0,0 +1,39 @@
+package com.casic.missiles.modular.system.dto;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusPatrolTrackDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ExcelProperty(value = "巡检任务编号", order = 0)
+ private String taskCode;
+
+ @ExcelProperty(value = "巡检任务名称", order = 1)
+ private String taskName;
+
+ @ExcelProperty(value = "巡检车牌号", order = 2)
+ private String carPlate;
+
+ @ExcelProperty(value = "车载云台型号", order = 3)
+ private String modelName;
+
+ @ExcelProperty(value = "开始时间", order = 4)
+ private String beginDate;
+
+ @ExcelProperty(value = "结束时间", order = 5)
+ private String endDate;
+
+ @ExcelProperty(value = "公里数", order = 6)
+ private String km;
+
+ @ExcelProperty(value = "巡检状态", order = 7)
+ private String statusName;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
new file mode 100644
index 0000000..03e2c93
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
@@ -0,0 +1,14 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+
+@Data
+public class IdDTO {
+ @NotNull(message = "主键ID不能为空")
+ @ApiModelProperty("任务id")
+ private Long id;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
new file mode 100644
index 0000000..bdbcfb2
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
@@ -0,0 +1,17 @@
+package com.casic.missiles.modular.system.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: for batch use
+ * @Author: zt
+ * @Date: 2022/11/26 9:51
+ */
+@Data
+public class IdsDTO {
+ @NotNull
+ private List ids;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
index de89589..8c31073 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
@@ -9,13 +9,22 @@
@ApiModelProperty("任务名称")
private String taskName;
+ @ApiModelProperty("巡检车牌号")
+ private String carPlate;
+
@ApiModelProperty("任务编号")
private String taskCode;
+ @ApiModelProperty("车载云台型号")
+ private String modelName;
+
@ApiModelProperty("开始时间")
private String beginDate;
@ApiModelProperty("结束时间")
private String endDate;
+ @ApiModelProperty("巡检状态,1:已完成,0:进行中")
+ private String status;
+
}
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index f373547..d461e7b 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -71,6 +71,12 @@
5.8.12
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
index b3b43b4..5876c56 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
@@ -7,6 +7,7 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.dto.RecognitionRequest;
import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.AlarmRecord;
@@ -20,6 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +49,8 @@
private IAnalysisRecognitionService iAnalysisRecognitionService;
@Resource
private IAlarmRecordService iAlarmRecordService;
+ @Value("${casic.file.uploadPath}")
+ private String uploadPath;
@ApiOperation("算法接口")
@PostMapping("/getrecognitionRecords")
@@ -60,14 +64,14 @@
public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) {
String path = "";
try {
- path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\");
+ path = FileUtil.saveFile(multipartFile, uploadPath);
} catch (IOException e) {
e.printStackTrace();
}
return ReturnUtil.success(path);
}
- @ApiOperation("新建报警")
+ @ApiOperation("新建报警,返回报警编号")
@PostMapping("/add")
public Object add(@RequestBody AlarmRecord alarmRecord) {
return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord));
@@ -83,5 +87,14 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request)));
}
+
+ @ApiOperation("报警处置")
+ @PostMapping("/processAlarm")
+ public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(iAlarmRecordService.processAlarm(request));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
new file mode 100644
index 0000000..32d8a36
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.system.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页 前端控制器
+ *
+ *
+ * @author zt
+ * @since 2023-07-20
+ */
+@RestController
+@RequestMapping("/system/busOverView")
+public class BusOverViewController {
+
+}
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
index 39d0eb5..dce5046 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.service.IBusPatrolCarService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -32,7 +33,7 @@
@ApiOperation("新建巡检车辆")
@PostMapping("/add")
- public Object add(@RequestBody BusPatrolCar busPatrolCar) {
+ public ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) {
return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar));
@@ -40,7 +41,7 @@
@ApiOperation("车辆列表")
@PostMapping("/listPage")
- public Object listPage() {
+ public ReturnDTO listPage() {
QueryWrapper queryWrapper = new QueryWrapper<>();
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper)));
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
index e06f0dc..bec7887 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
@@ -1,17 +1,17 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
-import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
+import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import com.casic.missiles.modular.system.enums.BusinessExceptionEnum;
import com.casic.missiles.modular.system.exception.BusinessException;
import com.casic.missiles.modular.system.service.IBusPatrolTaskService;
+import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,7 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.Date;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Objects;
/**
@@ -33,9 +34,11 @@
@Api(tags = "巡检任务模块")
@RestController
@RequestMapping("/system/busPatrolTask")
-public class BusPatrolTaskController extends ExportController {
+public class BusPatrolTaskController extends ExportController {
@Resource
private IBusPatrolTaskService iBusPatrolTaskService;
+ @Resource
+ private IBusPatrolTrackService iBusPatrolTrackService;
@ApiOperation("新建巡检任务")
@PostMapping("/add")
@@ -61,5 +64,34 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request)));
}
+
+ @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数")
+ @PostMapping("/getDistance")
+ public ReturnDTO getDistance(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId()));
+ }
+
+ /**
+ * 批量巡检任务记录
+ */
+ @ApiOperation("批量导出巡检任务记录")
+ @RequestMapping(value = "/taskExport")
+ @ResponseBody
+ public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) {
+ List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds());
+ iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response);
+ }
+
+ @ApiOperation("任务详情,即该任务对应的轨迹")
+ @PostMapping("/detail")
+ public ReturnDTO detail(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId()));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
index d068947..5454a36 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
@@ -1,9 +1,12 @@
package com.casic.missiles.modular.system.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
+import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.entity.BusPatrolTrack;
import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -45,7 +48,5 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List ids);
+
@Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task")
Long selectMaxCode();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
index 97688d8..3ab4f78 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
@@ -43,6 +43,7 @@
ar.CANCEL_TIME as cancelTime,
ar.CANCEL_USER as cancelUser,
ar.CANCEL_RESULT as cancelResult,
+ ar.CANCEL_REASON as cancelReason,
ar.TS
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
index 2d503c9..32d843a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
@@ -4,45 +4,83 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS
+ bt.*
+
+
+
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
new file mode 100644
index 0000000..f16ed07
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
@@ -0,0 +1,39 @@
+package com.casic.missiles.modular.system.dto;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusPatrolTrackDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ExcelProperty(value = "巡检任务编号", order = 0)
+ private String taskCode;
+
+ @ExcelProperty(value = "巡检任务名称", order = 1)
+ private String taskName;
+
+ @ExcelProperty(value = "巡检车牌号", order = 2)
+ private String carPlate;
+
+ @ExcelProperty(value = "车载云台型号", order = 3)
+ private String modelName;
+
+ @ExcelProperty(value = "开始时间", order = 4)
+ private String beginDate;
+
+ @ExcelProperty(value = "结束时间", order = 5)
+ private String endDate;
+
+ @ExcelProperty(value = "公里数", order = 6)
+ private String km;
+
+ @ExcelProperty(value = "巡检状态", order = 7)
+ private String statusName;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
new file mode 100644
index 0000000..03e2c93
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
@@ -0,0 +1,14 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+
+@Data
+public class IdDTO {
+ @NotNull(message = "主键ID不能为空")
+ @ApiModelProperty("任务id")
+ private Long id;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
new file mode 100644
index 0000000..bdbcfb2
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
@@ -0,0 +1,17 @@
+package com.casic.missiles.modular.system.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: for batch use
+ * @Author: zt
+ * @Date: 2022/11/26 9:51
+ */
+@Data
+public class IdsDTO {
+ @NotNull
+ private List ids;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
index de89589..8c31073 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
@@ -9,13 +9,22 @@
@ApiModelProperty("任务名称")
private String taskName;
+ @ApiModelProperty("巡检车牌号")
+ private String carPlate;
+
@ApiModelProperty("任务编号")
private String taskCode;
+ @ApiModelProperty("车载云台型号")
+ private String modelName;
+
@ApiModelProperty("开始时间")
private String beginDate;
@ApiModelProperty("结束时间")
private String endDate;
+ @ApiModelProperty("巡检状态,1:已完成,0:进行中")
+ private String status;
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java
new file mode 100644
index 0000000..8452800
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java
@@ -0,0 +1,21 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+public class ProcessAlarmRequest {
+
+ @ApiModelProperty("备注")
+ private String cancelResult;
+
+ @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)")
+ private String cancelReason;
+
+ @NotNull(message = "报警编号不能为空")
+ @ApiModelProperty("报警编号")
+ private String alarmCode;
+
+}
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index f373547..d461e7b 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -71,6 +71,12 @@
5.8.12
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
index b3b43b4..5876c56 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
@@ -7,6 +7,7 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.dto.RecognitionRequest;
import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.AlarmRecord;
@@ -20,6 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +49,8 @@
private IAnalysisRecognitionService iAnalysisRecognitionService;
@Resource
private IAlarmRecordService iAlarmRecordService;
+ @Value("${casic.file.uploadPath}")
+ private String uploadPath;
@ApiOperation("算法接口")
@PostMapping("/getrecognitionRecords")
@@ -60,14 +64,14 @@
public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) {
String path = "";
try {
- path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\");
+ path = FileUtil.saveFile(multipartFile, uploadPath);
} catch (IOException e) {
e.printStackTrace();
}
return ReturnUtil.success(path);
}
- @ApiOperation("新建报警")
+ @ApiOperation("新建报警,返回报警编号")
@PostMapping("/add")
public Object add(@RequestBody AlarmRecord alarmRecord) {
return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord));
@@ -83,5 +87,14 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request)));
}
+
+ @ApiOperation("报警处置")
+ @PostMapping("/processAlarm")
+ public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(iAlarmRecordService.processAlarm(request));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
new file mode 100644
index 0000000..32d8a36
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.system.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页 前端控制器
+ *
+ *
+ * @author zt
+ * @since 2023-07-20
+ */
+@RestController
+@RequestMapping("/system/busOverView")
+public class BusOverViewController {
+
+}
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
index 39d0eb5..dce5046 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.service.IBusPatrolCarService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -32,7 +33,7 @@
@ApiOperation("新建巡检车辆")
@PostMapping("/add")
- public Object add(@RequestBody BusPatrolCar busPatrolCar) {
+ public ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) {
return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar));
@@ -40,7 +41,7 @@
@ApiOperation("车辆列表")
@PostMapping("/listPage")
- public Object listPage() {
+ public ReturnDTO listPage() {
QueryWrapper queryWrapper = new QueryWrapper<>();
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper)));
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
index e06f0dc..bec7887 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
@@ -1,17 +1,17 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
-import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
+import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import com.casic.missiles.modular.system.enums.BusinessExceptionEnum;
import com.casic.missiles.modular.system.exception.BusinessException;
import com.casic.missiles.modular.system.service.IBusPatrolTaskService;
+import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,7 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.Date;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Objects;
/**
@@ -33,9 +34,11 @@
@Api(tags = "巡检任务模块")
@RestController
@RequestMapping("/system/busPatrolTask")
-public class BusPatrolTaskController extends ExportController {
+public class BusPatrolTaskController extends ExportController {
@Resource
private IBusPatrolTaskService iBusPatrolTaskService;
+ @Resource
+ private IBusPatrolTrackService iBusPatrolTrackService;
@ApiOperation("新建巡检任务")
@PostMapping("/add")
@@ -61,5 +64,34 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request)));
}
+
+ @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数")
+ @PostMapping("/getDistance")
+ public ReturnDTO getDistance(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId()));
+ }
+
+ /**
+ * 批量巡检任务记录
+ */
+ @ApiOperation("批量导出巡检任务记录")
+ @RequestMapping(value = "/taskExport")
+ @ResponseBody
+ public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) {
+ List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds());
+ iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response);
+ }
+
+ @ApiOperation("任务详情,即该任务对应的轨迹")
+ @PostMapping("/detail")
+ public ReturnDTO detail(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId()));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
index d068947..5454a36 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
@@ -1,9 +1,12 @@
package com.casic.missiles.modular.system.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
+import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.entity.BusPatrolTrack;
import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -45,7 +48,5 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List ids);
+
@Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task")
Long selectMaxCode();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
index 97688d8..3ab4f78 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
@@ -43,6 +43,7 @@
ar.CANCEL_TIME as cancelTime,
ar.CANCEL_USER as cancelUser,
ar.CANCEL_RESULT as cancelResult,
+ ar.CANCEL_REASON as cancelReason,
ar.TS
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
index 2d503c9..32d843a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
@@ -4,45 +4,83 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS
+ bt.*
+
+
+
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
new file mode 100644
index 0000000..f16ed07
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
@@ -0,0 +1,39 @@
+package com.casic.missiles.modular.system.dto;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusPatrolTrackDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ExcelProperty(value = "巡检任务编号", order = 0)
+ private String taskCode;
+
+ @ExcelProperty(value = "巡检任务名称", order = 1)
+ private String taskName;
+
+ @ExcelProperty(value = "巡检车牌号", order = 2)
+ private String carPlate;
+
+ @ExcelProperty(value = "车载云台型号", order = 3)
+ private String modelName;
+
+ @ExcelProperty(value = "开始时间", order = 4)
+ private String beginDate;
+
+ @ExcelProperty(value = "结束时间", order = 5)
+ private String endDate;
+
+ @ExcelProperty(value = "公里数", order = 6)
+ private String km;
+
+ @ExcelProperty(value = "巡检状态", order = 7)
+ private String statusName;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
new file mode 100644
index 0000000..03e2c93
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
@@ -0,0 +1,14 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+
+@Data
+public class IdDTO {
+ @NotNull(message = "主键ID不能为空")
+ @ApiModelProperty("任务id")
+ private Long id;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
new file mode 100644
index 0000000..bdbcfb2
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
@@ -0,0 +1,17 @@
+package com.casic.missiles.modular.system.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: for batch use
+ * @Author: zt
+ * @Date: 2022/11/26 9:51
+ */
+@Data
+public class IdsDTO {
+ @NotNull
+ private List ids;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
index de89589..8c31073 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
@@ -9,13 +9,22 @@
@ApiModelProperty("任务名称")
private String taskName;
+ @ApiModelProperty("巡检车牌号")
+ private String carPlate;
+
@ApiModelProperty("任务编号")
private String taskCode;
+ @ApiModelProperty("车载云台型号")
+ private String modelName;
+
@ApiModelProperty("开始时间")
private String beginDate;
@ApiModelProperty("结束时间")
private String endDate;
+ @ApiModelProperty("巡检状态,1:已完成,0:进行中")
+ private String status;
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java
new file mode 100644
index 0000000..8452800
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java
@@ -0,0 +1,21 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+public class ProcessAlarmRequest {
+
+ @ApiModelProperty("备注")
+ private String cancelResult;
+
+ @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)")
+ private String cancelReason;
+
+ @NotNull(message = "报警编号不能为空")
+ @ApiModelProperty("报警编号")
+ private String alarmCode;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
index 9147c45..5a0bd34 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
@@ -85,7 +85,7 @@
@ApiModelProperty("处置时间")
@TableField("CANCEL_TIME")
- private LocalDateTime cancelTime;
+ private String cancelTime;
@ApiModelProperty("处置人")
@TableField("CANCEL_USER")
@@ -95,6 +95,10 @@
@TableField("CANCEL_RESULT")
private String cancelResult;
+ @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)")
+ @TableField("CANCEL_REASON")
+ private String cancelReason;
+
@ApiModelProperty("时间")
@TableField("TS")
private LocalDateTime ts;
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index f373547..d461e7b 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -71,6 +71,12 @@
5.8.12
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
index b3b43b4..5876c56 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
@@ -7,6 +7,7 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.dto.RecognitionRequest;
import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.AlarmRecord;
@@ -20,6 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +49,8 @@
private IAnalysisRecognitionService iAnalysisRecognitionService;
@Resource
private IAlarmRecordService iAlarmRecordService;
+ @Value("${casic.file.uploadPath}")
+ private String uploadPath;
@ApiOperation("算法接口")
@PostMapping("/getrecognitionRecords")
@@ -60,14 +64,14 @@
public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) {
String path = "";
try {
- path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\");
+ path = FileUtil.saveFile(multipartFile, uploadPath);
} catch (IOException e) {
e.printStackTrace();
}
return ReturnUtil.success(path);
}
- @ApiOperation("新建报警")
+ @ApiOperation("新建报警,返回报警编号")
@PostMapping("/add")
public Object add(@RequestBody AlarmRecord alarmRecord) {
return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord));
@@ -83,5 +87,14 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request)));
}
+
+ @ApiOperation("报警处置")
+ @PostMapping("/processAlarm")
+ public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(iAlarmRecordService.processAlarm(request));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
new file mode 100644
index 0000000..32d8a36
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.system.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页 前端控制器
+ *
+ *
+ * @author zt
+ * @since 2023-07-20
+ */
+@RestController
+@RequestMapping("/system/busOverView")
+public class BusOverViewController {
+
+}
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
index 39d0eb5..dce5046 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.service.IBusPatrolCarService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -32,7 +33,7 @@
@ApiOperation("新建巡检车辆")
@PostMapping("/add")
- public Object add(@RequestBody BusPatrolCar busPatrolCar) {
+ public ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) {
return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar));
@@ -40,7 +41,7 @@
@ApiOperation("车辆列表")
@PostMapping("/listPage")
- public Object listPage() {
+ public ReturnDTO listPage() {
QueryWrapper queryWrapper = new QueryWrapper<>();
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper)));
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
index e06f0dc..bec7887 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
@@ -1,17 +1,17 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
-import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
+import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import com.casic.missiles.modular.system.enums.BusinessExceptionEnum;
import com.casic.missiles.modular.system.exception.BusinessException;
import com.casic.missiles.modular.system.service.IBusPatrolTaskService;
+import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,7 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.Date;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Objects;
/**
@@ -33,9 +34,11 @@
@Api(tags = "巡检任务模块")
@RestController
@RequestMapping("/system/busPatrolTask")
-public class BusPatrolTaskController extends ExportController {
+public class BusPatrolTaskController extends ExportController {
@Resource
private IBusPatrolTaskService iBusPatrolTaskService;
+ @Resource
+ private IBusPatrolTrackService iBusPatrolTrackService;
@ApiOperation("新建巡检任务")
@PostMapping("/add")
@@ -61,5 +64,34 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request)));
}
+
+ @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数")
+ @PostMapping("/getDistance")
+ public ReturnDTO getDistance(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId()));
+ }
+
+ /**
+ * 批量巡检任务记录
+ */
+ @ApiOperation("批量导出巡检任务记录")
+ @RequestMapping(value = "/taskExport")
+ @ResponseBody
+ public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) {
+ List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds());
+ iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response);
+ }
+
+ @ApiOperation("任务详情,即该任务对应的轨迹")
+ @PostMapping("/detail")
+ public ReturnDTO detail(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId()));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
index d068947..5454a36 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
@@ -1,9 +1,12 @@
package com.casic.missiles.modular.system.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
+import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.entity.BusPatrolTrack;
import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -45,7 +48,5 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List ids);
+
@Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task")
Long selectMaxCode();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
index 97688d8..3ab4f78 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
@@ -43,6 +43,7 @@
ar.CANCEL_TIME as cancelTime,
ar.CANCEL_USER as cancelUser,
ar.CANCEL_RESULT as cancelResult,
+ ar.CANCEL_REASON as cancelReason,
ar.TS
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
index 2d503c9..32d843a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
@@ -4,45 +4,83 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS
+ bt.*
+
+
+
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
new file mode 100644
index 0000000..f16ed07
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
@@ -0,0 +1,39 @@
+package com.casic.missiles.modular.system.dto;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusPatrolTrackDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ExcelProperty(value = "巡检任务编号", order = 0)
+ private String taskCode;
+
+ @ExcelProperty(value = "巡检任务名称", order = 1)
+ private String taskName;
+
+ @ExcelProperty(value = "巡检车牌号", order = 2)
+ private String carPlate;
+
+ @ExcelProperty(value = "车载云台型号", order = 3)
+ private String modelName;
+
+ @ExcelProperty(value = "开始时间", order = 4)
+ private String beginDate;
+
+ @ExcelProperty(value = "结束时间", order = 5)
+ private String endDate;
+
+ @ExcelProperty(value = "公里数", order = 6)
+ private String km;
+
+ @ExcelProperty(value = "巡检状态", order = 7)
+ private String statusName;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
new file mode 100644
index 0000000..03e2c93
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
@@ -0,0 +1,14 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+
+@Data
+public class IdDTO {
+ @NotNull(message = "主键ID不能为空")
+ @ApiModelProperty("任务id")
+ private Long id;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
new file mode 100644
index 0000000..bdbcfb2
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
@@ -0,0 +1,17 @@
+package com.casic.missiles.modular.system.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: for batch use
+ * @Author: zt
+ * @Date: 2022/11/26 9:51
+ */
+@Data
+public class IdsDTO {
+ @NotNull
+ private List ids;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
index de89589..8c31073 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
@@ -9,13 +9,22 @@
@ApiModelProperty("任务名称")
private String taskName;
+ @ApiModelProperty("巡检车牌号")
+ private String carPlate;
+
@ApiModelProperty("任务编号")
private String taskCode;
+ @ApiModelProperty("车载云台型号")
+ private String modelName;
+
@ApiModelProperty("开始时间")
private String beginDate;
@ApiModelProperty("结束时间")
private String endDate;
+ @ApiModelProperty("巡检状态,1:已完成,0:进行中")
+ private String status;
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java
new file mode 100644
index 0000000..8452800
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java
@@ -0,0 +1,21 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+public class ProcessAlarmRequest {
+
+ @ApiModelProperty("备注")
+ private String cancelResult;
+
+ @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)")
+ private String cancelReason;
+
+ @NotNull(message = "报警编号不能为空")
+ @ApiModelProperty("报警编号")
+ private String alarmCode;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
index 9147c45..5a0bd34 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
@@ -85,7 +85,7 @@
@ApiModelProperty("处置时间")
@TableField("CANCEL_TIME")
- private LocalDateTime cancelTime;
+ private String cancelTime;
@ApiModelProperty("处置人")
@TableField("CANCEL_USER")
@@ -95,6 +95,10 @@
@TableField("CANCEL_RESULT")
private String cancelResult;
+ @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)")
+ @TableField("CANCEL_REASON")
+ private String cancelReason;
+
@ApiModelProperty("时间")
@TableField("TS")
private LocalDateTime ts;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
index 8251b42..16391e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
@@ -51,6 +51,14 @@
@TableField("END_DATE")
private String endDate;
+ @ApiModelProperty("起始经度")
+ @TableField("LONGITUDE")
+ private String longitude;
+
+ @ApiModelProperty("起始纬度")
+ @TableField("LATITUDE")
+ private String latitude;
+
@ApiModelProperty("描述")
@TableField("DESCRIPTION")
private String description;
@@ -67,7 +75,7 @@
@TableField("KM")
private String km;
- @ApiModelProperty("任务状态(1:启用,0:停用)")
+ @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)")
@TableField("`STATUS`")
private String status;
@@ -82,6 +90,17 @@
@ApiModelProperty("创建时间")
@TableField("TS")
private String ts;
+ @ApiModelProperty("任务状态名称")
+ @TableField(exist = false)
+ private String statusName;
+ //设备型号
+ @ApiModelProperty("车载云台型号")
+ @TableField(exist = false)
+ private String modelName;
+ //设备型号
+ @ApiModelProperty("巡检车牌号")
+ @TableField(exist = false)
+ private String carPlate;
}
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index f373547..d461e7b 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -71,6 +71,12 @@
5.8.12
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
index b3b43b4..5876c56 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
@@ -7,6 +7,7 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.dto.RecognitionRequest;
import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.AlarmRecord;
@@ -20,6 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +49,8 @@
private IAnalysisRecognitionService iAnalysisRecognitionService;
@Resource
private IAlarmRecordService iAlarmRecordService;
+ @Value("${casic.file.uploadPath}")
+ private String uploadPath;
@ApiOperation("算法接口")
@PostMapping("/getrecognitionRecords")
@@ -60,14 +64,14 @@
public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) {
String path = "";
try {
- path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\");
+ path = FileUtil.saveFile(multipartFile, uploadPath);
} catch (IOException e) {
e.printStackTrace();
}
return ReturnUtil.success(path);
}
- @ApiOperation("新建报警")
+ @ApiOperation("新建报警,返回报警编号")
@PostMapping("/add")
public Object add(@RequestBody AlarmRecord alarmRecord) {
return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord));
@@ -83,5 +87,14 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request)));
}
+
+ @ApiOperation("报警处置")
+ @PostMapping("/processAlarm")
+ public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(iAlarmRecordService.processAlarm(request));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
new file mode 100644
index 0000000..32d8a36
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.system.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页 前端控制器
+ *
+ *
+ * @author zt
+ * @since 2023-07-20
+ */
+@RestController
+@RequestMapping("/system/busOverView")
+public class BusOverViewController {
+
+}
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
index 39d0eb5..dce5046 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.service.IBusPatrolCarService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -32,7 +33,7 @@
@ApiOperation("新建巡检车辆")
@PostMapping("/add")
- public Object add(@RequestBody BusPatrolCar busPatrolCar) {
+ public ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) {
return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar));
@@ -40,7 +41,7 @@
@ApiOperation("车辆列表")
@PostMapping("/listPage")
- public Object listPage() {
+ public ReturnDTO listPage() {
QueryWrapper queryWrapper = new QueryWrapper<>();
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper)));
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
index e06f0dc..bec7887 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
@@ -1,17 +1,17 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
-import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
+import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import com.casic.missiles.modular.system.enums.BusinessExceptionEnum;
import com.casic.missiles.modular.system.exception.BusinessException;
import com.casic.missiles.modular.system.service.IBusPatrolTaskService;
+import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,7 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.Date;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Objects;
/**
@@ -33,9 +34,11 @@
@Api(tags = "巡检任务模块")
@RestController
@RequestMapping("/system/busPatrolTask")
-public class BusPatrolTaskController extends ExportController {
+public class BusPatrolTaskController extends ExportController {
@Resource
private IBusPatrolTaskService iBusPatrolTaskService;
+ @Resource
+ private IBusPatrolTrackService iBusPatrolTrackService;
@ApiOperation("新建巡检任务")
@PostMapping("/add")
@@ -61,5 +64,34 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request)));
}
+
+ @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数")
+ @PostMapping("/getDistance")
+ public ReturnDTO getDistance(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId()));
+ }
+
+ /**
+ * 批量巡检任务记录
+ */
+ @ApiOperation("批量导出巡检任务记录")
+ @RequestMapping(value = "/taskExport")
+ @ResponseBody
+ public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) {
+ List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds());
+ iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response);
+ }
+
+ @ApiOperation("任务详情,即该任务对应的轨迹")
+ @PostMapping("/detail")
+ public ReturnDTO detail(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId()));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
index d068947..5454a36 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
@@ -1,9 +1,12 @@
package com.casic.missiles.modular.system.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
+import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.entity.BusPatrolTrack;
import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -45,7 +48,5 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List ids);
+
@Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task")
Long selectMaxCode();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
index 97688d8..3ab4f78 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
@@ -43,6 +43,7 @@
ar.CANCEL_TIME as cancelTime,
ar.CANCEL_USER as cancelUser,
ar.CANCEL_RESULT as cancelResult,
+ ar.CANCEL_REASON as cancelReason,
ar.TS
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
index 2d503c9..32d843a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
@@ -4,45 +4,83 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS
+ bt.*
+
+
+
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
new file mode 100644
index 0000000..f16ed07
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
@@ -0,0 +1,39 @@
+package com.casic.missiles.modular.system.dto;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusPatrolTrackDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ExcelProperty(value = "巡检任务编号", order = 0)
+ private String taskCode;
+
+ @ExcelProperty(value = "巡检任务名称", order = 1)
+ private String taskName;
+
+ @ExcelProperty(value = "巡检车牌号", order = 2)
+ private String carPlate;
+
+ @ExcelProperty(value = "车载云台型号", order = 3)
+ private String modelName;
+
+ @ExcelProperty(value = "开始时间", order = 4)
+ private String beginDate;
+
+ @ExcelProperty(value = "结束时间", order = 5)
+ private String endDate;
+
+ @ExcelProperty(value = "公里数", order = 6)
+ private String km;
+
+ @ExcelProperty(value = "巡检状态", order = 7)
+ private String statusName;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
new file mode 100644
index 0000000..03e2c93
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
@@ -0,0 +1,14 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+
+@Data
+public class IdDTO {
+ @NotNull(message = "主键ID不能为空")
+ @ApiModelProperty("任务id")
+ private Long id;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
new file mode 100644
index 0000000..bdbcfb2
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
@@ -0,0 +1,17 @@
+package com.casic.missiles.modular.system.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: for batch use
+ * @Author: zt
+ * @Date: 2022/11/26 9:51
+ */
+@Data
+public class IdsDTO {
+ @NotNull
+ private List ids;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
index de89589..8c31073 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
@@ -9,13 +9,22 @@
@ApiModelProperty("任务名称")
private String taskName;
+ @ApiModelProperty("巡检车牌号")
+ private String carPlate;
+
@ApiModelProperty("任务编号")
private String taskCode;
+ @ApiModelProperty("车载云台型号")
+ private String modelName;
+
@ApiModelProperty("开始时间")
private String beginDate;
@ApiModelProperty("结束时间")
private String endDate;
+ @ApiModelProperty("巡检状态,1:已完成,0:进行中")
+ private String status;
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java
new file mode 100644
index 0000000..8452800
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java
@@ -0,0 +1,21 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+public class ProcessAlarmRequest {
+
+ @ApiModelProperty("备注")
+ private String cancelResult;
+
+ @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)")
+ private String cancelReason;
+
+ @NotNull(message = "报警编号不能为空")
+ @ApiModelProperty("报警编号")
+ private String alarmCode;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
index 9147c45..5a0bd34 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
@@ -85,7 +85,7 @@
@ApiModelProperty("处置时间")
@TableField("CANCEL_TIME")
- private LocalDateTime cancelTime;
+ private String cancelTime;
@ApiModelProperty("处置人")
@TableField("CANCEL_USER")
@@ -95,6 +95,10 @@
@TableField("CANCEL_RESULT")
private String cancelResult;
+ @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)")
+ @TableField("CANCEL_REASON")
+ private String cancelReason;
+
@ApiModelProperty("时间")
@TableField("TS")
private LocalDateTime ts;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
index 8251b42..16391e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
@@ -51,6 +51,14 @@
@TableField("END_DATE")
private String endDate;
+ @ApiModelProperty("起始经度")
+ @TableField("LONGITUDE")
+ private String longitude;
+
+ @ApiModelProperty("起始纬度")
+ @TableField("LATITUDE")
+ private String latitude;
+
@ApiModelProperty("描述")
@TableField("DESCRIPTION")
private String description;
@@ -67,7 +75,7 @@
@TableField("KM")
private String km;
- @ApiModelProperty("任务状态(1:启用,0:停用)")
+ @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)")
@TableField("`STATUS`")
private String status;
@@ -82,6 +90,17 @@
@ApiModelProperty("创建时间")
@TableField("TS")
private String ts;
+ @ApiModelProperty("任务状态名称")
+ @TableField(exist = false)
+ private String statusName;
+ //设备型号
+ @ApiModelProperty("车载云台型号")
+ @TableField(exist = false)
+ private String modelName;
+ //设备型号
+ @ApiModelProperty("巡检车牌号")
+ @TableField(exist = false)
+ private String carPlate;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java
index e22e569..b967792 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java
@@ -67,6 +67,10 @@
@TableField("IS_ALARM")
private String isAlarm;
+ @ApiModelProperty("报警编号,生成报警后回填")
+ @TableField("ALARM_CODE")
+ private String alarmCode;
+
@ApiModelProperty("1:正常:0")
@TableField("DEVICE_STATUS")
private String deviceStatus;
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index f373547..d461e7b 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -71,6 +71,12 @@
5.8.12
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
index b3b43b4..5876c56 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
@@ -7,6 +7,7 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.dto.RecognitionRequest;
import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.AlarmRecord;
@@ -20,6 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +49,8 @@
private IAnalysisRecognitionService iAnalysisRecognitionService;
@Resource
private IAlarmRecordService iAlarmRecordService;
+ @Value("${casic.file.uploadPath}")
+ private String uploadPath;
@ApiOperation("算法接口")
@PostMapping("/getrecognitionRecords")
@@ -60,14 +64,14 @@
public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) {
String path = "";
try {
- path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\");
+ path = FileUtil.saveFile(multipartFile, uploadPath);
} catch (IOException e) {
e.printStackTrace();
}
return ReturnUtil.success(path);
}
- @ApiOperation("新建报警")
+ @ApiOperation("新建报警,返回报警编号")
@PostMapping("/add")
public Object add(@RequestBody AlarmRecord alarmRecord) {
return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord));
@@ -83,5 +87,14 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request)));
}
+
+ @ApiOperation("报警处置")
+ @PostMapping("/processAlarm")
+ public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(iAlarmRecordService.processAlarm(request));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
new file mode 100644
index 0000000..32d8a36
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.system.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页 前端控制器
+ *
+ *
+ * @author zt
+ * @since 2023-07-20
+ */
+@RestController
+@RequestMapping("/system/busOverView")
+public class BusOverViewController {
+
+}
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
index 39d0eb5..dce5046 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.service.IBusPatrolCarService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -32,7 +33,7 @@
@ApiOperation("新建巡检车辆")
@PostMapping("/add")
- public Object add(@RequestBody BusPatrolCar busPatrolCar) {
+ public ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) {
return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar));
@@ -40,7 +41,7 @@
@ApiOperation("车辆列表")
@PostMapping("/listPage")
- public Object listPage() {
+ public ReturnDTO listPage() {
QueryWrapper queryWrapper = new QueryWrapper<>();
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper)));
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
index e06f0dc..bec7887 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
@@ -1,17 +1,17 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
-import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
+import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import com.casic.missiles.modular.system.enums.BusinessExceptionEnum;
import com.casic.missiles.modular.system.exception.BusinessException;
import com.casic.missiles.modular.system.service.IBusPatrolTaskService;
+import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,7 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.Date;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Objects;
/**
@@ -33,9 +34,11 @@
@Api(tags = "巡检任务模块")
@RestController
@RequestMapping("/system/busPatrolTask")
-public class BusPatrolTaskController extends ExportController {
+public class BusPatrolTaskController extends ExportController {
@Resource
private IBusPatrolTaskService iBusPatrolTaskService;
+ @Resource
+ private IBusPatrolTrackService iBusPatrolTrackService;
@ApiOperation("新建巡检任务")
@PostMapping("/add")
@@ -61,5 +64,34 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request)));
}
+
+ @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数")
+ @PostMapping("/getDistance")
+ public ReturnDTO getDistance(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId()));
+ }
+
+ /**
+ * 批量巡检任务记录
+ */
+ @ApiOperation("批量导出巡检任务记录")
+ @RequestMapping(value = "/taskExport")
+ @ResponseBody
+ public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) {
+ List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds());
+ iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response);
+ }
+
+ @ApiOperation("任务详情,即该任务对应的轨迹")
+ @PostMapping("/detail")
+ public ReturnDTO detail(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId()));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
index d068947..5454a36 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
@@ -1,9 +1,12 @@
package com.casic.missiles.modular.system.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
+import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.entity.BusPatrolTrack;
import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -45,7 +48,5 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List ids);
+
@Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task")
Long selectMaxCode();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
index 97688d8..3ab4f78 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
@@ -43,6 +43,7 @@
ar.CANCEL_TIME as cancelTime,
ar.CANCEL_USER as cancelUser,
ar.CANCEL_RESULT as cancelResult,
+ ar.CANCEL_REASON as cancelReason,
ar.TS
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
index 2d503c9..32d843a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
@@ -4,45 +4,83 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS
+ bt.*
+
+
+
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
new file mode 100644
index 0000000..f16ed07
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
@@ -0,0 +1,39 @@
+package com.casic.missiles.modular.system.dto;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusPatrolTrackDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ExcelProperty(value = "巡检任务编号", order = 0)
+ private String taskCode;
+
+ @ExcelProperty(value = "巡检任务名称", order = 1)
+ private String taskName;
+
+ @ExcelProperty(value = "巡检车牌号", order = 2)
+ private String carPlate;
+
+ @ExcelProperty(value = "车载云台型号", order = 3)
+ private String modelName;
+
+ @ExcelProperty(value = "开始时间", order = 4)
+ private String beginDate;
+
+ @ExcelProperty(value = "结束时间", order = 5)
+ private String endDate;
+
+ @ExcelProperty(value = "公里数", order = 6)
+ private String km;
+
+ @ExcelProperty(value = "巡检状态", order = 7)
+ private String statusName;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
new file mode 100644
index 0000000..03e2c93
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
@@ -0,0 +1,14 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+
+@Data
+public class IdDTO {
+ @NotNull(message = "主键ID不能为空")
+ @ApiModelProperty("任务id")
+ private Long id;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
new file mode 100644
index 0000000..bdbcfb2
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
@@ -0,0 +1,17 @@
+package com.casic.missiles.modular.system.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: for batch use
+ * @Author: zt
+ * @Date: 2022/11/26 9:51
+ */
+@Data
+public class IdsDTO {
+ @NotNull
+ private List ids;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
index de89589..8c31073 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
@@ -9,13 +9,22 @@
@ApiModelProperty("任务名称")
private String taskName;
+ @ApiModelProperty("巡检车牌号")
+ private String carPlate;
+
@ApiModelProperty("任务编号")
private String taskCode;
+ @ApiModelProperty("车载云台型号")
+ private String modelName;
+
@ApiModelProperty("开始时间")
private String beginDate;
@ApiModelProperty("结束时间")
private String endDate;
+ @ApiModelProperty("巡检状态,1:已完成,0:进行中")
+ private String status;
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java
new file mode 100644
index 0000000..8452800
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java
@@ -0,0 +1,21 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+public class ProcessAlarmRequest {
+
+ @ApiModelProperty("备注")
+ private String cancelResult;
+
+ @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)")
+ private String cancelReason;
+
+ @NotNull(message = "报警编号不能为空")
+ @ApiModelProperty("报警编号")
+ private String alarmCode;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
index 9147c45..5a0bd34 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
@@ -85,7 +85,7 @@
@ApiModelProperty("处置时间")
@TableField("CANCEL_TIME")
- private LocalDateTime cancelTime;
+ private String cancelTime;
@ApiModelProperty("处置人")
@TableField("CANCEL_USER")
@@ -95,6 +95,10 @@
@TableField("CANCEL_RESULT")
private String cancelResult;
+ @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)")
+ @TableField("CANCEL_REASON")
+ private String cancelReason;
+
@ApiModelProperty("时间")
@TableField("TS")
private LocalDateTime ts;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
index 8251b42..16391e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
@@ -51,6 +51,14 @@
@TableField("END_DATE")
private String endDate;
+ @ApiModelProperty("起始经度")
+ @TableField("LONGITUDE")
+ private String longitude;
+
+ @ApiModelProperty("起始纬度")
+ @TableField("LATITUDE")
+ private String latitude;
+
@ApiModelProperty("描述")
@TableField("DESCRIPTION")
private String description;
@@ -67,7 +75,7 @@
@TableField("KM")
private String km;
- @ApiModelProperty("任务状态(1:启用,0:停用)")
+ @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)")
@TableField("`STATUS`")
private String status;
@@ -82,6 +90,17 @@
@ApiModelProperty("创建时间")
@TableField("TS")
private String ts;
+ @ApiModelProperty("任务状态名称")
+ @TableField(exist = false)
+ private String statusName;
+ //设备型号
+ @ApiModelProperty("车载云台型号")
+ @TableField(exist = false)
+ private String modelName;
+ //设备型号
+ @ApiModelProperty("巡检车牌号")
+ @TableField(exist = false)
+ private String carPlate;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java
index e22e569..b967792 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java
@@ -67,6 +67,10 @@
@TableField("IS_ALARM")
private String isAlarm;
+ @ApiModelProperty("报警编号,生成报警后回填")
+ @TableField("ALARM_CODE")
+ private String alarmCode;
+
@ApiModelProperty("1:正常:0")
@TableField("DEVICE_STATUS")
private String deviceStatus;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java
index 1b1d831..cfd8e93 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java
@@ -21,6 +21,8 @@
FILE_NULL(2091, "导入文件为空!"),
+ RECORD_NULL(2093, "未查询到相关记录!"),
+
FILE_READ_ROW_FAILED(2092, "读入excel异常!"),
MONITOR_VALID_FAILED(2099, "云台登录地址重复");
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index f373547..d461e7b 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -71,6 +71,12 @@
5.8.12
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
index b3b43b4..5876c56 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
@@ -7,6 +7,7 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.dto.RecognitionRequest;
import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.AlarmRecord;
@@ -20,6 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +49,8 @@
private IAnalysisRecognitionService iAnalysisRecognitionService;
@Resource
private IAlarmRecordService iAlarmRecordService;
+ @Value("${casic.file.uploadPath}")
+ private String uploadPath;
@ApiOperation("算法接口")
@PostMapping("/getrecognitionRecords")
@@ -60,14 +64,14 @@
public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) {
String path = "";
try {
- path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\");
+ path = FileUtil.saveFile(multipartFile, uploadPath);
} catch (IOException e) {
e.printStackTrace();
}
return ReturnUtil.success(path);
}
- @ApiOperation("新建报警")
+ @ApiOperation("新建报警,返回报警编号")
@PostMapping("/add")
public Object add(@RequestBody AlarmRecord alarmRecord) {
return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord));
@@ -83,5 +87,14 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request)));
}
+
+ @ApiOperation("报警处置")
+ @PostMapping("/processAlarm")
+ public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(iAlarmRecordService.processAlarm(request));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
new file mode 100644
index 0000000..32d8a36
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.system.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页 前端控制器
+ *
+ *
+ * @author zt
+ * @since 2023-07-20
+ */
+@RestController
+@RequestMapping("/system/busOverView")
+public class BusOverViewController {
+
+}
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
index 39d0eb5..dce5046 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.service.IBusPatrolCarService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -32,7 +33,7 @@
@ApiOperation("新建巡检车辆")
@PostMapping("/add")
- public Object add(@RequestBody BusPatrolCar busPatrolCar) {
+ public ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) {
return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar));
@@ -40,7 +41,7 @@
@ApiOperation("车辆列表")
@PostMapping("/listPage")
- public Object listPage() {
+ public ReturnDTO listPage() {
QueryWrapper queryWrapper = new QueryWrapper<>();
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper)));
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
index e06f0dc..bec7887 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
@@ -1,17 +1,17 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
-import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
+import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import com.casic.missiles.modular.system.enums.BusinessExceptionEnum;
import com.casic.missiles.modular.system.exception.BusinessException;
import com.casic.missiles.modular.system.service.IBusPatrolTaskService;
+import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,7 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.Date;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Objects;
/**
@@ -33,9 +34,11 @@
@Api(tags = "巡检任务模块")
@RestController
@RequestMapping("/system/busPatrolTask")
-public class BusPatrolTaskController extends ExportController {
+public class BusPatrolTaskController extends ExportController {
@Resource
private IBusPatrolTaskService iBusPatrolTaskService;
+ @Resource
+ private IBusPatrolTrackService iBusPatrolTrackService;
@ApiOperation("新建巡检任务")
@PostMapping("/add")
@@ -61,5 +64,34 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request)));
}
+
+ @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数")
+ @PostMapping("/getDistance")
+ public ReturnDTO getDistance(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId()));
+ }
+
+ /**
+ * 批量巡检任务记录
+ */
+ @ApiOperation("批量导出巡检任务记录")
+ @RequestMapping(value = "/taskExport")
+ @ResponseBody
+ public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) {
+ List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds());
+ iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response);
+ }
+
+ @ApiOperation("任务详情,即该任务对应的轨迹")
+ @PostMapping("/detail")
+ public ReturnDTO detail(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId()));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
index d068947..5454a36 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
@@ -1,9 +1,12 @@
package com.casic.missiles.modular.system.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
+import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.entity.BusPatrolTrack;
import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -45,7 +48,5 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List ids);
+
@Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task")
Long selectMaxCode();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
index 97688d8..3ab4f78 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
@@ -43,6 +43,7 @@
ar.CANCEL_TIME as cancelTime,
ar.CANCEL_USER as cancelUser,
ar.CANCEL_RESULT as cancelResult,
+ ar.CANCEL_REASON as cancelReason,
ar.TS
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
index 2d503c9..32d843a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
@@ -4,45 +4,83 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS
+ bt.*
+
+
+
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
new file mode 100644
index 0000000..f16ed07
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
@@ -0,0 +1,39 @@
+package com.casic.missiles.modular.system.dto;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusPatrolTrackDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ExcelProperty(value = "巡检任务编号", order = 0)
+ private String taskCode;
+
+ @ExcelProperty(value = "巡检任务名称", order = 1)
+ private String taskName;
+
+ @ExcelProperty(value = "巡检车牌号", order = 2)
+ private String carPlate;
+
+ @ExcelProperty(value = "车载云台型号", order = 3)
+ private String modelName;
+
+ @ExcelProperty(value = "开始时间", order = 4)
+ private String beginDate;
+
+ @ExcelProperty(value = "结束时间", order = 5)
+ private String endDate;
+
+ @ExcelProperty(value = "公里数", order = 6)
+ private String km;
+
+ @ExcelProperty(value = "巡检状态", order = 7)
+ private String statusName;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
new file mode 100644
index 0000000..03e2c93
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
@@ -0,0 +1,14 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+
+@Data
+public class IdDTO {
+ @NotNull(message = "主键ID不能为空")
+ @ApiModelProperty("任务id")
+ private Long id;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
new file mode 100644
index 0000000..bdbcfb2
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
@@ -0,0 +1,17 @@
+package com.casic.missiles.modular.system.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: for batch use
+ * @Author: zt
+ * @Date: 2022/11/26 9:51
+ */
+@Data
+public class IdsDTO {
+ @NotNull
+ private List ids;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
index de89589..8c31073 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
@@ -9,13 +9,22 @@
@ApiModelProperty("任务名称")
private String taskName;
+ @ApiModelProperty("巡检车牌号")
+ private String carPlate;
+
@ApiModelProperty("任务编号")
private String taskCode;
+ @ApiModelProperty("车载云台型号")
+ private String modelName;
+
@ApiModelProperty("开始时间")
private String beginDate;
@ApiModelProperty("结束时间")
private String endDate;
+ @ApiModelProperty("巡检状态,1:已完成,0:进行中")
+ private String status;
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java
new file mode 100644
index 0000000..8452800
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java
@@ -0,0 +1,21 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+public class ProcessAlarmRequest {
+
+ @ApiModelProperty("备注")
+ private String cancelResult;
+
+ @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)")
+ private String cancelReason;
+
+ @NotNull(message = "报警编号不能为空")
+ @ApiModelProperty("报警编号")
+ private String alarmCode;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
index 9147c45..5a0bd34 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
@@ -85,7 +85,7 @@
@ApiModelProperty("处置时间")
@TableField("CANCEL_TIME")
- private LocalDateTime cancelTime;
+ private String cancelTime;
@ApiModelProperty("处置人")
@TableField("CANCEL_USER")
@@ -95,6 +95,10 @@
@TableField("CANCEL_RESULT")
private String cancelResult;
+ @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)")
+ @TableField("CANCEL_REASON")
+ private String cancelReason;
+
@ApiModelProperty("时间")
@TableField("TS")
private LocalDateTime ts;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
index 8251b42..16391e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
@@ -51,6 +51,14 @@
@TableField("END_DATE")
private String endDate;
+ @ApiModelProperty("起始经度")
+ @TableField("LONGITUDE")
+ private String longitude;
+
+ @ApiModelProperty("起始纬度")
+ @TableField("LATITUDE")
+ private String latitude;
+
@ApiModelProperty("描述")
@TableField("DESCRIPTION")
private String description;
@@ -67,7 +75,7 @@
@TableField("KM")
private String km;
- @ApiModelProperty("任务状态(1:启用,0:停用)")
+ @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)")
@TableField("`STATUS`")
private String status;
@@ -82,6 +90,17 @@
@ApiModelProperty("创建时间")
@TableField("TS")
private String ts;
+ @ApiModelProperty("任务状态名称")
+ @TableField(exist = false)
+ private String statusName;
+ //设备型号
+ @ApiModelProperty("车载云台型号")
+ @TableField(exist = false)
+ private String modelName;
+ //设备型号
+ @ApiModelProperty("巡检车牌号")
+ @TableField(exist = false)
+ private String carPlate;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java
index e22e569..b967792 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java
@@ -67,6 +67,10 @@
@TableField("IS_ALARM")
private String isAlarm;
+ @ApiModelProperty("报警编号,生成报警后回填")
+ @TableField("ALARM_CODE")
+ private String alarmCode;
+
@ApiModelProperty("1:正常:0")
@TableField("DEVICE_STATUS")
private String deviceStatus;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java
index 1b1d831..cfd8e93 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java
@@ -21,6 +21,8 @@
FILE_NULL(2091, "导入文件为空!"),
+ RECORD_NULL(2093, "未查询到相关记录!"),
+
FILE_READ_ROW_FAILED(2092, "读入excel异常!"),
MONITOR_VALID_FAILED(2099, "云台登录地址重复");
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java
index 635118a..b65ffc5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java
@@ -19,11 +19,21 @@
//下发
String PROCESS_SEND = "4";
+ String VALID_ADD = "0";
+
+ String VALID_DELETE = "1";
+ //未报警
+ String ALARM_ON = "0";
+ //报警
+ String ALARM_NO= "1";
//投票支持
String VOTE_APPROVE = "1";
//投票反对
String VOTE_AGAINST = "0";
String ALARM_PREFIX = "XJBJ";
+
String TASK_PREFIX = "XJRW";
+
+ String TASK_STATUS = "inspectionStatus";
}
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index f373547..d461e7b 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -71,6 +71,12 @@
5.8.12
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
index b3b43b4..5876c56 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
@@ -7,6 +7,7 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.dto.RecognitionRequest;
import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.AlarmRecord;
@@ -20,6 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +49,8 @@
private IAnalysisRecognitionService iAnalysisRecognitionService;
@Resource
private IAlarmRecordService iAlarmRecordService;
+ @Value("${casic.file.uploadPath}")
+ private String uploadPath;
@ApiOperation("算法接口")
@PostMapping("/getrecognitionRecords")
@@ -60,14 +64,14 @@
public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) {
String path = "";
try {
- path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\");
+ path = FileUtil.saveFile(multipartFile, uploadPath);
} catch (IOException e) {
e.printStackTrace();
}
return ReturnUtil.success(path);
}
- @ApiOperation("新建报警")
+ @ApiOperation("新建报警,返回报警编号")
@PostMapping("/add")
public Object add(@RequestBody AlarmRecord alarmRecord) {
return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord));
@@ -83,5 +87,14 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request)));
}
+
+ @ApiOperation("报警处置")
+ @PostMapping("/processAlarm")
+ public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(iAlarmRecordService.processAlarm(request));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
new file mode 100644
index 0000000..32d8a36
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.system.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页 前端控制器
+ *
+ *
+ * @author zt
+ * @since 2023-07-20
+ */
+@RestController
+@RequestMapping("/system/busOverView")
+public class BusOverViewController {
+
+}
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
index 39d0eb5..dce5046 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.service.IBusPatrolCarService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -32,7 +33,7 @@
@ApiOperation("新建巡检车辆")
@PostMapping("/add")
- public Object add(@RequestBody BusPatrolCar busPatrolCar) {
+ public ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) {
return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar));
@@ -40,7 +41,7 @@
@ApiOperation("车辆列表")
@PostMapping("/listPage")
- public Object listPage() {
+ public ReturnDTO listPage() {
QueryWrapper queryWrapper = new QueryWrapper<>();
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper)));
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
index e06f0dc..bec7887 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
@@ -1,17 +1,17 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
-import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
+import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import com.casic.missiles.modular.system.enums.BusinessExceptionEnum;
import com.casic.missiles.modular.system.exception.BusinessException;
import com.casic.missiles.modular.system.service.IBusPatrolTaskService;
+import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,7 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.Date;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Objects;
/**
@@ -33,9 +34,11 @@
@Api(tags = "巡检任务模块")
@RestController
@RequestMapping("/system/busPatrolTask")
-public class BusPatrolTaskController extends ExportController {
+public class BusPatrolTaskController extends ExportController {
@Resource
private IBusPatrolTaskService iBusPatrolTaskService;
+ @Resource
+ private IBusPatrolTrackService iBusPatrolTrackService;
@ApiOperation("新建巡检任务")
@PostMapping("/add")
@@ -61,5 +64,34 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request)));
}
+
+ @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数")
+ @PostMapping("/getDistance")
+ public ReturnDTO getDistance(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId()));
+ }
+
+ /**
+ * 批量巡检任务记录
+ */
+ @ApiOperation("批量导出巡检任务记录")
+ @RequestMapping(value = "/taskExport")
+ @ResponseBody
+ public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) {
+ List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds());
+ iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response);
+ }
+
+ @ApiOperation("任务详情,即该任务对应的轨迹")
+ @PostMapping("/detail")
+ public ReturnDTO detail(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId()));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
index d068947..5454a36 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
@@ -1,9 +1,12 @@
package com.casic.missiles.modular.system.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
+import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.entity.BusPatrolTrack;
import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -45,7 +48,5 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List ids);
+
@Select("SELECT IFNULL(max(RIGHT(TASK_CODE, 12)), 0) from bus_patrol_task")
Long selectMaxCode();
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
index 97688d8..3ab4f78 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml
@@ -43,6 +43,7 @@
ar.CANCEL_TIME as cancelTime,
ar.CANCEL_USER as cancelUser,
ar.CANCEL_RESULT as cancelResult,
+ ar.CANCEL_REASON as cancelReason,
ar.TS
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
index 2d503c9..32d843a 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPatrolTaskMapper.xml
@@ -4,45 +4,83 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- ID, CAR_ID, TASK_NAME, TASK_CODE, BEGIN_DATE, END_DATE, DESCRIPTION, DESCRIPTION1, DESCRIPTION2, KM, `STATUS`, UPDATE_TIME, VALID, TS
+ bt.*
+
+
+
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
new file mode 100644
index 0000000..f16ed07
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusPatrolTrackDTO.java
@@ -0,0 +1,39 @@
+package com.casic.missiles.modular.system.dto;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusPatrolTrackDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ExcelProperty(value = "巡检任务编号", order = 0)
+ private String taskCode;
+
+ @ExcelProperty(value = "巡检任务名称", order = 1)
+ private String taskName;
+
+ @ExcelProperty(value = "巡检车牌号", order = 2)
+ private String carPlate;
+
+ @ExcelProperty(value = "车载云台型号", order = 3)
+ private String modelName;
+
+ @ExcelProperty(value = "开始时间", order = 4)
+ private String beginDate;
+
+ @ExcelProperty(value = "结束时间", order = 5)
+ private String endDate;
+
+ @ExcelProperty(value = "公里数", order = 6)
+ private String km;
+
+ @ExcelProperty(value = "巡检状态", order = 7)
+ private String statusName;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
new file mode 100644
index 0000000..03e2c93
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdDTO.java
@@ -0,0 +1,14 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+
+@Data
+public class IdDTO {
+ @NotNull(message = "主键ID不能为空")
+ @ApiModelProperty("任务id")
+ private Long id;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
new file mode 100644
index 0000000..bdbcfb2
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/IdsDTO.java
@@ -0,0 +1,17 @@
+package com.casic.missiles.modular.system.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: for batch use
+ * @Author: zt
+ * @Date: 2022/11/26 9:51
+ */
+@Data
+public class IdsDTO {
+ @NotNull
+ private List ids;
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
index de89589..8c31073 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTaskRequest.java
@@ -9,13 +9,22 @@
@ApiModelProperty("任务名称")
private String taskName;
+ @ApiModelProperty("巡检车牌号")
+ private String carPlate;
+
@ApiModelProperty("任务编号")
private String taskCode;
+ @ApiModelProperty("车载云台型号")
+ private String modelName;
+
@ApiModelProperty("开始时间")
private String beginDate;
@ApiModelProperty("结束时间")
private String endDate;
+ @ApiModelProperty("巡检状态,1:已完成,0:进行中")
+ private String status;
+
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java
new file mode 100644
index 0000000..8452800
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/ProcessAlarmRequest.java
@@ -0,0 +1,21 @@
+package com.casic.missiles.modular.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+public class ProcessAlarmRequest {
+
+ @ApiModelProperty("备注")
+ private String cancelResult;
+
+ @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)")
+ private String cancelReason;
+
+ @NotNull(message = "报警编号不能为空")
+ @ApiModelProperty("报警编号")
+ private String alarmCode;
+
+}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
index 9147c45..5a0bd34 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/AlarmRecord.java
@@ -85,7 +85,7 @@
@ApiModelProperty("处置时间")
@TableField("CANCEL_TIME")
- private LocalDateTime cancelTime;
+ private String cancelTime;
@ApiModelProperty("处置人")
@TableField("CANCEL_USER")
@@ -95,6 +95,10 @@
@TableField("CANCEL_RESULT")
private String cancelResult;
+ @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)")
+ @TableField("CANCEL_REASON")
+ private String cancelReason;
+
@ApiModelProperty("时间")
@TableField("TS")
private LocalDateTime ts;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
index 8251b42..16391e1 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTask.java
@@ -51,6 +51,14 @@
@TableField("END_DATE")
private String endDate;
+ @ApiModelProperty("起始经度")
+ @TableField("LONGITUDE")
+ private String longitude;
+
+ @ApiModelProperty("起始纬度")
+ @TableField("LATITUDE")
+ private String latitude;
+
@ApiModelProperty("描述")
@TableField("DESCRIPTION")
private String description;
@@ -67,7 +75,7 @@
@TableField("KM")
private String km;
- @ApiModelProperty("任务状态(1:启用,0:停用)")
+ @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)")
@TableField("`STATUS`")
private String status;
@@ -82,6 +90,17 @@
@ApiModelProperty("创建时间")
@TableField("TS")
private String ts;
+ @ApiModelProperty("任务状态名称")
+ @TableField(exist = false)
+ private String statusName;
+ //设备型号
+ @ApiModelProperty("车载云台型号")
+ @TableField(exist = false)
+ private String modelName;
+ //设备型号
+ @ApiModelProperty("巡检车牌号")
+ @TableField(exist = false)
+ private String carPlate;
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java
index e22e569..b967792 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolTrack.java
@@ -67,6 +67,10 @@
@TableField("IS_ALARM")
private String isAlarm;
+ @ApiModelProperty("报警编号,生成报警后回填")
+ @TableField("ALARM_CODE")
+ private String alarmCode;
+
@ApiModelProperty("1:正常:0")
@TableField("DEVICE_STATUS")
private String deviceStatus;
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java
index 1b1d831..cfd8e93 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java
@@ -21,6 +21,8 @@
FILE_NULL(2091, "导入文件为空!"),
+ RECORD_NULL(2093, "未查询到相关记录!"),
+
FILE_READ_ROW_FAILED(2092, "读入excel异常!"),
MONITOR_VALID_FAILED(2099, "云台登录地址重复");
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java
index 635118a..b65ffc5 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/DictEnum.java
@@ -19,11 +19,21 @@
//下发
String PROCESS_SEND = "4";
+ String VALID_ADD = "0";
+
+ String VALID_DELETE = "1";
+ //未报警
+ String ALARM_ON = "0";
+ //报警
+ String ALARM_NO= "1";
//投票支持
String VOTE_APPROVE = "1";
//投票反对
String VOTE_AGAINST = "0";
String ALARM_PREFIX = "XJBJ";
+
String TASK_PREFIX = "XJRW";
+
+ String TASK_STATUS = "inspectionStatus";
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java
index fa26d05..b22d778 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.entity.AlarmRecord;
/**
@@ -15,7 +16,9 @@
*/
public interface IAlarmRecordService extends IService {
- boolean saveAlarm(AlarmRecord alarmRecord);
+ String saveAlarm(AlarmRecord alarmRecord);
+
+ boolean processAlarm(ProcessAlarmRequest request);
Page listPage(Page page, AlarmRecordRequest request);
}
diff --git a/casic-server/pom.xml b/casic-server/pom.xml
index f373547..d461e7b 100644
--- a/casic-server/pom.xml
+++ b/casic-server/pom.xml
@@ -71,6 +71,12 @@
5.8.12
+
+ org.gavaghan
+ geodesy
+ 1.1.3
+
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
index b3b43b4..5876c56 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java
@@ -7,6 +7,7 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.modular.system.dto.AlarmRecordRequest;
+import com.casic.missiles.modular.system.dto.ProcessAlarmRequest;
import com.casic.missiles.modular.system.dto.RecognitionRequest;
import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.AlarmRecord;
@@ -20,6 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +49,8 @@
private IAnalysisRecognitionService iAnalysisRecognitionService;
@Resource
private IAlarmRecordService iAlarmRecordService;
+ @Value("${casic.file.uploadPath}")
+ private String uploadPath;
@ApiOperation("算法接口")
@PostMapping("/getrecognitionRecords")
@@ -60,14 +64,14 @@
public ReturnDTO> savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) {
String path = "";
try {
- path = FileUtil.saveFile(multipartFile, "C:\\casic\\tmp\\");
+ path = FileUtil.saveFile(multipartFile, uploadPath);
} catch (IOException e) {
e.printStackTrace();
}
return ReturnUtil.success(path);
}
- @ApiOperation("新建报警")
+ @ApiOperation("新建报警,返回报警编号")
@PostMapping("/add")
public Object add(@RequestBody AlarmRecord alarmRecord) {
return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord));
@@ -83,5 +87,14 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iAlarmRecordService.listPage(page, request)));
}
+
+ @ApiOperation("报警处置")
+ @PostMapping("/processAlarm")
+ public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(iAlarmRecordService.processAlarm(request));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
new file mode 100644
index 0000000..32d8a36
--- /dev/null
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusOverViewController.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.system.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 首页 前端控制器
+ *
+ *
+ * @author zt
+ * @since 2023-07-20
+ */
+@RestController
+@RequestMapping("/system/busOverView")
+public class BusOverViewController {
+
+}
+
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
index 39d0eb5..dce5046 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolCarController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.service.IBusPatrolCarService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -32,7 +33,7 @@
@ApiOperation("新建巡检车辆")
@PostMapping("/add")
- public Object add(@RequestBody BusPatrolCar busPatrolCar) {
+ public ReturnDTO add(@RequestBody BusPatrolCar busPatrolCar) {
return ReturnUtil.success(iBusPatrolCarService.save(busPatrolCar));
@@ -40,7 +41,7 @@
@ApiOperation("车辆列表")
@PostMapping("/listPage")
- public Object listPage() {
+ public ReturnDTO listPage() {
QueryWrapper queryWrapper = new QueryWrapper<>();
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolCarService.page(page, queryWrapper)));
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
index e06f0dc..bec7887 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTaskController.java
@@ -1,17 +1,17 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
-import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
+import com.casic.missiles.modular.system.dto.*;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import com.casic.missiles.modular.system.enums.BusinessExceptionEnum;
import com.casic.missiles.modular.system.exception.BusinessException;
import com.casic.missiles.modular.system.service.IBusPatrolTaskService;
+import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,7 +19,8 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.util.Date;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Objects;
/**
@@ -33,9 +34,11 @@
@Api(tags = "巡检任务模块")
@RestController
@RequestMapping("/system/busPatrolTask")
-public class BusPatrolTaskController extends ExportController {
+public class BusPatrolTaskController extends ExportController {
@Resource
private IBusPatrolTaskService iBusPatrolTaskService;
+ @Resource
+ private IBusPatrolTrackService iBusPatrolTrackService;
@ApiOperation("新建巡检任务")
@PostMapping("/add")
@@ -61,5 +64,34 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request)));
}
+
+ @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数")
+ @PostMapping("/getDistance")
+ public ReturnDTO getDistance(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId()));
+ }
+
+ /**
+ * 批量巡检任务记录
+ */
+ @ApiOperation("批量导出巡检任务记录")
+ @RequestMapping(value = "/taskExport")
+ @ResponseBody
+ public void taskExport(@RequestBody IdsDTO idsDTO, HttpServletResponse response) {
+ List busPatrolTrackDTOList = iBusPatrolTaskService.selectLists(idsDTO.getIds());
+ iBusPatrolTaskService.exportUsersToExcel(busPatrolTrackDTOList, response);
+ }
+
+ @ApiOperation("任务详情,即该任务对应的轨迹")
+ @PostMapping("/detail")
+ public ReturnDTO detail(@RequestBody IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId()));
+ }
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
index d068947..5454a36 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolTrackController.java
@@ -1,9 +1,12 @@
package com.casic.missiles.modular.system.controller;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.modular.system.dto.ReturnDTO;
+import com.casic.missiles.modular.system.entity.BusPatrolCar;
import com.casic.missiles.modular.system.entity.BusPatrolTrack;
import com.casic.missiles.modular.system.service.IBusPatrolTrackService;
import com.casic.missiles.modular.system.util.ReturnUtil;
@@ -45,7 +48,5 @@
Page page = PageFactory.defaultPage();
return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page)));
}
-
-
}
diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
index c9016c5..7da19f9 100644
--- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
+++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusPatrolTaskMapper.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO;
import com.casic.missiles.modular.system.dto.PatrolTaskRequest;
import com.casic.missiles.modular.system.entity.BusPatrolTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* 巡检任务表 Mapper 接口
@@ -21,6 +24,8 @@
Page listPage(@Param("page")Page page, @Param("request") PatrolTaskRequest request);
+ List selectLists(@Param("ids")List