diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index a952859..bbf7253 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis-config" + prefix = "smartcity.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index a952859..bbf7253 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis-config" + prefix = "smartcity.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java index 17c34da..4c1bc0b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java @@ -479,7 +479,7 @@ resultData.setMessage("上传失败,无法找到文件!"); return resultData; } - resultData = busNoiseConfigService.imp(uploadFile); + resultData = busDigConfigService.imp(uploadFile); return resultData; } @@ -508,7 +508,6 @@ * @param deptid * @param response */ -// @ApiOperation("液位配置列表导出") @RequestMapping(value = "/liquidConfig/batchExport") @ResponseBody public void export(@RequestParam(required = false) String keywords, @@ -521,8 +520,7 @@ page.setSearchCount(false); page.setSize(Integer.MAX_VALUE); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); - List busConfigDTOList = busConfigService.getConfigList(page, keywords, - deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); + List busConfigDTOList = busConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); busConfigService.exp(busConfigDTOList, response); } catch (Exception e) { e.printStackTrace(); @@ -562,7 +560,6 @@ * @param deptid * @param response */ -// @ApiOperation("燃气配置列表导出") @RequestMapping(value = "/gasConfig/batchExport") @ResponseBody public void exportGas(@RequestParam(required = false) String keywords, @@ -667,7 +664,8 @@ @RequestParam(required = false) String deptid) { SuccessResponseData successResult = new SuccessResponseData(); try { - Page page = PageFactory.defaultPage();//page使用 + //page使用 + Page page = PageFactory.defaultPage(); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); List busConfigDTOList = busGasLiquidConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.LG.getIndex()), dataScope); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index a952859..bbf7253 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis-config" + prefix = "smartcity.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java index 17c34da..4c1bc0b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java @@ -479,7 +479,7 @@ resultData.setMessage("上传失败,无法找到文件!"); return resultData; } - resultData = busNoiseConfigService.imp(uploadFile); + resultData = busDigConfigService.imp(uploadFile); return resultData; } @@ -508,7 +508,6 @@ * @param deptid * @param response */ -// @ApiOperation("液位配置列表导出") @RequestMapping(value = "/liquidConfig/batchExport") @ResponseBody public void export(@RequestParam(required = false) String keywords, @@ -521,8 +520,7 @@ page.setSearchCount(false); page.setSize(Integer.MAX_VALUE); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); - List busConfigDTOList = busConfigService.getConfigList(page, keywords, - deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); + List busConfigDTOList = busConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); busConfigService.exp(busConfigDTOList, response); } catch (Exception e) { e.printStackTrace(); @@ -562,7 +560,6 @@ * @param deptid * @param response */ -// @ApiOperation("燃气配置列表导出") @RequestMapping(value = "/gasConfig/batchExport") @ResponseBody public void exportGas(@RequestParam(required = false) String keywords, @@ -667,7 +664,8 @@ @RequestParam(required = false) String deptid) { SuccessResponseData successResult = new SuccessResponseData(); try { - Page page = PageFactory.defaultPage();//page使用 + //page使用 + Page page = PageFactory.defaultPage(); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); List busConfigDTOList = busGasLiquidConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.LG.getIndex()), dataScope); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java index 331ac27..730d95b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -1,16 +1,15 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.system.dto.BusConfigDTO; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusConfig; -import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** *

@@ -21,24 +20,75 @@ * @since 2019-05-16 */ public interface IBusConfigService extends IService { + /** + * 设备配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ List getConfigList(Page page, - String keywords, - String deptid, - Long deviceType, - DataScope dataScope); + String keywords, + String deptid, + Long deviceType, + DataScope dataScope); + + /** + * 根据设备获取集中器编号 + * + * @param devID + * @return + */ String getConcenCodeByDevId(Long devID); + /** + * 根据设备获取井深 + * + * @param devID 设备主键 + * @return + */ String getWellDeepByDevId(Long devID); + /** + * 添加设备配置 + * + * @param busConfigDTO 设备实体 + */ void addConfig(BusConfigDTO busConfigDTO); + /** + * 修改设备配置 + * + * @param busConfigDTO + */ void updateConfig(BusConfigDTO busConfigDTO); + /** + * 获取设备配置 + * + * @param devId 设备主键 + * @return + */ List getListBydevId(Long devId); + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ SuccessResponseData imp(MultipartFile uploadFile); - void exp( List busConfigDTOList,HttpServletResponse response); + /** + * 设备配置导出 + * + * @param busConfigDTOList 设备配置列表 + * @param response 请求响应 + */ + void exp(List busConfigDTOList, HttpServletResponse response); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index a952859..bbf7253 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis-config" + prefix = "smartcity.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java index 17c34da..4c1bc0b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java @@ -479,7 +479,7 @@ resultData.setMessage("上传失败,无法找到文件!"); return resultData; } - resultData = busNoiseConfigService.imp(uploadFile); + resultData = busDigConfigService.imp(uploadFile); return resultData; } @@ -508,7 +508,6 @@ * @param deptid * @param response */ -// @ApiOperation("液位配置列表导出") @RequestMapping(value = "/liquidConfig/batchExport") @ResponseBody public void export(@RequestParam(required = false) String keywords, @@ -521,8 +520,7 @@ page.setSearchCount(false); page.setSize(Integer.MAX_VALUE); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); - List busConfigDTOList = busConfigService.getConfigList(page, keywords, - deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); + List busConfigDTOList = busConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); busConfigService.exp(busConfigDTOList, response); } catch (Exception e) { e.printStackTrace(); @@ -562,7 +560,6 @@ * @param deptid * @param response */ -// @ApiOperation("燃气配置列表导出") @RequestMapping(value = "/gasConfig/batchExport") @ResponseBody public void exportGas(@RequestParam(required = false) String keywords, @@ -667,7 +664,8 @@ @RequestParam(required = false) String deptid) { SuccessResponseData successResult = new SuccessResponseData(); try { - Page page = PageFactory.defaultPage();//page使用 + //page使用 + Page page = PageFactory.defaultPage(); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); List busConfigDTOList = busGasLiquidConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.LG.getIndex()), dataScope); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java index 331ac27..730d95b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -1,16 +1,15 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.system.dto.BusConfigDTO; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusConfig; -import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** *

