diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index d5915a2..29ebc6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -52,6 +53,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; + private final AbstractDictService abstractDictService; @Override @@ -61,6 +63,7 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setProcessStatusName(ApprovalStatusEnum.getValue(alarmRecords.getProcessStatus())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); }); return alarmRecordsPage; } @@ -94,6 +97,9 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是"); + alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); + alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory())); }); return alarmRecordsPage; } @@ -273,4 +279,20 @@ } return ""; } + + @Override + public List allList(AlarmRecordDTO request, DataScope dataScope) { + + List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId())); + + alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { + alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); + alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid())); + alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory())); + }); + return alarmRecordExportDTOList; + } + + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index d5915a2..29ebc6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -52,6 +53,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; + private final AbstractDictService abstractDictService; @Override @@ -61,6 +63,7 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setProcessStatusName(ApprovalStatusEnum.getValue(alarmRecords.getProcessStatus())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); }); return alarmRecordsPage; } @@ -94,6 +97,9 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是"); + alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); + alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory())); }); return alarmRecordsPage; } @@ -273,4 +279,20 @@ } return ""; } + + @Override + public List allList(AlarmRecordDTO request, DataScope dataScope) { + + List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId())); + + alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { + alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); + alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid())); + alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory())); + }); + return alarmRecordExportDTOList; + } + + + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java index 90833a5..1134d67 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -1,8 +1,5 @@ package com.casic.missiles.modular.data.service; -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.data.entity.DataGas; - /** *

* 智能燃气监测终端上传数据表 服务类 @@ -11,7 +8,7 @@ * @author zt * @since 2024-07-16 */ -public interface IDataAbstractService extends IService { +public interface IDataAbstractService { void process(String dataContent); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index d5915a2..29ebc6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -52,6 +53,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; + private final AbstractDictService abstractDictService; @Override @@ -61,6 +63,7 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setProcessStatusName(ApprovalStatusEnum.getValue(alarmRecords.getProcessStatus())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); }); return alarmRecordsPage; } @@ -94,6 +97,9 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是"); + alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); + alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory())); }); return alarmRecordsPage; } @@ -273,4 +279,20 @@ } return ""; } + + @Override + public List allList(AlarmRecordDTO request, DataScope dataScope) { + + List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId())); + + alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { + alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); + alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid())); + alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory())); + }); + return alarmRecordExportDTOList; + } + + + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java index 90833a5..1134d67 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -1,8 +1,5 @@ package com.casic.missiles.modular.data.service; -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.data.entity.DataGas; - /** *

