diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; 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 6ba46ad..c028826 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("云台设备ID") + @ApiModelProperty(value = "云台设备ID",required = true) @TableField("DEVICE_ID") private Long deviceId; - @ApiModelProperty("报警编号,后台生成") + @ApiModelProperty(value = "报警编号,后台生成") @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @ApiModelProperty(value = "告警类型1:浓度超限报警,2:第三方施工识别报警",required = true) @TableField("ALARM_TYPE") private String alarmType; - @ApiModelProperty("巡检任务id") + @ApiModelProperty(value = "巡检任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("报警内容") + @ApiModelProperty(value = "报警内容",required = true) @TableField("ALARM_CONTENT") private String alarmContent; - @ApiModelProperty("报警数值") + @ApiModelProperty(value = "报警数值",required = true) @TableField("ALARM_VALUE") private Double alarmValue; - @ApiModelProperty("报警阈值") + @ApiModelProperty(value = "报警阈值",required = true) @TableField("ALARM_THRESH") private Double alarmThresh; - @ApiModelProperty("报警视频路径") + @ApiModelProperty(value = "报警视频路径",required = true) @TableField("ALARM_VIDEO") private String alarmVideo; - @ApiModelProperty("报警图片路径") + @ApiModelProperty(value = "报警图片路径",required = true) @TableField("ALARM_PICTURE") private String alarmPicture; - @ApiModelProperty("报警时间") + @ApiModelProperty(value = "报警时间",required = true) @TableField("ALARM_TIME") private String alarmTime; - @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @ApiModelProperty(value = "报警状态(0:正在报警;1:已处置",required = true) @TableField("ALARM_STATUS") private String alarmStatus; - @ApiModelProperty("报警经度") + @ApiModelProperty(value = "报警经度",required = true) @TableField("ALARM_LONGITUDE") private String alarmLongitude; - @ApiModelProperty("报警纬度") + @ApiModelProperty(value = "报警纬度",required = true) @TableField("ALARM_LATITUDE") private String alarmLatitude; - @ApiModelProperty("处置时间") + @ApiModelProperty(value = "处置时间",required = true) @TableField("CANCEL_TIME") private String cancelTime; - @ApiModelProperty("处置人") + @ApiModelProperty(value = "处置人") @TableField("CANCEL_USER") private Long cancelUser; - @ApiModelProperty("处置结果") + @ApiModelProperty(value = "处置结果",required = true) @TableField("CANCEL_RESULT") private String cancelResult; - @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)") + @ApiModelProperty(value = "处置原因(1,已处置,2,无需处置,3,其他原因)",required = true) @TableField("CANCEL_REASON") private String cancelReason; - @ApiModelProperty("时间") + @ApiModelProperty(value = "时间") @TableField("TS") private LocalDateTime ts; diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; 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 6ba46ad..c028826 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("云台设备ID") + @ApiModelProperty(value = "云台设备ID",required = true) @TableField("DEVICE_ID") private Long deviceId; - @ApiModelProperty("报警编号,后台生成") + @ApiModelProperty(value = "报警编号,后台生成") @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @ApiModelProperty(value = "告警类型1:浓度超限报警,2:第三方施工识别报警",required = true) @TableField("ALARM_TYPE") private String alarmType; - @ApiModelProperty("巡检任务id") + @ApiModelProperty(value = "巡检任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("报警内容") + @ApiModelProperty(value = "报警内容",required = true) @TableField("ALARM_CONTENT") private String alarmContent; - @ApiModelProperty("报警数值") + @ApiModelProperty(value = "报警数值",required = true) @TableField("ALARM_VALUE") private Double alarmValue; - @ApiModelProperty("报警阈值") + @ApiModelProperty(value = "报警阈值",required = true) @TableField("ALARM_THRESH") private Double alarmThresh; - @ApiModelProperty("报警视频路径") + @ApiModelProperty(value = "报警视频路径",required = true) @TableField("ALARM_VIDEO") private String alarmVideo; - @ApiModelProperty("报警图片路径") + @ApiModelProperty(value = "报警图片路径",required = true) @TableField("ALARM_PICTURE") private String alarmPicture; - @ApiModelProperty("报警时间") + @ApiModelProperty(value = "报警时间",required = true) @TableField("ALARM_TIME") private String alarmTime; - @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @ApiModelProperty(value = "报警状态(0:正在报警;1:已处置",required = true) @TableField("ALARM_STATUS") private String alarmStatus; - @ApiModelProperty("报警经度") + @ApiModelProperty(value = "报警经度",required = true) @TableField("ALARM_LONGITUDE") private String alarmLongitude; - @ApiModelProperty("报警纬度") + @ApiModelProperty(value = "报警纬度",required = true) @TableField("ALARM_LATITUDE") private String alarmLatitude; - @ApiModelProperty("处置时间") + @ApiModelProperty(value = "处置时间",required = true) @TableField("CANCEL_TIME") private String cancelTime; - @ApiModelProperty("处置人") + @ApiModelProperty(value = "处置人") @TableField("CANCEL_USER") private Long cancelUser; - @ApiModelProperty("处置结果") + @ApiModelProperty(value = "处置结果",required = true) @TableField("CANCEL_RESULT") private String cancelResult; - @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)") + @ApiModelProperty(value = "处置原因(1,已处置,2,无需处置,3,其他原因)",required = true) @TableField("CANCEL_REASON") private String cancelReason; - @ApiModelProperty("时间") + @ApiModelProperty(value = "时间") @TableField("TS") private LocalDateTime ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java index 24c6a2c..680d4c5 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -27,47 +27,47 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车名称") + @ApiModelProperty(value = "巡检车名称") @TableField("CAR_NAME") private String carName; - @ApiModelProperty("车牌号") + @ApiModelProperty(value = "车牌号") @TableField("CAR_PLATE") private String carPlate; - @ApiModelProperty("备注") + @ApiModelProperty(value = "备注") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("所属机构") + @ApiModelProperty(value = "所属机构") @TableField("DEPT_ID") private Long deptId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度") @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度") @TableField("LATITUDE") private String latitude; - @ApiModelProperty("1:在线,0:离线") + @ApiModelProperty(value = "1:在线,0:离线") @TableField("`STATUS`") private String status; - @ApiModelProperty("是否有效(0:有效,1:无效)") + @ApiModelProperty(value = "是否有效(0:有效,1:无效)") @TableField("VALID") private String valid; - @ApiModelProperty("最新时间") + @ApiModelProperty(value = "最新时间") @TableField("TS") private String ts; - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String deviceModel; diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; 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 6ba46ad..c028826 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("云台设备ID") + @ApiModelProperty(value = "云台设备ID",required = true) @TableField("DEVICE_ID") private Long deviceId; - @ApiModelProperty("报警编号,后台生成") + @ApiModelProperty(value = "报警编号,后台生成") @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @ApiModelProperty(value = "告警类型1:浓度超限报警,2:第三方施工识别报警",required = true) @TableField("ALARM_TYPE") private String alarmType; - @ApiModelProperty("巡检任务id") + @ApiModelProperty(value = "巡检任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("报警内容") + @ApiModelProperty(value = "报警内容",required = true) @TableField("ALARM_CONTENT") private String alarmContent; - @ApiModelProperty("报警数值") + @ApiModelProperty(value = "报警数值",required = true) @TableField("ALARM_VALUE") private Double alarmValue; - @ApiModelProperty("报警阈值") + @ApiModelProperty(value = "报警阈值",required = true) @TableField("ALARM_THRESH") private Double alarmThresh; - @ApiModelProperty("报警视频路径") + @ApiModelProperty(value = "报警视频路径",required = true) @TableField("ALARM_VIDEO") private String alarmVideo; - @ApiModelProperty("报警图片路径") + @ApiModelProperty(value = "报警图片路径",required = true) @TableField("ALARM_PICTURE") private String alarmPicture; - @ApiModelProperty("报警时间") + @ApiModelProperty(value = "报警时间",required = true) @TableField("ALARM_TIME") private String alarmTime; - @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @ApiModelProperty(value = "报警状态(0:正在报警;1:已处置",required = true) @TableField("ALARM_STATUS") private String alarmStatus; - @ApiModelProperty("报警经度") + @ApiModelProperty(value = "报警经度",required = true) @TableField("ALARM_LONGITUDE") private String alarmLongitude; - @ApiModelProperty("报警纬度") + @ApiModelProperty(value = "报警纬度",required = true) @TableField("ALARM_LATITUDE") private String alarmLatitude; - @ApiModelProperty("处置时间") + @ApiModelProperty(value = "处置时间",required = true) @TableField("CANCEL_TIME") private String cancelTime; - @ApiModelProperty("处置人") + @ApiModelProperty(value = "处置人") @TableField("CANCEL_USER") private Long cancelUser; - @ApiModelProperty("处置结果") + @ApiModelProperty(value = "处置结果",required = true) @TableField("CANCEL_RESULT") private String cancelResult; - @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)") + @ApiModelProperty(value = "处置原因(1,已处置,2,无需处置,3,其他原因)",required = true) @TableField("CANCEL_REASON") private String cancelReason; - @ApiModelProperty("时间") + @ApiModelProperty(value = "时间") @TableField("TS") private LocalDateTime ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java index 24c6a2c..680d4c5 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -27,47 +27,47 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车名称") + @ApiModelProperty(value = "巡检车名称") @TableField("CAR_NAME") private String carName; - @ApiModelProperty("车牌号") + @ApiModelProperty(value = "车牌号") @TableField("CAR_PLATE") private String carPlate; - @ApiModelProperty("备注") + @ApiModelProperty(value = "备注") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("所属机构") + @ApiModelProperty(value = "所属机构") @TableField("DEPT_ID") private Long deptId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度") @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度") @TableField("LATITUDE") private String latitude; - @ApiModelProperty("1:在线,0:离线") + @ApiModelProperty(value = "1:在线,0:离线") @TableField("`STATUS`") private String status; - @ApiModelProperty("是否有效(0:有效,1:无效)") + @ApiModelProperty(value = "是否有效(0:有效,1:无效)") @TableField("VALID") private String valid; - @ApiModelProperty("最新时间") + @ApiModelProperty(value = "最新时间") @TableField("TS") private String ts; - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String deviceModel; 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 16391e1..4fb72ac 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车辆ID") + @ApiModelProperty(value = "巡检车辆ID",required = true) @TableField("CAR_ID") private Long carId; - @ApiModelProperty("任务名称") + @ApiModelProperty(value = "任务名称",required = true) @TableField("TASK_NAME") private String taskName; - @ApiModelProperty("任务编号,后台生成") + @ApiModelProperty(value = "任务编号,后台生成") @TableField("TASK_CODE") private String taskCode; - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") @TableField("BEGIN_DATE") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") @TableField("END_DATE") private String endDate; - @ApiModelProperty("起始经度") + @ApiModelProperty(value = "起始经度,开始的时候传",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("起始纬度") + @ApiModelProperty(value = "起始纬度,开始的时候传",required = true) @TableField("LATITUDE") private String latitude; - @ApiModelProperty("描述") + @ApiModelProperty(value = "描述") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("扩展字段1") + @ApiModelProperty(value = "扩展字段1") @TableField("DESCRIPTION1") private String description1; - @ApiModelProperty("扩展字段2") + @ApiModelProperty(value = "扩展字段2") @TableField("DESCRIPTION2") private String description2; - @ApiModelProperty("公里数") + @ApiModelProperty(value = "公里数") @TableField("KM") private String km; - @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)") - @TableField("`STATUS`") + @ApiModelProperty(value = "任务状态(1:已完成,0:进行中,新建任务填0)") + @TableField("STATUS") private String status; - @ApiModelProperty("修改时间") + @ApiModelProperty(value = "修改时间") @TableField("UPDATE_TIME") private String updateTime; - @ApiModelProperty("0:有效,1:删除") + @ApiModelProperty(value = "0:有效,1:删除") @TableField("VALID") private String valid; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; - @ApiModelProperty("任务状态名称") + @ApiModelProperty(value = "任务状态名称") @TableField(exist = false) private String statusName; //设备型号 - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String modelName; //设备型号 - @ApiModelProperty("巡检车牌号") + @ApiModelProperty(value = "巡检车牌号") @TableField(exist = false) private String carPlate; diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; 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 6ba46ad..c028826 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("云台设备ID") + @ApiModelProperty(value = "云台设备ID",required = true) @TableField("DEVICE_ID") private Long deviceId; - @ApiModelProperty("报警编号,后台生成") + @ApiModelProperty(value = "报警编号,后台生成") @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @ApiModelProperty(value = "告警类型1:浓度超限报警,2:第三方施工识别报警",required = true) @TableField("ALARM_TYPE") private String alarmType; - @ApiModelProperty("巡检任务id") + @ApiModelProperty(value = "巡检任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("报警内容") + @ApiModelProperty(value = "报警内容",required = true) @TableField("ALARM_CONTENT") private String alarmContent; - @ApiModelProperty("报警数值") + @ApiModelProperty(value = "报警数值",required = true) @TableField("ALARM_VALUE") private Double alarmValue; - @ApiModelProperty("报警阈值") + @ApiModelProperty(value = "报警阈值",required = true) @TableField("ALARM_THRESH") private Double alarmThresh; - @ApiModelProperty("报警视频路径") + @ApiModelProperty(value = "报警视频路径",required = true) @TableField("ALARM_VIDEO") private String alarmVideo; - @ApiModelProperty("报警图片路径") + @ApiModelProperty(value = "报警图片路径",required = true) @TableField("ALARM_PICTURE") private String alarmPicture; - @ApiModelProperty("报警时间") + @ApiModelProperty(value = "报警时间",required = true) @TableField("ALARM_TIME") private String alarmTime; - @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @ApiModelProperty(value = "报警状态(0:正在报警;1:已处置",required = true) @TableField("ALARM_STATUS") private String alarmStatus; - @ApiModelProperty("报警经度") + @ApiModelProperty(value = "报警经度",required = true) @TableField("ALARM_LONGITUDE") private String alarmLongitude; - @ApiModelProperty("报警纬度") + @ApiModelProperty(value = "报警纬度",required = true) @TableField("ALARM_LATITUDE") private String alarmLatitude; - @ApiModelProperty("处置时间") + @ApiModelProperty(value = "处置时间",required = true) @TableField("CANCEL_TIME") private String cancelTime; - @ApiModelProperty("处置人") + @ApiModelProperty(value = "处置人") @TableField("CANCEL_USER") private Long cancelUser; - @ApiModelProperty("处置结果") + @ApiModelProperty(value = "处置结果",required = true) @TableField("CANCEL_RESULT") private String cancelResult; - @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)") + @ApiModelProperty(value = "处置原因(1,已处置,2,无需处置,3,其他原因)",required = true) @TableField("CANCEL_REASON") private String cancelReason; - @ApiModelProperty("时间") + @ApiModelProperty(value = "时间") @TableField("TS") private LocalDateTime ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java index 24c6a2c..680d4c5 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -27,47 +27,47 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车名称") + @ApiModelProperty(value = "巡检车名称") @TableField("CAR_NAME") private String carName; - @ApiModelProperty("车牌号") + @ApiModelProperty(value = "车牌号") @TableField("CAR_PLATE") private String carPlate; - @ApiModelProperty("备注") + @ApiModelProperty(value = "备注") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("所属机构") + @ApiModelProperty(value = "所属机构") @TableField("DEPT_ID") private Long deptId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度") @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度") @TableField("LATITUDE") private String latitude; - @ApiModelProperty("1:在线,0:离线") + @ApiModelProperty(value = "1:在线,0:离线") @TableField("`STATUS`") private String status; - @ApiModelProperty("是否有效(0:有效,1:无效)") + @ApiModelProperty(value = "是否有效(0:有效,1:无效)") @TableField("VALID") private String valid; - @ApiModelProperty("最新时间") + @ApiModelProperty(value = "最新时间") @TableField("TS") private String ts; - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String deviceModel; 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 16391e1..4fb72ac 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车辆ID") + @ApiModelProperty(value = "巡检车辆ID",required = true) @TableField("CAR_ID") private Long carId; - @ApiModelProperty("任务名称") + @ApiModelProperty(value = "任务名称",required = true) @TableField("TASK_NAME") private String taskName; - @ApiModelProperty("任务编号,后台生成") + @ApiModelProperty(value = "任务编号,后台生成") @TableField("TASK_CODE") private String taskCode; - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") @TableField("BEGIN_DATE") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") @TableField("END_DATE") private String endDate; - @ApiModelProperty("起始经度") + @ApiModelProperty(value = "起始经度,开始的时候传",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("起始纬度") + @ApiModelProperty(value = "起始纬度,开始的时候传",required = true) @TableField("LATITUDE") private String latitude; - @ApiModelProperty("描述") + @ApiModelProperty(value = "描述") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("扩展字段1") + @ApiModelProperty(value = "扩展字段1") @TableField("DESCRIPTION1") private String description1; - @ApiModelProperty("扩展字段2") + @ApiModelProperty(value = "扩展字段2") @TableField("DESCRIPTION2") private String description2; - @ApiModelProperty("公里数") + @ApiModelProperty(value = "公里数") @TableField("KM") private String km; - @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)") - @TableField("`STATUS`") + @ApiModelProperty(value = "任务状态(1:已完成,0:进行中,新建任务填0)") + @TableField("STATUS") private String status; - @ApiModelProperty("修改时间") + @ApiModelProperty(value = "修改时间") @TableField("UPDATE_TIME") private String updateTime; - @ApiModelProperty("0:有效,1:删除") + @ApiModelProperty(value = "0:有效,1:删除") @TableField("VALID") private String valid; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; - @ApiModelProperty("任务状态名称") + @ApiModelProperty(value = "任务状态名称") @TableField(exist = false) private String statusName; //设备型号 - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String modelName; //设备型号 - @ApiModelProperty("巡检车牌号") + @ApiModelProperty(value = "巡检车牌号") @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 b967792..1ebc008 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 @@ -27,55 +27,55 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("任务id") + @ApiModelProperty(value = "任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度",required = true) @TableField("LAGITUDE") private String lagitude; - @ApiModelProperty("气体浓度值") + @ApiModelProperty(value = "气体浓度值",required = true) @TableField("GAS") private String gas; - @ApiModelProperty("水平值") + @ApiModelProperty(value = "水平值",required = true) @TableField("DIRECTION") private String direction; - @ApiModelProperty("垂直值") + @ApiModelProperty(value = "垂直值",required = true) @TableField("PITCH") private String pitch; - @ApiModelProperty("轨迹位置描述") + @ApiModelProperty(value = "轨迹位置描述") @TableField("POSITION") private String position; - @ApiModelProperty("车速") + @ApiModelProperty(value = "车速",required = true) @TableField("SPEED") private String speed; - @ApiModelProperty("1:报警,0:正常") + @ApiModelProperty(value = "1:报警,0:正常",required = true) @TableField("IS_ALARM") private String isAlarm; - @ApiModelProperty("报警编号,生成报警后回填") + @ApiModelProperty(value = "报警编号,生成报警后回填",required = true) @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("1:正常:0") + @ApiModelProperty(value = "1:正常:0",required = true) @TableField("DEVICE_STATUS") private String deviceStatus; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; 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 6ba46ad..c028826 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("云台设备ID") + @ApiModelProperty(value = "云台设备ID",required = true) @TableField("DEVICE_ID") private Long deviceId; - @ApiModelProperty("报警编号,后台生成") + @ApiModelProperty(value = "报警编号,后台生成") @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @ApiModelProperty(value = "告警类型1:浓度超限报警,2:第三方施工识别报警",required = true) @TableField("ALARM_TYPE") private String alarmType; - @ApiModelProperty("巡检任务id") + @ApiModelProperty(value = "巡检任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("报警内容") + @ApiModelProperty(value = "报警内容",required = true) @TableField("ALARM_CONTENT") private String alarmContent; - @ApiModelProperty("报警数值") + @ApiModelProperty(value = "报警数值",required = true) @TableField("ALARM_VALUE") private Double alarmValue; - @ApiModelProperty("报警阈值") + @ApiModelProperty(value = "报警阈值",required = true) @TableField("ALARM_THRESH") private Double alarmThresh; - @ApiModelProperty("报警视频路径") + @ApiModelProperty(value = "报警视频路径",required = true) @TableField("ALARM_VIDEO") private String alarmVideo; - @ApiModelProperty("报警图片路径") + @ApiModelProperty(value = "报警图片路径",required = true) @TableField("ALARM_PICTURE") private String alarmPicture; - @ApiModelProperty("报警时间") + @ApiModelProperty(value = "报警时间",required = true) @TableField("ALARM_TIME") private String alarmTime; - @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @ApiModelProperty(value = "报警状态(0:正在报警;1:已处置",required = true) @TableField("ALARM_STATUS") private String alarmStatus; - @ApiModelProperty("报警经度") + @ApiModelProperty(value = "报警经度",required = true) @TableField("ALARM_LONGITUDE") private String alarmLongitude; - @ApiModelProperty("报警纬度") + @ApiModelProperty(value = "报警纬度",required = true) @TableField("ALARM_LATITUDE") private String alarmLatitude; - @ApiModelProperty("处置时间") + @ApiModelProperty(value = "处置时间",required = true) @TableField("CANCEL_TIME") private String cancelTime; - @ApiModelProperty("处置人") + @ApiModelProperty(value = "处置人") @TableField("CANCEL_USER") private Long cancelUser; - @ApiModelProperty("处置结果") + @ApiModelProperty(value = "处置结果",required = true) @TableField("CANCEL_RESULT") private String cancelResult; - @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)") + @ApiModelProperty(value = "处置原因(1,已处置,2,无需处置,3,其他原因)",required = true) @TableField("CANCEL_REASON") private String cancelReason; - @ApiModelProperty("时间") + @ApiModelProperty(value = "时间") @TableField("TS") private LocalDateTime ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java index 24c6a2c..680d4c5 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -27,47 +27,47 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车名称") + @ApiModelProperty(value = "巡检车名称") @TableField("CAR_NAME") private String carName; - @ApiModelProperty("车牌号") + @ApiModelProperty(value = "车牌号") @TableField("CAR_PLATE") private String carPlate; - @ApiModelProperty("备注") + @ApiModelProperty(value = "备注") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("所属机构") + @ApiModelProperty(value = "所属机构") @TableField("DEPT_ID") private Long deptId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度") @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度") @TableField("LATITUDE") private String latitude; - @ApiModelProperty("1:在线,0:离线") + @ApiModelProperty(value = "1:在线,0:离线") @TableField("`STATUS`") private String status; - @ApiModelProperty("是否有效(0:有效,1:无效)") + @ApiModelProperty(value = "是否有效(0:有效,1:无效)") @TableField("VALID") private String valid; - @ApiModelProperty("最新时间") + @ApiModelProperty(value = "最新时间") @TableField("TS") private String ts; - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String deviceModel; 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 16391e1..4fb72ac 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车辆ID") + @ApiModelProperty(value = "巡检车辆ID",required = true) @TableField("CAR_ID") private Long carId; - @ApiModelProperty("任务名称") + @ApiModelProperty(value = "任务名称",required = true) @TableField("TASK_NAME") private String taskName; - @ApiModelProperty("任务编号,后台生成") + @ApiModelProperty(value = "任务编号,后台生成") @TableField("TASK_CODE") private String taskCode; - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") @TableField("BEGIN_DATE") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") @TableField("END_DATE") private String endDate; - @ApiModelProperty("起始经度") + @ApiModelProperty(value = "起始经度,开始的时候传",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("起始纬度") + @ApiModelProperty(value = "起始纬度,开始的时候传",required = true) @TableField("LATITUDE") private String latitude; - @ApiModelProperty("描述") + @ApiModelProperty(value = "描述") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("扩展字段1") + @ApiModelProperty(value = "扩展字段1") @TableField("DESCRIPTION1") private String description1; - @ApiModelProperty("扩展字段2") + @ApiModelProperty(value = "扩展字段2") @TableField("DESCRIPTION2") private String description2; - @ApiModelProperty("公里数") + @ApiModelProperty(value = "公里数") @TableField("KM") private String km; - @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)") - @TableField("`STATUS`") + @ApiModelProperty(value = "任务状态(1:已完成,0:进行中,新建任务填0)") + @TableField("STATUS") private String status; - @ApiModelProperty("修改时间") + @ApiModelProperty(value = "修改时间") @TableField("UPDATE_TIME") private String updateTime; - @ApiModelProperty("0:有效,1:删除") + @ApiModelProperty(value = "0:有效,1:删除") @TableField("VALID") private String valid; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; - @ApiModelProperty("任务状态名称") + @ApiModelProperty(value = "任务状态名称") @TableField(exist = false) private String statusName; //设备型号 - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String modelName; //设备型号 - @ApiModelProperty("巡检车牌号") + @ApiModelProperty(value = "巡检车牌号") @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 b967792..1ebc008 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 @@ -27,55 +27,55 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("任务id") + @ApiModelProperty(value = "任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度",required = true) @TableField("LAGITUDE") private String lagitude; - @ApiModelProperty("气体浓度值") + @ApiModelProperty(value = "气体浓度值",required = true) @TableField("GAS") private String gas; - @ApiModelProperty("水平值") + @ApiModelProperty(value = "水平值",required = true) @TableField("DIRECTION") private String direction; - @ApiModelProperty("垂直值") + @ApiModelProperty(value = "垂直值",required = true) @TableField("PITCH") private String pitch; - @ApiModelProperty("轨迹位置描述") + @ApiModelProperty(value = "轨迹位置描述") @TableField("POSITION") private String position; - @ApiModelProperty("车速") + @ApiModelProperty(value = "车速",required = true) @TableField("SPEED") private String speed; - @ApiModelProperty("1:报警,0:正常") + @ApiModelProperty(value = "1:报警,0:正常",required = true) @TableField("IS_ALARM") private String isAlarm; - @ApiModelProperty("报警编号,生成报警后回填") + @ApiModelProperty(value = "报警编号,生成报警后回填",required = true) @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("1:正常:0") + @ApiModelProperty(value = "1:正常:0",required = true) @TableField("DEVICE_STATUS") private String deviceStatus; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java index 85c11f0..e70e18a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -5,11 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; import java.io.Serializable; -import java.time.LocalDateTime; /** *