@@ -21,24 +20,75 @@ * @since 2019-05-16 */ public interface IBusConfigService extends IService { + /** + * 设备配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ List getConfigList(Page page, - String keywords, - String deptid, - Long deviceType, - DataScope dataScope); + String keywords, + String deptid, + Long deviceType, + DataScope dataScope); + + /** + * 根据设备获取集中器编号 + * + * @param devID + * @return + */ String getConcenCodeByDevId(Long devID); + /** + * 根据设备获取井深 + * + * @param devID 设备主键 + * @return + */ String getWellDeepByDevId(Long devID); + /** + * 添加设备配置 + * + * @param busConfigDTO 设备实体 + */ void addConfig(BusConfigDTO busConfigDTO); + /** + * 修改设备配置 + * + * @param busConfigDTO + */ void updateConfig(BusConfigDTO busConfigDTO); + /** + * 获取设备配置 + * + * @param devId 设备主键 + * @return + */ List getListBydevId(Long devId); + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ SuccessResponseData imp(MultipartFile uploadFile); - void exp( List busConfigDTOList,HttpServletResponse response); + /** + * 设备配置导出 + * + * @param busConfigDTOList 设备配置列表 + * @param response 请求响应 + */ + void exp(List busConfigDTOList, HttpServletResponse response); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java index 558ff5e..9e70f4b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -73,6 +73,16 @@ return limitValue; } + /** + * 配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ @Override public List getConfigList(Page page, String keywords, @@ -83,8 +93,8 @@ BusConfigDTO.sensorHashMap.get(deviceType.intValue()), dataScope); List busConfigDTOList = new ArrayList<>(); for (Map objectMap : result) { - BusConfigDTO dto = BusConfigDTO.ConvertDTO(objectMap); + // 配置信息转换 以逗号拼接 String framecontent = objectMap.get("framecontent").toString(); if (null != framecontent) { String[] configItems = framecontent.split(","); @@ -99,6 +109,7 @@ dto.setIp(configItems[4]); dto.setPort(configItems[5]); } + dto.setPercentExp(dto.getPercent()); } busConfigDTOList.add(dto); } @@ -107,16 +118,33 @@ } + /** + * 根据设备id + * + * @param devID 设备主键 + * @return 集中器编号 + */ @Override public String getConcenCodeByDevId(Long devID) { return this.baseMapper.getConcenCodeByDevId(devID); } + /** + * 根据设备主键获取井深 + * + * @param devID 设备主键 + * @return 井深 + */ @Override public String getWellDeepByDevId(Long devID) { return this.baseMapper.getWellDeepByDevId(devID); } + /** + * 添加设备配置 + * + * @param busConfigDTO + */ @Transactional @Override public void addConfig(BusConfigDTO busConfigDTO) { @@ -151,6 +179,11 @@ } } + /** + * 批量添加设备配置 + * + * @param busConfigDTOList + */ @Transactional public void addBatchConfig(List busConfigDTOList) { String concentratorCodeStr = ""; @@ -281,25 +314,22 @@ return stringMap; } + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ @Transactional @Override public SuccessResponseData imp(MultipartFile uploadFile) { SuccessResponseData resultData = new SuccessResponseData(); - Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode"); - mapper.put("报警阈值(%)", "percent"); - mapper.put("安装高度(M)", "installHeight"); - mapper.put("重传次数", "retryTimes"); - mapper.put("IP地址", "ip"); - mapper.put("端口号", "port"); - mapper.put("最大尝试次数", "attemptsMax"); - List busConfigDTOList = new ArrayList<>(); - try { - //TODO 注解设置 - busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile,null,null); + + List busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile, null, null); Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); @@ -327,7 +357,7 @@ fis = new FileInputStream(deviceServerProperties.getExportPath().concat(DeviceConfigConst.CONFIG_EXPORT_TEMP)); } //TODO BusConfigDTO导出文件注解设置 - exportService.exportExcel(response,BusConfigDTO.class,busConfigDTOList,"文件下载"); + exportService.exportExcel(response, BusConfigDTO.class, busConfigDTOList, "文件下载"); } catch (Exception e) { e.printStackTrace(); } finally { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index a952859..bbf7253 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis-config" + prefix = "smartcity.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java index 17c34da..4c1bc0b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java @@ -479,7 +479,7 @@ resultData.setMessage("上传失败,无法找到文件!"); return resultData; } - resultData = busNoiseConfigService.imp(uploadFile); + resultData = busDigConfigService.imp(uploadFile); return resultData; } @@ -508,7 +508,6 @@ * @param deptid * @param response */ -// @ApiOperation("液位配置列表导出") @RequestMapping(value = "/liquidConfig/batchExport") @ResponseBody public void export(@RequestParam(required = false) String keywords, @@ -521,8 +520,7 @@ page.setSearchCount(false); page.setSize(Integer.MAX_VALUE); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); - List busConfigDTOList = busConfigService.getConfigList(page, keywords, - deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); + List busConfigDTOList = busConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); busConfigService.exp(busConfigDTOList, response); } catch (Exception e) { e.printStackTrace(); @@ -562,7 +560,6 @@ * @param deptid * @param response */ -// @ApiOperation("燃气配置列表导出") @RequestMapping(value = "/gasConfig/batchExport") @ResponseBody public void exportGas(@RequestParam(required = false) String keywords, @@ -667,7 +664,8 @@ @RequestParam(required = false) String deptid) { SuccessResponseData successResult = new SuccessResponseData(); try { - Page page = PageFactory.defaultPage();//page使用 + //page使用 + Page page = PageFactory.defaultPage(); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); List busConfigDTOList = busGasLiquidConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.LG.getIndex()), dataScope); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java index 331ac27..730d95b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -1,16 +1,15 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.system.dto.BusConfigDTO; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusConfig; -import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** *

@@ -21,24 +20,75 @@ * @since 2019-05-16 */ public interface IBusConfigService extends IService { + /** + * 设备配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ List getConfigList(Page page, - String keywords, - String deptid, - Long deviceType, - DataScope dataScope); + String keywords, + String deptid, + Long deviceType, + DataScope dataScope); + + /** + * 根据设备获取集中器编号 + * + * @param devID + * @return + */ String getConcenCodeByDevId(Long devID); + /** + * 根据设备获取井深 + * + * @param devID 设备主键 + * @return + */ String getWellDeepByDevId(Long devID); + /** + * 添加设备配置 + * + * @param busConfigDTO 设备实体 + */ void addConfig(BusConfigDTO busConfigDTO); + /** + * 修改设备配置 + * + * @param busConfigDTO + */ void updateConfig(BusConfigDTO busConfigDTO); + /** + * 获取设备配置 + * + * @param devId 设备主键 + * @return + */ List getListBydevId(Long devId); + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ SuccessResponseData imp(MultipartFile uploadFile); - void exp( List busConfigDTOList,HttpServletResponse response); + /** + * 设备配置导出 + * + * @param busConfigDTOList 设备配置列表 + * @param response 请求响应 + */ + void exp(List busConfigDTOList, HttpServletResponse response); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java index 558ff5e..9e70f4b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -73,6 +73,16 @@ return limitValue; } + /** + * 配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ @Override public List getConfigList(Page page, String keywords, @@ -83,8 +93,8 @@ BusConfigDTO.sensorHashMap.get(deviceType.intValue()), dataScope); List busConfigDTOList = new ArrayList<>(); for (Map objectMap : result) { - BusConfigDTO dto = BusConfigDTO.ConvertDTO(objectMap); + // 配置信息转换 以逗号拼接 String framecontent = objectMap.get("framecontent").toString(); if (null != framecontent) { String[] configItems = framecontent.split(","); @@ -99,6 +109,7 @@ dto.setIp(configItems[4]); dto.setPort(configItems[5]); } + dto.setPercentExp(dto.getPercent()); } busConfigDTOList.add(dto); } @@ -107,16 +118,33 @@ } + /** + * 根据设备id + * + * @param devID 设备主键 + * @return 集中器编号 + */ @Override public String getConcenCodeByDevId(Long devID) { return this.baseMapper.getConcenCodeByDevId(devID); } + /** + * 根据设备主键获取井深 + * + * @param devID 设备主键 + * @return 井深 + */ @Override public String getWellDeepByDevId(Long devID) { return this.baseMapper.getWellDeepByDevId(devID); } + /** + * 添加设备配置 + * + * @param busConfigDTO + */ @Transactional @Override public void addConfig(BusConfigDTO busConfigDTO) { @@ -151,6 +179,11 @@ } } + /** + * 批量添加设备配置 + * + * @param busConfigDTOList + */ @Transactional public void addBatchConfig(List busConfigDTOList) { String concentratorCodeStr = ""; @@ -281,25 +314,22 @@ return stringMap; } + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ @Transactional @Override public SuccessResponseData imp(MultipartFile uploadFile) { SuccessResponseData resultData = new SuccessResponseData(); - Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode"); - mapper.put("报警阈值(%)", "percent"); - mapper.put("安装高度(M)", "installHeight"); - mapper.put("重传次数", "retryTimes"); - mapper.put("IP地址", "ip"); - mapper.put("端口号", "port"); - mapper.put("最大尝试次数", "attemptsMax"); - List busConfigDTOList = new ArrayList<>(); - try { - //TODO 注解设置 - busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile,null,null); + + List busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile, null, null); Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); @@ -327,7 +357,7 @@ fis = new FileInputStream(deviceServerProperties.getExportPath().concat(DeviceConfigConst.CONFIG_EXPORT_TEMP)); } //TODO BusConfigDTO导出文件注解设置 - exportService.exportExcel(response,BusConfigDTO.class,busConfigDTOList,"文件下载"); + exportService.exportExcel(response, BusConfigDTO.class, busConfigDTOList, "文件下载"); } catch (Exception e) { e.printStackTrace(); } finally { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java index 3809482..fb1048b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java @@ -266,7 +266,7 @@ try { try { - exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); + busConfigDTOList = exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); } catch (Exception e) { e.printStackTrace(); resultData.setCode(400); @@ -274,7 +274,8 @@ } Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index a952859..bbf7253 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis-config" + prefix = "smartcity.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java index 17c34da..4c1bc0b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java @@ -479,7 +479,7 @@ resultData.setMessage("上传失败,无法找到文件!"); return resultData; } - resultData = busNoiseConfigService.imp(uploadFile); + resultData = busDigConfigService.imp(uploadFile); return resultData; } @@ -508,7 +508,6 @@ * @param deptid * @param response */ -// @ApiOperation("液位配置列表导出") @RequestMapping(value = "/liquidConfig/batchExport") @ResponseBody public void export(@RequestParam(required = false) String keywords, @@ -521,8 +520,7 @@ page.setSearchCount(false); page.setSize(Integer.MAX_VALUE); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); - List busConfigDTOList = busConfigService.getConfigList(page, keywords, - deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); + List busConfigDTOList = busConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); busConfigService.exp(busConfigDTOList, response); } catch (Exception e) { e.printStackTrace(); @@ -562,7 +560,6 @@ * @param deptid * @param response */ -// @ApiOperation("燃气配置列表导出") @RequestMapping(value = "/gasConfig/batchExport") @ResponseBody public void exportGas(@RequestParam(required = false) String keywords, @@ -667,7 +664,8 @@ @RequestParam(required = false) String deptid) { SuccessResponseData successResult = new SuccessResponseData(); try { - Page page = PageFactory.defaultPage();//page使用 + //page使用 + Page page = PageFactory.defaultPage(); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); List busConfigDTOList = busGasLiquidConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.LG.getIndex()), dataScope); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java index 331ac27..730d95b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -1,16 +1,15 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.system.dto.BusConfigDTO; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusConfig; -import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** *

@@ -21,24 +20,75 @@ * @since 2019-05-16 */ public interface IBusConfigService extends IService { + /** + * 设备配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ List getConfigList(Page page, - String keywords, - String deptid, - Long deviceType, - DataScope dataScope); + String keywords, + String deptid, + Long deviceType, + DataScope dataScope); + + /** + * 根据设备获取集中器编号 + * + * @param devID + * @return + */ String getConcenCodeByDevId(Long devID); + /** + * 根据设备获取井深 + * + * @param devID 设备主键 + * @return + */ String getWellDeepByDevId(Long devID); + /** + * 添加设备配置 + * + * @param busConfigDTO 设备实体 + */ void addConfig(BusConfigDTO busConfigDTO); + /** + * 修改设备配置 + * + * @param busConfigDTO + */ void updateConfig(BusConfigDTO busConfigDTO); + /** + * 获取设备配置 + * + * @param devId 设备主键 + * @return + */ List getListBydevId(Long devId); + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ SuccessResponseData imp(MultipartFile uploadFile); - void exp( List busConfigDTOList,HttpServletResponse response); + /** + * 设备配置导出 + * + * @param busConfigDTOList 设备配置列表 + * @param response 请求响应 + */ + void exp(List busConfigDTOList, HttpServletResponse response); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java index 558ff5e..9e70f4b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -73,6 +73,16 @@ return limitValue; } + /** + * 配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ @Override public List getConfigList(Page page, String keywords, @@ -83,8 +93,8 @@ BusConfigDTO.sensorHashMap.get(deviceType.intValue()), dataScope); List busConfigDTOList = new ArrayList<>(); for (Map objectMap : result) { - BusConfigDTO dto = BusConfigDTO.ConvertDTO(objectMap); + // 配置信息转换 以逗号拼接 String framecontent = objectMap.get("framecontent").toString(); if (null != framecontent) { String[] configItems = framecontent.split(","); @@ -99,6 +109,7 @@ dto.setIp(configItems[4]); dto.setPort(configItems[5]); } + dto.setPercentExp(dto.getPercent()); } busConfigDTOList.add(dto); } @@ -107,16 +118,33 @@ } + /** + * 根据设备id + * + * @param devID 设备主键 + * @return 集中器编号 + */ @Override public String getConcenCodeByDevId(Long devID) { return this.baseMapper.getConcenCodeByDevId(devID); } + /** + * 根据设备主键获取井深 + * + * @param devID 设备主键 + * @return 井深 + */ @Override public String getWellDeepByDevId(Long devID) { return this.baseMapper.getWellDeepByDevId(devID); } + /** + * 添加设备配置 + * + * @param busConfigDTO + */ @Transactional @Override public void addConfig(BusConfigDTO busConfigDTO) { @@ -151,6 +179,11 @@ } } + /** + * 批量添加设备配置 + * + * @param busConfigDTOList + */ @Transactional public void addBatchConfig(List busConfigDTOList) { String concentratorCodeStr = ""; @@ -281,25 +314,22 @@ return stringMap; } + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ @Transactional @Override public SuccessResponseData imp(MultipartFile uploadFile) { SuccessResponseData resultData = new SuccessResponseData(); - Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode"); - mapper.put("报警阈值(%)", "percent"); - mapper.put("安装高度(M)", "installHeight"); - mapper.put("重传次数", "retryTimes"); - mapper.put("IP地址", "ip"); - mapper.put("端口号", "port"); - mapper.put("最大尝试次数", "attemptsMax"); - List busConfigDTOList = new ArrayList<>(); - try { - //TODO 注解设置 - busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile,null,null); + + List busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile, null, null); Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); @@ -327,7 +357,7 @@ fis = new FileInputStream(deviceServerProperties.getExportPath().concat(DeviceConfigConst.CONFIG_EXPORT_TEMP)); } //TODO BusConfigDTO导出文件注解设置 - exportService.exportExcel(response,BusConfigDTO.class,busConfigDTOList,"文件下载"); + exportService.exportExcel(response, BusConfigDTO.class, busConfigDTOList, "文件下载"); } catch (Exception e) { e.printStackTrace(); } finally { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java index 3809482..fb1048b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java @@ -266,7 +266,7 @@ try { try { - exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); + busConfigDTOList = exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); } catch (Exception e) { e.printStackTrace(); resultData.setCode(400); @@ -274,7 +274,8 @@ } Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java index b333b89..0d467a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java @@ -230,15 +230,18 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 @ExcelProperty("设备编号") + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "name"); mapper.put("设备唯一标识", "nodeid"); mapper.put("验证码", "verifyCode"); mapper.put("超时时间", "timeout"); mapper.put("厂商ID", "manufacturerId"); mapper.put("厂商名称", "manufacturerName"); - mapper.put("设备类型", "deviceType");//需要转换 - mapper.put("设备型号", "model");//需要转换 + //需要转换 + mapper.put("设备类型", "deviceType"); + //需要转换 + mapper.put("设备型号", "model"); mapper.put("设备协议类型", "protocalType"); mapper.put("设备安全模式", "isSecure"); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index a952859..bbf7253 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis-config" + prefix = "smartcity.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java index 17c34da..4c1bc0b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java @@ -479,7 +479,7 @@ resultData.setMessage("上传失败,无法找到文件!"); return resultData; } - resultData = busNoiseConfigService.imp(uploadFile); + resultData = busDigConfigService.imp(uploadFile); return resultData; } @@ -508,7 +508,6 @@ * @param deptid * @param response */ -// @ApiOperation("液位配置列表导出") @RequestMapping(value = "/liquidConfig/batchExport") @ResponseBody public void export(@RequestParam(required = false) String keywords, @@ -521,8 +520,7 @@ page.setSearchCount(false); page.setSize(Integer.MAX_VALUE); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); - List busConfigDTOList = busConfigService.getConfigList(page, keywords, - deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); + List busConfigDTOList = busConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); busConfigService.exp(busConfigDTOList, response); } catch (Exception e) { e.printStackTrace(); @@ -562,7 +560,6 @@ * @param deptid * @param response */ -// @ApiOperation("燃气配置列表导出") @RequestMapping(value = "/gasConfig/batchExport") @ResponseBody public void exportGas(@RequestParam(required = false) String keywords, @@ -667,7 +664,8 @@ @RequestParam(required = false) String deptid) { SuccessResponseData successResult = new SuccessResponseData(); try { - Page page = PageFactory.defaultPage();//page使用 + //page使用 + Page page = PageFactory.defaultPage(); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); List busConfigDTOList = busGasLiquidConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.LG.getIndex()), dataScope); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java index 331ac27..730d95b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -1,16 +1,15 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.system.dto.BusConfigDTO; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusConfig; -import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** *

@@ -21,24 +20,75 @@ * @since 2019-05-16 */ public interface IBusConfigService extends IService { + /** + * 设备配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ List getConfigList(Page page, - String keywords, - String deptid, - Long deviceType, - DataScope dataScope); + String keywords, + String deptid, + Long deviceType, + DataScope dataScope); + + /** + * 根据设备获取集中器编号 + * + * @param devID + * @return + */ String getConcenCodeByDevId(Long devID); + /** + * 根据设备获取井深 + * + * @param devID 设备主键 + * @return + */ String getWellDeepByDevId(Long devID); + /** + * 添加设备配置 + * + * @param busConfigDTO 设备实体 + */ void addConfig(BusConfigDTO busConfigDTO); + /** + * 修改设备配置 + * + * @param busConfigDTO + */ void updateConfig(BusConfigDTO busConfigDTO); + /** + * 获取设备配置 + * + * @param devId 设备主键 + * @return + */ List getListBydevId(Long devId); + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ SuccessResponseData imp(MultipartFile uploadFile); - void exp( List busConfigDTOList,HttpServletResponse response); + /** + * 设备配置导出 + * + * @param busConfigDTOList 设备配置列表 + * @param response 请求响应 + */ + void exp(List busConfigDTOList, HttpServletResponse response); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java index 558ff5e..9e70f4b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -73,6 +73,16 @@ return limitValue; } + /** + * 配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ @Override public List getConfigList(Page page, String keywords, @@ -83,8 +93,8 @@ BusConfigDTO.sensorHashMap.get(deviceType.intValue()), dataScope); List busConfigDTOList = new ArrayList<>(); for (Map objectMap : result) { - BusConfigDTO dto = BusConfigDTO.ConvertDTO(objectMap); + // 配置信息转换 以逗号拼接 String framecontent = objectMap.get("framecontent").toString(); if (null != framecontent) { String[] configItems = framecontent.split(","); @@ -99,6 +109,7 @@ dto.setIp(configItems[4]); dto.setPort(configItems[5]); } + dto.setPercentExp(dto.getPercent()); } busConfigDTOList.add(dto); } @@ -107,16 +118,33 @@ } + /** + * 根据设备id + * + * @param devID 设备主键 + * @return 集中器编号 + */ @Override public String getConcenCodeByDevId(Long devID) { return this.baseMapper.getConcenCodeByDevId(devID); } + /** + * 根据设备主键获取井深 + * + * @param devID 设备主键 + * @return 井深 + */ @Override public String getWellDeepByDevId(Long devID) { return this.baseMapper.getWellDeepByDevId(devID); } + /** + * 添加设备配置 + * + * @param busConfigDTO + */ @Transactional @Override public void addConfig(BusConfigDTO busConfigDTO) { @@ -151,6 +179,11 @@ } } + /** + * 批量添加设备配置 + * + * @param busConfigDTOList + */ @Transactional public void addBatchConfig(List busConfigDTOList) { String concentratorCodeStr = ""; @@ -281,25 +314,22 @@ return stringMap; } + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ @Transactional @Override public SuccessResponseData imp(MultipartFile uploadFile) { SuccessResponseData resultData = new SuccessResponseData(); - Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode"); - mapper.put("报警阈值(%)", "percent"); - mapper.put("安装高度(M)", "installHeight"); - mapper.put("重传次数", "retryTimes"); - mapper.put("IP地址", "ip"); - mapper.put("端口号", "port"); - mapper.put("最大尝试次数", "attemptsMax"); - List busConfigDTOList = new ArrayList<>(); - try { - //TODO 注解设置 - busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile,null,null); + + List busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile, null, null); Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); @@ -327,7 +357,7 @@ fis = new FileInputStream(deviceServerProperties.getExportPath().concat(DeviceConfigConst.CONFIG_EXPORT_TEMP)); } //TODO BusConfigDTO导出文件注解设置 - exportService.exportExcel(response,BusConfigDTO.class,busConfigDTOList,"文件下载"); + exportService.exportExcel(response, BusConfigDTO.class, busConfigDTOList, "文件下载"); } catch (Exception e) { e.printStackTrace(); } finally { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java index 3809482..fb1048b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java @@ -266,7 +266,7 @@ try { try { - exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); + busConfigDTOList = exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); } catch (Exception e) { e.printStackTrace(); resultData.setCode(400); @@ -274,7 +274,8 @@ } Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java index b333b89..0d467a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java @@ -230,15 +230,18 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 @ExcelProperty("设备编号") + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "name"); mapper.put("设备唯一标识", "nodeid"); mapper.put("验证码", "verifyCode"); mapper.put("超时时间", "timeout"); mapper.put("厂商ID", "manufacturerId"); mapper.put("厂商名称", "manufacturerName"); - mapper.put("设备类型", "deviceType");//需要转换 - mapper.put("设备型号", "model");//需要转换 + //需要转换 + mapper.put("设备类型", "deviceType"); + //需要转换 + mapper.put("设备型号", "model"); mapper.put("设备协议类型", "protocalType"); mapper.put("设备安全模式", "isSecure"); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java index 7f760f9..af8067c 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java @@ -1,5 +1,12 @@ package com.casic.missiles.modular.system.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -8,40 +15,134 @@ import java.util.Map; /** - * Created by test203 on 2019/5/20. + * @author test203 + * @date 2019/5/20 */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated @Component public class BusConfigDTO { + // mapper.put("设备编号", "devcode"); +// mapper.put("报警阈值(%)", "percent"); +// mapper.put("安装高度(M)", "installHeight"); +// mapper.put("重传次数", "retryTimes"); +// mapper.put("IP地址", "ip"); +// mapper.put("端口号", "port"); +// mapper.put("最大尝试次数", "attemptsMax"); private Long id; private Long deviceId; - private String devcode; //设备编号 - private String deviceName; //设备名称 - private Long deviceType; //设备类型编号 - private String deviceTypeName; // 设备类型名称 - private String deptid; // 权属单位id - private String deptName;// 权属单位名称 - private String wellCode;// 闸井编号 - private float threshold;// 报警阈值 - private float percent;// 井深百分比 - private float installHeight; //安装高度 - private String retryTimes;// 重传次数 - private String ip;// IP地址 - private String port;// 端口 - private String attemptsMax; //最大尝试次数 - private String attemptsCurrent;// 已尝试次数 - private String status;// 已尝试次数 - private String statusName;// 已尝试次数 + /** + * + */ + @ExcelProperty("设备编号") + private String devcode; + /** + * 设备名称 + */ + private String deviceName; + /** + * 设备类型编号 + */ + private Long deviceType; + /** + * 设备类型名称 + */ + private String deviceTypeName; + /** + * 权属单位id + */ + private String deptid; + /** + * 权属单位名称 + */ + private String deptName; + /** + * 闸井编号 + */ + private String wellCode; - private String collectInterval;//采集间隔 - private String collectCount;//采集次数 - private String reloadInterval;//重传次数 - private String sleepPeriod;//休眠周期 - private String uploadPeriod;//上传周期 - private String collectTime;//采集时间 - private String sleepStartTime;//休眠开始时间 - private String sensorId;//休眠开始时间 + /** + * 液位报警阈值 导出字段 + */ + @ExcelProperty("报警阈值") + private float threshold; + /** + * 井深百分比 + */ + @ExcelProperty("报警阈值(%)") + private float percent; + /** + * 井深百分比 导出字段 + */ + @ExcelProperty("井深百分比") + private float percentExp; + @ExcelProperty("安装高度(M)") + private float installHeight; + @ExcelProperty("重传次数") + private String retryTimes; + @ExcelProperty("IP地址") + private String ip; + @ExcelProperty("端口号") + private String port; + @ExcelProperty("最大尝试次数") + private String attemptsMax; + /** + * 已尝试次数 + */ + private String attemptsCurrent; + /** + * 已尝试次数 + */ + private String status; + /** + * 已尝试次数 + */ + private String statusName; + + /** + * 燃气监测终端-采集间隔 + */ + @ExcelProperty("采集间隔(分)") + private String collectInterval; + /** + * 采集次数 + */ + @ExcelProperty("采集次数") + private String collectCount; + /** + * 重传次数 + */ + private String reloadInterval; + /** + * 休眠周期 + */ + private String sleepPeriod; + + /** + * 燃气监测终端-上传周期 + */ + @ExcelProperty("上传周期(分)") + private String uploadPeriod; + /** + * 温湿度监测仪-采集时间 + */ + @ExcelProperty("采集时间(时:分)") + private String collectTime; + /** + * 休眠开始时间 + */ + @ExcelProperty("睡眠开始时间(时:分)") + private String sleepStartTime; + /** + * 休眠开始时间 + */ + private String sensorId; public static Map sensorHashMap = new HashMap(); + {//根据前期产品化文档,配置时存入config表中对应的sensorid字段,区分是哪类设备 sensorHashMap.put(DeviceTypeEnum.Liquid.getIndex(), "000034"); sensorHashMap.put(DeviceTypeEnum.Methane.getIndex(), "000044"); @@ -272,6 +373,14 @@ this.sensorId = sensorId; } + public float getPercentExp() { + return percentExp; + } + + public void setPercentExp(float percentExp) { + this.percentExp = percentExp; + } + public BusConfigDTO() { } @@ -284,7 +393,7 @@ dto.setDeviceId(null != objectMap.get("deviceId") ? Long.valueOf(objectMap.get("deviceId").toString()) : null); dto.setDevcode(objectMap.get("devcode").toString()); - dto.setDeviceName(objectMap.get("deviceName").toString()); +// dto.setDeviceName(objectMap.get("deviceName").toString()); dto.setDeviceType(null != objectMap.get("deviceType") ? Long.valueOf(objectMap.get("deviceType").toString()) : null); dto.setDeviceTypeName(objectMap.get("deviceTypeName").toString()); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index a952859..bbf7253 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis-config" + prefix = "smartcity.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java index 17c34da..4c1bc0b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java @@ -479,7 +479,7 @@ resultData.setMessage("上传失败,无法找到文件!"); return resultData; } - resultData = busNoiseConfigService.imp(uploadFile); + resultData = busDigConfigService.imp(uploadFile); return resultData; } @@ -508,7 +508,6 @@ * @param deptid * @param response */ -// @ApiOperation("液位配置列表导出") @RequestMapping(value = "/liquidConfig/batchExport") @ResponseBody public void export(@RequestParam(required = false) String keywords, @@ -521,8 +520,7 @@ page.setSearchCount(false); page.setSize(Integer.MAX_VALUE); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); - List busConfigDTOList = busConfigService.getConfigList(page, keywords, - deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); + List busConfigDTOList = busConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); busConfigService.exp(busConfigDTOList, response); } catch (Exception e) { e.printStackTrace(); @@ -562,7 +560,6 @@ * @param deptid * @param response */ -// @ApiOperation("燃气配置列表导出") @RequestMapping(value = "/gasConfig/batchExport") @ResponseBody public void exportGas(@RequestParam(required = false) String keywords, @@ -667,7 +664,8 @@ @RequestParam(required = false) String deptid) { SuccessResponseData successResult = new SuccessResponseData(); try { - Page page = PageFactory.defaultPage();//page使用 + //page使用 + Page page = PageFactory.defaultPage(); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); List busConfigDTOList = busGasLiquidConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.LG.getIndex()), dataScope); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java index 331ac27..730d95b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -1,16 +1,15 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.system.dto.BusConfigDTO; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusConfig; -import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** *

@@ -21,24 +20,75 @@ * @since 2019-05-16 */ public interface IBusConfigService extends IService { + /** + * 设备配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ List getConfigList(Page page, - String keywords, - String deptid, - Long deviceType, - DataScope dataScope); + String keywords, + String deptid, + Long deviceType, + DataScope dataScope); + + /** + * 根据设备获取集中器编号 + * + * @param devID + * @return + */ String getConcenCodeByDevId(Long devID); + /** + * 根据设备获取井深 + * + * @param devID 设备主键 + * @return + */ String getWellDeepByDevId(Long devID); + /** + * 添加设备配置 + * + * @param busConfigDTO 设备实体 + */ void addConfig(BusConfigDTO busConfigDTO); + /** + * 修改设备配置 + * + * @param busConfigDTO + */ void updateConfig(BusConfigDTO busConfigDTO); + /** + * 获取设备配置 + * + * @param devId 设备主键 + * @return + */ List getListBydevId(Long devId); + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ SuccessResponseData imp(MultipartFile uploadFile); - void exp( List busConfigDTOList,HttpServletResponse response); + /** + * 设备配置导出 + * + * @param busConfigDTOList 设备配置列表 + * @param response 请求响应 + */ + void exp(List busConfigDTOList, HttpServletResponse response); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java index 558ff5e..9e70f4b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -73,6 +73,16 @@ return limitValue; } + /** + * 配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ @Override public List getConfigList(Page page, String keywords, @@ -83,8 +93,8 @@ BusConfigDTO.sensorHashMap.get(deviceType.intValue()), dataScope); List busConfigDTOList = new ArrayList<>(); for (Map objectMap : result) { - BusConfigDTO dto = BusConfigDTO.ConvertDTO(objectMap); + // 配置信息转换 以逗号拼接 String framecontent = objectMap.get("framecontent").toString(); if (null != framecontent) { String[] configItems = framecontent.split(","); @@ -99,6 +109,7 @@ dto.setIp(configItems[4]); dto.setPort(configItems[5]); } + dto.setPercentExp(dto.getPercent()); } busConfigDTOList.add(dto); } @@ -107,16 +118,33 @@ } + /** + * 根据设备id + * + * @param devID 设备主键 + * @return 集中器编号 + */ @Override public String getConcenCodeByDevId(Long devID) { return this.baseMapper.getConcenCodeByDevId(devID); } + /** + * 根据设备主键获取井深 + * + * @param devID 设备主键 + * @return 井深 + */ @Override public String getWellDeepByDevId(Long devID) { return this.baseMapper.getWellDeepByDevId(devID); } + /** + * 添加设备配置 + * + * @param busConfigDTO + */ @Transactional @Override public void addConfig(BusConfigDTO busConfigDTO) { @@ -151,6 +179,11 @@ } } + /** + * 批量添加设备配置 + * + * @param busConfigDTOList + */ @Transactional public void addBatchConfig(List busConfigDTOList) { String concentratorCodeStr = ""; @@ -281,25 +314,22 @@ return stringMap; } + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ @Transactional @Override public SuccessResponseData imp(MultipartFile uploadFile) { SuccessResponseData resultData = new SuccessResponseData(); - Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode"); - mapper.put("报警阈值(%)", "percent"); - mapper.put("安装高度(M)", "installHeight"); - mapper.put("重传次数", "retryTimes"); - mapper.put("IP地址", "ip"); - mapper.put("端口号", "port"); - mapper.put("最大尝试次数", "attemptsMax"); - List busConfigDTOList = new ArrayList<>(); - try { - //TODO 注解设置 - busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile,null,null); + + List busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile, null, null); Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); @@ -327,7 +357,7 @@ fis = new FileInputStream(deviceServerProperties.getExportPath().concat(DeviceConfigConst.CONFIG_EXPORT_TEMP)); } //TODO BusConfigDTO导出文件注解设置 - exportService.exportExcel(response,BusConfigDTO.class,busConfigDTOList,"文件下载"); + exportService.exportExcel(response, BusConfigDTO.class, busConfigDTOList, "文件下载"); } catch (Exception e) { e.printStackTrace(); } finally { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java index 3809482..fb1048b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java @@ -266,7 +266,7 @@ try { try { - exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); + busConfigDTOList = exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); } catch (Exception e) { e.printStackTrace(); resultData.setCode(400); @@ -274,7 +274,8 @@ } Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java index b333b89..0d467a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java @@ -230,15 +230,18 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 @ExcelProperty("设备编号") + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "name"); mapper.put("设备唯一标识", "nodeid"); mapper.put("验证码", "verifyCode"); mapper.put("超时时间", "timeout"); mapper.put("厂商ID", "manufacturerId"); mapper.put("厂商名称", "manufacturerName"); - mapper.put("设备类型", "deviceType");//需要转换 - mapper.put("设备型号", "model");//需要转换 + //需要转换 + mapper.put("设备类型", "deviceType"); + //需要转换 + mapper.put("设备型号", "model"); mapper.put("设备协议类型", "protocalType"); mapper.put("设备安全模式", "isSecure"); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java index 7f760f9..af8067c 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java @@ -1,5 +1,12 @@ package com.casic.missiles.modular.system.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -8,40 +15,134 @@ import java.util.Map; /** - * Created by test203 on 2019/5/20. + * @author test203 + * @date 2019/5/20 */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated @Component public class BusConfigDTO { + // mapper.put("设备编号", "devcode"); +// mapper.put("报警阈值(%)", "percent"); +// mapper.put("安装高度(M)", "installHeight"); +// mapper.put("重传次数", "retryTimes"); +// mapper.put("IP地址", "ip"); +// mapper.put("端口号", "port"); +// mapper.put("最大尝试次数", "attemptsMax"); private Long id; private Long deviceId; - private String devcode; //设备编号 - private String deviceName; //设备名称 - private Long deviceType; //设备类型编号 - private String deviceTypeName; // 设备类型名称 - private String deptid; // 权属单位id - private String deptName;// 权属单位名称 - private String wellCode;// 闸井编号 - private float threshold;// 报警阈值 - private float percent;// 井深百分比 - private float installHeight; //安装高度 - private String retryTimes;// 重传次数 - private String ip;// IP地址 - private String port;// 端口 - private String attemptsMax; //最大尝试次数 - private String attemptsCurrent;// 已尝试次数 - private String status;// 已尝试次数 - private String statusName;// 已尝试次数 + /** + * + */ + @ExcelProperty("设备编号") + private String devcode; + /** + * 设备名称 + */ + private String deviceName; + /** + * 设备类型编号 + */ + private Long deviceType; + /** + * 设备类型名称 + */ + private String deviceTypeName; + /** + * 权属单位id + */ + private String deptid; + /** + * 权属单位名称 + */ + private String deptName; + /** + * 闸井编号 + */ + private String wellCode; - private String collectInterval;//采集间隔 - private String collectCount;//采集次数 - private String reloadInterval;//重传次数 - private String sleepPeriod;//休眠周期 - private String uploadPeriod;//上传周期 - private String collectTime;//采集时间 - private String sleepStartTime;//休眠开始时间 - private String sensorId;//休眠开始时间 + /** + * 液位报警阈值 导出字段 + */ + @ExcelProperty("报警阈值") + private float threshold; + /** + * 井深百分比 + */ + @ExcelProperty("报警阈值(%)") + private float percent; + /** + * 井深百分比 导出字段 + */ + @ExcelProperty("井深百分比") + private float percentExp; + @ExcelProperty("安装高度(M)") + private float installHeight; + @ExcelProperty("重传次数") + private String retryTimes; + @ExcelProperty("IP地址") + private String ip; + @ExcelProperty("端口号") + private String port; + @ExcelProperty("最大尝试次数") + private String attemptsMax; + /** + * 已尝试次数 + */ + private String attemptsCurrent; + /** + * 已尝试次数 + */ + private String status; + /** + * 已尝试次数 + */ + private String statusName; + + /** + * 燃气监测终端-采集间隔 + */ + @ExcelProperty("采集间隔(分)") + private String collectInterval; + /** + * 采集次数 + */ + @ExcelProperty("采集次数") + private String collectCount; + /** + * 重传次数 + */ + private String reloadInterval; + /** + * 休眠周期 + */ + private String sleepPeriod; + + /** + * 燃气监测终端-上传周期 + */ + @ExcelProperty("上传周期(分)") + private String uploadPeriod; + /** + * 温湿度监测仪-采集时间 + */ + @ExcelProperty("采集时间(时:分)") + private String collectTime; + /** + * 休眠开始时间 + */ + @ExcelProperty("睡眠开始时间(时:分)") + private String sleepStartTime; + /** + * 休眠开始时间 + */ + private String sensorId; public static Map sensorHashMap = new HashMap(); + {//根据前期产品化文档,配置时存入config表中对应的sensorid字段,区分是哪类设备 sensorHashMap.put(DeviceTypeEnum.Liquid.getIndex(), "000034"); sensorHashMap.put(DeviceTypeEnum.Methane.getIndex(), "000044"); @@ -272,6 +373,14 @@ this.sensorId = sensorId; } + public float getPercentExp() { + return percentExp; + } + + public void setPercentExp(float percentExp) { + this.percentExp = percentExp; + } + public BusConfigDTO() { } @@ -284,7 +393,7 @@ dto.setDeviceId(null != objectMap.get("deviceId") ? Long.valueOf(objectMap.get("deviceId").toString()) : null); dto.setDevcode(objectMap.get("devcode").toString()); - dto.setDeviceName(objectMap.get("deviceName").toString()); +// dto.setDeviceName(objectMap.get("deviceName").toString()); dto.setDeviceType(null != objectMap.get("deviceType") ? Long.valueOf(objectMap.get("deviceType").toString()) : null); dto.setDeviceTypeName(objectMap.get("deviceTypeName").toString()); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java index 4190546..ef37eaa 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java @@ -1,5 +1,9 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -20,9 +24,11 @@ * @since 2019-05-23 */ @TableName("bus_nb_device") +@HeadRowHeight(15) +@ContentRowHeight(20) +@ExcelIgnoreUnannotated @Data public class BusNbDevice extends Model { - private static final long serialVersionUID = 1L; /** @@ -40,6 +46,7 @@ /** * 厂家设备编号 */ + @ExcelProperty("设备编号") @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") @TableField("DEVCODE") private String devcode; @@ -47,24 +54,28 @@ /** * 模块IMEI号 */ + @ExcelProperty("验证码") @TableField("VERIFY_CODE") private String verifyCode; /** * NB设备名称 */ + @ExcelProperty("设备唯一标识") @TableField("NODEID") private String nodeid; /** * 超时时间 */ + @ExcelProperty("超时时间") @TableField("TIMEOUT") private Integer timeout; /** * 设备名称 */ + @ExcelProperty("设备名称") @NotEmpty(message = "设备名称不能为空") @TableField("NAME") private String name; @@ -72,36 +83,42 @@ /** * 厂商ID */ + @ExcelProperty("厂商ID") @TableField("MANUFACTURER_ID") private String manufacturerId; /** * 厂商名称 */ + @ExcelProperty("厂商名称") @TableField("MANUFACTURER_NAME") private String manufacturerName; /** * 设备类型 */ + @ExcelProperty("设备类型") @TableField("DEVICE_TYPE") private String deviceType; /** * 设备型号 */ + @ExcelProperty("设备型号") @TableField("MODEL") private String model; /** * 设备协议类型 */ + @ExcelProperty("设备协议类型") @TableField("PROTOCAL_TYPE") private String protocalType; /** * 设备安全模式 */ + @ExcelProperty("设备安全模式") @TableField("IS_SECURE") private String isSecure; @TableField(exist = false) diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index a952859..bbf7253 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis-config" + prefix = "smartcity.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java index 17c34da..4c1bc0b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java @@ -479,7 +479,7 @@ resultData.setMessage("上传失败,无法找到文件!"); return resultData; } - resultData = busNoiseConfigService.imp(uploadFile); + resultData = busDigConfigService.imp(uploadFile); return resultData; } @@ -508,7 +508,6 @@ * @param deptid * @param response */ -// @ApiOperation("液位配置列表导出") @RequestMapping(value = "/liquidConfig/batchExport") @ResponseBody public void export(@RequestParam(required = false) String keywords, @@ -521,8 +520,7 @@ page.setSearchCount(false); page.setSize(Integer.MAX_VALUE); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); - List busConfigDTOList = busConfigService.getConfigList(page, keywords, - deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); + List busConfigDTOList = busConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); busConfigService.exp(busConfigDTOList, response); } catch (Exception e) { e.printStackTrace(); @@ -562,7 +560,6 @@ * @param deptid * @param response */ -// @ApiOperation("燃气配置列表导出") @RequestMapping(value = "/gasConfig/batchExport") @ResponseBody public void exportGas(@RequestParam(required = false) String keywords, @@ -667,7 +664,8 @@ @RequestParam(required = false) String deptid) { SuccessResponseData successResult = new SuccessResponseData(); try { - Page page = PageFactory.defaultPage();//page使用 + //page使用 + Page page = PageFactory.defaultPage(); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); List busConfigDTOList = busGasLiquidConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.LG.getIndex()), dataScope); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java index 331ac27..730d95b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -1,16 +1,15 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.system.dto.BusConfigDTO; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusConfig; -import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** *

