diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java index c5ec280..df6bf48 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java @@ -65,7 +65,7 @@ return ReturnUtil.success(super.packForBT(messageLogPage)); } - @ApiOperation("弹窗参见报警分页列表(实时推送待开发)") + @ApiOperation("弹窗(实时推送待开发)") @PostMapping("/pop") @ResponseBody public ReturnDTO pop() { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java index c5ec280..df6bf48 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java @@ -65,7 +65,7 @@ return ReturnUtil.success(super.packForBT(messageLogPage)); } - @ApiOperation("弹窗参见报警分页列表(实时推送待开发)") + @ApiOperation("弹窗(实时推送待开发)") @PostMapping("/pop") @ResponseBody public ReturnDTO pop() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java index 16188fa..0f85586 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java @@ -1,12 +1,19 @@ package com.casic.missiles.modular.device.controller; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import com.casic.missiles.util.ReturnUtil; @@ -15,6 +22,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Objects; + @Api(tags = "闸井监测模块") @RequiredArgsConstructor @RestController @@ -40,4 +50,43 @@ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); return ReturnUtil.success(wellMonitorService.list(request, dataScope)); } + @ApiOperation("查看闸井监控数据") + @PostMapping("/watchDataByWell") + @ResponseBody + public ReturnDTO watchDataByWell(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.watchDataByWell(requestDTO)); + } + + @ApiOperation("全生命周期记录查询") + @PostMapping("/lifecycleRecord") + @ResponseBody + public ReturnDTO lifecycleRecord(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("全生命周期记录导出") + @PostMapping("/lifecycleRecordExp") + @ResponseBody + public ReturnDTO lifecycleRecordExp(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("监控设备维护记录") + @PostMapping("/repairLog") + @ResponseBody + public ReturnDTO repairLog(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.repairLog(requestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java index c5ec280..df6bf48 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java @@ -65,7 +65,7 @@ return ReturnUtil.success(super.packForBT(messageLogPage)); } - @ApiOperation("弹窗参见报警分页列表(实时推送待开发)") + @ApiOperation("弹窗(实时推送待开发)") @PostMapping("/pop") @ResponseBody public ReturnDTO pop() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java index 16188fa..0f85586 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java @@ -1,12 +1,19 @@ package com.casic.missiles.modular.device.controller; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import com.casic.missiles.util.ReturnUtil; @@ -15,6 +22,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Objects; + @Api(tags = "闸井监测模块") @RequiredArgsConstructor @RestController @@ -40,4 +50,43 @@ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); return ReturnUtil.success(wellMonitorService.list(request, dataScope)); } + @ApiOperation("查看闸井监控数据") + @PostMapping("/watchDataByWell") + @ResponseBody + public ReturnDTO watchDataByWell(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.watchDataByWell(requestDTO)); + } + + @ApiOperation("全生命周期记录查询") + @PostMapping("/lifecycleRecord") + @ResponseBody + public ReturnDTO lifecycleRecord(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("全生命周期记录导出") + @PostMapping("/lifecycleRecordExp") + @ResponseBody + public ReturnDTO lifecycleRecordExp(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("监控设备维护记录") + @PostMapping("/repairLog") + @ResponseBody + public ReturnDTO repairLog(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.repairLog(requestDTO)); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java index d5f7715..f52be19 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java @@ -4,11 +4,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; +import java.util.Map; /** *

@@ -20,7 +26,30 @@ */ @Mapper public interface BusWellMonitorMapper extends BaseMapper { - Page pageList(@Param("scope") DataScope dataScope, Page page, @Param("request") BusLedgerDTO request); + Page pageList(@Param("scope") DataScope dataScope, + Page page, + @Param("request") BusLedgerDTO request); - List list(@Param("scope") DataScope dataScope, @Param("request") BusLedgerDTO request); + List list(@Param("scope") DataScope dataScope, + @Param("request") BusLedgerDTO request); + + @Select("WITH device_tmp as (SELECT bd.devcode,bd.DEVICE_TYPE FROM bus_device bd where EXISTS (SELECT 1 from bus_device_ledger bl where bl.DEVICE_ID= bd.id and bl.LEDGER_ID=${ledgerId} and TYPE<3 and bl.VALID=1)) \n" + + "\t\n" + + "\tSELECT device.devcode ,\n" + + "\tdevice.DEVICE_TYPE as devTypeId,sd.TYPE_NAME as devTypeName FROM device_tmp device LEFT JOIN base_device_type sd on sd.ID= device.DEVICE_TYPE") + List getDeviceList(@Param("ledgerId") Long ledgerId); + + List> getWatchData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("orderColumn") String orderColumn, + @Param("request") DeviceMonitorRequestDTO request, + @Param("wellCode") String wellCode); + + List repairLog(@Param("wellNumber") String wellNumber); + + List lifecycleRecord(@Param("wellCode") String wellCode, + @Param("request") DeviceMonitorRequestDTO request); + + @Select("SELECT at.ID,at.ALARM_TYPE FROM `alarm_type` at ") + List> alarmType(); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java index c5ec280..df6bf48 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java @@ -65,7 +65,7 @@ return ReturnUtil.success(super.packForBT(messageLogPage)); } - @ApiOperation("弹窗参见报警分页列表(实时推送待开发)") + @ApiOperation("弹窗(实时推送待开发)") @PostMapping("/pop") @ResponseBody public ReturnDTO pop() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java index 16188fa..0f85586 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java @@ -1,12 +1,19 @@ package com.casic.missiles.modular.device.controller; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import com.casic.missiles.util.ReturnUtil; @@ -15,6 +22,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Objects; + @Api(tags = "闸井监测模块") @RequiredArgsConstructor @RestController @@ -40,4 +50,43 @@ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); return ReturnUtil.success(wellMonitorService.list(request, dataScope)); } + @ApiOperation("查看闸井监控数据") + @PostMapping("/watchDataByWell") + @ResponseBody + public ReturnDTO watchDataByWell(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.watchDataByWell(requestDTO)); + } + + @ApiOperation("全生命周期记录查询") + @PostMapping("/lifecycleRecord") + @ResponseBody + public ReturnDTO lifecycleRecord(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("全生命周期记录导出") + @PostMapping("/lifecycleRecordExp") + @ResponseBody + public ReturnDTO lifecycleRecordExp(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("监控设备维护记录") + @PostMapping("/repairLog") + @ResponseBody + public ReturnDTO repairLog(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.repairLog(requestDTO)); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java index d5f7715..f52be19 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java @@ -4,11 +4,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; +import java.util.Map; /** *

@@ -20,7 +26,30 @@ */ @Mapper public interface BusWellMonitorMapper extends BaseMapper { - Page pageList(@Param("scope") DataScope dataScope, Page page, @Param("request") BusLedgerDTO request); + Page pageList(@Param("scope") DataScope dataScope, + Page page, + @Param("request") BusLedgerDTO request); - List list(@Param("scope") DataScope dataScope, @Param("request") BusLedgerDTO request); + List list(@Param("scope") DataScope dataScope, + @Param("request") BusLedgerDTO request); + + @Select("WITH device_tmp as (SELECT bd.devcode,bd.DEVICE_TYPE FROM bus_device bd where EXISTS (SELECT 1 from bus_device_ledger bl where bl.DEVICE_ID= bd.id and bl.LEDGER_ID=${ledgerId} and TYPE<3 and bl.VALID=1)) \n" + + "\t\n" + + "\tSELECT device.devcode ,\n" + + "\tdevice.DEVICE_TYPE as devTypeId,sd.TYPE_NAME as devTypeName FROM device_tmp device LEFT JOIN base_device_type sd on sd.ID= device.DEVICE_TYPE") + List getDeviceList(@Param("ledgerId") Long ledgerId); + + List> getWatchData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("orderColumn") String orderColumn, + @Param("request") DeviceMonitorRequestDTO request, + @Param("wellCode") String wellCode); + + List repairLog(@Param("wellNumber") String wellNumber); + + List lifecycleRecord(@Param("wellCode") String wellCode, + @Param("request") DeviceMonitorRequestDTO request); + + @Select("SELECT at.ID,at.ALARM_TYPE FROM `alarm_type` at ") + List> alarmType(); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml index 54a4b0a..606a6af 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -96,7 +96,6 @@ bt.IS_USED =1 - + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java index c5ec280..df6bf48 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java @@ -65,7 +65,7 @@ return ReturnUtil.success(super.packForBT(messageLogPage)); } - @ApiOperation("弹窗参见报警分页列表(实时推送待开发)") + @ApiOperation("弹窗(实时推送待开发)") @PostMapping("/pop") @ResponseBody public ReturnDTO pop() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java index 16188fa..0f85586 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java @@ -1,12 +1,19 @@ package com.casic.missiles.modular.device.controller; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import com.casic.missiles.util.ReturnUtil; @@ -15,6 +22,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Objects; + @Api(tags = "闸井监测模块") @RequiredArgsConstructor @RestController @@ -40,4 +50,43 @@ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); return ReturnUtil.success(wellMonitorService.list(request, dataScope)); } + @ApiOperation("查看闸井监控数据") + @PostMapping("/watchDataByWell") + @ResponseBody + public ReturnDTO watchDataByWell(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.watchDataByWell(requestDTO)); + } + + @ApiOperation("全生命周期记录查询") + @PostMapping("/lifecycleRecord") + @ResponseBody + public ReturnDTO lifecycleRecord(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("全生命周期记录导出") + @PostMapping("/lifecycleRecordExp") + @ResponseBody + public ReturnDTO lifecycleRecordExp(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("监控设备维护记录") + @PostMapping("/repairLog") + @ResponseBody + public ReturnDTO repairLog(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.repairLog(requestDTO)); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java index d5f7715..f52be19 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java @@ -4,11 +4,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; +import java.util.Map; /** *

@@ -20,7 +26,30 @@ */ @Mapper public interface BusWellMonitorMapper extends BaseMapper { - Page pageList(@Param("scope") DataScope dataScope, Page page, @Param("request") BusLedgerDTO request); + Page pageList(@Param("scope") DataScope dataScope, + Page page, + @Param("request") BusLedgerDTO request); - List list(@Param("scope") DataScope dataScope, @Param("request") BusLedgerDTO request); + List list(@Param("scope") DataScope dataScope, + @Param("request") BusLedgerDTO request); + + @Select("WITH device_tmp as (SELECT bd.devcode,bd.DEVICE_TYPE FROM bus_device bd where EXISTS (SELECT 1 from bus_device_ledger bl where bl.DEVICE_ID= bd.id and bl.LEDGER_ID=${ledgerId} and TYPE<3 and bl.VALID=1)) \n" + + "\t\n" + + "\tSELECT device.devcode ,\n" + + "\tdevice.DEVICE_TYPE as devTypeId,sd.TYPE_NAME as devTypeName FROM device_tmp device LEFT JOIN base_device_type sd on sd.ID= device.DEVICE_TYPE") + List getDeviceList(@Param("ledgerId") Long ledgerId); + + List> getWatchData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("orderColumn") String orderColumn, + @Param("request") DeviceMonitorRequestDTO request, + @Param("wellCode") String wellCode); + + List repairLog(@Param("wellNumber") String wellNumber); + + List lifecycleRecord(@Param("wellCode") String wellCode, + @Param("request") DeviceMonitorRequestDTO request); + + @Select("SELECT at.ID,at.ALARM_TYPE FROM `alarm_type` at ") + List> alarmType(); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml index 54a4b0a..606a6af 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -96,7 +96,6 @@ bt.IS_USED =1 - + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml index 252bc86..7263d6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml @@ -38,15 +38,41 @@ + + + + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java index c5ec280..df6bf48 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java @@ -65,7 +65,7 @@ return ReturnUtil.success(super.packForBT(messageLogPage)); } - @ApiOperation("弹窗参见报警分页列表(实时推送待开发)") + @ApiOperation("弹窗(实时推送待开发)") @PostMapping("/pop") @ResponseBody public ReturnDTO pop() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java index 16188fa..0f85586 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java @@ -1,12 +1,19 @@ package com.casic.missiles.modular.device.controller; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import com.casic.missiles.util.ReturnUtil; @@ -15,6 +22,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Objects; + @Api(tags = "闸井监测模块") @RequiredArgsConstructor @RestController @@ -40,4 +50,43 @@ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); return ReturnUtil.success(wellMonitorService.list(request, dataScope)); } + @ApiOperation("查看闸井监控数据") + @PostMapping("/watchDataByWell") + @ResponseBody + public ReturnDTO watchDataByWell(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.watchDataByWell(requestDTO)); + } + + @ApiOperation("全生命周期记录查询") + @PostMapping("/lifecycleRecord") + @ResponseBody + public ReturnDTO lifecycleRecord(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("全生命周期记录导出") + @PostMapping("/lifecycleRecordExp") + @ResponseBody + public ReturnDTO lifecycleRecordExp(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("监控设备维护记录") + @PostMapping("/repairLog") + @ResponseBody + public ReturnDTO repairLog(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.repairLog(requestDTO)); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java index d5f7715..f52be19 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java @@ -4,11 +4,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; +import java.util.Map; /** *

@@ -20,7 +26,30 @@ */ @Mapper public interface BusWellMonitorMapper extends BaseMapper { - Page pageList(@Param("scope") DataScope dataScope, Page page, @Param("request") BusLedgerDTO request); + Page pageList(@Param("scope") DataScope dataScope, + Page page, + @Param("request") BusLedgerDTO request); - List list(@Param("scope") DataScope dataScope, @Param("request") BusLedgerDTO request); + List list(@Param("scope") DataScope dataScope, + @Param("request") BusLedgerDTO request); + + @Select("WITH device_tmp as (SELECT bd.devcode,bd.DEVICE_TYPE FROM bus_device bd where EXISTS (SELECT 1 from bus_device_ledger bl where bl.DEVICE_ID= bd.id and bl.LEDGER_ID=${ledgerId} and TYPE<3 and bl.VALID=1)) \n" + + "\t\n" + + "\tSELECT device.devcode ,\n" + + "\tdevice.DEVICE_TYPE as devTypeId,sd.TYPE_NAME as devTypeName FROM device_tmp device LEFT JOIN base_device_type sd on sd.ID= device.DEVICE_TYPE") + List getDeviceList(@Param("ledgerId") Long ledgerId); + + List> getWatchData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("orderColumn") String orderColumn, + @Param("request") DeviceMonitorRequestDTO request, + @Param("wellCode") String wellCode); + + List repairLog(@Param("wellNumber") String wellNumber); + + List lifecycleRecord(@Param("wellCode") String wellCode, + @Param("request") DeviceMonitorRequestDTO request); + + @Select("SELECT at.ID,at.ALARM_TYPE FROM `alarm_type` at ") + List> alarmType(); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml index 54a4b0a..606a6af 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -96,7 +96,6 @@ bt.IS_USED =1 - + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml index 252bc86..7263d6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml @@ -38,15 +38,41 @@ + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java new file mode 100644 index 0000000..1f1123f --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java index c5ec280..df6bf48 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java @@ -65,7 +65,7 @@ return ReturnUtil.success(super.packForBT(messageLogPage)); } - @ApiOperation("弹窗参见报警分页列表(实时推送待开发)") + @ApiOperation("弹窗(实时推送待开发)") @PostMapping("/pop") @ResponseBody public ReturnDTO pop() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java index 16188fa..0f85586 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java @@ -1,12 +1,19 @@ package com.casic.missiles.modular.device.controller; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import com.casic.missiles.util.ReturnUtil; @@ -15,6 +22,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Objects; + @Api(tags = "闸井监测模块") @RequiredArgsConstructor @RestController @@ -40,4 +50,43 @@ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); return ReturnUtil.success(wellMonitorService.list(request, dataScope)); } + @ApiOperation("查看闸井监控数据") + @PostMapping("/watchDataByWell") + @ResponseBody + public ReturnDTO watchDataByWell(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.watchDataByWell(requestDTO)); + } + + @ApiOperation("全生命周期记录查询") + @PostMapping("/lifecycleRecord") + @ResponseBody + public ReturnDTO lifecycleRecord(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("全生命周期记录导出") + @PostMapping("/lifecycleRecordExp") + @ResponseBody + public ReturnDTO lifecycleRecordExp(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("监控设备维护记录") + @PostMapping("/repairLog") + @ResponseBody + public ReturnDTO repairLog(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.repairLog(requestDTO)); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java index d5f7715..f52be19 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java @@ -4,11 +4,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; +import java.util.Map; /** *

@@ -20,7 +26,30 @@ */ @Mapper public interface BusWellMonitorMapper extends BaseMapper { - Page pageList(@Param("scope") DataScope dataScope, Page page, @Param("request") BusLedgerDTO request); + Page pageList(@Param("scope") DataScope dataScope, + Page page, + @Param("request") BusLedgerDTO request); - List list(@Param("scope") DataScope dataScope, @Param("request") BusLedgerDTO request); + List list(@Param("scope") DataScope dataScope, + @Param("request") BusLedgerDTO request); + + @Select("WITH device_tmp as (SELECT bd.devcode,bd.DEVICE_TYPE FROM bus_device bd where EXISTS (SELECT 1 from bus_device_ledger bl where bl.DEVICE_ID= bd.id and bl.LEDGER_ID=${ledgerId} and TYPE<3 and bl.VALID=1)) \n" + + "\t\n" + + "\tSELECT device.devcode ,\n" + + "\tdevice.DEVICE_TYPE as devTypeId,sd.TYPE_NAME as devTypeName FROM device_tmp device LEFT JOIN base_device_type sd on sd.ID= device.DEVICE_TYPE") + List getDeviceList(@Param("ledgerId") Long ledgerId); + + List> getWatchData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("orderColumn") String orderColumn, + @Param("request") DeviceMonitorRequestDTO request, + @Param("wellCode") String wellCode); + + List repairLog(@Param("wellNumber") String wellNumber); + + List lifecycleRecord(@Param("wellCode") String wellCode, + @Param("request") DeviceMonitorRequestDTO request); + + @Select("SELECT at.ID,at.ALARM_TYPE FROM `alarm_type` at ") + List> alarmType(); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml index 54a4b0a..606a6af 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -96,7 +96,6 @@ bt.IS_USED =1 - + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml index 252bc86..7263d6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml @@ -38,15 +38,41 @@ + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java new file mode 100644 index 0000000..1f1123f --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java new file mode 100644 index 0000000..dfab13d --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorRequestDTO { + + @ApiModelProperty("闸井id") + private Long wellId; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java index c5ec280..df6bf48 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java @@ -65,7 +65,7 @@ return ReturnUtil.success(super.packForBT(messageLogPage)); } - @ApiOperation("弹窗参见报警分页列表(实时推送待开发)") + @ApiOperation("弹窗(实时推送待开发)") @PostMapping("/pop") @ResponseBody public ReturnDTO pop() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java index 16188fa..0f85586 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java @@ -1,12 +1,19 @@ package com.casic.missiles.modular.device.controller; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import com.casic.missiles.util.ReturnUtil; @@ -15,6 +22,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Objects; + @Api(tags = "闸井监测模块") @RequiredArgsConstructor @RestController @@ -40,4 +50,43 @@ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); return ReturnUtil.success(wellMonitorService.list(request, dataScope)); } + @ApiOperation("查看闸井监控数据") + @PostMapping("/watchDataByWell") + @ResponseBody + public ReturnDTO watchDataByWell(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.watchDataByWell(requestDTO)); + } + + @ApiOperation("全生命周期记录查询") + @PostMapping("/lifecycleRecord") + @ResponseBody + public ReturnDTO lifecycleRecord(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("全生命周期记录导出") + @PostMapping("/lifecycleRecordExp") + @ResponseBody + public ReturnDTO lifecycleRecordExp(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("监控设备维护记录") + @PostMapping("/repairLog") + @ResponseBody + public ReturnDTO repairLog(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.repairLog(requestDTO)); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java index d5f7715..f52be19 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java @@ -4,11 +4,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; +import java.util.Map; /** *

@@ -20,7 +26,30 @@ */ @Mapper public interface BusWellMonitorMapper extends BaseMapper { - Page pageList(@Param("scope") DataScope dataScope, Page page, @Param("request") BusLedgerDTO request); + Page pageList(@Param("scope") DataScope dataScope, + Page page, + @Param("request") BusLedgerDTO request); - List list(@Param("scope") DataScope dataScope, @Param("request") BusLedgerDTO request); + List list(@Param("scope") DataScope dataScope, + @Param("request") BusLedgerDTO request); + + @Select("WITH device_tmp as (SELECT bd.devcode,bd.DEVICE_TYPE FROM bus_device bd where EXISTS (SELECT 1 from bus_device_ledger bl where bl.DEVICE_ID= bd.id and bl.LEDGER_ID=${ledgerId} and TYPE<3 and bl.VALID=1)) \n" + + "\t\n" + + "\tSELECT device.devcode ,\n" + + "\tdevice.DEVICE_TYPE as devTypeId,sd.TYPE_NAME as devTypeName FROM device_tmp device LEFT JOIN base_device_type sd on sd.ID= device.DEVICE_TYPE") + List getDeviceList(@Param("ledgerId") Long ledgerId); + + List> getWatchData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("orderColumn") String orderColumn, + @Param("request") DeviceMonitorRequestDTO request, + @Param("wellCode") String wellCode); + + List repairLog(@Param("wellNumber") String wellNumber); + + List lifecycleRecord(@Param("wellCode") String wellCode, + @Param("request") DeviceMonitorRequestDTO request); + + @Select("SELECT at.ID,at.ALARM_TYPE FROM `alarm_type` at ") + List> alarmType(); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml index 54a4b0a..606a6af 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -96,7 +96,6 @@ bt.IS_USED =1 - + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml index 252bc86..7263d6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml @@ -38,15 +38,41 @@ + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java new file mode 100644 index 0000000..1f1123f --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java new file mode 100644 index 0000000..dfab13d --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorRequestDTO { + + @ApiModelProperty("闸井id") + private Long wellId; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java new file mode 100644 index 0000000..1facbf8 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class LifeCycleRecordDTO { + + @ApiModelProperty("报警时间") + private Date alarmTime; + @ApiModelProperty("报警类型") + private String alarmType; + @ApiModelProperty("报警等级") + private String alarmLevel; + @ApiModelProperty("报警原因") + private String alarmContent; + @ApiModelProperty("是否误报") + private String realAlarm; + @ApiModelProperty("报警解除时间") + private String cancelTime; + @ApiModelProperty("处置时长") + private String processDuration; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java index c5ec280..df6bf48 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java @@ -65,7 +65,7 @@ return ReturnUtil.success(super.packForBT(messageLogPage)); } - @ApiOperation("弹窗参见报警分页列表(实时推送待开发)") + @ApiOperation("弹窗(实时推送待开发)") @PostMapping("/pop") @ResponseBody public ReturnDTO pop() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java index 16188fa..0f85586 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java @@ -1,12 +1,19 @@ package com.casic.missiles.modular.device.controller; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import com.casic.missiles.util.ReturnUtil; @@ -15,6 +22,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Objects; + @Api(tags = "闸井监测模块") @RequiredArgsConstructor @RestController @@ -40,4 +50,43 @@ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); return ReturnUtil.success(wellMonitorService.list(request, dataScope)); } + @ApiOperation("查看闸井监控数据") + @PostMapping("/watchDataByWell") + @ResponseBody + public ReturnDTO watchDataByWell(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.watchDataByWell(requestDTO)); + } + + @ApiOperation("全生命周期记录查询") + @PostMapping("/lifecycleRecord") + @ResponseBody + public ReturnDTO lifecycleRecord(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("全生命周期记录导出") + @PostMapping("/lifecycleRecordExp") + @ResponseBody + public ReturnDTO lifecycleRecordExp(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("监控设备维护记录") + @PostMapping("/repairLog") + @ResponseBody + public ReturnDTO repairLog(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.repairLog(requestDTO)); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java index d5f7715..f52be19 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java @@ -4,11 +4,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; +import java.util.Map; /** *

@@ -20,7 +26,30 @@ */ @Mapper public interface BusWellMonitorMapper extends BaseMapper { - Page pageList(@Param("scope") DataScope dataScope, Page page, @Param("request") BusLedgerDTO request); + Page pageList(@Param("scope") DataScope dataScope, + Page page, + @Param("request") BusLedgerDTO request); - List list(@Param("scope") DataScope dataScope, @Param("request") BusLedgerDTO request); + List list(@Param("scope") DataScope dataScope, + @Param("request") BusLedgerDTO request); + + @Select("WITH device_tmp as (SELECT bd.devcode,bd.DEVICE_TYPE FROM bus_device bd where EXISTS (SELECT 1 from bus_device_ledger bl where bl.DEVICE_ID= bd.id and bl.LEDGER_ID=${ledgerId} and TYPE<3 and bl.VALID=1)) \n" + + "\t\n" + + "\tSELECT device.devcode ,\n" + + "\tdevice.DEVICE_TYPE as devTypeId,sd.TYPE_NAME as devTypeName FROM device_tmp device LEFT JOIN base_device_type sd on sd.ID= device.DEVICE_TYPE") + List getDeviceList(@Param("ledgerId") Long ledgerId); + + List> getWatchData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("orderColumn") String orderColumn, + @Param("request") DeviceMonitorRequestDTO request, + @Param("wellCode") String wellCode); + + List repairLog(@Param("wellNumber") String wellNumber); + + List lifecycleRecord(@Param("wellCode") String wellCode, + @Param("request") DeviceMonitorRequestDTO request); + + @Select("SELECT at.ID,at.ALARM_TYPE FROM `alarm_type` at ") + List> alarmType(); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml index 54a4b0a..606a6af 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -96,7 +96,6 @@ bt.IS_USED =1 - + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml index 252bc86..7263d6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml @@ -38,15 +38,41 @@ + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java new file mode 100644 index 0000000..1f1123f --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java new file mode 100644 index 0000000..dfab13d --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorRequestDTO { + + @ApiModelProperty("闸井id") + private Long wellId; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java new file mode 100644 index 0000000..1facbf8 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class LifeCycleRecordDTO { + + @ApiModelProperty("报警时间") + private Date alarmTime; + @ApiModelProperty("报警类型") + private String alarmType; + @ApiModelProperty("报警等级") + private String alarmLevel; + @ApiModelProperty("报警原因") + private String alarmContent; + @ApiModelProperty("是否误报") + private String realAlarm; + @ApiModelProperty("报警解除时间") + private String cancelTime; + @ApiModelProperty("处置时长") + private String processDuration; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java index e2ff251..8b219a0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java @@ -57,6 +57,23 @@ @TableField("OPERATE_TIME") private Date operateTime; + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + + @ApiModelProperty("设备类型") + @TableField(exist = false) + private String typeName; + + @ApiModelProperty("设备型号") + @TableField(exist = false) + private String deviceModel; + + @ApiModelProperty("厂商") + @TableField(exist = false) + private String manufactureName; + + public BusDeviceLog() { } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java index c5ec280..df6bf48 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java @@ -65,7 +65,7 @@ return ReturnUtil.success(super.packForBT(messageLogPage)); } - @ApiOperation("弹窗参见报警分页列表(实时推送待开发)") + @ApiOperation("弹窗(实时推送待开发)") @PostMapping("/pop") @ResponseBody public ReturnDTO pop() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java index 16188fa..0f85586 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java @@ -1,12 +1,19 @@ package com.casic.missiles.modular.device.controller; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import com.casic.missiles.util.ReturnUtil; @@ -15,6 +22,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Objects; + @Api(tags = "闸井监测模块") @RequiredArgsConstructor @RestController @@ -40,4 +50,43 @@ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); return ReturnUtil.success(wellMonitorService.list(request, dataScope)); } + @ApiOperation("查看闸井监控数据") + @PostMapping("/watchDataByWell") + @ResponseBody + public ReturnDTO watchDataByWell(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.watchDataByWell(requestDTO)); + } + + @ApiOperation("全生命周期记录查询") + @PostMapping("/lifecycleRecord") + @ResponseBody + public ReturnDTO lifecycleRecord(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("全生命周期记录导出") + @PostMapping("/lifecycleRecordExp") + @ResponseBody + public ReturnDTO lifecycleRecordExp(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("监控设备维护记录") + @PostMapping("/repairLog") + @ResponseBody + public ReturnDTO repairLog(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.repairLog(requestDTO)); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java index d5f7715..f52be19 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java @@ -4,11 +4,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; +import java.util.Map; /** *

@@ -20,7 +26,30 @@ */ @Mapper public interface BusWellMonitorMapper extends BaseMapper { - Page pageList(@Param("scope") DataScope dataScope, Page page, @Param("request") BusLedgerDTO request); + Page pageList(@Param("scope") DataScope dataScope, + Page page, + @Param("request") BusLedgerDTO request); - List list(@Param("scope") DataScope dataScope, @Param("request") BusLedgerDTO request); + List list(@Param("scope") DataScope dataScope, + @Param("request") BusLedgerDTO request); + + @Select("WITH device_tmp as (SELECT bd.devcode,bd.DEVICE_TYPE FROM bus_device bd where EXISTS (SELECT 1 from bus_device_ledger bl where bl.DEVICE_ID= bd.id and bl.LEDGER_ID=${ledgerId} and TYPE<3 and bl.VALID=1)) \n" + + "\t\n" + + "\tSELECT device.devcode ,\n" + + "\tdevice.DEVICE_TYPE as devTypeId,sd.TYPE_NAME as devTypeName FROM device_tmp device LEFT JOIN base_device_type sd on sd.ID= device.DEVICE_TYPE") + List getDeviceList(@Param("ledgerId") Long ledgerId); + + List> getWatchData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("orderColumn") String orderColumn, + @Param("request") DeviceMonitorRequestDTO request, + @Param("wellCode") String wellCode); + + List repairLog(@Param("wellNumber") String wellNumber); + + List lifecycleRecord(@Param("wellCode") String wellCode, + @Param("request") DeviceMonitorRequestDTO request); + + @Select("SELECT at.ID,at.ALARM_TYPE FROM `alarm_type` at ") + List> alarmType(); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml index 54a4b0a..606a6af 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -96,7 +96,6 @@ bt.IS_USED =1 - + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml index 252bc86..7263d6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml @@ -38,15 +38,41 @@ + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java new file mode 100644 index 0000000..1f1123f --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java new file mode 100644 index 0000000..dfab13d --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorRequestDTO { + + @ApiModelProperty("闸井id") + private Long wellId; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java new file mode 100644 index 0000000..1facbf8 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class LifeCycleRecordDTO { + + @ApiModelProperty("报警时间") + private Date alarmTime; + @ApiModelProperty("报警类型") + private String alarmType; + @ApiModelProperty("报警等级") + private String alarmLevel; + @ApiModelProperty("报警原因") + private String alarmContent; + @ApiModelProperty("是否误报") + private String realAlarm; + @ApiModelProperty("报警解除时间") + private String cancelTime; + @ApiModelProperty("处置时长") + private String processDuration; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java index e2ff251..8b219a0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java @@ -57,6 +57,23 @@ @TableField("OPERATE_TIME") private Date operateTime; + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + + @ApiModelProperty("设备类型") + @TableField(exist = false) + private String typeName; + + @ApiModelProperty("设备型号") + @TableField(exist = false) + private String deviceModel; + + @ApiModelProperty("厂商") + @TableField(exist = false) + private String manufactureName; + + public BusDeviceLog() { } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java index 4b8fa45..7e490e7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java @@ -162,6 +162,6 @@ @ApiModelProperty("感知设备数量") @TableField(exist = false) - private Long deviceCount; + private String deviceCount; } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java index c5ec280..df6bf48 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java @@ -65,7 +65,7 @@ return ReturnUtil.success(super.packForBT(messageLogPage)); } - @ApiOperation("弹窗参见报警分页列表(实时推送待开发)") + @ApiOperation("弹窗(实时推送待开发)") @PostMapping("/pop") @ResponseBody public ReturnDTO pop() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java index 16188fa..0f85586 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java @@ -1,12 +1,19 @@ package com.casic.missiles.modular.device.controller; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import com.casic.missiles.util.ReturnUtil; @@ -15,6 +22,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Objects; + @Api(tags = "闸井监测模块") @RequiredArgsConstructor @RestController @@ -40,4 +50,43 @@ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); return ReturnUtil.success(wellMonitorService.list(request, dataScope)); } + @ApiOperation("查看闸井监控数据") + @PostMapping("/watchDataByWell") + @ResponseBody + public ReturnDTO watchDataByWell(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.watchDataByWell(requestDTO)); + } + + @ApiOperation("全生命周期记录查询") + @PostMapping("/lifecycleRecord") + @ResponseBody + public ReturnDTO lifecycleRecord(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("全生命周期记录导出") + @PostMapping("/lifecycleRecordExp") + @ResponseBody + public ReturnDTO lifecycleRecordExp(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("监控设备维护记录") + @PostMapping("/repairLog") + @ResponseBody + public ReturnDTO repairLog(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.repairLog(requestDTO)); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java index d5f7715..f52be19 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java @@ -4,11 +4,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; +import java.util.Map; /** *

@@ -20,7 +26,30 @@ */ @Mapper public interface BusWellMonitorMapper extends BaseMapper { - Page pageList(@Param("scope") DataScope dataScope, Page page, @Param("request") BusLedgerDTO request); + Page pageList(@Param("scope") DataScope dataScope, + Page page, + @Param("request") BusLedgerDTO request); - List list(@Param("scope") DataScope dataScope, @Param("request") BusLedgerDTO request); + List list(@Param("scope") DataScope dataScope, + @Param("request") BusLedgerDTO request); + + @Select("WITH device_tmp as (SELECT bd.devcode,bd.DEVICE_TYPE FROM bus_device bd where EXISTS (SELECT 1 from bus_device_ledger bl where bl.DEVICE_ID= bd.id and bl.LEDGER_ID=${ledgerId} and TYPE<3 and bl.VALID=1)) \n" + + "\t\n" + + "\tSELECT device.devcode ,\n" + + "\tdevice.DEVICE_TYPE as devTypeId,sd.TYPE_NAME as devTypeName FROM device_tmp device LEFT JOIN base_device_type sd on sd.ID= device.DEVICE_TYPE") + List getDeviceList(@Param("ledgerId") Long ledgerId); + + List> getWatchData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("orderColumn") String orderColumn, + @Param("request") DeviceMonitorRequestDTO request, + @Param("wellCode") String wellCode); + + List repairLog(@Param("wellNumber") String wellNumber); + + List lifecycleRecord(@Param("wellCode") String wellCode, + @Param("request") DeviceMonitorRequestDTO request); + + @Select("SELECT at.ID,at.ALARM_TYPE FROM `alarm_type` at ") + List> alarmType(); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml index 54a4b0a..606a6af 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -96,7 +96,6 @@ bt.IS_USED =1 - + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml index 252bc86..7263d6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml @@ -38,15 +38,41 @@ + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java new file mode 100644 index 0000000..1f1123f --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java new file mode 100644 index 0000000..dfab13d --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorRequestDTO { + + @ApiModelProperty("闸井id") + private Long wellId; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java new file mode 100644 index 0000000..1facbf8 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class LifeCycleRecordDTO { + + @ApiModelProperty("报警时间") + private Date alarmTime; + @ApiModelProperty("报警类型") + private String alarmType; + @ApiModelProperty("报警等级") + private String alarmLevel; + @ApiModelProperty("报警原因") + private String alarmContent; + @ApiModelProperty("是否误报") + private String realAlarm; + @ApiModelProperty("报警解除时间") + private String cancelTime; + @ApiModelProperty("处置时长") + private String processDuration; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java index e2ff251..8b219a0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java @@ -57,6 +57,23 @@ @TableField("OPERATE_TIME") private Date operateTime; + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + + @ApiModelProperty("设备类型") + @TableField(exist = false) + private String typeName; + + @ApiModelProperty("设备型号") + @TableField(exist = false) + private String deviceModel; + + @ApiModelProperty("厂商") + @TableField(exist = false) + private String manufactureName; + + public BusDeviceLog() { } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java index 4b8fa45..7e490e7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java @@ -162,6 +162,6 @@ @ApiModelProperty("感知设备数量") @TableField(exist = false) - private Long deviceCount; + private String deviceCount; } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java index 4b60203..b5d4abd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java @@ -4,9 +4,13 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import java.util.List; +import java.util.Map; /** *

@@ -21,4 +25,10 @@ Page pageList(Page page, BusLedgerDTO request, DataScope dataScope); List list(BusLedgerDTO request, DataScope dataScope); + + Map>> watchDataByWell(DeviceMonitorRequestDTO requestDTO); + + List lifecycleRecord(DeviceMonitorRequestDTO requestDTO); + + List repairLog(DeviceMonitorRequestDTO requestDTO); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java index c5ec280..df6bf48 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java @@ -65,7 +65,7 @@ return ReturnUtil.success(super.packForBT(messageLogPage)); } - @ApiOperation("弹窗参见报警分页列表(实时推送待开发)") + @ApiOperation("弹窗(实时推送待开发)") @PostMapping("/pop") @ResponseBody public ReturnDTO pop() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java index 16188fa..0f85586 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java @@ -1,12 +1,19 @@ package com.casic.missiles.modular.device.controller; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import com.casic.missiles.util.ReturnUtil; @@ -15,6 +22,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Objects; + @Api(tags = "闸井监测模块") @RequiredArgsConstructor @RestController @@ -40,4 +50,43 @@ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); return ReturnUtil.success(wellMonitorService.list(request, dataScope)); } + @ApiOperation("查看闸井监控数据") + @PostMapping("/watchDataByWell") + @ResponseBody + public ReturnDTO watchDataByWell(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.watchDataByWell(requestDTO)); + } + + @ApiOperation("全生命周期记录查询") + @PostMapping("/lifecycleRecord") + @ResponseBody + public ReturnDTO lifecycleRecord(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("全生命周期记录导出") + @PostMapping("/lifecycleRecordExp") + @ResponseBody + public ReturnDTO lifecycleRecordExp(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("监控设备维护记录") + @PostMapping("/repairLog") + @ResponseBody + public ReturnDTO repairLog(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.repairLog(requestDTO)); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java index d5f7715..f52be19 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java @@ -4,11 +4,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; +import java.util.Map; /** *

@@ -20,7 +26,30 @@ */ @Mapper public interface BusWellMonitorMapper extends BaseMapper { - Page pageList(@Param("scope") DataScope dataScope, Page page, @Param("request") BusLedgerDTO request); + Page pageList(@Param("scope") DataScope dataScope, + Page page, + @Param("request") BusLedgerDTO request); - List list(@Param("scope") DataScope dataScope, @Param("request") BusLedgerDTO request); + List list(@Param("scope") DataScope dataScope, + @Param("request") BusLedgerDTO request); + + @Select("WITH device_tmp as (SELECT bd.devcode,bd.DEVICE_TYPE FROM bus_device bd where EXISTS (SELECT 1 from bus_device_ledger bl where bl.DEVICE_ID= bd.id and bl.LEDGER_ID=${ledgerId} and TYPE<3 and bl.VALID=1)) \n" + + "\t\n" + + "\tSELECT device.devcode ,\n" + + "\tdevice.DEVICE_TYPE as devTypeId,sd.TYPE_NAME as devTypeName FROM device_tmp device LEFT JOIN base_device_type sd on sd.ID= device.DEVICE_TYPE") + List getDeviceList(@Param("ledgerId") Long ledgerId); + + List> getWatchData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("orderColumn") String orderColumn, + @Param("request") DeviceMonitorRequestDTO request, + @Param("wellCode") String wellCode); + + List repairLog(@Param("wellNumber") String wellNumber); + + List lifecycleRecord(@Param("wellCode") String wellCode, + @Param("request") DeviceMonitorRequestDTO request); + + @Select("SELECT at.ID,at.ALARM_TYPE FROM `alarm_type` at ") + List> alarmType(); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml index 54a4b0a..606a6af 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -96,7 +96,6 @@ bt.IS_USED =1 - + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml index 252bc86..7263d6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml @@ -38,15 +38,41 @@ + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java new file mode 100644 index 0000000..1f1123f --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java new file mode 100644 index 0000000..dfab13d --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorRequestDTO { + + @ApiModelProperty("闸井id") + private Long wellId; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java new file mode 100644 index 0000000..1facbf8 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class LifeCycleRecordDTO { + + @ApiModelProperty("报警时间") + private Date alarmTime; + @ApiModelProperty("报警类型") + private String alarmType; + @ApiModelProperty("报警等级") + private String alarmLevel; + @ApiModelProperty("报警原因") + private String alarmContent; + @ApiModelProperty("是否误报") + private String realAlarm; + @ApiModelProperty("报警解除时间") + private String cancelTime; + @ApiModelProperty("处置时长") + private String processDuration; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java index e2ff251..8b219a0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java @@ -57,6 +57,23 @@ @TableField("OPERATE_TIME") private Date operateTime; + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + + @ApiModelProperty("设备类型") + @TableField(exist = false) + private String typeName; + + @ApiModelProperty("设备型号") + @TableField(exist = false) + private String deviceModel; + + @ApiModelProperty("厂商") + @TableField(exist = false) + private String manufactureName; + + public BusDeviceLog() { } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java index 4b8fa45..7e490e7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java @@ -162,6 +162,6 @@ @ApiModelProperty("感知设备数量") @TableField(exist = false) - private Long deviceCount; + private String deviceCount; } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java index 4b60203..b5d4abd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java @@ -4,9 +4,13 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import java.util.List; +import java.util.Map; /** *

@@ -21,4 +25,10 @@ Page pageList(Page page, BusLedgerDTO request, DataScope dataScope); List list(BusLedgerDTO request, DataScope dataScope); + + Map>> watchDataByWell(DeviceMonitorRequestDTO requestDTO); + + List lifecycleRecord(DeviceMonitorRequestDTO requestDTO); + + List repairLog(DeviceMonitorRequestDTO requestDTO); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusWellMonitorServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusWellMonitorServiceImpl.java index 6e29d85..ecc55c6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusWellMonitorServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusWellMonitorServiceImpl.java @@ -1,17 +1,27 @@ package com.casic.missiles.modular.device.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.enums.DeviceDataEnum; import com.casic.missiles.modular.device.dao.BusWellMonitorMapper; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; +import com.casic.missiles.modular.device.service.IBusLedgerService; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -26,6 +36,8 @@ public class BusWellMonitorServiceImpl extends ServiceImpl implements IBusWellMonitorService { private final AbstractDictService abstractDictService; + private final IBusLedgerService iBusLedgerService; + public Page pageList(Page page, BusLedgerDTO request, DataScope dataScope) { Page pageList = this.baseMapper.pageList(dataScope, page, request); @@ -46,4 +58,58 @@ // 直接返回 return this.baseMapper.list(dataScope, request); } + + @Override + public Map>> watchDataByWell(DeviceMonitorRequestDTO request) { + Map>> resultMap = new HashMap<>(); + List deviceMonitorDTOList = this.baseMapper.getDeviceList(request.getWellId()); + List deviceTypeList = deviceMonitorDTOList.stream().map(DeviceMonitorDTO::getDevTypeName).distinct().collect(Collectors.toList()); + BusLedger busLedger = iBusLedgerService.getById(request.getWellId()); + for (String deviceType : deviceTypeList) { + DeviceDataEnum deviceDataEnum = DeviceDataEnum.typeOf(deviceType); + resultMap.put(deviceType, this.baseMapper.getWatchData(deviceDataEnum.getTableName(), + deviceDataEnum.getTableColumns(), deviceDataEnum.getOrderColumn(), request, + busLedger.getLedgerCode())); + } + return resultMap; + } + + @Override + public List repairLog(DeviceMonitorRequestDTO request) { + BusLedger busLedger = iBusLedgerService.getById(request.getWellId()); + String wellNumber = null != busLedger ? busLedger.getTagNumber() : ""; + return this.baseMapper.repairLog(wellNumber); + } + + + @Override + public List lifecycleRecord(DeviceMonitorRequestDTO request) { + BusLedger busLedger = iBusLedgerService.getById(request.getWellId()); + String wellCode = null != busLedger ? busLedger.getLedgerCode() : ""; + List> alarmTypeMaps = this.baseMapper.alarmType(); + List lifeCycleRecordDTOList = this.baseMapper.lifecycleRecord(wellCode,request); + for(LifeCycleRecordDTO cycleRecordDTO:lifeCycleRecordDTOList){ + cycleRecordDTO.setProcessDuration(TimeConverter(cycleRecordDTO.getProcessDuration())); + cycleRecordDTO.setRealAlarm("1".equals(cycleRecordDTO.getRealAlarm())?"是":"否"); + alarmTypeMaps.forEach(map->{ + if(map.get("ID").toString().equals(cycleRecordDTO.getAlarmType())){ + cycleRecordDTO.setAlarmType(map.get("ALARM_TYPE").toString()); + } + }); + } + return lifeCycleRecordDTOList; + } + + public String TimeConverter(String totalMinutesStr){ + if(ObjectUtil.isNotEmpty(totalMinutesStr)){ + int totalMinutes = Integer.valueOf(totalMinutesStr); + int days = totalMinutes/(24*60); + int hours = (totalMinutes%(24*60))/60; + int minutes = totalMinutes%60; + return String.format("%d天%d时%d分",days,hours,minutes); + } + return ""; + } + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java index c5ec280..df6bf48 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java @@ -65,7 +65,7 @@ return ReturnUtil.success(super.packForBT(messageLogPage)); } - @ApiOperation("弹窗参见报警分页列表(实时推送待开发)") + @ApiOperation("弹窗(实时推送待开发)") @PostMapping("/pop") @ResponseBody public ReturnDTO pop() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java index 16188fa..0f85586 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java @@ -1,12 +1,19 @@ package com.casic.missiles.modular.device.controller; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import com.casic.missiles.util.ReturnUtil; @@ -15,6 +22,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Objects; + @Api(tags = "闸井监测模块") @RequiredArgsConstructor @RestController @@ -40,4 +50,43 @@ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); return ReturnUtil.success(wellMonitorService.list(request, dataScope)); } + @ApiOperation("查看闸井监控数据") + @PostMapping("/watchDataByWell") + @ResponseBody + public ReturnDTO watchDataByWell(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.watchDataByWell(requestDTO)); + } + + @ApiOperation("全生命周期记录查询") + @PostMapping("/lifecycleRecord") + @ResponseBody + public ReturnDTO lifecycleRecord(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("全生命周期记录导出") + @PostMapping("/lifecycleRecordExp") + @ResponseBody + public ReturnDTO lifecycleRecordExp(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("监控设备维护记录") + @PostMapping("/repairLog") + @ResponseBody + public ReturnDTO repairLog(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.repairLog(requestDTO)); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java index d5f7715..f52be19 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java @@ -4,11 +4,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; +import java.util.Map; /** *

@@ -20,7 +26,30 @@ */ @Mapper public interface BusWellMonitorMapper extends BaseMapper { - Page pageList(@Param("scope") DataScope dataScope, Page page, @Param("request") BusLedgerDTO request); + Page pageList(@Param("scope") DataScope dataScope, + Page page, + @Param("request") BusLedgerDTO request); - List list(@Param("scope") DataScope dataScope, @Param("request") BusLedgerDTO request); + List list(@Param("scope") DataScope dataScope, + @Param("request") BusLedgerDTO request); + + @Select("WITH device_tmp as (SELECT bd.devcode,bd.DEVICE_TYPE FROM bus_device bd where EXISTS (SELECT 1 from bus_device_ledger bl where bl.DEVICE_ID= bd.id and bl.LEDGER_ID=${ledgerId} and TYPE<3 and bl.VALID=1)) \n" + + "\t\n" + + "\tSELECT device.devcode ,\n" + + "\tdevice.DEVICE_TYPE as devTypeId,sd.TYPE_NAME as devTypeName FROM device_tmp device LEFT JOIN base_device_type sd on sd.ID= device.DEVICE_TYPE") + List getDeviceList(@Param("ledgerId") Long ledgerId); + + List> getWatchData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("orderColumn") String orderColumn, + @Param("request") DeviceMonitorRequestDTO request, + @Param("wellCode") String wellCode); + + List repairLog(@Param("wellNumber") String wellNumber); + + List lifecycleRecord(@Param("wellCode") String wellCode, + @Param("request") DeviceMonitorRequestDTO request); + + @Select("SELECT at.ID,at.ALARM_TYPE FROM `alarm_type` at ") + List> alarmType(); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml index 54a4b0a..606a6af 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -96,7 +96,6 @@ bt.IS_USED =1 - + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml index 252bc86..7263d6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml @@ -38,15 +38,41 @@ + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java new file mode 100644 index 0000000..1f1123f --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java new file mode 100644 index 0000000..dfab13d --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorRequestDTO { + + @ApiModelProperty("闸井id") + private Long wellId; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java new file mode 100644 index 0000000..1facbf8 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class LifeCycleRecordDTO { + + @ApiModelProperty("报警时间") + private Date alarmTime; + @ApiModelProperty("报警类型") + private String alarmType; + @ApiModelProperty("报警等级") + private String alarmLevel; + @ApiModelProperty("报警原因") + private String alarmContent; + @ApiModelProperty("是否误报") + private String realAlarm; + @ApiModelProperty("报警解除时间") + private String cancelTime; + @ApiModelProperty("处置时长") + private String processDuration; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java index e2ff251..8b219a0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java @@ -57,6 +57,23 @@ @TableField("OPERATE_TIME") private Date operateTime; + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + + @ApiModelProperty("设备类型") + @TableField(exist = false) + private String typeName; + + @ApiModelProperty("设备型号") + @TableField(exist = false) + private String deviceModel; + + @ApiModelProperty("厂商") + @TableField(exist = false) + private String manufactureName; + + public BusDeviceLog() { } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java index 4b8fa45..7e490e7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java @@ -162,6 +162,6 @@ @ApiModelProperty("感知设备数量") @TableField(exist = false) - private Long deviceCount; + private String deviceCount; } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java index 4b60203..b5d4abd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java @@ -4,9 +4,13 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import java.util.List; +import java.util.Map; /** *

@@ -21,4 +25,10 @@ Page pageList(Page page, BusLedgerDTO request, DataScope dataScope); List list(BusLedgerDTO request, DataScope dataScope); + + Map>> watchDataByWell(DeviceMonitorRequestDTO requestDTO); + + List lifecycleRecord(DeviceMonitorRequestDTO requestDTO); + + List repairLog(DeviceMonitorRequestDTO requestDTO); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusWellMonitorServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusWellMonitorServiceImpl.java index 6e29d85..ecc55c6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusWellMonitorServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusWellMonitorServiceImpl.java @@ -1,17 +1,27 @@ package com.casic.missiles.modular.device.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.enums.DeviceDataEnum; import com.casic.missiles.modular.device.dao.BusWellMonitorMapper; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; +import com.casic.missiles.modular.device.service.IBusLedgerService; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -26,6 +36,8 @@ public class BusWellMonitorServiceImpl extends ServiceImpl implements IBusWellMonitorService { private final AbstractDictService abstractDictService; + private final IBusLedgerService iBusLedgerService; + public Page pageList(Page page, BusLedgerDTO request, DataScope dataScope) { Page pageList = this.baseMapper.pageList(dataScope, page, request); @@ -46,4 +58,58 @@ // 直接返回 return this.baseMapper.list(dataScope, request); } + + @Override + public Map>> watchDataByWell(DeviceMonitorRequestDTO request) { + Map>> resultMap = new HashMap<>(); + List deviceMonitorDTOList = this.baseMapper.getDeviceList(request.getWellId()); + List deviceTypeList = deviceMonitorDTOList.stream().map(DeviceMonitorDTO::getDevTypeName).distinct().collect(Collectors.toList()); + BusLedger busLedger = iBusLedgerService.getById(request.getWellId()); + for (String deviceType : deviceTypeList) { + DeviceDataEnum deviceDataEnum = DeviceDataEnum.typeOf(deviceType); + resultMap.put(deviceType, this.baseMapper.getWatchData(deviceDataEnum.getTableName(), + deviceDataEnum.getTableColumns(), deviceDataEnum.getOrderColumn(), request, + busLedger.getLedgerCode())); + } + return resultMap; + } + + @Override + public List repairLog(DeviceMonitorRequestDTO request) { + BusLedger busLedger = iBusLedgerService.getById(request.getWellId()); + String wellNumber = null != busLedger ? busLedger.getTagNumber() : ""; + return this.baseMapper.repairLog(wellNumber); + } + + + @Override + public List lifecycleRecord(DeviceMonitorRequestDTO request) { + BusLedger busLedger = iBusLedgerService.getById(request.getWellId()); + String wellCode = null != busLedger ? busLedger.getLedgerCode() : ""; + List> alarmTypeMaps = this.baseMapper.alarmType(); + List lifeCycleRecordDTOList = this.baseMapper.lifecycleRecord(wellCode,request); + for(LifeCycleRecordDTO cycleRecordDTO:lifeCycleRecordDTOList){ + cycleRecordDTO.setProcessDuration(TimeConverter(cycleRecordDTO.getProcessDuration())); + cycleRecordDTO.setRealAlarm("1".equals(cycleRecordDTO.getRealAlarm())?"是":"否"); + alarmTypeMaps.forEach(map->{ + if(map.get("ID").toString().equals(cycleRecordDTO.getAlarmType())){ + cycleRecordDTO.setAlarmType(map.get("ALARM_TYPE").toString()); + } + }); + } + return lifeCycleRecordDTOList; + } + + public String TimeConverter(String totalMinutesStr){ + if(ObjectUtil.isNotEmpty(totalMinutesStr)){ + int totalMinutes = Integer.valueOf(totalMinutesStr); + int days = totalMinutes/(24*60); + int hours = (totalMinutes%(24*60))/60; + int minutes = totalMinutes%60; + return String.format("%d天%d时%d分",days,hours,minutes); + } + return ""; + } + + } diff --git a/casic-public/src/main/java/com/casic/missiles/enums/DeviceDataEnum.java b/casic-public/src/main/java/com/casic/missiles/enums/DeviceDataEnum.java new file mode 100644 index 0000000..a75cd5c --- /dev/null +++ b/casic-public/src/main/java/com/casic/missiles/enums/DeviceDataEnum.java @@ -0,0 +1,85 @@ +package com.casic.missiles.enums; + +import java.util.HashMap; + +public enum DeviceDataEnum { + + DATA_GAS("燃气智能监测终端", "data_gas", "井内燃气浓度", "id,well_code,devcode,cell,strength,descn,uptime,logtime,pci,rsrp,snr", "logtime"); + + public static DeviceDataEnum typeOf(String type) { + DeviceDataEnum deviceDataEnum = null; + switch (type) { + case "燃气智能监测终端": + deviceDataEnum = DATA_GAS; + break; + default: + deviceDataEnum = null; + } + return deviceDataEnum; + } + + String typeName; + String tableName; + String tableColumns; + String orderColumn; + String type; + + DeviceDataEnum(String type, String tableName, String typeName, String tableColumns, String orderColumn) { + this.type = type; + this.typeName = typeName; + this.tableName = tableName; + this.tableColumns = tableColumns; + this.orderColumn = orderColumn; + ; + } + + public String getTypeName() { + return typeName; + } + + public String getTableName() { + return tableName; + } + + + public HashMap tableNameMap; + + DeviceDataEnum(HashMap tableNameMap) { + this.tableNameMap = tableNameMap; + } + + public HashMap getTableNameMap() { + return tableNameMap; + } + + public String getTableColumns() { + return tableColumns; + } + +// public List getDataFieldDefine() { +// List fieldDefines = StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); +// //导出新增设备类型 +// fieldDefines.add(new DataFieldDefine("device_type", "device_type")); +// return fieldDefines; +// } + + public void setTableColumns(String tableColumns) { + this.tableColumns = tableColumns; + } + + public String getOrderColumn() { + return orderColumn; + } + + public void setOrderColumn(String orderColumn) { + this.orderColumn = orderColumn; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java index c5ec280..df6bf48 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/OverViewController.java @@ -65,7 +65,7 @@ return ReturnUtil.success(super.packForBT(messageLogPage)); } - @ApiOperation("弹窗参见报警分页列表(实时推送待开发)") + @ApiOperation("弹窗(实时推送待开发)") @PostMapping("/pop") @ResponseBody public ReturnDTO pop() { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java index 16188fa..0f85586 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusWellMonitorController.java @@ -1,12 +1,19 @@ package com.casic.missiles.modular.device.controller; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.base.controller.ExportController; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import com.casic.missiles.util.ReturnUtil; @@ -15,6 +22,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Objects; + @Api(tags = "闸井监测模块") @RequiredArgsConstructor @RestController @@ -40,4 +50,43 @@ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); return ReturnUtil.success(wellMonitorService.list(request, dataScope)); } + @ApiOperation("查看闸井监控数据") + @PostMapping("/watchDataByWell") + @ResponseBody + public ReturnDTO watchDataByWell(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.watchDataByWell(requestDTO)); + } + + @ApiOperation("全生命周期记录查询") + @PostMapping("/lifecycleRecord") + @ResponseBody + public ReturnDTO lifecycleRecord(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("全生命周期记录导出") + @PostMapping("/lifecycleRecordExp") + @ResponseBody + public ReturnDTO lifecycleRecordExp(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.lifecycleRecord(requestDTO)); + } + + @ApiOperation("监控设备维护记录") + @PostMapping("/repairLog") + @ResponseBody + public ReturnDTO repairLog(@RequestBody DeviceMonitorRequestDTO requestDTO) { + Assert.isFalse(Objects.isNull(requestDTO.getWellId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(wellMonitorService.repairLog(requestDTO)); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java index d5f7715..f52be19 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusWellMonitorMapper.java @@ -4,11 +4,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; +import java.util.Map; /** *

@@ -20,7 +26,30 @@ */ @Mapper public interface BusWellMonitorMapper extends BaseMapper { - Page pageList(@Param("scope") DataScope dataScope, Page page, @Param("request") BusLedgerDTO request); + Page pageList(@Param("scope") DataScope dataScope, + Page page, + @Param("request") BusLedgerDTO request); - List list(@Param("scope") DataScope dataScope, @Param("request") BusLedgerDTO request); + List list(@Param("scope") DataScope dataScope, + @Param("request") BusLedgerDTO request); + + @Select("WITH device_tmp as (SELECT bd.devcode,bd.DEVICE_TYPE FROM bus_device bd where EXISTS (SELECT 1 from bus_device_ledger bl where bl.DEVICE_ID= bd.id and bl.LEDGER_ID=${ledgerId} and TYPE<3 and bl.VALID=1)) \n" + + "\t\n" + + "\tSELECT device.devcode ,\n" + + "\tdevice.DEVICE_TYPE as devTypeId,sd.TYPE_NAME as devTypeName FROM device_tmp device LEFT JOIN base_device_type sd on sd.ID= device.DEVICE_TYPE") + List getDeviceList(@Param("ledgerId") Long ledgerId); + + List> getWatchData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("orderColumn") String orderColumn, + @Param("request") DeviceMonitorRequestDTO request, + @Param("wellCode") String wellCode); + + List repairLog(@Param("wellNumber") String wellNumber); + + List lifecycleRecord(@Param("wellCode") String wellCode, + @Param("request") DeviceMonitorRequestDTO request); + + @Select("SELECT at.ID,at.ALARM_TYPE FROM `alarm_type` at ") + List> alarmType(); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml index 54a4b0a..606a6af 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -96,7 +96,6 @@ bt.IS_USED =1 - + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml index 252bc86..7263d6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusWellMonitorMapper.xml @@ -38,15 +38,41 @@ + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java new file mode 100644 index 0000000..1f1123f --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java new file mode 100644 index 0000000..dfab13d --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceMonitorRequestDTO.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceMonitorRequestDTO { + + @ApiModelProperty("闸井id") + private Long wellId; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java new file mode 100644 index 0000000..1facbf8 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/LifeCycleRecordDTO.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class LifeCycleRecordDTO { + + @ApiModelProperty("报警时间") + private Date alarmTime; + @ApiModelProperty("报警类型") + private String alarmType; + @ApiModelProperty("报警等级") + private String alarmLevel; + @ApiModelProperty("报警原因") + private String alarmContent; + @ApiModelProperty("是否误报") + private String realAlarm; + @ApiModelProperty("报警解除时间") + private String cancelTime; + @ApiModelProperty("处置时长") + private String processDuration; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java index e2ff251..8b219a0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLog.java @@ -57,6 +57,23 @@ @TableField("OPERATE_TIME") private Date operateTime; + @ApiModelProperty("备注") + @TableField("REMARK") + private String remark; + + @ApiModelProperty("设备类型") + @TableField(exist = false) + private String typeName; + + @ApiModelProperty("设备型号") + @TableField(exist = false) + private String deviceModel; + + @ApiModelProperty("厂商") + @TableField(exist = false) + private String manufactureName; + + public BusDeviceLog() { } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java index 4b8fa45..7e490e7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusLedger.java @@ -162,6 +162,6 @@ @ApiModelProperty("感知设备数量") @TableField(exist = false) - private Long deviceCount; + private String deviceCount; } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java index 4b60203..b5d4abd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusWellMonitorService.java @@ -4,9 +4,13 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; import java.util.List; +import java.util.Map; /** *

@@ -21,4 +25,10 @@ Page pageList(Page page, BusLedgerDTO request, DataScope dataScope); List list(BusLedgerDTO request, DataScope dataScope); + + Map>> watchDataByWell(DeviceMonitorRequestDTO requestDTO); + + List lifecycleRecord(DeviceMonitorRequestDTO requestDTO); + + List repairLog(DeviceMonitorRequestDTO requestDTO); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusWellMonitorServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusWellMonitorServiceImpl.java index 6e29d85..ecc55c6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusWellMonitorServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusWellMonitorServiceImpl.java @@ -1,17 +1,27 @@ package com.casic.missiles.modular.device.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.enums.DeviceDataEnum; import com.casic.missiles.modular.device.dao.BusWellMonitorMapper; import com.casic.missiles.modular.device.dto.BusLedgerDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorDTO; +import com.casic.missiles.modular.device.dto.DeviceMonitorRequestDTO; +import com.casic.missiles.modular.device.dto.LifeCycleRecordDTO; +import com.casic.missiles.modular.device.entity.BusDeviceLog; import com.casic.missiles.modular.device.entity.BusLedger; +import com.casic.missiles.modular.device.service.IBusLedgerService; import com.casic.missiles.modular.device.service.IBusWellMonitorService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -26,6 +36,8 @@ public class BusWellMonitorServiceImpl extends ServiceImpl implements IBusWellMonitorService { private final AbstractDictService abstractDictService; + private final IBusLedgerService iBusLedgerService; + public Page pageList(Page page, BusLedgerDTO request, DataScope dataScope) { Page pageList = this.baseMapper.pageList(dataScope, page, request); @@ -46,4 +58,58 @@ // 直接返回 return this.baseMapper.list(dataScope, request); } + + @Override + public Map>> watchDataByWell(DeviceMonitorRequestDTO request) { + Map>> resultMap = new HashMap<>(); + List deviceMonitorDTOList = this.baseMapper.getDeviceList(request.getWellId()); + List deviceTypeList = deviceMonitorDTOList.stream().map(DeviceMonitorDTO::getDevTypeName).distinct().collect(Collectors.toList()); + BusLedger busLedger = iBusLedgerService.getById(request.getWellId()); + for (String deviceType : deviceTypeList) { + DeviceDataEnum deviceDataEnum = DeviceDataEnum.typeOf(deviceType); + resultMap.put(deviceType, this.baseMapper.getWatchData(deviceDataEnum.getTableName(), + deviceDataEnum.getTableColumns(), deviceDataEnum.getOrderColumn(), request, + busLedger.getLedgerCode())); + } + return resultMap; + } + + @Override + public List repairLog(DeviceMonitorRequestDTO request) { + BusLedger busLedger = iBusLedgerService.getById(request.getWellId()); + String wellNumber = null != busLedger ? busLedger.getTagNumber() : ""; + return this.baseMapper.repairLog(wellNumber); + } + + + @Override + public List lifecycleRecord(DeviceMonitorRequestDTO request) { + BusLedger busLedger = iBusLedgerService.getById(request.getWellId()); + String wellCode = null != busLedger ? busLedger.getLedgerCode() : ""; + List> alarmTypeMaps = this.baseMapper.alarmType(); + List lifeCycleRecordDTOList = this.baseMapper.lifecycleRecord(wellCode,request); + for(LifeCycleRecordDTO cycleRecordDTO:lifeCycleRecordDTOList){ + cycleRecordDTO.setProcessDuration(TimeConverter(cycleRecordDTO.getProcessDuration())); + cycleRecordDTO.setRealAlarm("1".equals(cycleRecordDTO.getRealAlarm())?"是":"否"); + alarmTypeMaps.forEach(map->{ + if(map.get("ID").toString().equals(cycleRecordDTO.getAlarmType())){ + cycleRecordDTO.setAlarmType(map.get("ALARM_TYPE").toString()); + } + }); + } + return lifeCycleRecordDTOList; + } + + public String TimeConverter(String totalMinutesStr){ + if(ObjectUtil.isNotEmpty(totalMinutesStr)){ + int totalMinutes = Integer.valueOf(totalMinutesStr); + int days = totalMinutes/(24*60); + int hours = (totalMinutes%(24*60))/60; + int minutes = totalMinutes%60; + return String.format("%d天%d时%d分",days,hours,minutes); + } + return ""; + } + + } diff --git a/casic-public/src/main/java/com/casic/missiles/enums/DeviceDataEnum.java b/casic-public/src/main/java/com/casic/missiles/enums/DeviceDataEnum.java new file mode 100644 index 0000000..a75cd5c --- /dev/null +++ b/casic-public/src/main/java/com/casic/missiles/enums/DeviceDataEnum.java @@ -0,0 +1,85 @@ +package com.casic.missiles.enums; + +import java.util.HashMap; + +public enum DeviceDataEnum { + + DATA_GAS("燃气智能监测终端", "data_gas", "井内燃气浓度", "id,well_code,devcode,cell,strength,descn,uptime,logtime,pci,rsrp,snr", "logtime"); + + public static DeviceDataEnum typeOf(String type) { + DeviceDataEnum deviceDataEnum = null; + switch (type) { + case "燃气智能监测终端": + deviceDataEnum = DATA_GAS; + break; + default: + deviceDataEnum = null; + } + return deviceDataEnum; + } + + String typeName; + String tableName; + String tableColumns; + String orderColumn; + String type; + + DeviceDataEnum(String type, String tableName, String typeName, String tableColumns, String orderColumn) { + this.type = type; + this.typeName = typeName; + this.tableName = tableName; + this.tableColumns = tableColumns; + this.orderColumn = orderColumn; + ; + } + + public String getTypeName() { + return typeName; + } + + public String getTableName() { + return tableName; + } + + + public HashMap tableNameMap; + + DeviceDataEnum(HashMap tableNameMap) { + this.tableNameMap = tableNameMap; + } + + public HashMap getTableNameMap() { + return tableNameMap; + } + + public String getTableColumns() { + return tableColumns; + } + +// public List getDataFieldDefine() { +// List fieldDefines = StrUtil.split(tableColumns, ",").stream().map(column -> new DataFieldDefine(column, column)).collect(Collectors.toList()); +// //导出新增设备类型 +// fieldDefines.add(new DataFieldDefine("device_type", "device_type")); +// return fieldDefines; +// } + + public void setTableColumns(String tableColumns) { + this.tableColumns = tableColumns; + } + + public String getOrderColumn() { + return orderColumn; + } + + public void setOrderColumn(String orderColumn) { + this.orderColumn = orderColumn; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} 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 d42714b..f5fd84e 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,35 +2,37 @@ public enum DeviceTypeEnum { - Well("井盖状态监测仪", 1,"data_wellcover"), - Liquid("液位监测仪", 2,"data_liquid"), - WasteGas("有害气体监测仪", 3,"data_harmful_gas"), - Methane("燃气智能监测终端", 9,"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",""), + 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",""); // 成员变量 private String name; private int index; private String tableName; + private String sqlString; // 构造方法 - private DeviceTypeEnum(String name, int index, String tableName) { + private DeviceTypeEnum(String name, int index, String tableName, String sqlString) { this.name = name; this.index = index; this.tableName = tableName; + this.sqlString = sqlString; } @@ -71,6 +73,14 @@ this.tableName = tableName; } + public String getSqlString() { + return sqlString; + } + + public void setSqlString(String sqlString) { + this.sqlString = sqlString; + } + //覆盖方法 @Override public String toString() {