@@ -19,73 +17,171 @@ * @author zt * @since 2023-07-20 */ -@Getter -@Setter +@Data @TableName("bus_pipe_overstock") @ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") -public class BusPipeOverstock implements Serializable { +public class BusPipeOverstock implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") - @TableId("ID") - private Long id; - - @ApiModelProperty("编号") - @TableField("STOCK_CODE") - private String stockCode; - - @ApiModelProperty("管线类型") - @TableField("PIPE_TYPE") - private String pipeType; - - @ApiModelProperty("占压类型") - @TableField("STOCK_TYPE") - private String stockType; - - @ApiModelProperty("占压分类") - @TableField("STOCK_CLASSIFY") - private String stockClassify; - - @ApiModelProperty("占压等级") - @TableField("STOCK_LEVEL") - private String stockLevel; - - @ApiModelProperty("图片") - @TableField("STOCK_PICTURE") - private String stockPicture; - - @ApiModelProperty("占压时间") - @TableField("STOCK_TIME") - private String stockTime; - - @ApiModelProperty("风险等级") - @TableField("RISK_LEVEL") - private String riskLevel; - - @ApiModelProperty("纬度") - @TableField("LATITUDE") - private String latitude; - + @ApiModelProperty("序号") + @TableId("Serial_number") + private String serialNumber; + @ApiModelProperty("隐患编号") + @TableField("Hidden_danger_number") + private String hiddenDangerNumber; + @ApiModelProperty("一级分类") + @TableField("Primary_classification") + private String primaryClassification; + @ApiModelProperty("二级分类") + @TableField("Secondary_classification") + private String secondaryClassification; + @ApiModelProperty("隐患描述") + @TableField("Hidden_danger_description") + private String hiddenDangerDescription; + @ApiModelProperty("管网类型") + @TableField("Pipe_network_type") + private String pipeNetworkType; + @ApiModelProperty("管网编码设备编码") + @TableField("Equipment_number") + private String equipmentNumber; + @ApiModelProperty("地点") + private String Location; @ApiModelProperty("经度") - @TableField("LONGITUDE") - private String longitude; - - @ApiModelProperty("占压位置") - @TableField("POSITION") - private String position; - - @ApiModelProperty("是否指令(0:无,1:是)") - @TableField("IS_HANDLE") - private String isHandle; - - @ApiModelProperty("治理规则") - @TableField("HANDLE_RULE") - private String handleRule; - - @ApiModelProperty("时间") - @TableField("TS") - private LocalDateTime ts; - + private String Longitude; + @ApiModelProperty("纬度") + private String Latitude; + @ApiModelProperty("是否在小区内") + @TableField("Whether_it_is_in_the_community") + private String whetherItIsInTheCommunity; + @ApiModelProperty("小区内占压类型") + @TableField("Occupying_type") + private String occupyingType; + @ApiModelProperty("小区名称") + @TableField("Community_name") + private String communityName; + @ApiModelProperty("发现时间") + @TableField("Discovery_time") + private String discoveryTime; + @ApiModelProperty("所在区县") + private String District; + @ApiModelProperty("所在街乡") + private String Street; + @ApiModelProperty("隐患等级") + @TableField("Hidden_danger_level") + private String hiddenDangerLevel; + @ApiModelProperty("管理责任企业") + @TableField("Responsible_management_enterprise") + private String responsibleManagementEnterprise; + @ApiModelProperty("责任人") + @TableField("Person_in_charge") + private String personInCharge; + @ApiModelProperty("计划消除时限") + @TableField("Planned_elimination_time_limit") + private String plannedEliminationTimeLimit; + @ApiModelProperty("治理情况") + @TableField("Governance_situation") + private String governanceSituation; + @ApiModelProperty("消除时间") + @TableField("Elimination_time") + private String eliminationTime; + @ApiModelProperty("产权性质") + @TableField("Property_right_nature") + private String propertyRightNature; + @ApiModelProperty("备注") + private String Remark; + @ApiModelProperty("占压企业个人名称") + @TableField("Occupied_enterprise_personal_name") + private String occupiedEnterprisePersonalName; + @ApiModelProperty("占压单位性质") + @TableField("Occupation_unit_property") + private String occupationUnitProperty; + @ApiModelProperty("占压物建成年代") + @TableField("Date_of_construction_of_the_occupation") + private String dateOfConstructionOfTheOccupation; + @ApiModelProperty("有无占压物建设批准文件") + @TableField("any_approval_documents_for_the_construction") + private String anyApprovalDocumentsForTheConstruction; + @ApiModelProperty("占压物用途") + @TableField("Use_of_the_occupation") + private String useOfTheOccupation; + @ApiModelProperty("占压物描述") + @TableField("Description_of_the_occupation") + private String descriptionOfTheOccupation; + @ApiModelProperty("有无经常性人员活动") + @TableField("Are_there_regular_staff_activities") + private String areThereRegularStaffActivities; + @ApiModelProperty("占压物面积") + @TableField("Area_of_occupation") + private String areaOfOccupation; + @ApiModelProperty("是否具备改移条件") + @TableField("Whether_there_are_conditions_for_relocation") + private String whetherThereAreConditionsForRelocation; + @ApiModelProperty("年份") + @TableField("Year_of_commencement_of_operation") + private String yearOfCommencementOfOperation; + @ApiModelProperty("年代类别") + @TableField("Year_of_use") + private String yearOfUse; + @ApiModelProperty("有无管线建设批准文件") + @TableField("Is_there_any_pipeline_construction_approval_document") + private String isThereAnyPipelineConstructionApprovalDocument; + @ApiModelProperty("管线埋深") + @TableField("Pipeline_depth") + private String pipelineDepth; + @ApiModelProperty("管径") + @TableField("Pipe_diameter") + private String pipeDiameter; + @ApiModelProperty("管线压力") + @TableField("Line_pressure") + private String linePressure; + @ApiModelProperty("占压管线长度") + @TableField("Pipeline_length") + private String pipelineLength; + @ApiModelProperty("是否纳入技改计划") + @TableField("Whether_it_is_included_in_the_technical_reform_plan") + private String whetherItIsIncludedInTheTechnicalReformPlan; + @ApiModelProperty("技改项目号") + @TableField("Technical_transformation_project_number") + private String technicalTransformationProjectNumber; + @ApiModelProperty("防控措施") + @TableField("Prevention_and_control_measures") + private String preventionAndControlMeasures; + @ApiModelProperty("治理计划") + @TableField("Governance_plan") + private String governancePlan; + @ApiModelProperty("限购或停气情况") + @TableField("Purchase_restriction_or_gas_shutdown") + private String purchaseRestrictionOrGasShutdown; + @ApiModelProperty("改线工程名称") + @TableField("Name_of_the_diversion_project") + private String nameOfTheDiversionProject; + @ApiModelProperty("改线工程编号") + @TableField("Number_of_the_diversion_project") + private String numberOfTheDiversionProject; + @ApiModelProperty("改线进展统计") + @TableField("Progress_statistics_of_the_diversion_project") + private String progressStatisticsOfTheDiversionProject; + @ApiModelProperty("与区县对接联系人") + @TableField("Contact_person") + private String contactPerson; + @ApiModelProperty("特级占压分类情况") + @TableField("Super_occupying_pressure_classification") + private String superOccupyingPressureClassification; + @ApiModelProperty("空字段1") + @TableField("Empty_field_1") + private String emptyField1; + @ApiModelProperty("空字段2") + @TableField("Empty_field_2") + private String emptyField2; + @ApiModelProperty("空字段3") + @TableField("Empty_field_3") + private String emptyField3; + @ApiModelProperty("空字段4") + @TableField("Empty_field_4") + private String emptyField4; + @ApiModelProperty("空字段5") + @TableField("Empty_field_5") + private String emptyField5; } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; 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 6ba46ad..c028826 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("云台设备ID") + @ApiModelProperty(value = "云台设备ID",required = true) @TableField("DEVICE_ID") private Long deviceId; - @ApiModelProperty("报警编号,后台生成") + @ApiModelProperty(value = "报警编号,后台生成") @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @ApiModelProperty(value = "告警类型1:浓度超限报警,2:第三方施工识别报警",required = true) @TableField("ALARM_TYPE") private String alarmType; - @ApiModelProperty("巡检任务id") + @ApiModelProperty(value = "巡检任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("报警内容") + @ApiModelProperty(value = "报警内容",required = true) @TableField("ALARM_CONTENT") private String alarmContent; - @ApiModelProperty("报警数值") + @ApiModelProperty(value = "报警数值",required = true) @TableField("ALARM_VALUE") private Double alarmValue; - @ApiModelProperty("报警阈值") + @ApiModelProperty(value = "报警阈值",required = true) @TableField("ALARM_THRESH") private Double alarmThresh; - @ApiModelProperty("报警视频路径") + @ApiModelProperty(value = "报警视频路径",required = true) @TableField("ALARM_VIDEO") private String alarmVideo; - @ApiModelProperty("报警图片路径") + @ApiModelProperty(value = "报警图片路径",required = true) @TableField("ALARM_PICTURE") private String alarmPicture; - @ApiModelProperty("报警时间") + @ApiModelProperty(value = "报警时间",required = true) @TableField("ALARM_TIME") private String alarmTime; - @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @ApiModelProperty(value = "报警状态(0:正在报警;1:已处置",required = true) @TableField("ALARM_STATUS") private String alarmStatus; - @ApiModelProperty("报警经度") + @ApiModelProperty(value = "报警经度",required = true) @TableField("ALARM_LONGITUDE") private String alarmLongitude; - @ApiModelProperty("报警纬度") + @ApiModelProperty(value = "报警纬度",required = true) @TableField("ALARM_LATITUDE") private String alarmLatitude; - @ApiModelProperty("处置时间") + @ApiModelProperty(value = "处置时间",required = true) @TableField("CANCEL_TIME") private String cancelTime; - @ApiModelProperty("处置人") + @ApiModelProperty(value = "处置人") @TableField("CANCEL_USER") private Long cancelUser; - @ApiModelProperty("处置结果") + @ApiModelProperty(value = "处置结果",required = true) @TableField("CANCEL_RESULT") private String cancelResult; - @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)") + @ApiModelProperty(value = "处置原因(1,已处置,2,无需处置,3,其他原因)",required = true) @TableField("CANCEL_REASON") private String cancelReason; - @ApiModelProperty("时间") + @ApiModelProperty(value = "时间") @TableField("TS") private LocalDateTime ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java index 24c6a2c..680d4c5 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -27,47 +27,47 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车名称") + @ApiModelProperty(value = "巡检车名称") @TableField("CAR_NAME") private String carName; - @ApiModelProperty("车牌号") + @ApiModelProperty(value = "车牌号") @TableField("CAR_PLATE") private String carPlate; - @ApiModelProperty("备注") + @ApiModelProperty(value = "备注") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("所属机构") + @ApiModelProperty(value = "所属机构") @TableField("DEPT_ID") private Long deptId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度") @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度") @TableField("LATITUDE") private String latitude; - @ApiModelProperty("1:在线,0:离线") + @ApiModelProperty(value = "1:在线,0:离线") @TableField("`STATUS`") private String status; - @ApiModelProperty("是否有效(0:有效,1:无效)") + @ApiModelProperty(value = "是否有效(0:有效,1:无效)") @TableField("VALID") private String valid; - @ApiModelProperty("最新时间") + @ApiModelProperty(value = "最新时间") @TableField("TS") private String ts; - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String deviceModel; 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 16391e1..4fb72ac 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车辆ID") + @ApiModelProperty(value = "巡检车辆ID",required = true) @TableField("CAR_ID") private Long carId; - @ApiModelProperty("任务名称") + @ApiModelProperty(value = "任务名称",required = true) @TableField("TASK_NAME") private String taskName; - @ApiModelProperty("任务编号,后台生成") + @ApiModelProperty(value = "任务编号,后台生成") @TableField("TASK_CODE") private String taskCode; - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") @TableField("BEGIN_DATE") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") @TableField("END_DATE") private String endDate; - @ApiModelProperty("起始经度") + @ApiModelProperty(value = "起始经度,开始的时候传",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("起始纬度") + @ApiModelProperty(value = "起始纬度,开始的时候传",required = true) @TableField("LATITUDE") private String latitude; - @ApiModelProperty("描述") + @ApiModelProperty(value = "描述") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("扩展字段1") + @ApiModelProperty(value = "扩展字段1") @TableField("DESCRIPTION1") private String description1; - @ApiModelProperty("扩展字段2") + @ApiModelProperty(value = "扩展字段2") @TableField("DESCRIPTION2") private String description2; - @ApiModelProperty("公里数") + @ApiModelProperty(value = "公里数") @TableField("KM") private String km; - @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)") - @TableField("`STATUS`") + @ApiModelProperty(value = "任务状态(1:已完成,0:进行中,新建任务填0)") + @TableField("STATUS") private String status; - @ApiModelProperty("修改时间") + @ApiModelProperty(value = "修改时间") @TableField("UPDATE_TIME") private String updateTime; - @ApiModelProperty("0:有效,1:删除") + @ApiModelProperty(value = "0:有效,1:删除") @TableField("VALID") private String valid; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; - @ApiModelProperty("任务状态名称") + @ApiModelProperty(value = "任务状态名称") @TableField(exist = false) private String statusName; //设备型号 - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String modelName; //设备型号 - @ApiModelProperty("巡检车牌号") + @ApiModelProperty(value = "巡检车牌号") @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 b967792..1ebc008 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 @@ -27,55 +27,55 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("任务id") + @ApiModelProperty(value = "任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度",required = true) @TableField("LAGITUDE") private String lagitude; - @ApiModelProperty("气体浓度值") + @ApiModelProperty(value = "气体浓度值",required = true) @TableField("GAS") private String gas; - @ApiModelProperty("水平值") + @ApiModelProperty(value = "水平值",required = true) @TableField("DIRECTION") private String direction; - @ApiModelProperty("垂直值") + @ApiModelProperty(value = "垂直值",required = true) @TableField("PITCH") private String pitch; - @ApiModelProperty("轨迹位置描述") + @ApiModelProperty(value = "轨迹位置描述") @TableField("POSITION") private String position; - @ApiModelProperty("车速") + @ApiModelProperty(value = "车速",required = true) @TableField("SPEED") private String speed; - @ApiModelProperty("1:报警,0:正常") + @ApiModelProperty(value = "1:报警,0:正常",required = true) @TableField("IS_ALARM") private String isAlarm; - @ApiModelProperty("报警编号,生成报警后回填") + @ApiModelProperty(value = "报警编号,生成报警后回填",required = true) @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("1:正常:0") + @ApiModelProperty(value = "1:正常:0",required = true) @TableField("DEVICE_STATUS") private String deviceStatus; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java index 85c11f0..e70e18a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -5,11 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; import java.io.Serializable; -import java.time.LocalDateTime; /** *

@@ -19,73 +17,171 @@ * @author zt * @since 2023-07-20 */ -@Getter -@Setter +@Data @TableName("bus_pipe_overstock") @ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") -public class BusPipeOverstock implements Serializable { +public class BusPipeOverstock implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") - @TableId("ID") - private Long id; - - @ApiModelProperty("编号") - @TableField("STOCK_CODE") - private String stockCode; - - @ApiModelProperty("管线类型") - @TableField("PIPE_TYPE") - private String pipeType; - - @ApiModelProperty("占压类型") - @TableField("STOCK_TYPE") - private String stockType; - - @ApiModelProperty("占压分类") - @TableField("STOCK_CLASSIFY") - private String stockClassify; - - @ApiModelProperty("占压等级") - @TableField("STOCK_LEVEL") - private String stockLevel; - - @ApiModelProperty("图片") - @TableField("STOCK_PICTURE") - private String stockPicture; - - @ApiModelProperty("占压时间") - @TableField("STOCK_TIME") - private String stockTime; - - @ApiModelProperty("风险等级") - @TableField("RISK_LEVEL") - private String riskLevel; - - @ApiModelProperty("纬度") - @TableField("LATITUDE") - private String latitude; - + @ApiModelProperty("序号") + @TableId("Serial_number") + private String serialNumber; + @ApiModelProperty("隐患编号") + @TableField("Hidden_danger_number") + private String hiddenDangerNumber; + @ApiModelProperty("一级分类") + @TableField("Primary_classification") + private String primaryClassification; + @ApiModelProperty("二级分类") + @TableField("Secondary_classification") + private String secondaryClassification; + @ApiModelProperty("隐患描述") + @TableField("Hidden_danger_description") + private String hiddenDangerDescription; + @ApiModelProperty("管网类型") + @TableField("Pipe_network_type") + private String pipeNetworkType; + @ApiModelProperty("管网编码设备编码") + @TableField("Equipment_number") + private String equipmentNumber; + @ApiModelProperty("地点") + private String Location; @ApiModelProperty("经度") - @TableField("LONGITUDE") - private String longitude; - - @ApiModelProperty("占压位置") - @TableField("POSITION") - private String position; - - @ApiModelProperty("是否指令(0:无,1:是)") - @TableField("IS_HANDLE") - private String isHandle; - - @ApiModelProperty("治理规则") - @TableField("HANDLE_RULE") - private String handleRule; - - @ApiModelProperty("时间") - @TableField("TS") - private LocalDateTime ts; - + private String Longitude; + @ApiModelProperty("纬度") + private String Latitude; + @ApiModelProperty("是否在小区内") + @TableField("Whether_it_is_in_the_community") + private String whetherItIsInTheCommunity; + @ApiModelProperty("小区内占压类型") + @TableField("Occupying_type") + private String occupyingType; + @ApiModelProperty("小区名称") + @TableField("Community_name") + private String communityName; + @ApiModelProperty("发现时间") + @TableField("Discovery_time") + private String discoveryTime; + @ApiModelProperty("所在区县") + private String District; + @ApiModelProperty("所在街乡") + private String Street; + @ApiModelProperty("隐患等级") + @TableField("Hidden_danger_level") + private String hiddenDangerLevel; + @ApiModelProperty("管理责任企业") + @TableField("Responsible_management_enterprise") + private String responsibleManagementEnterprise; + @ApiModelProperty("责任人") + @TableField("Person_in_charge") + private String personInCharge; + @ApiModelProperty("计划消除时限") + @TableField("Planned_elimination_time_limit") + private String plannedEliminationTimeLimit; + @ApiModelProperty("治理情况") + @TableField("Governance_situation") + private String governanceSituation; + @ApiModelProperty("消除时间") + @TableField("Elimination_time") + private String eliminationTime; + @ApiModelProperty("产权性质") + @TableField("Property_right_nature") + private String propertyRightNature; + @ApiModelProperty("备注") + private String Remark; + @ApiModelProperty("占压企业个人名称") + @TableField("Occupied_enterprise_personal_name") + private String occupiedEnterprisePersonalName; + @ApiModelProperty("占压单位性质") + @TableField("Occupation_unit_property") + private String occupationUnitProperty; + @ApiModelProperty("占压物建成年代") + @TableField("Date_of_construction_of_the_occupation") + private String dateOfConstructionOfTheOccupation; + @ApiModelProperty("有无占压物建设批准文件") + @TableField("any_approval_documents_for_the_construction") + private String anyApprovalDocumentsForTheConstruction; + @ApiModelProperty("占压物用途") + @TableField("Use_of_the_occupation") + private String useOfTheOccupation; + @ApiModelProperty("占压物描述") + @TableField("Description_of_the_occupation") + private String descriptionOfTheOccupation; + @ApiModelProperty("有无经常性人员活动") + @TableField("Are_there_regular_staff_activities") + private String areThereRegularStaffActivities; + @ApiModelProperty("占压物面积") + @TableField("Area_of_occupation") + private String areaOfOccupation; + @ApiModelProperty("是否具备改移条件") + @TableField("Whether_there_are_conditions_for_relocation") + private String whetherThereAreConditionsForRelocation; + @ApiModelProperty("年份") + @TableField("Year_of_commencement_of_operation") + private String yearOfCommencementOfOperation; + @ApiModelProperty("年代类别") + @TableField("Year_of_use") + private String yearOfUse; + @ApiModelProperty("有无管线建设批准文件") + @TableField("Is_there_any_pipeline_construction_approval_document") + private String isThereAnyPipelineConstructionApprovalDocument; + @ApiModelProperty("管线埋深") + @TableField("Pipeline_depth") + private String pipelineDepth; + @ApiModelProperty("管径") + @TableField("Pipe_diameter") + private String pipeDiameter; + @ApiModelProperty("管线压力") + @TableField("Line_pressure") + private String linePressure; + @ApiModelProperty("占压管线长度") + @TableField("Pipeline_length") + private String pipelineLength; + @ApiModelProperty("是否纳入技改计划") + @TableField("Whether_it_is_included_in_the_technical_reform_plan") + private String whetherItIsIncludedInTheTechnicalReformPlan; + @ApiModelProperty("技改项目号") + @TableField("Technical_transformation_project_number") + private String technicalTransformationProjectNumber; + @ApiModelProperty("防控措施") + @TableField("Prevention_and_control_measures") + private String preventionAndControlMeasures; + @ApiModelProperty("治理计划") + @TableField("Governance_plan") + private String governancePlan; + @ApiModelProperty("限购或停气情况") + @TableField("Purchase_restriction_or_gas_shutdown") + private String purchaseRestrictionOrGasShutdown; + @ApiModelProperty("改线工程名称") + @TableField("Name_of_the_diversion_project") + private String nameOfTheDiversionProject; + @ApiModelProperty("改线工程编号") + @TableField("Number_of_the_diversion_project") + private String numberOfTheDiversionProject; + @ApiModelProperty("改线进展统计") + @TableField("Progress_statistics_of_the_diversion_project") + private String progressStatisticsOfTheDiversionProject; + @ApiModelProperty("与区县对接联系人") + @TableField("Contact_person") + private String contactPerson; + @ApiModelProperty("特级占压分类情况") + @TableField("Super_occupying_pressure_classification") + private String superOccupyingPressureClassification; + @ApiModelProperty("空字段1") + @TableField("Empty_field_1") + private String emptyField1; + @ApiModelProperty("空字段2") + @TableField("Empty_field_2") + private String emptyField2; + @ApiModelProperty("空字段3") + @TableField("Empty_field_3") + private String emptyField3; + @ApiModelProperty("空字段4") + @TableField("Empty_field_4") + private String emptyField4; + @ApiModelProperty("空字段5") + @TableField("Empty_field_5") + private String emptyField5; } 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 cfd8e93..e074f7c 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 @@ -11,6 +11,8 @@ HANDLE_FAILED(500, "操作失败"), + ALARM_CODE_FAILED(5003, "报警编号不能为空"), + CODE_NULL(501, "字典code不能为空"), SAVE_FAILED(400, "保存失败"), diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; 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 6ba46ad..c028826 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("云台设备ID") + @ApiModelProperty(value = "云台设备ID",required = true) @TableField("DEVICE_ID") private Long deviceId; - @ApiModelProperty("报警编号,后台生成") + @ApiModelProperty(value = "报警编号,后台生成") @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @ApiModelProperty(value = "告警类型1:浓度超限报警,2:第三方施工识别报警",required = true) @TableField("ALARM_TYPE") private String alarmType; - @ApiModelProperty("巡检任务id") + @ApiModelProperty(value = "巡检任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("报警内容") + @ApiModelProperty(value = "报警内容",required = true) @TableField("ALARM_CONTENT") private String alarmContent; - @ApiModelProperty("报警数值") + @ApiModelProperty(value = "报警数值",required = true) @TableField("ALARM_VALUE") private Double alarmValue; - @ApiModelProperty("报警阈值") + @ApiModelProperty(value = "报警阈值",required = true) @TableField("ALARM_THRESH") private Double alarmThresh; - @ApiModelProperty("报警视频路径") + @ApiModelProperty(value = "报警视频路径",required = true) @TableField("ALARM_VIDEO") private String alarmVideo; - @ApiModelProperty("报警图片路径") + @ApiModelProperty(value = "报警图片路径",required = true) @TableField("ALARM_PICTURE") private String alarmPicture; - @ApiModelProperty("报警时间") + @ApiModelProperty(value = "报警时间",required = true) @TableField("ALARM_TIME") private String alarmTime; - @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @ApiModelProperty(value = "报警状态(0:正在报警;1:已处置",required = true) @TableField("ALARM_STATUS") private String alarmStatus; - @ApiModelProperty("报警经度") + @ApiModelProperty(value = "报警经度",required = true) @TableField("ALARM_LONGITUDE") private String alarmLongitude; - @ApiModelProperty("报警纬度") + @ApiModelProperty(value = "报警纬度",required = true) @TableField("ALARM_LATITUDE") private String alarmLatitude; - @ApiModelProperty("处置时间") + @ApiModelProperty(value = "处置时间",required = true) @TableField("CANCEL_TIME") private String cancelTime; - @ApiModelProperty("处置人") + @ApiModelProperty(value = "处置人") @TableField("CANCEL_USER") private Long cancelUser; - @ApiModelProperty("处置结果") + @ApiModelProperty(value = "处置结果",required = true) @TableField("CANCEL_RESULT") private String cancelResult; - @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)") + @ApiModelProperty(value = "处置原因(1,已处置,2,无需处置,3,其他原因)",required = true) @TableField("CANCEL_REASON") private String cancelReason; - @ApiModelProperty("时间") + @ApiModelProperty(value = "时间") @TableField("TS") private LocalDateTime ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java index 24c6a2c..680d4c5 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -27,47 +27,47 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车名称") + @ApiModelProperty(value = "巡检车名称") @TableField("CAR_NAME") private String carName; - @ApiModelProperty("车牌号") + @ApiModelProperty(value = "车牌号") @TableField("CAR_PLATE") private String carPlate; - @ApiModelProperty("备注") + @ApiModelProperty(value = "备注") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("所属机构") + @ApiModelProperty(value = "所属机构") @TableField("DEPT_ID") private Long deptId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度") @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度") @TableField("LATITUDE") private String latitude; - @ApiModelProperty("1:在线,0:离线") + @ApiModelProperty(value = "1:在线,0:离线") @TableField("`STATUS`") private String status; - @ApiModelProperty("是否有效(0:有效,1:无效)") + @ApiModelProperty(value = "是否有效(0:有效,1:无效)") @TableField("VALID") private String valid; - @ApiModelProperty("最新时间") + @ApiModelProperty(value = "最新时间") @TableField("TS") private String ts; - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String deviceModel; 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 16391e1..4fb72ac 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车辆ID") + @ApiModelProperty(value = "巡检车辆ID",required = true) @TableField("CAR_ID") private Long carId; - @ApiModelProperty("任务名称") + @ApiModelProperty(value = "任务名称",required = true) @TableField("TASK_NAME") private String taskName; - @ApiModelProperty("任务编号,后台生成") + @ApiModelProperty(value = "任务编号,后台生成") @TableField("TASK_CODE") private String taskCode; - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") @TableField("BEGIN_DATE") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") @TableField("END_DATE") private String endDate; - @ApiModelProperty("起始经度") + @ApiModelProperty(value = "起始经度,开始的时候传",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("起始纬度") + @ApiModelProperty(value = "起始纬度,开始的时候传",required = true) @TableField("LATITUDE") private String latitude; - @ApiModelProperty("描述") + @ApiModelProperty(value = "描述") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("扩展字段1") + @ApiModelProperty(value = "扩展字段1") @TableField("DESCRIPTION1") private String description1; - @ApiModelProperty("扩展字段2") + @ApiModelProperty(value = "扩展字段2") @TableField("DESCRIPTION2") private String description2; - @ApiModelProperty("公里数") + @ApiModelProperty(value = "公里数") @TableField("KM") private String km; - @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)") - @TableField("`STATUS`") + @ApiModelProperty(value = "任务状态(1:已完成,0:进行中,新建任务填0)") + @TableField("STATUS") private String status; - @ApiModelProperty("修改时间") + @ApiModelProperty(value = "修改时间") @TableField("UPDATE_TIME") private String updateTime; - @ApiModelProperty("0:有效,1:删除") + @ApiModelProperty(value = "0:有效,1:删除") @TableField("VALID") private String valid; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; - @ApiModelProperty("任务状态名称") + @ApiModelProperty(value = "任务状态名称") @TableField(exist = false) private String statusName; //设备型号 - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String modelName; //设备型号 - @ApiModelProperty("巡检车牌号") + @ApiModelProperty(value = "巡检车牌号") @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 b967792..1ebc008 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 @@ -27,55 +27,55 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("任务id") + @ApiModelProperty(value = "任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度",required = true) @TableField("LAGITUDE") private String lagitude; - @ApiModelProperty("气体浓度值") + @ApiModelProperty(value = "气体浓度值",required = true) @TableField("GAS") private String gas; - @ApiModelProperty("水平值") + @ApiModelProperty(value = "水平值",required = true) @TableField("DIRECTION") private String direction; - @ApiModelProperty("垂直值") + @ApiModelProperty(value = "垂直值",required = true) @TableField("PITCH") private String pitch; - @ApiModelProperty("轨迹位置描述") + @ApiModelProperty(value = "轨迹位置描述") @TableField("POSITION") private String position; - @ApiModelProperty("车速") + @ApiModelProperty(value = "车速",required = true) @TableField("SPEED") private String speed; - @ApiModelProperty("1:报警,0:正常") + @ApiModelProperty(value = "1:报警,0:正常",required = true) @TableField("IS_ALARM") private String isAlarm; - @ApiModelProperty("报警编号,生成报警后回填") + @ApiModelProperty(value = "报警编号,生成报警后回填",required = true) @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("1:正常:0") + @ApiModelProperty(value = "1:正常:0",required = true) @TableField("DEVICE_STATUS") private String deviceStatus; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java index 85c11f0..e70e18a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -5,11 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; import java.io.Serializable; -import java.time.LocalDateTime; /** *