@@ -21,24 +20,75 @@ * @since 2019-05-16 */ public interface IBusConfigService extends IService { + /** + * 设备配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ List getConfigList(Page page, - String keywords, - String deptid, - Long deviceType, - DataScope dataScope); + String keywords, + String deptid, + Long deviceType, + DataScope dataScope); + + /** + * 根据设备获取集中器编号 + * + * @param devID + * @return + */ String getConcenCodeByDevId(Long devID); + /** + * 根据设备获取井深 + * + * @param devID 设备主键 + * @return + */ String getWellDeepByDevId(Long devID); + /** + * 添加设备配置 + * + * @param busConfigDTO 设备实体 + */ void addConfig(BusConfigDTO busConfigDTO); + /** + * 修改设备配置 + * + * @param busConfigDTO + */ void updateConfig(BusConfigDTO busConfigDTO); + /** + * 获取设备配置 + * + * @param devId 设备主键 + * @return + */ List getListBydevId(Long devId); + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ SuccessResponseData imp(MultipartFile uploadFile); - void exp( List busConfigDTOList,HttpServletResponse response); + /** + * 设备配置导出 + * + * @param busConfigDTOList 设备配置列表 + * @param response 请求响应 + */ + void exp(List busConfigDTOList, HttpServletResponse response); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java index 558ff5e..9e70f4b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -73,6 +73,16 @@ return limitValue; } + /** + * 配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ @Override public List getConfigList(Page page, String keywords, @@ -83,8 +93,8 @@ BusConfigDTO.sensorHashMap.get(deviceType.intValue()), dataScope); List busConfigDTOList = new ArrayList<>(); for (Map objectMap : result) { - BusConfigDTO dto = BusConfigDTO.ConvertDTO(objectMap); + // 配置信息转换 以逗号拼接 String framecontent = objectMap.get("framecontent").toString(); if (null != framecontent) { String[] configItems = framecontent.split(","); @@ -99,6 +109,7 @@ dto.setIp(configItems[4]); dto.setPort(configItems[5]); } + dto.setPercentExp(dto.getPercent()); } busConfigDTOList.add(dto); } @@ -107,16 +118,33 @@ } + /** + * 根据设备id + * + * @param devID 设备主键 + * @return 集中器编号 + */ @Override public String getConcenCodeByDevId(Long devID) { return this.baseMapper.getConcenCodeByDevId(devID); } + /** + * 根据设备主键获取井深 + * + * @param devID 设备主键 + * @return 井深 + */ @Override public String getWellDeepByDevId(Long devID) { return this.baseMapper.getWellDeepByDevId(devID); } + /** + * 添加设备配置 + * + * @param busConfigDTO + */ @Transactional @Override public void addConfig(BusConfigDTO busConfigDTO) { @@ -151,6 +179,11 @@ } } + /** + * 批量添加设备配置 + * + * @param busConfigDTOList + */ @Transactional public void addBatchConfig(List busConfigDTOList) { String concentratorCodeStr = ""; @@ -281,25 +314,22 @@ return stringMap; } + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ @Transactional @Override public SuccessResponseData imp(MultipartFile uploadFile) { SuccessResponseData resultData = new SuccessResponseData(); - Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode"); - mapper.put("报警阈值(%)", "percent"); - mapper.put("安装高度(M)", "installHeight"); - mapper.put("重传次数", "retryTimes"); - mapper.put("IP地址", "ip"); - mapper.put("端口号", "port"); - mapper.put("最大尝试次数", "attemptsMax"); - List busConfigDTOList = new ArrayList<>(); - try { - //TODO 注解设置 - busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile,null,null); + + List busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile, null, null); Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); @@ -327,7 +357,7 @@ fis = new FileInputStream(deviceServerProperties.getExportPath().concat(DeviceConfigConst.CONFIG_EXPORT_TEMP)); } //TODO BusConfigDTO导出文件注解设置 - exportService.exportExcel(response,BusConfigDTO.class,busConfigDTOList,"文件下载"); + exportService.exportExcel(response, BusConfigDTO.class, busConfigDTOList, "文件下载"); } catch (Exception e) { e.printStackTrace(); } finally { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java index 3809482..fb1048b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java @@ -266,7 +266,7 @@ try { try { - exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); + busConfigDTOList = exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); } catch (Exception e) { e.printStackTrace(); resultData.setCode(400); @@ -274,7 +274,8 @@ } Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java index b333b89..0d467a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java @@ -230,15 +230,18 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 @ExcelProperty("设备编号") + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "name"); mapper.put("设备唯一标识", "nodeid"); mapper.put("验证码", "verifyCode"); mapper.put("超时时间", "timeout"); mapper.put("厂商ID", "manufacturerId"); mapper.put("厂商名称", "manufacturerName"); - mapper.put("设备类型", "deviceType");//需要转换 - mapper.put("设备型号", "model");//需要转换 + //需要转换 + mapper.put("设备类型", "deviceType"); + //需要转换 + mapper.put("设备型号", "model"); mapper.put("设备协议类型", "protocalType"); mapper.put("设备安全模式", "isSecure"); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java index 7f760f9..af8067c 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java @@ -1,5 +1,12 @@ package com.casic.missiles.modular.system.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -8,40 +15,134 @@ import java.util.Map; /** - * Created by test203 on 2019/5/20. + * @author test203 + * @date 2019/5/20 */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated @Component public class BusConfigDTO { + // mapper.put("设备编号", "devcode"); +// mapper.put("报警阈值(%)", "percent"); +// mapper.put("安装高度(M)", "installHeight"); +// mapper.put("重传次数", "retryTimes"); +// mapper.put("IP地址", "ip"); +// mapper.put("端口号", "port"); +// mapper.put("最大尝试次数", "attemptsMax"); private Long id; private Long deviceId; - private String devcode; //设备编号 - private String deviceName; //设备名称 - private Long deviceType; //设备类型编号 - private String deviceTypeName; // 设备类型名称 - private String deptid; // 权属单位id - private String deptName;// 权属单位名称 - private String wellCode;// 闸井编号 - private float threshold;// 报警阈值 - private float percent;// 井深百分比 - private float installHeight; //安装高度 - private String retryTimes;// 重传次数 - private String ip;// IP地址 - private String port;// 端口 - private String attemptsMax; //最大尝试次数 - private String attemptsCurrent;// 已尝试次数 - private String status;// 已尝试次数 - private String statusName;// 已尝试次数 + /** + * + */ + @ExcelProperty("设备编号") + private String devcode; + /** + * 设备名称 + */ + private String deviceName; + /** + * 设备类型编号 + */ + private Long deviceType; + /** + * 设备类型名称 + */ + private String deviceTypeName; + /** + * 权属单位id + */ + private String deptid; + /** + * 权属单位名称 + */ + private String deptName; + /** + * 闸井编号 + */ + private String wellCode; - private String collectInterval;//采集间隔 - private String collectCount;//采集次数 - private String reloadInterval;//重传次数 - private String sleepPeriod;//休眠周期 - private String uploadPeriod;//上传周期 - private String collectTime;//采集时间 - private String sleepStartTime;//休眠开始时间 - private String sensorId;//休眠开始时间 + /** + * 液位报警阈值 导出字段 + */ + @ExcelProperty("报警阈值") + private float threshold; + /** + * 井深百分比 + */ + @ExcelProperty("报警阈值(%)") + private float percent; + /** + * 井深百分比 导出字段 + */ + @ExcelProperty("井深百分比") + private float percentExp; + @ExcelProperty("安装高度(M)") + private float installHeight; + @ExcelProperty("重传次数") + private String retryTimes; + @ExcelProperty("IP地址") + private String ip; + @ExcelProperty("端口号") + private String port; + @ExcelProperty("最大尝试次数") + private String attemptsMax; + /** + * 已尝试次数 + */ + private String attemptsCurrent; + /** + * 已尝试次数 + */ + private String status; + /** + * 已尝试次数 + */ + private String statusName; + + /** + * 燃气监测终端-采集间隔 + */ + @ExcelProperty("采集间隔(分)") + private String collectInterval; + /** + * 采集次数 + */ + @ExcelProperty("采集次数") + private String collectCount; + /** + * 重传次数 + */ + private String reloadInterval; + /** + * 休眠周期 + */ + private String sleepPeriod; + + /** + * 燃气监测终端-上传周期 + */ + @ExcelProperty("上传周期(分)") + private String uploadPeriod; + /** + * 温湿度监测仪-采集时间 + */ + @ExcelProperty("采集时间(时:分)") + private String collectTime; + /** + * 休眠开始时间 + */ + @ExcelProperty("睡眠开始时间(时:分)") + private String sleepStartTime; + /** + * 休眠开始时间 + */ + private String sensorId; public static Map sensorHashMap = new HashMap(); + {//根据前期产品化文档,配置时存入config表中对应的sensorid字段,区分是哪类设备 sensorHashMap.put(DeviceTypeEnum.Liquid.getIndex(), "000034"); sensorHashMap.put(DeviceTypeEnum.Methane.getIndex(), "000044"); @@ -272,6 +373,14 @@ this.sensorId = sensorId; } + public float getPercentExp() { + return percentExp; + } + + public void setPercentExp(float percentExp) { + this.percentExp = percentExp; + } + public BusConfigDTO() { } @@ -284,7 +393,7 @@ dto.setDeviceId(null != objectMap.get("deviceId") ? Long.valueOf(objectMap.get("deviceId").toString()) : null); dto.setDevcode(objectMap.get("devcode").toString()); - dto.setDeviceName(objectMap.get("deviceName").toString()); +// dto.setDeviceName(objectMap.get("deviceName").toString()); dto.setDeviceType(null != objectMap.get("deviceType") ? Long.valueOf(objectMap.get("deviceType").toString()) : null); dto.setDeviceTypeName(objectMap.get("deviceTypeName").toString()); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java index 4190546..ef37eaa 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java @@ -1,5 +1,9 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -20,9 +24,11 @@ * @since 2019-05-23 */ @TableName("bus_nb_device") +@HeadRowHeight(15) +@ContentRowHeight(20) +@ExcelIgnoreUnannotated @Data public class BusNbDevice extends Model { - private static final long serialVersionUID = 1L; /** @@ -40,6 +46,7 @@ /** * 厂家设备编号 */ + @ExcelProperty("设备编号") @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") @TableField("DEVCODE") private String devcode; @@ -47,24 +54,28 @@ /** * 模块IMEI号 */ + @ExcelProperty("验证码") @TableField("VERIFY_CODE") private String verifyCode; /** * NB设备名称 */ + @ExcelProperty("设备唯一标识") @TableField("NODEID") private String nodeid; /** * 超时时间 */ + @ExcelProperty("超时时间") @TableField("TIMEOUT") private Integer timeout; /** * 设备名称 */ + @ExcelProperty("设备名称") @NotEmpty(message = "设备名称不能为空") @TableField("NAME") private String name; @@ -72,36 +83,42 @@ /** * 厂商ID */ + @ExcelProperty("厂商ID") @TableField("MANUFACTURER_ID") private String manufacturerId; /** * 厂商名称 */ + @ExcelProperty("厂商名称") @TableField("MANUFACTURER_NAME") private String manufacturerName; /** * 设备类型 */ + @ExcelProperty("设备类型") @TableField("DEVICE_TYPE") private String deviceType; /** * 设备型号 */ + @ExcelProperty("设备型号") @TableField("MODEL") private String model; /** * 设备协议类型 */ + @ExcelProperty("设备协议类型") @TableField("PROTOCAL_TYPE") private String protocalType; /** * 设备安全模式 */ + @ExcelProperty("设备安全模式") @TableField("IS_SECURE") private String isSecure; @TableField(exist = false) diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 035ef9d..bc15ac7 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,11 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.Data; @@ -17,6 +23,9 @@ * @since 2019-05-13 */ @TableName("bus_well_info") +@HeadRowHeight(15) +@ContentRowHeight(20) +@ExcelIgnoreUnannotated @Data public class BusWellInfo extends Model { @@ -30,12 +39,14 @@ /** * 井盖编号 */ + @ExcelProperty("井编号") @NotEmpty(message = "闸井编号不能为空") @TableField("WELL_CODE") private String wellCode; /** * 井盖名称 */ + @ExcelProperty("井名称") @NotEmpty(message = "闸井名称不能为空") @TableField("WELL_NAME") private String wellName; @@ -43,18 +54,35 @@ * 井深 */ //@NotEmpty(message="井深不能为空") + @ExcelProperty("井深") @Digits(integer = 2, fraction = 2, message = "井深必须为正数且最多两位小数") @TableField("DEEP") private Float deep; /** + * 地区 + */ + @ExcelProperty("区") + @NotEmpty(message = "区不能为空") + @TableField(exist = false) + private String qu; + /** + * 区域 + */ + @ExcelProperty("街道") + @NotEmpty(message = "街道不能为空") + @TableField("AREA") + private String area; + /** * 第三方坐标系X */ + @ExcelProperty("经度") @NotEmpty(message = "经度不能为空") @TableField("COORDINATE_X") private String coordinateX; /** * 第三方坐标Y */ + @ExcelProperty("纬度") @NotEmpty(message = "纬度不能为空") @TableField("COORDINATE_Y") private String coordinateY; @@ -78,27 +106,19 @@ */ @TableField("LAT_GAODE") private String latGaode; - /** - * 地区 - */ - @NotEmpty(message = "区不能为空") - @TableField(exist = false) - private String qu; - /** - * 区域 - */ - @NotEmpty(message = "街道不能为空") - @TableField("AREA") - private String area; + + /** * 位置 */ + @ExcelProperty("详细地址") @NotEmpty(message = "详细地址不能为空") @TableField("POSITION") private String position; /** * 部门编号 */ + @ExcelProperty("权属单位代码") @NotEmpty(message = "权属单位代码不能为空") @TableField("DEPTID") private String deptid; @@ -115,6 +135,7 @@ /** * 井类型 */ + @ExcelProperty("井类型") @NotEmpty(message = "闸井类型不能为空") @TableField("WELL_TYPE") private String wellType; @@ -159,6 +180,7 @@ /** * 维护单位/小组id */ + @ExcelProperty("井维护单位代码") @NotEmpty(message = "闸井维护单位代码不能为空") @TableField("RESPONSIBLE_DEPT") private String responsibleDept; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index a952859..bbf7253 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis-config" + prefix = "smartcity.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java index 17c34da..4c1bc0b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java @@ -479,7 +479,7 @@ resultData.setMessage("上传失败,无法找到文件!"); return resultData; } - resultData = busNoiseConfigService.imp(uploadFile); + resultData = busDigConfigService.imp(uploadFile); return resultData; } @@ -508,7 +508,6 @@ * @param deptid * @param response */ -// @ApiOperation("液位配置列表导出") @RequestMapping(value = "/liquidConfig/batchExport") @ResponseBody public void export(@RequestParam(required = false) String keywords, @@ -521,8 +520,7 @@ page.setSearchCount(false); page.setSize(Integer.MAX_VALUE); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); - List busConfigDTOList = busConfigService.getConfigList(page, keywords, - deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); + List busConfigDTOList = busConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); busConfigService.exp(busConfigDTOList, response); } catch (Exception e) { e.printStackTrace(); @@ -562,7 +560,6 @@ * @param deptid * @param response */ -// @ApiOperation("燃气配置列表导出") @RequestMapping(value = "/gasConfig/batchExport") @ResponseBody public void exportGas(@RequestParam(required = false) String keywords, @@ -667,7 +664,8 @@ @RequestParam(required = false) String deptid) { SuccessResponseData successResult = new SuccessResponseData(); try { - Page page = PageFactory.defaultPage();//page使用 + //page使用 + Page page = PageFactory.defaultPage(); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); List busConfigDTOList = busGasLiquidConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.LG.getIndex()), dataScope); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java index 331ac27..730d95b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -1,16 +1,15 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.system.dto.BusConfigDTO; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusConfig; -import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** *

@@ -21,24 +20,75 @@ * @since 2019-05-16 */ public interface IBusConfigService extends IService { + /** + * 设备配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ List getConfigList(Page page, - String keywords, - String deptid, - Long deviceType, - DataScope dataScope); + String keywords, + String deptid, + Long deviceType, + DataScope dataScope); + + /** + * 根据设备获取集中器编号 + * + * @param devID + * @return + */ String getConcenCodeByDevId(Long devID); + /** + * 根据设备获取井深 + * + * @param devID 设备主键 + * @return + */ String getWellDeepByDevId(Long devID); + /** + * 添加设备配置 + * + * @param busConfigDTO 设备实体 + */ void addConfig(BusConfigDTO busConfigDTO); + /** + * 修改设备配置 + * + * @param busConfigDTO + */ void updateConfig(BusConfigDTO busConfigDTO); + /** + * 获取设备配置 + * + * @param devId 设备主键 + * @return + */ List getListBydevId(Long devId); + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ SuccessResponseData imp(MultipartFile uploadFile); - void exp( List busConfigDTOList,HttpServletResponse response); + /** + * 设备配置导出 + * + * @param busConfigDTOList 设备配置列表 + * @param response 请求响应 + */ + void exp(List busConfigDTOList, HttpServletResponse response); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java index 558ff5e..9e70f4b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -73,6 +73,16 @@ return limitValue; } + /** + * 配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ @Override public List getConfigList(Page page, String keywords, @@ -83,8 +93,8 @@ BusConfigDTO.sensorHashMap.get(deviceType.intValue()), dataScope); List busConfigDTOList = new ArrayList<>(); for (Map objectMap : result) { - BusConfigDTO dto = BusConfigDTO.ConvertDTO(objectMap); + // 配置信息转换 以逗号拼接 String framecontent = objectMap.get("framecontent").toString(); if (null != framecontent) { String[] configItems = framecontent.split(","); @@ -99,6 +109,7 @@ dto.setIp(configItems[4]); dto.setPort(configItems[5]); } + dto.setPercentExp(dto.getPercent()); } busConfigDTOList.add(dto); } @@ -107,16 +118,33 @@ } + /** + * 根据设备id + * + * @param devID 设备主键 + * @return 集中器编号 + */ @Override public String getConcenCodeByDevId(Long devID) { return this.baseMapper.getConcenCodeByDevId(devID); } + /** + * 根据设备主键获取井深 + * + * @param devID 设备主键 + * @return 井深 + */ @Override public String getWellDeepByDevId(Long devID) { return this.baseMapper.getWellDeepByDevId(devID); } + /** + * 添加设备配置 + * + * @param busConfigDTO + */ @Transactional @Override public void addConfig(BusConfigDTO busConfigDTO) { @@ -151,6 +179,11 @@ } } + /** + * 批量添加设备配置 + * + * @param busConfigDTOList + */ @Transactional public void addBatchConfig(List busConfigDTOList) { String concentratorCodeStr = ""; @@ -281,25 +314,22 @@ return stringMap; } + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ @Transactional @Override public SuccessResponseData imp(MultipartFile uploadFile) { SuccessResponseData resultData = new SuccessResponseData(); - Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode"); - mapper.put("报警阈值(%)", "percent"); - mapper.put("安装高度(M)", "installHeight"); - mapper.put("重传次数", "retryTimes"); - mapper.put("IP地址", "ip"); - mapper.put("端口号", "port"); - mapper.put("最大尝试次数", "attemptsMax"); - List busConfigDTOList = new ArrayList<>(); - try { - //TODO 注解设置 - busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile,null,null); + + List busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile, null, null); Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); @@ -327,7 +357,7 @@ fis = new FileInputStream(deviceServerProperties.getExportPath().concat(DeviceConfigConst.CONFIG_EXPORT_TEMP)); } //TODO BusConfigDTO导出文件注解设置 - exportService.exportExcel(response,BusConfigDTO.class,busConfigDTOList,"文件下载"); + exportService.exportExcel(response, BusConfigDTO.class, busConfigDTOList, "文件下载"); } catch (Exception e) { e.printStackTrace(); } finally { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java index 3809482..fb1048b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java @@ -266,7 +266,7 @@ try { try { - exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); + busConfigDTOList = exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); } catch (Exception e) { e.printStackTrace(); resultData.setCode(400); @@ -274,7 +274,8 @@ } Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java index b333b89..0d467a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java @@ -230,15 +230,18 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 @ExcelProperty("设备编号") + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "name"); mapper.put("设备唯一标识", "nodeid"); mapper.put("验证码", "verifyCode"); mapper.put("超时时间", "timeout"); mapper.put("厂商ID", "manufacturerId"); mapper.put("厂商名称", "manufacturerName"); - mapper.put("设备类型", "deviceType");//需要转换 - mapper.put("设备型号", "model");//需要转换 + //需要转换 + mapper.put("设备类型", "deviceType"); + //需要转换 + mapper.put("设备型号", "model"); mapper.put("设备协议类型", "protocalType"); mapper.put("设备安全模式", "isSecure"); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java index 7f760f9..af8067c 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java @@ -1,5 +1,12 @@ package com.casic.missiles.modular.system.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -8,40 +15,134 @@ import java.util.Map; /** - * Created by test203 on 2019/5/20. + * @author test203 + * @date 2019/5/20 */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated @Component public class BusConfigDTO { + // mapper.put("设备编号", "devcode"); +// mapper.put("报警阈值(%)", "percent"); +// mapper.put("安装高度(M)", "installHeight"); +// mapper.put("重传次数", "retryTimes"); +// mapper.put("IP地址", "ip"); +// mapper.put("端口号", "port"); +// mapper.put("最大尝试次数", "attemptsMax"); private Long id; private Long deviceId; - private String devcode; //设备编号 - private String deviceName; //设备名称 - private Long deviceType; //设备类型编号 - private String deviceTypeName; // 设备类型名称 - private String deptid; // 权属单位id - private String deptName;// 权属单位名称 - private String wellCode;// 闸井编号 - private float threshold;// 报警阈值 - private float percent;// 井深百分比 - private float installHeight; //安装高度 - private String retryTimes;// 重传次数 - private String ip;// IP地址 - private String port;// 端口 - private String attemptsMax; //最大尝试次数 - private String attemptsCurrent;// 已尝试次数 - private String status;// 已尝试次数 - private String statusName;// 已尝试次数 + /** + * + */ + @ExcelProperty("设备编号") + private String devcode; + /** + * 设备名称 + */ + private String deviceName; + /** + * 设备类型编号 + */ + private Long deviceType; + /** + * 设备类型名称 + */ + private String deviceTypeName; + /** + * 权属单位id + */ + private String deptid; + /** + * 权属单位名称 + */ + private String deptName; + /** + * 闸井编号 + */ + private String wellCode; - private String collectInterval;//采集间隔 - private String collectCount;//采集次数 - private String reloadInterval;//重传次数 - private String sleepPeriod;//休眠周期 - private String uploadPeriod;//上传周期 - private String collectTime;//采集时间 - private String sleepStartTime;//休眠开始时间 - private String sensorId;//休眠开始时间 + /** + * 液位报警阈值 导出字段 + */ + @ExcelProperty("报警阈值") + private float threshold; + /** + * 井深百分比 + */ + @ExcelProperty("报警阈值(%)") + private float percent; + /** + * 井深百分比 导出字段 + */ + @ExcelProperty("井深百分比") + private float percentExp; + @ExcelProperty("安装高度(M)") + private float installHeight; + @ExcelProperty("重传次数") + private String retryTimes; + @ExcelProperty("IP地址") + private String ip; + @ExcelProperty("端口号") + private String port; + @ExcelProperty("最大尝试次数") + private String attemptsMax; + /** + * 已尝试次数 + */ + private String attemptsCurrent; + /** + * 已尝试次数 + */ + private String status; + /** + * 已尝试次数 + */ + private String statusName; + + /** + * 燃气监测终端-采集间隔 + */ + @ExcelProperty("采集间隔(分)") + private String collectInterval; + /** + * 采集次数 + */ + @ExcelProperty("采集次数") + private String collectCount; + /** + * 重传次数 + */ + private String reloadInterval; + /** + * 休眠周期 + */ + private String sleepPeriod; + + /** + * 燃气监测终端-上传周期 + */ + @ExcelProperty("上传周期(分)") + private String uploadPeriod; + /** + * 温湿度监测仪-采集时间 + */ + @ExcelProperty("采集时间(时:分)") + private String collectTime; + /** + * 休眠开始时间 + */ + @ExcelProperty("睡眠开始时间(时:分)") + private String sleepStartTime; + /** + * 休眠开始时间 + */ + private String sensorId; public static Map sensorHashMap = new HashMap(); + {//根据前期产品化文档,配置时存入config表中对应的sensorid字段,区分是哪类设备 sensorHashMap.put(DeviceTypeEnum.Liquid.getIndex(), "000034"); sensorHashMap.put(DeviceTypeEnum.Methane.getIndex(), "000044"); @@ -272,6 +373,14 @@ this.sensorId = sensorId; } + public float getPercentExp() { + return percentExp; + } + + public void setPercentExp(float percentExp) { + this.percentExp = percentExp; + } + public BusConfigDTO() { } @@ -284,7 +393,7 @@ dto.setDeviceId(null != objectMap.get("deviceId") ? Long.valueOf(objectMap.get("deviceId").toString()) : null); dto.setDevcode(objectMap.get("devcode").toString()); - dto.setDeviceName(objectMap.get("deviceName").toString()); +// dto.setDeviceName(objectMap.get("deviceName").toString()); dto.setDeviceType(null != objectMap.get("deviceType") ? Long.valueOf(objectMap.get("deviceType").toString()) : null); dto.setDeviceTypeName(objectMap.get("deviceTypeName").toString()); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java index 4190546..ef37eaa 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java @@ -1,5 +1,9 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -20,9 +24,11 @@ * @since 2019-05-23 */ @TableName("bus_nb_device") +@HeadRowHeight(15) +@ContentRowHeight(20) +@ExcelIgnoreUnannotated @Data public class BusNbDevice extends Model { - private static final long serialVersionUID = 1L; /** @@ -40,6 +46,7 @@ /** * 厂家设备编号 */ + @ExcelProperty("设备编号") @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") @TableField("DEVCODE") private String devcode; @@ -47,24 +54,28 @@ /** * 模块IMEI号 */ + @ExcelProperty("验证码") @TableField("VERIFY_CODE") private String verifyCode; /** * NB设备名称 */ + @ExcelProperty("设备唯一标识") @TableField("NODEID") private String nodeid; /** * 超时时间 */ + @ExcelProperty("超时时间") @TableField("TIMEOUT") private Integer timeout; /** * 设备名称 */ + @ExcelProperty("设备名称") @NotEmpty(message = "设备名称不能为空") @TableField("NAME") private String name; @@ -72,36 +83,42 @@ /** * 厂商ID */ + @ExcelProperty("厂商ID") @TableField("MANUFACTURER_ID") private String manufacturerId; /** * 厂商名称 */ + @ExcelProperty("厂商名称") @TableField("MANUFACTURER_NAME") private String manufacturerName; /** * 设备类型 */ + @ExcelProperty("设备类型") @TableField("DEVICE_TYPE") private String deviceType; /** * 设备型号 */ + @ExcelProperty("设备型号") @TableField("MODEL") private String model; /** * 设备协议类型 */ + @ExcelProperty("设备协议类型") @TableField("PROTOCAL_TYPE") private String protocalType; /** * 设备安全模式 */ + @ExcelProperty("设备安全模式") @TableField("IS_SECURE") private String isSecure; @TableField(exist = false) diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 035ef9d..bc15ac7 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,11 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.Data; @@ -17,6 +23,9 @@ * @since 2019-05-13 */ @TableName("bus_well_info") +@HeadRowHeight(15) +@ContentRowHeight(20) +@ExcelIgnoreUnannotated @Data public class BusWellInfo extends Model { @@ -30,12 +39,14 @@ /** * 井盖编号 */ + @ExcelProperty("井编号") @NotEmpty(message = "闸井编号不能为空") @TableField("WELL_CODE") private String wellCode; /** * 井盖名称 */ + @ExcelProperty("井名称") @NotEmpty(message = "闸井名称不能为空") @TableField("WELL_NAME") private String wellName; @@ -43,18 +54,35 @@ * 井深 */ //@NotEmpty(message="井深不能为空") + @ExcelProperty("井深") @Digits(integer = 2, fraction = 2, message = "井深必须为正数且最多两位小数") @TableField("DEEP") private Float deep; /** + * 地区 + */ + @ExcelProperty("区") + @NotEmpty(message = "区不能为空") + @TableField(exist = false) + private String qu; + /** + * 区域 + */ + @ExcelProperty("街道") + @NotEmpty(message = "街道不能为空") + @TableField("AREA") + private String area; + /** * 第三方坐标系X */ + @ExcelProperty("经度") @NotEmpty(message = "经度不能为空") @TableField("COORDINATE_X") private String coordinateX; /** * 第三方坐标Y */ + @ExcelProperty("纬度") @NotEmpty(message = "纬度不能为空") @TableField("COORDINATE_Y") private String coordinateY; @@ -78,27 +106,19 @@ */ @TableField("LAT_GAODE") private String latGaode; - /** - * 地区 - */ - @NotEmpty(message = "区不能为空") - @TableField(exist = false) - private String qu; - /** - * 区域 - */ - @NotEmpty(message = "街道不能为空") - @TableField("AREA") - private String area; + + /** * 位置 */ + @ExcelProperty("详细地址") @NotEmpty(message = "详细地址不能为空") @TableField("POSITION") private String position; /** * 部门编号 */ + @ExcelProperty("权属单位代码") @NotEmpty(message = "权属单位代码不能为空") @TableField("DEPTID") private String deptid; @@ -115,6 +135,7 @@ /** * 井类型 */ + @ExcelProperty("井类型") @NotEmpty(message = "闸井类型不能为空") @TableField("WELL_TYPE") private String wellType; @@ -159,6 +180,7 @@ /** * 维护单位/小组id */ + @ExcelProperty("井维护单位代码") @NotEmpty(message = "闸井维护单位代码不能为空") @TableField("RESPONSIBLE_DEPT") private String responsibleDept; diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java index 9b00b77..397d202 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java @@ -70,7 +70,7 @@ /** * 是否有效 */ - @TableLogic + @TableLogic(value = "1",delval = "0") @TableField("VALID") private String valid; /** diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index a952859..bbf7253 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis-config" + prefix = "smartcity.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java index 17c34da..4c1bc0b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java @@ -479,7 +479,7 @@ resultData.setMessage("上传失败,无法找到文件!"); return resultData; } - resultData = busNoiseConfigService.imp(uploadFile); + resultData = busDigConfigService.imp(uploadFile); return resultData; } @@ -508,7 +508,6 @@ * @param deptid * @param response */ -// @ApiOperation("液位配置列表导出") @RequestMapping(value = "/liquidConfig/batchExport") @ResponseBody public void export(@RequestParam(required = false) String keywords, @@ -521,8 +520,7 @@ page.setSearchCount(false); page.setSize(Integer.MAX_VALUE); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); - List busConfigDTOList = busConfigService.getConfigList(page, keywords, - deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); + List busConfigDTOList = busConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); busConfigService.exp(busConfigDTOList, response); } catch (Exception e) { e.printStackTrace(); @@ -562,7 +560,6 @@ * @param deptid * @param response */ -// @ApiOperation("燃气配置列表导出") @RequestMapping(value = "/gasConfig/batchExport") @ResponseBody public void exportGas(@RequestParam(required = false) String keywords, @@ -667,7 +664,8 @@ @RequestParam(required = false) String deptid) { SuccessResponseData successResult = new SuccessResponseData(); try { - Page page = PageFactory.defaultPage();//page使用 + //page使用 + Page page = PageFactory.defaultPage(); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); List busConfigDTOList = busGasLiquidConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.LG.getIndex()), dataScope); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java index 331ac27..730d95b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -1,16 +1,15 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.system.dto.BusConfigDTO; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusConfig; -import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** *

@@ -21,24 +20,75 @@ * @since 2019-05-16 */ public interface IBusConfigService extends IService { + /** + * 设备配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ List getConfigList(Page page, - String keywords, - String deptid, - Long deviceType, - DataScope dataScope); + String keywords, + String deptid, + Long deviceType, + DataScope dataScope); + + /** + * 根据设备获取集中器编号 + * + * @param devID + * @return + */ String getConcenCodeByDevId(Long devID); + /** + * 根据设备获取井深 + * + * @param devID 设备主键 + * @return + */ String getWellDeepByDevId(Long devID); + /** + * 添加设备配置 + * + * @param busConfigDTO 设备实体 + */ void addConfig(BusConfigDTO busConfigDTO); + /** + * 修改设备配置 + * + * @param busConfigDTO + */ void updateConfig(BusConfigDTO busConfigDTO); + /** + * 获取设备配置 + * + * @param devId 设备主键 + * @return + */ List getListBydevId(Long devId); + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ SuccessResponseData imp(MultipartFile uploadFile); - void exp( List busConfigDTOList,HttpServletResponse response); + /** + * 设备配置导出 + * + * @param busConfigDTOList 设备配置列表 + * @param response 请求响应 + */ + void exp(List busConfigDTOList, HttpServletResponse response); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java index 558ff5e..9e70f4b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -73,6 +73,16 @@ return limitValue; } + /** + * 配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ @Override public List getConfigList(Page page, String keywords, @@ -83,8 +93,8 @@ BusConfigDTO.sensorHashMap.get(deviceType.intValue()), dataScope); List busConfigDTOList = new ArrayList<>(); for (Map objectMap : result) { - BusConfigDTO dto = BusConfigDTO.ConvertDTO(objectMap); + // 配置信息转换 以逗号拼接 String framecontent = objectMap.get("framecontent").toString(); if (null != framecontent) { String[] configItems = framecontent.split(","); @@ -99,6 +109,7 @@ dto.setIp(configItems[4]); dto.setPort(configItems[5]); } + dto.setPercentExp(dto.getPercent()); } busConfigDTOList.add(dto); } @@ -107,16 +118,33 @@ } + /** + * 根据设备id + * + * @param devID 设备主键 + * @return 集中器编号 + */ @Override public String getConcenCodeByDevId(Long devID) { return this.baseMapper.getConcenCodeByDevId(devID); } + /** + * 根据设备主键获取井深 + * + * @param devID 设备主键 + * @return 井深 + */ @Override public String getWellDeepByDevId(Long devID) { return this.baseMapper.getWellDeepByDevId(devID); } + /** + * 添加设备配置 + * + * @param busConfigDTO + */ @Transactional @Override public void addConfig(BusConfigDTO busConfigDTO) { @@ -151,6 +179,11 @@ } } + /** + * 批量添加设备配置 + * + * @param busConfigDTOList + */ @Transactional public void addBatchConfig(List busConfigDTOList) { String concentratorCodeStr = ""; @@ -281,25 +314,22 @@ return stringMap; } + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ @Transactional @Override public SuccessResponseData imp(MultipartFile uploadFile) { SuccessResponseData resultData = new SuccessResponseData(); - Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode"); - mapper.put("报警阈值(%)", "percent"); - mapper.put("安装高度(M)", "installHeight"); - mapper.put("重传次数", "retryTimes"); - mapper.put("IP地址", "ip"); - mapper.put("端口号", "port"); - mapper.put("最大尝试次数", "attemptsMax"); - List busConfigDTOList = new ArrayList<>(); - try { - //TODO 注解设置 - busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile,null,null); + + List busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile, null, null); Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); @@ -327,7 +357,7 @@ fis = new FileInputStream(deviceServerProperties.getExportPath().concat(DeviceConfigConst.CONFIG_EXPORT_TEMP)); } //TODO BusConfigDTO导出文件注解设置 - exportService.exportExcel(response,BusConfigDTO.class,busConfigDTOList,"文件下载"); + exportService.exportExcel(response, BusConfigDTO.class, busConfigDTOList, "文件下载"); } catch (Exception e) { e.printStackTrace(); } finally { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java index 3809482..fb1048b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java @@ -266,7 +266,7 @@ try { try { - exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); + busConfigDTOList = exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); } catch (Exception e) { e.printStackTrace(); resultData.setCode(400); @@ -274,7 +274,8 @@ } Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java index b333b89..0d467a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java @@ -230,15 +230,18 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 @ExcelProperty("设备编号") + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "name"); mapper.put("设备唯一标识", "nodeid"); mapper.put("验证码", "verifyCode"); mapper.put("超时时间", "timeout"); mapper.put("厂商ID", "manufacturerId"); mapper.put("厂商名称", "manufacturerName"); - mapper.put("设备类型", "deviceType");//需要转换 - mapper.put("设备型号", "model");//需要转换 + //需要转换 + mapper.put("设备类型", "deviceType"); + //需要转换 + mapper.put("设备型号", "model"); mapper.put("设备协议类型", "protocalType"); mapper.put("设备安全模式", "isSecure"); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java index 7f760f9..af8067c 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java @@ -1,5 +1,12 @@ package com.casic.missiles.modular.system.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -8,40 +15,134 @@ import java.util.Map; /** - * Created by test203 on 2019/5/20. + * @author test203 + * @date 2019/5/20 */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated @Component public class BusConfigDTO { + // mapper.put("设备编号", "devcode"); +// mapper.put("报警阈值(%)", "percent"); +// mapper.put("安装高度(M)", "installHeight"); +// mapper.put("重传次数", "retryTimes"); +// mapper.put("IP地址", "ip"); +// mapper.put("端口号", "port"); +// mapper.put("最大尝试次数", "attemptsMax"); private Long id; private Long deviceId; - private String devcode; //设备编号 - private String deviceName; //设备名称 - private Long deviceType; //设备类型编号 - private String deviceTypeName; // 设备类型名称 - private String deptid; // 权属单位id - private String deptName;// 权属单位名称 - private String wellCode;// 闸井编号 - private float threshold;// 报警阈值 - private float percent;// 井深百分比 - private float installHeight; //安装高度 - private String retryTimes;// 重传次数 - private String ip;// IP地址 - private String port;// 端口 - private String attemptsMax; //最大尝试次数 - private String attemptsCurrent;// 已尝试次数 - private String status;// 已尝试次数 - private String statusName;// 已尝试次数 + /** + * + */ + @ExcelProperty("设备编号") + private String devcode; + /** + * 设备名称 + */ + private String deviceName; + /** + * 设备类型编号 + */ + private Long deviceType; + /** + * 设备类型名称 + */ + private String deviceTypeName; + /** + * 权属单位id + */ + private String deptid; + /** + * 权属单位名称 + */ + private String deptName; + /** + * 闸井编号 + */ + private String wellCode; - private String collectInterval;//采集间隔 - private String collectCount;//采集次数 - private String reloadInterval;//重传次数 - private String sleepPeriod;//休眠周期 - private String uploadPeriod;//上传周期 - private String collectTime;//采集时间 - private String sleepStartTime;//休眠开始时间 - private String sensorId;//休眠开始时间 + /** + * 液位报警阈值 导出字段 + */ + @ExcelProperty("报警阈值") + private float threshold; + /** + * 井深百分比 + */ + @ExcelProperty("报警阈值(%)") + private float percent; + /** + * 井深百分比 导出字段 + */ + @ExcelProperty("井深百分比") + private float percentExp; + @ExcelProperty("安装高度(M)") + private float installHeight; + @ExcelProperty("重传次数") + private String retryTimes; + @ExcelProperty("IP地址") + private String ip; + @ExcelProperty("端口号") + private String port; + @ExcelProperty("最大尝试次数") + private String attemptsMax; + /** + * 已尝试次数 + */ + private String attemptsCurrent; + /** + * 已尝试次数 + */ + private String status; + /** + * 已尝试次数 + */ + private String statusName; + + /** + * 燃气监测终端-采集间隔 + */ + @ExcelProperty("采集间隔(分)") + private String collectInterval; + /** + * 采集次数 + */ + @ExcelProperty("采集次数") + private String collectCount; + /** + * 重传次数 + */ + private String reloadInterval; + /** + * 休眠周期 + */ + private String sleepPeriod; + + /** + * 燃气监测终端-上传周期 + */ + @ExcelProperty("上传周期(分)") + private String uploadPeriod; + /** + * 温湿度监测仪-采集时间 + */ + @ExcelProperty("采集时间(时:分)") + private String collectTime; + /** + * 休眠开始时间 + */ + @ExcelProperty("睡眠开始时间(时:分)") + private String sleepStartTime; + /** + * 休眠开始时间 + */ + private String sensorId; public static Map sensorHashMap = new HashMap(); + {//根据前期产品化文档,配置时存入config表中对应的sensorid字段,区分是哪类设备 sensorHashMap.put(DeviceTypeEnum.Liquid.getIndex(), "000034"); sensorHashMap.put(DeviceTypeEnum.Methane.getIndex(), "000044"); @@ -272,6 +373,14 @@ this.sensorId = sensorId; } + public float getPercentExp() { + return percentExp; + } + + public void setPercentExp(float percentExp) { + this.percentExp = percentExp; + } + public BusConfigDTO() { } @@ -284,7 +393,7 @@ dto.setDeviceId(null != objectMap.get("deviceId") ? Long.valueOf(objectMap.get("deviceId").toString()) : null); dto.setDevcode(objectMap.get("devcode").toString()); - dto.setDeviceName(objectMap.get("deviceName").toString()); +// dto.setDeviceName(objectMap.get("deviceName").toString()); dto.setDeviceType(null != objectMap.get("deviceType") ? Long.valueOf(objectMap.get("deviceType").toString()) : null); dto.setDeviceTypeName(objectMap.get("deviceTypeName").toString()); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java index 4190546..ef37eaa 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java @@ -1,5 +1,9 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -20,9 +24,11 @@ * @since 2019-05-23 */ @TableName("bus_nb_device") +@HeadRowHeight(15) +@ContentRowHeight(20) +@ExcelIgnoreUnannotated @Data public class BusNbDevice extends Model { - private static final long serialVersionUID = 1L; /** @@ -40,6 +46,7 @@ /** * 厂家设备编号 */ + @ExcelProperty("设备编号") @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") @TableField("DEVCODE") private String devcode; @@ -47,24 +54,28 @@ /** * 模块IMEI号 */ + @ExcelProperty("验证码") @TableField("VERIFY_CODE") private String verifyCode; /** * NB设备名称 */ + @ExcelProperty("设备唯一标识") @TableField("NODEID") private String nodeid; /** * 超时时间 */ + @ExcelProperty("超时时间") @TableField("TIMEOUT") private Integer timeout; /** * 设备名称 */ + @ExcelProperty("设备名称") @NotEmpty(message = "设备名称不能为空") @TableField("NAME") private String name; @@ -72,36 +83,42 @@ /** * 厂商ID */ + @ExcelProperty("厂商ID") @TableField("MANUFACTURER_ID") private String manufacturerId; /** * 厂商名称 */ + @ExcelProperty("厂商名称") @TableField("MANUFACTURER_NAME") private String manufacturerName; /** * 设备类型 */ + @ExcelProperty("设备类型") @TableField("DEVICE_TYPE") private String deviceType; /** * 设备型号 */ + @ExcelProperty("设备型号") @TableField("MODEL") private String model; /** * 设备协议类型 */ + @ExcelProperty("设备协议类型") @TableField("PROTOCAL_TYPE") private String protocalType; /** * 设备安全模式 */ + @ExcelProperty("设备安全模式") @TableField("IS_SECURE") private String isSecure; @TableField(exist = false) diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 035ef9d..bc15ac7 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,11 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.Data; @@ -17,6 +23,9 @@ * @since 2019-05-13 */ @TableName("bus_well_info") +@HeadRowHeight(15) +@ContentRowHeight(20) +@ExcelIgnoreUnannotated @Data public class BusWellInfo extends Model { @@ -30,12 +39,14 @@ /** * 井盖编号 */ + @ExcelProperty("井编号") @NotEmpty(message = "闸井编号不能为空") @TableField("WELL_CODE") private String wellCode; /** * 井盖名称 */ + @ExcelProperty("井名称") @NotEmpty(message = "闸井名称不能为空") @TableField("WELL_NAME") private String wellName; @@ -43,18 +54,35 @@ * 井深 */ //@NotEmpty(message="井深不能为空") + @ExcelProperty("井深") @Digits(integer = 2, fraction = 2, message = "井深必须为正数且最多两位小数") @TableField("DEEP") private Float deep; /** + * 地区 + */ + @ExcelProperty("区") + @NotEmpty(message = "区不能为空") + @TableField(exist = false) + private String qu; + /** + * 区域 + */ + @ExcelProperty("街道") + @NotEmpty(message = "街道不能为空") + @TableField("AREA") + private String area; + /** * 第三方坐标系X */ + @ExcelProperty("经度") @NotEmpty(message = "经度不能为空") @TableField("COORDINATE_X") private String coordinateX; /** * 第三方坐标Y */ + @ExcelProperty("纬度") @NotEmpty(message = "纬度不能为空") @TableField("COORDINATE_Y") private String coordinateY; @@ -78,27 +106,19 @@ */ @TableField("LAT_GAODE") private String latGaode; - /** - * 地区 - */ - @NotEmpty(message = "区不能为空") - @TableField(exist = false) - private String qu; - /** - * 区域 - */ - @NotEmpty(message = "街道不能为空") - @TableField("AREA") - private String area; + + /** * 位置 */ + @ExcelProperty("详细地址") @NotEmpty(message = "详细地址不能为空") @TableField("POSITION") private String position; /** * 部门编号 */ + @ExcelProperty("权属单位代码") @NotEmpty(message = "权属单位代码不能为空") @TableField("DEPTID") private String deptid; @@ -115,6 +135,7 @@ /** * 井类型 */ + @ExcelProperty("井类型") @NotEmpty(message = "闸井类型不能为空") @TableField("WELL_TYPE") private String wellType; @@ -159,6 +180,7 @@ /** * 维护单位/小组id */ + @ExcelProperty("井维护单位代码") @NotEmpty(message = "闸井维护单位代码不能为空") @TableField("RESPONSIBLE_DEPT") private String responsibleDept; diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java index 9b00b77..397d202 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java @@ -70,7 +70,7 @@ /** * 是否有效 */ - @TableLogic + @TableLogic(value = "1",delval = "0") @TableField("VALID") private String valid; /** diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index a8ffec3..2d65755 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -272,6 +272,7 @@ mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); + mapper.put("井类型", "wellType"); mapper.put("权属单位代码", "deptid"); mapper.put("井维护单位代码", "responsibleDept"); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index a952859..bbf7253 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis-config" + prefix = "smartcity.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java index 17c34da..4c1bc0b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java @@ -479,7 +479,7 @@ resultData.setMessage("上传失败,无法找到文件!"); return resultData; } - resultData = busNoiseConfigService.imp(uploadFile); + resultData = busDigConfigService.imp(uploadFile); return resultData; } @@ -508,7 +508,6 @@ * @param deptid * @param response */ -// @ApiOperation("液位配置列表导出") @RequestMapping(value = "/liquidConfig/batchExport") @ResponseBody public void export(@RequestParam(required = false) String keywords, @@ -521,8 +520,7 @@ page.setSearchCount(false); page.setSize(Integer.MAX_VALUE); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); - List busConfigDTOList = busConfigService.getConfigList(page, keywords, - deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); + List busConfigDTOList = busConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); busConfigService.exp(busConfigDTOList, response); } catch (Exception e) { e.printStackTrace(); @@ -562,7 +560,6 @@ * @param deptid * @param response */ -// @ApiOperation("燃气配置列表导出") @RequestMapping(value = "/gasConfig/batchExport") @ResponseBody public void exportGas(@RequestParam(required = false) String keywords, @@ -667,7 +664,8 @@ @RequestParam(required = false) String deptid) { SuccessResponseData successResult = new SuccessResponseData(); try { - Page page = PageFactory.defaultPage();//page使用 + //page使用 + Page page = PageFactory.defaultPage(); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); List busConfigDTOList = busGasLiquidConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.LG.getIndex()), dataScope); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java index 331ac27..730d95b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -1,16 +1,15 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.system.dto.BusConfigDTO; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusConfig; -import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** *

@@ -21,24 +20,75 @@ * @since 2019-05-16 */ public interface IBusConfigService extends IService { + /** + * 设备配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ List getConfigList(Page page, - String keywords, - String deptid, - Long deviceType, - DataScope dataScope); + String keywords, + String deptid, + Long deviceType, + DataScope dataScope); + + /** + * 根据设备获取集中器编号 + * + * @param devID + * @return + */ String getConcenCodeByDevId(Long devID); + /** + * 根据设备获取井深 + * + * @param devID 设备主键 + * @return + */ String getWellDeepByDevId(Long devID); + /** + * 添加设备配置 + * + * @param busConfigDTO 设备实体 + */ void addConfig(BusConfigDTO busConfigDTO); + /** + * 修改设备配置 + * + * @param busConfigDTO + */ void updateConfig(BusConfigDTO busConfigDTO); + /** + * 获取设备配置 + * + * @param devId 设备主键 + * @return + */ List getListBydevId(Long devId); + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ SuccessResponseData imp(MultipartFile uploadFile); - void exp( List busConfigDTOList,HttpServletResponse response); + /** + * 设备配置导出 + * + * @param busConfigDTOList 设备配置列表 + * @param response 请求响应 + */ + void exp(List busConfigDTOList, HttpServletResponse response); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java index 558ff5e..9e70f4b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -73,6 +73,16 @@ return limitValue; } + /** + * 配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ @Override public List getConfigList(Page page, String keywords, @@ -83,8 +93,8 @@ BusConfigDTO.sensorHashMap.get(deviceType.intValue()), dataScope); List busConfigDTOList = new ArrayList<>(); for (Map objectMap : result) { - BusConfigDTO dto = BusConfigDTO.ConvertDTO(objectMap); + // 配置信息转换 以逗号拼接 String framecontent = objectMap.get("framecontent").toString(); if (null != framecontent) { String[] configItems = framecontent.split(","); @@ -99,6 +109,7 @@ dto.setIp(configItems[4]); dto.setPort(configItems[5]); } + dto.setPercentExp(dto.getPercent()); } busConfigDTOList.add(dto); } @@ -107,16 +118,33 @@ } + /** + * 根据设备id + * + * @param devID 设备主键 + * @return 集中器编号 + */ @Override public String getConcenCodeByDevId(Long devID) { return this.baseMapper.getConcenCodeByDevId(devID); } + /** + * 根据设备主键获取井深 + * + * @param devID 设备主键 + * @return 井深 + */ @Override public String getWellDeepByDevId(Long devID) { return this.baseMapper.getWellDeepByDevId(devID); } + /** + * 添加设备配置 + * + * @param busConfigDTO + */ @Transactional @Override public void addConfig(BusConfigDTO busConfigDTO) { @@ -151,6 +179,11 @@ } } + /** + * 批量添加设备配置 + * + * @param busConfigDTOList + */ @Transactional public void addBatchConfig(List busConfigDTOList) { String concentratorCodeStr = ""; @@ -281,25 +314,22 @@ return stringMap; } + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ @Transactional @Override public SuccessResponseData imp(MultipartFile uploadFile) { SuccessResponseData resultData = new SuccessResponseData(); - Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode"); - mapper.put("报警阈值(%)", "percent"); - mapper.put("安装高度(M)", "installHeight"); - mapper.put("重传次数", "retryTimes"); - mapper.put("IP地址", "ip"); - mapper.put("端口号", "port"); - mapper.put("最大尝试次数", "attemptsMax"); - List busConfigDTOList = new ArrayList<>(); - try { - //TODO 注解设置 - busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile,null,null); + + List busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile, null, null); Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); @@ -327,7 +357,7 @@ fis = new FileInputStream(deviceServerProperties.getExportPath().concat(DeviceConfigConst.CONFIG_EXPORT_TEMP)); } //TODO BusConfigDTO导出文件注解设置 - exportService.exportExcel(response,BusConfigDTO.class,busConfigDTOList,"文件下载"); + exportService.exportExcel(response, BusConfigDTO.class, busConfigDTOList, "文件下载"); } catch (Exception e) { e.printStackTrace(); } finally { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java index 3809482..fb1048b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java @@ -266,7 +266,7 @@ try { try { - exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); + busConfigDTOList = exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); } catch (Exception e) { e.printStackTrace(); resultData.setCode(400); @@ -274,7 +274,8 @@ } Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java index b333b89..0d467a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java @@ -230,15 +230,18 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 @ExcelProperty("设备编号") + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "name"); mapper.put("设备唯一标识", "nodeid"); mapper.put("验证码", "verifyCode"); mapper.put("超时时间", "timeout"); mapper.put("厂商ID", "manufacturerId"); mapper.put("厂商名称", "manufacturerName"); - mapper.put("设备类型", "deviceType");//需要转换 - mapper.put("设备型号", "model");//需要转换 + //需要转换 + mapper.put("设备类型", "deviceType"); + //需要转换 + mapper.put("设备型号", "model"); mapper.put("设备协议类型", "protocalType"); mapper.put("设备安全模式", "isSecure"); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java index 7f760f9..af8067c 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java @@ -1,5 +1,12 @@ package com.casic.missiles.modular.system.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -8,40 +15,134 @@ import java.util.Map; /** - * Created by test203 on 2019/5/20. + * @author test203 + * @date 2019/5/20 */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated @Component public class BusConfigDTO { + // mapper.put("设备编号", "devcode"); +// mapper.put("报警阈值(%)", "percent"); +// mapper.put("安装高度(M)", "installHeight"); +// mapper.put("重传次数", "retryTimes"); +// mapper.put("IP地址", "ip"); +// mapper.put("端口号", "port"); +// mapper.put("最大尝试次数", "attemptsMax"); private Long id; private Long deviceId; - private String devcode; //设备编号 - private String deviceName; //设备名称 - private Long deviceType; //设备类型编号 - private String deviceTypeName; // 设备类型名称 - private String deptid; // 权属单位id - private String deptName;// 权属单位名称 - private String wellCode;// 闸井编号 - private float threshold;// 报警阈值 - private float percent;// 井深百分比 - private float installHeight; //安装高度 - private String retryTimes;// 重传次数 - private String ip;// IP地址 - private String port;// 端口 - private String attemptsMax; //最大尝试次数 - private String attemptsCurrent;// 已尝试次数 - private String status;// 已尝试次数 - private String statusName;// 已尝试次数 + /** + * + */ + @ExcelProperty("设备编号") + private String devcode; + /** + * 设备名称 + */ + private String deviceName; + /** + * 设备类型编号 + */ + private Long deviceType; + /** + * 设备类型名称 + */ + private String deviceTypeName; + /** + * 权属单位id + */ + private String deptid; + /** + * 权属单位名称 + */ + private String deptName; + /** + * 闸井编号 + */ + private String wellCode; - private String collectInterval;//采集间隔 - private String collectCount;//采集次数 - private String reloadInterval;//重传次数 - private String sleepPeriod;//休眠周期 - private String uploadPeriod;//上传周期 - private String collectTime;//采集时间 - private String sleepStartTime;//休眠开始时间 - private String sensorId;//休眠开始时间 + /** + * 液位报警阈值 导出字段 + */ + @ExcelProperty("报警阈值") + private float threshold; + /** + * 井深百分比 + */ + @ExcelProperty("报警阈值(%)") + private float percent; + /** + * 井深百分比 导出字段 + */ + @ExcelProperty("井深百分比") + private float percentExp; + @ExcelProperty("安装高度(M)") + private float installHeight; + @ExcelProperty("重传次数") + private String retryTimes; + @ExcelProperty("IP地址") + private String ip; + @ExcelProperty("端口号") + private String port; + @ExcelProperty("最大尝试次数") + private String attemptsMax; + /** + * 已尝试次数 + */ + private String attemptsCurrent; + /** + * 已尝试次数 + */ + private String status; + /** + * 已尝试次数 + */ + private String statusName; + + /** + * 燃气监测终端-采集间隔 + */ + @ExcelProperty("采集间隔(分)") + private String collectInterval; + /** + * 采集次数 + */ + @ExcelProperty("采集次数") + private String collectCount; + /** + * 重传次数 + */ + private String reloadInterval; + /** + * 休眠周期 + */ + private String sleepPeriod; + + /** + * 燃气监测终端-上传周期 + */ + @ExcelProperty("上传周期(分)") + private String uploadPeriod; + /** + * 温湿度监测仪-采集时间 + */ + @ExcelProperty("采集时间(时:分)") + private String collectTime; + /** + * 休眠开始时间 + */ + @ExcelProperty("睡眠开始时间(时:分)") + private String sleepStartTime; + /** + * 休眠开始时间 + */ + private String sensorId; public static Map sensorHashMap = new HashMap(); + {//根据前期产品化文档,配置时存入config表中对应的sensorid字段,区分是哪类设备 sensorHashMap.put(DeviceTypeEnum.Liquid.getIndex(), "000034"); sensorHashMap.put(DeviceTypeEnum.Methane.getIndex(), "000044"); @@ -272,6 +373,14 @@ this.sensorId = sensorId; } + public float getPercentExp() { + return percentExp; + } + + public void setPercentExp(float percentExp) { + this.percentExp = percentExp; + } + public BusConfigDTO() { } @@ -284,7 +393,7 @@ dto.setDeviceId(null != objectMap.get("deviceId") ? Long.valueOf(objectMap.get("deviceId").toString()) : null); dto.setDevcode(objectMap.get("devcode").toString()); - dto.setDeviceName(objectMap.get("deviceName").toString()); +// dto.setDeviceName(objectMap.get("deviceName").toString()); dto.setDeviceType(null != objectMap.get("deviceType") ? Long.valueOf(objectMap.get("deviceType").toString()) : null); dto.setDeviceTypeName(objectMap.get("deviceTypeName").toString()); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java index 4190546..ef37eaa 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java @@ -1,5 +1,9 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -20,9 +24,11 @@ * @since 2019-05-23 */ @TableName("bus_nb_device") +@HeadRowHeight(15) +@ContentRowHeight(20) +@ExcelIgnoreUnannotated @Data public class BusNbDevice extends Model { - private static final long serialVersionUID = 1L; /** @@ -40,6 +46,7 @@ /** * 厂家设备编号 */ + @ExcelProperty("设备编号") @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") @TableField("DEVCODE") private String devcode; @@ -47,24 +54,28 @@ /** * 模块IMEI号 */ + @ExcelProperty("验证码") @TableField("VERIFY_CODE") private String verifyCode; /** * NB设备名称 */ + @ExcelProperty("设备唯一标识") @TableField("NODEID") private String nodeid; /** * 超时时间 */ + @ExcelProperty("超时时间") @TableField("TIMEOUT") private Integer timeout; /** * 设备名称 */ + @ExcelProperty("设备名称") @NotEmpty(message = "设备名称不能为空") @TableField("NAME") private String name; @@ -72,36 +83,42 @@ /** * 厂商ID */ + @ExcelProperty("厂商ID") @TableField("MANUFACTURER_ID") private String manufacturerId; /** * 厂商名称 */ + @ExcelProperty("厂商名称") @TableField("MANUFACTURER_NAME") private String manufacturerName; /** * 设备类型 */ + @ExcelProperty("设备类型") @TableField("DEVICE_TYPE") private String deviceType; /** * 设备型号 */ + @ExcelProperty("设备型号") @TableField("MODEL") private String model; /** * 设备协议类型 */ + @ExcelProperty("设备协议类型") @TableField("PROTOCAL_TYPE") private String protocalType; /** * 设备安全模式 */ + @ExcelProperty("设备安全模式") @TableField("IS_SECURE") private String isSecure; @TableField(exist = false) diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 035ef9d..bc15ac7 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,11 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.Data; @@ -17,6 +23,9 @@ * @since 2019-05-13 */ @TableName("bus_well_info") +@HeadRowHeight(15) +@ContentRowHeight(20) +@ExcelIgnoreUnannotated @Data public class BusWellInfo extends Model { @@ -30,12 +39,14 @@ /** * 井盖编号 */ + @ExcelProperty("井编号") @NotEmpty(message = "闸井编号不能为空") @TableField("WELL_CODE") private String wellCode; /** * 井盖名称 */ + @ExcelProperty("井名称") @NotEmpty(message = "闸井名称不能为空") @TableField("WELL_NAME") private String wellName; @@ -43,18 +54,35 @@ * 井深 */ //@NotEmpty(message="井深不能为空") + @ExcelProperty("井深") @Digits(integer = 2, fraction = 2, message = "井深必须为正数且最多两位小数") @TableField("DEEP") private Float deep; /** + * 地区 + */ + @ExcelProperty("区") + @NotEmpty(message = "区不能为空") + @TableField(exist = false) + private String qu; + /** + * 区域 + */ + @ExcelProperty("街道") + @NotEmpty(message = "街道不能为空") + @TableField("AREA") + private String area; + /** * 第三方坐标系X */ + @ExcelProperty("经度") @NotEmpty(message = "经度不能为空") @TableField("COORDINATE_X") private String coordinateX; /** * 第三方坐标Y */ + @ExcelProperty("纬度") @NotEmpty(message = "纬度不能为空") @TableField("COORDINATE_Y") private String coordinateY; @@ -78,27 +106,19 @@ */ @TableField("LAT_GAODE") private String latGaode; - /** - * 地区 - */ - @NotEmpty(message = "区不能为空") - @TableField(exist = false) - private String qu; - /** - * 区域 - */ - @NotEmpty(message = "街道不能为空") - @TableField("AREA") - private String area; + + /** * 位置 */ + @ExcelProperty("详细地址") @NotEmpty(message = "详细地址不能为空") @TableField("POSITION") private String position; /** * 部门编号 */ + @ExcelProperty("权属单位代码") @NotEmpty(message = "权属单位代码不能为空") @TableField("DEPTID") private String deptid; @@ -115,6 +135,7 @@ /** * 井类型 */ + @ExcelProperty("井类型") @NotEmpty(message = "闸井类型不能为空") @TableField("WELL_TYPE") private String wellType; @@ -159,6 +180,7 @@ /** * 维护单位/小组id */ + @ExcelProperty("井维护单位代码") @NotEmpty(message = "闸井维护单位代码不能为空") @TableField("RESPONSIBLE_DEPT") private String responsibleDept; diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java index 9b00b77..397d202 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java @@ -70,7 +70,7 @@ /** * 是否有效 */ - @TableLogic + @TableLogic(value = "1",delval = "0") @TableField("VALID") private String valid; /** diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index a8ffec3..2d65755 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -272,6 +272,7 @@ mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); + mapper.put("井类型", "wellType"); mapper.put("权属单位代码", "deptid"); mapper.put("井维护单位代码", "responsibleDept"); diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index a855014..88e2879 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -41,14 +41,14 @@ export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\ #export-path: D:\export\ image-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\image\ - config-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\temp\ + config-path: D:\workspace\server\well\2.0\casic-smartcity\casic-web\src\main\resources\config\temp\ download-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\download\ device: redis: invalid-time: 86400 host: 127.0.0.1 port: 6379 - password: + password: ew5T4K3#203lwh config-prefix: 'Casic:' getui: appId: H9jSTE2bAt8QWq2K2GNOB3 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index a952859..bbf7253 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis-config" + prefix = "smartcity.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java index 17c34da..4c1bc0b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java @@ -479,7 +479,7 @@ resultData.setMessage("上传失败,无法找到文件!"); return resultData; } - resultData = busNoiseConfigService.imp(uploadFile); + resultData = busDigConfigService.imp(uploadFile); return resultData; } @@ -508,7 +508,6 @@ * @param deptid * @param response */ -// @ApiOperation("液位配置列表导出") @RequestMapping(value = "/liquidConfig/batchExport") @ResponseBody public void export(@RequestParam(required = false) String keywords, @@ -521,8 +520,7 @@ page.setSearchCount(false); page.setSize(Integer.MAX_VALUE); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); - List busConfigDTOList = busConfigService.getConfigList(page, keywords, - deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); + List busConfigDTOList = busConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); busConfigService.exp(busConfigDTOList, response); } catch (Exception e) { e.printStackTrace(); @@ -562,7 +560,6 @@ * @param deptid * @param response */ -// @ApiOperation("燃气配置列表导出") @RequestMapping(value = "/gasConfig/batchExport") @ResponseBody public void exportGas(@RequestParam(required = false) String keywords, @@ -667,7 +664,8 @@ @RequestParam(required = false) String deptid) { SuccessResponseData successResult = new SuccessResponseData(); try { - Page page = PageFactory.defaultPage();//page使用 + //page使用 + Page page = PageFactory.defaultPage(); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); List busConfigDTOList = busGasLiquidConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.LG.getIndex()), dataScope); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java index 331ac27..730d95b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -1,16 +1,15 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.system.dto.BusConfigDTO; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusConfig; -import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** *

@@ -21,24 +20,75 @@ * @since 2019-05-16 */ public interface IBusConfigService extends IService { + /** + * 设备配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ List getConfigList(Page page, - String keywords, - String deptid, - Long deviceType, - DataScope dataScope); + String keywords, + String deptid, + Long deviceType, + DataScope dataScope); + + /** + * 根据设备获取集中器编号 + * + * @param devID + * @return + */ String getConcenCodeByDevId(Long devID); + /** + * 根据设备获取井深 + * + * @param devID 设备主键 + * @return + */ String getWellDeepByDevId(Long devID); + /** + * 添加设备配置 + * + * @param busConfigDTO 设备实体 + */ void addConfig(BusConfigDTO busConfigDTO); + /** + * 修改设备配置 + * + * @param busConfigDTO + */ void updateConfig(BusConfigDTO busConfigDTO); + /** + * 获取设备配置 + * + * @param devId 设备主键 + * @return + */ List getListBydevId(Long devId); + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ SuccessResponseData imp(MultipartFile uploadFile); - void exp( List busConfigDTOList,HttpServletResponse response); + /** + * 设备配置导出 + * + * @param busConfigDTOList 设备配置列表 + * @param response 请求响应 + */ + void exp(List busConfigDTOList, HttpServletResponse response); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java index 558ff5e..9e70f4b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -73,6 +73,16 @@ return limitValue; } + /** + * 配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ @Override public List getConfigList(Page page, String keywords, @@ -83,8 +93,8 @@ BusConfigDTO.sensorHashMap.get(deviceType.intValue()), dataScope); List busConfigDTOList = new ArrayList<>(); for (Map objectMap : result) { - BusConfigDTO dto = BusConfigDTO.ConvertDTO(objectMap); + // 配置信息转换 以逗号拼接 String framecontent = objectMap.get("framecontent").toString(); if (null != framecontent) { String[] configItems = framecontent.split(","); @@ -99,6 +109,7 @@ dto.setIp(configItems[4]); dto.setPort(configItems[5]); } + dto.setPercentExp(dto.getPercent()); } busConfigDTOList.add(dto); } @@ -107,16 +118,33 @@ } + /** + * 根据设备id + * + * @param devID 设备主键 + * @return 集中器编号 + */ @Override public String getConcenCodeByDevId(Long devID) { return this.baseMapper.getConcenCodeByDevId(devID); } + /** + * 根据设备主键获取井深 + * + * @param devID 设备主键 + * @return 井深 + */ @Override public String getWellDeepByDevId(Long devID) { return this.baseMapper.getWellDeepByDevId(devID); } + /** + * 添加设备配置 + * + * @param busConfigDTO + */ @Transactional @Override public void addConfig(BusConfigDTO busConfigDTO) { @@ -151,6 +179,11 @@ } } + /** + * 批量添加设备配置 + * + * @param busConfigDTOList + */ @Transactional public void addBatchConfig(List busConfigDTOList) { String concentratorCodeStr = ""; @@ -281,25 +314,22 @@ return stringMap; } + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ @Transactional @Override public SuccessResponseData imp(MultipartFile uploadFile) { SuccessResponseData resultData = new SuccessResponseData(); - Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode"); - mapper.put("报警阈值(%)", "percent"); - mapper.put("安装高度(M)", "installHeight"); - mapper.put("重传次数", "retryTimes"); - mapper.put("IP地址", "ip"); - mapper.put("端口号", "port"); - mapper.put("最大尝试次数", "attemptsMax"); - List busConfigDTOList = new ArrayList<>(); - try { - //TODO 注解设置 - busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile,null,null); + + List busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile, null, null); Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); @@ -327,7 +357,7 @@ fis = new FileInputStream(deviceServerProperties.getExportPath().concat(DeviceConfigConst.CONFIG_EXPORT_TEMP)); } //TODO BusConfigDTO导出文件注解设置 - exportService.exportExcel(response,BusConfigDTO.class,busConfigDTOList,"文件下载"); + exportService.exportExcel(response, BusConfigDTO.class, busConfigDTOList, "文件下载"); } catch (Exception e) { e.printStackTrace(); } finally { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java index 3809482..fb1048b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java @@ -266,7 +266,7 @@ try { try { - exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); + busConfigDTOList = exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); } catch (Exception e) { e.printStackTrace(); resultData.setCode(400); @@ -274,7 +274,8 @@ } Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java index b333b89..0d467a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java @@ -230,15 +230,18 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 @ExcelProperty("设备编号") + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "name"); mapper.put("设备唯一标识", "nodeid"); mapper.put("验证码", "verifyCode"); mapper.put("超时时间", "timeout"); mapper.put("厂商ID", "manufacturerId"); mapper.put("厂商名称", "manufacturerName"); - mapper.put("设备类型", "deviceType");//需要转换 - mapper.put("设备型号", "model");//需要转换 + //需要转换 + mapper.put("设备类型", "deviceType"); + //需要转换 + mapper.put("设备型号", "model"); mapper.put("设备协议类型", "protocalType"); mapper.put("设备安全模式", "isSecure"); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java index 7f760f9..af8067c 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java @@ -1,5 +1,12 @@ package com.casic.missiles.modular.system.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -8,40 +15,134 @@ import java.util.Map; /** - * Created by test203 on 2019/5/20. + * @author test203 + * @date 2019/5/20 */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated @Component public class BusConfigDTO { + // mapper.put("设备编号", "devcode"); +// mapper.put("报警阈值(%)", "percent"); +// mapper.put("安装高度(M)", "installHeight"); +// mapper.put("重传次数", "retryTimes"); +// mapper.put("IP地址", "ip"); +// mapper.put("端口号", "port"); +// mapper.put("最大尝试次数", "attemptsMax"); private Long id; private Long deviceId; - private String devcode; //设备编号 - private String deviceName; //设备名称 - private Long deviceType; //设备类型编号 - private String deviceTypeName; // 设备类型名称 - private String deptid; // 权属单位id - private String deptName;// 权属单位名称 - private String wellCode;// 闸井编号 - private float threshold;// 报警阈值 - private float percent;// 井深百分比 - private float installHeight; //安装高度 - private String retryTimes;// 重传次数 - private String ip;// IP地址 - private String port;// 端口 - private String attemptsMax; //最大尝试次数 - private String attemptsCurrent;// 已尝试次数 - private String status;// 已尝试次数 - private String statusName;// 已尝试次数 + /** + * + */ + @ExcelProperty("设备编号") + private String devcode; + /** + * 设备名称 + */ + private String deviceName; + /** + * 设备类型编号 + */ + private Long deviceType; + /** + * 设备类型名称 + */ + private String deviceTypeName; + /** + * 权属单位id + */ + private String deptid; + /** + * 权属单位名称 + */ + private String deptName; + /** + * 闸井编号 + */ + private String wellCode; - private String collectInterval;//采集间隔 - private String collectCount;//采集次数 - private String reloadInterval;//重传次数 - private String sleepPeriod;//休眠周期 - private String uploadPeriod;//上传周期 - private String collectTime;//采集时间 - private String sleepStartTime;//休眠开始时间 - private String sensorId;//休眠开始时间 + /** + * 液位报警阈值 导出字段 + */ + @ExcelProperty("报警阈值") + private float threshold; + /** + * 井深百分比 + */ + @ExcelProperty("报警阈值(%)") + private float percent; + /** + * 井深百分比 导出字段 + */ + @ExcelProperty("井深百分比") + private float percentExp; + @ExcelProperty("安装高度(M)") + private float installHeight; + @ExcelProperty("重传次数") + private String retryTimes; + @ExcelProperty("IP地址") + private String ip; + @ExcelProperty("端口号") + private String port; + @ExcelProperty("最大尝试次数") + private String attemptsMax; + /** + * 已尝试次数 + */ + private String attemptsCurrent; + /** + * 已尝试次数 + */ + private String status; + /** + * 已尝试次数 + */ + private String statusName; + + /** + * 燃气监测终端-采集间隔 + */ + @ExcelProperty("采集间隔(分)") + private String collectInterval; + /** + * 采集次数 + */ + @ExcelProperty("采集次数") + private String collectCount; + /** + * 重传次数 + */ + private String reloadInterval; + /** + * 休眠周期 + */ + private String sleepPeriod; + + /** + * 燃气监测终端-上传周期 + */ + @ExcelProperty("上传周期(分)") + private String uploadPeriod; + /** + * 温湿度监测仪-采集时间 + */ + @ExcelProperty("采集时间(时:分)") + private String collectTime; + /** + * 休眠开始时间 + */ + @ExcelProperty("睡眠开始时间(时:分)") + private String sleepStartTime; + /** + * 休眠开始时间 + */ + private String sensorId; public static Map sensorHashMap = new HashMap(); + {//根据前期产品化文档,配置时存入config表中对应的sensorid字段,区分是哪类设备 sensorHashMap.put(DeviceTypeEnum.Liquid.getIndex(), "000034"); sensorHashMap.put(DeviceTypeEnum.Methane.getIndex(), "000044"); @@ -272,6 +373,14 @@ this.sensorId = sensorId; } + public float getPercentExp() { + return percentExp; + } + + public void setPercentExp(float percentExp) { + this.percentExp = percentExp; + } + public BusConfigDTO() { } @@ -284,7 +393,7 @@ dto.setDeviceId(null != objectMap.get("deviceId") ? Long.valueOf(objectMap.get("deviceId").toString()) : null); dto.setDevcode(objectMap.get("devcode").toString()); - dto.setDeviceName(objectMap.get("deviceName").toString()); +// dto.setDeviceName(objectMap.get("deviceName").toString()); dto.setDeviceType(null != objectMap.get("deviceType") ? Long.valueOf(objectMap.get("deviceType").toString()) : null); dto.setDeviceTypeName(objectMap.get("deviceTypeName").toString()); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java index 4190546..ef37eaa 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java @@ -1,5 +1,9 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -20,9 +24,11 @@ * @since 2019-05-23 */ @TableName("bus_nb_device") +@HeadRowHeight(15) +@ContentRowHeight(20) +@ExcelIgnoreUnannotated @Data public class BusNbDevice extends Model { - private static final long serialVersionUID = 1L; /** @@ -40,6 +46,7 @@ /** * 厂家设备编号 */ + @ExcelProperty("设备编号") @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") @TableField("DEVCODE") private String devcode; @@ -47,24 +54,28 @@ /** * 模块IMEI号 */ + @ExcelProperty("验证码") @TableField("VERIFY_CODE") private String verifyCode; /** * NB设备名称 */ + @ExcelProperty("设备唯一标识") @TableField("NODEID") private String nodeid; /** * 超时时间 */ + @ExcelProperty("超时时间") @TableField("TIMEOUT") private Integer timeout; /** * 设备名称 */ + @ExcelProperty("设备名称") @NotEmpty(message = "设备名称不能为空") @TableField("NAME") private String name; @@ -72,36 +83,42 @@ /** * 厂商ID */ + @ExcelProperty("厂商ID") @TableField("MANUFACTURER_ID") private String manufacturerId; /** * 厂商名称 */ + @ExcelProperty("厂商名称") @TableField("MANUFACTURER_NAME") private String manufacturerName; /** * 设备类型 */ + @ExcelProperty("设备类型") @TableField("DEVICE_TYPE") private String deviceType; /** * 设备型号 */ + @ExcelProperty("设备型号") @TableField("MODEL") private String model; /** * 设备协议类型 */ + @ExcelProperty("设备协议类型") @TableField("PROTOCAL_TYPE") private String protocalType; /** * 设备安全模式 */ + @ExcelProperty("设备安全模式") @TableField("IS_SECURE") private String isSecure; @TableField(exist = false) diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 035ef9d..bc15ac7 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,11 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.Data; @@ -17,6 +23,9 @@ * @since 2019-05-13 */ @TableName("bus_well_info") +@HeadRowHeight(15) +@ContentRowHeight(20) +@ExcelIgnoreUnannotated @Data public class BusWellInfo extends Model { @@ -30,12 +39,14 @@ /** * 井盖编号 */ + @ExcelProperty("井编号") @NotEmpty(message = "闸井编号不能为空") @TableField("WELL_CODE") private String wellCode; /** * 井盖名称 */ + @ExcelProperty("井名称") @NotEmpty(message = "闸井名称不能为空") @TableField("WELL_NAME") private String wellName; @@ -43,18 +54,35 @@ * 井深 */ //@NotEmpty(message="井深不能为空") + @ExcelProperty("井深") @Digits(integer = 2, fraction = 2, message = "井深必须为正数且最多两位小数") @TableField("DEEP") private Float deep; /** + * 地区 + */ + @ExcelProperty("区") + @NotEmpty(message = "区不能为空") + @TableField(exist = false) + private String qu; + /** + * 区域 + */ + @ExcelProperty("街道") + @NotEmpty(message = "街道不能为空") + @TableField("AREA") + private String area; + /** * 第三方坐标系X */ + @ExcelProperty("经度") @NotEmpty(message = "经度不能为空") @TableField("COORDINATE_X") private String coordinateX; /** * 第三方坐标Y */ + @ExcelProperty("纬度") @NotEmpty(message = "纬度不能为空") @TableField("COORDINATE_Y") private String coordinateY; @@ -78,27 +106,19 @@ */ @TableField("LAT_GAODE") private String latGaode; - /** - * 地区 - */ - @NotEmpty(message = "区不能为空") - @TableField(exist = false) - private String qu; - /** - * 区域 - */ - @NotEmpty(message = "街道不能为空") - @TableField("AREA") - private String area; + + /** * 位置 */ + @ExcelProperty("详细地址") @NotEmpty(message = "详细地址不能为空") @TableField("POSITION") private String position; /** * 部门编号 */ + @ExcelProperty("权属单位代码") @NotEmpty(message = "权属单位代码不能为空") @TableField("DEPTID") private String deptid; @@ -115,6 +135,7 @@ /** * 井类型 */ + @ExcelProperty("井类型") @NotEmpty(message = "闸井类型不能为空") @TableField("WELL_TYPE") private String wellType; @@ -159,6 +180,7 @@ /** * 维护单位/小组id */ + @ExcelProperty("井维护单位代码") @NotEmpty(message = "闸井维护单位代码不能为空") @TableField("RESPONSIBLE_DEPT") private String responsibleDept; diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java index 9b00b77..397d202 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java @@ -70,7 +70,7 @@ /** * 是否有效 */ - @TableLogic + @TableLogic(value = "1",delval = "0") @TableField("VALID") private String valid; /** diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index a8ffec3..2d65755 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -272,6 +272,7 @@ mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); + mapper.put("井类型", "wellType"); mapper.put("权属单位代码", "deptid"); mapper.put("井维护单位代码", "responsibleDept"); diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index a855014..88e2879 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -41,14 +41,14 @@ export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\ #export-path: D:\export\ image-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\image\ - config-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\temp\ + config-path: D:\workspace\server\well\2.0\casic-smartcity\casic-web\src\main\resources\config\temp\ download-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\download\ device: redis: invalid-time: 86400 host: 127.0.0.1 port: 6379 - password: + password: ew5T4K3#203lwh config-prefix: 'Casic:' getui: appId: H9jSTE2bAt8QWq2K2GNOB3 diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml index 7133716..6343e70 100644 --- a/casic-web/src/main/resources/config/application.yml +++ b/casic-web/src/main/resources/config/application.yml @@ -56,6 +56,6 @@ device: redis: invalid-time: 86400 - host: 127.0.0.1 + host: localhost port: 6379 useOverTime: false \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index 450b861..2d8cb7d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -1,16 +1,17 @@ package com.casic.missiles.modular.alarm.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.enums.UserQueryEnum; -import com.casic.missiles.modular.alarm.job.HandleAlarmJob; -import com.casic.missiles.modular.alarm.job.DelayJob; -import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.EhcacheConstant; +import com.casic.missiles.modular.alarm.job.DelayJob; +import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; import com.casic.missiles.modular.system.dto.SelectDto; @@ -25,7 +26,6 @@ import com.gexin.rp.sdk.base.IPushResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -34,8 +34,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import cn.hutool.core.util.StrUtil; - /** *

* 报警工单表 服务实现类 diff --git a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java index a952859..bbf7253 100644 --- a/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java +++ b/casic-device/src/main/java/com/casic/missiles/config/DeviceRedisProperties.java @@ -8,7 +8,7 @@ */ @Component @ConfigurationProperties( - prefix = "smartcity.device.redis-config" + prefix = "smartcity.device.redis" ) public class DeviceRedisProperties { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java index 17c34da..4c1bc0b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/BusConfigController.java @@ -479,7 +479,7 @@ resultData.setMessage("上传失败,无法找到文件!"); return resultData; } - resultData = busNoiseConfigService.imp(uploadFile); + resultData = busDigConfigService.imp(uploadFile); return resultData; } @@ -508,7 +508,6 @@ * @param deptid * @param response */ -// @ApiOperation("液位配置列表导出") @RequestMapping(value = "/liquidConfig/batchExport") @ResponseBody public void export(@RequestParam(required = false) String keywords, @@ -521,8 +520,7 @@ page.setSearchCount(false); page.setSize(Integer.MAX_VALUE); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); - List busConfigDTOList = busConfigService.getConfigList(page, keywords, - deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); + List busConfigDTOList = busConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.Liquid.getIndex()), dataScope); busConfigService.exp(busConfigDTOList, response); } catch (Exception e) { e.printStackTrace(); @@ -562,7 +560,6 @@ * @param deptid * @param response */ -// @ApiOperation("燃气配置列表导出") @RequestMapping(value = "/gasConfig/batchExport") @ResponseBody public void exportGas(@RequestParam(required = false) String keywords, @@ -667,7 +664,8 @@ @RequestParam(required = false) String deptid) { SuccessResponseData successResult = new SuccessResponseData(); try { - Page page = PageFactory.defaultPage();//page使用 + //page使用 + Page page = PageFactory.defaultPage(); DataScope dataScope = service.getAuthService().getLoginUserDataScope(); List busConfigDTOList = busGasLiquidConfigService.getConfigList(page, keywords, deptid, Long.valueOf(DeviceTypeEnum.LG.getIndex()), dataScope); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java index 331ac27..730d95b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -1,16 +1,15 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.system.dto.BusConfigDTO; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusConfig; -import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** *

