diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java index c87081d..9886913 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java @@ -1,6 +1,8 @@ package com.casic.missiles.modular.system.controller; import com.casic.missiles.modular.system.dto.BusWellInfoDto; +import com.casic.missiles.modular.system.dto.DeviceDataDto; +import com.casic.missiles.modular.system.dto.DeviceInfoDto; import com.casic.missiles.modular.system.dto.WatchDataDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.service.IBusWellInfoService; @@ -63,16 +65,16 @@ /** * 不需要了,由dataScope控制权限 - // 查询并添加下级部门的闸井 - List subDepts = permissionService.getSubDepts(deptid,null); - if (null != subDepts && subDepts.isEmpty() == false) { - for (Long subDeptId : subDepts) { - List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); - if (null != subList && subList.isEmpty() == false) { - wellList.addAll(subList); - } - } - } + // 查询并添加下级部门的闸井 + List subDepts = permissionService.getSubDepts(deptid,null); + if (null != subDepts && subDepts.isEmpty() == false) { + for (Long subDeptId : subDepts) { + List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); + if (null != subList && subList.isEmpty() == false) { + wellList.addAll(subList); + } + } + } */ } else if (isAlarm.equals("1")) { // isAlarm = 1 查询所有报警状态的闸井 @@ -83,10 +85,50 @@ } - return ResponseData.success(wellList); } + /** + * 获取设备列表 + */ + @RequestMapping(value = "/deviceList") + @ResponseBody + public Object deviceList() { + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List wellList = new ArrayList(); + wellList = busWellInfoService.getDeviceList(dataScope); + return ResponseData.success(wellList); + } + + /** + * 获取设备详情 + */ + @RequestMapping(value = "/deviceDetail", method = RequestMethod.GET) + @ResponseBody + public Object deviceDetail(@RequestParam(required = true) Long id) { + if (ToolUtil.isEmpty(id)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + DeviceInfoDto deviceInfoDto = busWellInfoService.selectDeviceById(id); + SuccessResponseData successResult = new SuccessResponseData(); + if (null == deviceInfoDto) { + successResult.setCode(200); + successResult.setMessage("success"); + successResult.setData(new HashMap()); + } else { + // 设置最新的监测数据 + List deviceDataDtoList = busWellInfoService. + getDeviceDatas(deviceInfoDto.getDeviceTypeName(), deviceInfoDto.getDevcode(), deviceInfoDto.getOnlineState()); + if (ToolUtil.isNotEmpty(deviceDataDtoList)) { + deviceInfoDto.setRealtimeData(deviceDataDtoList); + } + successResult.setMessage("success"); + successResult.setData(deviceInfoDto); + } + return successResult; + } + /** * 获取闸井详情 @@ -94,12 +136,12 @@ @RequestMapping(value = "/wellInfo", method = RequestMethod.GET) @ResponseBody public Object wellInfo(@RequestParam(required = true) Long id) { - if(ToolUtil.isEmpty(id)){ + if (ToolUtil.isEmpty(id)) { throw new GunsException(GunsExceptionEnum.REQUEST_NULL); } BusWellInfo busWellInfo = busWellInfoService.selectById(id); - SuccessResponseData successResult = new SuccessResponseData(); + SuccessResponseData successResult = new SuccessResponseData(); if (null == busWellInfo) { successResult.setCode(200); successResult.setMessage("success"); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java index c87081d..9886913 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java @@ -1,6 +1,8 @@ package com.casic.missiles.modular.system.controller; import com.casic.missiles.modular.system.dto.BusWellInfoDto; +import com.casic.missiles.modular.system.dto.DeviceDataDto; +import com.casic.missiles.modular.system.dto.DeviceInfoDto; import com.casic.missiles.modular.system.dto.WatchDataDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.service.IBusWellInfoService; @@ -63,16 +65,16 @@ /** * 不需要了,由dataScope控制权限 - // 查询并添加下级部门的闸井 - List subDepts = permissionService.getSubDepts(deptid,null); - if (null != subDepts && subDepts.isEmpty() == false) { - for (Long subDeptId : subDepts) { - List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); - if (null != subList && subList.isEmpty() == false) { - wellList.addAll(subList); - } - } - } + // 查询并添加下级部门的闸井 + List subDepts = permissionService.getSubDepts(deptid,null); + if (null != subDepts && subDepts.isEmpty() == false) { + for (Long subDeptId : subDepts) { + List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); + if (null != subList && subList.isEmpty() == false) { + wellList.addAll(subList); + } + } + } */ } else if (isAlarm.equals("1")) { // isAlarm = 1 查询所有报警状态的闸井 @@ -83,10 +85,50 @@ } - return ResponseData.success(wellList); } + /** + * 获取设备列表 + */ + @RequestMapping(value = "/deviceList") + @ResponseBody + public Object deviceList() { + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List wellList = new ArrayList(); + wellList = busWellInfoService.getDeviceList(dataScope); + return ResponseData.success(wellList); + } + + /** + * 获取设备详情 + */ + @RequestMapping(value = "/deviceDetail", method = RequestMethod.GET) + @ResponseBody + public Object deviceDetail(@RequestParam(required = true) Long id) { + if (ToolUtil.isEmpty(id)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + DeviceInfoDto deviceInfoDto = busWellInfoService.selectDeviceById(id); + SuccessResponseData successResult = new SuccessResponseData(); + if (null == deviceInfoDto) { + successResult.setCode(200); + successResult.setMessage("success"); + successResult.setData(new HashMap()); + } else { + // 设置最新的监测数据 + List deviceDataDtoList = busWellInfoService. + getDeviceDatas(deviceInfoDto.getDeviceTypeName(), deviceInfoDto.getDevcode(), deviceInfoDto.getOnlineState()); + if (ToolUtil.isNotEmpty(deviceDataDtoList)) { + deviceInfoDto.setRealtimeData(deviceDataDtoList); + } + successResult.setMessage("success"); + successResult.setData(deviceInfoDto); + } + return successResult; + } + /** * 获取闸井详情 @@ -94,12 +136,12 @@ @RequestMapping(value = "/wellInfo", method = RequestMethod.GET) @ResponseBody public Object wellInfo(@RequestParam(required = true) Long id) { - if(ToolUtil.isEmpty(id)){ + if (ToolUtil.isEmpty(id)) { throw new GunsException(GunsExceptionEnum.REQUEST_NULL); } BusWellInfo busWellInfo = busWellInfoService.selectById(id); - SuccessResponseData successResult = new SuccessResponseData(); + SuccessResponseData successResult = new SuccessResponseData(); if (null == busWellInfo) { successResult.setCode(200); successResult.setMessage("success"); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index a17f487..caa2ca1 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -19,20 +19,30 @@ */ public interface BusWellInfoMapper extends BaseMapper { - List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page,@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt); + List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt); List getDeviceInWellInfo(@Param("id") Long id); + List watchData(@Param("id") Long id); DeviceData wellcoverData(@Param("devcode") String devcode); + DeviceData liquidData(@Param("devcode") String devcode); + DeviceData harmfulgasData(@Param("devcode") String devcode); + DeviceData gasData(@Param("devcode") String devcode); + DeviceData temphumData(@Param("devcode") String devcode); + DeviceData digData(@Param("devcode") String devcode); + DeviceData noiseData(@Param("devcode") String devcode); + DeviceData wellcoverlocaData(@Param("devcode") String devcode); + DeviceData lgGasData(@Param("devcode") String devcode);//燃气液位 + DeviceData lgLiquidData(@Param("devcode") String devcode);//燃气液位 @@ -57,11 +67,15 @@ List getNotAlarmWellList(@Param("scope") DataScope dataScope, @Param("keywords") String keywords, @Param("wellType") String deviceType, @Param("deptid") String deptid); - void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid,@Param("bfzt") String bfzt,@Param("deptIds") List deptIds); + void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("deptIds") List deptIds); - void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid,@Param("bfzt") String bfzt,@Param("LNG_BAIDU") List deptIds); + void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("LNG_BAIDU") List deptIds); Boolean isExistWellCode(@Param("wellCode") String wellCode); List getWellListAll(); + + List getDeviceList(@Param("scope") DataScope dataScope); + + DeviceInfoDto selectDeviceById(@Param("id") Long id); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java index c87081d..9886913 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java @@ -1,6 +1,8 @@ package com.casic.missiles.modular.system.controller; import com.casic.missiles.modular.system.dto.BusWellInfoDto; +import com.casic.missiles.modular.system.dto.DeviceDataDto; +import com.casic.missiles.modular.system.dto.DeviceInfoDto; import com.casic.missiles.modular.system.dto.WatchDataDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.service.IBusWellInfoService; @@ -63,16 +65,16 @@ /** * 不需要了,由dataScope控制权限 - // 查询并添加下级部门的闸井 - List subDepts = permissionService.getSubDepts(deptid,null); - if (null != subDepts && subDepts.isEmpty() == false) { - for (Long subDeptId : subDepts) { - List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); - if (null != subList && subList.isEmpty() == false) { - wellList.addAll(subList); - } - } - } + // 查询并添加下级部门的闸井 + List subDepts = permissionService.getSubDepts(deptid,null); + if (null != subDepts && subDepts.isEmpty() == false) { + for (Long subDeptId : subDepts) { + List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); + if (null != subList && subList.isEmpty() == false) { + wellList.addAll(subList); + } + } + } */ } else if (isAlarm.equals("1")) { // isAlarm = 1 查询所有报警状态的闸井 @@ -83,10 +85,50 @@ } - return ResponseData.success(wellList); } + /** + * 获取设备列表 + */ + @RequestMapping(value = "/deviceList") + @ResponseBody + public Object deviceList() { + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List wellList = new ArrayList(); + wellList = busWellInfoService.getDeviceList(dataScope); + return ResponseData.success(wellList); + } + + /** + * 获取设备详情 + */ + @RequestMapping(value = "/deviceDetail", method = RequestMethod.GET) + @ResponseBody + public Object deviceDetail(@RequestParam(required = true) Long id) { + if (ToolUtil.isEmpty(id)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + DeviceInfoDto deviceInfoDto = busWellInfoService.selectDeviceById(id); + SuccessResponseData successResult = new SuccessResponseData(); + if (null == deviceInfoDto) { + successResult.setCode(200); + successResult.setMessage("success"); + successResult.setData(new HashMap()); + } else { + // 设置最新的监测数据 + List deviceDataDtoList = busWellInfoService. + getDeviceDatas(deviceInfoDto.getDeviceTypeName(), deviceInfoDto.getDevcode(), deviceInfoDto.getOnlineState()); + if (ToolUtil.isNotEmpty(deviceDataDtoList)) { + deviceInfoDto.setRealtimeData(deviceDataDtoList); + } + successResult.setMessage("success"); + successResult.setData(deviceInfoDto); + } + return successResult; + } + /** * 获取闸井详情 @@ -94,12 +136,12 @@ @RequestMapping(value = "/wellInfo", method = RequestMethod.GET) @ResponseBody public Object wellInfo(@RequestParam(required = true) Long id) { - if(ToolUtil.isEmpty(id)){ + if (ToolUtil.isEmpty(id)) { throw new GunsException(GunsExceptionEnum.REQUEST_NULL); } BusWellInfo busWellInfo = busWellInfoService.selectById(id); - SuccessResponseData successResult = new SuccessResponseData(); + SuccessResponseData successResult = new SuccessResponseData(); if (null == busWellInfo) { successResult.setCode(200); successResult.setMessage("success"); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index a17f487..caa2ca1 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -19,20 +19,30 @@ */ public interface BusWellInfoMapper extends BaseMapper { - List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page,@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt); + List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt); List getDeviceInWellInfo(@Param("id") Long id); + List watchData(@Param("id") Long id); DeviceData wellcoverData(@Param("devcode") String devcode); + DeviceData liquidData(@Param("devcode") String devcode); + DeviceData harmfulgasData(@Param("devcode") String devcode); + DeviceData gasData(@Param("devcode") String devcode); + DeviceData temphumData(@Param("devcode") String devcode); + DeviceData digData(@Param("devcode") String devcode); + DeviceData noiseData(@Param("devcode") String devcode); + DeviceData wellcoverlocaData(@Param("devcode") String devcode); + DeviceData lgGasData(@Param("devcode") String devcode);//燃气液位 + DeviceData lgLiquidData(@Param("devcode") String devcode);//燃气液位 @@ -57,11 +67,15 @@ List getNotAlarmWellList(@Param("scope") DataScope dataScope, @Param("keywords") String keywords, @Param("wellType") String deviceType, @Param("deptid") String deptid); - void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid,@Param("bfzt") String bfzt,@Param("deptIds") List deptIds); + void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("deptIds") List deptIds); - void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid,@Param("bfzt") String bfzt,@Param("LNG_BAIDU") List deptIds); + void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("LNG_BAIDU") List deptIds); Boolean isExistWellCode(@Param("wellCode") String wellCode); List getWellListAll(); + + List getDeviceList(@Param("scope") DataScope dataScope); + + DeviceInfoDto selectDeviceById(@Param("id") Long id); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml index 1733e83..e40970a 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml @@ -29,11 +29,13 @@ - ID AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt, RESPONSIBLE_DEPT AS responsibleDept + ID + AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt, RESPONSIBLE_DEPT AS responsibleDept - ID AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt,d1.simplename AS deptName,d2.id AS responsibleDept,d2.simplename AS responsibleDeptName + ID + AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt,d1.simplename AS deptName,d2.id AS responsibleDept,d2.simplename AS responsibleDeptName - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java index c87081d..9886913 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java @@ -1,6 +1,8 @@ package com.casic.missiles.modular.system.controller; import com.casic.missiles.modular.system.dto.BusWellInfoDto; +import com.casic.missiles.modular.system.dto.DeviceDataDto; +import com.casic.missiles.modular.system.dto.DeviceInfoDto; import com.casic.missiles.modular.system.dto.WatchDataDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.service.IBusWellInfoService; @@ -63,16 +65,16 @@ /** * 不需要了,由dataScope控制权限 - // 查询并添加下级部门的闸井 - List subDepts = permissionService.getSubDepts(deptid,null); - if (null != subDepts && subDepts.isEmpty() == false) { - for (Long subDeptId : subDepts) { - List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); - if (null != subList && subList.isEmpty() == false) { - wellList.addAll(subList); - } - } - } + // 查询并添加下级部门的闸井 + List subDepts = permissionService.getSubDepts(deptid,null); + if (null != subDepts && subDepts.isEmpty() == false) { + for (Long subDeptId : subDepts) { + List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); + if (null != subList && subList.isEmpty() == false) { + wellList.addAll(subList); + } + } + } */ } else if (isAlarm.equals("1")) { // isAlarm = 1 查询所有报警状态的闸井 @@ -83,10 +85,50 @@ } - return ResponseData.success(wellList); } + /** + * 获取设备列表 + */ + @RequestMapping(value = "/deviceList") + @ResponseBody + public Object deviceList() { + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List wellList = new ArrayList(); + wellList = busWellInfoService.getDeviceList(dataScope); + return ResponseData.success(wellList); + } + + /** + * 获取设备详情 + */ + @RequestMapping(value = "/deviceDetail", method = RequestMethod.GET) + @ResponseBody + public Object deviceDetail(@RequestParam(required = true) Long id) { + if (ToolUtil.isEmpty(id)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + DeviceInfoDto deviceInfoDto = busWellInfoService.selectDeviceById(id); + SuccessResponseData successResult = new SuccessResponseData(); + if (null == deviceInfoDto) { + successResult.setCode(200); + successResult.setMessage("success"); + successResult.setData(new HashMap()); + } else { + // 设置最新的监测数据 + List deviceDataDtoList = busWellInfoService. + getDeviceDatas(deviceInfoDto.getDeviceTypeName(), deviceInfoDto.getDevcode(), deviceInfoDto.getOnlineState()); + if (ToolUtil.isNotEmpty(deviceDataDtoList)) { + deviceInfoDto.setRealtimeData(deviceDataDtoList); + } + successResult.setMessage("success"); + successResult.setData(deviceInfoDto); + } + return successResult; + } + /** * 获取闸井详情 @@ -94,12 +136,12 @@ @RequestMapping(value = "/wellInfo", method = RequestMethod.GET) @ResponseBody public Object wellInfo(@RequestParam(required = true) Long id) { - if(ToolUtil.isEmpty(id)){ + if (ToolUtil.isEmpty(id)) { throw new GunsException(GunsExceptionEnum.REQUEST_NULL); } BusWellInfo busWellInfo = busWellInfoService.selectById(id); - SuccessResponseData successResult = new SuccessResponseData(); + SuccessResponseData successResult = new SuccessResponseData(); if (null == busWellInfo) { successResult.setCode(200); successResult.setMessage("success"); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index a17f487..caa2ca1 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -19,20 +19,30 @@ */ public interface BusWellInfoMapper extends BaseMapper { - List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page,@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt); + List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt); List getDeviceInWellInfo(@Param("id") Long id); + List watchData(@Param("id") Long id); DeviceData wellcoverData(@Param("devcode") String devcode); + DeviceData liquidData(@Param("devcode") String devcode); + DeviceData harmfulgasData(@Param("devcode") String devcode); + DeviceData gasData(@Param("devcode") String devcode); + DeviceData temphumData(@Param("devcode") String devcode); + DeviceData digData(@Param("devcode") String devcode); + DeviceData noiseData(@Param("devcode") String devcode); + DeviceData wellcoverlocaData(@Param("devcode") String devcode); + DeviceData lgGasData(@Param("devcode") String devcode);//燃气液位 + DeviceData lgLiquidData(@Param("devcode") String devcode);//燃气液位 @@ -57,11 +67,15 @@ List getNotAlarmWellList(@Param("scope") DataScope dataScope, @Param("keywords") String keywords, @Param("wellType") String deviceType, @Param("deptid") String deptid); - void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid,@Param("bfzt") String bfzt,@Param("deptIds") List deptIds); + void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("deptIds") List deptIds); - void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid,@Param("bfzt") String bfzt,@Param("LNG_BAIDU") List deptIds); + void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("LNG_BAIDU") List deptIds); Boolean isExistWellCode(@Param("wellCode") String wellCode); List getWellListAll(); + + List getDeviceList(@Param("scope") DataScope dataScope); + + DeviceInfoDto selectDeviceById(@Param("id") Long id); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml index 1733e83..e40970a 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml @@ -29,11 +29,13 @@ - ID AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt, RESPONSIBLE_DEPT AS responsibleDept + ID + AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt, RESPONSIBLE_DEPT AS responsibleDept - ID AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt,d1.simplename AS deptName,d2.id AS responsibleDept,d2.simplename AS responsibleDeptName + ID + AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt,d1.simplename AS deptName,d2.id AS responsibleDept,d2.simplename AS responsibleDeptName - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java index c87081d..9886913 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java @@ -1,6 +1,8 @@ package com.casic.missiles.modular.system.controller; import com.casic.missiles.modular.system.dto.BusWellInfoDto; +import com.casic.missiles.modular.system.dto.DeviceDataDto; +import com.casic.missiles.modular.system.dto.DeviceInfoDto; import com.casic.missiles.modular.system.dto.WatchDataDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.service.IBusWellInfoService; @@ -63,16 +65,16 @@ /** * 不需要了,由dataScope控制权限 - // 查询并添加下级部门的闸井 - List subDepts = permissionService.getSubDepts(deptid,null); - if (null != subDepts && subDepts.isEmpty() == false) { - for (Long subDeptId : subDepts) { - List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); - if (null != subList && subList.isEmpty() == false) { - wellList.addAll(subList); - } - } - } + // 查询并添加下级部门的闸井 + List subDepts = permissionService.getSubDepts(deptid,null); + if (null != subDepts && subDepts.isEmpty() == false) { + for (Long subDeptId : subDepts) { + List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); + if (null != subList && subList.isEmpty() == false) { + wellList.addAll(subList); + } + } + } */ } else if (isAlarm.equals("1")) { // isAlarm = 1 查询所有报警状态的闸井 @@ -83,10 +85,50 @@ } - return ResponseData.success(wellList); } + /** + * 获取设备列表 + */ + @RequestMapping(value = "/deviceList") + @ResponseBody + public Object deviceList() { + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List wellList = new ArrayList(); + wellList = busWellInfoService.getDeviceList(dataScope); + return ResponseData.success(wellList); + } + + /** + * 获取设备详情 + */ + @RequestMapping(value = "/deviceDetail", method = RequestMethod.GET) + @ResponseBody + public Object deviceDetail(@RequestParam(required = true) Long id) { + if (ToolUtil.isEmpty(id)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + DeviceInfoDto deviceInfoDto = busWellInfoService.selectDeviceById(id); + SuccessResponseData successResult = new SuccessResponseData(); + if (null == deviceInfoDto) { + successResult.setCode(200); + successResult.setMessage("success"); + successResult.setData(new HashMap()); + } else { + // 设置最新的监测数据 + List deviceDataDtoList = busWellInfoService. + getDeviceDatas(deviceInfoDto.getDeviceTypeName(), deviceInfoDto.getDevcode(), deviceInfoDto.getOnlineState()); + if (ToolUtil.isNotEmpty(deviceDataDtoList)) { + deviceInfoDto.setRealtimeData(deviceDataDtoList); + } + successResult.setMessage("success"); + successResult.setData(deviceInfoDto); + } + return successResult; + } + /** * 获取闸井详情 @@ -94,12 +136,12 @@ @RequestMapping(value = "/wellInfo", method = RequestMethod.GET) @ResponseBody public Object wellInfo(@RequestParam(required = true) Long id) { - if(ToolUtil.isEmpty(id)){ + if (ToolUtil.isEmpty(id)) { throw new GunsException(GunsExceptionEnum.REQUEST_NULL); } BusWellInfo busWellInfo = busWellInfoService.selectById(id); - SuccessResponseData successResult = new SuccessResponseData(); + SuccessResponseData successResult = new SuccessResponseData(); if (null == busWellInfo) { successResult.setCode(200); successResult.setMessage("success"); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index a17f487..caa2ca1 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -19,20 +19,30 @@ */ public interface BusWellInfoMapper extends BaseMapper { - List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page,@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt); + List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt); List getDeviceInWellInfo(@Param("id") Long id); + List watchData(@Param("id") Long id); DeviceData wellcoverData(@Param("devcode") String devcode); + DeviceData liquidData(@Param("devcode") String devcode); + DeviceData harmfulgasData(@Param("devcode") String devcode); + DeviceData gasData(@Param("devcode") String devcode); + DeviceData temphumData(@Param("devcode") String devcode); + DeviceData digData(@Param("devcode") String devcode); + DeviceData noiseData(@Param("devcode") String devcode); + DeviceData wellcoverlocaData(@Param("devcode") String devcode); + DeviceData lgGasData(@Param("devcode") String devcode);//燃气液位 + DeviceData lgLiquidData(@Param("devcode") String devcode);//燃气液位 @@ -57,11 +67,15 @@ List getNotAlarmWellList(@Param("scope") DataScope dataScope, @Param("keywords") String keywords, @Param("wellType") String deviceType, @Param("deptid") String deptid); - void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid,@Param("bfzt") String bfzt,@Param("deptIds") List deptIds); + void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("deptIds") List deptIds); - void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid,@Param("bfzt") String bfzt,@Param("LNG_BAIDU") List deptIds); + void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("LNG_BAIDU") List deptIds); Boolean isExistWellCode(@Param("wellCode") String wellCode); List getWellListAll(); + + List getDeviceList(@Param("scope") DataScope dataScope); + + DeviceInfoDto selectDeviceById(@Param("id") Long id); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml index 1733e83..e40970a 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml @@ -29,11 +29,13 @@ - ID AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt, RESPONSIBLE_DEPT AS responsibleDept + ID + AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt, RESPONSIBLE_DEPT AS responsibleDept - ID AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt,d1.simplename AS deptName,d2.id AS responsibleDept,d2.simplename AS responsibleDeptName + ID + AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt,d1.simplename AS deptName,d2.id AS responsibleDept,d2.simplename AS responsibleDeptName - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..9670a04 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String postion; + private List realtimeData; + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java index c87081d..9886913 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java @@ -1,6 +1,8 @@ package com.casic.missiles.modular.system.controller; import com.casic.missiles.modular.system.dto.BusWellInfoDto; +import com.casic.missiles.modular.system.dto.DeviceDataDto; +import com.casic.missiles.modular.system.dto.DeviceInfoDto; import com.casic.missiles.modular.system.dto.WatchDataDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.service.IBusWellInfoService; @@ -63,16 +65,16 @@ /** * 不需要了,由dataScope控制权限 - // 查询并添加下级部门的闸井 - List subDepts = permissionService.getSubDepts(deptid,null); - if (null != subDepts && subDepts.isEmpty() == false) { - for (Long subDeptId : subDepts) { - List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); - if (null != subList && subList.isEmpty() == false) { - wellList.addAll(subList); - } - } - } + // 查询并添加下级部门的闸井 + List subDepts = permissionService.getSubDepts(deptid,null); + if (null != subDepts && subDepts.isEmpty() == false) { + for (Long subDeptId : subDepts) { + List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); + if (null != subList && subList.isEmpty() == false) { + wellList.addAll(subList); + } + } + } */ } else if (isAlarm.equals("1")) { // isAlarm = 1 查询所有报警状态的闸井 @@ -83,10 +85,50 @@ } - return ResponseData.success(wellList); } + /** + * 获取设备列表 + */ + @RequestMapping(value = "/deviceList") + @ResponseBody + public Object deviceList() { + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List wellList = new ArrayList(); + wellList = busWellInfoService.getDeviceList(dataScope); + return ResponseData.success(wellList); + } + + /** + * 获取设备详情 + */ + @RequestMapping(value = "/deviceDetail", method = RequestMethod.GET) + @ResponseBody + public Object deviceDetail(@RequestParam(required = true) Long id) { + if (ToolUtil.isEmpty(id)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + DeviceInfoDto deviceInfoDto = busWellInfoService.selectDeviceById(id); + SuccessResponseData successResult = new SuccessResponseData(); + if (null == deviceInfoDto) { + successResult.setCode(200); + successResult.setMessage("success"); + successResult.setData(new HashMap()); + } else { + // 设置最新的监测数据 + List deviceDataDtoList = busWellInfoService. + getDeviceDatas(deviceInfoDto.getDeviceTypeName(), deviceInfoDto.getDevcode(), deviceInfoDto.getOnlineState()); + if (ToolUtil.isNotEmpty(deviceDataDtoList)) { + deviceInfoDto.setRealtimeData(deviceDataDtoList); + } + successResult.setMessage("success"); + successResult.setData(deviceInfoDto); + } + return successResult; + } + /** * 获取闸井详情 @@ -94,12 +136,12 @@ @RequestMapping(value = "/wellInfo", method = RequestMethod.GET) @ResponseBody public Object wellInfo(@RequestParam(required = true) Long id) { - if(ToolUtil.isEmpty(id)){ + if (ToolUtil.isEmpty(id)) { throw new GunsException(GunsExceptionEnum.REQUEST_NULL); } BusWellInfo busWellInfo = busWellInfoService.selectById(id); - SuccessResponseData successResult = new SuccessResponseData(); + SuccessResponseData successResult = new SuccessResponseData(); if (null == busWellInfo) { successResult.setCode(200); successResult.setMessage("success"); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index a17f487..caa2ca1 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -19,20 +19,30 @@ */ public interface BusWellInfoMapper extends BaseMapper { - List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page,@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt); + List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt); List getDeviceInWellInfo(@Param("id") Long id); + List watchData(@Param("id") Long id); DeviceData wellcoverData(@Param("devcode") String devcode); + DeviceData liquidData(@Param("devcode") String devcode); + DeviceData harmfulgasData(@Param("devcode") String devcode); + DeviceData gasData(@Param("devcode") String devcode); + DeviceData temphumData(@Param("devcode") String devcode); + DeviceData digData(@Param("devcode") String devcode); + DeviceData noiseData(@Param("devcode") String devcode); + DeviceData wellcoverlocaData(@Param("devcode") String devcode); + DeviceData lgGasData(@Param("devcode") String devcode);//燃气液位 + DeviceData lgLiquidData(@Param("devcode") String devcode);//燃气液位 @@ -57,11 +67,15 @@ List getNotAlarmWellList(@Param("scope") DataScope dataScope, @Param("keywords") String keywords, @Param("wellType") String deviceType, @Param("deptid") String deptid); - void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid,@Param("bfzt") String bfzt,@Param("deptIds") List deptIds); + void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("deptIds") List deptIds); - void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid,@Param("bfzt") String bfzt,@Param("LNG_BAIDU") List deptIds); + void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("LNG_BAIDU") List deptIds); Boolean isExistWellCode(@Param("wellCode") String wellCode); List getWellListAll(); + + List getDeviceList(@Param("scope") DataScope dataScope); + + DeviceInfoDto selectDeviceById(@Param("id") Long id); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml index 1733e83..e40970a 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml @@ -29,11 +29,13 @@ - ID AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt, RESPONSIBLE_DEPT AS responsibleDept + ID + AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt, RESPONSIBLE_DEPT AS responsibleDept - ID AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt,d1.simplename AS deptName,d2.id AS responsibleDept,d2.simplename AS responsibleDeptName + ID + AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt,d1.simplename AS deptName,d2.id AS responsibleDept,d2.simplename AS responsibleDeptName - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..9670a04 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String postion; + private List realtimeData; + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 1a4359c..c66ce3b 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -1,10 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.plugins.Page; -import com.casic.missiles.modular.system.dto.BatchExportDataDto; -import com.casic.missiles.modular.system.dto.BfztCountDataDto; -import com.casic.missiles.modular.system.dto.BusWellInfoDto; -import com.casic.missiles.modular.system.dto.WatchDataDto; +import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.core.datascope.DataScope; import com.baomidou.mybatisplus.service.IService; @@ -34,6 +31,9 @@ List deleteBatchByIds(List id); List getWatchDatas(Long id); + + List getDeviceDatas(String devTypename,String devcode,String status); + BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp); List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords); @@ -56,4 +56,9 @@ Boolean isExistWellCode(String wellCode); Boolean changeCoordinates(int startNumber); + + List getDeviceList(DataScope dataScope); + + DeviceInfoDto selectDeviceById(Long id); + } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java index c87081d..9886913 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java @@ -1,6 +1,8 @@ package com.casic.missiles.modular.system.controller; import com.casic.missiles.modular.system.dto.BusWellInfoDto; +import com.casic.missiles.modular.system.dto.DeviceDataDto; +import com.casic.missiles.modular.system.dto.DeviceInfoDto; import com.casic.missiles.modular.system.dto.WatchDataDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.service.IBusWellInfoService; @@ -63,16 +65,16 @@ /** * 不需要了,由dataScope控制权限 - // 查询并添加下级部门的闸井 - List subDepts = permissionService.getSubDepts(deptid,null); - if (null != subDepts && subDepts.isEmpty() == false) { - for (Long subDeptId : subDepts) { - List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); - if (null != subList && subList.isEmpty() == false) { - wellList.addAll(subList); - } - } - } + // 查询并添加下级部门的闸井 + List subDepts = permissionService.getSubDepts(deptid,null); + if (null != subDepts && subDepts.isEmpty() == false) { + for (Long subDeptId : subDepts) { + List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); + if (null != subList && subList.isEmpty() == false) { + wellList.addAll(subList); + } + } + } */ } else if (isAlarm.equals("1")) { // isAlarm = 1 查询所有报警状态的闸井 @@ -83,10 +85,50 @@ } - return ResponseData.success(wellList); } + /** + * 获取设备列表 + */ + @RequestMapping(value = "/deviceList") + @ResponseBody + public Object deviceList() { + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List wellList = new ArrayList(); + wellList = busWellInfoService.getDeviceList(dataScope); + return ResponseData.success(wellList); + } + + /** + * 获取设备详情 + */ + @RequestMapping(value = "/deviceDetail", method = RequestMethod.GET) + @ResponseBody + public Object deviceDetail(@RequestParam(required = true) Long id) { + if (ToolUtil.isEmpty(id)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + DeviceInfoDto deviceInfoDto = busWellInfoService.selectDeviceById(id); + SuccessResponseData successResult = new SuccessResponseData(); + if (null == deviceInfoDto) { + successResult.setCode(200); + successResult.setMessage("success"); + successResult.setData(new HashMap()); + } else { + // 设置最新的监测数据 + List deviceDataDtoList = busWellInfoService. + getDeviceDatas(deviceInfoDto.getDeviceTypeName(), deviceInfoDto.getDevcode(), deviceInfoDto.getOnlineState()); + if (ToolUtil.isNotEmpty(deviceDataDtoList)) { + deviceInfoDto.setRealtimeData(deviceDataDtoList); + } + successResult.setMessage("success"); + successResult.setData(deviceInfoDto); + } + return successResult; + } + /** * 获取闸井详情 @@ -94,12 +136,12 @@ @RequestMapping(value = "/wellInfo", method = RequestMethod.GET) @ResponseBody public Object wellInfo(@RequestParam(required = true) Long id) { - if(ToolUtil.isEmpty(id)){ + if (ToolUtil.isEmpty(id)) { throw new GunsException(GunsExceptionEnum.REQUEST_NULL); } BusWellInfo busWellInfo = busWellInfoService.selectById(id); - SuccessResponseData successResult = new SuccessResponseData(); + SuccessResponseData successResult = new SuccessResponseData(); if (null == busWellInfo) { successResult.setCode(200); successResult.setMessage("success"); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index a17f487..caa2ca1 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -19,20 +19,30 @@ */ public interface BusWellInfoMapper extends BaseMapper { - List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page,@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt); + List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt); List getDeviceInWellInfo(@Param("id") Long id); + List watchData(@Param("id") Long id); DeviceData wellcoverData(@Param("devcode") String devcode); + DeviceData liquidData(@Param("devcode") String devcode); + DeviceData harmfulgasData(@Param("devcode") String devcode); + DeviceData gasData(@Param("devcode") String devcode); + DeviceData temphumData(@Param("devcode") String devcode); + DeviceData digData(@Param("devcode") String devcode); + DeviceData noiseData(@Param("devcode") String devcode); + DeviceData wellcoverlocaData(@Param("devcode") String devcode); + DeviceData lgGasData(@Param("devcode") String devcode);//燃气液位 + DeviceData lgLiquidData(@Param("devcode") String devcode);//燃气液位 @@ -57,11 +67,15 @@ List getNotAlarmWellList(@Param("scope") DataScope dataScope, @Param("keywords") String keywords, @Param("wellType") String deviceType, @Param("deptid") String deptid); - void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid,@Param("bfzt") String bfzt,@Param("deptIds") List deptIds); + void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("deptIds") List deptIds); - void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid,@Param("bfzt") String bfzt,@Param("LNG_BAIDU") List deptIds); + void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("LNG_BAIDU") List deptIds); Boolean isExistWellCode(@Param("wellCode") String wellCode); List getWellListAll(); + + List getDeviceList(@Param("scope") DataScope dataScope); + + DeviceInfoDto selectDeviceById(@Param("id") Long id); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml index 1733e83..e40970a 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml @@ -29,11 +29,13 @@ - ID AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt, RESPONSIBLE_DEPT AS responsibleDept + ID + AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt, RESPONSIBLE_DEPT AS responsibleDept - ID AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt,d1.simplename AS deptName,d2.id AS responsibleDept,d2.simplename AS responsibleDeptName + ID + AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt,d1.simplename AS deptName,d2.id AS responsibleDept,d2.simplename AS responsibleDeptName - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..9670a04 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String postion; + private List realtimeData; + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 1a4359c..c66ce3b 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -1,10 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.plugins.Page; -import com.casic.missiles.modular.system.dto.BatchExportDataDto; -import com.casic.missiles.modular.system.dto.BfztCountDataDto; -import com.casic.missiles.modular.system.dto.BusWellInfoDto; -import com.casic.missiles.modular.system.dto.WatchDataDto; +import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.core.datascope.DataScope; import com.baomidou.mybatisplus.service.IService; @@ -34,6 +31,9 @@ List deleteBatchByIds(List id); List getWatchDatas(Long id); + + List getDeviceDatas(String devTypename,String devcode,String status); + BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp); List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords); @@ -56,4 +56,9 @@ Boolean isExistWellCode(String wellCode); Boolean changeCoordinates(int startNumber); + + List getDeviceList(DataScope dataScope); + + DeviceInfoDto selectDeviceById(Long id); + } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index d417209..0e8a1fc 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -77,6 +77,7 @@ return list; } + public List getWatchDatas(Long id) { List deviceInWellInfos = this.baseMapper.getDeviceInWellInfo(id); @@ -226,17 +227,17 @@ if (ToolUtil.isNotEmpty(deviceData)) { Double dValue = Double.parseDouble(deviceData.getData()); - if(dValue <= 20.0){ + if (dValue <= 20.0) { watchDataDto.setValue(deviceData.getData() + "%LEL"); watchDataDto.setData(deviceData.getData() + "%LEL"); - }else{ + } else { DecimalFormat df = new DecimalFormat("0.00"); dValue = dValue / 20.0; watchDataDto.setValue(df.format(dValue) + "%VOL"); watchDataDto.setData(df.format(dValue) + "%VOL"); } watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -250,7 +251,7 @@ watchDataDto.setValue(deviceData.getData() + "m"); watchDataDto.setData(deviceData.getData() + "m"); watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -267,6 +268,151 @@ } + @Override + public List getDeviceDatas(String devTypeName, String devcode, String status) { + List deviceDataDtoList = new ArrayList<>(); + DeviceDataDto deviceDataDto = new DeviceDataDto(); + DeviceData deviceData; + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + switch (devTypeName) { + case "井盖状态监测仪": + deviceData = this.baseMapper.wellcoverData(devcode); + deviceDataDto.setTypeName("井盖状态"); + if (ToolUtil.isNotEmpty(deviceData)) { + //井盖离线 + if ("0".equals(status)) { + deviceDataDto.setValue("离线"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else if ("心跳".equals(deviceData.getData())) { + deviceDataDto.setValue("井盖状态正常"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + break; + + case "液位监测仪": + deviceData = this.baseMapper.liquidData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井内水位"); + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "有害气体监测仪": + deviceData = this.baseMapper.harmfulgasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] harmfulGasDatas = deviceData.getData().split(","); + HarmfulGasBusiness[] harmfulGasBusinesses = HarmfulGasBusiness.values(); + for (int i = 0; i < harmfulGasDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(harmfulGasBusinesses[i].getDesc()); + deviceDataDto.setValue(harmfulGasDatas[i] + harmfulGasBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + case "燃气智能监测终端": + deviceData = this.baseMapper.gasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("燃气浓度"); + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "温湿度监测仪": + deviceData = this.baseMapper.temphumData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] temphumDatas = deviceData.getData().split(","); + TemphumBusiness[] temphumBusinesses = TemphumBusiness.values(); + for (int i = 0; i < temphumDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(temphumBusinesses[i].getDesc()); + deviceDataDto.setValue(temphumDatas[i] + temphumBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + + case "开挖监测仪": + deviceData = this.baseMapper.digData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("开挖状态"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "噪声记录仪": + deviceData = this.baseMapper.noiseData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("管线噪声"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + case "井盖定位监测仪": + deviceData = this.baseMapper.wellcoverlocaData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井盖位置"); + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "燃气智能监测终端(一体化)": + deviceData = this.baseMapper.lgGasData(devcode); + deviceDataDto.setTypeName("燃气浓度"); + if (ToolUtil.isNotEmpty(deviceData)) { + + Double dValue = Double.parseDouble(deviceData.getData()); + if (dValue <= 20.0) { + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + } else { + DecimalFormat df = new DecimalFormat("0.00"); + dValue = dValue / 20.0; + deviceDataDto.setValue(df.format(dValue) + "%VOL"); + } + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + + deviceData = this.baseMapper.lgLiquidData(devcode); + deviceDataDto.setTypeName("井内水位"); + if (ToolUtil.isNotEmpty(deviceData)) { + + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + break; + + default://未知设备 + logger.info("未知设备!"); + break; + } + return deviceDataDtoList; + } + + public BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp) { return this.baseMapper.bfztCountData(deptIds, isApp); } @@ -468,4 +614,14 @@ return false; } } + + @Override + public List getDeviceList(DataScope dataScope) { + return this.baseMapper.getDeviceList(dataScope); + } + + @Override + public DeviceInfoDto selectDeviceById(Long id) { + return this.baseMapper.selectDeviceById(id); + } } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java index c87081d..9886913 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusMapOverviewController.java @@ -1,6 +1,8 @@ package com.casic.missiles.modular.system.controller; import com.casic.missiles.modular.system.dto.BusWellInfoDto; +import com.casic.missiles.modular.system.dto.DeviceDataDto; +import com.casic.missiles.modular.system.dto.DeviceInfoDto; import com.casic.missiles.modular.system.dto.WatchDataDto; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.service.IBusWellInfoService; @@ -63,16 +65,16 @@ /** * 不需要了,由dataScope控制权限 - // 查询并添加下级部门的闸井 - List subDepts = permissionService.getSubDepts(deptid,null); - if (null != subDepts && subDepts.isEmpty() == false) { - for (Long subDeptId : subDepts) { - List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); - if (null != subList && subList.isEmpty() == false) { - wellList.addAll(subList); - } - } - } + // 查询并添加下级部门的闸井 + List subDepts = permissionService.getSubDepts(deptid,null); + if (null != subDepts && subDepts.isEmpty() == false) { + for (Long subDeptId : subDepts) { + List subList = busWellInfoService.getWellList(dataScope, keywords, wellType, String.valueOf(subDeptId)); + if (null != subList && subList.isEmpty() == false) { + wellList.addAll(subList); + } + } + } */ } else if (isAlarm.equals("1")) { // isAlarm = 1 查询所有报警状态的闸井 @@ -83,10 +85,50 @@ } - return ResponseData.success(wellList); } + /** + * 获取设备列表 + */ + @RequestMapping(value = "/deviceList") + @ResponseBody + public Object deviceList() { + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List wellList = new ArrayList(); + wellList = busWellInfoService.getDeviceList(dataScope); + return ResponseData.success(wellList); + } + + /** + * 获取设备详情 + */ + @RequestMapping(value = "/deviceDetail", method = RequestMethod.GET) + @ResponseBody + public Object deviceDetail(@RequestParam(required = true) Long id) { + if (ToolUtil.isEmpty(id)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + DeviceInfoDto deviceInfoDto = busWellInfoService.selectDeviceById(id); + SuccessResponseData successResult = new SuccessResponseData(); + if (null == deviceInfoDto) { + successResult.setCode(200); + successResult.setMessage("success"); + successResult.setData(new HashMap()); + } else { + // 设置最新的监测数据 + List deviceDataDtoList = busWellInfoService. + getDeviceDatas(deviceInfoDto.getDeviceTypeName(), deviceInfoDto.getDevcode(), deviceInfoDto.getOnlineState()); + if (ToolUtil.isNotEmpty(deviceDataDtoList)) { + deviceInfoDto.setRealtimeData(deviceDataDtoList); + } + successResult.setMessage("success"); + successResult.setData(deviceInfoDto); + } + return successResult; + } + /** * 获取闸井详情 @@ -94,12 +136,12 @@ @RequestMapping(value = "/wellInfo", method = RequestMethod.GET) @ResponseBody public Object wellInfo(@RequestParam(required = true) Long id) { - if(ToolUtil.isEmpty(id)){ + if (ToolUtil.isEmpty(id)) { throw new GunsException(GunsExceptionEnum.REQUEST_NULL); } BusWellInfo busWellInfo = busWellInfoService.selectById(id); - SuccessResponseData successResult = new SuccessResponseData(); + SuccessResponseData successResult = new SuccessResponseData(); if (null == busWellInfo) { successResult.setCode(200); successResult.setMessage("success"); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index a17f487..caa2ca1 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -19,20 +19,30 @@ */ public interface BusWellInfoMapper extends BaseMapper { - List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page,@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt); + List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt); List getDeviceInWellInfo(@Param("id") Long id); + List watchData(@Param("id") Long id); DeviceData wellcoverData(@Param("devcode") String devcode); + DeviceData liquidData(@Param("devcode") String devcode); + DeviceData harmfulgasData(@Param("devcode") String devcode); + DeviceData gasData(@Param("devcode") String devcode); + DeviceData temphumData(@Param("devcode") String devcode); + DeviceData digData(@Param("devcode") String devcode); + DeviceData noiseData(@Param("devcode") String devcode); + DeviceData wellcoverlocaData(@Param("devcode") String devcode); + DeviceData lgGasData(@Param("devcode") String devcode);//燃气液位 + DeviceData lgLiquidData(@Param("devcode") String devcode);//燃气液位 @@ -57,11 +67,15 @@ List getNotAlarmWellList(@Param("scope") DataScope dataScope, @Param("keywords") String keywords, @Param("wellType") String deviceType, @Param("deptid") String deptid); - void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid,@Param("bfzt") String bfzt,@Param("deptIds") List deptIds); + void updateBatchBfcf(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("deptIds") List deptIds); - void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid,@Param("bfzt") String bfzt,@Param("LNG_BAIDU") List deptIds); + void updateCoordinates(@Param("keywords") String keywords, @Param("wellType") String wellType, @Param("deptid") String deptid, @Param("bfzt") String bfzt, @Param("LNG_BAIDU") List deptIds); Boolean isExistWellCode(@Param("wellCode") String wellCode); List getWellListAll(); + + List getDeviceList(@Param("scope") DataScope dataScope); + + DeviceInfoDto selectDeviceById(@Param("id") Long id); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml index 1733e83..e40970a 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml @@ -29,11 +29,13 @@ - ID AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt, RESPONSIBLE_DEPT AS responsibleDept + ID + AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt, RESPONSIBLE_DEPT AS responsibleDept - ID AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt,d1.simplename AS deptName,d2.id AS responsibleDept,d2.simplename AS responsibleDeptName + ID + AS id, WELL_CODE AS wellCode, WELL_NAME AS wellName, DEEP AS deep, COORDINATE_X AS coordinateX, COORDINATE_Y AS coordinateY, LAT_BAIDU AS latBaidu, LNG_BAIDU AS lngBaidu, LNG_GAODE AS lngGaode, LAT_GAODE AS latGaode, AREA AS area, POSITION AS position, DEPTID AS deptid, PHOTOS AS photos, NOTES AS notes, WELL_TYPE AS wellType, STAFF AS staff, TEL AS tel, TS AS ts, VALID AS valid, BFZT AS bfzt,d1.simplename AS deptName,d2.id AS responsibleDept,d2.simplename AS responsibleDeptName - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..9670a04 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String postion; + private List realtimeData; + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 1a4359c..c66ce3b 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -1,10 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.plugins.Page; -import com.casic.missiles.modular.system.dto.BatchExportDataDto; -import com.casic.missiles.modular.system.dto.BfztCountDataDto; -import com.casic.missiles.modular.system.dto.BusWellInfoDto; -import com.casic.missiles.modular.system.dto.WatchDataDto; +import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.core.datascope.DataScope; import com.baomidou.mybatisplus.service.IService; @@ -34,6 +31,9 @@ List deleteBatchByIds(List id); List getWatchDatas(Long id); + + List getDeviceDatas(String devTypename,String devcode,String status); + BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp); List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords); @@ -56,4 +56,9 @@ Boolean isExistWellCode(String wellCode); Boolean changeCoordinates(int startNumber); + + List getDeviceList(DataScope dataScope); + + DeviceInfoDto selectDeviceById(Long id); + } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index d417209..0e8a1fc 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -77,6 +77,7 @@ return list; } + public List getWatchDatas(Long id) { List deviceInWellInfos = this.baseMapper.getDeviceInWellInfo(id); @@ -226,17 +227,17 @@ if (ToolUtil.isNotEmpty(deviceData)) { Double dValue = Double.parseDouble(deviceData.getData()); - if(dValue <= 20.0){ + if (dValue <= 20.0) { watchDataDto.setValue(deviceData.getData() + "%LEL"); watchDataDto.setData(deviceData.getData() + "%LEL"); - }else{ + } else { DecimalFormat df = new DecimalFormat("0.00"); dValue = dValue / 20.0; watchDataDto.setValue(df.format(dValue) + "%VOL"); watchDataDto.setData(df.format(dValue) + "%VOL"); } watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -250,7 +251,7 @@ watchDataDto.setValue(deviceData.getData() + "m"); watchDataDto.setData(deviceData.getData() + "m"); watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -267,6 +268,151 @@ } + @Override + public List getDeviceDatas(String devTypeName, String devcode, String status) { + List deviceDataDtoList = new ArrayList<>(); + DeviceDataDto deviceDataDto = new DeviceDataDto(); + DeviceData deviceData; + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + switch (devTypeName) { + case "井盖状态监测仪": + deviceData = this.baseMapper.wellcoverData(devcode); + deviceDataDto.setTypeName("井盖状态"); + if (ToolUtil.isNotEmpty(deviceData)) { + //井盖离线 + if ("0".equals(status)) { + deviceDataDto.setValue("离线"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else if ("心跳".equals(deviceData.getData())) { + deviceDataDto.setValue("井盖状态正常"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + break; + + case "液位监测仪": + deviceData = this.baseMapper.liquidData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井内水位"); + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "有害气体监测仪": + deviceData = this.baseMapper.harmfulgasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] harmfulGasDatas = deviceData.getData().split(","); + HarmfulGasBusiness[] harmfulGasBusinesses = HarmfulGasBusiness.values(); + for (int i = 0; i < harmfulGasDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(harmfulGasBusinesses[i].getDesc()); + deviceDataDto.setValue(harmfulGasDatas[i] + harmfulGasBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + case "燃气智能监测终端": + deviceData = this.baseMapper.gasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("燃气浓度"); + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "温湿度监测仪": + deviceData = this.baseMapper.temphumData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] temphumDatas = deviceData.getData().split(","); + TemphumBusiness[] temphumBusinesses = TemphumBusiness.values(); + for (int i = 0; i < temphumDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(temphumBusinesses[i].getDesc()); + deviceDataDto.setValue(temphumDatas[i] + temphumBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + + case "开挖监测仪": + deviceData = this.baseMapper.digData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("开挖状态"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "噪声记录仪": + deviceData = this.baseMapper.noiseData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("管线噪声"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + case "井盖定位监测仪": + deviceData = this.baseMapper.wellcoverlocaData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井盖位置"); + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "燃气智能监测终端(一体化)": + deviceData = this.baseMapper.lgGasData(devcode); + deviceDataDto.setTypeName("燃气浓度"); + if (ToolUtil.isNotEmpty(deviceData)) { + + Double dValue = Double.parseDouble(deviceData.getData()); + if (dValue <= 20.0) { + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + } else { + DecimalFormat df = new DecimalFormat("0.00"); + dValue = dValue / 20.0; + deviceDataDto.setValue(df.format(dValue) + "%VOL"); + } + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + + deviceData = this.baseMapper.lgLiquidData(devcode); + deviceDataDto.setTypeName("井内水位"); + if (ToolUtil.isNotEmpty(deviceData)) { + + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + break; + + default://未知设备 + logger.info("未知设备!"); + break; + } + return deviceDataDtoList; + } + + public BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp) { return this.baseMapper.bfztCountData(deptIds, isApp); } @@ -468,4 +614,14 @@ return false; } } + + @Override + public List getDeviceList(DataScope dataScope) { + return this.baseMapper.getDeviceList(dataScope); + } + + @Override + public DeviceInfoDto selectDeviceById(Long id) { + return this.baseMapper.selectDeviceById(id); + } } diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java index cdc109e..ecc332e 100644 --- a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -9,7 +9,8 @@ import com.casic.missiles.core.shiro.ShiroUser; import com.casic.missiles.core.util.RSAUtils; import com.casic.missiles.core.util.ToolUtil; -import com.casic.missiles.modular.contant.PermissionContant; + +import com.casic.missiles.modular.constant.PermissionContant; import com.casic.missiles.modular.system.dto.LoginResult; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.subject.Subject;