@@ -19,73 +17,171 @@ * @author zt * @since 2023-07-20 */ -@Getter -@Setter +@Data @TableName("bus_pipe_overstock") @ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") -public class BusPipeOverstock implements Serializable { +public class BusPipeOverstock implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") - @TableId("ID") - private Long id; - - @ApiModelProperty("编号") - @TableField("STOCK_CODE") - private String stockCode; - - @ApiModelProperty("管线类型") - @TableField("PIPE_TYPE") - private String pipeType; - - @ApiModelProperty("占压类型") - @TableField("STOCK_TYPE") - private String stockType; - - @ApiModelProperty("占压分类") - @TableField("STOCK_CLASSIFY") - private String stockClassify; - - @ApiModelProperty("占压等级") - @TableField("STOCK_LEVEL") - private String stockLevel; - - @ApiModelProperty("图片") - @TableField("STOCK_PICTURE") - private String stockPicture; - - @ApiModelProperty("占压时间") - @TableField("STOCK_TIME") - private String stockTime; - - @ApiModelProperty("风险等级") - @TableField("RISK_LEVEL") - private String riskLevel; - - @ApiModelProperty("纬度") - @TableField("LATITUDE") - private String latitude; - + @ApiModelProperty("序号") + @TableId("Serial_number") + private String serialNumber; + @ApiModelProperty("隐患编号") + @TableField("Hidden_danger_number") + private String hiddenDangerNumber; + @ApiModelProperty("一级分类") + @TableField("Primary_classification") + private String primaryClassification; + @ApiModelProperty("二级分类") + @TableField("Secondary_classification") + private String secondaryClassification; + @ApiModelProperty("隐患描述") + @TableField("Hidden_danger_description") + private String hiddenDangerDescription; + @ApiModelProperty("管网类型") + @TableField("Pipe_network_type") + private String pipeNetworkType; + @ApiModelProperty("管网编码设备编码") + @TableField("Equipment_number") + private String equipmentNumber; + @ApiModelProperty("地点") + private String Location; @ApiModelProperty("经度") - @TableField("LONGITUDE") - private String longitude; - - @ApiModelProperty("占压位置") - @TableField("POSITION") - private String position; - - @ApiModelProperty("是否指令(0:无,1:是)") - @TableField("IS_HANDLE") - private String isHandle; - - @ApiModelProperty("治理规则") - @TableField("HANDLE_RULE") - private String handleRule; - - @ApiModelProperty("时间") - @TableField("TS") - private LocalDateTime ts; - + private String Longitude; + @ApiModelProperty("纬度") + private String Latitude; + @ApiModelProperty("是否在小区内") + @TableField("Whether_it_is_in_the_community") + private String whetherItIsInTheCommunity; + @ApiModelProperty("小区内占压类型") + @TableField("Occupying_type") + private String occupyingType; + @ApiModelProperty("小区名称") + @TableField("Community_name") + private String communityName; + @ApiModelProperty("发现时间") + @TableField("Discovery_time") + private String discoveryTime; + @ApiModelProperty("所在区县") + private String District; + @ApiModelProperty("所在街乡") + private String Street; + @ApiModelProperty("隐患等级") + @TableField("Hidden_danger_level") + private String hiddenDangerLevel; + @ApiModelProperty("管理责任企业") + @TableField("Responsible_management_enterprise") + private String responsibleManagementEnterprise; + @ApiModelProperty("责任人") + @TableField("Person_in_charge") + private String personInCharge; + @ApiModelProperty("计划消除时限") + @TableField("Planned_elimination_time_limit") + private String plannedEliminationTimeLimit; + @ApiModelProperty("治理情况") + @TableField("Governance_situation") + private String governanceSituation; + @ApiModelProperty("消除时间") + @TableField("Elimination_time") + private String eliminationTime; + @ApiModelProperty("产权性质") + @TableField("Property_right_nature") + private String propertyRightNature; + @ApiModelProperty("备注") + private String Remark; + @ApiModelProperty("占压企业个人名称") + @TableField("Occupied_enterprise_personal_name") + private String occupiedEnterprisePersonalName; + @ApiModelProperty("占压单位性质") + @TableField("Occupation_unit_property") + private String occupationUnitProperty; + @ApiModelProperty("占压物建成年代") + @TableField("Date_of_construction_of_the_occupation") + private String dateOfConstructionOfTheOccupation; + @ApiModelProperty("有无占压物建设批准文件") + @TableField("any_approval_documents_for_the_construction") + private String anyApprovalDocumentsForTheConstruction; + @ApiModelProperty("占压物用途") + @TableField("Use_of_the_occupation") + private String useOfTheOccupation; + @ApiModelProperty("占压物描述") + @TableField("Description_of_the_occupation") + private String descriptionOfTheOccupation; + @ApiModelProperty("有无经常性人员活动") + @TableField("Are_there_regular_staff_activities") + private String areThereRegularStaffActivities; + @ApiModelProperty("占压物面积") + @TableField("Area_of_occupation") + private String areaOfOccupation; + @ApiModelProperty("是否具备改移条件") + @TableField("Whether_there_are_conditions_for_relocation") + private String whetherThereAreConditionsForRelocation; + @ApiModelProperty("年份") + @TableField("Year_of_commencement_of_operation") + private String yearOfCommencementOfOperation; + @ApiModelProperty("年代类别") + @TableField("Year_of_use") + private String yearOfUse; + @ApiModelProperty("有无管线建设批准文件") + @TableField("Is_there_any_pipeline_construction_approval_document") + private String isThereAnyPipelineConstructionApprovalDocument; + @ApiModelProperty("管线埋深") + @TableField("Pipeline_depth") + private String pipelineDepth; + @ApiModelProperty("管径") + @TableField("Pipe_diameter") + private String pipeDiameter; + @ApiModelProperty("管线压力") + @TableField("Line_pressure") + private String linePressure; + @ApiModelProperty("占压管线长度") + @TableField("Pipeline_length") + private String pipelineLength; + @ApiModelProperty("是否纳入技改计划") + @TableField("Whether_it_is_included_in_the_technical_reform_plan") + private String whetherItIsIncludedInTheTechnicalReformPlan; + @ApiModelProperty("技改项目号") + @TableField("Technical_transformation_project_number") + private String technicalTransformationProjectNumber; + @ApiModelProperty("防控措施") + @TableField("Prevention_and_control_measures") + private String preventionAndControlMeasures; + @ApiModelProperty("治理计划") + @TableField("Governance_plan") + private String governancePlan; + @ApiModelProperty("限购或停气情况") + @TableField("Purchase_restriction_or_gas_shutdown") + private String purchaseRestrictionOrGasShutdown; + @ApiModelProperty("改线工程名称") + @TableField("Name_of_the_diversion_project") + private String nameOfTheDiversionProject; + @ApiModelProperty("改线工程编号") + @TableField("Number_of_the_diversion_project") + private String numberOfTheDiversionProject; + @ApiModelProperty("改线进展统计") + @TableField("Progress_statistics_of_the_diversion_project") + private String progressStatisticsOfTheDiversionProject; + @ApiModelProperty("与区县对接联系人") + @TableField("Contact_person") + private String contactPerson; + @ApiModelProperty("特级占压分类情况") + @TableField("Super_occupying_pressure_classification") + private String superOccupyingPressureClassification; + @ApiModelProperty("空字段1") + @TableField("Empty_field_1") + private String emptyField1; + @ApiModelProperty("空字段2") + @TableField("Empty_field_2") + private String emptyField2; + @ApiModelProperty("空字段3") + @TableField("Empty_field_3") + private String emptyField3; + @ApiModelProperty("空字段4") + @TableField("Empty_field_4") + private String emptyField4; + @ApiModelProperty("空字段5") + @TableField("Empty_field_5") + private String emptyField5; } 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 cfd8e93..e074f7c 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 @@ -11,6 +11,8 @@ HANDLE_FAILED(500, "操作失败"), + ALARM_CODE_FAILED(5003, "报警编号不能为空"), + CODE_NULL(501, "字典code不能为空"), SAVE_FAILED(400, "保存失败"), diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java index 0be8c95..948224d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -34,4 +34,8 @@ Map taskCount(String begTime, String endTime); List> taskTime(String timeType); + + boolean endTask(Long id); + + boolean batchDelete(List ids); } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; 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 6ba46ad..c028826 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("云台设备ID") + @ApiModelProperty(value = "云台设备ID",required = true) @TableField("DEVICE_ID") private Long deviceId; - @ApiModelProperty("报警编号,后台生成") + @ApiModelProperty(value = "报警编号,后台生成") @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @ApiModelProperty(value = "告警类型1:浓度超限报警,2:第三方施工识别报警",required = true) @TableField("ALARM_TYPE") private String alarmType; - @ApiModelProperty("巡检任务id") + @ApiModelProperty(value = "巡检任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("报警内容") + @ApiModelProperty(value = "报警内容",required = true) @TableField("ALARM_CONTENT") private String alarmContent; - @ApiModelProperty("报警数值") + @ApiModelProperty(value = "报警数值",required = true) @TableField("ALARM_VALUE") private Double alarmValue; - @ApiModelProperty("报警阈值") + @ApiModelProperty(value = "报警阈值",required = true) @TableField("ALARM_THRESH") private Double alarmThresh; - @ApiModelProperty("报警视频路径") + @ApiModelProperty(value = "报警视频路径",required = true) @TableField("ALARM_VIDEO") private String alarmVideo; - @ApiModelProperty("报警图片路径") + @ApiModelProperty(value = "报警图片路径",required = true) @TableField("ALARM_PICTURE") private String alarmPicture; - @ApiModelProperty("报警时间") + @ApiModelProperty(value = "报警时间",required = true) @TableField("ALARM_TIME") private String alarmTime; - @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @ApiModelProperty(value = "报警状态(0:正在报警;1:已处置",required = true) @TableField("ALARM_STATUS") private String alarmStatus; - @ApiModelProperty("报警经度") + @ApiModelProperty(value = "报警经度",required = true) @TableField("ALARM_LONGITUDE") private String alarmLongitude; - @ApiModelProperty("报警纬度") + @ApiModelProperty(value = "报警纬度",required = true) @TableField("ALARM_LATITUDE") private String alarmLatitude; - @ApiModelProperty("处置时间") + @ApiModelProperty(value = "处置时间",required = true) @TableField("CANCEL_TIME") private String cancelTime; - @ApiModelProperty("处置人") + @ApiModelProperty(value = "处置人") @TableField("CANCEL_USER") private Long cancelUser; - @ApiModelProperty("处置结果") + @ApiModelProperty(value = "处置结果",required = true) @TableField("CANCEL_RESULT") private String cancelResult; - @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)") + @ApiModelProperty(value = "处置原因(1,已处置,2,无需处置,3,其他原因)",required = true) @TableField("CANCEL_REASON") private String cancelReason; - @ApiModelProperty("时间") + @ApiModelProperty(value = "时间") @TableField("TS") private LocalDateTime ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java index 24c6a2c..680d4c5 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -27,47 +27,47 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车名称") + @ApiModelProperty(value = "巡检车名称") @TableField("CAR_NAME") private String carName; - @ApiModelProperty("车牌号") + @ApiModelProperty(value = "车牌号") @TableField("CAR_PLATE") private String carPlate; - @ApiModelProperty("备注") + @ApiModelProperty(value = "备注") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("所属机构") + @ApiModelProperty(value = "所属机构") @TableField("DEPT_ID") private Long deptId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度") @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度") @TableField("LATITUDE") private String latitude; - @ApiModelProperty("1:在线,0:离线") + @ApiModelProperty(value = "1:在线,0:离线") @TableField("`STATUS`") private String status; - @ApiModelProperty("是否有效(0:有效,1:无效)") + @ApiModelProperty(value = "是否有效(0:有效,1:无效)") @TableField("VALID") private String valid; - @ApiModelProperty("最新时间") + @ApiModelProperty(value = "最新时间") @TableField("TS") private String ts; - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String deviceModel; 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 16391e1..4fb72ac 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车辆ID") + @ApiModelProperty(value = "巡检车辆ID",required = true) @TableField("CAR_ID") private Long carId; - @ApiModelProperty("任务名称") + @ApiModelProperty(value = "任务名称",required = true) @TableField("TASK_NAME") private String taskName; - @ApiModelProperty("任务编号,后台生成") + @ApiModelProperty(value = "任务编号,后台生成") @TableField("TASK_CODE") private String taskCode; - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") @TableField("BEGIN_DATE") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") @TableField("END_DATE") private String endDate; - @ApiModelProperty("起始经度") + @ApiModelProperty(value = "起始经度,开始的时候传",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("起始纬度") + @ApiModelProperty(value = "起始纬度,开始的时候传",required = true) @TableField("LATITUDE") private String latitude; - @ApiModelProperty("描述") + @ApiModelProperty(value = "描述") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("扩展字段1") + @ApiModelProperty(value = "扩展字段1") @TableField("DESCRIPTION1") private String description1; - @ApiModelProperty("扩展字段2") + @ApiModelProperty(value = "扩展字段2") @TableField("DESCRIPTION2") private String description2; - @ApiModelProperty("公里数") + @ApiModelProperty(value = "公里数") @TableField("KM") private String km; - @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)") - @TableField("`STATUS`") + @ApiModelProperty(value = "任务状态(1:已完成,0:进行中,新建任务填0)") + @TableField("STATUS") private String status; - @ApiModelProperty("修改时间") + @ApiModelProperty(value = "修改时间") @TableField("UPDATE_TIME") private String updateTime; - @ApiModelProperty("0:有效,1:删除") + @ApiModelProperty(value = "0:有效,1:删除") @TableField("VALID") private String valid; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; - @ApiModelProperty("任务状态名称") + @ApiModelProperty(value = "任务状态名称") @TableField(exist = false) private String statusName; //设备型号 - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String modelName; //设备型号 - @ApiModelProperty("巡检车牌号") + @ApiModelProperty(value = "巡检车牌号") @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 b967792..1ebc008 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 @@ -27,55 +27,55 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("任务id") + @ApiModelProperty(value = "任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度",required = true) @TableField("LAGITUDE") private String lagitude; - @ApiModelProperty("气体浓度值") + @ApiModelProperty(value = "气体浓度值",required = true) @TableField("GAS") private String gas; - @ApiModelProperty("水平值") + @ApiModelProperty(value = "水平值",required = true) @TableField("DIRECTION") private String direction; - @ApiModelProperty("垂直值") + @ApiModelProperty(value = "垂直值",required = true) @TableField("PITCH") private String pitch; - @ApiModelProperty("轨迹位置描述") + @ApiModelProperty(value = "轨迹位置描述") @TableField("POSITION") private String position; - @ApiModelProperty("车速") + @ApiModelProperty(value = "车速",required = true) @TableField("SPEED") private String speed; - @ApiModelProperty("1:报警,0:正常") + @ApiModelProperty(value = "1:报警,0:正常",required = true) @TableField("IS_ALARM") private String isAlarm; - @ApiModelProperty("报警编号,生成报警后回填") + @ApiModelProperty(value = "报警编号,生成报警后回填",required = true) @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("1:正常:0") + @ApiModelProperty(value = "1:正常:0",required = true) @TableField("DEVICE_STATUS") private String deviceStatus; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java index 85c11f0..e70e18a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -5,11 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; import java.io.Serializable; -import java.time.LocalDateTime; /** *

@@ -19,73 +17,171 @@ * @author zt * @since 2023-07-20 */ -@Getter -@Setter +@Data @TableName("bus_pipe_overstock") @ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") -public class BusPipeOverstock implements Serializable { +public class BusPipeOverstock implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") - @TableId("ID") - private Long id; - - @ApiModelProperty("编号") - @TableField("STOCK_CODE") - private String stockCode; - - @ApiModelProperty("管线类型") - @TableField("PIPE_TYPE") - private String pipeType; - - @ApiModelProperty("占压类型") - @TableField("STOCK_TYPE") - private String stockType; - - @ApiModelProperty("占压分类") - @TableField("STOCK_CLASSIFY") - private String stockClassify; - - @ApiModelProperty("占压等级") - @TableField("STOCK_LEVEL") - private String stockLevel; - - @ApiModelProperty("图片") - @TableField("STOCK_PICTURE") - private String stockPicture; - - @ApiModelProperty("占压时间") - @TableField("STOCK_TIME") - private String stockTime; - - @ApiModelProperty("风险等级") - @TableField("RISK_LEVEL") - private String riskLevel; - - @ApiModelProperty("纬度") - @TableField("LATITUDE") - private String latitude; - + @ApiModelProperty("序号") + @TableId("Serial_number") + private String serialNumber; + @ApiModelProperty("隐患编号") + @TableField("Hidden_danger_number") + private String hiddenDangerNumber; + @ApiModelProperty("一级分类") + @TableField("Primary_classification") + private String primaryClassification; + @ApiModelProperty("二级分类") + @TableField("Secondary_classification") + private String secondaryClassification; + @ApiModelProperty("隐患描述") + @TableField("Hidden_danger_description") + private String hiddenDangerDescription; + @ApiModelProperty("管网类型") + @TableField("Pipe_network_type") + private String pipeNetworkType; + @ApiModelProperty("管网编码设备编码") + @TableField("Equipment_number") + private String equipmentNumber; + @ApiModelProperty("地点") + private String Location; @ApiModelProperty("经度") - @TableField("LONGITUDE") - private String longitude; - - @ApiModelProperty("占压位置") - @TableField("POSITION") - private String position; - - @ApiModelProperty("是否指令(0:无,1:是)") - @TableField("IS_HANDLE") - private String isHandle; - - @ApiModelProperty("治理规则") - @TableField("HANDLE_RULE") - private String handleRule; - - @ApiModelProperty("时间") - @TableField("TS") - private LocalDateTime ts; - + private String Longitude; + @ApiModelProperty("纬度") + private String Latitude; + @ApiModelProperty("是否在小区内") + @TableField("Whether_it_is_in_the_community") + private String whetherItIsInTheCommunity; + @ApiModelProperty("小区内占压类型") + @TableField("Occupying_type") + private String occupyingType; + @ApiModelProperty("小区名称") + @TableField("Community_name") + private String communityName; + @ApiModelProperty("发现时间") + @TableField("Discovery_time") + private String discoveryTime; + @ApiModelProperty("所在区县") + private String District; + @ApiModelProperty("所在街乡") + private String Street; + @ApiModelProperty("隐患等级") + @TableField("Hidden_danger_level") + private String hiddenDangerLevel; + @ApiModelProperty("管理责任企业") + @TableField("Responsible_management_enterprise") + private String responsibleManagementEnterprise; + @ApiModelProperty("责任人") + @TableField("Person_in_charge") + private String personInCharge; + @ApiModelProperty("计划消除时限") + @TableField("Planned_elimination_time_limit") + private String plannedEliminationTimeLimit; + @ApiModelProperty("治理情况") + @TableField("Governance_situation") + private String governanceSituation; + @ApiModelProperty("消除时间") + @TableField("Elimination_time") + private String eliminationTime; + @ApiModelProperty("产权性质") + @TableField("Property_right_nature") + private String propertyRightNature; + @ApiModelProperty("备注") + private String Remark; + @ApiModelProperty("占压企业个人名称") + @TableField("Occupied_enterprise_personal_name") + private String occupiedEnterprisePersonalName; + @ApiModelProperty("占压单位性质") + @TableField("Occupation_unit_property") + private String occupationUnitProperty; + @ApiModelProperty("占压物建成年代") + @TableField("Date_of_construction_of_the_occupation") + private String dateOfConstructionOfTheOccupation; + @ApiModelProperty("有无占压物建设批准文件") + @TableField("any_approval_documents_for_the_construction") + private String anyApprovalDocumentsForTheConstruction; + @ApiModelProperty("占压物用途") + @TableField("Use_of_the_occupation") + private String useOfTheOccupation; + @ApiModelProperty("占压物描述") + @TableField("Description_of_the_occupation") + private String descriptionOfTheOccupation; + @ApiModelProperty("有无经常性人员活动") + @TableField("Are_there_regular_staff_activities") + private String areThereRegularStaffActivities; + @ApiModelProperty("占压物面积") + @TableField("Area_of_occupation") + private String areaOfOccupation; + @ApiModelProperty("是否具备改移条件") + @TableField("Whether_there_are_conditions_for_relocation") + private String whetherThereAreConditionsForRelocation; + @ApiModelProperty("年份") + @TableField("Year_of_commencement_of_operation") + private String yearOfCommencementOfOperation; + @ApiModelProperty("年代类别") + @TableField("Year_of_use") + private String yearOfUse; + @ApiModelProperty("有无管线建设批准文件") + @TableField("Is_there_any_pipeline_construction_approval_document") + private String isThereAnyPipelineConstructionApprovalDocument; + @ApiModelProperty("管线埋深") + @TableField("Pipeline_depth") + private String pipelineDepth; + @ApiModelProperty("管径") + @TableField("Pipe_diameter") + private String pipeDiameter; + @ApiModelProperty("管线压力") + @TableField("Line_pressure") + private String linePressure; + @ApiModelProperty("占压管线长度") + @TableField("Pipeline_length") + private String pipelineLength; + @ApiModelProperty("是否纳入技改计划") + @TableField("Whether_it_is_included_in_the_technical_reform_plan") + private String whetherItIsIncludedInTheTechnicalReformPlan; + @ApiModelProperty("技改项目号") + @TableField("Technical_transformation_project_number") + private String technicalTransformationProjectNumber; + @ApiModelProperty("防控措施") + @TableField("Prevention_and_control_measures") + private String preventionAndControlMeasures; + @ApiModelProperty("治理计划") + @TableField("Governance_plan") + private String governancePlan; + @ApiModelProperty("限购或停气情况") + @TableField("Purchase_restriction_or_gas_shutdown") + private String purchaseRestrictionOrGasShutdown; + @ApiModelProperty("改线工程名称") + @TableField("Name_of_the_diversion_project") + private String nameOfTheDiversionProject; + @ApiModelProperty("改线工程编号") + @TableField("Number_of_the_diversion_project") + private String numberOfTheDiversionProject; + @ApiModelProperty("改线进展统计") + @TableField("Progress_statistics_of_the_diversion_project") + private String progressStatisticsOfTheDiversionProject; + @ApiModelProperty("与区县对接联系人") + @TableField("Contact_person") + private String contactPerson; + @ApiModelProperty("特级占压分类情况") + @TableField("Super_occupying_pressure_classification") + private String superOccupyingPressureClassification; + @ApiModelProperty("空字段1") + @TableField("Empty_field_1") + private String emptyField1; + @ApiModelProperty("空字段2") + @TableField("Empty_field_2") + private String emptyField2; + @ApiModelProperty("空字段3") + @TableField("Empty_field_3") + private String emptyField3; + @ApiModelProperty("空字段4") + @TableField("Empty_field_4") + private String emptyField4; + @ApiModelProperty("空字段5") + @TableField("Empty_field_5") + private String emptyField5; } 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 cfd8e93..e074f7c 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 @@ -11,6 +11,8 @@ HANDLE_FAILED(500, "操作失败"), + ALARM_CODE_FAILED(5003, "报警编号不能为空"), + CODE_NULL(501, "字典code不能为空"), SAVE_FAILED(400, "保存失败"), diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java index 0be8c95..948224d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -34,4 +34,8 @@ Map taskCount(String begTime, String endTime); List> taskTime(String timeType); + + boolean endTask(Long id); + + boolean batchDelete(List ids); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 2a8b52e..4119a81 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -1,6 +1,10 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import javax.servlet.http.HttpServletResponse; @@ -20,4 +24,8 @@ List getByTask(Long taskId); + BusPatrolTrack getLastTrack(Long taskId); + + Page listPage(Page page, PatrolTrackRequest request); + } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; 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 6ba46ad..c028826 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("云台设备ID") + @ApiModelProperty(value = "云台设备ID",required = true) @TableField("DEVICE_ID") private Long deviceId; - @ApiModelProperty("报警编号,后台生成") + @ApiModelProperty(value = "报警编号,后台生成") @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @ApiModelProperty(value = "告警类型1:浓度超限报警,2:第三方施工识别报警",required = true) @TableField("ALARM_TYPE") private String alarmType; - @ApiModelProperty("巡检任务id") + @ApiModelProperty(value = "巡检任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("报警内容") + @ApiModelProperty(value = "报警内容",required = true) @TableField("ALARM_CONTENT") private String alarmContent; - @ApiModelProperty("报警数值") + @ApiModelProperty(value = "报警数值",required = true) @TableField("ALARM_VALUE") private Double alarmValue; - @ApiModelProperty("报警阈值") + @ApiModelProperty(value = "报警阈值",required = true) @TableField("ALARM_THRESH") private Double alarmThresh; - @ApiModelProperty("报警视频路径") + @ApiModelProperty(value = "报警视频路径",required = true) @TableField("ALARM_VIDEO") private String alarmVideo; - @ApiModelProperty("报警图片路径") + @ApiModelProperty(value = "报警图片路径",required = true) @TableField("ALARM_PICTURE") private String alarmPicture; - @ApiModelProperty("报警时间") + @ApiModelProperty(value = "报警时间",required = true) @TableField("ALARM_TIME") private String alarmTime; - @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @ApiModelProperty(value = "报警状态(0:正在报警;1:已处置",required = true) @TableField("ALARM_STATUS") private String alarmStatus; - @ApiModelProperty("报警经度") + @ApiModelProperty(value = "报警经度",required = true) @TableField("ALARM_LONGITUDE") private String alarmLongitude; - @ApiModelProperty("报警纬度") + @ApiModelProperty(value = "报警纬度",required = true) @TableField("ALARM_LATITUDE") private String alarmLatitude; - @ApiModelProperty("处置时间") + @ApiModelProperty(value = "处置时间",required = true) @TableField("CANCEL_TIME") private String cancelTime; - @ApiModelProperty("处置人") + @ApiModelProperty(value = "处置人") @TableField("CANCEL_USER") private Long cancelUser; - @ApiModelProperty("处置结果") + @ApiModelProperty(value = "处置结果",required = true) @TableField("CANCEL_RESULT") private String cancelResult; - @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)") + @ApiModelProperty(value = "处置原因(1,已处置,2,无需处置,3,其他原因)",required = true) @TableField("CANCEL_REASON") private String cancelReason; - @ApiModelProperty("时间") + @ApiModelProperty(value = "时间") @TableField("TS") private LocalDateTime ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java index 24c6a2c..680d4c5 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -27,47 +27,47 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车名称") + @ApiModelProperty(value = "巡检车名称") @TableField("CAR_NAME") private String carName; - @ApiModelProperty("车牌号") + @ApiModelProperty(value = "车牌号") @TableField("CAR_PLATE") private String carPlate; - @ApiModelProperty("备注") + @ApiModelProperty(value = "备注") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("所属机构") + @ApiModelProperty(value = "所属机构") @TableField("DEPT_ID") private Long deptId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度") @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度") @TableField("LATITUDE") private String latitude; - @ApiModelProperty("1:在线,0:离线") + @ApiModelProperty(value = "1:在线,0:离线") @TableField("`STATUS`") private String status; - @ApiModelProperty("是否有效(0:有效,1:无效)") + @ApiModelProperty(value = "是否有效(0:有效,1:无效)") @TableField("VALID") private String valid; - @ApiModelProperty("最新时间") + @ApiModelProperty(value = "最新时间") @TableField("TS") private String ts; - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String deviceModel; 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 16391e1..4fb72ac 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车辆ID") + @ApiModelProperty(value = "巡检车辆ID",required = true) @TableField("CAR_ID") private Long carId; - @ApiModelProperty("任务名称") + @ApiModelProperty(value = "任务名称",required = true) @TableField("TASK_NAME") private String taskName; - @ApiModelProperty("任务编号,后台生成") + @ApiModelProperty(value = "任务编号,后台生成") @TableField("TASK_CODE") private String taskCode; - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") @TableField("BEGIN_DATE") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") @TableField("END_DATE") private String endDate; - @ApiModelProperty("起始经度") + @ApiModelProperty(value = "起始经度,开始的时候传",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("起始纬度") + @ApiModelProperty(value = "起始纬度,开始的时候传",required = true) @TableField("LATITUDE") private String latitude; - @ApiModelProperty("描述") + @ApiModelProperty(value = "描述") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("扩展字段1") + @ApiModelProperty(value = "扩展字段1") @TableField("DESCRIPTION1") private String description1; - @ApiModelProperty("扩展字段2") + @ApiModelProperty(value = "扩展字段2") @TableField("DESCRIPTION2") private String description2; - @ApiModelProperty("公里数") + @ApiModelProperty(value = "公里数") @TableField("KM") private String km; - @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)") - @TableField("`STATUS`") + @ApiModelProperty(value = "任务状态(1:已完成,0:进行中,新建任务填0)") + @TableField("STATUS") private String status; - @ApiModelProperty("修改时间") + @ApiModelProperty(value = "修改时间") @TableField("UPDATE_TIME") private String updateTime; - @ApiModelProperty("0:有效,1:删除") + @ApiModelProperty(value = "0:有效,1:删除") @TableField("VALID") private String valid; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; - @ApiModelProperty("任务状态名称") + @ApiModelProperty(value = "任务状态名称") @TableField(exist = false) private String statusName; //设备型号 - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String modelName; //设备型号 - @ApiModelProperty("巡检车牌号") + @ApiModelProperty(value = "巡检车牌号") @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 b967792..1ebc008 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 @@ -27,55 +27,55 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("任务id") + @ApiModelProperty(value = "任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度",required = true) @TableField("LAGITUDE") private String lagitude; - @ApiModelProperty("气体浓度值") + @ApiModelProperty(value = "气体浓度值",required = true) @TableField("GAS") private String gas; - @ApiModelProperty("水平值") + @ApiModelProperty(value = "水平值",required = true) @TableField("DIRECTION") private String direction; - @ApiModelProperty("垂直值") + @ApiModelProperty(value = "垂直值",required = true) @TableField("PITCH") private String pitch; - @ApiModelProperty("轨迹位置描述") + @ApiModelProperty(value = "轨迹位置描述") @TableField("POSITION") private String position; - @ApiModelProperty("车速") + @ApiModelProperty(value = "车速",required = true) @TableField("SPEED") private String speed; - @ApiModelProperty("1:报警,0:正常") + @ApiModelProperty(value = "1:报警,0:正常",required = true) @TableField("IS_ALARM") private String isAlarm; - @ApiModelProperty("报警编号,生成报警后回填") + @ApiModelProperty(value = "报警编号,生成报警后回填",required = true) @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("1:正常:0") + @ApiModelProperty(value = "1:正常:0",required = true) @TableField("DEVICE_STATUS") private String deviceStatus; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java index 85c11f0..e70e18a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -5,11 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; import java.io.Serializable; -import java.time.LocalDateTime; /** *