* 智能燃气监测终端上传数据表 服务类 @@ -11,7 +8,7 @@ * @author zt * @since 2024-07-16 */ -public interface IDataAbstractService extends IService { +public interface IDataAbstractService { void process(String dataContent); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 8ba17b0..2935f72 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataMonitorPipeOtherMapper; import com.casic.missiles.modular.data.entity.DataMonitorPipeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,11 @@ * @since 2024-08-29 */ @Service -public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService { +public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService, IDataAbstractService { + + @Override + public void process(String dataContent) { + + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index d5915a2..29ebc6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -52,6 +53,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; + private final AbstractDictService abstractDictService; @Override @@ -61,6 +63,7 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setProcessStatusName(ApprovalStatusEnum.getValue(alarmRecords.getProcessStatus())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); }); return alarmRecordsPage; } @@ -94,6 +97,9 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是"); + alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); + alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory())); }); return alarmRecordsPage; } @@ -273,4 +279,20 @@ } return ""; } + + @Override + public List allList(AlarmRecordDTO request, DataScope dataScope) { + + List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId())); + + alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { + alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); + alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid())); + alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory())); + }); + return alarmRecordExportDTOList; + } + + + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java index 90833a5..1134d67 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -1,8 +1,5 @@ package com.casic.missiles.modular.data.service; -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.data.entity.DataGas; - /** *

* 智能燃气监测终端上传数据表 服务类 @@ -11,7 +8,7 @@ * @author zt * @since 2024-07-16 */ -public interface IDataAbstractService extends IService { +public interface IDataAbstractService { void process(String dataContent); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 8ba17b0..2935f72 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataMonitorPipeOtherMapper; import com.casic.missiles.modular.data.entity.DataMonitorPipeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,11 @@ * @since 2024-08-29 */ @Service -public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService { +public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService, IDataAbstractService { + + @Override + public void process(String dataContent) { + + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6fea36b..a50f92f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataTubeOtherMapper; import com.casic.missiles.modular.data.entity.DataTubeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,10 @@ * @since 2024-08-29 */ @Service -public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService { +public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService, IDataAbstractService { + @Override + public void process(String dataContent) { + + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index d5915a2..29ebc6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -52,6 +53,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; + private final AbstractDictService abstractDictService; @Override @@ -61,6 +63,7 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setProcessStatusName(ApprovalStatusEnum.getValue(alarmRecords.getProcessStatus())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); }); return alarmRecordsPage; } @@ -94,6 +97,9 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是"); + alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); + alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory())); }); return alarmRecordsPage; } @@ -273,4 +279,20 @@ } return ""; } + + @Override + public List allList(AlarmRecordDTO request, DataScope dataScope) { + + List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId())); + + alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { + alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); + alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid())); + alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory())); + }); + return alarmRecordExportDTOList; + } + + + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java index 90833a5..1134d67 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -1,8 +1,5 @@ package com.casic.missiles.modular.data.service; -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.data.entity.DataGas; - /** *

* 智能燃气监测终端上传数据表 服务类 @@ -11,7 +8,7 @@ * @author zt * @since 2024-07-16 */ -public interface IDataAbstractService extends IService { +public interface IDataAbstractService { void process(String dataContent); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 8ba17b0..2935f72 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataMonitorPipeOtherMapper; import com.casic.missiles.modular.data.entity.DataMonitorPipeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,11 @@ * @since 2024-08-29 */ @Service -public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService { +public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService, IDataAbstractService { + + @Override + public void process(String dataContent) { + + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6fea36b..a50f92f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataTubeOtherMapper; import com.casic.missiles.modular.data.entity.DataTubeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,10 @@ * @since 2024-08-29 */ @Service -public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService { +public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService, IDataAbstractService { + @Override + public void process(String dataContent) { + + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java index ad315ad..2803dfc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java @@ -2,14 +2,14 @@ import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.ObjectUtil; -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.base.service.IBaseExportService; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; @@ -20,6 +20,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.Objects; /** @@ -38,6 +39,8 @@ private final IBusPipelineService iBusPipelineService; + private final IBaseExportService iBaseExportService; + @ApiOperation("新增") @PostMapping("/add") @ResponseBody @@ -75,7 +78,19 @@ return ReturnUtil.success(iBusPipelineService.removeByIds(idsDTO.getIds())); } - //toDO:导入、导出 + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody BusPipelineRequestDTO request, HttpServletResponse response) { + Page page = PageFactory.defaultPage(); + page.setSize(Integer.MAX_VALUE); + + page = iBusPipelineService.listPage(page, request); + try { + iBaseExportService.exportExcel(response, BusPipeline.class, page.getRecords(), ExportEnum.PIPE_LINE_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index d5915a2..29ebc6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -52,6 +53,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; + private final AbstractDictService abstractDictService; @Override @@ -61,6 +63,7 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setProcessStatusName(ApprovalStatusEnum.getValue(alarmRecords.getProcessStatus())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); }); return alarmRecordsPage; } @@ -94,6 +97,9 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是"); + alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); + alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory())); }); return alarmRecordsPage; } @@ -273,4 +279,20 @@ } return ""; } + + @Override + public List allList(AlarmRecordDTO request, DataScope dataScope) { + + List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId())); + + alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { + alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); + alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid())); + alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory())); + }); + return alarmRecordExportDTOList; + } + + + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java index 90833a5..1134d67 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -1,8 +1,5 @@ package com.casic.missiles.modular.data.service; -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.data.entity.DataGas; - /** *

* 智能燃气监测终端上传数据表 服务类 @@ -11,7 +8,7 @@ * @author zt * @since 2024-07-16 */ -public interface IDataAbstractService extends IService { +public interface IDataAbstractService { void process(String dataContent); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 8ba17b0..2935f72 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataMonitorPipeOtherMapper; import com.casic.missiles.modular.data.entity.DataMonitorPipeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,11 @@ * @since 2024-08-29 */ @Service -public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService { +public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService, IDataAbstractService { + + @Override + public void process(String dataContent) { + + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6fea36b..a50f92f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataTubeOtherMapper; import com.casic.missiles.modular.data.entity.DataTubeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,10 @@ * @since 2024-08-29 */ @Service -public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService { +public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService, IDataAbstractService { + @Override + public void process(String dataContent) { + + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java index ad315ad..2803dfc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java @@ -2,14 +2,14 @@ import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.ObjectUtil; -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.base.service.IBaseExportService; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; @@ -20,6 +20,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.Objects; /** @@ -38,6 +39,8 @@ private final IBusPipelineService iBusPipelineService; + private final IBaseExportService iBaseExportService; + @ApiOperation("新增") @PostMapping("/add") @ResponseBody @@ -75,7 +78,19 @@ return ReturnUtil.success(iBusPipelineService.removeByIds(idsDTO.getIds())); } - //toDO:导入、导出 + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody BusPipelineRequestDTO request, HttpServletResponse response) { + Page page = PageFactory.defaultPage(); + page.setSize(Integer.MAX_VALUE); + + page = iBusPipelineService.listPage(page, request); + try { + iBaseExportService.exportExcel(response, BusPipeline.class, page.getRecords(), ExportEnum.PIPE_LINE_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml index 3582d9d..09043c9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml @@ -19,7 +19,7 @@ - ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS + ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID,RESPONSIBLE_DEPT, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS @@ -58,9 +58,12 @@ and bp.DEPTID in (${deptStrs}) - ORDER BY bp.TS DESC - + + and bp.DEPTID = #{request.responsibleDeptId} + + + ORDER BY bp.TS DESC diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index d5915a2..29ebc6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -52,6 +53,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; + private final AbstractDictService abstractDictService; @Override @@ -61,6 +63,7 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setProcessStatusName(ApprovalStatusEnum.getValue(alarmRecords.getProcessStatus())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); }); return alarmRecordsPage; } @@ -94,6 +97,9 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是"); + alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); + alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory())); }); return alarmRecordsPage; } @@ -273,4 +279,20 @@ } return ""; } + + @Override + public List allList(AlarmRecordDTO request, DataScope dataScope) { + + List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId())); + + alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { + alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); + alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid())); + alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory())); + }); + return alarmRecordExportDTOList; + } + + + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java index 90833a5..1134d67 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -1,8 +1,5 @@ package com.casic.missiles.modular.data.service; -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.data.entity.DataGas; - /** *

* 智能燃气监测终端上传数据表 服务类 @@ -11,7 +8,7 @@ * @author zt * @since 2024-07-16 */ -public interface IDataAbstractService extends IService { +public interface IDataAbstractService { void process(String dataContent); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 8ba17b0..2935f72 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataMonitorPipeOtherMapper; import com.casic.missiles.modular.data.entity.DataMonitorPipeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,11 @@ * @since 2024-08-29 */ @Service -public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService { +public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService, IDataAbstractService { + + @Override + public void process(String dataContent) { + + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6fea36b..a50f92f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataTubeOtherMapper; import com.casic.missiles.modular.data.entity.DataTubeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,10 @@ * @since 2024-08-29 */ @Service -public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService { +public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService, IDataAbstractService { + @Override + public void process(String dataContent) { + + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java index ad315ad..2803dfc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java @@ -2,14 +2,14 @@ import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.ObjectUtil; -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.base.service.IBaseExportService; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; @@ -20,6 +20,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.Objects; /** @@ -38,6 +39,8 @@ private final IBusPipelineService iBusPipelineService; + private final IBaseExportService iBaseExportService; + @ApiOperation("新增") @PostMapping("/add") @ResponseBody @@ -75,7 +78,19 @@ return ReturnUtil.success(iBusPipelineService.removeByIds(idsDTO.getIds())); } - //toDO:导入、导出 + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody BusPipelineRequestDTO request, HttpServletResponse response) { + Page page = PageFactory.defaultPage(); + page.setSize(Integer.MAX_VALUE); + + page = iBusPipelineService.listPage(page, request); + try { + iBaseExportService.exportExcel(response, BusPipeline.class, page.getRecords(), ExportEnum.PIPE_LINE_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml index 3582d9d..09043c9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml @@ -19,7 +19,7 @@ - ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS + ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID,RESPONSIBLE_DEPT, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS @@ -58,9 +58,12 @@ and bp.DEPTID in (${deptStrs}) - ORDER BY bp.TS DESC - + + and bp.DEPTID = #{request.responsibleDeptId} + + + ORDER BY bp.TS DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java index 2df1dd8..9ab8227 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java @@ -36,9 +36,12 @@ @ApiModelProperty("最大建设年代") private String constructEra2; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") private Long deptid; + @ApiModelProperty("产权单位") + private Long responsibleDeptId; + @ApiModelProperty("详细位置") private String position; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index d5915a2..29ebc6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -52,6 +53,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; + private final AbstractDictService abstractDictService; @Override @@ -61,6 +63,7 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setProcessStatusName(ApprovalStatusEnum.getValue(alarmRecords.getProcessStatus())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); }); return alarmRecordsPage; } @@ -94,6 +97,9 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是"); + alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); + alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory())); }); return alarmRecordsPage; } @@ -273,4 +279,20 @@ } return ""; } + + @Override + public List allList(AlarmRecordDTO request, DataScope dataScope) { + + List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId())); + + alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { + alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); + alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid())); + alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory())); + }); + return alarmRecordExportDTOList; + } + + + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java index 90833a5..1134d67 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -1,8 +1,5 @@ package com.casic.missiles.modular.data.service; -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.data.entity.DataGas; - /** *

* 智能燃气监测终端上传数据表 服务类 @@ -11,7 +8,7 @@ * @author zt * @since 2024-07-16 */ -public interface IDataAbstractService extends IService { +public interface IDataAbstractService { void process(String dataContent); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 8ba17b0..2935f72 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataMonitorPipeOtherMapper; import com.casic.missiles.modular.data.entity.DataMonitorPipeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,11 @@ * @since 2024-08-29 */ @Service -public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService { +public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService, IDataAbstractService { + + @Override + public void process(String dataContent) { + + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6fea36b..a50f92f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataTubeOtherMapper; import com.casic.missiles.modular.data.entity.DataTubeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,10 @@ * @since 2024-08-29 */ @Service -public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService { +public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService, IDataAbstractService { + @Override + public void process(String dataContent) { + + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java index ad315ad..2803dfc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java @@ -2,14 +2,14 @@ import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.ObjectUtil; -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.base.service.IBaseExportService; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; @@ -20,6 +20,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.Objects; /** @@ -38,6 +39,8 @@ private final IBusPipelineService iBusPipelineService; + private final IBaseExportService iBaseExportService; + @ApiOperation("新增") @PostMapping("/add") @ResponseBody @@ -75,7 +78,19 @@ return ReturnUtil.success(iBusPipelineService.removeByIds(idsDTO.getIds())); } - //toDO:导入、导出 + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody BusPipelineRequestDTO request, HttpServletResponse response) { + Page page = PageFactory.defaultPage(); + page.setSize(Integer.MAX_VALUE); + + page = iBusPipelineService.listPage(page, request); + try { + iBaseExportService.exportExcel(response, BusPipeline.class, page.getRecords(), ExportEnum.PIPE_LINE_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml index 3582d9d..09043c9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml @@ -19,7 +19,7 @@ - ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS + ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID,RESPONSIBLE_DEPT, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS @@ -58,9 +58,12 @@ and bp.DEPTID in (${deptStrs}) - ORDER BY bp.TS DESC - + + and bp.DEPTID = #{request.responsibleDeptId} + + + ORDER BY bp.TS DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java index 2df1dd8..9ab8227 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java @@ -36,9 +36,12 @@ @ApiModelProperty("最大建设年代") private String constructEra2; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") private Long deptid; + @ApiModelProperty("产权单位") + private Long responsibleDeptId; + @ApiModelProperty("详细位置") private String position; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java index 8c3bede..81e3c06 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.device.entity; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -32,26 +33,35 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; + @ExcelProperty(value = "管线编号", order = 1) @ApiModelProperty("管线编号") @TableField("PIPE_CODE") private String pipeCode; + @ExcelProperty(value = "管径(mm)", order = 5) @ApiModelProperty("管径(mm)") @TableField("PIPE_DIAMETER") private String pipeDiameter; + @ExcelProperty(value = "材质", order = 4) @ApiModelProperty("材质") @TableField("MATERIAL") private String material; + @ExcelProperty(value = "建设年代", order = 6) @ApiModelProperty("建设年代") @TableField("CONSTRUCT_ERA") private String constructEra; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") @TableField("DEPTID") private Long deptid; + @ApiModelProperty("产权单位") + @TableField("RESPONSIBLE_DEPT") + private Long responsibleDept; + + @ExcelProperty(value = "管线位置", order = 2) @ApiModelProperty("详细位置") @TableField("POSITION") private String position; @@ -64,21 +74,22 @@ @TableField("MANAGE_TYPE") private String manageType; + @ExcelProperty(value = "起点经度", order = 10) @ApiModelProperty("起始经度") @TableField("START_LNG") private String startLng; - + @ExcelProperty(value = "起点纬度", order = 11) @ApiModelProperty("起始纬度") @TableField("START_LAT") private String startLat; - + @ExcelProperty(value = "终点经度", order = 12) @ApiModelProperty("终止经度") @TableField("END_LNG") private String endLng; - + @ExcelProperty(value = "终点纬度", order = 13) @ApiModelProperty("终止纬度") @TableField("END_LAT") private String endLat; @@ -87,14 +98,26 @@ @TableField("TS") private Date ts; + @ExcelProperty(value = "管理方式", order = 9) @ApiModelProperty("管理方式名称") @TableField(exist = false) private String manageTypeName; + @ExcelProperty(value = "压力级制", order = 3) @ApiModelProperty("压力级制名称") @TableField(exist = false) private String pressTypeName; + @ExcelProperty(value = "管理单位", order = 8) + @ApiModelProperty("权属单位名称") + @TableField(exist = false) + private String deptName; + + @ExcelProperty(value = "产权单位", order = 7) + @ApiModelProperty("管理责任部门名称") + @TableField("exist = false") + private String responsibleDeptName; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index d5915a2..29ebc6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -52,6 +53,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; + private final AbstractDictService abstractDictService; @Override @@ -61,6 +63,7 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setProcessStatusName(ApprovalStatusEnum.getValue(alarmRecords.getProcessStatus())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); }); return alarmRecordsPage; } @@ -94,6 +97,9 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是"); + alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); + alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory())); }); return alarmRecordsPage; } @@ -273,4 +279,20 @@ } return ""; } + + @Override + public List allList(AlarmRecordDTO request, DataScope dataScope) { + + List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId())); + + alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { + alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); + alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid())); + alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory())); + }); + return alarmRecordExportDTOList; + } + + + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java index 90833a5..1134d67 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -1,8 +1,5 @@ package com.casic.missiles.modular.data.service; -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.data.entity.DataGas; - /** *

* 智能燃气监测终端上传数据表 服务类 @@ -11,7 +8,7 @@ * @author zt * @since 2024-07-16 */ -public interface IDataAbstractService extends IService { +public interface IDataAbstractService { void process(String dataContent); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 8ba17b0..2935f72 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataMonitorPipeOtherMapper; import com.casic.missiles.modular.data.entity.DataMonitorPipeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,11 @@ * @since 2024-08-29 */ @Service -public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService { +public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService, IDataAbstractService { + + @Override + public void process(String dataContent) { + + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6fea36b..a50f92f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataTubeOtherMapper; import com.casic.missiles.modular.data.entity.DataTubeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,10 @@ * @since 2024-08-29 */ @Service -public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService { +public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService, IDataAbstractService { + @Override + public void process(String dataContent) { + + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java index ad315ad..2803dfc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java @@ -2,14 +2,14 @@ import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.ObjectUtil; -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.base.service.IBaseExportService; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; @@ -20,6 +20,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.Objects; /** @@ -38,6 +39,8 @@ private final IBusPipelineService iBusPipelineService; + private final IBaseExportService iBaseExportService; + @ApiOperation("新增") @PostMapping("/add") @ResponseBody @@ -75,7 +78,19 @@ return ReturnUtil.success(iBusPipelineService.removeByIds(idsDTO.getIds())); } - //toDO:导入、导出 + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody BusPipelineRequestDTO request, HttpServletResponse response) { + Page page = PageFactory.defaultPage(); + page.setSize(Integer.MAX_VALUE); + + page = iBusPipelineService.listPage(page, request); + try { + iBaseExportService.exportExcel(response, BusPipeline.class, page.getRecords(), ExportEnum.PIPE_LINE_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml index 3582d9d..09043c9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml @@ -19,7 +19,7 @@ - ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS + ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID,RESPONSIBLE_DEPT, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS @@ -58,9 +58,12 @@ and bp.DEPTID in (${deptStrs}) - ORDER BY bp.TS DESC - + + and bp.DEPTID = #{request.responsibleDeptId} + + + ORDER BY bp.TS DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java index 2df1dd8..9ab8227 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java @@ -36,9 +36,12 @@ @ApiModelProperty("最大建设年代") private String constructEra2; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") private Long deptid; + @ApiModelProperty("产权单位") + private Long responsibleDeptId; + @ApiModelProperty("详细位置") private String position; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java index 8c3bede..81e3c06 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.device.entity; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -32,26 +33,35 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; + @ExcelProperty(value = "管线编号", order = 1) @ApiModelProperty("管线编号") @TableField("PIPE_CODE") private String pipeCode; + @ExcelProperty(value = "管径(mm)", order = 5) @ApiModelProperty("管径(mm)") @TableField("PIPE_DIAMETER") private String pipeDiameter; + @ExcelProperty(value = "材质", order = 4) @ApiModelProperty("材质") @TableField("MATERIAL") private String material; + @ExcelProperty(value = "建设年代", order = 6) @ApiModelProperty("建设年代") @TableField("CONSTRUCT_ERA") private String constructEra; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") @TableField("DEPTID") private Long deptid; + @ApiModelProperty("产权单位") + @TableField("RESPONSIBLE_DEPT") + private Long responsibleDept; + + @ExcelProperty(value = "管线位置", order = 2) @ApiModelProperty("详细位置") @TableField("POSITION") private String position; @@ -64,21 +74,22 @@ @TableField("MANAGE_TYPE") private String manageType; + @ExcelProperty(value = "起点经度", order = 10) @ApiModelProperty("起始经度") @TableField("START_LNG") private String startLng; - + @ExcelProperty(value = "起点纬度", order = 11) @ApiModelProperty("起始纬度") @TableField("START_LAT") private String startLat; - + @ExcelProperty(value = "终点经度", order = 12) @ApiModelProperty("终止经度") @TableField("END_LNG") private String endLng; - + @ExcelProperty(value = "终点纬度", order = 13) @ApiModelProperty("终止纬度") @TableField("END_LAT") private String endLat; @@ -87,14 +98,26 @@ @TableField("TS") private Date ts; + @ExcelProperty(value = "管理方式", order = 9) @ApiModelProperty("管理方式名称") @TableField(exist = false) private String manageTypeName; + @ExcelProperty(value = "压力级制", order = 3) @ApiModelProperty("压力级制名称") @TableField(exist = false) private String pressTypeName; + @ExcelProperty(value = "管理单位", order = 8) + @ApiModelProperty("权属单位名称") + @TableField(exist = false) + private String deptName; + + @ExcelProperty(value = "产权单位", order = 7) + @ApiModelProperty("管理责任部门名称") + @TableField("exist = false") + private String responsibleDeptName; + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java index 3835ddb..2b324c7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java @@ -2,6 +2,7 @@ import cn.hutool.core.convert.Convert; 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.context.AbstractPermissionContext; @@ -12,6 +13,7 @@ import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; import com.casic.missiles.modular.device.service.IBusPipelineService; +import com.casic.missiles.modular.system.model.Dept; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -51,6 +53,11 @@ busPipeline.setManageTypeName(abstractDictService.getDictNameByCode("manageType",busPipeline.getManageType())); busPipeline.setPressTypeName(abstractDictService.getDictNameByCode("wellType",busPipeline.getPressType())); + + busPipeline.setDeptName(getDeptNamesByDeptId(busPipeline.getDeptid())); + + busPipeline.setResponsibleDeptName(abstractDeptService.getDeptName(busPipeline.getResponsibleDept())); + }); return pipelinePage; @@ -66,4 +73,14 @@ } return ""; } + + public String getDeptNamesByDeptId(Long deptId) { + List deptIds = abstractDeptService.getParentListById(deptId); + deptIds.add(deptId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",deptIds); + List deptList = abstractDeptService.list(queryWrapper); + List nameList = deptList.stream().map(Dept::getFullName).collect(Collectors.toList()); + return String.join("/", nameList); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index d5915a2..29ebc6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -52,6 +53,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; + private final AbstractDictService abstractDictService; @Override @@ -61,6 +63,7 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setProcessStatusName(ApprovalStatusEnum.getValue(alarmRecords.getProcessStatus())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); }); return alarmRecordsPage; } @@ -94,6 +97,9 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是"); + alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); + alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory())); }); return alarmRecordsPage; } @@ -273,4 +279,20 @@ } return ""; } + + @Override + public List allList(AlarmRecordDTO request, DataScope dataScope) { + + List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId())); + + alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { + alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); + alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid())); + alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory())); + }); + return alarmRecordExportDTOList; + } + + + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java index 90833a5..1134d67 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -1,8 +1,5 @@ package com.casic.missiles.modular.data.service; -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.data.entity.DataGas; - /** *

* 智能燃气监测终端上传数据表 服务类 @@ -11,7 +8,7 @@ * @author zt * @since 2024-07-16 */ -public interface IDataAbstractService extends IService { +public interface IDataAbstractService { void process(String dataContent); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 8ba17b0..2935f72 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataMonitorPipeOtherMapper; import com.casic.missiles.modular.data.entity.DataMonitorPipeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,11 @@ * @since 2024-08-29 */ @Service -public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService { +public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService, IDataAbstractService { + + @Override + public void process(String dataContent) { + + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6fea36b..a50f92f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataTubeOtherMapper; import com.casic.missiles.modular.data.entity.DataTubeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,10 @@ * @since 2024-08-29 */ @Service -public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService { +public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService, IDataAbstractService { + @Override + public void process(String dataContent) { + + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java index ad315ad..2803dfc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java @@ -2,14 +2,14 @@ import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.ObjectUtil; -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.base.service.IBaseExportService; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; @@ -20,6 +20,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.Objects; /** @@ -38,6 +39,8 @@ private final IBusPipelineService iBusPipelineService; + private final IBaseExportService iBaseExportService; + @ApiOperation("新增") @PostMapping("/add") @ResponseBody @@ -75,7 +78,19 @@ return ReturnUtil.success(iBusPipelineService.removeByIds(idsDTO.getIds())); } - //toDO:导入、导出 + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody BusPipelineRequestDTO request, HttpServletResponse response) { + Page page = PageFactory.defaultPage(); + page.setSize(Integer.MAX_VALUE); + + page = iBusPipelineService.listPage(page, request); + try { + iBaseExportService.exportExcel(response, BusPipeline.class, page.getRecords(), ExportEnum.PIPE_LINE_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml index 3582d9d..09043c9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml @@ -19,7 +19,7 @@ - ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS + ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID,RESPONSIBLE_DEPT, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS @@ -58,9 +58,12 @@ and bp.DEPTID in (${deptStrs}) - ORDER BY bp.TS DESC - + + and bp.DEPTID = #{request.responsibleDeptId} + + + ORDER BY bp.TS DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java index 2df1dd8..9ab8227 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java @@ -36,9 +36,12 @@ @ApiModelProperty("最大建设年代") private String constructEra2; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") private Long deptid; + @ApiModelProperty("产权单位") + private Long responsibleDeptId; + @ApiModelProperty("详细位置") private String position; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java index 8c3bede..81e3c06 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.device.entity; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -32,26 +33,35 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; + @ExcelProperty(value = "管线编号", order = 1) @ApiModelProperty("管线编号") @TableField("PIPE_CODE") private String pipeCode; + @ExcelProperty(value = "管径(mm)", order = 5) @ApiModelProperty("管径(mm)") @TableField("PIPE_DIAMETER") private String pipeDiameter; + @ExcelProperty(value = "材质", order = 4) @ApiModelProperty("材质") @TableField("MATERIAL") private String material; + @ExcelProperty(value = "建设年代", order = 6) @ApiModelProperty("建设年代") @TableField("CONSTRUCT_ERA") private String constructEra; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") @TableField("DEPTID") private Long deptid; + @ApiModelProperty("产权单位") + @TableField("RESPONSIBLE_DEPT") + private Long responsibleDept; + + @ExcelProperty(value = "管线位置", order = 2) @ApiModelProperty("详细位置") @TableField("POSITION") private String position; @@ -64,21 +74,22 @@ @TableField("MANAGE_TYPE") private String manageType; + @ExcelProperty(value = "起点经度", order = 10) @ApiModelProperty("起始经度") @TableField("START_LNG") private String startLng; - + @ExcelProperty(value = "起点纬度", order = 11) @ApiModelProperty("起始纬度") @TableField("START_LAT") private String startLat; - + @ExcelProperty(value = "终点经度", order = 12) @ApiModelProperty("终止经度") @TableField("END_LNG") private String endLng; - + @ExcelProperty(value = "终点纬度", order = 13) @ApiModelProperty("终止纬度") @TableField("END_LAT") private String endLat; @@ -87,14 +98,26 @@ @TableField("TS") private Date ts; + @ExcelProperty(value = "管理方式", order = 9) @ApiModelProperty("管理方式名称") @TableField(exist = false) private String manageTypeName; + @ExcelProperty(value = "压力级制", order = 3) @ApiModelProperty("压力级制名称") @TableField(exist = false) private String pressTypeName; + @ExcelProperty(value = "管理单位", order = 8) + @ApiModelProperty("权属单位名称") + @TableField(exist = false) + private String deptName; + + @ExcelProperty(value = "产权单位", order = 7) + @ApiModelProperty("管理责任部门名称") + @TableField("exist = false") + private String responsibleDeptName; + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java index 3835ddb..2b324c7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java @@ -2,6 +2,7 @@ import cn.hutool.core.convert.Convert; 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.context.AbstractPermissionContext; @@ -12,6 +13,7 @@ import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; import com.casic.missiles.modular.device.service.IBusPipelineService; +import com.casic.missiles.modular.system.model.Dept; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -51,6 +53,11 @@ busPipeline.setManageTypeName(abstractDictService.getDictNameByCode("manageType",busPipeline.getManageType())); busPipeline.setPressTypeName(abstractDictService.getDictNameByCode("wellType",busPipeline.getPressType())); + + busPipeline.setDeptName(getDeptNamesByDeptId(busPipeline.getDeptid())); + + busPipeline.setResponsibleDeptName(abstractDeptService.getDeptName(busPipeline.getResponsibleDept())); + }); return pipelinePage; @@ -66,4 +73,14 @@ } return ""; } + + public String getDeptNamesByDeptId(Long deptId) { + List deptIds = abstractDeptService.getParentListById(deptId); + deptIds.add(deptId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",deptIds); + List deptList = abstractDeptService.list(queryWrapper); + List nameList = deptList.stream().map(Dept::getFullName).collect(Collectors.toList()); + return String.join("/", nameList); + } } diff --git a/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java b/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java index f5fd84e..2fedb53 100644 --- a/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java +++ b/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java @@ -2,37 +2,37 @@ public enum DeviceTypeEnum { - Well("井盖状态监测仪", 1,"data_wellcover",""), - Liquid("液位监测仪", 2,"data_liquid",""), - WasteGas("有害气体监测仪", 3,"data_harmful_gas",""), - Methane("燃气智能监测终端", 9,"data_gas","SELECT DEVCODE,STRENGTH,CELL,SNR,RSRP,PCI,UPTIME,LOGTIME FROM `data_gas`"), - TempHumi("温湿度监测仪", 5,"data_temp_hum",""), - Dig("开挖监测仪", 6,"data_dig",""), - WellLocator("井盖定位监测仪", 7,"data_wellcover_loca",""), - Noise("噪声记录仪", 8,"data_noise",""), - TempPressure("温度压力监测仪", 4,"data_temp_press",""), - FireHydrant("消防栓防盗水监测仪", 11,"data_hydrant",""), - Tube("管盯", 12,"data_tube",""), - LG("井盖液位一体机", 13,"data_wellplus",""), - H2s("硫化氢检测终端", 14,"data_h2s",""), - PRESS("压力监测终端", 15,"data_press",""), - KAD("点型可燃气体探测器", 16,"data_kad",""), - PANTILT("激光甲烷云台", 17,"data_pantilt",""), - PRESSURE("压力监测终端", 18,"data_pressure",""), - GasDector("点型可燃气体探测器", 19,"data_gas_dector",""); + Well("井盖状态监测仪", 1,"data_wellcover"), + Liquid("液位监测仪", 2,"data_liquid"), + TubeOther("管网哨兵", 3,"data_tube_other"), + Methane("燃气智能监测终端", 9,"data_gas"), + MonitorPipeOther("智能警示桩", 5,"data_monitor_pipe_other"), + Dig("开挖监测仪", 6,"data_dig"), + WellLocator("井盖定位监测仪", 7,"data_wellcover_loca"), + Noise("噪声记录仪", 8,"data_noise"), + TempPressure("温度压力监测仪", 4,"data_temp_press"), + FireHydrant("消防栓防盗水监测仪", 11,"data_hydrant"), + Tube("管盯", 12,"data_tube"), + LG("井盖液位一体机", 13,"data_wellplus"), + H2s("硫化氢检测终端", 14,"data_h2s"), + PRESS("压力监测终端", 15,"data_press"), + KAD("点型可燃气体探测器", 16,"data_kad"), + PANTILT("激光甲烷云台", 17,"data_pantilt"), + PRESSURE("压力监测终端", 18,"data_pressure"), + GasDector("点型可燃气体探测器", 19,"data_gas_dector"); // 成员变量 private String name; private int index; private String tableName; - private String sqlString; + // 构造方法 - private DeviceTypeEnum(String name, int index, String tableName, String sqlString) { + private DeviceTypeEnum(String name, int index, String tableName) { this.name = name; this.index = index; this.tableName = tableName; - this.sqlString = sqlString; + } @@ -73,13 +73,6 @@ this.tableName = tableName; } - public String getSqlString() { - return sqlString; - } - - public void setSqlString(String sqlString) { - this.sqlString = sqlString; - } //覆盖方法 @Override diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index d5915a2..29ebc6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -52,6 +53,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; + private final AbstractDictService abstractDictService; @Override @@ -61,6 +63,7 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setProcessStatusName(ApprovalStatusEnum.getValue(alarmRecords.getProcessStatus())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); }); return alarmRecordsPage; } @@ -94,6 +97,9 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是"); + alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); + alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory())); }); return alarmRecordsPage; } @@ -273,4 +279,20 @@ } return ""; } + + @Override + public List allList(AlarmRecordDTO request, DataScope dataScope) { + + List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId())); + + alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { + alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); + alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid())); + alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory())); + }); + return alarmRecordExportDTOList; + } + + + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java index 90833a5..1134d67 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -1,8 +1,5 @@ package com.casic.missiles.modular.data.service; -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.data.entity.DataGas; - /** *

* 智能燃气监测终端上传数据表 服务类 @@ -11,7 +8,7 @@ * @author zt * @since 2024-07-16 */ -public interface IDataAbstractService extends IService { +public interface IDataAbstractService { void process(String dataContent); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 8ba17b0..2935f72 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataMonitorPipeOtherMapper; import com.casic.missiles.modular.data.entity.DataMonitorPipeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,11 @@ * @since 2024-08-29 */ @Service -public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService { +public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService, IDataAbstractService { + + @Override + public void process(String dataContent) { + + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6fea36b..a50f92f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataTubeOtherMapper; import com.casic.missiles.modular.data.entity.DataTubeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,10 @@ * @since 2024-08-29 */ @Service -public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService { +public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService, IDataAbstractService { + @Override + public void process(String dataContent) { + + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java index ad315ad..2803dfc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java @@ -2,14 +2,14 @@ import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.ObjectUtil; -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.base.service.IBaseExportService; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; @@ -20,6 +20,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.Objects; /** @@ -38,6 +39,8 @@ private final IBusPipelineService iBusPipelineService; + private final IBaseExportService iBaseExportService; + @ApiOperation("新增") @PostMapping("/add") @ResponseBody @@ -75,7 +78,19 @@ return ReturnUtil.success(iBusPipelineService.removeByIds(idsDTO.getIds())); } - //toDO:导入、导出 + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody BusPipelineRequestDTO request, HttpServletResponse response) { + Page page = PageFactory.defaultPage(); + page.setSize(Integer.MAX_VALUE); + + page = iBusPipelineService.listPage(page, request); + try { + iBaseExportService.exportExcel(response, BusPipeline.class, page.getRecords(), ExportEnum.PIPE_LINE_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml index 3582d9d..09043c9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml @@ -19,7 +19,7 @@ - ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS + ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID,RESPONSIBLE_DEPT, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS @@ -58,9 +58,12 @@ and bp.DEPTID in (${deptStrs}) - ORDER BY bp.TS DESC - + + and bp.DEPTID = #{request.responsibleDeptId} + + + ORDER BY bp.TS DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java index 2df1dd8..9ab8227 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java @@ -36,9 +36,12 @@ @ApiModelProperty("最大建设年代") private String constructEra2; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") private Long deptid; + @ApiModelProperty("产权单位") + private Long responsibleDeptId; + @ApiModelProperty("详细位置") private String position; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java index 8c3bede..81e3c06 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.device.entity; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -32,26 +33,35 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; + @ExcelProperty(value = "管线编号", order = 1) @ApiModelProperty("管线编号") @TableField("PIPE_CODE") private String pipeCode; + @ExcelProperty(value = "管径(mm)", order = 5) @ApiModelProperty("管径(mm)") @TableField("PIPE_DIAMETER") private String pipeDiameter; + @ExcelProperty(value = "材质", order = 4) @ApiModelProperty("材质") @TableField("MATERIAL") private String material; + @ExcelProperty(value = "建设年代", order = 6) @ApiModelProperty("建设年代") @TableField("CONSTRUCT_ERA") private String constructEra; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") @TableField("DEPTID") private Long deptid; + @ApiModelProperty("产权单位") + @TableField("RESPONSIBLE_DEPT") + private Long responsibleDept; + + @ExcelProperty(value = "管线位置", order = 2) @ApiModelProperty("详细位置") @TableField("POSITION") private String position; @@ -64,21 +74,22 @@ @TableField("MANAGE_TYPE") private String manageType; + @ExcelProperty(value = "起点经度", order = 10) @ApiModelProperty("起始经度") @TableField("START_LNG") private String startLng; - + @ExcelProperty(value = "起点纬度", order = 11) @ApiModelProperty("起始纬度") @TableField("START_LAT") private String startLat; - + @ExcelProperty(value = "终点经度", order = 12) @ApiModelProperty("终止经度") @TableField("END_LNG") private String endLng; - + @ExcelProperty(value = "终点纬度", order = 13) @ApiModelProperty("终止纬度") @TableField("END_LAT") private String endLat; @@ -87,14 +98,26 @@ @TableField("TS") private Date ts; + @ExcelProperty(value = "管理方式", order = 9) @ApiModelProperty("管理方式名称") @TableField(exist = false) private String manageTypeName; + @ExcelProperty(value = "压力级制", order = 3) @ApiModelProperty("压力级制名称") @TableField(exist = false) private String pressTypeName; + @ExcelProperty(value = "管理单位", order = 8) + @ApiModelProperty("权属单位名称") + @TableField(exist = false) + private String deptName; + + @ExcelProperty(value = "产权单位", order = 7) + @ApiModelProperty("管理责任部门名称") + @TableField("exist = false") + private String responsibleDeptName; + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java index 3835ddb..2b324c7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java @@ -2,6 +2,7 @@ import cn.hutool.core.convert.Convert; 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.context.AbstractPermissionContext; @@ -12,6 +13,7 @@ import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; import com.casic.missiles.modular.device.service.IBusPipelineService; +import com.casic.missiles.modular.system.model.Dept; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -51,6 +53,11 @@ busPipeline.setManageTypeName(abstractDictService.getDictNameByCode("manageType",busPipeline.getManageType())); busPipeline.setPressTypeName(abstractDictService.getDictNameByCode("wellType",busPipeline.getPressType())); + + busPipeline.setDeptName(getDeptNamesByDeptId(busPipeline.getDeptid())); + + busPipeline.setResponsibleDeptName(abstractDeptService.getDeptName(busPipeline.getResponsibleDept())); + }); return pipelinePage; @@ -66,4 +73,14 @@ } return ""; } + + public String getDeptNamesByDeptId(Long deptId) { + List deptIds = abstractDeptService.getParentListById(deptId); + deptIds.add(deptId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",deptIds); + List deptList = abstractDeptService.list(queryWrapper); + List nameList = deptList.stream().map(Dept::getFullName).collect(Collectors.toList()); + return String.join("/", nameList); + } } diff --git a/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java b/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java index f5fd84e..2fedb53 100644 --- a/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java +++ b/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java @@ -2,37 +2,37 @@ public enum DeviceTypeEnum { - Well("井盖状态监测仪", 1,"data_wellcover",""), - Liquid("液位监测仪", 2,"data_liquid",""), - WasteGas("有害气体监测仪", 3,"data_harmful_gas",""), - Methane("燃气智能监测终端", 9,"data_gas","SELECT DEVCODE,STRENGTH,CELL,SNR,RSRP,PCI,UPTIME,LOGTIME FROM `data_gas`"), - TempHumi("温湿度监测仪", 5,"data_temp_hum",""), - Dig("开挖监测仪", 6,"data_dig",""), - WellLocator("井盖定位监测仪", 7,"data_wellcover_loca",""), - Noise("噪声记录仪", 8,"data_noise",""), - TempPressure("温度压力监测仪", 4,"data_temp_press",""), - FireHydrant("消防栓防盗水监测仪", 11,"data_hydrant",""), - Tube("管盯", 12,"data_tube",""), - LG("井盖液位一体机", 13,"data_wellplus",""), - H2s("硫化氢检测终端", 14,"data_h2s",""), - PRESS("压力监测终端", 15,"data_press",""), - KAD("点型可燃气体探测器", 16,"data_kad",""), - PANTILT("激光甲烷云台", 17,"data_pantilt",""), - PRESSURE("压力监测终端", 18,"data_pressure",""), - GasDector("点型可燃气体探测器", 19,"data_gas_dector",""); + Well("井盖状态监测仪", 1,"data_wellcover"), + Liquid("液位监测仪", 2,"data_liquid"), + TubeOther("管网哨兵", 3,"data_tube_other"), + Methane("燃气智能监测终端", 9,"data_gas"), + MonitorPipeOther("智能警示桩", 5,"data_monitor_pipe_other"), + Dig("开挖监测仪", 6,"data_dig"), + WellLocator("井盖定位监测仪", 7,"data_wellcover_loca"), + Noise("噪声记录仪", 8,"data_noise"), + TempPressure("温度压力监测仪", 4,"data_temp_press"), + FireHydrant("消防栓防盗水监测仪", 11,"data_hydrant"), + Tube("管盯", 12,"data_tube"), + LG("井盖液位一体机", 13,"data_wellplus"), + H2s("硫化氢检测终端", 14,"data_h2s"), + PRESS("压力监测终端", 15,"data_press"), + KAD("点型可燃气体探测器", 16,"data_kad"), + PANTILT("激光甲烷云台", 17,"data_pantilt"), + PRESSURE("压力监测终端", 18,"data_pressure"), + GasDector("点型可燃气体探测器", 19,"data_gas_dector"); // 成员变量 private String name; private int index; private String tableName; - private String sqlString; + // 构造方法 - private DeviceTypeEnum(String name, int index, String tableName, String sqlString) { + private DeviceTypeEnum(String name, int index, String tableName) { this.name = name; this.index = index; this.tableName = tableName; - this.sqlString = sqlString; + } @@ -73,13 +73,6 @@ this.tableName = tableName; } - public String getSqlString() { - return sqlString; - } - - public void setSqlString(String sqlString) { - this.sqlString = sqlString; - } //覆盖方法 @Override diff --git a/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java index 189faea..2e43beb 100644 --- a/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -10,6 +10,7 @@ DEVICE_EXPORT("deviceInfo", "deviceInfo", "设备信息"), LIFE_CYCLE_RECORD_EXPORT("lifeCycleRecord", "lifeCycleRecord", "全生命周期记录"), REPAIR_LOG_EXPORT("repairLog", "repairLog", "厂商运维记录"), + PIPE_LINE_EXPORT("pipeLine", "pipeLine", "管线基础信息"), BUSPATROL_LOG_EXPORT("BusPatrolLogResponse", "BusPatrolLogResponse", "巡检日志"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index d5915a2..29ebc6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -52,6 +53,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; + private final AbstractDictService abstractDictService; @Override @@ -61,6 +63,7 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setProcessStatusName(ApprovalStatusEnum.getValue(alarmRecords.getProcessStatus())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); }); return alarmRecordsPage; } @@ -94,6 +97,9 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是"); + alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); + alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory())); }); return alarmRecordsPage; } @@ -273,4 +279,20 @@ } return ""; } + + @Override + public List allList(AlarmRecordDTO request, DataScope dataScope) { + + List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId())); + + alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { + alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); + alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid())); + alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory())); + }); + return alarmRecordExportDTOList; + } + + + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java index 90833a5..1134d67 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -1,8 +1,5 @@ package com.casic.missiles.modular.data.service; -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.data.entity.DataGas; - /** *

* 智能燃气监测终端上传数据表 服务类 @@ -11,7 +8,7 @@ * @author zt * @since 2024-07-16 */ -public interface IDataAbstractService extends IService { +public interface IDataAbstractService { void process(String dataContent); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 8ba17b0..2935f72 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataMonitorPipeOtherMapper; import com.casic.missiles.modular.data.entity.DataMonitorPipeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,11 @@ * @since 2024-08-29 */ @Service -public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService { +public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService, IDataAbstractService { + + @Override + public void process(String dataContent) { + + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6fea36b..a50f92f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataTubeOtherMapper; import com.casic.missiles.modular.data.entity.DataTubeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,10 @@ * @since 2024-08-29 */ @Service -public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService { +public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService, IDataAbstractService { + @Override + public void process(String dataContent) { + + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java index ad315ad..2803dfc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java @@ -2,14 +2,14 @@ import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.ObjectUtil; -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.base.service.IBaseExportService; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; @@ -20,6 +20,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.Objects; /** @@ -38,6 +39,8 @@ private final IBusPipelineService iBusPipelineService; + private final IBaseExportService iBaseExportService; + @ApiOperation("新增") @PostMapping("/add") @ResponseBody @@ -75,7 +78,19 @@ return ReturnUtil.success(iBusPipelineService.removeByIds(idsDTO.getIds())); } - //toDO:导入、导出 + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody BusPipelineRequestDTO request, HttpServletResponse response) { + Page page = PageFactory.defaultPage(); + page.setSize(Integer.MAX_VALUE); + + page = iBusPipelineService.listPage(page, request); + try { + iBaseExportService.exportExcel(response, BusPipeline.class, page.getRecords(), ExportEnum.PIPE_LINE_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml index 3582d9d..09043c9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml @@ -19,7 +19,7 @@ - ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS + ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID,RESPONSIBLE_DEPT, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS @@ -58,9 +58,12 @@ and bp.DEPTID in (${deptStrs}) - ORDER BY bp.TS DESC - + + and bp.DEPTID = #{request.responsibleDeptId} + + + ORDER BY bp.TS DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java index 2df1dd8..9ab8227 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java @@ -36,9 +36,12 @@ @ApiModelProperty("最大建设年代") private String constructEra2; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") private Long deptid; + @ApiModelProperty("产权单位") + private Long responsibleDeptId; + @ApiModelProperty("详细位置") private String position; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java index 8c3bede..81e3c06 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.device.entity; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -32,26 +33,35 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; + @ExcelProperty(value = "管线编号", order = 1) @ApiModelProperty("管线编号") @TableField("PIPE_CODE") private String pipeCode; + @ExcelProperty(value = "管径(mm)", order = 5) @ApiModelProperty("管径(mm)") @TableField("PIPE_DIAMETER") private String pipeDiameter; + @ExcelProperty(value = "材质", order = 4) @ApiModelProperty("材质") @TableField("MATERIAL") private String material; + @ExcelProperty(value = "建设年代", order = 6) @ApiModelProperty("建设年代") @TableField("CONSTRUCT_ERA") private String constructEra; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") @TableField("DEPTID") private Long deptid; + @ApiModelProperty("产权单位") + @TableField("RESPONSIBLE_DEPT") + private Long responsibleDept; + + @ExcelProperty(value = "管线位置", order = 2) @ApiModelProperty("详细位置") @TableField("POSITION") private String position; @@ -64,21 +74,22 @@ @TableField("MANAGE_TYPE") private String manageType; + @ExcelProperty(value = "起点经度", order = 10) @ApiModelProperty("起始经度") @TableField("START_LNG") private String startLng; - + @ExcelProperty(value = "起点纬度", order = 11) @ApiModelProperty("起始纬度") @TableField("START_LAT") private String startLat; - + @ExcelProperty(value = "终点经度", order = 12) @ApiModelProperty("终止经度") @TableField("END_LNG") private String endLng; - + @ExcelProperty(value = "终点纬度", order = 13) @ApiModelProperty("终止纬度") @TableField("END_LAT") private String endLat; @@ -87,14 +98,26 @@ @TableField("TS") private Date ts; + @ExcelProperty(value = "管理方式", order = 9) @ApiModelProperty("管理方式名称") @TableField(exist = false) private String manageTypeName; + @ExcelProperty(value = "压力级制", order = 3) @ApiModelProperty("压力级制名称") @TableField(exist = false) private String pressTypeName; + @ExcelProperty(value = "管理单位", order = 8) + @ApiModelProperty("权属单位名称") + @TableField(exist = false) + private String deptName; + + @ExcelProperty(value = "产权单位", order = 7) + @ApiModelProperty("管理责任部门名称") + @TableField("exist = false") + private String responsibleDeptName; + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java index 3835ddb..2b324c7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java @@ -2,6 +2,7 @@ import cn.hutool.core.convert.Convert; 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.context.AbstractPermissionContext; @@ -12,6 +13,7 @@ import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; import com.casic.missiles.modular.device.service.IBusPipelineService; +import com.casic.missiles.modular.system.model.Dept; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -51,6 +53,11 @@ busPipeline.setManageTypeName(abstractDictService.getDictNameByCode("manageType",busPipeline.getManageType())); busPipeline.setPressTypeName(abstractDictService.getDictNameByCode("wellType",busPipeline.getPressType())); + + busPipeline.setDeptName(getDeptNamesByDeptId(busPipeline.getDeptid())); + + busPipeline.setResponsibleDeptName(abstractDeptService.getDeptName(busPipeline.getResponsibleDept())); + }); return pipelinePage; @@ -66,4 +73,14 @@ } return ""; } + + public String getDeptNamesByDeptId(Long deptId) { + List deptIds = abstractDeptService.getParentListById(deptId); + deptIds.add(deptId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",deptIds); + List deptList = abstractDeptService.list(queryWrapper); + List nameList = deptList.stream().map(Dept::getFullName).collect(Collectors.toList()); + return String.join("/", nameList); + } } diff --git a/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java b/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java index f5fd84e..2fedb53 100644 --- a/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java +++ b/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java @@ -2,37 +2,37 @@ public enum DeviceTypeEnum { - Well("井盖状态监测仪", 1,"data_wellcover",""), - Liquid("液位监测仪", 2,"data_liquid",""), - WasteGas("有害气体监测仪", 3,"data_harmful_gas",""), - Methane("燃气智能监测终端", 9,"data_gas","SELECT DEVCODE,STRENGTH,CELL,SNR,RSRP,PCI,UPTIME,LOGTIME FROM `data_gas`"), - TempHumi("温湿度监测仪", 5,"data_temp_hum",""), - Dig("开挖监测仪", 6,"data_dig",""), - WellLocator("井盖定位监测仪", 7,"data_wellcover_loca",""), - Noise("噪声记录仪", 8,"data_noise",""), - TempPressure("温度压力监测仪", 4,"data_temp_press",""), - FireHydrant("消防栓防盗水监测仪", 11,"data_hydrant",""), - Tube("管盯", 12,"data_tube",""), - LG("井盖液位一体机", 13,"data_wellplus",""), - H2s("硫化氢检测终端", 14,"data_h2s",""), - PRESS("压力监测终端", 15,"data_press",""), - KAD("点型可燃气体探测器", 16,"data_kad",""), - PANTILT("激光甲烷云台", 17,"data_pantilt",""), - PRESSURE("压力监测终端", 18,"data_pressure",""), - GasDector("点型可燃气体探测器", 19,"data_gas_dector",""); + Well("井盖状态监测仪", 1,"data_wellcover"), + Liquid("液位监测仪", 2,"data_liquid"), + TubeOther("管网哨兵", 3,"data_tube_other"), + Methane("燃气智能监测终端", 9,"data_gas"), + MonitorPipeOther("智能警示桩", 5,"data_monitor_pipe_other"), + Dig("开挖监测仪", 6,"data_dig"), + WellLocator("井盖定位监测仪", 7,"data_wellcover_loca"), + Noise("噪声记录仪", 8,"data_noise"), + TempPressure("温度压力监测仪", 4,"data_temp_press"), + FireHydrant("消防栓防盗水监测仪", 11,"data_hydrant"), + Tube("管盯", 12,"data_tube"), + LG("井盖液位一体机", 13,"data_wellplus"), + H2s("硫化氢检测终端", 14,"data_h2s"), + PRESS("压力监测终端", 15,"data_press"), + KAD("点型可燃气体探测器", 16,"data_kad"), + PANTILT("激光甲烷云台", 17,"data_pantilt"), + PRESSURE("压力监测终端", 18,"data_pressure"), + GasDector("点型可燃气体探测器", 19,"data_gas_dector"); // 成员变量 private String name; private int index; private String tableName; - private String sqlString; + // 构造方法 - private DeviceTypeEnum(String name, int index, String tableName, String sqlString) { + private DeviceTypeEnum(String name, int index, String tableName) { this.name = name; this.index = index; this.tableName = tableName; - this.sqlString = sqlString; + } @@ -73,13 +73,6 @@ this.tableName = tableName; } - public String getSqlString() { - return sqlString; - } - - public void setSqlString(String sqlString) { - this.sqlString = sqlString; - } //覆盖方法 @Override diff --git a/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java index 189faea..2e43beb 100644 --- a/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -10,6 +10,7 @@ DEVICE_EXPORT("deviceInfo", "deviceInfo", "设备信息"), LIFE_CYCLE_RECORD_EXPORT("lifeCycleRecord", "lifeCycleRecord", "全生命周期记录"), REPAIR_LOG_EXPORT("repairLog", "repairLog", "厂商运维记录"), + PIPE_LINE_EXPORT("pipeLine", "pipeLine", "管线基础信息"), BUSPATROL_LOG_EXPORT("BusPatrolLogResponse", "BusPatrolLogResponse", "巡检日志"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-public/src/main/java/com/casic/missiles/util/SpringContextUtil.java b/casic-public/src/main/java/com/casic/missiles/util/SpringContextUtil.java new file mode 100644 index 0000000..7f1b770 --- /dev/null +++ b/casic-public/src/main/java/com/casic/missiles/util/SpringContextUtil.java @@ -0,0 +1,102 @@ +package com.casic.missiles.util; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.BeanFactoryPostProcessor; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.beans.factory.support.AbstractBeanDefinition; +import org.springframework.beans.factory.support.BeanDefinitionBuilder; +import org.springframework.beans.factory.support.BeanDefinitionReaderUtils; +import org.springframework.beans.factory.support.BeanDefinitionRegistry; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Map; +import java.util.concurrent.ForkJoinPool; +import java.util.function.Function; + + +@Component +public class SpringContextUtil implements BeanFactoryPostProcessor, ApplicationContextAware { + /** + * Spring应用上下文环境 + */ + private static ApplicationContext applicationContext; + + private static ConfigurableListableBeanFactory beanFactory; + + /** + * 实现ApplicationContextAware接口的回调方法,设置上下文环境 + */ + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + SpringContextUtil.applicationContext = applicationContext; + } + + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + SpringContextUtil.beanFactory = beanFactory; + } + + public static ApplicationContext getApplicationContext() { + return applicationContext; + } + +// public static Object getBean(String beanId) throws BeansException { +// return applicationContext.getBean(beanId); +// } + + public static T getBean(Class requiredType) { + return (T) applicationContext.getBean(requiredType); + } + + @SuppressWarnings("unchecked") + public static T getBean(String name) throws BeansException { + return (T) beanFactory.getBean(name); + } + + public static boolean containsBean(String name) { + return beanFactory.containsBean(name); + } + + public static T registerBean(String beanName, Class clazz, Function function) { + // 生成bean定义 + BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(clazz); + // 执行bean处理函数 + AbstractBeanDefinition beanDefinition = function.apply(beanDefinitionBuilder); + BeanDefinitionRegistry beanFactory = (BeanDefinitionRegistry) SpringContextUtil.beanFactory; + // 判断是否通过beanName注册 + if (StringUtils.isNotBlank(beanName) && !containsBean(beanName)) { + beanFactory.registerBeanDefinition(beanName, beanDefinition); + return getBean(beanName); + } else { + // 非命名bean注册 + String name = BeanDefinitionReaderUtils.registerWithGeneratedName(beanDefinition, beanFactory); + return getBean(name); + } + } + + public static T registerBean(String beanName, Class clazz, List args, Map property) { + return registerBean(beanName, clazz, beanDefinitionBuilder -> { + // 放入构造参数 + if (!CollectionUtils.isEmpty(args)) { + args.forEach(beanDefinitionBuilder::addConstructorArgValue); + } + // 放入属性 + if (!CollectionUtils.isEmpty(property)) { + property.forEach(beanDefinitionBuilder::addPropertyValue); + } + return beanDefinitionBuilder.getBeanDefinition(); + }); + } + + @Bean + public ForkJoinPool forkJoinPool() { + return new ForkJoinPool(100); + } + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index d5915a2..29ebc6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -52,6 +53,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; + private final AbstractDictService abstractDictService; @Override @@ -61,6 +63,7 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setProcessStatusName(ApprovalStatusEnum.getValue(alarmRecords.getProcessStatus())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); }); return alarmRecordsPage; } @@ -94,6 +97,9 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是"); + alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); + alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory())); }); return alarmRecordsPage; } @@ -273,4 +279,20 @@ } return ""; } + + @Override + public List allList(AlarmRecordDTO request, DataScope dataScope) { + + List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId())); + + alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { + alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); + alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid())); + alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory())); + }); + return alarmRecordExportDTOList; + } + + + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java index 90833a5..1134d67 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -1,8 +1,5 @@ package com.casic.missiles.modular.data.service; -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.data.entity.DataGas; - /** *

* 智能燃气监测终端上传数据表 服务类 @@ -11,7 +8,7 @@ * @author zt * @since 2024-07-16 */ -public interface IDataAbstractService extends IService { +public interface IDataAbstractService { void process(String dataContent); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 8ba17b0..2935f72 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataMonitorPipeOtherMapper; import com.casic.missiles.modular.data.entity.DataMonitorPipeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,11 @@ * @since 2024-08-29 */ @Service -public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService { +public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService, IDataAbstractService { + + @Override + public void process(String dataContent) { + + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6fea36b..a50f92f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataTubeOtherMapper; import com.casic.missiles.modular.data.entity.DataTubeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,10 @@ * @since 2024-08-29 */ @Service -public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService { +public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService, IDataAbstractService { + @Override + public void process(String dataContent) { + + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java index ad315ad..2803dfc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java @@ -2,14 +2,14 @@ import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.ObjectUtil; -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.base.service.IBaseExportService; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; @@ -20,6 +20,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.Objects; /** @@ -38,6 +39,8 @@ private final IBusPipelineService iBusPipelineService; + private final IBaseExportService iBaseExportService; + @ApiOperation("新增") @PostMapping("/add") @ResponseBody @@ -75,7 +78,19 @@ return ReturnUtil.success(iBusPipelineService.removeByIds(idsDTO.getIds())); } - //toDO:导入、导出 + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody BusPipelineRequestDTO request, HttpServletResponse response) { + Page page = PageFactory.defaultPage(); + page.setSize(Integer.MAX_VALUE); + + page = iBusPipelineService.listPage(page, request); + try { + iBaseExportService.exportExcel(response, BusPipeline.class, page.getRecords(), ExportEnum.PIPE_LINE_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml index 3582d9d..09043c9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml @@ -19,7 +19,7 @@ - ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS + ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID,RESPONSIBLE_DEPT, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS @@ -58,9 +58,12 @@ and bp.DEPTID in (${deptStrs}) - ORDER BY bp.TS DESC - + + and bp.DEPTID = #{request.responsibleDeptId} + + + ORDER BY bp.TS DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java index 2df1dd8..9ab8227 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java @@ -36,9 +36,12 @@ @ApiModelProperty("最大建设年代") private String constructEra2; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") private Long deptid; + @ApiModelProperty("产权单位") + private Long responsibleDeptId; + @ApiModelProperty("详细位置") private String position; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java index 8c3bede..81e3c06 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.device.entity; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -32,26 +33,35 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; + @ExcelProperty(value = "管线编号", order = 1) @ApiModelProperty("管线编号") @TableField("PIPE_CODE") private String pipeCode; + @ExcelProperty(value = "管径(mm)", order = 5) @ApiModelProperty("管径(mm)") @TableField("PIPE_DIAMETER") private String pipeDiameter; + @ExcelProperty(value = "材质", order = 4) @ApiModelProperty("材质") @TableField("MATERIAL") private String material; + @ExcelProperty(value = "建设年代", order = 6) @ApiModelProperty("建设年代") @TableField("CONSTRUCT_ERA") private String constructEra; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") @TableField("DEPTID") private Long deptid; + @ApiModelProperty("产权单位") + @TableField("RESPONSIBLE_DEPT") + private Long responsibleDept; + + @ExcelProperty(value = "管线位置", order = 2) @ApiModelProperty("详细位置") @TableField("POSITION") private String position; @@ -64,21 +74,22 @@ @TableField("MANAGE_TYPE") private String manageType; + @ExcelProperty(value = "起点经度", order = 10) @ApiModelProperty("起始经度") @TableField("START_LNG") private String startLng; - + @ExcelProperty(value = "起点纬度", order = 11) @ApiModelProperty("起始纬度") @TableField("START_LAT") private String startLat; - + @ExcelProperty(value = "终点经度", order = 12) @ApiModelProperty("终止经度") @TableField("END_LNG") private String endLng; - + @ExcelProperty(value = "终点纬度", order = 13) @ApiModelProperty("终止纬度") @TableField("END_LAT") private String endLat; @@ -87,14 +98,26 @@ @TableField("TS") private Date ts; + @ExcelProperty(value = "管理方式", order = 9) @ApiModelProperty("管理方式名称") @TableField(exist = false) private String manageTypeName; + @ExcelProperty(value = "压力级制", order = 3) @ApiModelProperty("压力级制名称") @TableField(exist = false) private String pressTypeName; + @ExcelProperty(value = "管理单位", order = 8) + @ApiModelProperty("权属单位名称") + @TableField(exist = false) + private String deptName; + + @ExcelProperty(value = "产权单位", order = 7) + @ApiModelProperty("管理责任部门名称") + @TableField("exist = false") + private String responsibleDeptName; + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java index 3835ddb..2b324c7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java @@ -2,6 +2,7 @@ import cn.hutool.core.convert.Convert; 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.context.AbstractPermissionContext; @@ -12,6 +13,7 @@ import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; import com.casic.missiles.modular.device.service.IBusPipelineService; +import com.casic.missiles.modular.system.model.Dept; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -51,6 +53,11 @@ busPipeline.setManageTypeName(abstractDictService.getDictNameByCode("manageType",busPipeline.getManageType())); busPipeline.setPressTypeName(abstractDictService.getDictNameByCode("wellType",busPipeline.getPressType())); + + busPipeline.setDeptName(getDeptNamesByDeptId(busPipeline.getDeptid())); + + busPipeline.setResponsibleDeptName(abstractDeptService.getDeptName(busPipeline.getResponsibleDept())); + }); return pipelinePage; @@ -66,4 +73,14 @@ } return ""; } + + public String getDeptNamesByDeptId(Long deptId) { + List deptIds = abstractDeptService.getParentListById(deptId); + deptIds.add(deptId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",deptIds); + List deptList = abstractDeptService.list(queryWrapper); + List nameList = deptList.stream().map(Dept::getFullName).collect(Collectors.toList()); + return String.join("/", nameList); + } } diff --git a/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java b/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java index f5fd84e..2fedb53 100644 --- a/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java +++ b/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java @@ -2,37 +2,37 @@ public enum DeviceTypeEnum { - Well("井盖状态监测仪", 1,"data_wellcover",""), - Liquid("液位监测仪", 2,"data_liquid",""), - WasteGas("有害气体监测仪", 3,"data_harmful_gas",""), - Methane("燃气智能监测终端", 9,"data_gas","SELECT DEVCODE,STRENGTH,CELL,SNR,RSRP,PCI,UPTIME,LOGTIME FROM `data_gas`"), - TempHumi("温湿度监测仪", 5,"data_temp_hum",""), - Dig("开挖监测仪", 6,"data_dig",""), - WellLocator("井盖定位监测仪", 7,"data_wellcover_loca",""), - Noise("噪声记录仪", 8,"data_noise",""), - TempPressure("温度压力监测仪", 4,"data_temp_press",""), - FireHydrant("消防栓防盗水监测仪", 11,"data_hydrant",""), - Tube("管盯", 12,"data_tube",""), - LG("井盖液位一体机", 13,"data_wellplus",""), - H2s("硫化氢检测终端", 14,"data_h2s",""), - PRESS("压力监测终端", 15,"data_press",""), - KAD("点型可燃气体探测器", 16,"data_kad",""), - PANTILT("激光甲烷云台", 17,"data_pantilt",""), - PRESSURE("压力监测终端", 18,"data_pressure",""), - GasDector("点型可燃气体探测器", 19,"data_gas_dector",""); + Well("井盖状态监测仪", 1,"data_wellcover"), + Liquid("液位监测仪", 2,"data_liquid"), + TubeOther("管网哨兵", 3,"data_tube_other"), + Methane("燃气智能监测终端", 9,"data_gas"), + MonitorPipeOther("智能警示桩", 5,"data_monitor_pipe_other"), + Dig("开挖监测仪", 6,"data_dig"), + WellLocator("井盖定位监测仪", 7,"data_wellcover_loca"), + Noise("噪声记录仪", 8,"data_noise"), + TempPressure("温度压力监测仪", 4,"data_temp_press"), + FireHydrant("消防栓防盗水监测仪", 11,"data_hydrant"), + Tube("管盯", 12,"data_tube"), + LG("井盖液位一体机", 13,"data_wellplus"), + H2s("硫化氢检测终端", 14,"data_h2s"), + PRESS("压力监测终端", 15,"data_press"), + KAD("点型可燃气体探测器", 16,"data_kad"), + PANTILT("激光甲烷云台", 17,"data_pantilt"), + PRESSURE("压力监测终端", 18,"data_pressure"), + GasDector("点型可燃气体探测器", 19,"data_gas_dector"); // 成员变量 private String name; private int index; private String tableName; - private String sqlString; + // 构造方法 - private DeviceTypeEnum(String name, int index, String tableName, String sqlString) { + private DeviceTypeEnum(String name, int index, String tableName) { this.name = name; this.index = index; this.tableName = tableName; - this.sqlString = sqlString; + } @@ -73,13 +73,6 @@ this.tableName = tableName; } - public String getSqlString() { - return sqlString; - } - - public void setSqlString(String sqlString) { - this.sqlString = sqlString; - } //覆盖方法 @Override diff --git a/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java index 189faea..2e43beb 100644 --- a/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -10,6 +10,7 @@ DEVICE_EXPORT("deviceInfo", "deviceInfo", "设备信息"), LIFE_CYCLE_RECORD_EXPORT("lifeCycleRecord", "lifeCycleRecord", "全生命周期记录"), REPAIR_LOG_EXPORT("repairLog", "repairLog", "厂商运维记录"), + PIPE_LINE_EXPORT("pipeLine", "pipeLine", "管线基础信息"), BUSPATROL_LOG_EXPORT("BusPatrolLogResponse", "BusPatrolLogResponse", "巡检日志"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-public/src/main/java/com/casic/missiles/util/SpringContextUtil.java b/casic-public/src/main/java/com/casic/missiles/util/SpringContextUtil.java new file mode 100644 index 0000000..7f1b770 --- /dev/null +++ b/casic-public/src/main/java/com/casic/missiles/util/SpringContextUtil.java @@ -0,0 +1,102 @@ +package com.casic.missiles.util; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.BeanFactoryPostProcessor; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.beans.factory.support.AbstractBeanDefinition; +import org.springframework.beans.factory.support.BeanDefinitionBuilder; +import org.springframework.beans.factory.support.BeanDefinitionReaderUtils; +import org.springframework.beans.factory.support.BeanDefinitionRegistry; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Map; +import java.util.concurrent.ForkJoinPool; +import java.util.function.Function; + + +@Component +public class SpringContextUtil implements BeanFactoryPostProcessor, ApplicationContextAware { + /** + * Spring应用上下文环境 + */ + private static ApplicationContext applicationContext; + + private static ConfigurableListableBeanFactory beanFactory; + + /** + * 实现ApplicationContextAware接口的回调方法,设置上下文环境 + */ + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + SpringContextUtil.applicationContext = applicationContext; + } + + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + SpringContextUtil.beanFactory = beanFactory; + } + + public static ApplicationContext getApplicationContext() { + return applicationContext; + } + +// public static Object getBean(String beanId) throws BeansException { +// return applicationContext.getBean(beanId); +// } + + public static T getBean(Class requiredType) { + return (T) applicationContext.getBean(requiredType); + } + + @SuppressWarnings("unchecked") + public static T getBean(String name) throws BeansException { + return (T) beanFactory.getBean(name); + } + + public static boolean containsBean(String name) { + return beanFactory.containsBean(name); + } + + public static T registerBean(String beanName, Class clazz, Function function) { + // 生成bean定义 + BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(clazz); + // 执行bean处理函数 + AbstractBeanDefinition beanDefinition = function.apply(beanDefinitionBuilder); + BeanDefinitionRegistry beanFactory = (BeanDefinitionRegistry) SpringContextUtil.beanFactory; + // 判断是否通过beanName注册 + if (StringUtils.isNotBlank(beanName) && !containsBean(beanName)) { + beanFactory.registerBeanDefinition(beanName, beanDefinition); + return getBean(beanName); + } else { + // 非命名bean注册 + String name = BeanDefinitionReaderUtils.registerWithGeneratedName(beanDefinition, beanFactory); + return getBean(name); + } + } + + public static T registerBean(String beanName, Class clazz, List args, Map property) { + return registerBean(beanName, clazz, beanDefinitionBuilder -> { + // 放入构造参数 + if (!CollectionUtils.isEmpty(args)) { + args.forEach(beanDefinitionBuilder::addConstructorArgValue); + } + // 放入属性 + if (!CollectionUtils.isEmpty(property)) { + property.forEach(beanDefinitionBuilder::addPropertyValue); + } + return beanDefinitionBuilder.getBeanDefinition(); + }); + } + + @Bean + public ForkJoinPool forkJoinPool() { + return new ForkJoinPool(100); + } + +} diff --git a/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java index da5c62d..f17db8f 100644 --- a/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java +++ b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java @@ -1,20 +1,18 @@ package com.casic.missiles.modular.sensorHub.controller; -import com.alibaba.fastjson.JSON; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; -import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.sensorHub.resolver.ResponseResolver; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; -import java.util.Map; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -28,7 +26,6 @@ public class ReceiveDataController { private final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(5, 10, 60, TimeUnit.SECONDS, new LinkedBlockingDeque<>(10)); - private final IDataAbstractService iDataAbstractService; @ApiOperation("接收设备数据入口") @PostMapping("/receiveData") @ResponseBody @@ -36,8 +33,7 @@ log.info(">>>>>>接收数<<<<<<:" + jsonData); threadPoolExecutor.execute( () -> { - ResponseResolver responseResolver = new ResponseResolver(); - responseResolver.makeResponse(jsonData); + ResponseResolver.makeResponse(jsonData); } ); return ReturnUtil.success(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 4aa5e25..0949b51 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdDTO; @@ -13,18 +14,24 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.DictEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.RemindDTO; import com.casic.missiles.modular.alarm.dto.SuspendDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.device.dto.BusRepairLogRequestDTO; +import com.casic.missiles.modular.device.entity.BusRepairLog; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; /** @@ -43,6 +50,7 @@ private final AbstractDictService dictService; private final IAlarmRecordsService iAlarmRecordsService; private final AbstractPermissionContext permissionContext; + private final IBaseExportService iBaseExportService; @ApiOperation("查询当前告警分页接口") @PostMapping("/listPage") @@ -67,14 +75,23 @@ return ReturnUtil.success(super.packForBT(iAlarmRecordsService.historyListPage(page, request, dataScope))); } + //todo:历史报警导出 -// @ApiOperation("新增") -// @PostMapping("/add") -// @ResponseBody -// public ReturnDTO add(@RequestBody AlarmRecords alarmRecords) { -// -// return ReturnUtil.success(iAlarmRecordsService.saveAlarmType(alarmRecords)); -// } + + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody AlarmRecordDTO request, HttpServletResponse response) { + + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + + List dtoList = iAlarmRecordsService.allList(request,dataScope); + + try { + iBaseExportService.exportExcel(response, AlarmRecordExportDTO.class, dtoList, ExportEnum.ALARM_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } @ApiOperation("查看") @PostMapping("/view") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java index 9a6eb2e..553756a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRecordsMapper.java @@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.AlarmRecordDTO; +import com.casic.missiles.modular.alarm.dto.AlarmRecordExportDTO; import com.casic.missiles.modular.alarm.dto.DeviceAlarmResponseDTO; import com.casic.missiles.modular.alarm.entity.AlarmRecords; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 报警管理(暂定) Mapper 接口 @@ -32,5 +35,7 @@ Page pop(Page page, @Param("deptIdStr") String deptIdStr); + List allList(@Param("request") AlarmRecordDTO request, @Param("dataScope") DataScope dataScope, @Param("deptIdStr") String deptIdStr); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index ac236b7..418b2ac 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -21,27 +21,26 @@ ID - , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME + , DEVCODE, LEDGER_CODE, ALARM_TYPE_ID, ALARM_CONTENT, ALARM_VALUE, ALARM_LEVEL, ALARM_TIME, `STATUS`, ALARM_MSG, PROCESS_STATUS, PROCESS_TIME,POSITION + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java index 59ca150..b16e158 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordDTO.java @@ -9,6 +9,9 @@ @ApiModelProperty("设备编号") private String devCode; + @ApiModelProperty("安装位号") + private String ledgerNumber; + @ApiModelProperty("报警类型id") private Long alarmTypeId; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java new file mode 100644 index 0000000..0b82f67 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -0,0 +1,53 @@ +package com.casic.missiles.modular.alarm.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class AlarmRecordExportDTO { + + @ExcelProperty(value = "报警类别", order = 1) + private String alarmCategory; + + @ExcelProperty(value = "报警类型", order = 2) + private String alarmType; + + @ExcelProperty(value = "报警等级", order = 3) + private String alarmLevelName; + + @ExcelProperty(value = "报警原因", order = 4) + private String alarmContent; + + + @ExcelProperty(value = "安装位号", order = 5) + private String tagNumber; + + + @ExcelProperty(value = "详细位置", order = 6) + private String position; + + @ExcelProperty(value = "管理单位", order = 7) + private String deptName; + + + @ExcelProperty(value = "设备编号", order = 8) + private String devcode; + + + @ExcelProperty(value = "设备类型", order = 9) + private String devTypeName; + + + @ExcelProperty(value = "报警状态", order = 10) + private String processStatus; + + + @ExcelProperty(value = "报警时间", order = 11) + private Date alarmTime; + + private Long deptid; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java index 2662944..adf8970 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java @@ -131,4 +131,27 @@ @TableField(exist = false) private String latGaode; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + + @ApiModelProperty("管理单位id") + @TableField(exist = false) + private Long deptid; + + @ApiModelProperty("设备类型名称") + @TableField(exist = false) + private String devTypeName; + + @ApiModelProperty("报警等级名称") + private String alarmLevelName; + + @ApiModelProperty("解除时长") + @TableField(exist = false) + private String cancelDuration; + + @ApiModelProperty("报警类别") + @TableField(exist = false) + private String alarmCategory; + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java index f1e3986..dd3280e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java @@ -45,4 +45,7 @@ List> nodeDetail(Long alarmId); + List allList(AlarmRecordDTO request, DataScope dataScope); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index d5915a2..29ebc6f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -52,6 +53,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; + private final AbstractDictService abstractDictService; @Override @@ -61,6 +63,7 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setProcessStatusName(ApprovalStatusEnum.getValue(alarmRecords.getProcessStatus())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); }); return alarmRecordsPage; } @@ -94,6 +97,9 @@ List alarmRecordsList = alarmRecordsPage.getRecords(); alarmRecordsList.forEach(alarmRecords -> { alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是"); + alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration())); + alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid())); + alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory())); }); return alarmRecordsPage; } @@ -273,4 +279,20 @@ } return ""; } + + @Override + public List allList(AlarmRecordDTO request, DataScope dataScope) { + + List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId())); + + alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> { + alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus())); + alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid())); + alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory())); + }); + return alarmRecordExportDTOList; + } + + + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java index 90833a5..1134d67 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -1,8 +1,5 @@ package com.casic.missiles.modular.data.service; -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.data.entity.DataGas; - /** *

* 智能燃气监测终端上传数据表 服务类 @@ -11,7 +8,7 @@ * @author zt * @since 2024-07-16 */ -public interface IDataAbstractService extends IService { +public interface IDataAbstractService { void process(String dataContent); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 8ba17b0..2935f72 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataMonitorPipeOtherMapper; import com.casic.missiles.modular.data.entity.DataMonitorPipeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataMonitorPipeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,11 @@ * @since 2024-08-29 */ @Service -public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService { +public class DataMonitorPipeOtherServiceImpl extends ServiceImpl implements IDataMonitorPipeOtherService, IDataAbstractService { + + @Override + public void process(String dataContent) { + + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index 6fea36b..a50f92f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataTubeOtherMapper; import com.casic.missiles.modular.data.entity.DataTubeOther; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataTubeOtherService; import org.springframework.stereotype.Service; @@ -15,6 +16,10 @@ * @since 2024-08-29 */ @Service -public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService { +public class DataTubeOtherServiceImpl extends ServiceImpl implements IDataTubeOtherService, IDataAbstractService { + @Override + public void process(String dataContent) { + + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java index ad315ad..2803dfc 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusPipelineController.java @@ -2,14 +2,14 @@ import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.ObjectUtil; -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.base.service.IBaseExportService; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; @@ -20,6 +20,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.Objects; /** @@ -38,6 +39,8 @@ private final IBusPipelineService iBusPipelineService; + private final IBaseExportService iBaseExportService; + @ApiOperation("新增") @PostMapping("/add") @ResponseBody @@ -75,7 +78,19 @@ return ReturnUtil.success(iBusPipelineService.removeByIds(idsDTO.getIds())); } - //toDO:导入、导出 + @ApiOperation("导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(@RequestBody BusPipelineRequestDTO request, HttpServletResponse response) { + Page page = PageFactory.defaultPage(); + page.setSize(Integer.MAX_VALUE); + + page = iBusPipelineService.listPage(page, request); + try { + iBaseExportService.exportExcel(response, BusPipeline.class, page.getRecords(), ExportEnum.PIPE_LINE_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml index 3582d9d..09043c9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusPipelineMapper.xml @@ -19,7 +19,7 @@ - ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS + ID, PIPE_CODE, PIPE_DIAMETER, MATERIAL, CONSTRUCT_ERA, DEPTID,RESPONSIBLE_DEPT, POSITION, PRESS_TYPE, MANAGE_TYPE, START_LNG,START_LAT,END_LNG,END_LAT,TS @@ -58,9 +58,12 @@ and bp.DEPTID in (${deptStrs}) - ORDER BY bp.TS DESC - + + and bp.DEPTID = #{request.responsibleDeptId} + + + ORDER BY bp.TS DESC diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java index 2df1dd8..9ab8227 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusPipelineRequestDTO.java @@ -36,9 +36,12 @@ @ApiModelProperty("最大建设年代") private String constructEra2; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") private Long deptid; + @ApiModelProperty("产权单位") + private Long responsibleDeptId; + @ApiModelProperty("详细位置") private String position; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java index 8c3bede..81e3c06 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusPipeline.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.device.entity; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -32,26 +33,35 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; + @ExcelProperty(value = "管线编号", order = 1) @ApiModelProperty("管线编号") @TableField("PIPE_CODE") private String pipeCode; + @ExcelProperty(value = "管径(mm)", order = 5) @ApiModelProperty("管径(mm)") @TableField("PIPE_DIAMETER") private String pipeDiameter; + @ExcelProperty(value = "材质", order = 4) @ApiModelProperty("材质") @TableField("MATERIAL") private String material; + @ExcelProperty(value = "建设年代", order = 6) @ApiModelProperty("建设年代") @TableField("CONSTRUCT_ERA") private String constructEra; - @ApiModelProperty("权属单位") + @ApiModelProperty("管理单位") @TableField("DEPTID") private Long deptid; + @ApiModelProperty("产权单位") + @TableField("RESPONSIBLE_DEPT") + private Long responsibleDept; + + @ExcelProperty(value = "管线位置", order = 2) @ApiModelProperty("详细位置") @TableField("POSITION") private String position; @@ -64,21 +74,22 @@ @TableField("MANAGE_TYPE") private String manageType; + @ExcelProperty(value = "起点经度", order = 10) @ApiModelProperty("起始经度") @TableField("START_LNG") private String startLng; - + @ExcelProperty(value = "起点纬度", order = 11) @ApiModelProperty("起始纬度") @TableField("START_LAT") private String startLat; - + @ExcelProperty(value = "终点经度", order = 12) @ApiModelProperty("终止经度") @TableField("END_LNG") private String endLng; - + @ExcelProperty(value = "终点纬度", order = 13) @ApiModelProperty("终止纬度") @TableField("END_LAT") private String endLat; @@ -87,14 +98,26 @@ @TableField("TS") private Date ts; + @ExcelProperty(value = "管理方式", order = 9) @ApiModelProperty("管理方式名称") @TableField(exist = false) private String manageTypeName; + @ExcelProperty(value = "压力级制", order = 3) @ApiModelProperty("压力级制名称") @TableField(exist = false) private String pressTypeName; + @ExcelProperty(value = "管理单位", order = 8) + @ApiModelProperty("权属单位名称") + @TableField(exist = false) + private String deptName; + + @ExcelProperty(value = "产权单位", order = 7) + @ApiModelProperty("管理责任部门名称") + @TableField("exist = false") + private String responsibleDeptName; + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java index 3835ddb..2b324c7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusPipelineServiceImpl.java @@ -2,6 +2,7 @@ import cn.hutool.core.convert.Convert; 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.context.AbstractPermissionContext; @@ -12,6 +13,7 @@ import com.casic.missiles.modular.device.dto.BusPipelineRequestDTO; import com.casic.missiles.modular.device.entity.BusPipeline; import com.casic.missiles.modular.device.service.IBusPipelineService; +import com.casic.missiles.modular.system.model.Dept; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -51,6 +53,11 @@ busPipeline.setManageTypeName(abstractDictService.getDictNameByCode("manageType",busPipeline.getManageType())); busPipeline.setPressTypeName(abstractDictService.getDictNameByCode("wellType",busPipeline.getPressType())); + + busPipeline.setDeptName(getDeptNamesByDeptId(busPipeline.getDeptid())); + + busPipeline.setResponsibleDeptName(abstractDeptService.getDeptName(busPipeline.getResponsibleDept())); + }); return pipelinePage; @@ -66,4 +73,14 @@ } return ""; } + + public String getDeptNamesByDeptId(Long deptId) { + List deptIds = abstractDeptService.getParentListById(deptId); + deptIds.add(deptId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",deptIds); + List deptList = abstractDeptService.list(queryWrapper); + List nameList = deptList.stream().map(Dept::getFullName).collect(Collectors.toList()); + return String.join("/", nameList); + } } diff --git a/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java b/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java index f5fd84e..2fedb53 100644 --- a/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java +++ b/casic-public/src/main/java/com/casic/missiles/enums/DeviceTypeEnum.java @@ -2,37 +2,37 @@ public enum DeviceTypeEnum { - Well("井盖状态监测仪", 1,"data_wellcover",""), - Liquid("液位监测仪", 2,"data_liquid",""), - WasteGas("有害气体监测仪", 3,"data_harmful_gas",""), - Methane("燃气智能监测终端", 9,"data_gas","SELECT DEVCODE,STRENGTH,CELL,SNR,RSRP,PCI,UPTIME,LOGTIME FROM `data_gas`"), - TempHumi("温湿度监测仪", 5,"data_temp_hum",""), - Dig("开挖监测仪", 6,"data_dig",""), - WellLocator("井盖定位监测仪", 7,"data_wellcover_loca",""), - Noise("噪声记录仪", 8,"data_noise",""), - TempPressure("温度压力监测仪", 4,"data_temp_press",""), - FireHydrant("消防栓防盗水监测仪", 11,"data_hydrant",""), - Tube("管盯", 12,"data_tube",""), - LG("井盖液位一体机", 13,"data_wellplus",""), - H2s("硫化氢检测终端", 14,"data_h2s",""), - PRESS("压力监测终端", 15,"data_press",""), - KAD("点型可燃气体探测器", 16,"data_kad",""), - PANTILT("激光甲烷云台", 17,"data_pantilt",""), - PRESSURE("压力监测终端", 18,"data_pressure",""), - GasDector("点型可燃气体探测器", 19,"data_gas_dector",""); + Well("井盖状态监测仪", 1,"data_wellcover"), + Liquid("液位监测仪", 2,"data_liquid"), + TubeOther("管网哨兵", 3,"data_tube_other"), + Methane("燃气智能监测终端", 9,"data_gas"), + MonitorPipeOther("智能警示桩", 5,"data_monitor_pipe_other"), + Dig("开挖监测仪", 6,"data_dig"), + WellLocator("井盖定位监测仪", 7,"data_wellcover_loca"), + Noise("噪声记录仪", 8,"data_noise"), + TempPressure("温度压力监测仪", 4,"data_temp_press"), + FireHydrant("消防栓防盗水监测仪", 11,"data_hydrant"), + Tube("管盯", 12,"data_tube"), + LG("井盖液位一体机", 13,"data_wellplus"), + H2s("硫化氢检测终端", 14,"data_h2s"), + PRESS("压力监测终端", 15,"data_press"), + KAD("点型可燃气体探测器", 16,"data_kad"), + PANTILT("激光甲烷云台", 17,"data_pantilt"), + PRESSURE("压力监测终端", 18,"data_pressure"), + GasDector("点型可燃气体探测器", 19,"data_gas_dector"); // 成员变量 private String name; private int index; private String tableName; - private String sqlString; + // 构造方法 - private DeviceTypeEnum(String name, int index, String tableName, String sqlString) { + private DeviceTypeEnum(String name, int index, String tableName) { this.name = name; this.index = index; this.tableName = tableName; - this.sqlString = sqlString; + } @@ -73,13 +73,6 @@ this.tableName = tableName; } - public String getSqlString() { - return sqlString; - } - - public void setSqlString(String sqlString) { - this.sqlString = sqlString; - } //覆盖方法 @Override diff --git a/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java index 189faea..2e43beb 100644 --- a/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-public/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -10,6 +10,7 @@ DEVICE_EXPORT("deviceInfo", "deviceInfo", "设备信息"), LIFE_CYCLE_RECORD_EXPORT("lifeCycleRecord", "lifeCycleRecord", "全生命周期记录"), REPAIR_LOG_EXPORT("repairLog", "repairLog", "厂商运维记录"), + PIPE_LINE_EXPORT("pipeLine", "pipeLine", "管线基础信息"), BUSPATROL_LOG_EXPORT("BusPatrolLogResponse", "BusPatrolLogResponse", "巡检日志"); ExportEnum(String fileName, String sheetName, String description) { diff --git a/casic-public/src/main/java/com/casic/missiles/util/SpringContextUtil.java b/casic-public/src/main/java/com/casic/missiles/util/SpringContextUtil.java new file mode 100644 index 0000000..7f1b770 --- /dev/null +++ b/casic-public/src/main/java/com/casic/missiles/util/SpringContextUtil.java @@ -0,0 +1,102 @@ +package com.casic.missiles.util; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.BeanFactoryPostProcessor; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.beans.factory.support.AbstractBeanDefinition; +import org.springframework.beans.factory.support.BeanDefinitionBuilder; +import org.springframework.beans.factory.support.BeanDefinitionReaderUtils; +import org.springframework.beans.factory.support.BeanDefinitionRegistry; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Map; +import java.util.concurrent.ForkJoinPool; +import java.util.function.Function; + + +@Component +public class SpringContextUtil implements BeanFactoryPostProcessor, ApplicationContextAware { + /** + * Spring应用上下文环境 + */ + private static ApplicationContext applicationContext; + + private static ConfigurableListableBeanFactory beanFactory; + + /** + * 实现ApplicationContextAware接口的回调方法,设置上下文环境 + */ + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + SpringContextUtil.applicationContext = applicationContext; + } + + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { + SpringContextUtil.beanFactory = beanFactory; + } + + public static ApplicationContext getApplicationContext() { + return applicationContext; + } + +// public static Object getBean(String beanId) throws BeansException { +// return applicationContext.getBean(beanId); +// } + + public static T getBean(Class requiredType) { + return (T) applicationContext.getBean(requiredType); + } + + @SuppressWarnings("unchecked") + public static T getBean(String name) throws BeansException { + return (T) beanFactory.getBean(name); + } + + public static boolean containsBean(String name) { + return beanFactory.containsBean(name); + } + + public static T registerBean(String beanName, Class clazz, Function function) { + // 生成bean定义 + BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(clazz); + // 执行bean处理函数 + AbstractBeanDefinition beanDefinition = function.apply(beanDefinitionBuilder); + BeanDefinitionRegistry beanFactory = (BeanDefinitionRegistry) SpringContextUtil.beanFactory; + // 判断是否通过beanName注册 + if (StringUtils.isNotBlank(beanName) && !containsBean(beanName)) { + beanFactory.registerBeanDefinition(beanName, beanDefinition); + return getBean(beanName); + } else { + // 非命名bean注册 + String name = BeanDefinitionReaderUtils.registerWithGeneratedName(beanDefinition, beanFactory); + return getBean(name); + } + } + + public static T registerBean(String beanName, Class clazz, List args, Map property) { + return registerBean(beanName, clazz, beanDefinitionBuilder -> { + // 放入构造参数 + if (!CollectionUtils.isEmpty(args)) { + args.forEach(beanDefinitionBuilder::addConstructorArgValue); + } + // 放入属性 + if (!CollectionUtils.isEmpty(property)) { + property.forEach(beanDefinitionBuilder::addPropertyValue); + } + return beanDefinitionBuilder.getBeanDefinition(); + }); + } + + @Bean + public ForkJoinPool forkJoinPool() { + return new ForkJoinPool(100); + } + +} diff --git a/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java index da5c62d..f17db8f 100644 --- a/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java +++ b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java @@ -1,20 +1,18 @@ package com.casic.missiles.modular.sensorHub.controller; -import com.alibaba.fastjson.JSON; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; -import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.sensorHub.resolver.ResponseResolver; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; -import java.util.Map; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -28,7 +26,6 @@ public class ReceiveDataController { private final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(5, 10, 60, TimeUnit.SECONDS, new LinkedBlockingDeque<>(10)); - private final IDataAbstractService iDataAbstractService; @ApiOperation("接收设备数据入口") @PostMapping("/receiveData") @ResponseBody @@ -36,8 +33,7 @@ log.info(">>>>>>接收数<<<<<<:" + jsonData); threadPoolExecutor.execute( () -> { - ResponseResolver responseResolver = new ResponseResolver(); - responseResolver.makeResponse(jsonData); + ResponseResolver.makeResponse(jsonData); } ); return ReturnUtil.success(); diff --git a/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/resolver/ResponseResolver.java b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/resolver/ResponseResolver.java index ca85bf5..8e685a9 100644 --- a/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/resolver/ResponseResolver.java +++ b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/resolver/ResponseResolver.java @@ -4,40 +4,40 @@ import com.casic.missiles.enums.DeviceTypeEnum; import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.impl.DataGasServiceImpl; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; +import com.casic.missiles.modular.data.service.impl.DataMonitorPipeOtherServiceImpl; +import com.casic.missiles.modular.data.service.impl.DataTubeOtherServiceImpl; +import com.casic.missiles.util.SpringContextUtil; +import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Map; -@Service -@RequiredArgsConstructor +@Component public class ResponseResolver { + private static DataGasServiceImpl dataGasService = SpringContextUtil.getApplicationContext().getBean(DataGasServiceImpl.class); + private static DataTubeOtherServiceImpl dataTubeOtherService = SpringContextUtil.getApplicationContext().getBean(DataTubeOtherServiceImpl.class); + private static DataMonitorPipeOtherServiceImpl dataMonitorPipeOtherService = SpringContextUtil.getApplicationContext().getBean(DataMonitorPipeOtherServiceImpl.class); + private static Map abstractResponseHashMap = new HashMap(); - //todO:待优化 - private DataGasServiceImpl dataGasService; - - - private Map abstractResponseHashMap = new HashMap(); - - { + static { // abstractResponseHashMap.put(DeviceTypeEnum.Liquid.name(), new LiquidResponse()); // abstractResponseHashMap.put(DeviceTypeEnum.Well.name(), new WellResponse()); // abstractResponseHashMap.put(DeviceTypeEnum.Concentrator.name(), new ConcentratorResponse()); - abstractResponseHashMap.put(DeviceTypeEnum.Methane.name(), new DataGasServiceImpl()); + abstractResponseHashMap.put(DeviceTypeEnum.Methane.name(), dataGasService); + abstractResponseHashMap.put(DeviceTypeEnum.TubeOther.name(), dataTubeOtherService); + abstractResponseHashMap.put(DeviceTypeEnum.MonitorPipeOther.name(), dataMonitorPipeOtherService); } //event的具体处理 - public void makeResponse(String content) { -// JSONObject json = JSONObject.parseObject(content); -// if (null == json) return; -// IDataAbstractService response = abstractResponseHashMap.get(json.getString("devType")); - IDataAbstractService response = abstractResponseHashMap.get("Methane"); + public static void makeResponse(String content) { + JSONObject json = JSONObject.parseObject(content); + if (null == json) return; + IDataAbstractService response = abstractResponseHashMap.get(json.getString("devType")); response.process(content); }