@@ -21,24 +20,75 @@ * @since 2019-05-16 */ public interface IBusConfigService extends IService { + /** + * 设备配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ List getConfigList(Page page, - String keywords, - String deptid, - Long deviceType, - DataScope dataScope); + String keywords, + String deptid, + Long deviceType, + DataScope dataScope); + + /** + * 根据设备获取集中器编号 + * + * @param devID + * @return + */ String getConcenCodeByDevId(Long devID); + /** + * 根据设备获取井深 + * + * @param devID 设备主键 + * @return + */ String getWellDeepByDevId(Long devID); + /** + * 添加设备配置 + * + * @param busConfigDTO 设备实体 + */ void addConfig(BusConfigDTO busConfigDTO); + /** + * 修改设备配置 + * + * @param busConfigDTO + */ void updateConfig(BusConfigDTO busConfigDTO); + /** + * 获取设备配置 + * + * @param devId 设备主键 + * @return + */ List getListBydevId(Long devId); + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ SuccessResponseData imp(MultipartFile uploadFile); - void exp( List busConfigDTOList,HttpServletResponse response); + /** + * 设备配置导出 + * + * @param busConfigDTOList 设备配置列表 + * @param response 请求响应 + */ + void exp(List busConfigDTOList, HttpServletResponse response); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java index 558ff5e..9e70f4b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -73,6 +73,16 @@ return limitValue; } + /** + * 配置列表获取 + * + * @param page 分页参数 + * @param keywords 关键字 + * @param deptid 组织id + * @param deviceType 设备类型 + * @param dataScope 数据权限 + * @return + */ @Override public List getConfigList(Page page, String keywords, @@ -83,8 +93,8 @@ BusConfigDTO.sensorHashMap.get(deviceType.intValue()), dataScope); List busConfigDTOList = new ArrayList<>(); for (Map objectMap : result) { - BusConfigDTO dto = BusConfigDTO.ConvertDTO(objectMap); + // 配置信息转换 以逗号拼接 String framecontent = objectMap.get("framecontent").toString(); if (null != framecontent) { String[] configItems = framecontent.split(","); @@ -99,6 +109,7 @@ dto.setIp(configItems[4]); dto.setPort(configItems[5]); } + dto.setPercentExp(dto.getPercent()); } busConfigDTOList.add(dto); } @@ -107,16 +118,33 @@ } + /** + * 根据设备id + * + * @param devID 设备主键 + * @return 集中器编号 + */ @Override public String getConcenCodeByDevId(Long devID) { return this.baseMapper.getConcenCodeByDevId(devID); } + /** + * 根据设备主键获取井深 + * + * @param devID 设备主键 + * @return 井深 + */ @Override public String getWellDeepByDevId(Long devID) { return this.baseMapper.getWellDeepByDevId(devID); } + /** + * 添加设备配置 + * + * @param busConfigDTO + */ @Transactional @Override public void addConfig(BusConfigDTO busConfigDTO) { @@ -151,6 +179,11 @@ } } + /** + * 批量添加设备配置 + * + * @param busConfigDTOList + */ @Transactional public void addBatchConfig(List busConfigDTOList) { String concentratorCodeStr = ""; @@ -281,25 +314,22 @@ return stringMap; } + /** + * 液位设备配置导入 + * + * @param uploadFile 附件 + * @return + */ @Transactional @Override public SuccessResponseData imp(MultipartFile uploadFile) { SuccessResponseData resultData = new SuccessResponseData(); - Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode"); - mapper.put("报警阈值(%)", "percent"); - mapper.put("安装高度(M)", "installHeight"); - mapper.put("重传次数", "retryTimes"); - mapper.put("IP地址", "ip"); - mapper.put("端口号", "port"); - mapper.put("最大尝试次数", "attemptsMax"); - List busConfigDTOList = new ArrayList<>(); - try { - //TODO 注解设置 - busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile,null,null); + + List busConfigDTOList = exportService.importExcel(BusConfigDTO.class, uploadFile, null, null); Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); @@ -327,7 +357,7 @@ fis = new FileInputStream(deviceServerProperties.getExportPath().concat(DeviceConfigConst.CONFIG_EXPORT_TEMP)); } //TODO BusConfigDTO导出文件注解设置 - exportService.exportExcel(response,BusConfigDTO.class,busConfigDTOList,"文件下载"); + exportService.exportExcel(response, BusConfigDTO.class, busConfigDTOList, "文件下载"); } catch (Exception e) { e.printStackTrace(); } finally { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java index 3809482..fb1048b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/BusGasLiquidConfigServiceImpl.java @@ -266,7 +266,7 @@ try { try { - exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); + busConfigDTOList = exportService.importExcel(BusConfigDTO.class,uploadFile,null,null); } catch (Exception e) { e.printStackTrace(); resultData.setCode(400); @@ -274,7 +274,8 @@ } Map objectMap = this.validate(busConfigDTOList); - if ((Boolean) objectMap.get("success")) {//检验通过后写入 + //检验通过后写入 + if ((Boolean) objectMap.get("success")) { this.addBatchConfig(busConfigDTOList); resultData.setCode(200); resultData.setMessage(objectMap.get("msg").toString()); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java index b333b89..0d467a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/web/controller/BusNbDeviceController.java @@ -230,15 +230,18 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 @ExcelProperty("设备编号") + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "name"); mapper.put("设备唯一标识", "nodeid"); mapper.put("验证码", "verifyCode"); mapper.put("超时时间", "timeout"); mapper.put("厂商ID", "manufacturerId"); mapper.put("厂商名称", "manufacturerName"); - mapper.put("设备类型", "deviceType");//需要转换 - mapper.put("设备型号", "model");//需要转换 + //需要转换 + mapper.put("设备类型", "deviceType"); + //需要转换 + mapper.put("设备型号", "model"); mapper.put("设备协议类型", "protocalType"); mapper.put("设备安全模式", "isSecure"); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java index 7f760f9..af8067c 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/dto/BusConfigDTO.java @@ -1,5 +1,12 @@ package com.casic.missiles.modular.system.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -8,40 +15,134 @@ import java.util.Map; /** - * Created by test203 on 2019/5/20. + * @author test203 + * @date 2019/5/20 */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated @Component public class BusConfigDTO { + // mapper.put("设备编号", "devcode"); +// mapper.put("报警阈值(%)", "percent"); +// mapper.put("安装高度(M)", "installHeight"); +// mapper.put("重传次数", "retryTimes"); +// mapper.put("IP地址", "ip"); +// mapper.put("端口号", "port"); +// mapper.put("最大尝试次数", "attemptsMax"); private Long id; private Long deviceId; - private String devcode; //设备编号 - private String deviceName; //设备名称 - private Long deviceType; //设备类型编号 - private String deviceTypeName; // 设备类型名称 - private String deptid; // 权属单位id - private String deptName;// 权属单位名称 - private String wellCode;// 闸井编号 - private float threshold;// 报警阈值 - private float percent;// 井深百分比 - private float installHeight; //安装高度 - private String retryTimes;// 重传次数 - private String ip;// IP地址 - private String port;// 端口 - private String attemptsMax; //最大尝试次数 - private String attemptsCurrent;// 已尝试次数 - private String status;// 已尝试次数 - private String statusName;// 已尝试次数 + /** + * + */ + @ExcelProperty("设备编号") + private String devcode; + /** + * 设备名称 + */ + private String deviceName; + /** + * 设备类型编号 + */ + private Long deviceType; + /** + * 设备类型名称 + */ + private String deviceTypeName; + /** + * 权属单位id + */ + private String deptid; + /** + * 权属单位名称 + */ + private String deptName; + /** + * 闸井编号 + */ + private String wellCode; - private String collectInterval;//采集间隔 - private String collectCount;//采集次数 - private String reloadInterval;//重传次数 - private String sleepPeriod;//休眠周期 - private String uploadPeriod;//上传周期 - private String collectTime;//采集时间 - private String sleepStartTime;//休眠开始时间 - private String sensorId;//休眠开始时间 + /** + * 液位报警阈值 导出字段 + */ + @ExcelProperty("报警阈值") + private float threshold; + /** + * 井深百分比 + */ + @ExcelProperty("报警阈值(%)") + private float percent; + /** + * 井深百分比 导出字段 + */ + @ExcelProperty("井深百分比") + private float percentExp; + @ExcelProperty("安装高度(M)") + private float installHeight; + @ExcelProperty("重传次数") + private String retryTimes; + @ExcelProperty("IP地址") + private String ip; + @ExcelProperty("端口号") + private String port; + @ExcelProperty("最大尝试次数") + private String attemptsMax; + /** + * 已尝试次数 + */ + private String attemptsCurrent; + /** + * 已尝试次数 + */ + private String status; + /** + * 已尝试次数 + */ + private String statusName; + + /** + * 燃气监测终端-采集间隔 + */ + @ExcelProperty("采集间隔(分)") + private String collectInterval; + /** + * 采集次数 + */ + @ExcelProperty("采集次数") + private String collectCount; + /** + * 重传次数 + */ + private String reloadInterval; + /** + * 休眠周期 + */ + private String sleepPeriod; + + /** + * 燃气监测终端-上传周期 + */ + @ExcelProperty("上传周期(分)") + private String uploadPeriod; + /** + * 温湿度监测仪-采集时间 + */ + @ExcelProperty("采集时间(时:分)") + private String collectTime; + /** + * 休眠开始时间 + */ + @ExcelProperty("睡眠开始时间(时:分)") + private String sleepStartTime; + /** + * 休眠开始时间 + */ + private String sensorId; public static Map sensorHashMap = new HashMap(); + {//根据前期产品化文档,配置时存入config表中对应的sensorid字段,区分是哪类设备 sensorHashMap.put(DeviceTypeEnum.Liquid.getIndex(), "000034"); sensorHashMap.put(DeviceTypeEnum.Methane.getIndex(), "000044"); @@ -272,6 +373,14 @@ this.sensorId = sensorId; } + public float getPercentExp() { + return percentExp; + } + + public void setPercentExp(float percentExp) { + this.percentExp = percentExp; + } + public BusConfigDTO() { } @@ -284,7 +393,7 @@ dto.setDeviceId(null != objectMap.get("deviceId") ? Long.valueOf(objectMap.get("deviceId").toString()) : null); dto.setDevcode(objectMap.get("devcode").toString()); - dto.setDeviceName(objectMap.get("deviceName").toString()); +// dto.setDeviceName(objectMap.get("deviceName").toString()); dto.setDeviceType(null != objectMap.get("deviceType") ? Long.valueOf(objectMap.get("deviceType").toString()) : null); dto.setDeviceTypeName(objectMap.get("deviceTypeName").toString()); diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java index 4190546..ef37eaa 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusNbDevice.java @@ -1,5 +1,9 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -20,9 +24,11 @@ * @since 2019-05-23 */ @TableName("bus_nb_device") +@HeadRowHeight(15) +@ContentRowHeight(20) +@ExcelIgnoreUnannotated @Data public class BusNbDevice extends Model { - private static final long serialVersionUID = 1L; /** @@ -40,6 +46,7 @@ /** * 厂家设备编号 */ + @ExcelProperty("设备编号") @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") @TableField("DEVCODE") private String devcode; @@ -47,24 +54,28 @@ /** * 模块IMEI号 */ + @ExcelProperty("验证码") @TableField("VERIFY_CODE") private String verifyCode; /** * NB设备名称 */ + @ExcelProperty("设备唯一标识") @TableField("NODEID") private String nodeid; /** * 超时时间 */ + @ExcelProperty("超时时间") @TableField("TIMEOUT") private Integer timeout; /** * 设备名称 */ + @ExcelProperty("设备名称") @NotEmpty(message = "设备名称不能为空") @TableField("NAME") private String name; @@ -72,36 +83,42 @@ /** * 厂商ID */ + @ExcelProperty("厂商ID") @TableField("MANUFACTURER_ID") private String manufacturerId; /** * 厂商名称 */ + @ExcelProperty("厂商名称") @TableField("MANUFACTURER_NAME") private String manufacturerName; /** * 设备类型 */ + @ExcelProperty("设备类型") @TableField("DEVICE_TYPE") private String deviceType; /** * 设备型号 */ + @ExcelProperty("设备型号") @TableField("MODEL") private String model; /** * 设备协议类型 */ + @ExcelProperty("设备协议类型") @TableField("PROTOCAL_TYPE") private String protocalType; /** * 设备安全模式 */ + @ExcelProperty("设备安全模式") @TableField("IS_SECURE") private String isSecure; @TableField(exist = false) diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index 035ef9d..bc15ac7 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -1,5 +1,11 @@ package com.casic.missiles.modular.system.model; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.Data; @@ -17,6 +23,9 @@ * @since 2019-05-13 */ @TableName("bus_well_info") +@HeadRowHeight(15) +@ContentRowHeight(20) +@ExcelIgnoreUnannotated @Data public class BusWellInfo extends Model { @@ -30,12 +39,14 @@ /** * 井盖编号 */ + @ExcelProperty("井编号") @NotEmpty(message = "闸井编号不能为空") @TableField("WELL_CODE") private String wellCode; /** * 井盖名称 */ + @ExcelProperty("井名称") @NotEmpty(message = "闸井名称不能为空") @TableField("WELL_NAME") private String wellName; @@ -43,18 +54,35 @@ * 井深 */ //@NotEmpty(message="井深不能为空") + @ExcelProperty("井深") @Digits(integer = 2, fraction = 2, message = "井深必须为正数且最多两位小数") @TableField("DEEP") private Float deep; /** + * 地区 + */ + @ExcelProperty("区") + @NotEmpty(message = "区不能为空") + @TableField(exist = false) + private String qu; + /** + * 区域 + */ + @ExcelProperty("街道") + @NotEmpty(message = "街道不能为空") + @TableField("AREA") + private String area; + /** * 第三方坐标系X */ + @ExcelProperty("经度") @NotEmpty(message = "经度不能为空") @TableField("COORDINATE_X") private String coordinateX; /** * 第三方坐标Y */ + @ExcelProperty("纬度") @NotEmpty(message = "纬度不能为空") @TableField("COORDINATE_Y") private String coordinateY; @@ -78,27 +106,19 @@ */ @TableField("LAT_GAODE") private String latGaode; - /** - * 地区 - */ - @NotEmpty(message = "区不能为空") - @TableField(exist = false) - private String qu; - /** - * 区域 - */ - @NotEmpty(message = "街道不能为空") - @TableField("AREA") - private String area; + + /** * 位置 */ + @ExcelProperty("详细地址") @NotEmpty(message = "详细地址不能为空") @TableField("POSITION") private String position; /** * 部门编号 */ + @ExcelProperty("权属单位代码") @NotEmpty(message = "权属单位代码不能为空") @TableField("DEPTID") private String deptid; @@ -115,6 +135,7 @@ /** * 井类型 */ + @ExcelProperty("井类型") @NotEmpty(message = "闸井类型不能为空") @TableField("WELL_TYPE") private String wellType; @@ -159,6 +180,7 @@ /** * 维护单位/小组id */ + @ExcelProperty("井维护单位代码") @NotEmpty(message = "闸井维护单位代码不能为空") @TableField("RESPONSIBLE_DEPT") private String responsibleDept; diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java index 9b00b77..397d202 100644 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Device.java @@ -70,7 +70,7 @@ /** * 是否有效 */ - @TableLogic + @TableLogic(value = "1",delval = "0") @TableField("VALID") private String valid; /** diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index a8ffec3..2d65755 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -272,6 +272,7 @@ mapper.put("详细地址", "position"); mapper.put("经度", "coordinateX"); mapper.put("纬度", "coordinateY"); + mapper.put("井类型", "wellType"); mapper.put("权属单位代码", "deptid"); mapper.put("井维护单位代码", "responsibleDept"); diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index a855014..88e2879 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -41,14 +41,14 @@ export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\ #export-path: D:\export\ image-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\image\ - config-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\temp\ + config-path: D:\workspace\server\well\2.0\casic-smartcity\casic-web\src\main\resources\config\temp\ download-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\download\ device: redis: invalid-time: 86400 host: 127.0.0.1 port: 6379 - password: + password: ew5T4K3#203lwh config-prefix: 'Casic:' getui: appId: H9jSTE2bAt8QWq2K2GNOB3 diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml index 7133716..6343e70 100644 --- a/casic-web/src/main/resources/config/application.yml +++ b/casic-web/src/main/resources/config/application.yml @@ -56,6 +56,6 @@ device: redis: invalid-time: 86400 - host: 127.0.0.1 + host: localhost port: 6379 useOverTime: false \ No newline at end of file diff --git a/casic-web/src/main/resources/config/temp/device_template.xlsx b/casic-web/src/main/resources/config/temp/device_template.xlsx index 8140c63..8402675 100644 --- a/casic-web/src/main/resources/config/temp/device_template.xlsx +++ b/casic-web/src/main/resources/config/temp/device_template.xlsx Binary files differ