@@ -19,73 +17,171 @@ * @author zt * @since 2023-07-20 */ -@Getter -@Setter +@Data @TableName("bus_pipe_overstock") @ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") -public class BusPipeOverstock implements Serializable { +public class BusPipeOverstock implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") - @TableId("ID") - private Long id; - - @ApiModelProperty("编号") - @TableField("STOCK_CODE") - private String stockCode; - - @ApiModelProperty("管线类型") - @TableField("PIPE_TYPE") - private String pipeType; - - @ApiModelProperty("占压类型") - @TableField("STOCK_TYPE") - private String stockType; - - @ApiModelProperty("占压分类") - @TableField("STOCK_CLASSIFY") - private String stockClassify; - - @ApiModelProperty("占压等级") - @TableField("STOCK_LEVEL") - private String stockLevel; - - @ApiModelProperty("图片") - @TableField("STOCK_PICTURE") - private String stockPicture; - - @ApiModelProperty("占压时间") - @TableField("STOCK_TIME") - private String stockTime; - - @ApiModelProperty("风险等级") - @TableField("RISK_LEVEL") - private String riskLevel; - - @ApiModelProperty("纬度") - @TableField("LATITUDE") - private String latitude; - + @ApiModelProperty("序号") + @TableId("Serial_number") + private String serialNumber; + @ApiModelProperty("隐患编号") + @TableField("Hidden_danger_number") + private String hiddenDangerNumber; + @ApiModelProperty("一级分类") + @TableField("Primary_classification") + private String primaryClassification; + @ApiModelProperty("二级分类") + @TableField("Secondary_classification") + private String secondaryClassification; + @ApiModelProperty("隐患描述") + @TableField("Hidden_danger_description") + private String hiddenDangerDescription; + @ApiModelProperty("管网类型") + @TableField("Pipe_network_type") + private String pipeNetworkType; + @ApiModelProperty("管网编码设备编码") + @TableField("Equipment_number") + private String equipmentNumber; + @ApiModelProperty("地点") + private String Location; @ApiModelProperty("经度") - @TableField("LONGITUDE") - private String longitude; - - @ApiModelProperty("占压位置") - @TableField("POSITION") - private String position; - - @ApiModelProperty("是否指令(0:无,1:是)") - @TableField("IS_HANDLE") - private String isHandle; - - @ApiModelProperty("治理规则") - @TableField("HANDLE_RULE") - private String handleRule; - - @ApiModelProperty("时间") - @TableField("TS") - private LocalDateTime ts; - + private String Longitude; + @ApiModelProperty("纬度") + private String Latitude; + @ApiModelProperty("是否在小区内") + @TableField("Whether_it_is_in_the_community") + private String whetherItIsInTheCommunity; + @ApiModelProperty("小区内占压类型") + @TableField("Occupying_type") + private String occupyingType; + @ApiModelProperty("小区名称") + @TableField("Community_name") + private String communityName; + @ApiModelProperty("发现时间") + @TableField("Discovery_time") + private String discoveryTime; + @ApiModelProperty("所在区县") + private String District; + @ApiModelProperty("所在街乡") + private String Street; + @ApiModelProperty("隐患等级") + @TableField("Hidden_danger_level") + private String hiddenDangerLevel; + @ApiModelProperty("管理责任企业") + @TableField("Responsible_management_enterprise") + private String responsibleManagementEnterprise; + @ApiModelProperty("责任人") + @TableField("Person_in_charge") + private String personInCharge; + @ApiModelProperty("计划消除时限") + @TableField("Planned_elimination_time_limit") + private String plannedEliminationTimeLimit; + @ApiModelProperty("治理情况") + @TableField("Governance_situation") + private String governanceSituation; + @ApiModelProperty("消除时间") + @TableField("Elimination_time") + private String eliminationTime; + @ApiModelProperty("产权性质") + @TableField("Property_right_nature") + private String propertyRightNature; + @ApiModelProperty("备注") + private String Remark; + @ApiModelProperty("占压企业个人名称") + @TableField("Occupied_enterprise_personal_name") + private String occupiedEnterprisePersonalName; + @ApiModelProperty("占压单位性质") + @TableField("Occupation_unit_property") + private String occupationUnitProperty; + @ApiModelProperty("占压物建成年代") + @TableField("Date_of_construction_of_the_occupation") + private String dateOfConstructionOfTheOccupation; + @ApiModelProperty("有无占压物建设批准文件") + @TableField("any_approval_documents_for_the_construction") + private String anyApprovalDocumentsForTheConstruction; + @ApiModelProperty("占压物用途") + @TableField("Use_of_the_occupation") + private String useOfTheOccupation; + @ApiModelProperty("占压物描述") + @TableField("Description_of_the_occupation") + private String descriptionOfTheOccupation; + @ApiModelProperty("有无经常性人员活动") + @TableField("Are_there_regular_staff_activities") + private String areThereRegularStaffActivities; + @ApiModelProperty("占压物面积") + @TableField("Area_of_occupation") + private String areaOfOccupation; + @ApiModelProperty("是否具备改移条件") + @TableField("Whether_there_are_conditions_for_relocation") + private String whetherThereAreConditionsForRelocation; + @ApiModelProperty("年份") + @TableField("Year_of_commencement_of_operation") + private String yearOfCommencementOfOperation; + @ApiModelProperty("年代类别") + @TableField("Year_of_use") + private String yearOfUse; + @ApiModelProperty("有无管线建设批准文件") + @TableField("Is_there_any_pipeline_construction_approval_document") + private String isThereAnyPipelineConstructionApprovalDocument; + @ApiModelProperty("管线埋深") + @TableField("Pipeline_depth") + private String pipelineDepth; + @ApiModelProperty("管径") + @TableField("Pipe_diameter") + private String pipeDiameter; + @ApiModelProperty("管线压力") + @TableField("Line_pressure") + private String linePressure; + @ApiModelProperty("占压管线长度") + @TableField("Pipeline_length") + private String pipelineLength; + @ApiModelProperty("是否纳入技改计划") + @TableField("Whether_it_is_included_in_the_technical_reform_plan") + private String whetherItIsIncludedInTheTechnicalReformPlan; + @ApiModelProperty("技改项目号") + @TableField("Technical_transformation_project_number") + private String technicalTransformationProjectNumber; + @ApiModelProperty("防控措施") + @TableField("Prevention_and_control_measures") + private String preventionAndControlMeasures; + @ApiModelProperty("治理计划") + @TableField("Governance_plan") + private String governancePlan; + @ApiModelProperty("限购或停气情况") + @TableField("Purchase_restriction_or_gas_shutdown") + private String purchaseRestrictionOrGasShutdown; + @ApiModelProperty("改线工程名称") + @TableField("Name_of_the_diversion_project") + private String nameOfTheDiversionProject; + @ApiModelProperty("改线工程编号") + @TableField("Number_of_the_diversion_project") + private String numberOfTheDiversionProject; + @ApiModelProperty("改线进展统计") + @TableField("Progress_statistics_of_the_diversion_project") + private String progressStatisticsOfTheDiversionProject; + @ApiModelProperty("与区县对接联系人") + @TableField("Contact_person") + private String contactPerson; + @ApiModelProperty("特级占压分类情况") + @TableField("Super_occupying_pressure_classification") + private String superOccupyingPressureClassification; + @ApiModelProperty("空字段1") + @TableField("Empty_field_1") + private String emptyField1; + @ApiModelProperty("空字段2") + @TableField("Empty_field_2") + private String emptyField2; + @ApiModelProperty("空字段3") + @TableField("Empty_field_3") + private String emptyField3; + @ApiModelProperty("空字段4") + @TableField("Empty_field_4") + private String emptyField4; + @ApiModelProperty("空字段5") + @TableField("Empty_field_5") + private String emptyField5; } 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 cfd8e93..e074f7c 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 @@ -11,6 +11,8 @@ HANDLE_FAILED(500, "操作失败"), + ALARM_CODE_FAILED(5003, "报警编号不能为空"), + CODE_NULL(501, "字典code不能为空"), SAVE_FAILED(400, "保存失败"), diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java index 0be8c95..948224d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -34,4 +34,8 @@ Map taskCount(String begTime, String endTime); List> taskTime(String timeType); + + boolean endTask(Long id); + + boolean batchDelete(List ids); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 2a8b52e..4119a81 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -1,6 +1,10 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import javax.servlet.http.HttpServletResponse; @@ -20,4 +24,8 @@ List getByTask(Long taskId); + BusPatrolTrack getLastTrack(Long taskId); + + Page listPage(Page page, PatrolTrackRequest request); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java index 061b95a..fa84fb7 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; /** *

@@ -13,4 +17,9 @@ */ public interface IBusPipeOverstockService extends IService { + + //解析文件流 +// List> parseSourceFile(MultipartFile file); +// +// boolean BusPipeOverstock(List> urls); } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; 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 6ba46ad..c028826 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("云台设备ID") + @ApiModelProperty(value = "云台设备ID",required = true) @TableField("DEVICE_ID") private Long deviceId; - @ApiModelProperty("报警编号,后台生成") + @ApiModelProperty(value = "报警编号,后台生成") @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @ApiModelProperty(value = "告警类型1:浓度超限报警,2:第三方施工识别报警",required = true) @TableField("ALARM_TYPE") private String alarmType; - @ApiModelProperty("巡检任务id") + @ApiModelProperty(value = "巡检任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("报警内容") + @ApiModelProperty(value = "报警内容",required = true) @TableField("ALARM_CONTENT") private String alarmContent; - @ApiModelProperty("报警数值") + @ApiModelProperty(value = "报警数值",required = true) @TableField("ALARM_VALUE") private Double alarmValue; - @ApiModelProperty("报警阈值") + @ApiModelProperty(value = "报警阈值",required = true) @TableField("ALARM_THRESH") private Double alarmThresh; - @ApiModelProperty("报警视频路径") + @ApiModelProperty(value = "报警视频路径",required = true) @TableField("ALARM_VIDEO") private String alarmVideo; - @ApiModelProperty("报警图片路径") + @ApiModelProperty(value = "报警图片路径",required = true) @TableField("ALARM_PICTURE") private String alarmPicture; - @ApiModelProperty("报警时间") + @ApiModelProperty(value = "报警时间",required = true) @TableField("ALARM_TIME") private String alarmTime; - @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @ApiModelProperty(value = "报警状态(0:正在报警;1:已处置",required = true) @TableField("ALARM_STATUS") private String alarmStatus; - @ApiModelProperty("报警经度") + @ApiModelProperty(value = "报警经度",required = true) @TableField("ALARM_LONGITUDE") private String alarmLongitude; - @ApiModelProperty("报警纬度") + @ApiModelProperty(value = "报警纬度",required = true) @TableField("ALARM_LATITUDE") private String alarmLatitude; - @ApiModelProperty("处置时间") + @ApiModelProperty(value = "处置时间",required = true) @TableField("CANCEL_TIME") private String cancelTime; - @ApiModelProperty("处置人") + @ApiModelProperty(value = "处置人") @TableField("CANCEL_USER") private Long cancelUser; - @ApiModelProperty("处置结果") + @ApiModelProperty(value = "处置结果",required = true) @TableField("CANCEL_RESULT") private String cancelResult; - @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)") + @ApiModelProperty(value = "处置原因(1,已处置,2,无需处置,3,其他原因)",required = true) @TableField("CANCEL_REASON") private String cancelReason; - @ApiModelProperty("时间") + @ApiModelProperty(value = "时间") @TableField("TS") private LocalDateTime ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java index 24c6a2c..680d4c5 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -27,47 +27,47 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车名称") + @ApiModelProperty(value = "巡检车名称") @TableField("CAR_NAME") private String carName; - @ApiModelProperty("车牌号") + @ApiModelProperty(value = "车牌号") @TableField("CAR_PLATE") private String carPlate; - @ApiModelProperty("备注") + @ApiModelProperty(value = "备注") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("所属机构") + @ApiModelProperty(value = "所属机构") @TableField("DEPT_ID") private Long deptId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度") @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度") @TableField("LATITUDE") private String latitude; - @ApiModelProperty("1:在线,0:离线") + @ApiModelProperty(value = "1:在线,0:离线") @TableField("`STATUS`") private String status; - @ApiModelProperty("是否有效(0:有效,1:无效)") + @ApiModelProperty(value = "是否有效(0:有效,1:无效)") @TableField("VALID") private String valid; - @ApiModelProperty("最新时间") + @ApiModelProperty(value = "最新时间") @TableField("TS") private String ts; - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String deviceModel; 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 16391e1..4fb72ac 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车辆ID") + @ApiModelProperty(value = "巡检车辆ID",required = true) @TableField("CAR_ID") private Long carId; - @ApiModelProperty("任务名称") + @ApiModelProperty(value = "任务名称",required = true) @TableField("TASK_NAME") private String taskName; - @ApiModelProperty("任务编号,后台生成") + @ApiModelProperty(value = "任务编号,后台生成") @TableField("TASK_CODE") private String taskCode; - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") @TableField("BEGIN_DATE") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") @TableField("END_DATE") private String endDate; - @ApiModelProperty("起始经度") + @ApiModelProperty(value = "起始经度,开始的时候传",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("起始纬度") + @ApiModelProperty(value = "起始纬度,开始的时候传",required = true) @TableField("LATITUDE") private String latitude; - @ApiModelProperty("描述") + @ApiModelProperty(value = "描述") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("扩展字段1") + @ApiModelProperty(value = "扩展字段1") @TableField("DESCRIPTION1") private String description1; - @ApiModelProperty("扩展字段2") + @ApiModelProperty(value = "扩展字段2") @TableField("DESCRIPTION2") private String description2; - @ApiModelProperty("公里数") + @ApiModelProperty(value = "公里数") @TableField("KM") private String km; - @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)") - @TableField("`STATUS`") + @ApiModelProperty(value = "任务状态(1:已完成,0:进行中,新建任务填0)") + @TableField("STATUS") private String status; - @ApiModelProperty("修改时间") + @ApiModelProperty(value = "修改时间") @TableField("UPDATE_TIME") private String updateTime; - @ApiModelProperty("0:有效,1:删除") + @ApiModelProperty(value = "0:有效,1:删除") @TableField("VALID") private String valid; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; - @ApiModelProperty("任务状态名称") + @ApiModelProperty(value = "任务状态名称") @TableField(exist = false) private String statusName; //设备型号 - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String modelName; //设备型号 - @ApiModelProperty("巡检车牌号") + @ApiModelProperty(value = "巡检车牌号") @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 b967792..1ebc008 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 @@ -27,55 +27,55 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("任务id") + @ApiModelProperty(value = "任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度",required = true) @TableField("LAGITUDE") private String lagitude; - @ApiModelProperty("气体浓度值") + @ApiModelProperty(value = "气体浓度值",required = true) @TableField("GAS") private String gas; - @ApiModelProperty("水平值") + @ApiModelProperty(value = "水平值",required = true) @TableField("DIRECTION") private String direction; - @ApiModelProperty("垂直值") + @ApiModelProperty(value = "垂直值",required = true) @TableField("PITCH") private String pitch; - @ApiModelProperty("轨迹位置描述") + @ApiModelProperty(value = "轨迹位置描述") @TableField("POSITION") private String position; - @ApiModelProperty("车速") + @ApiModelProperty(value = "车速",required = true) @TableField("SPEED") private String speed; - @ApiModelProperty("1:报警,0:正常") + @ApiModelProperty(value = "1:报警,0:正常",required = true) @TableField("IS_ALARM") private String isAlarm; - @ApiModelProperty("报警编号,生成报警后回填") + @ApiModelProperty(value = "报警编号,生成报警后回填",required = true) @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("1:正常:0") + @ApiModelProperty(value = "1:正常:0",required = true) @TableField("DEVICE_STATUS") private String deviceStatus; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java index 85c11f0..e70e18a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -5,11 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; import java.io.Serializable; -import java.time.LocalDateTime; /** *

@@ -19,73 +17,171 @@ * @author zt * @since 2023-07-20 */ -@Getter -@Setter +@Data @TableName("bus_pipe_overstock") @ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") -public class BusPipeOverstock implements Serializable { +public class BusPipeOverstock implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") - @TableId("ID") - private Long id; - - @ApiModelProperty("编号") - @TableField("STOCK_CODE") - private String stockCode; - - @ApiModelProperty("管线类型") - @TableField("PIPE_TYPE") - private String pipeType; - - @ApiModelProperty("占压类型") - @TableField("STOCK_TYPE") - private String stockType; - - @ApiModelProperty("占压分类") - @TableField("STOCK_CLASSIFY") - private String stockClassify; - - @ApiModelProperty("占压等级") - @TableField("STOCK_LEVEL") - private String stockLevel; - - @ApiModelProperty("图片") - @TableField("STOCK_PICTURE") - private String stockPicture; - - @ApiModelProperty("占压时间") - @TableField("STOCK_TIME") - private String stockTime; - - @ApiModelProperty("风险等级") - @TableField("RISK_LEVEL") - private String riskLevel; - - @ApiModelProperty("纬度") - @TableField("LATITUDE") - private String latitude; - + @ApiModelProperty("序号") + @TableId("Serial_number") + private String serialNumber; + @ApiModelProperty("隐患编号") + @TableField("Hidden_danger_number") + private String hiddenDangerNumber; + @ApiModelProperty("一级分类") + @TableField("Primary_classification") + private String primaryClassification; + @ApiModelProperty("二级分类") + @TableField("Secondary_classification") + private String secondaryClassification; + @ApiModelProperty("隐患描述") + @TableField("Hidden_danger_description") + private String hiddenDangerDescription; + @ApiModelProperty("管网类型") + @TableField("Pipe_network_type") + private String pipeNetworkType; + @ApiModelProperty("管网编码设备编码") + @TableField("Equipment_number") + private String equipmentNumber; + @ApiModelProperty("地点") + private String Location; @ApiModelProperty("经度") - @TableField("LONGITUDE") - private String longitude; - - @ApiModelProperty("占压位置") - @TableField("POSITION") - private String position; - - @ApiModelProperty("是否指令(0:无,1:是)") - @TableField("IS_HANDLE") - private String isHandle; - - @ApiModelProperty("治理规则") - @TableField("HANDLE_RULE") - private String handleRule; - - @ApiModelProperty("时间") - @TableField("TS") - private LocalDateTime ts; - + private String Longitude; + @ApiModelProperty("纬度") + private String Latitude; + @ApiModelProperty("是否在小区内") + @TableField("Whether_it_is_in_the_community") + private String whetherItIsInTheCommunity; + @ApiModelProperty("小区内占压类型") + @TableField("Occupying_type") + private String occupyingType; + @ApiModelProperty("小区名称") + @TableField("Community_name") + private String communityName; + @ApiModelProperty("发现时间") + @TableField("Discovery_time") + private String discoveryTime; + @ApiModelProperty("所在区县") + private String District; + @ApiModelProperty("所在街乡") + private String Street; + @ApiModelProperty("隐患等级") + @TableField("Hidden_danger_level") + private String hiddenDangerLevel; + @ApiModelProperty("管理责任企业") + @TableField("Responsible_management_enterprise") + private String responsibleManagementEnterprise; + @ApiModelProperty("责任人") + @TableField("Person_in_charge") + private String personInCharge; + @ApiModelProperty("计划消除时限") + @TableField("Planned_elimination_time_limit") + private String plannedEliminationTimeLimit; + @ApiModelProperty("治理情况") + @TableField("Governance_situation") + private String governanceSituation; + @ApiModelProperty("消除时间") + @TableField("Elimination_time") + private String eliminationTime; + @ApiModelProperty("产权性质") + @TableField("Property_right_nature") + private String propertyRightNature; + @ApiModelProperty("备注") + private String Remark; + @ApiModelProperty("占压企业个人名称") + @TableField("Occupied_enterprise_personal_name") + private String occupiedEnterprisePersonalName; + @ApiModelProperty("占压单位性质") + @TableField("Occupation_unit_property") + private String occupationUnitProperty; + @ApiModelProperty("占压物建成年代") + @TableField("Date_of_construction_of_the_occupation") + private String dateOfConstructionOfTheOccupation; + @ApiModelProperty("有无占压物建设批准文件") + @TableField("any_approval_documents_for_the_construction") + private String anyApprovalDocumentsForTheConstruction; + @ApiModelProperty("占压物用途") + @TableField("Use_of_the_occupation") + private String useOfTheOccupation; + @ApiModelProperty("占压物描述") + @TableField("Description_of_the_occupation") + private String descriptionOfTheOccupation; + @ApiModelProperty("有无经常性人员活动") + @TableField("Are_there_regular_staff_activities") + private String areThereRegularStaffActivities; + @ApiModelProperty("占压物面积") + @TableField("Area_of_occupation") + private String areaOfOccupation; + @ApiModelProperty("是否具备改移条件") + @TableField("Whether_there_are_conditions_for_relocation") + private String whetherThereAreConditionsForRelocation; + @ApiModelProperty("年份") + @TableField("Year_of_commencement_of_operation") + private String yearOfCommencementOfOperation; + @ApiModelProperty("年代类别") + @TableField("Year_of_use") + private String yearOfUse; + @ApiModelProperty("有无管线建设批准文件") + @TableField("Is_there_any_pipeline_construction_approval_document") + private String isThereAnyPipelineConstructionApprovalDocument; + @ApiModelProperty("管线埋深") + @TableField("Pipeline_depth") + private String pipelineDepth; + @ApiModelProperty("管径") + @TableField("Pipe_diameter") + private String pipeDiameter; + @ApiModelProperty("管线压力") + @TableField("Line_pressure") + private String linePressure; + @ApiModelProperty("占压管线长度") + @TableField("Pipeline_length") + private String pipelineLength; + @ApiModelProperty("是否纳入技改计划") + @TableField("Whether_it_is_included_in_the_technical_reform_plan") + private String whetherItIsIncludedInTheTechnicalReformPlan; + @ApiModelProperty("技改项目号") + @TableField("Technical_transformation_project_number") + private String technicalTransformationProjectNumber; + @ApiModelProperty("防控措施") + @TableField("Prevention_and_control_measures") + private String preventionAndControlMeasures; + @ApiModelProperty("治理计划") + @TableField("Governance_plan") + private String governancePlan; + @ApiModelProperty("限购或停气情况") + @TableField("Purchase_restriction_or_gas_shutdown") + private String purchaseRestrictionOrGasShutdown; + @ApiModelProperty("改线工程名称") + @TableField("Name_of_the_diversion_project") + private String nameOfTheDiversionProject; + @ApiModelProperty("改线工程编号") + @TableField("Number_of_the_diversion_project") + private String numberOfTheDiversionProject; + @ApiModelProperty("改线进展统计") + @TableField("Progress_statistics_of_the_diversion_project") + private String progressStatisticsOfTheDiversionProject; + @ApiModelProperty("与区县对接联系人") + @TableField("Contact_person") + private String contactPerson; + @ApiModelProperty("特级占压分类情况") + @TableField("Super_occupying_pressure_classification") + private String superOccupyingPressureClassification; + @ApiModelProperty("空字段1") + @TableField("Empty_field_1") + private String emptyField1; + @ApiModelProperty("空字段2") + @TableField("Empty_field_2") + private String emptyField2; + @ApiModelProperty("空字段3") + @TableField("Empty_field_3") + private String emptyField3; + @ApiModelProperty("空字段4") + @TableField("Empty_field_4") + private String emptyField4; + @ApiModelProperty("空字段5") + @TableField("Empty_field_5") + private String emptyField5; } 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 cfd8e93..e074f7c 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 @@ -11,6 +11,8 @@ HANDLE_FAILED(500, "操作失败"), + ALARM_CODE_FAILED(5003, "报警编号不能为空"), + CODE_NULL(501, "字典code不能为空"), SAVE_FAILED(400, "保存失败"), diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java index 0be8c95..948224d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -34,4 +34,8 @@ Map taskCount(String begTime, String endTime); List> taskTime(String timeType); + + boolean endTask(Long id); + + boolean batchDelete(List ids); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 2a8b52e..4119a81 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -1,6 +1,10 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import javax.servlet.http.HttpServletResponse; @@ -20,4 +24,8 @@ List getByTask(Long taskId); + BusPatrolTrack getLastTrack(Long taskId); + + Page listPage(Page page, PatrolTrackRequest request); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java index 061b95a..fa84fb7 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; /** *

@@ -13,4 +17,9 @@ */ public interface IBusPipeOverstockService extends IService { + + //解析文件流 +// List> parseSourceFile(MultipartFile file); +// +// boolean BusPipeOverstock(List> urls); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java index 7bc3180..f95971d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -7,15 +7,22 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.apache.ibatis.annotations.Results; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; @@ -34,22 +41,51 @@ public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { @Autowired private IBaseExportService iBaseExportService; + @Autowired + private IBusPatrolCarService iBusPatrolCarService; + @Autowired + private IBusPatrolTrackService iBusPatrolTrackService; + @Autowired + private ThreadPoolTaskExecutor executor; + @Autowired + private AbstractDictService abstractDictService; @Override public Page listPage(Page page, PatrolTaskRequest request) { - return this.baseMapper.listPage(page, request); + + Page patrolTaskPage = this.baseMapper.listPage(page, request); + List busPatrolTaskList = patrolTaskPage.getRecords(); + busPatrolTaskList.forEach(busPatrolTask -> { + busPatrolTask.setStatusName(ObjectUtil.isNotEmpty(busPatrolTask.getStatus()) ? + abstractDictService.getDictNameByCode("inspectionStatus", + busPatrolTask.getStatus()) : ""); + }); + return patrolTaskPage; } @Override public Long saveTask(BusPatrolTask busPatrolTask) { + //1.保存任务 initTask(busPatrolTask); this.save(busPatrolTask); + //2.更新车辆信息 + BusPatrolCar busPatrolCar = new BusPatrolCar(); + busPatrolCar.setId(busPatrolTask.getCarId()); + busPatrolCar.setLatitude(busPatrolTask.getLatitude()); + busPatrolCar.setLongitude(busPatrolTask.getLongitude()); + busPatrolCar.setStatus("1"); + busPatrolCar.setTs(DateUtil.formatDateTime(new Date())); + iBusPatrolCarService.updateById(busPatrolCar); return busPatrolTask.getId(); } private void initTask(BusPatrolTask busPatrolTask) { //生成报警编号 + busPatrolTask.setStatus("0"); + busPatrolTask.setValid("0"); + busPatrolTask.setBeginDate(DateUtil.formatDateTime(new Date())); + busPatrolTask.setTs(DateUtil.formatDateTime(new Date())); Long maxNo = this.baseMapper.selectMaxCode(); busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); } @@ -107,7 +143,7 @@ } @Override - public List> taskTime(String timeType) { + public List> taskTime(String timeType) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.ge("BEGIN_DATE", DateUtil.offsetDay(new Date(), -6)); @@ -119,13 +155,53 @@ int taskCount = 0; for (BusPatrolTask busPatrolTask : taskList) { if (DateUtil.isSameDay(DateUtil.parseDate(busPatrolTask.getBeginDate()), dateTime)) { - taskCount ++; + taskCount++; } } - dayMap.put(DateUtil.formatDate(dateTime),taskCount); + dayMap.put(DateUtil.formatDateTime(dateTime), taskCount); mapList.add(dayMap); }); return mapList; } + + @Override + public boolean endTask(Long id) { + //1.更新任务状态 + BusPatrolTask busPatrolTask = this.baseMapper.selectById(id); + if (null != busPatrolTask) { + busPatrolTask.setStatus("1"); + busPatrolTask.setEndDate(DateUtil.formatDateTime(new Date())); + this.baseMapper.updateById(busPatrolTask); + //2.更新车辆信息 + BusPatrolTrack busPatrolTrack = iBusPatrolTrackService.getLastTrack(id); + BusPatrolCar busPatrolCar = new BusPatrolCar(); + busPatrolCar.setId(busPatrolTask.getCarId()); + if (null != busPatrolTrack) { + busPatrolCar.setLatitude(busPatrolTrack.getLagitude()); + busPatrolCar.setLongitude(busPatrolTrack.getLongitude()); + } + busPatrolCar.setStatus("0"); + busPatrolCar.setTs(DateUtil.formatDateTime(new Date())); + iBusPatrolCarService.updateById(busPatrolCar); + executor.execute(() -> this.updateKm(id)); + } + return true; + } + + public void updateKm(Long id) { + BusPatrolTask busPatrolTask = new BusPatrolTask(); + busPatrolTask.setId(id); + busPatrolTask.setKm(iBusPatrolTrackService.getDistance(id) + ""); + this.updateById(busPatrolTask); + } + + @Override + public boolean batchDelete(List ids) { + List taskList = this.baseMapper.selectBatchIds(ids); + taskList.forEach(task -> { + task.setValid("1"); + }); + return this.saveOrUpdateBatch(taskList); + } } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; 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 6ba46ad..c028826 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("云台设备ID") + @ApiModelProperty(value = "云台设备ID",required = true) @TableField("DEVICE_ID") private Long deviceId; - @ApiModelProperty("报警编号,后台生成") + @ApiModelProperty(value = "报警编号,后台生成") @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @ApiModelProperty(value = "告警类型1:浓度超限报警,2:第三方施工识别报警",required = true) @TableField("ALARM_TYPE") private String alarmType; - @ApiModelProperty("巡检任务id") + @ApiModelProperty(value = "巡检任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("报警内容") + @ApiModelProperty(value = "报警内容",required = true) @TableField("ALARM_CONTENT") private String alarmContent; - @ApiModelProperty("报警数值") + @ApiModelProperty(value = "报警数值",required = true) @TableField("ALARM_VALUE") private Double alarmValue; - @ApiModelProperty("报警阈值") + @ApiModelProperty(value = "报警阈值",required = true) @TableField("ALARM_THRESH") private Double alarmThresh; - @ApiModelProperty("报警视频路径") + @ApiModelProperty(value = "报警视频路径",required = true) @TableField("ALARM_VIDEO") private String alarmVideo; - @ApiModelProperty("报警图片路径") + @ApiModelProperty(value = "报警图片路径",required = true) @TableField("ALARM_PICTURE") private String alarmPicture; - @ApiModelProperty("报警时间") + @ApiModelProperty(value = "报警时间",required = true) @TableField("ALARM_TIME") private String alarmTime; - @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @ApiModelProperty(value = "报警状态(0:正在报警;1:已处置",required = true) @TableField("ALARM_STATUS") private String alarmStatus; - @ApiModelProperty("报警经度") + @ApiModelProperty(value = "报警经度",required = true) @TableField("ALARM_LONGITUDE") private String alarmLongitude; - @ApiModelProperty("报警纬度") + @ApiModelProperty(value = "报警纬度",required = true) @TableField("ALARM_LATITUDE") private String alarmLatitude; - @ApiModelProperty("处置时间") + @ApiModelProperty(value = "处置时间",required = true) @TableField("CANCEL_TIME") private String cancelTime; - @ApiModelProperty("处置人") + @ApiModelProperty(value = "处置人") @TableField("CANCEL_USER") private Long cancelUser; - @ApiModelProperty("处置结果") + @ApiModelProperty(value = "处置结果",required = true) @TableField("CANCEL_RESULT") private String cancelResult; - @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)") + @ApiModelProperty(value = "处置原因(1,已处置,2,无需处置,3,其他原因)",required = true) @TableField("CANCEL_REASON") private String cancelReason; - @ApiModelProperty("时间") + @ApiModelProperty(value = "时间") @TableField("TS") private LocalDateTime ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java index 24c6a2c..680d4c5 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -27,47 +27,47 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车名称") + @ApiModelProperty(value = "巡检车名称") @TableField("CAR_NAME") private String carName; - @ApiModelProperty("车牌号") + @ApiModelProperty(value = "车牌号") @TableField("CAR_PLATE") private String carPlate; - @ApiModelProperty("备注") + @ApiModelProperty(value = "备注") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("所属机构") + @ApiModelProperty(value = "所属机构") @TableField("DEPT_ID") private Long deptId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度") @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度") @TableField("LATITUDE") private String latitude; - @ApiModelProperty("1:在线,0:离线") + @ApiModelProperty(value = "1:在线,0:离线") @TableField("`STATUS`") private String status; - @ApiModelProperty("是否有效(0:有效,1:无效)") + @ApiModelProperty(value = "是否有效(0:有效,1:无效)") @TableField("VALID") private String valid; - @ApiModelProperty("最新时间") + @ApiModelProperty(value = "最新时间") @TableField("TS") private String ts; - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String deviceModel; 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 16391e1..4fb72ac 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车辆ID") + @ApiModelProperty(value = "巡检车辆ID",required = true) @TableField("CAR_ID") private Long carId; - @ApiModelProperty("任务名称") + @ApiModelProperty(value = "任务名称",required = true) @TableField("TASK_NAME") private String taskName; - @ApiModelProperty("任务编号,后台生成") + @ApiModelProperty(value = "任务编号,后台生成") @TableField("TASK_CODE") private String taskCode; - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") @TableField("BEGIN_DATE") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") @TableField("END_DATE") private String endDate; - @ApiModelProperty("起始经度") + @ApiModelProperty(value = "起始经度,开始的时候传",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("起始纬度") + @ApiModelProperty(value = "起始纬度,开始的时候传",required = true) @TableField("LATITUDE") private String latitude; - @ApiModelProperty("描述") + @ApiModelProperty(value = "描述") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("扩展字段1") + @ApiModelProperty(value = "扩展字段1") @TableField("DESCRIPTION1") private String description1; - @ApiModelProperty("扩展字段2") + @ApiModelProperty(value = "扩展字段2") @TableField("DESCRIPTION2") private String description2; - @ApiModelProperty("公里数") + @ApiModelProperty(value = "公里数") @TableField("KM") private String km; - @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)") - @TableField("`STATUS`") + @ApiModelProperty(value = "任务状态(1:已完成,0:进行中,新建任务填0)") + @TableField("STATUS") private String status; - @ApiModelProperty("修改时间") + @ApiModelProperty(value = "修改时间") @TableField("UPDATE_TIME") private String updateTime; - @ApiModelProperty("0:有效,1:删除") + @ApiModelProperty(value = "0:有效,1:删除") @TableField("VALID") private String valid; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; - @ApiModelProperty("任务状态名称") + @ApiModelProperty(value = "任务状态名称") @TableField(exist = false) private String statusName; //设备型号 - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String modelName; //设备型号 - @ApiModelProperty("巡检车牌号") + @ApiModelProperty(value = "巡检车牌号") @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 b967792..1ebc008 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 @@ -27,55 +27,55 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("任务id") + @ApiModelProperty(value = "任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度",required = true) @TableField("LAGITUDE") private String lagitude; - @ApiModelProperty("气体浓度值") + @ApiModelProperty(value = "气体浓度值",required = true) @TableField("GAS") private String gas; - @ApiModelProperty("水平值") + @ApiModelProperty(value = "水平值",required = true) @TableField("DIRECTION") private String direction; - @ApiModelProperty("垂直值") + @ApiModelProperty(value = "垂直值",required = true) @TableField("PITCH") private String pitch; - @ApiModelProperty("轨迹位置描述") + @ApiModelProperty(value = "轨迹位置描述") @TableField("POSITION") private String position; - @ApiModelProperty("车速") + @ApiModelProperty(value = "车速",required = true) @TableField("SPEED") private String speed; - @ApiModelProperty("1:报警,0:正常") + @ApiModelProperty(value = "1:报警,0:正常",required = true) @TableField("IS_ALARM") private String isAlarm; - @ApiModelProperty("报警编号,生成报警后回填") + @ApiModelProperty(value = "报警编号,生成报警后回填",required = true) @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("1:正常:0") + @ApiModelProperty(value = "1:正常:0",required = true) @TableField("DEVICE_STATUS") private String deviceStatus; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java index 85c11f0..e70e18a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -5,11 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; import java.io.Serializable; -import java.time.LocalDateTime; /** *

@@ -19,73 +17,171 @@ * @author zt * @since 2023-07-20 */ -@Getter -@Setter +@Data @TableName("bus_pipe_overstock") @ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") -public class BusPipeOverstock implements Serializable { +public class BusPipeOverstock implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") - @TableId("ID") - private Long id; - - @ApiModelProperty("编号") - @TableField("STOCK_CODE") - private String stockCode; - - @ApiModelProperty("管线类型") - @TableField("PIPE_TYPE") - private String pipeType; - - @ApiModelProperty("占压类型") - @TableField("STOCK_TYPE") - private String stockType; - - @ApiModelProperty("占压分类") - @TableField("STOCK_CLASSIFY") - private String stockClassify; - - @ApiModelProperty("占压等级") - @TableField("STOCK_LEVEL") - private String stockLevel; - - @ApiModelProperty("图片") - @TableField("STOCK_PICTURE") - private String stockPicture; - - @ApiModelProperty("占压时间") - @TableField("STOCK_TIME") - private String stockTime; - - @ApiModelProperty("风险等级") - @TableField("RISK_LEVEL") - private String riskLevel; - - @ApiModelProperty("纬度") - @TableField("LATITUDE") - private String latitude; - + @ApiModelProperty("序号") + @TableId("Serial_number") + private String serialNumber; + @ApiModelProperty("隐患编号") + @TableField("Hidden_danger_number") + private String hiddenDangerNumber; + @ApiModelProperty("一级分类") + @TableField("Primary_classification") + private String primaryClassification; + @ApiModelProperty("二级分类") + @TableField("Secondary_classification") + private String secondaryClassification; + @ApiModelProperty("隐患描述") + @TableField("Hidden_danger_description") + private String hiddenDangerDescription; + @ApiModelProperty("管网类型") + @TableField("Pipe_network_type") + private String pipeNetworkType; + @ApiModelProperty("管网编码设备编码") + @TableField("Equipment_number") + private String equipmentNumber; + @ApiModelProperty("地点") + private String Location; @ApiModelProperty("经度") - @TableField("LONGITUDE") - private String longitude; - - @ApiModelProperty("占压位置") - @TableField("POSITION") - private String position; - - @ApiModelProperty("是否指令(0:无,1:是)") - @TableField("IS_HANDLE") - private String isHandle; - - @ApiModelProperty("治理规则") - @TableField("HANDLE_RULE") - private String handleRule; - - @ApiModelProperty("时间") - @TableField("TS") - private LocalDateTime ts; - + private String Longitude; + @ApiModelProperty("纬度") + private String Latitude; + @ApiModelProperty("是否在小区内") + @TableField("Whether_it_is_in_the_community") + private String whetherItIsInTheCommunity; + @ApiModelProperty("小区内占压类型") + @TableField("Occupying_type") + private String occupyingType; + @ApiModelProperty("小区名称") + @TableField("Community_name") + private String communityName; + @ApiModelProperty("发现时间") + @TableField("Discovery_time") + private String discoveryTime; + @ApiModelProperty("所在区县") + private String District; + @ApiModelProperty("所在街乡") + private String Street; + @ApiModelProperty("隐患等级") + @TableField("Hidden_danger_level") + private String hiddenDangerLevel; + @ApiModelProperty("管理责任企业") + @TableField("Responsible_management_enterprise") + private String responsibleManagementEnterprise; + @ApiModelProperty("责任人") + @TableField("Person_in_charge") + private String personInCharge; + @ApiModelProperty("计划消除时限") + @TableField("Planned_elimination_time_limit") + private String plannedEliminationTimeLimit; + @ApiModelProperty("治理情况") + @TableField("Governance_situation") + private String governanceSituation; + @ApiModelProperty("消除时间") + @TableField("Elimination_time") + private String eliminationTime; + @ApiModelProperty("产权性质") + @TableField("Property_right_nature") + private String propertyRightNature; + @ApiModelProperty("备注") + private String Remark; + @ApiModelProperty("占压企业个人名称") + @TableField("Occupied_enterprise_personal_name") + private String occupiedEnterprisePersonalName; + @ApiModelProperty("占压单位性质") + @TableField("Occupation_unit_property") + private String occupationUnitProperty; + @ApiModelProperty("占压物建成年代") + @TableField("Date_of_construction_of_the_occupation") + private String dateOfConstructionOfTheOccupation; + @ApiModelProperty("有无占压物建设批准文件") + @TableField("any_approval_documents_for_the_construction") + private String anyApprovalDocumentsForTheConstruction; + @ApiModelProperty("占压物用途") + @TableField("Use_of_the_occupation") + private String useOfTheOccupation; + @ApiModelProperty("占压物描述") + @TableField("Description_of_the_occupation") + private String descriptionOfTheOccupation; + @ApiModelProperty("有无经常性人员活动") + @TableField("Are_there_regular_staff_activities") + private String areThereRegularStaffActivities; + @ApiModelProperty("占压物面积") + @TableField("Area_of_occupation") + private String areaOfOccupation; + @ApiModelProperty("是否具备改移条件") + @TableField("Whether_there_are_conditions_for_relocation") + private String whetherThereAreConditionsForRelocation; + @ApiModelProperty("年份") + @TableField("Year_of_commencement_of_operation") + private String yearOfCommencementOfOperation; + @ApiModelProperty("年代类别") + @TableField("Year_of_use") + private String yearOfUse; + @ApiModelProperty("有无管线建设批准文件") + @TableField("Is_there_any_pipeline_construction_approval_document") + private String isThereAnyPipelineConstructionApprovalDocument; + @ApiModelProperty("管线埋深") + @TableField("Pipeline_depth") + private String pipelineDepth; + @ApiModelProperty("管径") + @TableField("Pipe_diameter") + private String pipeDiameter; + @ApiModelProperty("管线压力") + @TableField("Line_pressure") + private String linePressure; + @ApiModelProperty("占压管线长度") + @TableField("Pipeline_length") + private String pipelineLength; + @ApiModelProperty("是否纳入技改计划") + @TableField("Whether_it_is_included_in_the_technical_reform_plan") + private String whetherItIsIncludedInTheTechnicalReformPlan; + @ApiModelProperty("技改项目号") + @TableField("Technical_transformation_project_number") + private String technicalTransformationProjectNumber; + @ApiModelProperty("防控措施") + @TableField("Prevention_and_control_measures") + private String preventionAndControlMeasures; + @ApiModelProperty("治理计划") + @TableField("Governance_plan") + private String governancePlan; + @ApiModelProperty("限购或停气情况") + @TableField("Purchase_restriction_or_gas_shutdown") + private String purchaseRestrictionOrGasShutdown; + @ApiModelProperty("改线工程名称") + @TableField("Name_of_the_diversion_project") + private String nameOfTheDiversionProject; + @ApiModelProperty("改线工程编号") + @TableField("Number_of_the_diversion_project") + private String numberOfTheDiversionProject; + @ApiModelProperty("改线进展统计") + @TableField("Progress_statistics_of_the_diversion_project") + private String progressStatisticsOfTheDiversionProject; + @ApiModelProperty("与区县对接联系人") + @TableField("Contact_person") + private String contactPerson; + @ApiModelProperty("特级占压分类情况") + @TableField("Super_occupying_pressure_classification") + private String superOccupyingPressureClassification; + @ApiModelProperty("空字段1") + @TableField("Empty_field_1") + private String emptyField1; + @ApiModelProperty("空字段2") + @TableField("Empty_field_2") + private String emptyField2; + @ApiModelProperty("空字段3") + @TableField("Empty_field_3") + private String emptyField3; + @ApiModelProperty("空字段4") + @TableField("Empty_field_4") + private String emptyField4; + @ApiModelProperty("空字段5") + @TableField("Empty_field_5") + private String emptyField5; } 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 cfd8e93..e074f7c 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 @@ -11,6 +11,8 @@ HANDLE_FAILED(500, "操作失败"), + ALARM_CODE_FAILED(5003, "报警编号不能为空"), + CODE_NULL(501, "字典code不能为空"), SAVE_FAILED(400, "保存失败"), diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java index 0be8c95..948224d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -34,4 +34,8 @@ Map taskCount(String begTime, String endTime); List> taskTime(String timeType); + + boolean endTask(Long id); + + boolean batchDelete(List ids); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 2a8b52e..4119a81 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -1,6 +1,10 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import javax.servlet.http.HttpServletResponse; @@ -20,4 +24,8 @@ List getByTask(Long taskId); + BusPatrolTrack getLastTrack(Long taskId); + + Page listPage(Page page, PatrolTrackRequest request); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java index 061b95a..fa84fb7 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; /** *

@@ -13,4 +17,9 @@ */ public interface IBusPipeOverstockService extends IService { + + //解析文件流 +// List> parseSourceFile(MultipartFile file); +// +// boolean BusPipeOverstock(List> urls); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java index 7bc3180..f95971d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -7,15 +7,22 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.apache.ibatis.annotations.Results; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; @@ -34,22 +41,51 @@ public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { @Autowired private IBaseExportService iBaseExportService; + @Autowired + private IBusPatrolCarService iBusPatrolCarService; + @Autowired + private IBusPatrolTrackService iBusPatrolTrackService; + @Autowired + private ThreadPoolTaskExecutor executor; + @Autowired + private AbstractDictService abstractDictService; @Override public Page listPage(Page page, PatrolTaskRequest request) { - return this.baseMapper.listPage(page, request); + + Page patrolTaskPage = this.baseMapper.listPage(page, request); + List busPatrolTaskList = patrolTaskPage.getRecords(); + busPatrolTaskList.forEach(busPatrolTask -> { + busPatrolTask.setStatusName(ObjectUtil.isNotEmpty(busPatrolTask.getStatus()) ? + abstractDictService.getDictNameByCode("inspectionStatus", + busPatrolTask.getStatus()) : ""); + }); + return patrolTaskPage; } @Override public Long saveTask(BusPatrolTask busPatrolTask) { + //1.保存任务 initTask(busPatrolTask); this.save(busPatrolTask); + //2.更新车辆信息 + BusPatrolCar busPatrolCar = new BusPatrolCar(); + busPatrolCar.setId(busPatrolTask.getCarId()); + busPatrolCar.setLatitude(busPatrolTask.getLatitude()); + busPatrolCar.setLongitude(busPatrolTask.getLongitude()); + busPatrolCar.setStatus("1"); + busPatrolCar.setTs(DateUtil.formatDateTime(new Date())); + iBusPatrolCarService.updateById(busPatrolCar); return busPatrolTask.getId(); } private void initTask(BusPatrolTask busPatrolTask) { //生成报警编号 + busPatrolTask.setStatus("0"); + busPatrolTask.setValid("0"); + busPatrolTask.setBeginDate(DateUtil.formatDateTime(new Date())); + busPatrolTask.setTs(DateUtil.formatDateTime(new Date())); Long maxNo = this.baseMapper.selectMaxCode(); busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); } @@ -107,7 +143,7 @@ } @Override - public List> taskTime(String timeType) { + public List> taskTime(String timeType) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.ge("BEGIN_DATE", DateUtil.offsetDay(new Date(), -6)); @@ -119,13 +155,53 @@ int taskCount = 0; for (BusPatrolTask busPatrolTask : taskList) { if (DateUtil.isSameDay(DateUtil.parseDate(busPatrolTask.getBeginDate()), dateTime)) { - taskCount ++; + taskCount++; } } - dayMap.put(DateUtil.formatDate(dateTime),taskCount); + dayMap.put(DateUtil.formatDateTime(dateTime), taskCount); mapList.add(dayMap); }); return mapList; } + + @Override + public boolean endTask(Long id) { + //1.更新任务状态 + BusPatrolTask busPatrolTask = this.baseMapper.selectById(id); + if (null != busPatrolTask) { + busPatrolTask.setStatus("1"); + busPatrolTask.setEndDate(DateUtil.formatDateTime(new Date())); + this.baseMapper.updateById(busPatrolTask); + //2.更新车辆信息 + BusPatrolTrack busPatrolTrack = iBusPatrolTrackService.getLastTrack(id); + BusPatrolCar busPatrolCar = new BusPatrolCar(); + busPatrolCar.setId(busPatrolTask.getCarId()); + if (null != busPatrolTrack) { + busPatrolCar.setLatitude(busPatrolTrack.getLagitude()); + busPatrolCar.setLongitude(busPatrolTrack.getLongitude()); + } + busPatrolCar.setStatus("0"); + busPatrolCar.setTs(DateUtil.formatDateTime(new Date())); + iBusPatrolCarService.updateById(busPatrolCar); + executor.execute(() -> this.updateKm(id)); + } + return true; + } + + public void updateKm(Long id) { + BusPatrolTask busPatrolTask = new BusPatrolTask(); + busPatrolTask.setId(id); + busPatrolTask.setKm(iBusPatrolTrackService.getDistance(id) + ""); + this.updateById(busPatrolTask); + } + + @Override + public boolean batchDelete(List ids) { + List taskList = this.baseMapper.selectBatchIds(ids); + taskList.forEach(task -> { + task.setValid("1"); + }); + return this.saveOrUpdateBatch(taskList); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java index 4a99493..d7c54d6 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -2,9 +2,11 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.dto.PatrolTrackRequest; import com.casic.missiles.modular.system.entity.BusPatrolTask; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import com.casic.missiles.modular.system.enums.DictEnum; @@ -60,13 +62,17 @@ while (i < busPatrolTrackList.size() - 1) { BusPatrolTrack cStart = busPatrolTrackList.get(i); // 取i对象 BusPatrolTrack cEnd = busPatrolTrackList.get(i + 1); // 取i+1对象 - double cStartlat = Double.valueOf(cStart.getLagitude()); - double cStartlon = Double.valueOf(cStart.getLongitude()); - double cEndlat = Double.valueOf(cEnd.getLagitude()); - double cEndlon = Double.valueOf(cEnd.getLongitude()); - // 把计算出来的距离进行累加,最后就得到总里程 - distance = distance + DistanceUtil.getFinalMeters(cStartlat, cStartlon, cEndlat, cEndlon); + if (ObjectUtil.isAllNotEmpty(cStart.getLagitude(), cStart.getLongitude(), + cEnd.getLagitude(), cEnd.getLongitude())) { + double cStartlat = Double.valueOf(cStart.getLagitude()); + double cStartlon = Double.valueOf(cStart.getLongitude()); + double cEndlat = Double.valueOf(cEnd.getLagitude()); + double cEndlon = Double.valueOf(cEnd.getLongitude()); + + // 把计算出来的距离进行累加,最后就得到总里程 + distance = distance + DistanceUtil.getFinalMeters(cStartlat, cStartlon, cEndlat, cEndlon); + } i = i + 1; } if (distance > 0) { @@ -80,4 +86,28 @@ } return distance; } + + @Override + public BusPatrolTrack getLastTrack(Long taskId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("TASK_ID", taskId); + queryWrapper.orderByDesc("TS"); + queryWrapper.last("limit 1"); + return this.getOne(queryWrapper); + } + + @Override + public Page listPage(Page page, PatrolTrackRequest request) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.ge(ObjectUtil.isNotEmpty(request.getBeginDate()), "TS", request.getBeginDate()); + queryWrapper.le(ObjectUtil.isNotEmpty(request.getEndDate()), "TS", request.getEndDate()); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getIsAlarm()), "IS_ALARM", request.getIsAlarm()); + queryWrapper.like(ObjectUtil.isNotEmpty(request.getAlarmCode()), "ALARM_CODE", request.getAlarmCode()); + queryWrapper.like(ObjectUtil.isNotEmpty(request.getPosition()), "POSITION", request.getPosition()); + queryWrapper.like(ObjectUtil.isNotEmpty(request.getTaskId()), "TASK_ID", request.getTaskId()); + queryWrapper.ge(ObjectUtil.isNotEmpty(request.getGas1()), "GAS", request.getGas1()); + queryWrapper.le(ObjectUtil.isNotEmpty(request.getGas2()), "GAS", request.getGas2()); + queryWrapper.orderByDesc("TS"); + return this.baseMapper.selectPage(page, queryWrapper); + } } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; 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 6ba46ad..c028826 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("云台设备ID") + @ApiModelProperty(value = "云台设备ID",required = true) @TableField("DEVICE_ID") private Long deviceId; - @ApiModelProperty("报警编号,后台生成") + @ApiModelProperty(value = "报警编号,后台生成") @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @ApiModelProperty(value = "告警类型1:浓度超限报警,2:第三方施工识别报警",required = true) @TableField("ALARM_TYPE") private String alarmType; - @ApiModelProperty("巡检任务id") + @ApiModelProperty(value = "巡检任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("报警内容") + @ApiModelProperty(value = "报警内容",required = true) @TableField("ALARM_CONTENT") private String alarmContent; - @ApiModelProperty("报警数值") + @ApiModelProperty(value = "报警数值",required = true) @TableField("ALARM_VALUE") private Double alarmValue; - @ApiModelProperty("报警阈值") + @ApiModelProperty(value = "报警阈值",required = true) @TableField("ALARM_THRESH") private Double alarmThresh; - @ApiModelProperty("报警视频路径") + @ApiModelProperty(value = "报警视频路径",required = true) @TableField("ALARM_VIDEO") private String alarmVideo; - @ApiModelProperty("报警图片路径") + @ApiModelProperty(value = "报警图片路径",required = true) @TableField("ALARM_PICTURE") private String alarmPicture; - @ApiModelProperty("报警时间") + @ApiModelProperty(value = "报警时间",required = true) @TableField("ALARM_TIME") private String alarmTime; - @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @ApiModelProperty(value = "报警状态(0:正在报警;1:已处置",required = true) @TableField("ALARM_STATUS") private String alarmStatus; - @ApiModelProperty("报警经度") + @ApiModelProperty(value = "报警经度",required = true) @TableField("ALARM_LONGITUDE") private String alarmLongitude; - @ApiModelProperty("报警纬度") + @ApiModelProperty(value = "报警纬度",required = true) @TableField("ALARM_LATITUDE") private String alarmLatitude; - @ApiModelProperty("处置时间") + @ApiModelProperty(value = "处置时间",required = true) @TableField("CANCEL_TIME") private String cancelTime; - @ApiModelProperty("处置人") + @ApiModelProperty(value = "处置人") @TableField("CANCEL_USER") private Long cancelUser; - @ApiModelProperty("处置结果") + @ApiModelProperty(value = "处置结果",required = true) @TableField("CANCEL_RESULT") private String cancelResult; - @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)") + @ApiModelProperty(value = "处置原因(1,已处置,2,无需处置,3,其他原因)",required = true) @TableField("CANCEL_REASON") private String cancelReason; - @ApiModelProperty("时间") + @ApiModelProperty(value = "时间") @TableField("TS") private LocalDateTime ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java index 24c6a2c..680d4c5 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -27,47 +27,47 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车名称") + @ApiModelProperty(value = "巡检车名称") @TableField("CAR_NAME") private String carName; - @ApiModelProperty("车牌号") + @ApiModelProperty(value = "车牌号") @TableField("CAR_PLATE") private String carPlate; - @ApiModelProperty("备注") + @ApiModelProperty(value = "备注") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("所属机构") + @ApiModelProperty(value = "所属机构") @TableField("DEPT_ID") private Long deptId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度") @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度") @TableField("LATITUDE") private String latitude; - @ApiModelProperty("1:在线,0:离线") + @ApiModelProperty(value = "1:在线,0:离线") @TableField("`STATUS`") private String status; - @ApiModelProperty("是否有效(0:有效,1:无效)") + @ApiModelProperty(value = "是否有效(0:有效,1:无效)") @TableField("VALID") private String valid; - @ApiModelProperty("最新时间") + @ApiModelProperty(value = "最新时间") @TableField("TS") private String ts; - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String deviceModel; 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 16391e1..4fb72ac 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车辆ID") + @ApiModelProperty(value = "巡检车辆ID",required = true) @TableField("CAR_ID") private Long carId; - @ApiModelProperty("任务名称") + @ApiModelProperty(value = "任务名称",required = true) @TableField("TASK_NAME") private String taskName; - @ApiModelProperty("任务编号,后台生成") + @ApiModelProperty(value = "任务编号,后台生成") @TableField("TASK_CODE") private String taskCode; - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") @TableField("BEGIN_DATE") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") @TableField("END_DATE") private String endDate; - @ApiModelProperty("起始经度") + @ApiModelProperty(value = "起始经度,开始的时候传",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("起始纬度") + @ApiModelProperty(value = "起始纬度,开始的时候传",required = true) @TableField("LATITUDE") private String latitude; - @ApiModelProperty("描述") + @ApiModelProperty(value = "描述") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("扩展字段1") + @ApiModelProperty(value = "扩展字段1") @TableField("DESCRIPTION1") private String description1; - @ApiModelProperty("扩展字段2") + @ApiModelProperty(value = "扩展字段2") @TableField("DESCRIPTION2") private String description2; - @ApiModelProperty("公里数") + @ApiModelProperty(value = "公里数") @TableField("KM") private String km; - @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)") - @TableField("`STATUS`") + @ApiModelProperty(value = "任务状态(1:已完成,0:进行中,新建任务填0)") + @TableField("STATUS") private String status; - @ApiModelProperty("修改时间") + @ApiModelProperty(value = "修改时间") @TableField("UPDATE_TIME") private String updateTime; - @ApiModelProperty("0:有效,1:删除") + @ApiModelProperty(value = "0:有效,1:删除") @TableField("VALID") private String valid; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; - @ApiModelProperty("任务状态名称") + @ApiModelProperty(value = "任务状态名称") @TableField(exist = false) private String statusName; //设备型号 - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String modelName; //设备型号 - @ApiModelProperty("巡检车牌号") + @ApiModelProperty(value = "巡检车牌号") @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 b967792..1ebc008 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 @@ -27,55 +27,55 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("任务id") + @ApiModelProperty(value = "任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度",required = true) @TableField("LAGITUDE") private String lagitude; - @ApiModelProperty("气体浓度值") + @ApiModelProperty(value = "气体浓度值",required = true) @TableField("GAS") private String gas; - @ApiModelProperty("水平值") + @ApiModelProperty(value = "水平值",required = true) @TableField("DIRECTION") private String direction; - @ApiModelProperty("垂直值") + @ApiModelProperty(value = "垂直值",required = true) @TableField("PITCH") private String pitch; - @ApiModelProperty("轨迹位置描述") + @ApiModelProperty(value = "轨迹位置描述") @TableField("POSITION") private String position; - @ApiModelProperty("车速") + @ApiModelProperty(value = "车速",required = true) @TableField("SPEED") private String speed; - @ApiModelProperty("1:报警,0:正常") + @ApiModelProperty(value = "1:报警,0:正常",required = true) @TableField("IS_ALARM") private String isAlarm; - @ApiModelProperty("报警编号,生成报警后回填") + @ApiModelProperty(value = "报警编号,生成报警后回填",required = true) @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("1:正常:0") + @ApiModelProperty(value = "1:正常:0",required = true) @TableField("DEVICE_STATUS") private String deviceStatus; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java index 85c11f0..e70e18a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -5,11 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; import java.io.Serializable; -import java.time.LocalDateTime; /** *

@@ -19,73 +17,171 @@ * @author zt * @since 2023-07-20 */ -@Getter -@Setter +@Data @TableName("bus_pipe_overstock") @ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") -public class BusPipeOverstock implements Serializable { +public class BusPipeOverstock implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") - @TableId("ID") - private Long id; - - @ApiModelProperty("编号") - @TableField("STOCK_CODE") - private String stockCode; - - @ApiModelProperty("管线类型") - @TableField("PIPE_TYPE") - private String pipeType; - - @ApiModelProperty("占压类型") - @TableField("STOCK_TYPE") - private String stockType; - - @ApiModelProperty("占压分类") - @TableField("STOCK_CLASSIFY") - private String stockClassify; - - @ApiModelProperty("占压等级") - @TableField("STOCK_LEVEL") - private String stockLevel; - - @ApiModelProperty("图片") - @TableField("STOCK_PICTURE") - private String stockPicture; - - @ApiModelProperty("占压时间") - @TableField("STOCK_TIME") - private String stockTime; - - @ApiModelProperty("风险等级") - @TableField("RISK_LEVEL") - private String riskLevel; - - @ApiModelProperty("纬度") - @TableField("LATITUDE") - private String latitude; - + @ApiModelProperty("序号") + @TableId("Serial_number") + private String serialNumber; + @ApiModelProperty("隐患编号") + @TableField("Hidden_danger_number") + private String hiddenDangerNumber; + @ApiModelProperty("一级分类") + @TableField("Primary_classification") + private String primaryClassification; + @ApiModelProperty("二级分类") + @TableField("Secondary_classification") + private String secondaryClassification; + @ApiModelProperty("隐患描述") + @TableField("Hidden_danger_description") + private String hiddenDangerDescription; + @ApiModelProperty("管网类型") + @TableField("Pipe_network_type") + private String pipeNetworkType; + @ApiModelProperty("管网编码设备编码") + @TableField("Equipment_number") + private String equipmentNumber; + @ApiModelProperty("地点") + private String Location; @ApiModelProperty("经度") - @TableField("LONGITUDE") - private String longitude; - - @ApiModelProperty("占压位置") - @TableField("POSITION") - private String position; - - @ApiModelProperty("是否指令(0:无,1:是)") - @TableField("IS_HANDLE") - private String isHandle; - - @ApiModelProperty("治理规则") - @TableField("HANDLE_RULE") - private String handleRule; - - @ApiModelProperty("时间") - @TableField("TS") - private LocalDateTime ts; - + private String Longitude; + @ApiModelProperty("纬度") + private String Latitude; + @ApiModelProperty("是否在小区内") + @TableField("Whether_it_is_in_the_community") + private String whetherItIsInTheCommunity; + @ApiModelProperty("小区内占压类型") + @TableField("Occupying_type") + private String occupyingType; + @ApiModelProperty("小区名称") + @TableField("Community_name") + private String communityName; + @ApiModelProperty("发现时间") + @TableField("Discovery_time") + private String discoveryTime; + @ApiModelProperty("所在区县") + private String District; + @ApiModelProperty("所在街乡") + private String Street; + @ApiModelProperty("隐患等级") + @TableField("Hidden_danger_level") + private String hiddenDangerLevel; + @ApiModelProperty("管理责任企业") + @TableField("Responsible_management_enterprise") + private String responsibleManagementEnterprise; + @ApiModelProperty("责任人") + @TableField("Person_in_charge") + private String personInCharge; + @ApiModelProperty("计划消除时限") + @TableField("Planned_elimination_time_limit") + private String plannedEliminationTimeLimit; + @ApiModelProperty("治理情况") + @TableField("Governance_situation") + private String governanceSituation; + @ApiModelProperty("消除时间") + @TableField("Elimination_time") + private String eliminationTime; + @ApiModelProperty("产权性质") + @TableField("Property_right_nature") + private String propertyRightNature; + @ApiModelProperty("备注") + private String Remark; + @ApiModelProperty("占压企业个人名称") + @TableField("Occupied_enterprise_personal_name") + private String occupiedEnterprisePersonalName; + @ApiModelProperty("占压单位性质") + @TableField("Occupation_unit_property") + private String occupationUnitProperty; + @ApiModelProperty("占压物建成年代") + @TableField("Date_of_construction_of_the_occupation") + private String dateOfConstructionOfTheOccupation; + @ApiModelProperty("有无占压物建设批准文件") + @TableField("any_approval_documents_for_the_construction") + private String anyApprovalDocumentsForTheConstruction; + @ApiModelProperty("占压物用途") + @TableField("Use_of_the_occupation") + private String useOfTheOccupation; + @ApiModelProperty("占压物描述") + @TableField("Description_of_the_occupation") + private String descriptionOfTheOccupation; + @ApiModelProperty("有无经常性人员活动") + @TableField("Are_there_regular_staff_activities") + private String areThereRegularStaffActivities; + @ApiModelProperty("占压物面积") + @TableField("Area_of_occupation") + private String areaOfOccupation; + @ApiModelProperty("是否具备改移条件") + @TableField("Whether_there_are_conditions_for_relocation") + private String whetherThereAreConditionsForRelocation; + @ApiModelProperty("年份") + @TableField("Year_of_commencement_of_operation") + private String yearOfCommencementOfOperation; + @ApiModelProperty("年代类别") + @TableField("Year_of_use") + private String yearOfUse; + @ApiModelProperty("有无管线建设批准文件") + @TableField("Is_there_any_pipeline_construction_approval_document") + private String isThereAnyPipelineConstructionApprovalDocument; + @ApiModelProperty("管线埋深") + @TableField("Pipeline_depth") + private String pipelineDepth; + @ApiModelProperty("管径") + @TableField("Pipe_diameter") + private String pipeDiameter; + @ApiModelProperty("管线压力") + @TableField("Line_pressure") + private String linePressure; + @ApiModelProperty("占压管线长度") + @TableField("Pipeline_length") + private String pipelineLength; + @ApiModelProperty("是否纳入技改计划") + @TableField("Whether_it_is_included_in_the_technical_reform_plan") + private String whetherItIsIncludedInTheTechnicalReformPlan; + @ApiModelProperty("技改项目号") + @TableField("Technical_transformation_project_number") + private String technicalTransformationProjectNumber; + @ApiModelProperty("防控措施") + @TableField("Prevention_and_control_measures") + private String preventionAndControlMeasures; + @ApiModelProperty("治理计划") + @TableField("Governance_plan") + private String governancePlan; + @ApiModelProperty("限购或停气情况") + @TableField("Purchase_restriction_or_gas_shutdown") + private String purchaseRestrictionOrGasShutdown; + @ApiModelProperty("改线工程名称") + @TableField("Name_of_the_diversion_project") + private String nameOfTheDiversionProject; + @ApiModelProperty("改线工程编号") + @TableField("Number_of_the_diversion_project") + private String numberOfTheDiversionProject; + @ApiModelProperty("改线进展统计") + @TableField("Progress_statistics_of_the_diversion_project") + private String progressStatisticsOfTheDiversionProject; + @ApiModelProperty("与区县对接联系人") + @TableField("Contact_person") + private String contactPerson; + @ApiModelProperty("特级占压分类情况") + @TableField("Super_occupying_pressure_classification") + private String superOccupyingPressureClassification; + @ApiModelProperty("空字段1") + @TableField("Empty_field_1") + private String emptyField1; + @ApiModelProperty("空字段2") + @TableField("Empty_field_2") + private String emptyField2; + @ApiModelProperty("空字段3") + @TableField("Empty_field_3") + private String emptyField3; + @ApiModelProperty("空字段4") + @TableField("Empty_field_4") + private String emptyField4; + @ApiModelProperty("空字段5") + @TableField("Empty_field_5") + private String emptyField5; } 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 cfd8e93..e074f7c 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 @@ -11,6 +11,8 @@ HANDLE_FAILED(500, "操作失败"), + ALARM_CODE_FAILED(5003, "报警编号不能为空"), + CODE_NULL(501, "字典code不能为空"), SAVE_FAILED(400, "保存失败"), diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java index 0be8c95..948224d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -34,4 +34,8 @@ Map taskCount(String begTime, String endTime); List> taskTime(String timeType); + + boolean endTask(Long id); + + boolean batchDelete(List ids); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 2a8b52e..4119a81 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -1,6 +1,10 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import javax.servlet.http.HttpServletResponse; @@ -20,4 +24,8 @@ List getByTask(Long taskId); + BusPatrolTrack getLastTrack(Long taskId); + + Page listPage(Page page, PatrolTrackRequest request); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java index 061b95a..fa84fb7 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; /** *

@@ -13,4 +17,9 @@ */ public interface IBusPipeOverstockService extends IService { + + //解析文件流 +// List> parseSourceFile(MultipartFile file); +// +// boolean BusPipeOverstock(List> urls); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java index 7bc3180..f95971d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -7,15 +7,22 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.apache.ibatis.annotations.Results; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; @@ -34,22 +41,51 @@ public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { @Autowired private IBaseExportService iBaseExportService; + @Autowired + private IBusPatrolCarService iBusPatrolCarService; + @Autowired + private IBusPatrolTrackService iBusPatrolTrackService; + @Autowired + private ThreadPoolTaskExecutor executor; + @Autowired + private AbstractDictService abstractDictService; @Override public Page listPage(Page page, PatrolTaskRequest request) { - return this.baseMapper.listPage(page, request); + + Page patrolTaskPage = this.baseMapper.listPage(page, request); + List busPatrolTaskList = patrolTaskPage.getRecords(); + busPatrolTaskList.forEach(busPatrolTask -> { + busPatrolTask.setStatusName(ObjectUtil.isNotEmpty(busPatrolTask.getStatus()) ? + abstractDictService.getDictNameByCode("inspectionStatus", + busPatrolTask.getStatus()) : ""); + }); + return patrolTaskPage; } @Override public Long saveTask(BusPatrolTask busPatrolTask) { + //1.保存任务 initTask(busPatrolTask); this.save(busPatrolTask); + //2.更新车辆信息 + BusPatrolCar busPatrolCar = new BusPatrolCar(); + busPatrolCar.setId(busPatrolTask.getCarId()); + busPatrolCar.setLatitude(busPatrolTask.getLatitude()); + busPatrolCar.setLongitude(busPatrolTask.getLongitude()); + busPatrolCar.setStatus("1"); + busPatrolCar.setTs(DateUtil.formatDateTime(new Date())); + iBusPatrolCarService.updateById(busPatrolCar); return busPatrolTask.getId(); } private void initTask(BusPatrolTask busPatrolTask) { //生成报警编号 + busPatrolTask.setStatus("0"); + busPatrolTask.setValid("0"); + busPatrolTask.setBeginDate(DateUtil.formatDateTime(new Date())); + busPatrolTask.setTs(DateUtil.formatDateTime(new Date())); Long maxNo = this.baseMapper.selectMaxCode(); busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); } @@ -107,7 +143,7 @@ } @Override - public List> taskTime(String timeType) { + public List> taskTime(String timeType) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.ge("BEGIN_DATE", DateUtil.offsetDay(new Date(), -6)); @@ -119,13 +155,53 @@ int taskCount = 0; for (BusPatrolTask busPatrolTask : taskList) { if (DateUtil.isSameDay(DateUtil.parseDate(busPatrolTask.getBeginDate()), dateTime)) { - taskCount ++; + taskCount++; } } - dayMap.put(DateUtil.formatDate(dateTime),taskCount); + dayMap.put(DateUtil.formatDateTime(dateTime), taskCount); mapList.add(dayMap); }); return mapList; } + + @Override + public boolean endTask(Long id) { + //1.更新任务状态 + BusPatrolTask busPatrolTask = this.baseMapper.selectById(id); + if (null != busPatrolTask) { + busPatrolTask.setStatus("1"); + busPatrolTask.setEndDate(DateUtil.formatDateTime(new Date())); + this.baseMapper.updateById(busPatrolTask); + //2.更新车辆信息 + BusPatrolTrack busPatrolTrack = iBusPatrolTrackService.getLastTrack(id); + BusPatrolCar busPatrolCar = new BusPatrolCar(); + busPatrolCar.setId(busPatrolTask.getCarId()); + if (null != busPatrolTrack) { + busPatrolCar.setLatitude(busPatrolTrack.getLagitude()); + busPatrolCar.setLongitude(busPatrolTrack.getLongitude()); + } + busPatrolCar.setStatus("0"); + busPatrolCar.setTs(DateUtil.formatDateTime(new Date())); + iBusPatrolCarService.updateById(busPatrolCar); + executor.execute(() -> this.updateKm(id)); + } + return true; + } + + public void updateKm(Long id) { + BusPatrolTask busPatrolTask = new BusPatrolTask(); + busPatrolTask.setId(id); + busPatrolTask.setKm(iBusPatrolTrackService.getDistance(id) + ""); + this.updateById(busPatrolTask); + } + + @Override + public boolean batchDelete(List ids) { + List taskList = this.baseMapper.selectBatchIds(ids); + taskList.forEach(task -> { + task.setValid("1"); + }); + return this.saveOrUpdateBatch(taskList); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java index 4a99493..d7c54d6 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -2,9 +2,11 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.dto.PatrolTrackRequest; import com.casic.missiles.modular.system.entity.BusPatrolTask; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import com.casic.missiles.modular.system.enums.DictEnum; @@ -60,13 +62,17 @@ while (i < busPatrolTrackList.size() - 1) { BusPatrolTrack cStart = busPatrolTrackList.get(i); // 取i对象 BusPatrolTrack cEnd = busPatrolTrackList.get(i + 1); // 取i+1对象 - double cStartlat = Double.valueOf(cStart.getLagitude()); - double cStartlon = Double.valueOf(cStart.getLongitude()); - double cEndlat = Double.valueOf(cEnd.getLagitude()); - double cEndlon = Double.valueOf(cEnd.getLongitude()); - // 把计算出来的距离进行累加,最后就得到总里程 - distance = distance + DistanceUtil.getFinalMeters(cStartlat, cStartlon, cEndlat, cEndlon); + if (ObjectUtil.isAllNotEmpty(cStart.getLagitude(), cStart.getLongitude(), + cEnd.getLagitude(), cEnd.getLongitude())) { + double cStartlat = Double.valueOf(cStart.getLagitude()); + double cStartlon = Double.valueOf(cStart.getLongitude()); + double cEndlat = Double.valueOf(cEnd.getLagitude()); + double cEndlon = Double.valueOf(cEnd.getLongitude()); + + // 把计算出来的距离进行累加,最后就得到总里程 + distance = distance + DistanceUtil.getFinalMeters(cStartlat, cStartlon, cEndlat, cEndlon); + } i = i + 1; } if (distance > 0) { @@ -80,4 +86,28 @@ } return distance; } + + @Override + public BusPatrolTrack getLastTrack(Long taskId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("TASK_ID", taskId); + queryWrapper.orderByDesc("TS"); + queryWrapper.last("limit 1"); + return this.getOne(queryWrapper); + } + + @Override + public Page listPage(Page page, PatrolTrackRequest request) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.ge(ObjectUtil.isNotEmpty(request.getBeginDate()), "TS", request.getBeginDate()); + queryWrapper.le(ObjectUtil.isNotEmpty(request.getEndDate()), "TS", request.getEndDate()); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getIsAlarm()), "IS_ALARM", request.getIsAlarm()); + queryWrapper.like(ObjectUtil.isNotEmpty(request.getAlarmCode()), "ALARM_CODE", request.getAlarmCode()); + queryWrapper.like(ObjectUtil.isNotEmpty(request.getPosition()), "POSITION", request.getPosition()); + queryWrapper.like(ObjectUtil.isNotEmpty(request.getTaskId()), "TASK_ID", request.getTaskId()); + queryWrapper.ge(ObjectUtil.isNotEmpty(request.getGas1()), "GAS", request.getGas1()); + queryWrapper.le(ObjectUtil.isNotEmpty(request.getGas2()), "GAS", request.getGas2()); + queryWrapper.orderByDesc("TS"); + return this.baseMapper.selectPage(page, queryWrapper); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java index a646bf4..fafc4c1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -17,4 +17,7 @@ @Service public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + + + } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; 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 6ba46ad..c028826 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("云台设备ID") + @ApiModelProperty(value = "云台设备ID",required = true) @TableField("DEVICE_ID") private Long deviceId; - @ApiModelProperty("报警编号,后台生成") + @ApiModelProperty(value = "报警编号,后台生成") @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @ApiModelProperty(value = "告警类型1:浓度超限报警,2:第三方施工识别报警",required = true) @TableField("ALARM_TYPE") private String alarmType; - @ApiModelProperty("巡检任务id") + @ApiModelProperty(value = "巡检任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("报警内容") + @ApiModelProperty(value = "报警内容",required = true) @TableField("ALARM_CONTENT") private String alarmContent; - @ApiModelProperty("报警数值") + @ApiModelProperty(value = "报警数值",required = true) @TableField("ALARM_VALUE") private Double alarmValue; - @ApiModelProperty("报警阈值") + @ApiModelProperty(value = "报警阈值",required = true) @TableField("ALARM_THRESH") private Double alarmThresh; - @ApiModelProperty("报警视频路径") + @ApiModelProperty(value = "报警视频路径",required = true) @TableField("ALARM_VIDEO") private String alarmVideo; - @ApiModelProperty("报警图片路径") + @ApiModelProperty(value = "报警图片路径",required = true) @TableField("ALARM_PICTURE") private String alarmPicture; - @ApiModelProperty("报警时间") + @ApiModelProperty(value = "报警时间",required = true) @TableField("ALARM_TIME") private String alarmTime; - @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @ApiModelProperty(value = "报警状态(0:正在报警;1:已处置",required = true) @TableField("ALARM_STATUS") private String alarmStatus; - @ApiModelProperty("报警经度") + @ApiModelProperty(value = "报警经度",required = true) @TableField("ALARM_LONGITUDE") private String alarmLongitude; - @ApiModelProperty("报警纬度") + @ApiModelProperty(value = "报警纬度",required = true) @TableField("ALARM_LATITUDE") private String alarmLatitude; - @ApiModelProperty("处置时间") + @ApiModelProperty(value = "处置时间",required = true) @TableField("CANCEL_TIME") private String cancelTime; - @ApiModelProperty("处置人") + @ApiModelProperty(value = "处置人") @TableField("CANCEL_USER") private Long cancelUser; - @ApiModelProperty("处置结果") + @ApiModelProperty(value = "处置结果",required = true) @TableField("CANCEL_RESULT") private String cancelResult; - @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)") + @ApiModelProperty(value = "处置原因(1,已处置,2,无需处置,3,其他原因)",required = true) @TableField("CANCEL_REASON") private String cancelReason; - @ApiModelProperty("时间") + @ApiModelProperty(value = "时间") @TableField("TS") private LocalDateTime ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java index 24c6a2c..680d4c5 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -27,47 +27,47 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车名称") + @ApiModelProperty(value = "巡检车名称") @TableField("CAR_NAME") private String carName; - @ApiModelProperty("车牌号") + @ApiModelProperty(value = "车牌号") @TableField("CAR_PLATE") private String carPlate; - @ApiModelProperty("备注") + @ApiModelProperty(value = "备注") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("所属机构") + @ApiModelProperty(value = "所属机构") @TableField("DEPT_ID") private Long deptId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度") @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度") @TableField("LATITUDE") private String latitude; - @ApiModelProperty("1:在线,0:离线") + @ApiModelProperty(value = "1:在线,0:离线") @TableField("`STATUS`") private String status; - @ApiModelProperty("是否有效(0:有效,1:无效)") + @ApiModelProperty(value = "是否有效(0:有效,1:无效)") @TableField("VALID") private String valid; - @ApiModelProperty("最新时间") + @ApiModelProperty(value = "最新时间") @TableField("TS") private String ts; - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String deviceModel; 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 16391e1..4fb72ac 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车辆ID") + @ApiModelProperty(value = "巡检车辆ID",required = true) @TableField("CAR_ID") private Long carId; - @ApiModelProperty("任务名称") + @ApiModelProperty(value = "任务名称",required = true) @TableField("TASK_NAME") private String taskName; - @ApiModelProperty("任务编号,后台生成") + @ApiModelProperty(value = "任务编号,后台生成") @TableField("TASK_CODE") private String taskCode; - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") @TableField("BEGIN_DATE") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") @TableField("END_DATE") private String endDate; - @ApiModelProperty("起始经度") + @ApiModelProperty(value = "起始经度,开始的时候传",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("起始纬度") + @ApiModelProperty(value = "起始纬度,开始的时候传",required = true) @TableField("LATITUDE") private String latitude; - @ApiModelProperty("描述") + @ApiModelProperty(value = "描述") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("扩展字段1") + @ApiModelProperty(value = "扩展字段1") @TableField("DESCRIPTION1") private String description1; - @ApiModelProperty("扩展字段2") + @ApiModelProperty(value = "扩展字段2") @TableField("DESCRIPTION2") private String description2; - @ApiModelProperty("公里数") + @ApiModelProperty(value = "公里数") @TableField("KM") private String km; - @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)") - @TableField("`STATUS`") + @ApiModelProperty(value = "任务状态(1:已完成,0:进行中,新建任务填0)") + @TableField("STATUS") private String status; - @ApiModelProperty("修改时间") + @ApiModelProperty(value = "修改时间") @TableField("UPDATE_TIME") private String updateTime; - @ApiModelProperty("0:有效,1:删除") + @ApiModelProperty(value = "0:有效,1:删除") @TableField("VALID") private String valid; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; - @ApiModelProperty("任务状态名称") + @ApiModelProperty(value = "任务状态名称") @TableField(exist = false) private String statusName; //设备型号 - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String modelName; //设备型号 - @ApiModelProperty("巡检车牌号") + @ApiModelProperty(value = "巡检车牌号") @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 b967792..1ebc008 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 @@ -27,55 +27,55 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("任务id") + @ApiModelProperty(value = "任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度",required = true) @TableField("LAGITUDE") private String lagitude; - @ApiModelProperty("气体浓度值") + @ApiModelProperty(value = "气体浓度值",required = true) @TableField("GAS") private String gas; - @ApiModelProperty("水平值") + @ApiModelProperty(value = "水平值",required = true) @TableField("DIRECTION") private String direction; - @ApiModelProperty("垂直值") + @ApiModelProperty(value = "垂直值",required = true) @TableField("PITCH") private String pitch; - @ApiModelProperty("轨迹位置描述") + @ApiModelProperty(value = "轨迹位置描述") @TableField("POSITION") private String position; - @ApiModelProperty("车速") + @ApiModelProperty(value = "车速",required = true) @TableField("SPEED") private String speed; - @ApiModelProperty("1:报警,0:正常") + @ApiModelProperty(value = "1:报警,0:正常",required = true) @TableField("IS_ALARM") private String isAlarm; - @ApiModelProperty("报警编号,生成报警后回填") + @ApiModelProperty(value = "报警编号,生成报警后回填",required = true) @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("1:正常:0") + @ApiModelProperty(value = "1:正常:0",required = true) @TableField("DEVICE_STATUS") private String deviceStatus; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java index 85c11f0..e70e18a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -5,11 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; import java.io.Serializable; -import java.time.LocalDateTime; /** *

@@ -19,73 +17,171 @@ * @author zt * @since 2023-07-20 */ -@Getter -@Setter +@Data @TableName("bus_pipe_overstock") @ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") -public class BusPipeOverstock implements Serializable { +public class BusPipeOverstock implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") - @TableId("ID") - private Long id; - - @ApiModelProperty("编号") - @TableField("STOCK_CODE") - private String stockCode; - - @ApiModelProperty("管线类型") - @TableField("PIPE_TYPE") - private String pipeType; - - @ApiModelProperty("占压类型") - @TableField("STOCK_TYPE") - private String stockType; - - @ApiModelProperty("占压分类") - @TableField("STOCK_CLASSIFY") - private String stockClassify; - - @ApiModelProperty("占压等级") - @TableField("STOCK_LEVEL") - private String stockLevel; - - @ApiModelProperty("图片") - @TableField("STOCK_PICTURE") - private String stockPicture; - - @ApiModelProperty("占压时间") - @TableField("STOCK_TIME") - private String stockTime; - - @ApiModelProperty("风险等级") - @TableField("RISK_LEVEL") - private String riskLevel; - - @ApiModelProperty("纬度") - @TableField("LATITUDE") - private String latitude; - + @ApiModelProperty("序号") + @TableId("Serial_number") + private String serialNumber; + @ApiModelProperty("隐患编号") + @TableField("Hidden_danger_number") + private String hiddenDangerNumber; + @ApiModelProperty("一级分类") + @TableField("Primary_classification") + private String primaryClassification; + @ApiModelProperty("二级分类") + @TableField("Secondary_classification") + private String secondaryClassification; + @ApiModelProperty("隐患描述") + @TableField("Hidden_danger_description") + private String hiddenDangerDescription; + @ApiModelProperty("管网类型") + @TableField("Pipe_network_type") + private String pipeNetworkType; + @ApiModelProperty("管网编码设备编码") + @TableField("Equipment_number") + private String equipmentNumber; + @ApiModelProperty("地点") + private String Location; @ApiModelProperty("经度") - @TableField("LONGITUDE") - private String longitude; - - @ApiModelProperty("占压位置") - @TableField("POSITION") - private String position; - - @ApiModelProperty("是否指令(0:无,1:是)") - @TableField("IS_HANDLE") - private String isHandle; - - @ApiModelProperty("治理规则") - @TableField("HANDLE_RULE") - private String handleRule; - - @ApiModelProperty("时间") - @TableField("TS") - private LocalDateTime ts; - + private String Longitude; + @ApiModelProperty("纬度") + private String Latitude; + @ApiModelProperty("是否在小区内") + @TableField("Whether_it_is_in_the_community") + private String whetherItIsInTheCommunity; + @ApiModelProperty("小区内占压类型") + @TableField("Occupying_type") + private String occupyingType; + @ApiModelProperty("小区名称") + @TableField("Community_name") + private String communityName; + @ApiModelProperty("发现时间") + @TableField("Discovery_time") + private String discoveryTime; + @ApiModelProperty("所在区县") + private String District; + @ApiModelProperty("所在街乡") + private String Street; + @ApiModelProperty("隐患等级") + @TableField("Hidden_danger_level") + private String hiddenDangerLevel; + @ApiModelProperty("管理责任企业") + @TableField("Responsible_management_enterprise") + private String responsibleManagementEnterprise; + @ApiModelProperty("责任人") + @TableField("Person_in_charge") + private String personInCharge; + @ApiModelProperty("计划消除时限") + @TableField("Planned_elimination_time_limit") + private String plannedEliminationTimeLimit; + @ApiModelProperty("治理情况") + @TableField("Governance_situation") + private String governanceSituation; + @ApiModelProperty("消除时间") + @TableField("Elimination_time") + private String eliminationTime; + @ApiModelProperty("产权性质") + @TableField("Property_right_nature") + private String propertyRightNature; + @ApiModelProperty("备注") + private String Remark; + @ApiModelProperty("占压企业个人名称") + @TableField("Occupied_enterprise_personal_name") + private String occupiedEnterprisePersonalName; + @ApiModelProperty("占压单位性质") + @TableField("Occupation_unit_property") + private String occupationUnitProperty; + @ApiModelProperty("占压物建成年代") + @TableField("Date_of_construction_of_the_occupation") + private String dateOfConstructionOfTheOccupation; + @ApiModelProperty("有无占压物建设批准文件") + @TableField("any_approval_documents_for_the_construction") + private String anyApprovalDocumentsForTheConstruction; + @ApiModelProperty("占压物用途") + @TableField("Use_of_the_occupation") + private String useOfTheOccupation; + @ApiModelProperty("占压物描述") + @TableField("Description_of_the_occupation") + private String descriptionOfTheOccupation; + @ApiModelProperty("有无经常性人员活动") + @TableField("Are_there_regular_staff_activities") + private String areThereRegularStaffActivities; + @ApiModelProperty("占压物面积") + @TableField("Area_of_occupation") + private String areaOfOccupation; + @ApiModelProperty("是否具备改移条件") + @TableField("Whether_there_are_conditions_for_relocation") + private String whetherThereAreConditionsForRelocation; + @ApiModelProperty("年份") + @TableField("Year_of_commencement_of_operation") + private String yearOfCommencementOfOperation; + @ApiModelProperty("年代类别") + @TableField("Year_of_use") + private String yearOfUse; + @ApiModelProperty("有无管线建设批准文件") + @TableField("Is_there_any_pipeline_construction_approval_document") + private String isThereAnyPipelineConstructionApprovalDocument; + @ApiModelProperty("管线埋深") + @TableField("Pipeline_depth") + private String pipelineDepth; + @ApiModelProperty("管径") + @TableField("Pipe_diameter") + private String pipeDiameter; + @ApiModelProperty("管线压力") + @TableField("Line_pressure") + private String linePressure; + @ApiModelProperty("占压管线长度") + @TableField("Pipeline_length") + private String pipelineLength; + @ApiModelProperty("是否纳入技改计划") + @TableField("Whether_it_is_included_in_the_technical_reform_plan") + private String whetherItIsIncludedInTheTechnicalReformPlan; + @ApiModelProperty("技改项目号") + @TableField("Technical_transformation_project_number") + private String technicalTransformationProjectNumber; + @ApiModelProperty("防控措施") + @TableField("Prevention_and_control_measures") + private String preventionAndControlMeasures; + @ApiModelProperty("治理计划") + @TableField("Governance_plan") + private String governancePlan; + @ApiModelProperty("限购或停气情况") + @TableField("Purchase_restriction_or_gas_shutdown") + private String purchaseRestrictionOrGasShutdown; + @ApiModelProperty("改线工程名称") + @TableField("Name_of_the_diversion_project") + private String nameOfTheDiversionProject; + @ApiModelProperty("改线工程编号") + @TableField("Number_of_the_diversion_project") + private String numberOfTheDiversionProject; + @ApiModelProperty("改线进展统计") + @TableField("Progress_statistics_of_the_diversion_project") + private String progressStatisticsOfTheDiversionProject; + @ApiModelProperty("与区县对接联系人") + @TableField("Contact_person") + private String contactPerson; + @ApiModelProperty("特级占压分类情况") + @TableField("Super_occupying_pressure_classification") + private String superOccupyingPressureClassification; + @ApiModelProperty("空字段1") + @TableField("Empty_field_1") + private String emptyField1; + @ApiModelProperty("空字段2") + @TableField("Empty_field_2") + private String emptyField2; + @ApiModelProperty("空字段3") + @TableField("Empty_field_3") + private String emptyField3; + @ApiModelProperty("空字段4") + @TableField("Empty_field_4") + private String emptyField4; + @ApiModelProperty("空字段5") + @TableField("Empty_field_5") + private String emptyField5; } 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 cfd8e93..e074f7c 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 @@ -11,6 +11,8 @@ HANDLE_FAILED(500, "操作失败"), + ALARM_CODE_FAILED(5003, "报警编号不能为空"), + CODE_NULL(501, "字典code不能为空"), SAVE_FAILED(400, "保存失败"), diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java index 0be8c95..948224d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -34,4 +34,8 @@ Map taskCount(String begTime, String endTime); List> taskTime(String timeType); + + boolean endTask(Long id); + + boolean batchDelete(List ids); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 2a8b52e..4119a81 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -1,6 +1,10 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import javax.servlet.http.HttpServletResponse; @@ -20,4 +24,8 @@ List getByTask(Long taskId); + BusPatrolTrack getLastTrack(Long taskId); + + Page listPage(Page page, PatrolTrackRequest request); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java index 061b95a..fa84fb7 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; /** *

@@ -13,4 +17,9 @@ */ public interface IBusPipeOverstockService extends IService { + + //解析文件流 +// List> parseSourceFile(MultipartFile file); +// +// boolean BusPipeOverstock(List> urls); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java index 7bc3180..f95971d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -7,15 +7,22 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.apache.ibatis.annotations.Results; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; @@ -34,22 +41,51 @@ public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { @Autowired private IBaseExportService iBaseExportService; + @Autowired + private IBusPatrolCarService iBusPatrolCarService; + @Autowired + private IBusPatrolTrackService iBusPatrolTrackService; + @Autowired + private ThreadPoolTaskExecutor executor; + @Autowired + private AbstractDictService abstractDictService; @Override public Page listPage(Page page, PatrolTaskRequest request) { - return this.baseMapper.listPage(page, request); + + Page patrolTaskPage = this.baseMapper.listPage(page, request); + List busPatrolTaskList = patrolTaskPage.getRecords(); + busPatrolTaskList.forEach(busPatrolTask -> { + busPatrolTask.setStatusName(ObjectUtil.isNotEmpty(busPatrolTask.getStatus()) ? + abstractDictService.getDictNameByCode("inspectionStatus", + busPatrolTask.getStatus()) : ""); + }); + return patrolTaskPage; } @Override public Long saveTask(BusPatrolTask busPatrolTask) { + //1.保存任务 initTask(busPatrolTask); this.save(busPatrolTask); + //2.更新车辆信息 + BusPatrolCar busPatrolCar = new BusPatrolCar(); + busPatrolCar.setId(busPatrolTask.getCarId()); + busPatrolCar.setLatitude(busPatrolTask.getLatitude()); + busPatrolCar.setLongitude(busPatrolTask.getLongitude()); + busPatrolCar.setStatus("1"); + busPatrolCar.setTs(DateUtil.formatDateTime(new Date())); + iBusPatrolCarService.updateById(busPatrolCar); return busPatrolTask.getId(); } private void initTask(BusPatrolTask busPatrolTask) { //生成报警编号 + busPatrolTask.setStatus("0"); + busPatrolTask.setValid("0"); + busPatrolTask.setBeginDate(DateUtil.formatDateTime(new Date())); + busPatrolTask.setTs(DateUtil.formatDateTime(new Date())); Long maxNo = this.baseMapper.selectMaxCode(); busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); } @@ -107,7 +143,7 @@ } @Override - public List> taskTime(String timeType) { + public List> taskTime(String timeType) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.ge("BEGIN_DATE", DateUtil.offsetDay(new Date(), -6)); @@ -119,13 +155,53 @@ int taskCount = 0; for (BusPatrolTask busPatrolTask : taskList) { if (DateUtil.isSameDay(DateUtil.parseDate(busPatrolTask.getBeginDate()), dateTime)) { - taskCount ++; + taskCount++; } } - dayMap.put(DateUtil.formatDate(dateTime),taskCount); + dayMap.put(DateUtil.formatDateTime(dateTime), taskCount); mapList.add(dayMap); }); return mapList; } + + @Override + public boolean endTask(Long id) { + //1.更新任务状态 + BusPatrolTask busPatrolTask = this.baseMapper.selectById(id); + if (null != busPatrolTask) { + busPatrolTask.setStatus("1"); + busPatrolTask.setEndDate(DateUtil.formatDateTime(new Date())); + this.baseMapper.updateById(busPatrolTask); + //2.更新车辆信息 + BusPatrolTrack busPatrolTrack = iBusPatrolTrackService.getLastTrack(id); + BusPatrolCar busPatrolCar = new BusPatrolCar(); + busPatrolCar.setId(busPatrolTask.getCarId()); + if (null != busPatrolTrack) { + busPatrolCar.setLatitude(busPatrolTrack.getLagitude()); + busPatrolCar.setLongitude(busPatrolTrack.getLongitude()); + } + busPatrolCar.setStatus("0"); + busPatrolCar.setTs(DateUtil.formatDateTime(new Date())); + iBusPatrolCarService.updateById(busPatrolCar); + executor.execute(() -> this.updateKm(id)); + } + return true; + } + + public void updateKm(Long id) { + BusPatrolTask busPatrolTask = new BusPatrolTask(); + busPatrolTask.setId(id); + busPatrolTask.setKm(iBusPatrolTrackService.getDistance(id) + ""); + this.updateById(busPatrolTask); + } + + @Override + public boolean batchDelete(List ids) { + List taskList = this.baseMapper.selectBatchIds(ids); + taskList.forEach(task -> { + task.setValid("1"); + }); + return this.saveOrUpdateBatch(taskList); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java index 4a99493..d7c54d6 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -2,9 +2,11 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.dto.PatrolTrackRequest; import com.casic.missiles.modular.system.entity.BusPatrolTask; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import com.casic.missiles.modular.system.enums.DictEnum; @@ -60,13 +62,17 @@ while (i < busPatrolTrackList.size() - 1) { BusPatrolTrack cStart = busPatrolTrackList.get(i); // 取i对象 BusPatrolTrack cEnd = busPatrolTrackList.get(i + 1); // 取i+1对象 - double cStartlat = Double.valueOf(cStart.getLagitude()); - double cStartlon = Double.valueOf(cStart.getLongitude()); - double cEndlat = Double.valueOf(cEnd.getLagitude()); - double cEndlon = Double.valueOf(cEnd.getLongitude()); - // 把计算出来的距离进行累加,最后就得到总里程 - distance = distance + DistanceUtil.getFinalMeters(cStartlat, cStartlon, cEndlat, cEndlon); + if (ObjectUtil.isAllNotEmpty(cStart.getLagitude(), cStart.getLongitude(), + cEnd.getLagitude(), cEnd.getLongitude())) { + double cStartlat = Double.valueOf(cStart.getLagitude()); + double cStartlon = Double.valueOf(cStart.getLongitude()); + double cEndlat = Double.valueOf(cEnd.getLagitude()); + double cEndlon = Double.valueOf(cEnd.getLongitude()); + + // 把计算出来的距离进行累加,最后就得到总里程 + distance = distance + DistanceUtil.getFinalMeters(cStartlat, cStartlon, cEndlat, cEndlon); + } i = i + 1; } if (distance > 0) { @@ -80,4 +86,28 @@ } return distance; } + + @Override + public BusPatrolTrack getLastTrack(Long taskId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("TASK_ID", taskId); + queryWrapper.orderByDesc("TS"); + queryWrapper.last("limit 1"); + return this.getOne(queryWrapper); + } + + @Override + public Page listPage(Page page, PatrolTrackRequest request) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.ge(ObjectUtil.isNotEmpty(request.getBeginDate()), "TS", request.getBeginDate()); + queryWrapper.le(ObjectUtil.isNotEmpty(request.getEndDate()), "TS", request.getEndDate()); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getIsAlarm()), "IS_ALARM", request.getIsAlarm()); + queryWrapper.like(ObjectUtil.isNotEmpty(request.getAlarmCode()), "ALARM_CODE", request.getAlarmCode()); + queryWrapper.like(ObjectUtil.isNotEmpty(request.getPosition()), "POSITION", request.getPosition()); + queryWrapper.like(ObjectUtil.isNotEmpty(request.getTaskId()), "TASK_ID", request.getTaskId()); + queryWrapper.ge(ObjectUtil.isNotEmpty(request.getGas1()), "GAS", request.getGas1()); + queryWrapper.le(ObjectUtil.isNotEmpty(request.getGas2()), "GAS", request.getGas2()); + queryWrapper.orderByDesc("TS"); + return this.baseMapper.selectPage(page, queryWrapper); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java index a646bf4..fafc4c1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -17,4 +17,7 @@ @Service public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java index 3343184..9b0b2bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -1,5 +1,10 @@ package com.casic.missiles.modular.system.util; +import cn.hutool.core.util.ObjectUtil; +import net.bramp.ffmpeg.FFmpeg; +import net.bramp.ffmpeg.FFmpegExecutor; +import net.bramp.ffmpeg.FFprobe; +import net.bramp.ffmpeg.builder.FFmpegBuilder; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -61,7 +66,7 @@ return fileName; } - public static String saveFile(MultipartFile file,String filePath) throws IOException { + public static String saveFile(MultipartFile file,String filePath,String ffmpegPath) throws IOException { if (!file.isEmpty()) { String uuid = UUID.randomUUID().toString().replaceAll("-", ""); String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); @@ -73,9 +78,33 @@ String pathName = dir.getPath() + File.separator + filePrex; file.transferTo(new File(pathName)); - return fileName.concat(File.separator).concat(filePrex); + String path = fileName.concat(File.separator).concat(filePrex); + if(path.contains(".mp4")){ + String oldPath = filePath+fileName.concat(File.separator).concat(filePrex); + path = VideoEncoder(oldPath,ffmpegPath,filePath); + } + return path; } else { return null; } } + public static String VideoEncoder(String oldPath,String ffmpegPath,String filePath){ + String path=""; + try { + FFmpeg ffmpeg = new FFmpeg(ffmpegPath+"ffmpeg"); + FFprobe ffprobe = new FFprobe(ffmpegPath+"ffprobe"); + FFmpegBuilder builder = new FFmpegBuilder() + .setInput(oldPath) + .overrideOutputFiles(false) + .addOutput(oldPath.replace(".mp4","_1")+".mp4") + .setStrict(FFmpegBuilder.Strict.EXPERIMENTAL) + .done(); + FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe); + executor.createJob(builder).run(); + path=oldPath.replace(".mp4","_1")+".mp4"; + }catch (Exception e){ + e.printStackTrace(); + } + return ObjectUtil.isNotEmpty(path)?path.replace(filePath,""):path; + } } diff --git a/casic-server/pom.xml b/casic-server/pom.xml index d461e7b..d45d73d 100644 --- a/casic-server/pom.xml +++ b/casic-server/pom.xml @@ -77,6 +77,12 @@ 1.1.3 + + net.bramp.ffmpeg + ffmpeg + 0.7.0 + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java new file mode 100644 index 0000000..84fad15 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/ThreadConfig.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +@Configuration +public class ThreadConfig { + @Bean + public ThreadPoolTaskExecutor executor(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + //配置核心线程数 + executor.setCorePoolSize(15); + //配置最大线程数 + executor.setMaxPoolSize(30); + //配置队列大小 + executor.setQueueCapacity(1000); + //线程的名称前缀 + executor.setThreadNamePrefix("Executor-"); + //等待所有任务结束后再关闭线程池 + executor.setWaitForTasksToCompleteOnShutdown(true); + //执行初始化 + executor.initialize(); + return executor; + } +} 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 c5a81a1..bdc929a 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 @@ -2,6 +2,7 @@ import cn.hutool.core.lang.Assert; +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; @@ -50,9 +51,12 @@ private IAlarmRecordService iAlarmRecordService; @Value("${casic.file.uploadPath}") private String uploadPath; + @Value("${casic.ffmpeg.path}") + private String ffmpegPath; @ApiOperation("算法接口") @PostMapping("/getrecognitionRecords") + @ResponseBody public ReturnDTO> getrecognitionRecords(@RequestBody RecognitionRequest recognitionRequest) throws ExecutionException, InterruptedException { return ReturnUtil.success(iAnalysisRecognitionService.saveRecognition(recognitionRequest)); @@ -60,10 +64,11 @@ @ApiOperation("保存图片") @PostMapping("/savePictures") + @ResponseBody public ReturnDTO savePictures(@RequestParam("multipartFile") MultipartFile multipartFile) { String path = ""; try { - path = FileUtil.saveFile(multipartFile, uploadPath); + path = FileUtil.saveFile(multipartFile, uploadPath,ffmpegPath); } catch (IOException e) { e.printStackTrace(); } @@ -72,6 +77,7 @@ @ApiOperation("新建报警,返回报警编号") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody AlarmRecord alarmRecord) { return ReturnUtil.success(iAlarmRecordService.saveAlarm(alarmRecord)); } @@ -79,6 +85,7 @@ @ApiOperation("告警记录列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody AlarmRecordRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -89,6 +96,7 @@ @ApiOperation("报警处置") @PostMapping("/processAlarm") + @ResponseBody public Object processAlarm(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -99,6 +107,7 @@ @ApiOperation("获取报警视频地址") @PostMapping("/getAlarmVideo") + @ResponseBody public Object getAlarmVideo(@RequestBody ProcessAlarmRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -109,11 +118,24 @@ @ApiOperation("报警详情") @PostMapping("/detail") + @ResponseBody public Object detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return ReturnUtil.success(iAlarmRecordService.detail(idDTO.getId())); } + + @ApiOperation("根据报警编号查询报警图片或视频路径") + @PostMapping("/getAlarmPath") + @ResponseBody + public Object getAlarmPath(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Assert.isFalse(Objects.isNull(alarmRecordRequest.getAlarmCode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ALARM_CODE_FAILED); + }); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ALARM_CODE",alarmRecordRequest.getAlarmCode()); + return ReturnUtil.success(iAlarmRecordService.list(queryWrapper)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java index 6648e88..d97a113 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusHoleController.java @@ -1,9 +1,23 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.BusHole; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusHoleService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Objects; /** *

@@ -16,7 +30,33 @@ @Api(tags = "地下空洞基本信息接口") @RestController @RequestMapping("/system/busHole") -public class BusHoleController { +public class BusHoleController extends ExportController { + @Autowired + private IBusHoleService iBusHoleService; + @ApiOperation("地下空洞基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusHoleService.page(page, queryWrapper))); + } + + @ApiOperation("新建地下空洞基本信息") + @PostMapping("/add") + @ResponseBody + public Object add(@RequestBody BusHole busHole) { + return ReturnUtil.success(iBusHoleService.save(busHole)); + } + + @ApiOperation("编辑地下空洞基本信息") + @PostMapping("/edit") + @ResponseBody + public Object edit(@RequestBody BusHole busHole) { + Assert.isFalse(Objects.isNull(busHole.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusHoleService.updateById(busHole)); + } } 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 23fa08b..52383f9 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 @@ -41,14 +41,16 @@ @Resource private IBusPatrolTrackService iBusPatrolTrackService; - @ApiOperation("新建巡检任务") + @ApiOperation("新建巡检任务,即开始任务,需传初始经纬度") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTask busPatrolTask) { return ReturnUtil.success(iBusPatrolTaskService.saveTask(busPatrolTask)); } @ApiOperation("编辑巡检任务") @PostMapping("/edit") + @ResponseBody public Object edit(@RequestBody BusPatrolTask busPatrolTask) { Assert.isFalse(Objects.isNull(busPatrolTask.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -58,6 +60,7 @@ @ApiOperation("巡检任务列表") @PostMapping("/listPage") + @ResponseBody public Object listPage(@RequestBody PatrolTaskRequest request, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -66,13 +69,15 @@ return ReturnUtil.success(super.packForBT(iBusPatrolTaskService.listPage(page, request))); } - @ApiOperation("任务结束时,调用此接口,设置并获取轨迹公里数") - @PostMapping("/getDistance") - public ReturnDTO getDistance(@RequestBody IdDTO idDTO) { + @ApiOperation("任务结束时,调用此接口") + @PostMapping("/endTask") + @ResponseBody + public ReturnDTO endTask(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); + return ReturnUtil.success(iBusPatrolTaskService.endTask(idDTO.getId())); +// return ReturnUtil.success(iBusPatrolTrackService.getDistance(idDTO.getId())); } /** @@ -88,6 +93,7 @@ @ApiOperation("任务详情,即该任务对应的轨迹") @PostMapping("/detail") + @ResponseBody public ReturnDTO detail(@RequestBody IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); @@ -95,11 +101,21 @@ return ReturnUtil.success(iBusPatrolTrackService.getByTask(idDTO.getId())); } - @ApiOperation("test") - @PostMapping("/test") - public ReturnDTO test( String longitude,String latitude) { - - return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); + @ApiOperation("批量删除任务") + @PostMapping("/batchDelete") + @ResponseBody + public ReturnDTO batchDelete(@RequestBody IdsDTO idsDTO) { + Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusPatrolTaskService.batchDelete(idsDTO.getIds())); } + +// @ApiOperation("test") +// @PostMapping("/test") +// public ReturnDTO test( String longitude,String latitude) { +// +// return ReturnUtil.success( DistanceUtil.getAddressByJWD(longitude, latitude)); +// } } 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 5454a36..a9cd854 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 @@ -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.PatrolTrackRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTrack; @@ -12,10 +13,7 @@ import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -36,6 +34,7 @@ @ApiOperation("新建巡检轨迹信息") @PostMapping("/add") + @ResponseBody public Object add(@RequestBody BusPatrolTrack busPatrolTrack) { return ReturnUtil.success(iBusPatrolTrackService.save(busPatrolTrack)); @@ -44,9 +43,10 @@ @ApiOperation("巡检轨迹列表") @PostMapping("/listPage") - public Object listPage() { + @ResponseBody + public Object listPage(@RequestBody PatrolTrackRequest patrolTrackRequest) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.page(page))); + return ReturnUtil.success(super.packForBT(iBusPatrolTrackService.listPage(page,patrolTrackRequest))); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java index 7e74e41..2375a3f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusPipeOverstockController.java @@ -1,9 +1,28 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +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.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.entity.BusPatrolCar; +import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.service.IBusPipeOverstockService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; +import java.util.Objects; /** *

@@ -16,7 +35,19 @@ @Api(tags = "管线占压基本信息接口") @RestController @RequestMapping("/system/busPipeOverstock") -public class BusPipeOverstockController { +public class BusPipeOverstockController extends ExportController { + @Autowired + private IBusPipeOverstockService iBusPipeOverstockService; + + @ApiOperation("管线占压基本信息列表") + @PostMapping("/listPage") + public ReturnDTO listPage() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusPipeOverstockService.page(page, queryWrapper))); + } + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java index 39ae08d..5026d02 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/CodeGenerator.java @@ -66,7 +66,7 @@ //策略配置 .strategyConfig(builder -> { - builder.addInclude("bus_pipe_overstock","analysis_recognition","alarm_rule","analysis_coupling","bus_device_info","bus_pipe_overstock","bus_patrol_track","bus_patrol_task","bus_hole") // 设置需要生成的表名 + builder.addInclude("bus_pipe_overstock") // 设置需要生成的表名 //.addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml index 63e9c1b..28e3411 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusPipeOverstockMapper.xml @@ -4,26 +4,66 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - ID, STOCK_CODE, PIPE_TYPE, STOCK_TYPE, STOCK_CLASSIFY, STOCK_LEVEL, STOCK_PICTURE, STOCK_TIME, RISK_LEVEL, LATITUDE, LONGITUDE, POSITION, IS_HANDLE, HANDLE_RULE, TS + Serial_number AS serialNumber, Hidden_danger_number AS hiddenDangerNumber, Primary_classification AS primaryClassification, Secondary_classification AS secondaryClassification, Hidden_danger_description AS hiddenDangerDescription, Pipe_network_type AS pipeNetworkType, Equipment_number AS equipmentNumber, Location, Longitude, Latitude, Whether_it_is_in_the_community AS whetherItIsInTheCommunity, Occupying_type AS occupyingType, Community_name AS communityName, Discovery_time AS discoveryTime, District, Street, Hidden_danger_level AS hiddenDangerLevel, Responsible_management_enterprise AS responsibleManagementEnterprise, Person_in_charge AS personInCharge, Planned_elimination_time_limit AS plannedEliminationTimeLimit, Governance_situation AS governanceSituation, Elimination_time AS eliminationTime, Property_right_nature AS propertyRightNature, Remark, Occupied_enterprise_personal_name AS occupiedEnterprisePersonalName, Occupation_unit_property AS occupationUnitProperty, Date_of_construction_of_the_occupation AS dateOfConstructionOfTheOccupation, any_approval_documents_for_the_construction AS anyApprovalDocumentsForTheConstruction, Use_of_the_occupation AS useOfTheOccupation, Description_of_the_occupation AS descriptionOfTheOccupation, Are_there_regular_staff_activities AS areThereRegularStaffActivities, Area_of_occupation AS areaOfOccupation, Whether_there_are_conditions_for_relocation AS whetherThereAreConditionsForRelocation, Year_of_commencement_of_operation AS yearOfCommencementOfOperation, Year_of_use AS yearOfUse, Is_there_any_pipeline_construction_approval_document AS isThereAnyPipelineConstructionApprovalDocument, Pipeline_depth AS pipelineDepth, Pipe_diameter AS pipeDiameter, Line_pressure AS linePressure, Pipeline_length AS pipelineLength, Whether_it_is_included_in_the_technical_reform_plan AS whetherItIsIncludedInTheTechnicalReformPlan, Technical_transformation_project_number AS technicalTransformationProjectNumber, Prevention_and_control_measures AS preventionAndControlMeasures, Governance_plan AS governancePlan, Purchase_restriction_or_gas_shutdown AS purchaseRestrictionOrGasShutdown, Name_of_the_diversion_project AS nameOfTheDiversionProject, Number_of_the_diversion_project AS numberOfTheDiversionProject, Progress_statistics_of_the_diversion_project AS progressStatisticsOfTheDiversionProject, Contact_person AS contactPerson, Super_occupying_pressure_classification AS superOccupyingPressureClassification, Empty_field_1 AS emptyField1, Empty_field_2 AS emptyField2, Empty_field_3 AS emptyField3, Empty_field_4 AS emptyField4, Empty_field_5 AS emptyField5 diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java index cb9220a..ab19bd3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dto; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +21,7 @@ @ApiModelProperty("结束时间") private String endDate; + @ApiModelProperty("报警编号") + private String alarmCode; + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java new file mode 100644 index 0000000..fd7b155 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/PatrolTrackRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class PatrolTrackRequest { + + @ApiModelProperty(value = "任务ID") + private Long taskId; + @ApiModelProperty("开始时间") + private String beginDate; + @ApiModelProperty("结束时间") + private String endDate; + @ApiModelProperty("是否告警,1:报警,0:正常") + private String isAlarm; + @ApiModelProperty("报警编号") + private String alarmCode; + @ApiModelProperty("位置") + private String position; + @ApiModelProperty("起始浓度") + private String gas1; + @ApiModelProperty("终止浓度") + private String gas2; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java index 18609b8..23e4257 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/TimeRequest.java @@ -6,13 +6,13 @@ @Data public class TimeRequest { - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") private String endDate; - @ApiModelProperty("按周:week,月:month,年:year") + @ApiModelProperty(value = "按周:week,月:month,年:year,显示曲线按周、月、年时需要传") private String timeType; 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 6ba46ad..c028826 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("云台设备ID") + @ApiModelProperty(value = "云台设备ID",required = true) @TableField("DEVICE_ID") private Long deviceId; - @ApiModelProperty("报警编号,后台生成") + @ApiModelProperty(value = "报警编号,后台生成") @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("告警类型1:浓度超限报警,2:第三方施工识别报警") + @ApiModelProperty(value = "告警类型1:浓度超限报警,2:第三方施工识别报警",required = true) @TableField("ALARM_TYPE") private String alarmType; - @ApiModelProperty("巡检任务id") + @ApiModelProperty(value = "巡检任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("报警内容") + @ApiModelProperty(value = "报警内容",required = true) @TableField("ALARM_CONTENT") private String alarmContent; - @ApiModelProperty("报警数值") + @ApiModelProperty(value = "报警数值",required = true) @TableField("ALARM_VALUE") private Double alarmValue; - @ApiModelProperty("报警阈值") + @ApiModelProperty(value = "报警阈值",required = true) @TableField("ALARM_THRESH") private Double alarmThresh; - @ApiModelProperty("报警视频路径") + @ApiModelProperty(value = "报警视频路径",required = true) @TableField("ALARM_VIDEO") private String alarmVideo; - @ApiModelProperty("报警图片路径") + @ApiModelProperty(value = "报警图片路径",required = true) @TableField("ALARM_PICTURE") private String alarmPicture; - @ApiModelProperty("报警时间") + @ApiModelProperty(value = "报警时间",required = true) @TableField("ALARM_TIME") private String alarmTime; - @ApiModelProperty("报警状态(0:正在报警;1:已处置") + @ApiModelProperty(value = "报警状态(0:正在报警;1:已处置",required = true) @TableField("ALARM_STATUS") private String alarmStatus; - @ApiModelProperty("报警经度") + @ApiModelProperty(value = "报警经度",required = true) @TableField("ALARM_LONGITUDE") private String alarmLongitude; - @ApiModelProperty("报警纬度") + @ApiModelProperty(value = "报警纬度",required = true) @TableField("ALARM_LATITUDE") private String alarmLatitude; - @ApiModelProperty("处置时间") + @ApiModelProperty(value = "处置时间",required = true) @TableField("CANCEL_TIME") private String cancelTime; - @ApiModelProperty("处置人") + @ApiModelProperty(value = "处置人") @TableField("CANCEL_USER") private Long cancelUser; - @ApiModelProperty("处置结果") + @ApiModelProperty(value = "处置结果",required = true) @TableField("CANCEL_RESULT") private String cancelResult; - @ApiModelProperty("处置原因(1,已处置,2,无需处置,3,其他原因)") + @ApiModelProperty(value = "处置原因(1,已处置,2,无需处置,3,其他原因)",required = true) @TableField("CANCEL_REASON") private String cancelReason; - @ApiModelProperty("时间") + @ApiModelProperty(value = "时间") @TableField("TS") private LocalDateTime ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java index 24c6a2c..680d4c5 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPatrolCar.java @@ -27,47 +27,47 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车名称") + @ApiModelProperty(value = "巡检车名称") @TableField("CAR_NAME") private String carName; - @ApiModelProperty("车牌号") + @ApiModelProperty(value = "车牌号") @TableField("CAR_PLATE") private String carPlate; - @ApiModelProperty("备注") + @ApiModelProperty(value = "备注") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("所属机构") + @ApiModelProperty(value = "所属机构") @TableField("DEPT_ID") private Long deptId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度") @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度") @TableField("LATITUDE") private String latitude; - @ApiModelProperty("1:在线,0:离线") + @ApiModelProperty(value = "1:在线,0:离线") @TableField("`STATUS`") private String status; - @ApiModelProperty("是否有效(0:有效,1:无效)") + @ApiModelProperty(value = "是否有效(0:有效,1:无效)") @TableField("VALID") private String valid; - @ApiModelProperty("最新时间") + @ApiModelProperty(value = "最新时间") @TableField("TS") private String ts; - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String deviceModel; 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 16391e1..4fb72ac 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 @@ -27,79 +27,79 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("巡检车辆ID") + @ApiModelProperty(value = "巡检车辆ID",required = true) @TableField("CAR_ID") private Long carId; - @ApiModelProperty("任务名称") + @ApiModelProperty(value = "任务名称",required = true) @TableField("TASK_NAME") private String taskName; - @ApiModelProperty("任务编号,后台生成") + @ApiModelProperty(value = "任务编号,后台生成") @TableField("TASK_CODE") private String taskCode; - @ApiModelProperty("开始时间") + @ApiModelProperty(value = "开始时间") @TableField("BEGIN_DATE") private String beginDate; - @ApiModelProperty("结束时间") + @ApiModelProperty(value = "结束时间") @TableField("END_DATE") private String endDate; - @ApiModelProperty("起始经度") + @ApiModelProperty(value = "起始经度,开始的时候传",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("起始纬度") + @ApiModelProperty(value = "起始纬度,开始的时候传",required = true) @TableField("LATITUDE") private String latitude; - @ApiModelProperty("描述") + @ApiModelProperty(value = "描述") @TableField("DESCRIPTION") private String description; - @ApiModelProperty("扩展字段1") + @ApiModelProperty(value = "扩展字段1") @TableField("DESCRIPTION1") private String description1; - @ApiModelProperty("扩展字段2") + @ApiModelProperty(value = "扩展字段2") @TableField("DESCRIPTION2") private String description2; - @ApiModelProperty("公里数") + @ApiModelProperty(value = "公里数") @TableField("KM") private String km; - @ApiModelProperty("任务状态(1:已完成,0:进行中,新建任务填0)") - @TableField("`STATUS`") + @ApiModelProperty(value = "任务状态(1:已完成,0:进行中,新建任务填0)") + @TableField("STATUS") private String status; - @ApiModelProperty("修改时间") + @ApiModelProperty(value = "修改时间") @TableField("UPDATE_TIME") private String updateTime; - @ApiModelProperty("0:有效,1:删除") + @ApiModelProperty(value = "0:有效,1:删除") @TableField("VALID") private String valid; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; - @ApiModelProperty("任务状态名称") + @ApiModelProperty(value = "任务状态名称") @TableField(exist = false) private String statusName; //设备型号 - @ApiModelProperty("车载云台型号") + @ApiModelProperty(value = "车载云台型号") @TableField(exist = false) private String modelName; //设备型号 - @ApiModelProperty("巡检车牌号") + @ApiModelProperty(value = "巡检车牌号") @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 b967792..1ebc008 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 @@ -27,55 +27,55 @@ private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") + @ApiModelProperty(value = "主键id") @TableId("ID") private Long id; - @ApiModelProperty("任务id") + @ApiModelProperty(value = "任务id",required = true) @TableField("TASK_ID") private Long taskId; - @ApiModelProperty("经度") + @ApiModelProperty(value = "经度",required = true) @TableField("LONGITUDE") private String longitude; - @ApiModelProperty("纬度") + @ApiModelProperty(value = "纬度",required = true) @TableField("LAGITUDE") private String lagitude; - @ApiModelProperty("气体浓度值") + @ApiModelProperty(value = "气体浓度值",required = true) @TableField("GAS") private String gas; - @ApiModelProperty("水平值") + @ApiModelProperty(value = "水平值",required = true) @TableField("DIRECTION") private String direction; - @ApiModelProperty("垂直值") + @ApiModelProperty(value = "垂直值",required = true) @TableField("PITCH") private String pitch; - @ApiModelProperty("轨迹位置描述") + @ApiModelProperty(value = "轨迹位置描述") @TableField("POSITION") private String position; - @ApiModelProperty("车速") + @ApiModelProperty(value = "车速",required = true) @TableField("SPEED") private String speed; - @ApiModelProperty("1:报警,0:正常") + @ApiModelProperty(value = "1:报警,0:正常",required = true) @TableField("IS_ALARM") private String isAlarm; - @ApiModelProperty("报警编号,生成报警后回填") + @ApiModelProperty(value = "报警编号,生成报警后回填",required = true) @TableField("ALARM_CODE") private String alarmCode; - @ApiModelProperty("1:正常:0") + @ApiModelProperty(value = "1:正常:0",required = true) @TableField("DEVICE_STATUS") private String deviceStatus; - @ApiModelProperty("创建时间") + @ApiModelProperty(value = "创建时间") @TableField("TS") private String ts; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java index 85c11f0..e70e18a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/entity/BusPipeOverstock.java @@ -5,11 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; import java.io.Serializable; -import java.time.LocalDateTime; /** *

@@ -19,73 +17,171 @@ * @author zt * @since 2023-07-20 */ -@Getter -@Setter +@Data @TableName("bus_pipe_overstock") @ApiModel(value = "BusPipeOverstock对象", description = "管线占压基本信息表") -public class BusPipeOverstock implements Serializable { +public class BusPipeOverstock implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty("主键id") - @TableId("ID") - private Long id; - - @ApiModelProperty("编号") - @TableField("STOCK_CODE") - private String stockCode; - - @ApiModelProperty("管线类型") - @TableField("PIPE_TYPE") - private String pipeType; - - @ApiModelProperty("占压类型") - @TableField("STOCK_TYPE") - private String stockType; - - @ApiModelProperty("占压分类") - @TableField("STOCK_CLASSIFY") - private String stockClassify; - - @ApiModelProperty("占压等级") - @TableField("STOCK_LEVEL") - private String stockLevel; - - @ApiModelProperty("图片") - @TableField("STOCK_PICTURE") - private String stockPicture; - - @ApiModelProperty("占压时间") - @TableField("STOCK_TIME") - private String stockTime; - - @ApiModelProperty("风险等级") - @TableField("RISK_LEVEL") - private String riskLevel; - - @ApiModelProperty("纬度") - @TableField("LATITUDE") - private String latitude; - + @ApiModelProperty("序号") + @TableId("Serial_number") + private String serialNumber; + @ApiModelProperty("隐患编号") + @TableField("Hidden_danger_number") + private String hiddenDangerNumber; + @ApiModelProperty("一级分类") + @TableField("Primary_classification") + private String primaryClassification; + @ApiModelProperty("二级分类") + @TableField("Secondary_classification") + private String secondaryClassification; + @ApiModelProperty("隐患描述") + @TableField("Hidden_danger_description") + private String hiddenDangerDescription; + @ApiModelProperty("管网类型") + @TableField("Pipe_network_type") + private String pipeNetworkType; + @ApiModelProperty("管网编码设备编码") + @TableField("Equipment_number") + private String equipmentNumber; + @ApiModelProperty("地点") + private String Location; @ApiModelProperty("经度") - @TableField("LONGITUDE") - private String longitude; - - @ApiModelProperty("占压位置") - @TableField("POSITION") - private String position; - - @ApiModelProperty("是否指令(0:无,1:是)") - @TableField("IS_HANDLE") - private String isHandle; - - @ApiModelProperty("治理规则") - @TableField("HANDLE_RULE") - private String handleRule; - - @ApiModelProperty("时间") - @TableField("TS") - private LocalDateTime ts; - + private String Longitude; + @ApiModelProperty("纬度") + private String Latitude; + @ApiModelProperty("是否在小区内") + @TableField("Whether_it_is_in_the_community") + private String whetherItIsInTheCommunity; + @ApiModelProperty("小区内占压类型") + @TableField("Occupying_type") + private String occupyingType; + @ApiModelProperty("小区名称") + @TableField("Community_name") + private String communityName; + @ApiModelProperty("发现时间") + @TableField("Discovery_time") + private String discoveryTime; + @ApiModelProperty("所在区县") + private String District; + @ApiModelProperty("所在街乡") + private String Street; + @ApiModelProperty("隐患等级") + @TableField("Hidden_danger_level") + private String hiddenDangerLevel; + @ApiModelProperty("管理责任企业") + @TableField("Responsible_management_enterprise") + private String responsibleManagementEnterprise; + @ApiModelProperty("责任人") + @TableField("Person_in_charge") + private String personInCharge; + @ApiModelProperty("计划消除时限") + @TableField("Planned_elimination_time_limit") + private String plannedEliminationTimeLimit; + @ApiModelProperty("治理情况") + @TableField("Governance_situation") + private String governanceSituation; + @ApiModelProperty("消除时间") + @TableField("Elimination_time") + private String eliminationTime; + @ApiModelProperty("产权性质") + @TableField("Property_right_nature") + private String propertyRightNature; + @ApiModelProperty("备注") + private String Remark; + @ApiModelProperty("占压企业个人名称") + @TableField("Occupied_enterprise_personal_name") + private String occupiedEnterprisePersonalName; + @ApiModelProperty("占压单位性质") + @TableField("Occupation_unit_property") + private String occupationUnitProperty; + @ApiModelProperty("占压物建成年代") + @TableField("Date_of_construction_of_the_occupation") + private String dateOfConstructionOfTheOccupation; + @ApiModelProperty("有无占压物建设批准文件") + @TableField("any_approval_documents_for_the_construction") + private String anyApprovalDocumentsForTheConstruction; + @ApiModelProperty("占压物用途") + @TableField("Use_of_the_occupation") + private String useOfTheOccupation; + @ApiModelProperty("占压物描述") + @TableField("Description_of_the_occupation") + private String descriptionOfTheOccupation; + @ApiModelProperty("有无经常性人员活动") + @TableField("Are_there_regular_staff_activities") + private String areThereRegularStaffActivities; + @ApiModelProperty("占压物面积") + @TableField("Area_of_occupation") + private String areaOfOccupation; + @ApiModelProperty("是否具备改移条件") + @TableField("Whether_there_are_conditions_for_relocation") + private String whetherThereAreConditionsForRelocation; + @ApiModelProperty("年份") + @TableField("Year_of_commencement_of_operation") + private String yearOfCommencementOfOperation; + @ApiModelProperty("年代类别") + @TableField("Year_of_use") + private String yearOfUse; + @ApiModelProperty("有无管线建设批准文件") + @TableField("Is_there_any_pipeline_construction_approval_document") + private String isThereAnyPipelineConstructionApprovalDocument; + @ApiModelProperty("管线埋深") + @TableField("Pipeline_depth") + private String pipelineDepth; + @ApiModelProperty("管径") + @TableField("Pipe_diameter") + private String pipeDiameter; + @ApiModelProperty("管线压力") + @TableField("Line_pressure") + private String linePressure; + @ApiModelProperty("占压管线长度") + @TableField("Pipeline_length") + private String pipelineLength; + @ApiModelProperty("是否纳入技改计划") + @TableField("Whether_it_is_included_in_the_technical_reform_plan") + private String whetherItIsIncludedInTheTechnicalReformPlan; + @ApiModelProperty("技改项目号") + @TableField("Technical_transformation_project_number") + private String technicalTransformationProjectNumber; + @ApiModelProperty("防控措施") + @TableField("Prevention_and_control_measures") + private String preventionAndControlMeasures; + @ApiModelProperty("治理计划") + @TableField("Governance_plan") + private String governancePlan; + @ApiModelProperty("限购或停气情况") + @TableField("Purchase_restriction_or_gas_shutdown") + private String purchaseRestrictionOrGasShutdown; + @ApiModelProperty("改线工程名称") + @TableField("Name_of_the_diversion_project") + private String nameOfTheDiversionProject; + @ApiModelProperty("改线工程编号") + @TableField("Number_of_the_diversion_project") + private String numberOfTheDiversionProject; + @ApiModelProperty("改线进展统计") + @TableField("Progress_statistics_of_the_diversion_project") + private String progressStatisticsOfTheDiversionProject; + @ApiModelProperty("与区县对接联系人") + @TableField("Contact_person") + private String contactPerson; + @ApiModelProperty("特级占压分类情况") + @TableField("Super_occupying_pressure_classification") + private String superOccupyingPressureClassification; + @ApiModelProperty("空字段1") + @TableField("Empty_field_1") + private String emptyField1; + @ApiModelProperty("空字段2") + @TableField("Empty_field_2") + private String emptyField2; + @ApiModelProperty("空字段3") + @TableField("Empty_field_3") + private String emptyField3; + @ApiModelProperty("空字段4") + @TableField("Empty_field_4") + private String emptyField4; + @ApiModelProperty("空字段5") + @TableField("Empty_field_5") + private String emptyField5; } 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 cfd8e93..e074f7c 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 @@ -11,6 +11,8 @@ HANDLE_FAILED(500, "操作失败"), + ALARM_CODE_FAILED(5003, "报警编号不能为空"), + CODE_NULL(501, "字典code不能为空"), SAVE_FAILED(400, "保存失败"), diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java index 0be8c95..948224d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTaskService.java @@ -34,4 +34,8 @@ Map taskCount(String begTime, String endTime); List> taskTime(String timeType); + + boolean endTask(Long id); + + boolean batchDelete(List ids); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java index 2a8b52e..4119a81 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolTrackService.java @@ -1,6 +1,10 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.dto.PatrolTrackRequest; +import com.casic.missiles.modular.system.entity.BusPatrolTask; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import javax.servlet.http.HttpServletResponse; @@ -20,4 +24,8 @@ List getByTask(Long taskId); + BusPatrolTrack getLastTrack(Long taskId); + + Page listPage(Page page, PatrolTrackRequest request); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java index 061b95a..fa84fb7 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusPipeOverstockService.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.system.entity.BusPipeOverstock; +import org.springframework.web.multipart.MultipartFile; + +import java.util.HashMap; +import java.util.List; /** *

@@ -13,4 +17,9 @@ */ public interface IBusPipeOverstockService extends IService { + + //解析文件流 +// List> parseSourceFile(MultipartFile file); +// +// boolean BusPipeOverstock(List> urls); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java index 7bc3180..f95971d 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTaskServiceImpl.java @@ -7,15 +7,22 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.modular.system.dao.BusPatrolTaskMapper; import com.casic.missiles.modular.system.dto.BusPatrolTrackDTO; import com.casic.missiles.modular.system.dto.PatrolTaskRequest; +import com.casic.missiles.modular.system.entity.BusPatrolCar; import com.casic.missiles.modular.system.entity.BusPatrolTask; +import com.casic.missiles.modular.system.entity.BusPatrolTrack; import com.casic.missiles.modular.system.enums.DictEnum; +import com.casic.missiles.modular.system.service.IBusPatrolCarService; import com.casic.missiles.modular.system.service.IBusPatrolTaskService; +import com.casic.missiles.modular.system.service.IBusPatrolTrackService; import com.casic.missiles.modular.system.util.NumberGeneratorUtil; +import org.apache.ibatis.annotations.Results; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; @@ -34,22 +41,51 @@ public class BusPatrolTaskServiceImpl extends ServiceImpl implements IBusPatrolTaskService { @Autowired private IBaseExportService iBaseExportService; + @Autowired + private IBusPatrolCarService iBusPatrolCarService; + @Autowired + private IBusPatrolTrackService iBusPatrolTrackService; + @Autowired + private ThreadPoolTaskExecutor executor; + @Autowired + private AbstractDictService abstractDictService; @Override public Page listPage(Page page, PatrolTaskRequest request) { - return this.baseMapper.listPage(page, request); + + Page patrolTaskPage = this.baseMapper.listPage(page, request); + List busPatrolTaskList = patrolTaskPage.getRecords(); + busPatrolTaskList.forEach(busPatrolTask -> { + busPatrolTask.setStatusName(ObjectUtil.isNotEmpty(busPatrolTask.getStatus()) ? + abstractDictService.getDictNameByCode("inspectionStatus", + busPatrolTask.getStatus()) : ""); + }); + return patrolTaskPage; } @Override public Long saveTask(BusPatrolTask busPatrolTask) { + //1.保存任务 initTask(busPatrolTask); this.save(busPatrolTask); + //2.更新车辆信息 + BusPatrolCar busPatrolCar = new BusPatrolCar(); + busPatrolCar.setId(busPatrolTask.getCarId()); + busPatrolCar.setLatitude(busPatrolTask.getLatitude()); + busPatrolCar.setLongitude(busPatrolTask.getLongitude()); + busPatrolCar.setStatus("1"); + busPatrolCar.setTs(DateUtil.formatDateTime(new Date())); + iBusPatrolCarService.updateById(busPatrolCar); return busPatrolTask.getId(); } private void initTask(BusPatrolTask busPatrolTask) { //生成报警编号 + busPatrolTask.setStatus("0"); + busPatrolTask.setValid("0"); + busPatrolTask.setBeginDate(DateUtil.formatDateTime(new Date())); + busPatrolTask.setTs(DateUtil.formatDateTime(new Date())); Long maxNo = this.baseMapper.selectMaxCode(); busPatrolTask.setTaskCode(NumberGeneratorUtil.getContactNo(DictEnum.TASK_PREFIX, maxNo)); } @@ -107,7 +143,7 @@ } @Override - public List> taskTime(String timeType) { + public List> taskTime(String timeType) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.ge("BEGIN_DATE", DateUtil.offsetDay(new Date(), -6)); @@ -119,13 +155,53 @@ int taskCount = 0; for (BusPatrolTask busPatrolTask : taskList) { if (DateUtil.isSameDay(DateUtil.parseDate(busPatrolTask.getBeginDate()), dateTime)) { - taskCount ++; + taskCount++; } } - dayMap.put(DateUtil.formatDate(dateTime),taskCount); + dayMap.put(DateUtil.formatDateTime(dateTime), taskCount); mapList.add(dayMap); }); return mapList; } + + @Override + public boolean endTask(Long id) { + //1.更新任务状态 + BusPatrolTask busPatrolTask = this.baseMapper.selectById(id); + if (null != busPatrolTask) { + busPatrolTask.setStatus("1"); + busPatrolTask.setEndDate(DateUtil.formatDateTime(new Date())); + this.baseMapper.updateById(busPatrolTask); + //2.更新车辆信息 + BusPatrolTrack busPatrolTrack = iBusPatrolTrackService.getLastTrack(id); + BusPatrolCar busPatrolCar = new BusPatrolCar(); + busPatrolCar.setId(busPatrolTask.getCarId()); + if (null != busPatrolTrack) { + busPatrolCar.setLatitude(busPatrolTrack.getLagitude()); + busPatrolCar.setLongitude(busPatrolTrack.getLongitude()); + } + busPatrolCar.setStatus("0"); + busPatrolCar.setTs(DateUtil.formatDateTime(new Date())); + iBusPatrolCarService.updateById(busPatrolCar); + executor.execute(() -> this.updateKm(id)); + } + return true; + } + + public void updateKm(Long id) { + BusPatrolTask busPatrolTask = new BusPatrolTask(); + busPatrolTask.setId(id); + busPatrolTask.setKm(iBusPatrolTrackService.getDistance(id) + ""); + this.updateById(busPatrolTask); + } + + @Override + public boolean batchDelete(List ids) { + List taskList = this.baseMapper.selectBatchIds(ids); + taskList.forEach(task -> { + task.setValid("1"); + }); + return this.saveOrUpdateBatch(taskList); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java index 4a99493..d7c54d6 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolTrackServiceImpl.java @@ -2,9 +2,11 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.modular.system.dao.BusPatrolTrackMapper; +import com.casic.missiles.modular.system.dto.PatrolTrackRequest; import com.casic.missiles.modular.system.entity.BusPatrolTask; import com.casic.missiles.modular.system.entity.BusPatrolTrack; import com.casic.missiles.modular.system.enums.DictEnum; @@ -60,13 +62,17 @@ while (i < busPatrolTrackList.size() - 1) { BusPatrolTrack cStart = busPatrolTrackList.get(i); // 取i对象 BusPatrolTrack cEnd = busPatrolTrackList.get(i + 1); // 取i+1对象 - double cStartlat = Double.valueOf(cStart.getLagitude()); - double cStartlon = Double.valueOf(cStart.getLongitude()); - double cEndlat = Double.valueOf(cEnd.getLagitude()); - double cEndlon = Double.valueOf(cEnd.getLongitude()); - // 把计算出来的距离进行累加,最后就得到总里程 - distance = distance + DistanceUtil.getFinalMeters(cStartlat, cStartlon, cEndlat, cEndlon); + if (ObjectUtil.isAllNotEmpty(cStart.getLagitude(), cStart.getLongitude(), + cEnd.getLagitude(), cEnd.getLongitude())) { + double cStartlat = Double.valueOf(cStart.getLagitude()); + double cStartlon = Double.valueOf(cStart.getLongitude()); + double cEndlat = Double.valueOf(cEnd.getLagitude()); + double cEndlon = Double.valueOf(cEnd.getLongitude()); + + // 把计算出来的距离进行累加,最后就得到总里程 + distance = distance + DistanceUtil.getFinalMeters(cStartlat, cStartlon, cEndlat, cEndlon); + } i = i + 1; } if (distance > 0) { @@ -80,4 +86,28 @@ } return distance; } + + @Override + public BusPatrolTrack getLastTrack(Long taskId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("TASK_ID", taskId); + queryWrapper.orderByDesc("TS"); + queryWrapper.last("limit 1"); + return this.getOne(queryWrapper); + } + + @Override + public Page listPage(Page page, PatrolTrackRequest request) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.ge(ObjectUtil.isNotEmpty(request.getBeginDate()), "TS", request.getBeginDate()); + queryWrapper.le(ObjectUtil.isNotEmpty(request.getEndDate()), "TS", request.getEndDate()); + queryWrapper.eq(ObjectUtil.isNotEmpty(request.getIsAlarm()), "IS_ALARM", request.getIsAlarm()); + queryWrapper.like(ObjectUtil.isNotEmpty(request.getAlarmCode()), "ALARM_CODE", request.getAlarmCode()); + queryWrapper.like(ObjectUtil.isNotEmpty(request.getPosition()), "POSITION", request.getPosition()); + queryWrapper.like(ObjectUtil.isNotEmpty(request.getTaskId()), "TASK_ID", request.getTaskId()); + queryWrapper.ge(ObjectUtil.isNotEmpty(request.getGas1()), "GAS", request.getGas1()); + queryWrapper.le(ObjectUtil.isNotEmpty(request.getGas2()), "GAS", request.getGas2()); + queryWrapper.orderByDesc("TS"); + return this.baseMapper.selectPage(page, queryWrapper); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java index a646bf4..fafc4c1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusPipeOverstockServiceImpl.java @@ -17,4 +17,7 @@ @Service public class BusPipeOverstockServiceImpl extends ServiceImpl implements IBusPipeOverstockService { + + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java index 3343184..9b0b2bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/FileUtil.java @@ -1,5 +1,10 @@ package com.casic.missiles.modular.system.util; +import cn.hutool.core.util.ObjectUtil; +import net.bramp.ffmpeg.FFmpeg; +import net.bramp.ffmpeg.FFmpegExecutor; +import net.bramp.ffmpeg.FFprobe; +import net.bramp.ffmpeg.builder.FFmpegBuilder; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -61,7 +66,7 @@ return fileName; } - public static String saveFile(MultipartFile file,String filePath) throws IOException { + public static String saveFile(MultipartFile file,String filePath,String ffmpegPath) throws IOException { if (!file.isEmpty()) { String uuid = UUID.randomUUID().toString().replaceAll("-", ""); String filePrex = uuid + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); @@ -73,9 +78,33 @@ String pathName = dir.getPath() + File.separator + filePrex; file.transferTo(new File(pathName)); - return fileName.concat(File.separator).concat(filePrex); + String path = fileName.concat(File.separator).concat(filePrex); + if(path.contains(".mp4")){ + String oldPath = filePath+fileName.concat(File.separator).concat(filePrex); + path = VideoEncoder(oldPath,ffmpegPath,filePath); + } + return path; } else { return null; } } + public static String VideoEncoder(String oldPath,String ffmpegPath,String filePath){ + String path=""; + try { + FFmpeg ffmpeg = new FFmpeg(ffmpegPath+"ffmpeg"); + FFprobe ffprobe = new FFprobe(ffmpegPath+"ffprobe"); + FFmpegBuilder builder = new FFmpegBuilder() + .setInput(oldPath) + .overrideOutputFiles(false) + .addOutput(oldPath.replace(".mp4","_1")+".mp4") + .setStrict(FFmpegBuilder.Strict.EXPERIMENTAL) + .done(); + FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe); + executor.createJob(builder).run(); + path=oldPath.replace(".mp4","_1")+".mp4"; + }catch (Exception e){ + e.printStackTrace(); + } + return ObjectUtil.isNotEmpty(path)?path.replace(filePath,""):path; + } } diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index cdb3ee2..065235b 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -26,6 +26,7 @@ enable: false file.uploadPath: C:\casic\tmp\ file-down-path: C:\casic\tmp\ + ffmpeg.path: D:\java\ffmpeg\bin\ logging: level.root: info level.com.casic: debug