diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 75afeda..7dad93c 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -3,12 +3,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; 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.base.service.IBaseExportService; 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.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -16,8 +18,10 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.ReturnUtil; @@ -76,7 +80,7 @@ Assert.isFalse(Objects.isNull(busDevice.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusDeviceService.updateById(busDevice)); + return ReturnUtil.success(iBusDeviceService.updateBusDevice(busDevice)); } @ApiOperation("批量删除") @@ -90,6 +94,37 @@ } + @ApiOperation("查看,直接取列表内容") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.detail(idDTO.getId())); + } + + @ApiOperation("数据查询") + @PostMapping("/monitorData") + @ResponseBody + public ReturnDTO monitorData(@RequestBody MonitorDataRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.monitorData(requestDTO)); + } + + @ApiOperation("报警记录") + @PostMapping("/alarmRecords") + @ResponseBody + public ReturnDTO alarmRecords(@RequestBody AlarmRecordsRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.alarmRecords(requestDTO)); + } + + @ApiOperation("批量导入") @RequestMapping(value = "/batchImport", method = RequestMethod.POST) @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 75afeda..7dad93c 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -3,12 +3,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; 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.base.service.IBaseExportService; 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.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -16,8 +18,10 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.ReturnUtil; @@ -76,7 +80,7 @@ Assert.isFalse(Objects.isNull(busDevice.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusDeviceService.updateById(busDevice)); + return ReturnUtil.success(iBusDeviceService.updateBusDevice(busDevice)); } @ApiOperation("批量删除") @@ -90,6 +94,37 @@ } + @ApiOperation("查看,直接取列表内容") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.detail(idDTO.getId())); + } + + @ApiOperation("数据查询") + @PostMapping("/monitorData") + @ResponseBody + public ReturnDTO monitorData(@RequestBody MonitorDataRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.monitorData(requestDTO)); + } + + @ApiOperation("报警记录") + @PostMapping("/alarmRecords") + @ResponseBody + public ReturnDTO alarmRecords(@RequestBody AlarmRecordsRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.alarmRecords(requestDTO)); + } + + @ApiOperation("批量导入") @RequestMapping(value = "/batchImport", method = RequestMethod.POST) @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 12b3d2b..9e21e3e 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -3,11 +3,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Map; + /** *

* 设备管理 Mapper 接口 @@ -24,4 +29,14 @@ @Param("scope") DataScope dataScope, @Param("deptStrs") String deptStrs); + List> monitorData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("devcode") String devcode, + @Param("uptime") String uptime, + @Param("logtime") String logtime, + @Param("orderColumn") String orderColumn, + @Param("request") MonitorDataRequestDTO request); + + List> alarmRecords(@Param("request") AlarmRecordsRequestDTO request); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 75afeda..7dad93c 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -3,12 +3,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; 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.base.service.IBaseExportService; 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.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -16,8 +18,10 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.ReturnUtil; @@ -76,7 +80,7 @@ Assert.isFalse(Objects.isNull(busDevice.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusDeviceService.updateById(busDevice)); + return ReturnUtil.success(iBusDeviceService.updateBusDevice(busDevice)); } @ApiOperation("批量删除") @@ -90,6 +94,37 @@ } + @ApiOperation("查看,直接取列表内容") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.detail(idDTO.getId())); + } + + @ApiOperation("数据查询") + @PostMapping("/monitorData") + @ResponseBody + public ReturnDTO monitorData(@RequestBody MonitorDataRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.monitorData(requestDTO)); + } + + @ApiOperation("报警记录") + @PostMapping("/alarmRecords") + @ResponseBody + public ReturnDTO alarmRecords(@RequestBody AlarmRecordsRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.alarmRecords(requestDTO)); + } + + @ApiOperation("批量导入") @RequestMapping(value = "/batchImport", method = RequestMethod.POST) @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 12b3d2b..9e21e3e 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -3,11 +3,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Map; + /** *

* 设备管理 Mapper 接口 @@ -24,4 +29,14 @@ @Param("scope") DataScope dataScope, @Param("deptStrs") String deptStrs); + List> monitorData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("devcode") String devcode, + @Param("uptime") String uptime, + @Param("logtime") String logtime, + @Param("orderColumn") String orderColumn, + @Param("request") MonitorDataRequestDTO request); + + List> alarmRecords(@Param("request") AlarmRecordsRequestDTO request); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index e1f94b0..7fc8052 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -33,7 +33,9 @@ bl.tagNumber as tagNumber, bl.place as "position", bl.DEPTID, - sd.FULL_NAME as deptName + sd.FULL_NAME as deptName, + bl.lngGaode as lng, + bl.latGaode as lat FROM bus_device bd LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID @@ -42,42 +44,86 @@ LEFT JOIN bus_manufacturer bm on bm.ID = bp.MANUFACTURER_ID LEFT JOIN bus_ledger_all_view bl on bl.ID = br.LEDGER_ID AND br.VALID=1 and bl.type = br.type LEFT JOIN sys_dept sd ON sd.ID =bl.DEPTID - where 1=1 + where bd.valid>0 - - and bd.DEVCODE like concat('%', #{request.devCode}, '%') - - - and bt.DEVICE_TYPE =#{request.devTypeId} - - - and bp.MANUFACTURER_ID =#{request.manufacturerId} - - - and (bl.place like concat('%', #{request.devCode}, '%') or bl.tagNumber like concat('%', - #{request.devCode}, '%')) - + + and bd.DEVCODE like concat('%', #{request.devCode}, '%') + + + and bt.id =#{request.devTypeId} + + + and bp.MANUFACTURER_ID =#{request.manufacturerId} + + + and (bl.place like concat('%', #{request.keys}, '%') or bl.tagNumber like concat('%', + #{request.keys}, '%')) + - - and br.DEPTID in (${deptStrs}) - + + and bl.DEPTID in (${deptStrs}) + - - and bd.ONLINE_STATE =#{request.onlineState} - - - and bd.valid =#{request.valid} - - - and bd.CELL #{request.cell} - - - and bd.LOGTIME = ]]> #{request.logtime1} - - - and bd.LOGTIME #{request.logtime2} - - ORDER BY bd.INSTALL_DATE DESC - + + and bd.ONLINE_STATE =#{request.onlineState} + + + and bd.valid =#{request.valid} + + + and bd.CELL #{request.cell} + + + and bd.LOGTIME = ]]> #{request.logTime1} + + + and bd.LOGTIME #{request.logTime2} + + ORDER BY bd.INSTALL_DATE DESC + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 75afeda..7dad93c 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -3,12 +3,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; 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.base.service.IBaseExportService; 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.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -16,8 +18,10 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.ReturnUtil; @@ -76,7 +80,7 @@ Assert.isFalse(Objects.isNull(busDevice.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusDeviceService.updateById(busDevice)); + return ReturnUtil.success(iBusDeviceService.updateBusDevice(busDevice)); } @ApiOperation("批量删除") @@ -90,6 +94,37 @@ } + @ApiOperation("查看,直接取列表内容") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.detail(idDTO.getId())); + } + + @ApiOperation("数据查询") + @PostMapping("/monitorData") + @ResponseBody + public ReturnDTO monitorData(@RequestBody MonitorDataRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.monitorData(requestDTO)); + } + + @ApiOperation("报警记录") + @PostMapping("/alarmRecords") + @ResponseBody + public ReturnDTO alarmRecords(@RequestBody AlarmRecordsRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.alarmRecords(requestDTO)); + } + + @ApiOperation("批量导入") @RequestMapping(value = "/batchImport", method = RequestMethod.POST) @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 12b3d2b..9e21e3e 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -3,11 +3,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Map; + /** *

* 设备管理 Mapper 接口 @@ -24,4 +29,14 @@ @Param("scope") DataScope dataScope, @Param("deptStrs") String deptStrs); + List> monitorData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("devcode") String devcode, + @Param("uptime") String uptime, + @Param("logtime") String logtime, + @Param("orderColumn") String orderColumn, + @Param("request") MonitorDataRequestDTO request); + + List> alarmRecords(@Param("request") AlarmRecordsRequestDTO request); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index e1f94b0..7fc8052 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -33,7 +33,9 @@ bl.tagNumber as tagNumber, bl.place as "position", bl.DEPTID, - sd.FULL_NAME as deptName + sd.FULL_NAME as deptName, + bl.lngGaode as lng, + bl.latGaode as lat FROM bus_device bd LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID @@ -42,42 +44,86 @@ LEFT JOIN bus_manufacturer bm on bm.ID = bp.MANUFACTURER_ID LEFT JOIN bus_ledger_all_view bl on bl.ID = br.LEDGER_ID AND br.VALID=1 and bl.type = br.type LEFT JOIN sys_dept sd ON sd.ID =bl.DEPTID - where 1=1 + where bd.valid>0 - - and bd.DEVCODE like concat('%', #{request.devCode}, '%') - - - and bt.DEVICE_TYPE =#{request.devTypeId} - - - and bp.MANUFACTURER_ID =#{request.manufacturerId} - - - and (bl.place like concat('%', #{request.devCode}, '%') or bl.tagNumber like concat('%', - #{request.devCode}, '%')) - + + and bd.DEVCODE like concat('%', #{request.devCode}, '%') + + + and bt.id =#{request.devTypeId} + + + and bp.MANUFACTURER_ID =#{request.manufacturerId} + + + and (bl.place like concat('%', #{request.keys}, '%') or bl.tagNumber like concat('%', + #{request.keys}, '%')) + - - and br.DEPTID in (${deptStrs}) - + + and bl.DEPTID in (${deptStrs}) + - - and bd.ONLINE_STATE =#{request.onlineState} - - - and bd.valid =#{request.valid} - - - and bd.CELL #{request.cell} - - - and bd.LOGTIME = ]]> #{request.logtime1} - - - and bd.LOGTIME #{request.logtime2} - - ORDER BY bd.INSTALL_DATE DESC - + + and bd.ONLINE_STATE =#{request.onlineState} + + + and bd.valid =#{request.valid} + + + and bd.CELL #{request.cell} + + + and bd.LOGTIME = ]]> #{request.logTime1} + + + and bd.LOGTIME #{request.logTime2} + + ORDER BY bd.INSTALL_DATE DESC + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java new file mode 100644 index 0000000..501feef --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class AlarmRecordsRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty("报警类型,报警类型下拉列表") + private String alarmType; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 75afeda..7dad93c 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -3,12 +3,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; 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.base.service.IBaseExportService; 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.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -16,8 +18,10 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.ReturnUtil; @@ -76,7 +80,7 @@ Assert.isFalse(Objects.isNull(busDevice.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusDeviceService.updateById(busDevice)); + return ReturnUtil.success(iBusDeviceService.updateBusDevice(busDevice)); } @ApiOperation("批量删除") @@ -90,6 +94,37 @@ } + @ApiOperation("查看,直接取列表内容") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.detail(idDTO.getId())); + } + + @ApiOperation("数据查询") + @PostMapping("/monitorData") + @ResponseBody + public ReturnDTO monitorData(@RequestBody MonitorDataRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.monitorData(requestDTO)); + } + + @ApiOperation("报警记录") + @PostMapping("/alarmRecords") + @ResponseBody + public ReturnDTO alarmRecords(@RequestBody AlarmRecordsRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.alarmRecords(requestDTO)); + } + + @ApiOperation("批量导入") @RequestMapping(value = "/batchImport", method = RequestMethod.POST) @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 12b3d2b..9e21e3e 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -3,11 +3,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Map; + /** *

* 设备管理 Mapper 接口 @@ -24,4 +29,14 @@ @Param("scope") DataScope dataScope, @Param("deptStrs") String deptStrs); + List> monitorData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("devcode") String devcode, + @Param("uptime") String uptime, + @Param("logtime") String logtime, + @Param("orderColumn") String orderColumn, + @Param("request") MonitorDataRequestDTO request); + + List> alarmRecords(@Param("request") AlarmRecordsRequestDTO request); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index e1f94b0..7fc8052 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -33,7 +33,9 @@ bl.tagNumber as tagNumber, bl.place as "position", bl.DEPTID, - sd.FULL_NAME as deptName + sd.FULL_NAME as deptName, + bl.lngGaode as lng, + bl.latGaode as lat FROM bus_device bd LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID @@ -42,42 +44,86 @@ LEFT JOIN bus_manufacturer bm on bm.ID = bp.MANUFACTURER_ID LEFT JOIN bus_ledger_all_view bl on bl.ID = br.LEDGER_ID AND br.VALID=1 and bl.type = br.type LEFT JOIN sys_dept sd ON sd.ID =bl.DEPTID - where 1=1 + where bd.valid>0 - - and bd.DEVCODE like concat('%', #{request.devCode}, '%') - - - and bt.DEVICE_TYPE =#{request.devTypeId} - - - and bp.MANUFACTURER_ID =#{request.manufacturerId} - - - and (bl.place like concat('%', #{request.devCode}, '%') or bl.tagNumber like concat('%', - #{request.devCode}, '%')) - + + and bd.DEVCODE like concat('%', #{request.devCode}, '%') + + + and bt.id =#{request.devTypeId} + + + and bp.MANUFACTURER_ID =#{request.manufacturerId} + + + and (bl.place like concat('%', #{request.keys}, '%') or bl.tagNumber like concat('%', + #{request.keys}, '%')) + - - and br.DEPTID in (${deptStrs}) - + + and bl.DEPTID in (${deptStrs}) + - - and bd.ONLINE_STATE =#{request.onlineState} - - - and bd.valid =#{request.valid} - - - and bd.CELL #{request.cell} - - - and bd.LOGTIME = ]]> #{request.logtime1} - - - and bd.LOGTIME #{request.logtime2} - - ORDER BY bd.INSTALL_DATE DESC - + + and bd.ONLINE_STATE =#{request.onlineState} + + + and bd.valid =#{request.valid} + + + and bd.CELL #{request.cell} + + + and bd.LOGTIME = ]]> #{request.logTime1} + + + and bd.LOGTIME #{request.logTime2} + + ORDER BY bd.INSTALL_DATE DESC + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java new file mode 100644 index 0000000..501feef --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class AlarmRecordsRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty("报警类型,报警类型下拉列表") + private String alarmType; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java new file mode 100644 index 0000000..69872a6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class MonitorDataRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty(value = "设备类型名称",required = true) + private String typeName; + + @ApiModelProperty("采集开始时间") + private String upBegTime; + + @ApiModelProperty("采集结束时间") + private String upEndTime; + + @ApiModelProperty("上报开始时间") + private String logBegTime; + + @ApiModelProperty("上报结束时间") + private String logEndTime; +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 75afeda..7dad93c 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -3,12 +3,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; 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.base.service.IBaseExportService; 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.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -16,8 +18,10 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.ReturnUtil; @@ -76,7 +80,7 @@ Assert.isFalse(Objects.isNull(busDevice.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusDeviceService.updateById(busDevice)); + return ReturnUtil.success(iBusDeviceService.updateBusDevice(busDevice)); } @ApiOperation("批量删除") @@ -90,6 +94,37 @@ } + @ApiOperation("查看,直接取列表内容") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.detail(idDTO.getId())); + } + + @ApiOperation("数据查询") + @PostMapping("/monitorData") + @ResponseBody + public ReturnDTO monitorData(@RequestBody MonitorDataRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.monitorData(requestDTO)); + } + + @ApiOperation("报警记录") + @PostMapping("/alarmRecords") + @ResponseBody + public ReturnDTO alarmRecords(@RequestBody AlarmRecordsRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.alarmRecords(requestDTO)); + } + + @ApiOperation("批量导入") @RequestMapping(value = "/batchImport", method = RequestMethod.POST) @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 12b3d2b..9e21e3e 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -3,11 +3,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Map; + /** *

* 设备管理 Mapper 接口 @@ -24,4 +29,14 @@ @Param("scope") DataScope dataScope, @Param("deptStrs") String deptStrs); + List> monitorData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("devcode") String devcode, + @Param("uptime") String uptime, + @Param("logtime") String logtime, + @Param("orderColumn") String orderColumn, + @Param("request") MonitorDataRequestDTO request); + + List> alarmRecords(@Param("request") AlarmRecordsRequestDTO request); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index e1f94b0..7fc8052 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -33,7 +33,9 @@ bl.tagNumber as tagNumber, bl.place as "position", bl.DEPTID, - sd.FULL_NAME as deptName + sd.FULL_NAME as deptName, + bl.lngGaode as lng, + bl.latGaode as lat FROM bus_device bd LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID @@ -42,42 +44,86 @@ LEFT JOIN bus_manufacturer bm on bm.ID = bp.MANUFACTURER_ID LEFT JOIN bus_ledger_all_view bl on bl.ID = br.LEDGER_ID AND br.VALID=1 and bl.type = br.type LEFT JOIN sys_dept sd ON sd.ID =bl.DEPTID - where 1=1 + where bd.valid>0 - - and bd.DEVCODE like concat('%', #{request.devCode}, '%') - - - and bt.DEVICE_TYPE =#{request.devTypeId} - - - and bp.MANUFACTURER_ID =#{request.manufacturerId} - - - and (bl.place like concat('%', #{request.devCode}, '%') or bl.tagNumber like concat('%', - #{request.devCode}, '%')) - + + and bd.DEVCODE like concat('%', #{request.devCode}, '%') + + + and bt.id =#{request.devTypeId} + + + and bp.MANUFACTURER_ID =#{request.manufacturerId} + + + and (bl.place like concat('%', #{request.keys}, '%') or bl.tagNumber like concat('%', + #{request.keys}, '%')) + - - and br.DEPTID in (${deptStrs}) - + + and bl.DEPTID in (${deptStrs}) + - - and bd.ONLINE_STATE =#{request.onlineState} - - - and bd.valid =#{request.valid} - - - and bd.CELL #{request.cell} - - - and bd.LOGTIME = ]]> #{request.logtime1} - - - and bd.LOGTIME #{request.logtime2} - - ORDER BY bd.INSTALL_DATE DESC - + + and bd.ONLINE_STATE =#{request.onlineState} + + + and bd.valid =#{request.valid} + + + and bd.CELL #{request.cell} + + + and bd.LOGTIME = ]]> #{request.logTime1} + + + and bd.LOGTIME #{request.logTime2} + + ORDER BY bd.INSTALL_DATE DESC + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java new file mode 100644 index 0000000..501feef --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class AlarmRecordsRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty("报警类型,报警类型下拉列表") + private String alarmType; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java new file mode 100644 index 0000000..69872a6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class MonitorDataRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty(value = "设备类型名称",required = true) + private String typeName; + + @ApiModelProperty("采集开始时间") + private String upBegTime; + + @ApiModelProperty("采集结束时间") + private String upEndTime; + + @ApiModelProperty("上报开始时间") + private String logBegTime; + + @ApiModelProperty("上报结束时间") + private String logEndTime; +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java index e0afae6..9ba0f48 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java @@ -58,7 +58,6 @@ @TableField("PRODUCT_ID") private Long productId; - @ExcelProperty(value = "在用情况", order = 8) @ApiModelProperty("设备在用情况(1:在用、2:维修、3:备用、0:删除)") @TableField("VALID") private String valid; @@ -141,6 +140,19 @@ @TableField(exist = false) private String position; + @ExcelProperty(value = "在用情况", order = 8) + @ApiModelProperty("在用情况名称") + @TableField(exist = false) + private String validName; + + @ApiModelProperty("经度") + @TableField(exist = false) + private String lng; + + @ApiModelProperty("纬度") + @TableField(exist = false) + private String lat; + public BusDevice() { } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 75afeda..7dad93c 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -3,12 +3,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; 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.base.service.IBaseExportService; 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.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -16,8 +18,10 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.ReturnUtil; @@ -76,7 +80,7 @@ Assert.isFalse(Objects.isNull(busDevice.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusDeviceService.updateById(busDevice)); + return ReturnUtil.success(iBusDeviceService.updateBusDevice(busDevice)); } @ApiOperation("批量删除") @@ -90,6 +94,37 @@ } + @ApiOperation("查看,直接取列表内容") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.detail(idDTO.getId())); + } + + @ApiOperation("数据查询") + @PostMapping("/monitorData") + @ResponseBody + public ReturnDTO monitorData(@RequestBody MonitorDataRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.monitorData(requestDTO)); + } + + @ApiOperation("报警记录") + @PostMapping("/alarmRecords") + @ResponseBody + public ReturnDTO alarmRecords(@RequestBody AlarmRecordsRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.alarmRecords(requestDTO)); + } + + @ApiOperation("批量导入") @RequestMapping(value = "/batchImport", method = RequestMethod.POST) @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 12b3d2b..9e21e3e 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -3,11 +3,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Map; + /** *

* 设备管理 Mapper 接口 @@ -24,4 +29,14 @@ @Param("scope") DataScope dataScope, @Param("deptStrs") String deptStrs); + List> monitorData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("devcode") String devcode, + @Param("uptime") String uptime, + @Param("logtime") String logtime, + @Param("orderColumn") String orderColumn, + @Param("request") MonitorDataRequestDTO request); + + List> alarmRecords(@Param("request") AlarmRecordsRequestDTO request); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index e1f94b0..7fc8052 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -33,7 +33,9 @@ bl.tagNumber as tagNumber, bl.place as "position", bl.DEPTID, - sd.FULL_NAME as deptName + sd.FULL_NAME as deptName, + bl.lngGaode as lng, + bl.latGaode as lat FROM bus_device bd LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID @@ -42,42 +44,86 @@ LEFT JOIN bus_manufacturer bm on bm.ID = bp.MANUFACTURER_ID LEFT JOIN bus_ledger_all_view bl on bl.ID = br.LEDGER_ID AND br.VALID=1 and bl.type = br.type LEFT JOIN sys_dept sd ON sd.ID =bl.DEPTID - where 1=1 + where bd.valid>0 - - and bd.DEVCODE like concat('%', #{request.devCode}, '%') - - - and bt.DEVICE_TYPE =#{request.devTypeId} - - - and bp.MANUFACTURER_ID =#{request.manufacturerId} - - - and (bl.place like concat('%', #{request.devCode}, '%') or bl.tagNumber like concat('%', - #{request.devCode}, '%')) - + + and bd.DEVCODE like concat('%', #{request.devCode}, '%') + + + and bt.id =#{request.devTypeId} + + + and bp.MANUFACTURER_ID =#{request.manufacturerId} + + + and (bl.place like concat('%', #{request.keys}, '%') or bl.tagNumber like concat('%', + #{request.keys}, '%')) + - - and br.DEPTID in (${deptStrs}) - + + and bl.DEPTID in (${deptStrs}) + - - and bd.ONLINE_STATE =#{request.onlineState} - - - and bd.valid =#{request.valid} - - - and bd.CELL #{request.cell} - - - and bd.LOGTIME = ]]> #{request.logtime1} - - - and bd.LOGTIME #{request.logtime2} - - ORDER BY bd.INSTALL_DATE DESC - + + and bd.ONLINE_STATE =#{request.onlineState} + + + and bd.valid =#{request.valid} + + + and bd.CELL #{request.cell} + + + and bd.LOGTIME = ]]> #{request.logTime1} + + + and bd.LOGTIME #{request.logTime2} + + ORDER BY bd.INSTALL_DATE DESC + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java new file mode 100644 index 0000000..501feef --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class AlarmRecordsRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty("报警类型,报警类型下拉列表") + private String alarmType; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java new file mode 100644 index 0000000..69872a6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class MonitorDataRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty(value = "设备类型名称",required = true) + private String typeName; + + @ApiModelProperty("采集开始时间") + private String upBegTime; + + @ApiModelProperty("采集结束时间") + private String upEndTime; + + @ApiModelProperty("上报开始时间") + private String logBegTime; + + @ApiModelProperty("上报结束时间") + private String logEndTime; +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java index e0afae6..9ba0f48 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java @@ -58,7 +58,6 @@ @TableField("PRODUCT_ID") private Long productId; - @ExcelProperty(value = "在用情况", order = 8) @ApiModelProperty("设备在用情况(1:在用、2:维修、3:备用、0:删除)") @TableField("VALID") private String valid; @@ -141,6 +140,19 @@ @TableField(exist = false) private String position; + @ExcelProperty(value = "在用情况", order = 8) + @ApiModelProperty("在用情况名称") + @TableField(exist = false) + private String validName; + + @ApiModelProperty("经度") + @TableField(exist = false) + private String lng; + + @ApiModelProperty("纬度") + @TableField(exist = false) + private String lat; + public BusDevice() { } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java index 386ee6b..d306388 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java @@ -19,4 +19,6 @@ void deleteDeviceLedgers(List deviceIds); + List getListByDeviceId(Long deviceId); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 75afeda..7dad93c 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -3,12 +3,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; 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.base.service.IBaseExportService; 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.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -16,8 +18,10 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.ReturnUtil; @@ -76,7 +80,7 @@ Assert.isFalse(Objects.isNull(busDevice.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusDeviceService.updateById(busDevice)); + return ReturnUtil.success(iBusDeviceService.updateBusDevice(busDevice)); } @ApiOperation("批量删除") @@ -90,6 +94,37 @@ } + @ApiOperation("查看,直接取列表内容") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.detail(idDTO.getId())); + } + + @ApiOperation("数据查询") + @PostMapping("/monitorData") + @ResponseBody + public ReturnDTO monitorData(@RequestBody MonitorDataRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.monitorData(requestDTO)); + } + + @ApiOperation("报警记录") + @PostMapping("/alarmRecords") + @ResponseBody + public ReturnDTO alarmRecords(@RequestBody AlarmRecordsRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.alarmRecords(requestDTO)); + } + + @ApiOperation("批量导入") @RequestMapping(value = "/batchImport", method = RequestMethod.POST) @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 12b3d2b..9e21e3e 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -3,11 +3,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Map; + /** *

* 设备管理 Mapper 接口 @@ -24,4 +29,14 @@ @Param("scope") DataScope dataScope, @Param("deptStrs") String deptStrs); + List> monitorData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("devcode") String devcode, + @Param("uptime") String uptime, + @Param("logtime") String logtime, + @Param("orderColumn") String orderColumn, + @Param("request") MonitorDataRequestDTO request); + + List> alarmRecords(@Param("request") AlarmRecordsRequestDTO request); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index e1f94b0..7fc8052 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -33,7 +33,9 @@ bl.tagNumber as tagNumber, bl.place as "position", bl.DEPTID, - sd.FULL_NAME as deptName + sd.FULL_NAME as deptName, + bl.lngGaode as lng, + bl.latGaode as lat FROM bus_device bd LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID @@ -42,42 +44,86 @@ LEFT JOIN bus_manufacturer bm on bm.ID = bp.MANUFACTURER_ID LEFT JOIN bus_ledger_all_view bl on bl.ID = br.LEDGER_ID AND br.VALID=1 and bl.type = br.type LEFT JOIN sys_dept sd ON sd.ID =bl.DEPTID - where 1=1 + where bd.valid>0 - - and bd.DEVCODE like concat('%', #{request.devCode}, '%') - - - and bt.DEVICE_TYPE =#{request.devTypeId} - - - and bp.MANUFACTURER_ID =#{request.manufacturerId} - - - and (bl.place like concat('%', #{request.devCode}, '%') or bl.tagNumber like concat('%', - #{request.devCode}, '%')) - + + and bd.DEVCODE like concat('%', #{request.devCode}, '%') + + + and bt.id =#{request.devTypeId} + + + and bp.MANUFACTURER_ID =#{request.manufacturerId} + + + and (bl.place like concat('%', #{request.keys}, '%') or bl.tagNumber like concat('%', + #{request.keys}, '%')) + - - and br.DEPTID in (${deptStrs}) - + + and bl.DEPTID in (${deptStrs}) + - - and bd.ONLINE_STATE =#{request.onlineState} - - - and bd.valid =#{request.valid} - - - and bd.CELL #{request.cell} - - - and bd.LOGTIME = ]]> #{request.logtime1} - - - and bd.LOGTIME #{request.logtime2} - - ORDER BY bd.INSTALL_DATE DESC - + + and bd.ONLINE_STATE =#{request.onlineState} + + + and bd.valid =#{request.valid} + + + and bd.CELL #{request.cell} + + + and bd.LOGTIME = ]]> #{request.logTime1} + + + and bd.LOGTIME #{request.logTime2} + + ORDER BY bd.INSTALL_DATE DESC + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java new file mode 100644 index 0000000..501feef --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class AlarmRecordsRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty("报警类型,报警类型下拉列表") + private String alarmType; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java new file mode 100644 index 0000000..69872a6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class MonitorDataRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty(value = "设备类型名称",required = true) + private String typeName; + + @ApiModelProperty("采集开始时间") + private String upBegTime; + + @ApiModelProperty("采集结束时间") + private String upEndTime; + + @ApiModelProperty("上报开始时间") + private String logBegTime; + + @ApiModelProperty("上报结束时间") + private String logEndTime; +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java index e0afae6..9ba0f48 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java @@ -58,7 +58,6 @@ @TableField("PRODUCT_ID") private Long productId; - @ExcelProperty(value = "在用情况", order = 8) @ApiModelProperty("设备在用情况(1:在用、2:维修、3:备用、0:删除)") @TableField("VALID") private String valid; @@ -141,6 +140,19 @@ @TableField(exist = false) private String position; + @ExcelProperty(value = "在用情况", order = 8) + @ApiModelProperty("在用情况名称") + @TableField(exist = false) + private String validName; + + @ApiModelProperty("经度") + @TableField(exist = false) + private String lng; + + @ApiModelProperty("纬度") + @TableField(exist = false) + private String lat; + public BusDevice() { } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java index 386ee6b..d306388 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java @@ -19,4 +19,6 @@ void deleteDeviceLedgers(List deviceIds); + List getListByDeviceId(Long deviceId); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java index 7be03a3..13eaaa0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import java.util.List; +import java.util.Map; /** *

@@ -25,6 +28,14 @@ boolean batchDeleteDevice(List ids); + boolean updateBusDevice(BusDevice busDevice); + + BusDevice detail(Long id); + + List> monitorData(MonitorDataRequestDTO requestDTO); + + List> alarmRecords(AlarmRecordsRequestDTO requestDTO); + List addDeviceBatch(List results); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 75afeda..7dad93c 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -3,12 +3,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; 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.base.service.IBaseExportService; 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.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -16,8 +18,10 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.ReturnUtil; @@ -76,7 +80,7 @@ Assert.isFalse(Objects.isNull(busDevice.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusDeviceService.updateById(busDevice)); + return ReturnUtil.success(iBusDeviceService.updateBusDevice(busDevice)); } @ApiOperation("批量删除") @@ -90,6 +94,37 @@ } + @ApiOperation("查看,直接取列表内容") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.detail(idDTO.getId())); + } + + @ApiOperation("数据查询") + @PostMapping("/monitorData") + @ResponseBody + public ReturnDTO monitorData(@RequestBody MonitorDataRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.monitorData(requestDTO)); + } + + @ApiOperation("报警记录") + @PostMapping("/alarmRecords") + @ResponseBody + public ReturnDTO alarmRecords(@RequestBody AlarmRecordsRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.alarmRecords(requestDTO)); + } + + @ApiOperation("批量导入") @RequestMapping(value = "/batchImport", method = RequestMethod.POST) @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 12b3d2b..9e21e3e 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -3,11 +3,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Map; + /** *

* 设备管理 Mapper 接口 @@ -24,4 +29,14 @@ @Param("scope") DataScope dataScope, @Param("deptStrs") String deptStrs); + List> monitorData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("devcode") String devcode, + @Param("uptime") String uptime, + @Param("logtime") String logtime, + @Param("orderColumn") String orderColumn, + @Param("request") MonitorDataRequestDTO request); + + List> alarmRecords(@Param("request") AlarmRecordsRequestDTO request); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index e1f94b0..7fc8052 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -33,7 +33,9 @@ bl.tagNumber as tagNumber, bl.place as "position", bl.DEPTID, - sd.FULL_NAME as deptName + sd.FULL_NAME as deptName, + bl.lngGaode as lng, + bl.latGaode as lat FROM bus_device bd LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID @@ -42,42 +44,86 @@ LEFT JOIN bus_manufacturer bm on bm.ID = bp.MANUFACTURER_ID LEFT JOIN bus_ledger_all_view bl on bl.ID = br.LEDGER_ID AND br.VALID=1 and bl.type = br.type LEFT JOIN sys_dept sd ON sd.ID =bl.DEPTID - where 1=1 + where bd.valid>0 - - and bd.DEVCODE like concat('%', #{request.devCode}, '%') - - - and bt.DEVICE_TYPE =#{request.devTypeId} - - - and bp.MANUFACTURER_ID =#{request.manufacturerId} - - - and (bl.place like concat('%', #{request.devCode}, '%') or bl.tagNumber like concat('%', - #{request.devCode}, '%')) - + + and bd.DEVCODE like concat('%', #{request.devCode}, '%') + + + and bt.id =#{request.devTypeId} + + + and bp.MANUFACTURER_ID =#{request.manufacturerId} + + + and (bl.place like concat('%', #{request.keys}, '%') or bl.tagNumber like concat('%', + #{request.keys}, '%')) + - - and br.DEPTID in (${deptStrs}) - + + and bl.DEPTID in (${deptStrs}) + - - and bd.ONLINE_STATE =#{request.onlineState} - - - and bd.valid =#{request.valid} - - - and bd.CELL #{request.cell} - - - and bd.LOGTIME = ]]> #{request.logtime1} - - - and bd.LOGTIME #{request.logtime2} - - ORDER BY bd.INSTALL_DATE DESC - + + and bd.ONLINE_STATE =#{request.onlineState} + + + and bd.valid =#{request.valid} + + + and bd.CELL #{request.cell} + + + and bd.LOGTIME = ]]> #{request.logTime1} + + + and bd.LOGTIME #{request.logTime2} + + ORDER BY bd.INSTALL_DATE DESC + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java new file mode 100644 index 0000000..501feef --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class AlarmRecordsRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty("报警类型,报警类型下拉列表") + private String alarmType; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java new file mode 100644 index 0000000..69872a6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class MonitorDataRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty(value = "设备类型名称",required = true) + private String typeName; + + @ApiModelProperty("采集开始时间") + private String upBegTime; + + @ApiModelProperty("采集结束时间") + private String upEndTime; + + @ApiModelProperty("上报开始时间") + private String logBegTime; + + @ApiModelProperty("上报结束时间") + private String logEndTime; +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java index e0afae6..9ba0f48 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java @@ -58,7 +58,6 @@ @TableField("PRODUCT_ID") private Long productId; - @ExcelProperty(value = "在用情况", order = 8) @ApiModelProperty("设备在用情况(1:在用、2:维修、3:备用、0:删除)") @TableField("VALID") private String valid; @@ -141,6 +140,19 @@ @TableField(exist = false) private String position; + @ExcelProperty(value = "在用情况", order = 8) + @ApiModelProperty("在用情况名称") + @TableField(exist = false) + private String validName; + + @ApiModelProperty("经度") + @TableField(exist = false) + private String lng; + + @ApiModelProperty("纬度") + @TableField(exist = false) + private String lat; + public BusDevice() { } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java index 386ee6b..d306388 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java @@ -19,4 +19,6 @@ void deleteDeviceLedgers(List deviceIds); + List getListByDeviceId(Long deviceId); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java index 7be03a3..13eaaa0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import java.util.List; +import java.util.Map; /** *

@@ -25,6 +28,14 @@ boolean batchDeleteDevice(List ids); + boolean updateBusDevice(BusDevice busDevice); + + BusDevice detail(Long id); + + List> monitorData(MonitorDataRequestDTO requestDTO); + + List> alarmRecords(AlarmRecordsRequestDTO requestDTO); + List addDeviceBatch(List results); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java index acc29b3..2e4ab78 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java @@ -1,6 +1,8 @@ package com.casic.missiles.modular.device.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.entity.BusDeviceLedger; import com.casic.missiles.modular.device.dao.BusDeviceLedgerMapper; import com.casic.missiles.modular.device.service.IBusDeviceLedgerService; @@ -23,20 +25,29 @@ public class BusDeviceLedgerServiceImpl extends ServiceImpl implements IBusDeviceLedgerService { @Override - public boolean saveDeviceLedger(Long deviceID, List ledgerIds,String type) { + public boolean saveDeviceLedger(Long deviceID, List ledgerIds, String type) { //先删除绑定关系 this.deleteDeviceLedgers(Arrays.asList(deviceID)); List busDeviceLedgers = new ArrayList<>(); - ledgerIds.forEach(ledgerId->{ - busDeviceLedgers.add(new BusDeviceLedger(deviceID,ledgerId,type)); + ledgerIds.forEach(ledgerId -> { + busDeviceLedgers.add(new BusDeviceLedger(deviceID, ledgerId, type)); }); return this.saveBatch(busDeviceLedgers); } @Override public void deleteDeviceLedgers(List deviceIds) { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("DEVICE_ID", deviceIds); + updateWrapper.set("VALID", "-" + System.currentTimeMillis()); + this.update(updateWrapper); + } + + @Override + public List getListByDeviceId(Long deviceId) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("DEVICE_ID",deviceIds); - this.baseMapper.delete(queryWrapper); + queryWrapper.eq("DEVICE_ID", deviceId); + queryWrapper.eq("VALID", "1"); + return list(queryWrapper); } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 75afeda..7dad93c 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -3,12 +3,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; 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.base.service.IBaseExportService; 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.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -16,8 +18,10 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.ReturnUtil; @@ -76,7 +80,7 @@ Assert.isFalse(Objects.isNull(busDevice.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusDeviceService.updateById(busDevice)); + return ReturnUtil.success(iBusDeviceService.updateBusDevice(busDevice)); } @ApiOperation("批量删除") @@ -90,6 +94,37 @@ } + @ApiOperation("查看,直接取列表内容") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.detail(idDTO.getId())); + } + + @ApiOperation("数据查询") + @PostMapping("/monitorData") + @ResponseBody + public ReturnDTO monitorData(@RequestBody MonitorDataRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.monitorData(requestDTO)); + } + + @ApiOperation("报警记录") + @PostMapping("/alarmRecords") + @ResponseBody + public ReturnDTO alarmRecords(@RequestBody AlarmRecordsRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.alarmRecords(requestDTO)); + } + + @ApiOperation("批量导入") @RequestMapping(value = "/batchImport", method = RequestMethod.POST) @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 12b3d2b..9e21e3e 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -3,11 +3,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Map; + /** *

* 设备管理 Mapper 接口 @@ -24,4 +29,14 @@ @Param("scope") DataScope dataScope, @Param("deptStrs") String deptStrs); + List> monitorData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("devcode") String devcode, + @Param("uptime") String uptime, + @Param("logtime") String logtime, + @Param("orderColumn") String orderColumn, + @Param("request") MonitorDataRequestDTO request); + + List> alarmRecords(@Param("request") AlarmRecordsRequestDTO request); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index e1f94b0..7fc8052 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -33,7 +33,9 @@ bl.tagNumber as tagNumber, bl.place as "position", bl.DEPTID, - sd.FULL_NAME as deptName + sd.FULL_NAME as deptName, + bl.lngGaode as lng, + bl.latGaode as lat FROM bus_device bd LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID @@ -42,42 +44,86 @@ LEFT JOIN bus_manufacturer bm on bm.ID = bp.MANUFACTURER_ID LEFT JOIN bus_ledger_all_view bl on bl.ID = br.LEDGER_ID AND br.VALID=1 and bl.type = br.type LEFT JOIN sys_dept sd ON sd.ID =bl.DEPTID - where 1=1 + where bd.valid>0 - - and bd.DEVCODE like concat('%', #{request.devCode}, '%') - - - and bt.DEVICE_TYPE =#{request.devTypeId} - - - and bp.MANUFACTURER_ID =#{request.manufacturerId} - - - and (bl.place like concat('%', #{request.devCode}, '%') or bl.tagNumber like concat('%', - #{request.devCode}, '%')) - + + and bd.DEVCODE like concat('%', #{request.devCode}, '%') + + + and bt.id =#{request.devTypeId} + + + and bp.MANUFACTURER_ID =#{request.manufacturerId} + + + and (bl.place like concat('%', #{request.keys}, '%') or bl.tagNumber like concat('%', + #{request.keys}, '%')) + - - and br.DEPTID in (${deptStrs}) - + + and bl.DEPTID in (${deptStrs}) + - - and bd.ONLINE_STATE =#{request.onlineState} - - - and bd.valid =#{request.valid} - - - and bd.CELL #{request.cell} - - - and bd.LOGTIME = ]]> #{request.logtime1} - - - and bd.LOGTIME #{request.logtime2} - - ORDER BY bd.INSTALL_DATE DESC - + + and bd.ONLINE_STATE =#{request.onlineState} + + + and bd.valid =#{request.valid} + + + and bd.CELL #{request.cell} + + + and bd.LOGTIME = ]]> #{request.logTime1} + + + and bd.LOGTIME #{request.logTime2} + + ORDER BY bd.INSTALL_DATE DESC + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java new file mode 100644 index 0000000..501feef --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class AlarmRecordsRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty("报警类型,报警类型下拉列表") + private String alarmType; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java new file mode 100644 index 0000000..69872a6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class MonitorDataRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty(value = "设备类型名称",required = true) + private String typeName; + + @ApiModelProperty("采集开始时间") + private String upBegTime; + + @ApiModelProperty("采集结束时间") + private String upEndTime; + + @ApiModelProperty("上报开始时间") + private String logBegTime; + + @ApiModelProperty("上报结束时间") + private String logEndTime; +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java index e0afae6..9ba0f48 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java @@ -58,7 +58,6 @@ @TableField("PRODUCT_ID") private Long productId; - @ExcelProperty(value = "在用情况", order = 8) @ApiModelProperty("设备在用情况(1:在用、2:维修、3:备用、0:删除)") @TableField("VALID") private String valid; @@ -141,6 +140,19 @@ @TableField(exist = false) private String position; + @ExcelProperty(value = "在用情况", order = 8) + @ApiModelProperty("在用情况名称") + @TableField(exist = false) + private String validName; + + @ApiModelProperty("经度") + @TableField(exist = false) + private String lng; + + @ApiModelProperty("纬度") + @TableField(exist = false) + private String lat; + public BusDevice() { } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java index 386ee6b..d306388 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java @@ -19,4 +19,6 @@ void deleteDeviceLedgers(List deviceIds); + List getListByDeviceId(Long deviceId); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java index 7be03a3..13eaaa0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import java.util.List; +import java.util.Map; /** *

@@ -25,6 +28,14 @@ boolean batchDeleteDevice(List ids); + boolean updateBusDevice(BusDevice busDevice); + + BusDevice detail(Long id); + + List> monitorData(MonitorDataRequestDTO requestDTO); + + List> alarmRecords(AlarmRecordsRequestDTO requestDTO); + List addDeviceBatch(List results); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java index acc29b3..2e4ab78 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java @@ -1,6 +1,8 @@ package com.casic.missiles.modular.device.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.entity.BusDeviceLedger; import com.casic.missiles.modular.device.dao.BusDeviceLedgerMapper; import com.casic.missiles.modular.device.service.IBusDeviceLedgerService; @@ -23,20 +25,29 @@ public class BusDeviceLedgerServiceImpl extends ServiceImpl implements IBusDeviceLedgerService { @Override - public boolean saveDeviceLedger(Long deviceID, List ledgerIds,String type) { + public boolean saveDeviceLedger(Long deviceID, List ledgerIds, String type) { //先删除绑定关系 this.deleteDeviceLedgers(Arrays.asList(deviceID)); List busDeviceLedgers = new ArrayList<>(); - ledgerIds.forEach(ledgerId->{ - busDeviceLedgers.add(new BusDeviceLedger(deviceID,ledgerId,type)); + ledgerIds.forEach(ledgerId -> { + busDeviceLedgers.add(new BusDeviceLedger(deviceID, ledgerId, type)); }); return this.saveBatch(busDeviceLedgers); } @Override public void deleteDeviceLedgers(List deviceIds) { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("DEVICE_ID", deviceIds); + updateWrapper.set("VALID", "-" + System.currentTimeMillis()); + this.update(updateWrapper); + } + + @Override + public List getListByDeviceId(Long deviceId) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("DEVICE_ID",deviceIds); - this.baseMapper.delete(queryWrapper); + queryWrapper.eq("DEVICE_ID", deviceId); + queryWrapper.eq("VALID", "1"); + return list(queryWrapper); } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java index 6b539f5..cb5abe3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java @@ -8,10 +8,13 @@ import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.enums.DeviceDataEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dao.BusDeviceMapper; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.*; import com.casic.missiles.modular.device.service.*; import lombok.RequiredArgsConstructor; @@ -20,7 +23,9 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -70,11 +75,37 @@ List busDeviceList = busDevicePage.getRecords(); busDeviceList.forEach(busDevice -> { busDevice.setWatchObject(abstractDictService.getDictNameByCode("watchObject", busDevice.getWatchObject())); -// busDevice.set(abstractDictService.getDictNameByCode("watchObject",busDevice.getWatchObject())); + busDevice.setValidName(abstractDictService.getDictNameByCode("useStatus",busDevice.getValid())); }); return busDevicePage; } + @Override + public BusDevice detail(Long id) { + return null; + } + + @Override + public List> monitorData(MonitorDataRequestDTO request) { + List> resultMap = new ArrayList<>(); + DeviceDataEnum deviceDataEnum = DeviceDataEnum.typeOf(request.getTypeName()); + if(null!=deviceDataEnum){ + String[] queryColumns = deviceDataEnum.getQueryColumns().split(",",3); + resultMap = this.baseMapper.monitorData(deviceDataEnum.getTableName(), + deviceDataEnum.getTableColumns(), + queryColumns[0], + queryColumns[1], + queryColumns[2], + deviceDataEnum.getOrderColumn(), + request); + } + return resultMap; + } + + @Override + public List> alarmRecords(AlarmRecordsRequestDTO requestDTO) { + return this.baseMapper.alarmRecords(requestDTO); + } @Transactional @Override @@ -82,7 +113,7 @@ //先删除绑定关系 busDeviceLedgerService.deleteDeviceLedgers(ids); //删除设备表设备数据 - this.baseMapper.deleteBatchIds(ids); + this.deleteDevices(ids); //添加删除日志 List busDeviceList = this.baseMapper.selectBatchIds(ids); List busDeviceLogList = new ArrayList<>(); @@ -90,13 +121,48 @@ BusDeviceLog busDeviceLog = new BusDeviceLog(busDevice.getDevcode(), "3", ""); busDeviceLogList.add(busDeviceLog); }); - iBusDeviceLogService.saveBatch(busDeviceLogList); - return true; + return iBusDeviceLogService.saveBatch(busDeviceLogList); } @Transactional @Override + public boolean updateBusDevice(BusDevice busDevice) { + //绑定安装位置处理 + List ledgerIds = busDevice.getLedgerIds(); + if (ledgerIds == null || ledgerIds.size() < 1) { + busDeviceLedgerService.deleteDeviceLedgers(Arrays.asList(busDevice.getId())); + } else { + List busDeviceLedgers = busDeviceLedgerService.getListByDeviceId(busDevice.getId()); + //没绑定关系,先绑定 + if (ObjectUtil.isNotEmpty(busDeviceLedgers)) { + busDeviceLedgerService.saveDeviceLedger(busDevice.getId(), busDevice.getLedgerIds(), busDevice.getWatchObject()); + } else { + //已绑定,判断是否位置变了 + List ledgerIdsPre = busDeviceLedgers.stream().map(BusDeviceLedger::getLedgerId).collect(Collectors.toList()); + if (ledgerIds.containsAll(ledgerIdsPre) && ledgerIdsPre.containsAll(ledgerIds)) { + } else { + busDeviceLedgerService.deleteDeviceLedgers(Arrays.asList(busDevice.getId())); + busDeviceLedgerService.saveDeviceLedger(busDevice.getId(), busDevice.getLedgerIds(), busDevice.getWatchObject()); + } + } + } + return this.updateById(busDevice); + } + + public void deleteDevices(List ids) { + List deviceList = new ArrayList<>(); + ids.forEach(id -> { + BusDevice busDevice = new BusDevice(); + busDevice.setId(id); + busDevice.setValid("-" + System.currentTimeMillis()); + deviceList.add(busDevice); + }); + this.updateBatchById(deviceList); + } + + @Transactional + @Override public List addDeviceBatch(List results) { List list = new ArrayList<>(); if (!CollectionUtil.isEmpty(results)) { @@ -113,14 +179,14 @@ //设置设备相关信息 deviceImportDTO.setDeviceType(baseProduct.getDeviceType()); baseDeviceTypes.forEach(baseDeviceType -> { - if(baseProduct.getDeviceType().equals(baseDeviceType.getId())){ + if (baseProduct.getDeviceType().equals(baseDeviceType.getId())) { deviceImportDTO.setWatchObject(baseDeviceType.getWatchObject()); } }); //若安装位号不为空,检查是否存在 - if(ObjectUtil.isNotEmpty(deviceImportDTO.getTagNumber())){ - List ledgerIds = iBusLedgerService.ledgerIdsByTagNumber(deviceImportDTO.getTagNumber(),deviceImportDTO.getWatchObject()); - if(null==ledgerIds||ledgerIds.size()<1){ + if (ObjectUtil.isNotEmpty(deviceImportDTO.getTagNumber())) { + List ledgerIds = iBusLedgerService.ledgerIdsByTagNumber(deviceImportDTO.getTagNumber(), deviceImportDTO.getWatchObject()); + if (null == ledgerIds || ledgerIds.size() < 1) { list.add("第" + index[0] + "行,安装位号不存在!"); return; } @@ -139,7 +205,7 @@ List busDeviceLedgers = new ArrayList<>(); busDeviceList.forEach(device -> { - busDeviceLedgers.add(new BusDeviceLedger(device.getId(),device.getDeviceType(),device.getWatchObject())); + busDeviceLedgers.add(new BusDeviceLedger(device.getId(), device.getDeviceType(), device.getWatchObject())); }); if (CollectionUtil.isNotEmpty(busDeviceLedgers)) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java index 75afeda..7dad93c 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceController.java @@ -3,12 +3,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; 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.base.service.IBaseExportService; 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.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -16,8 +18,10 @@ import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceService; import com.casic.missiles.util.ReturnUtil; @@ -76,7 +80,7 @@ Assert.isFalse(Objects.isNull(busDevice.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iBusDeviceService.updateById(busDevice)); + return ReturnUtil.success(iBusDeviceService.updateBusDevice(busDevice)); } @ApiOperation("批量删除") @@ -90,6 +94,37 @@ } + @ApiOperation("查看,直接取列表内容") + @PostMapping("/detail") + @ResponseBody + public ReturnDTO detail(@RequestBody IdDTO idDTO) { + Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.detail(idDTO.getId())); + } + + @ApiOperation("数据查询") + @PostMapping("/monitorData") + @ResponseBody + public ReturnDTO monitorData(@RequestBody MonitorDataRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.monitorData(requestDTO)); + } + + @ApiOperation("报警记录") + @PostMapping("/alarmRecords") + @ResponseBody + public ReturnDTO alarmRecords(@RequestBody AlarmRecordsRequestDTO requestDTO) { + Assert.isFalse(ObjectUtil.isEmpty(requestDTO.getDevcode()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusDeviceService.alarmRecords(requestDTO)); + } + + @ApiOperation("批量导入") @RequestMapping(value = "/batchImport", method = RequestMethod.POST) @ResponseBody diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java index 12b3d2b..9e21e3e 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceMapper.java @@ -3,11 +3,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Map; + /** *

* 设备管理 Mapper 接口 @@ -24,4 +29,14 @@ @Param("scope") DataScope dataScope, @Param("deptStrs") String deptStrs); + List> monitorData(@Param("tableName") String tableName, + @Param("tableColumns") String tableColumns, + @Param("devcode") String devcode, + @Param("uptime") String uptime, + @Param("logtime") String logtime, + @Param("orderColumn") String orderColumn, + @Param("request") MonitorDataRequestDTO request); + + List> alarmRecords(@Param("request") AlarmRecordsRequestDTO request); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml index e1f94b0..7fc8052 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceMapper.xml @@ -33,7 +33,9 @@ bl.tagNumber as tagNumber, bl.place as "position", bl.DEPTID, - sd.FULL_NAME as deptName + sd.FULL_NAME as deptName, + bl.lngGaode as lng, + bl.latGaode as lat FROM bus_device bd LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID @@ -42,42 +44,86 @@ LEFT JOIN bus_manufacturer bm on bm.ID = bp.MANUFACTURER_ID LEFT JOIN bus_ledger_all_view bl on bl.ID = br.LEDGER_ID AND br.VALID=1 and bl.type = br.type LEFT JOIN sys_dept sd ON sd.ID =bl.DEPTID - where 1=1 + where bd.valid>0 - - and bd.DEVCODE like concat('%', #{request.devCode}, '%') - - - and bt.DEVICE_TYPE =#{request.devTypeId} - - - and bp.MANUFACTURER_ID =#{request.manufacturerId} - - - and (bl.place like concat('%', #{request.devCode}, '%') or bl.tagNumber like concat('%', - #{request.devCode}, '%')) - + + and bd.DEVCODE like concat('%', #{request.devCode}, '%') + + + and bt.id =#{request.devTypeId} + + + and bp.MANUFACTURER_ID =#{request.manufacturerId} + + + and (bl.place like concat('%', #{request.keys}, '%') or bl.tagNumber like concat('%', + #{request.keys}, '%')) + - - and br.DEPTID in (${deptStrs}) - + + and bl.DEPTID in (${deptStrs}) + - - and bd.ONLINE_STATE =#{request.onlineState} - - - and bd.valid =#{request.valid} - - - and bd.CELL #{request.cell} - - - and bd.LOGTIME = ]]> #{request.logtime1} - - - and bd.LOGTIME #{request.logtime2} - - ORDER BY bd.INSTALL_DATE DESC - + + and bd.ONLINE_STATE =#{request.onlineState} + + + and bd.valid =#{request.valid} + + + and bd.CELL #{request.cell} + + + and bd.LOGTIME = ]]> #{request.logTime1} + + + and bd.LOGTIME #{request.logTime2} + + ORDER BY bd.INSTALL_DATE DESC + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java new file mode 100644 index 0000000..501feef --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/AlarmRecordsRequestDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class AlarmRecordsRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty("报警类型,报警类型下拉列表") + private String alarmType; + + @ApiModelProperty("开始时间") + private String begTime; + + @ApiModelProperty("结束时间") + private String endTime; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java new file mode 100644 index 0000000..69872a6 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/MonitorDataRequestDTO.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.device.dto; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class MonitorDataRequestDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value="设备编号",required = true) + private String devcode; + + @ApiModelProperty(value = "设备类型名称",required = true) + private String typeName; + + @ApiModelProperty("采集开始时间") + private String upBegTime; + + @ApiModelProperty("采集结束时间") + private String upEndTime; + + @ApiModelProperty("上报开始时间") + private String logBegTime; + + @ApiModelProperty("上报结束时间") + private String logEndTime; +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java index e0afae6..9ba0f48 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDevice.java @@ -58,7 +58,6 @@ @TableField("PRODUCT_ID") private Long productId; - @ExcelProperty(value = "在用情况", order = 8) @ApiModelProperty("设备在用情况(1:在用、2:维修、3:备用、0:删除)") @TableField("VALID") private String valid; @@ -141,6 +140,19 @@ @TableField(exist = false) private String position; + @ExcelProperty(value = "在用情况", order = 8) + @ApiModelProperty("在用情况名称") + @TableField(exist = false) + private String validName; + + @ApiModelProperty("经度") + @TableField(exist = false) + private String lng; + + @ApiModelProperty("纬度") + @TableField(exist = false) + private String lat; + public BusDevice() { } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java index 386ee6b..d306388 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java @@ -19,4 +19,6 @@ void deleteDeviceLedgers(List deviceIds); + List getListByDeviceId(Long deviceId); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java index 7be03a3..13eaaa0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceService.java @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.BusDevice; import java.util.List; +import java.util.Map; /** *

@@ -25,6 +28,14 @@ boolean batchDeleteDevice(List ids); + boolean updateBusDevice(BusDevice busDevice); + + BusDevice detail(Long id); + + List> monitorData(MonitorDataRequestDTO requestDTO); + + List> alarmRecords(AlarmRecordsRequestDTO requestDTO); + List addDeviceBatch(List results); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java index acc29b3..2e4ab78 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java @@ -1,6 +1,8 @@ package com.casic.missiles.modular.device.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.entity.BusDeviceLedger; import com.casic.missiles.modular.device.dao.BusDeviceLedgerMapper; import com.casic.missiles.modular.device.service.IBusDeviceLedgerService; @@ -23,20 +25,29 @@ public class BusDeviceLedgerServiceImpl extends ServiceImpl implements IBusDeviceLedgerService { @Override - public boolean saveDeviceLedger(Long deviceID, List ledgerIds,String type) { + public boolean saveDeviceLedger(Long deviceID, List ledgerIds, String type) { //先删除绑定关系 this.deleteDeviceLedgers(Arrays.asList(deviceID)); List busDeviceLedgers = new ArrayList<>(); - ledgerIds.forEach(ledgerId->{ - busDeviceLedgers.add(new BusDeviceLedger(deviceID,ledgerId,type)); + ledgerIds.forEach(ledgerId -> { + busDeviceLedgers.add(new BusDeviceLedger(deviceID, ledgerId, type)); }); return this.saveBatch(busDeviceLedgers); } @Override public void deleteDeviceLedgers(List deviceIds) { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("DEVICE_ID", deviceIds); + updateWrapper.set("VALID", "-" + System.currentTimeMillis()); + this.update(updateWrapper); + } + + @Override + public List getListByDeviceId(Long deviceId) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("DEVICE_ID",deviceIds); - this.baseMapper.delete(queryWrapper); + queryWrapper.eq("DEVICE_ID", deviceId); + queryWrapper.eq("VALID", "1"); + return list(queryWrapper); } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java index 6b539f5..cb5abe3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java @@ -8,10 +8,13 @@ import com.casic.missiles.core.application.service.AbstractDeptService; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.enums.DeviceDataEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.device.dao.BusDeviceMapper; +import com.casic.missiles.modular.device.dto.AlarmRecordsRequestDTO; import com.casic.missiles.modular.device.dto.BusDeviceDTO; import com.casic.missiles.modular.device.dto.BusDeviceImportDTO; +import com.casic.missiles.modular.device.dto.MonitorDataRequestDTO; import com.casic.missiles.modular.device.entity.*; import com.casic.missiles.modular.device.service.*; import lombok.RequiredArgsConstructor; @@ -20,7 +23,9 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -70,11 +75,37 @@ List busDeviceList = busDevicePage.getRecords(); busDeviceList.forEach(busDevice -> { busDevice.setWatchObject(abstractDictService.getDictNameByCode("watchObject", busDevice.getWatchObject())); -// busDevice.set(abstractDictService.getDictNameByCode("watchObject",busDevice.getWatchObject())); + busDevice.setValidName(abstractDictService.getDictNameByCode("useStatus",busDevice.getValid())); }); return busDevicePage; } + @Override + public BusDevice detail(Long id) { + return null; + } + + @Override + public List> monitorData(MonitorDataRequestDTO request) { + List> resultMap = new ArrayList<>(); + DeviceDataEnum deviceDataEnum = DeviceDataEnum.typeOf(request.getTypeName()); + if(null!=deviceDataEnum){ + String[] queryColumns = deviceDataEnum.getQueryColumns().split(",",3); + resultMap = this.baseMapper.monitorData(deviceDataEnum.getTableName(), + deviceDataEnum.getTableColumns(), + queryColumns[0], + queryColumns[1], + queryColumns[2], + deviceDataEnum.getOrderColumn(), + request); + } + return resultMap; + } + + @Override + public List> alarmRecords(AlarmRecordsRequestDTO requestDTO) { + return this.baseMapper.alarmRecords(requestDTO); + } @Transactional @Override @@ -82,7 +113,7 @@ //先删除绑定关系 busDeviceLedgerService.deleteDeviceLedgers(ids); //删除设备表设备数据 - this.baseMapper.deleteBatchIds(ids); + this.deleteDevices(ids); //添加删除日志 List busDeviceList = this.baseMapper.selectBatchIds(ids); List busDeviceLogList = new ArrayList<>(); @@ -90,13 +121,48 @@ BusDeviceLog busDeviceLog = new BusDeviceLog(busDevice.getDevcode(), "3", ""); busDeviceLogList.add(busDeviceLog); }); - iBusDeviceLogService.saveBatch(busDeviceLogList); - return true; + return iBusDeviceLogService.saveBatch(busDeviceLogList); } @Transactional @Override + public boolean updateBusDevice(BusDevice busDevice) { + //绑定安装位置处理 + List ledgerIds = busDevice.getLedgerIds(); + if (ledgerIds == null || ledgerIds.size() < 1) { + busDeviceLedgerService.deleteDeviceLedgers(Arrays.asList(busDevice.getId())); + } else { + List busDeviceLedgers = busDeviceLedgerService.getListByDeviceId(busDevice.getId()); + //没绑定关系,先绑定 + if (ObjectUtil.isNotEmpty(busDeviceLedgers)) { + busDeviceLedgerService.saveDeviceLedger(busDevice.getId(), busDevice.getLedgerIds(), busDevice.getWatchObject()); + } else { + //已绑定,判断是否位置变了 + List ledgerIdsPre = busDeviceLedgers.stream().map(BusDeviceLedger::getLedgerId).collect(Collectors.toList()); + if (ledgerIds.containsAll(ledgerIdsPre) && ledgerIdsPre.containsAll(ledgerIds)) { + } else { + busDeviceLedgerService.deleteDeviceLedgers(Arrays.asList(busDevice.getId())); + busDeviceLedgerService.saveDeviceLedger(busDevice.getId(), busDevice.getLedgerIds(), busDevice.getWatchObject()); + } + } + } + return this.updateById(busDevice); + } + + public void deleteDevices(List ids) { + List deviceList = new ArrayList<>(); + ids.forEach(id -> { + BusDevice busDevice = new BusDevice(); + busDevice.setId(id); + busDevice.setValid("-" + System.currentTimeMillis()); + deviceList.add(busDevice); + }); + this.updateBatchById(deviceList); + } + + @Transactional + @Override public List addDeviceBatch(List results) { List list = new ArrayList<>(); if (!CollectionUtil.isEmpty(results)) { @@ -113,14 +179,14 @@ //设置设备相关信息 deviceImportDTO.setDeviceType(baseProduct.getDeviceType()); baseDeviceTypes.forEach(baseDeviceType -> { - if(baseProduct.getDeviceType().equals(baseDeviceType.getId())){ + if (baseProduct.getDeviceType().equals(baseDeviceType.getId())) { deviceImportDTO.setWatchObject(baseDeviceType.getWatchObject()); } }); //若安装位号不为空,检查是否存在 - if(ObjectUtil.isNotEmpty(deviceImportDTO.getTagNumber())){ - List ledgerIds = iBusLedgerService.ledgerIdsByTagNumber(deviceImportDTO.getTagNumber(),deviceImportDTO.getWatchObject()); - if(null==ledgerIds||ledgerIds.size()<1){ + if (ObjectUtil.isNotEmpty(deviceImportDTO.getTagNumber())) { + List ledgerIds = iBusLedgerService.ledgerIdsByTagNumber(deviceImportDTO.getTagNumber(), deviceImportDTO.getWatchObject()); + if (null == ledgerIds || ledgerIds.size() < 1) { list.add("第" + index[0] + "行,安装位号不存在!"); return; } @@ -139,7 +205,7 @@ List busDeviceLedgers = new ArrayList<>(); busDeviceList.forEach(device -> { - busDeviceLedgers.add(new BusDeviceLedger(device.getId(),device.getDeviceType(),device.getWatchObject())); + busDeviceLedgers.add(new BusDeviceLedger(device.getId(), device.getDeviceType(), device.getWatchObject())); }); if (CollectionUtil.isNotEmpty(busDeviceLedgers)) { 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 index a75cd5c..ee83ba4 100644 --- a/casic-public/src/main/java/com/casic/missiles/enums/DeviceDataEnum.java +++ b/casic-public/src/main/java/com/casic/missiles/enums/DeviceDataEnum.java @@ -4,7 +4,10 @@ public enum DeviceDataEnum { - DATA_GAS("燃气智能监测终端", "data_gas", "井内燃气浓度", "id,well_code,devcode,cell,strength,descn,uptime,logtime,pci,rsrp,snr", "logtime"); + DATA_GAS("燃气智能监测终端", "data_gas", "devcode,uptime,logtime", "id,well_code,devcode,cell,strength,descn,uptime,logtime,pci,rsrp,snr", "logtime"), + DATA_TUBE_OTHER("管网哨兵", "data_tube_other", "devcode,uptime,logtime", "DEVCODE,GASVAL, VBAT,SIN,RSRP,SINR,UPTIME,LOGTIME", "logtime"), + DATA_MONITOR_PIPE_OTHER("智能警示桩", "data_monitor_pipe_other", "devcode,uptime,logtime", "id,well_code,devcode,cell,strength,descn,uptime,logtime,pci,rsrp,snr", "logtime"), + DATA_PAN_GAS("场站监测云台", "data_pan_gas", "DEVICE_CODE,,logtime", "id,well_code,devcode,cell,strength,descn,uptime,logtime,pci,rsrp,snr", "logtime"); public static DeviceDataEnum typeOf(String type) { DeviceDataEnum deviceDataEnum = null; @@ -12,29 +15,38 @@ case "燃气智能监测终端": deviceDataEnum = DATA_GAS; break; + case "场站监测云台": + deviceDataEnum = DATA_PAN_GAS; + break; + case "管网哨兵": + deviceDataEnum = DATA_TUBE_OTHER; + break; + case "智能警示桩": + deviceDataEnum = DATA_MONITOR_PIPE_OTHER; + break; default: deviceDataEnum = null; } return deviceDataEnum; } - String typeName; + String queryColumns; String tableName; String tableColumns; String orderColumn; String type; - DeviceDataEnum(String type, String tableName, String typeName, String tableColumns, String orderColumn) { + DeviceDataEnum(String type, String tableName, String queryColumns, String tableColumns, String orderColumn) { this.type = type; - this.typeName = typeName; + this.queryColumns = queryColumns; this.tableName = tableName; this.tableColumns = tableColumns; this.orderColumn = orderColumn; ; } - public String getTypeName() { - return typeName; + public String getQueryColumns() { + return queryColumns; } public String getTableName() {