diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index e9f3877..de7f150 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -32,6 +32,8 @@ List> selectGasDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectTubeDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectHarmfulDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectTempDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index e9f3877..de7f150 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -32,6 +32,8 @@ List> selectGasDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectTubeDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectHarmfulDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectTempDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 928baef..3de0ee0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -221,6 +221,50 @@ ORDER BY dg.UPTIME DESC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -68,19 +70,32 @@ and w.bfzt = #{bfzt} - and (w.WELL_CODE like - or w.POSITION like ) + and (w.WELL_CODE like + + or w.POSITION like + + ) - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index e9f3877..de7f150 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -32,6 +32,8 @@ List> selectGasDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectTubeDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectHarmfulDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectTempDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 928baef..3de0ee0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -221,6 +221,50 @@ ORDER BY dg.UPTIME DESC + + + + + + @@ -68,19 +70,32 @@ and w.bfzt = #{bfzt} - and (w.WELL_CODE like - or w.POSITION like ) + and (w.WELL_CODE like + + or w.POSITION like + + ) - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index e9f3877..de7f150 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -32,6 +32,8 @@ List> selectGasDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectTubeDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectHarmfulDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectTempDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 928baef..3de0ee0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -221,6 +221,50 @@ ORDER BY dg.UPTIME DESC + + + + + + @@ -68,19 +70,32 @@ and w.bfzt = #{bfzt} - and (w.WELL_CODE like - or w.POSITION like ) + and (w.WELL_CODE like + + or w.POSITION like + + ) - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..2eb02fc --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String position; + private List realtimeData; + +} diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index e9f3877..de7f150 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -32,6 +32,8 @@ List> selectGasDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectTubeDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectHarmfulDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectTempDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 928baef..3de0ee0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -221,6 +221,50 @@ ORDER BY dg.UPTIME DESC + + + + + + @@ -68,19 +70,32 @@ and w.bfzt = #{bfzt} - and (w.WELL_CODE like - or w.POSITION like ) + and (w.WELL_CODE like + + or w.POSITION like + + ) - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..2eb02fc --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String position; + private List realtimeData; + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 1a4359c..c66ce3b 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -1,10 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.plugins.Page; -import com.casic.missiles.modular.system.dto.BatchExportDataDto; -import com.casic.missiles.modular.system.dto.BfztCountDataDto; -import com.casic.missiles.modular.system.dto.BusWellInfoDto; -import com.casic.missiles.modular.system.dto.WatchDataDto; +import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.core.datascope.DataScope; import com.baomidou.mybatisplus.service.IService; @@ -34,6 +31,9 @@ List deleteBatchByIds(List id); List getWatchDatas(Long id); + + List getDeviceDatas(String devTypename,String devcode,String status); + BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp); List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords); @@ -56,4 +56,9 @@ Boolean isExistWellCode(String wellCode); Boolean changeCoordinates(int startNumber); + + List getDeviceList(DataScope dataScope); + + DeviceInfoDto selectDeviceById(Long id); + } diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index e9f3877..de7f150 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -32,6 +32,8 @@ List> selectGasDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectTubeDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectHarmfulDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectTempDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 928baef..3de0ee0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -221,6 +221,50 @@ ORDER BY dg.UPTIME DESC + + + + + + @@ -68,19 +70,32 @@ and w.bfzt = #{bfzt} - and (w.WELL_CODE like - or w.POSITION like ) + and (w.WELL_CODE like + + or w.POSITION like + + ) - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..2eb02fc --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String position; + private List realtimeData; + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 1a4359c..c66ce3b 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -1,10 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.plugins.Page; -import com.casic.missiles.modular.system.dto.BatchExportDataDto; -import com.casic.missiles.modular.system.dto.BfztCountDataDto; -import com.casic.missiles.modular.system.dto.BusWellInfoDto; -import com.casic.missiles.modular.system.dto.WatchDataDto; +import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.core.datascope.DataScope; import com.baomidou.mybatisplus.service.IService; @@ -34,6 +31,9 @@ List deleteBatchByIds(List id); List getWatchDatas(Long id); + + List getDeviceDatas(String devTypename,String devcode,String status); + BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp); List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords); @@ -56,4 +56,9 @@ Boolean isExistWellCode(String wellCode); Boolean changeCoordinates(int startNumber); + + List getDeviceList(DataScope dataScope); + + DeviceInfoDto selectDeviceById(Long id); + } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index d417209..0e8a1fc 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -77,6 +77,7 @@ return list; } + public List getWatchDatas(Long id) { List deviceInWellInfos = this.baseMapper.getDeviceInWellInfo(id); @@ -226,17 +227,17 @@ if (ToolUtil.isNotEmpty(deviceData)) { Double dValue = Double.parseDouble(deviceData.getData()); - if(dValue <= 20.0){ + if (dValue <= 20.0) { watchDataDto.setValue(deviceData.getData() + "%LEL"); watchDataDto.setData(deviceData.getData() + "%LEL"); - }else{ + } else { DecimalFormat df = new DecimalFormat("0.00"); dValue = dValue / 20.0; watchDataDto.setValue(df.format(dValue) + "%VOL"); watchDataDto.setData(df.format(dValue) + "%VOL"); } watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -250,7 +251,7 @@ watchDataDto.setValue(deviceData.getData() + "m"); watchDataDto.setData(deviceData.getData() + "m"); watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -267,6 +268,151 @@ } + @Override + public List getDeviceDatas(String devTypeName, String devcode, String status) { + List deviceDataDtoList = new ArrayList<>(); + DeviceDataDto deviceDataDto = new DeviceDataDto(); + DeviceData deviceData; + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + switch (devTypeName) { + case "井盖状态监测仪": + deviceData = this.baseMapper.wellcoverData(devcode); + deviceDataDto.setTypeName("井盖状态"); + if (ToolUtil.isNotEmpty(deviceData)) { + //井盖离线 + if ("0".equals(status)) { + deviceDataDto.setValue("离线"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else if ("心跳".equals(deviceData.getData())) { + deviceDataDto.setValue("井盖状态正常"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + break; + + case "液位监测仪": + deviceData = this.baseMapper.liquidData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井内水位"); + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "有害气体监测仪": + deviceData = this.baseMapper.harmfulgasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] harmfulGasDatas = deviceData.getData().split(","); + HarmfulGasBusiness[] harmfulGasBusinesses = HarmfulGasBusiness.values(); + for (int i = 0; i < harmfulGasDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(harmfulGasBusinesses[i].getDesc()); + deviceDataDto.setValue(harmfulGasDatas[i] + harmfulGasBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + case "燃气智能监测终端": + deviceData = this.baseMapper.gasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("燃气浓度"); + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "温湿度监测仪": + deviceData = this.baseMapper.temphumData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] temphumDatas = deviceData.getData().split(","); + TemphumBusiness[] temphumBusinesses = TemphumBusiness.values(); + for (int i = 0; i < temphumDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(temphumBusinesses[i].getDesc()); + deviceDataDto.setValue(temphumDatas[i] + temphumBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + + case "开挖监测仪": + deviceData = this.baseMapper.digData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("开挖状态"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "噪声记录仪": + deviceData = this.baseMapper.noiseData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("管线噪声"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + case "井盖定位监测仪": + deviceData = this.baseMapper.wellcoverlocaData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井盖位置"); + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "燃气智能监测终端(一体化)": + deviceData = this.baseMapper.lgGasData(devcode); + deviceDataDto.setTypeName("燃气浓度"); + if (ToolUtil.isNotEmpty(deviceData)) { + + Double dValue = Double.parseDouble(deviceData.getData()); + if (dValue <= 20.0) { + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + } else { + DecimalFormat df = new DecimalFormat("0.00"); + dValue = dValue / 20.0; + deviceDataDto.setValue(df.format(dValue) + "%VOL"); + } + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + + deviceData = this.baseMapper.lgLiquidData(devcode); + deviceDataDto.setTypeName("井内水位"); + if (ToolUtil.isNotEmpty(deviceData)) { + + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + break; + + default://未知设备 + logger.info("未知设备!"); + break; + } + return deviceDataDtoList; + } + + public BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp) { return this.baseMapper.bfztCountData(deptIds, isApp); } @@ -468,4 +614,14 @@ return false; } } + + @Override + public List getDeviceList(DataScope dataScope) { + return this.baseMapper.getDeviceList(dataScope); + } + + @Override + public DeviceInfoDto selectDeviceById(Long id) { + return this.baseMapper.selectDeviceById(id); + } } diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index e9f3877..de7f150 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -32,6 +32,8 @@ List> selectGasDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectTubeDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectHarmfulDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectTempDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 928baef..3de0ee0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -221,6 +221,50 @@ ORDER BY dg.UPTIME DESC + + + + + + @@ -68,19 +70,32 @@ and w.bfzt = #{bfzt} - and (w.WELL_CODE like - or w.POSITION like ) + and (w.WELL_CODE like + + or w.POSITION like + + ) - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..2eb02fc --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String position; + private List realtimeData; + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 1a4359c..c66ce3b 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -1,10 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.plugins.Page; -import com.casic.missiles.modular.system.dto.BatchExportDataDto; -import com.casic.missiles.modular.system.dto.BfztCountDataDto; -import com.casic.missiles.modular.system.dto.BusWellInfoDto; -import com.casic.missiles.modular.system.dto.WatchDataDto; +import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.core.datascope.DataScope; import com.baomidou.mybatisplus.service.IService; @@ -34,6 +31,9 @@ List deleteBatchByIds(List id); List getWatchDatas(Long id); + + List getDeviceDatas(String devTypename,String devcode,String status); + BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp); List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords); @@ -56,4 +56,9 @@ Boolean isExistWellCode(String wellCode); Boolean changeCoordinates(int startNumber); + + List getDeviceList(DataScope dataScope); + + DeviceInfoDto selectDeviceById(Long id); + } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index d417209..0e8a1fc 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -77,6 +77,7 @@ return list; } + public List getWatchDatas(Long id) { List deviceInWellInfos = this.baseMapper.getDeviceInWellInfo(id); @@ -226,17 +227,17 @@ if (ToolUtil.isNotEmpty(deviceData)) { Double dValue = Double.parseDouble(deviceData.getData()); - if(dValue <= 20.0){ + if (dValue <= 20.0) { watchDataDto.setValue(deviceData.getData() + "%LEL"); watchDataDto.setData(deviceData.getData() + "%LEL"); - }else{ + } else { DecimalFormat df = new DecimalFormat("0.00"); dValue = dValue / 20.0; watchDataDto.setValue(df.format(dValue) + "%VOL"); watchDataDto.setData(df.format(dValue) + "%VOL"); } watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -250,7 +251,7 @@ watchDataDto.setValue(deviceData.getData() + "m"); watchDataDto.setData(deviceData.getData() + "m"); watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -267,6 +268,151 @@ } + @Override + public List getDeviceDatas(String devTypeName, String devcode, String status) { + List deviceDataDtoList = new ArrayList<>(); + DeviceDataDto deviceDataDto = new DeviceDataDto(); + DeviceData deviceData; + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + switch (devTypeName) { + case "井盖状态监测仪": + deviceData = this.baseMapper.wellcoverData(devcode); + deviceDataDto.setTypeName("井盖状态"); + if (ToolUtil.isNotEmpty(deviceData)) { + //井盖离线 + if ("0".equals(status)) { + deviceDataDto.setValue("离线"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else if ("心跳".equals(deviceData.getData())) { + deviceDataDto.setValue("井盖状态正常"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + break; + + case "液位监测仪": + deviceData = this.baseMapper.liquidData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井内水位"); + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "有害气体监测仪": + deviceData = this.baseMapper.harmfulgasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] harmfulGasDatas = deviceData.getData().split(","); + HarmfulGasBusiness[] harmfulGasBusinesses = HarmfulGasBusiness.values(); + for (int i = 0; i < harmfulGasDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(harmfulGasBusinesses[i].getDesc()); + deviceDataDto.setValue(harmfulGasDatas[i] + harmfulGasBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + case "燃气智能监测终端": + deviceData = this.baseMapper.gasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("燃气浓度"); + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "温湿度监测仪": + deviceData = this.baseMapper.temphumData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] temphumDatas = deviceData.getData().split(","); + TemphumBusiness[] temphumBusinesses = TemphumBusiness.values(); + for (int i = 0; i < temphumDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(temphumBusinesses[i].getDesc()); + deviceDataDto.setValue(temphumDatas[i] + temphumBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + + case "开挖监测仪": + deviceData = this.baseMapper.digData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("开挖状态"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "噪声记录仪": + deviceData = this.baseMapper.noiseData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("管线噪声"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + case "井盖定位监测仪": + deviceData = this.baseMapper.wellcoverlocaData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井盖位置"); + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "燃气智能监测终端(一体化)": + deviceData = this.baseMapper.lgGasData(devcode); + deviceDataDto.setTypeName("燃气浓度"); + if (ToolUtil.isNotEmpty(deviceData)) { + + Double dValue = Double.parseDouble(deviceData.getData()); + if (dValue <= 20.0) { + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + } else { + DecimalFormat df = new DecimalFormat("0.00"); + dValue = dValue / 20.0; + deviceDataDto.setValue(df.format(dValue) + "%VOL"); + } + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + + deviceData = this.baseMapper.lgLiquidData(devcode); + deviceDataDto.setTypeName("井内水位"); + if (ToolUtil.isNotEmpty(deviceData)) { + + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + break; + + default://未知设备 + logger.info("未知设备!"); + break; + } + return deviceDataDtoList; + } + + public BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp) { return this.baseMapper.bfztCountData(deptIds, isApp); } @@ -468,4 +614,14 @@ return false; } } + + @Override + public List getDeviceList(DataScope dataScope) { + return this.baseMapper.getDeviceList(dataScope); + } + + @Override + public DeviceInfoDto selectDeviceById(Long id) { + return this.baseMapper.selectDeviceById(id); + } } diff --git a/casic-web/pom.xml b/casic-web/pom.xml index 5fdd1b6..a921fe7 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -51,41 +51,93 @@ + org.mybatis + mybatis + 3.5.7 + + + com.alibaba + fastjson + 1.2.72 + + com.casic casic-core ${core.version} + + + org.mybatis + mybatis + + com.casic casic-admin-support ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-core ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-area ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-device ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-sluicewell ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-alarm ${pro.version} + + + org.mybatis + mybatis + + @@ -189,17 +241,18 @@ org.apache.commons commons-lang3 - - com.oracle - ojdbc6 - ${oracle.version} - + org.codehaus.groovy groovy-all true - + + org.springframework.boot + spring-boot-starter-tomcat + + @@ -214,18 +267,16 @@ - /config/** + /config/*-*.yml **/MockController.class - - - - org.springframework.boot - spring-boot-maven-plugin - - - true - true + + + com.casic.missiles.CasicApplication + true + ./ + + @@ -297,5 +348,4 @@ - - + \ No newline at end of file diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index e9f3877..de7f150 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -32,6 +32,8 @@ List> selectGasDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectTubeDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectHarmfulDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectTempDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 928baef..3de0ee0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -221,6 +221,50 @@ ORDER BY dg.UPTIME DESC + + + + + + @@ -68,19 +70,32 @@ and w.bfzt = #{bfzt} - and (w.WELL_CODE like - or w.POSITION like ) + and (w.WELL_CODE like + + or w.POSITION like + + ) - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..2eb02fc --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String position; + private List realtimeData; + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 1a4359c..c66ce3b 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -1,10 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.plugins.Page; -import com.casic.missiles.modular.system.dto.BatchExportDataDto; -import com.casic.missiles.modular.system.dto.BfztCountDataDto; -import com.casic.missiles.modular.system.dto.BusWellInfoDto; -import com.casic.missiles.modular.system.dto.WatchDataDto; +import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.core.datascope.DataScope; import com.baomidou.mybatisplus.service.IService; @@ -34,6 +31,9 @@ List deleteBatchByIds(List id); List getWatchDatas(Long id); + + List getDeviceDatas(String devTypename,String devcode,String status); + BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp); List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords); @@ -56,4 +56,9 @@ Boolean isExistWellCode(String wellCode); Boolean changeCoordinates(int startNumber); + + List getDeviceList(DataScope dataScope); + + DeviceInfoDto selectDeviceById(Long id); + } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index d417209..0e8a1fc 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -77,6 +77,7 @@ return list; } + public List getWatchDatas(Long id) { List deviceInWellInfos = this.baseMapper.getDeviceInWellInfo(id); @@ -226,17 +227,17 @@ if (ToolUtil.isNotEmpty(deviceData)) { Double dValue = Double.parseDouble(deviceData.getData()); - if(dValue <= 20.0){ + if (dValue <= 20.0) { watchDataDto.setValue(deviceData.getData() + "%LEL"); watchDataDto.setData(deviceData.getData() + "%LEL"); - }else{ + } else { DecimalFormat df = new DecimalFormat("0.00"); dValue = dValue / 20.0; watchDataDto.setValue(df.format(dValue) + "%VOL"); watchDataDto.setData(df.format(dValue) + "%VOL"); } watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -250,7 +251,7 @@ watchDataDto.setValue(deviceData.getData() + "m"); watchDataDto.setData(deviceData.getData() + "m"); watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -267,6 +268,151 @@ } + @Override + public List getDeviceDatas(String devTypeName, String devcode, String status) { + List deviceDataDtoList = new ArrayList<>(); + DeviceDataDto deviceDataDto = new DeviceDataDto(); + DeviceData deviceData; + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + switch (devTypeName) { + case "井盖状态监测仪": + deviceData = this.baseMapper.wellcoverData(devcode); + deviceDataDto.setTypeName("井盖状态"); + if (ToolUtil.isNotEmpty(deviceData)) { + //井盖离线 + if ("0".equals(status)) { + deviceDataDto.setValue("离线"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else if ("心跳".equals(deviceData.getData())) { + deviceDataDto.setValue("井盖状态正常"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + break; + + case "液位监测仪": + deviceData = this.baseMapper.liquidData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井内水位"); + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "有害气体监测仪": + deviceData = this.baseMapper.harmfulgasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] harmfulGasDatas = deviceData.getData().split(","); + HarmfulGasBusiness[] harmfulGasBusinesses = HarmfulGasBusiness.values(); + for (int i = 0; i < harmfulGasDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(harmfulGasBusinesses[i].getDesc()); + deviceDataDto.setValue(harmfulGasDatas[i] + harmfulGasBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + case "燃气智能监测终端": + deviceData = this.baseMapper.gasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("燃气浓度"); + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "温湿度监测仪": + deviceData = this.baseMapper.temphumData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] temphumDatas = deviceData.getData().split(","); + TemphumBusiness[] temphumBusinesses = TemphumBusiness.values(); + for (int i = 0; i < temphumDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(temphumBusinesses[i].getDesc()); + deviceDataDto.setValue(temphumDatas[i] + temphumBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + + case "开挖监测仪": + deviceData = this.baseMapper.digData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("开挖状态"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "噪声记录仪": + deviceData = this.baseMapper.noiseData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("管线噪声"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + case "井盖定位监测仪": + deviceData = this.baseMapper.wellcoverlocaData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井盖位置"); + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "燃气智能监测终端(一体化)": + deviceData = this.baseMapper.lgGasData(devcode); + deviceDataDto.setTypeName("燃气浓度"); + if (ToolUtil.isNotEmpty(deviceData)) { + + Double dValue = Double.parseDouble(deviceData.getData()); + if (dValue <= 20.0) { + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + } else { + DecimalFormat df = new DecimalFormat("0.00"); + dValue = dValue / 20.0; + deviceDataDto.setValue(df.format(dValue) + "%VOL"); + } + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + + deviceData = this.baseMapper.lgLiquidData(devcode); + deviceDataDto.setTypeName("井内水位"); + if (ToolUtil.isNotEmpty(deviceData)) { + + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + break; + + default://未知设备 + logger.info("未知设备!"); + break; + } + return deviceDataDtoList; + } + + public BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp) { return this.baseMapper.bfztCountData(deptIds, isApp); } @@ -468,4 +614,14 @@ return false; } } + + @Override + public List getDeviceList(DataScope dataScope) { + return this.baseMapper.getDeviceList(dataScope); + } + + @Override + public DeviceInfoDto selectDeviceById(Long id) { + return this.baseMapper.selectDeviceById(id); + } } diff --git a/casic-web/pom.xml b/casic-web/pom.xml index 5fdd1b6..a921fe7 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -51,41 +51,93 @@ + org.mybatis + mybatis + 3.5.7 + + + com.alibaba + fastjson + 1.2.72 + + com.casic casic-core ${core.version} + + + org.mybatis + mybatis + + com.casic casic-admin-support ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-core ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-area ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-device ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-sluicewell ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-alarm ${pro.version} + + + org.mybatis + mybatis + + @@ -189,17 +241,18 @@ org.apache.commons commons-lang3 - - com.oracle - ojdbc6 - ${oracle.version} - + org.codehaus.groovy groovy-all true - + + org.springframework.boot + spring-boot-starter-tomcat + + @@ -214,18 +267,16 @@ - /config/** + /config/*-*.yml **/MockController.class - - - - org.springframework.boot - spring-boot-maven-plugin - - - true - true + + + com.casic.missiles.CasicApplication + true + ./ + + @@ -297,5 +348,4 @@ - - + \ No newline at end of file diff --git "a/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" "b/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" deleted file mode 100644 index 7d4813e..0000000 --- "a/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -title �ǻ�բ�� -java -jar guns-web-1.0.0-SNAPSHOT.jar -@pause diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index e9f3877..de7f150 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -32,6 +32,8 @@ List> selectGasDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectTubeDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectHarmfulDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectTempDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 928baef..3de0ee0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -221,6 +221,50 @@ ORDER BY dg.UPTIME DESC + + + + + + @@ -68,19 +70,32 @@ and w.bfzt = #{bfzt} - and (w.WELL_CODE like - or w.POSITION like ) + and (w.WELL_CODE like + + or w.POSITION like + + ) - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..2eb02fc --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String position; + private List realtimeData; + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 1a4359c..c66ce3b 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -1,10 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.plugins.Page; -import com.casic.missiles.modular.system.dto.BatchExportDataDto; -import com.casic.missiles.modular.system.dto.BfztCountDataDto; -import com.casic.missiles.modular.system.dto.BusWellInfoDto; -import com.casic.missiles.modular.system.dto.WatchDataDto; +import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.core.datascope.DataScope; import com.baomidou.mybatisplus.service.IService; @@ -34,6 +31,9 @@ List deleteBatchByIds(List id); List getWatchDatas(Long id); + + List getDeviceDatas(String devTypename,String devcode,String status); + BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp); List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords); @@ -56,4 +56,9 @@ Boolean isExistWellCode(String wellCode); Boolean changeCoordinates(int startNumber); + + List getDeviceList(DataScope dataScope); + + DeviceInfoDto selectDeviceById(Long id); + } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index d417209..0e8a1fc 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -77,6 +77,7 @@ return list; } + public List getWatchDatas(Long id) { List deviceInWellInfos = this.baseMapper.getDeviceInWellInfo(id); @@ -226,17 +227,17 @@ if (ToolUtil.isNotEmpty(deviceData)) { Double dValue = Double.parseDouble(deviceData.getData()); - if(dValue <= 20.0){ + if (dValue <= 20.0) { watchDataDto.setValue(deviceData.getData() + "%LEL"); watchDataDto.setData(deviceData.getData() + "%LEL"); - }else{ + } else { DecimalFormat df = new DecimalFormat("0.00"); dValue = dValue / 20.0; watchDataDto.setValue(df.format(dValue) + "%VOL"); watchDataDto.setData(df.format(dValue) + "%VOL"); } watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -250,7 +251,7 @@ watchDataDto.setValue(deviceData.getData() + "m"); watchDataDto.setData(deviceData.getData() + "m"); watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -267,6 +268,151 @@ } + @Override + public List getDeviceDatas(String devTypeName, String devcode, String status) { + List deviceDataDtoList = new ArrayList<>(); + DeviceDataDto deviceDataDto = new DeviceDataDto(); + DeviceData deviceData; + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + switch (devTypeName) { + case "井盖状态监测仪": + deviceData = this.baseMapper.wellcoverData(devcode); + deviceDataDto.setTypeName("井盖状态"); + if (ToolUtil.isNotEmpty(deviceData)) { + //井盖离线 + if ("0".equals(status)) { + deviceDataDto.setValue("离线"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else if ("心跳".equals(deviceData.getData())) { + deviceDataDto.setValue("井盖状态正常"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + break; + + case "液位监测仪": + deviceData = this.baseMapper.liquidData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井内水位"); + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "有害气体监测仪": + deviceData = this.baseMapper.harmfulgasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] harmfulGasDatas = deviceData.getData().split(","); + HarmfulGasBusiness[] harmfulGasBusinesses = HarmfulGasBusiness.values(); + for (int i = 0; i < harmfulGasDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(harmfulGasBusinesses[i].getDesc()); + deviceDataDto.setValue(harmfulGasDatas[i] + harmfulGasBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + case "燃气智能监测终端": + deviceData = this.baseMapper.gasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("燃气浓度"); + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "温湿度监测仪": + deviceData = this.baseMapper.temphumData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] temphumDatas = deviceData.getData().split(","); + TemphumBusiness[] temphumBusinesses = TemphumBusiness.values(); + for (int i = 0; i < temphumDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(temphumBusinesses[i].getDesc()); + deviceDataDto.setValue(temphumDatas[i] + temphumBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + + case "开挖监测仪": + deviceData = this.baseMapper.digData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("开挖状态"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "噪声记录仪": + deviceData = this.baseMapper.noiseData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("管线噪声"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + case "井盖定位监测仪": + deviceData = this.baseMapper.wellcoverlocaData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井盖位置"); + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "燃气智能监测终端(一体化)": + deviceData = this.baseMapper.lgGasData(devcode); + deviceDataDto.setTypeName("燃气浓度"); + if (ToolUtil.isNotEmpty(deviceData)) { + + Double dValue = Double.parseDouble(deviceData.getData()); + if (dValue <= 20.0) { + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + } else { + DecimalFormat df = new DecimalFormat("0.00"); + dValue = dValue / 20.0; + deviceDataDto.setValue(df.format(dValue) + "%VOL"); + } + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + + deviceData = this.baseMapper.lgLiquidData(devcode); + deviceDataDto.setTypeName("井内水位"); + if (ToolUtil.isNotEmpty(deviceData)) { + + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + break; + + default://未知设备 + logger.info("未知设备!"); + break; + } + return deviceDataDtoList; + } + + public BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp) { return this.baseMapper.bfztCountData(deptIds, isApp); } @@ -468,4 +614,14 @@ return false; } } + + @Override + public List getDeviceList(DataScope dataScope) { + return this.baseMapper.getDeviceList(dataScope); + } + + @Override + public DeviceInfoDto selectDeviceById(Long id) { + return this.baseMapper.selectDeviceById(id); + } } diff --git a/casic-web/pom.xml b/casic-web/pom.xml index 5fdd1b6..a921fe7 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -51,41 +51,93 @@ + org.mybatis + mybatis + 3.5.7 + + + com.alibaba + fastjson + 1.2.72 + + com.casic casic-core ${core.version} + + + org.mybatis + mybatis + + com.casic casic-admin-support ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-core ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-area ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-device ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-sluicewell ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-alarm ${pro.version} + + + org.mybatis + mybatis + + @@ -189,17 +241,18 @@ org.apache.commons commons-lang3 - - com.oracle - ojdbc6 - ${oracle.version} - + org.codehaus.groovy groovy-all true - + + org.springframework.boot + spring-boot-starter-tomcat + + @@ -214,18 +267,16 @@ - /config/** + /config/*-*.yml **/MockController.class - - - - org.springframework.boot - spring-boot-maven-plugin - - - true - true + + + com.casic.missiles.CasicApplication + true + ./ + + @@ -297,5 +348,4 @@ - - + \ No newline at end of file diff --git "a/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" "b/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" deleted file mode 100644 index 7d4813e..0000000 --- "a/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -title �ǻ�բ�� -java -jar guns-web-1.0.0-SNAPSHOT.jar -@pause diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index e9f3877..de7f150 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -32,6 +32,8 @@ List> selectGasDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectTubeDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectHarmfulDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectTempDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 928baef..3de0ee0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -221,6 +221,50 @@ ORDER BY dg.UPTIME DESC + + + + + + @@ -68,19 +70,32 @@ and w.bfzt = #{bfzt} - and (w.WELL_CODE like - or w.POSITION like ) + and (w.WELL_CODE like + + or w.POSITION like + + ) - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..2eb02fc --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String position; + private List realtimeData; + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 1a4359c..c66ce3b 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -1,10 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.plugins.Page; -import com.casic.missiles.modular.system.dto.BatchExportDataDto; -import com.casic.missiles.modular.system.dto.BfztCountDataDto; -import com.casic.missiles.modular.system.dto.BusWellInfoDto; -import com.casic.missiles.modular.system.dto.WatchDataDto; +import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.core.datascope.DataScope; import com.baomidou.mybatisplus.service.IService; @@ -34,6 +31,9 @@ List deleteBatchByIds(List id); List getWatchDatas(Long id); + + List getDeviceDatas(String devTypename,String devcode,String status); + BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp); List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords); @@ -56,4 +56,9 @@ Boolean isExistWellCode(String wellCode); Boolean changeCoordinates(int startNumber); + + List getDeviceList(DataScope dataScope); + + DeviceInfoDto selectDeviceById(Long id); + } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index d417209..0e8a1fc 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -77,6 +77,7 @@ return list; } + public List getWatchDatas(Long id) { List deviceInWellInfos = this.baseMapper.getDeviceInWellInfo(id); @@ -226,17 +227,17 @@ if (ToolUtil.isNotEmpty(deviceData)) { Double dValue = Double.parseDouble(deviceData.getData()); - if(dValue <= 20.0){ + if (dValue <= 20.0) { watchDataDto.setValue(deviceData.getData() + "%LEL"); watchDataDto.setData(deviceData.getData() + "%LEL"); - }else{ + } else { DecimalFormat df = new DecimalFormat("0.00"); dValue = dValue / 20.0; watchDataDto.setValue(df.format(dValue) + "%VOL"); watchDataDto.setData(df.format(dValue) + "%VOL"); } watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -250,7 +251,7 @@ watchDataDto.setValue(deviceData.getData() + "m"); watchDataDto.setData(deviceData.getData() + "m"); watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -267,6 +268,151 @@ } + @Override + public List getDeviceDatas(String devTypeName, String devcode, String status) { + List deviceDataDtoList = new ArrayList<>(); + DeviceDataDto deviceDataDto = new DeviceDataDto(); + DeviceData deviceData; + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + switch (devTypeName) { + case "井盖状态监测仪": + deviceData = this.baseMapper.wellcoverData(devcode); + deviceDataDto.setTypeName("井盖状态"); + if (ToolUtil.isNotEmpty(deviceData)) { + //井盖离线 + if ("0".equals(status)) { + deviceDataDto.setValue("离线"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else if ("心跳".equals(deviceData.getData())) { + deviceDataDto.setValue("井盖状态正常"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + break; + + case "液位监测仪": + deviceData = this.baseMapper.liquidData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井内水位"); + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "有害气体监测仪": + deviceData = this.baseMapper.harmfulgasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] harmfulGasDatas = deviceData.getData().split(","); + HarmfulGasBusiness[] harmfulGasBusinesses = HarmfulGasBusiness.values(); + for (int i = 0; i < harmfulGasDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(harmfulGasBusinesses[i].getDesc()); + deviceDataDto.setValue(harmfulGasDatas[i] + harmfulGasBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + case "燃气智能监测终端": + deviceData = this.baseMapper.gasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("燃气浓度"); + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "温湿度监测仪": + deviceData = this.baseMapper.temphumData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] temphumDatas = deviceData.getData().split(","); + TemphumBusiness[] temphumBusinesses = TemphumBusiness.values(); + for (int i = 0; i < temphumDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(temphumBusinesses[i].getDesc()); + deviceDataDto.setValue(temphumDatas[i] + temphumBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + + case "开挖监测仪": + deviceData = this.baseMapper.digData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("开挖状态"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "噪声记录仪": + deviceData = this.baseMapper.noiseData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("管线噪声"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + case "井盖定位监测仪": + deviceData = this.baseMapper.wellcoverlocaData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井盖位置"); + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "燃气智能监测终端(一体化)": + deviceData = this.baseMapper.lgGasData(devcode); + deviceDataDto.setTypeName("燃气浓度"); + if (ToolUtil.isNotEmpty(deviceData)) { + + Double dValue = Double.parseDouble(deviceData.getData()); + if (dValue <= 20.0) { + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + } else { + DecimalFormat df = new DecimalFormat("0.00"); + dValue = dValue / 20.0; + deviceDataDto.setValue(df.format(dValue) + "%VOL"); + } + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + + deviceData = this.baseMapper.lgLiquidData(devcode); + deviceDataDto.setTypeName("井内水位"); + if (ToolUtil.isNotEmpty(deviceData)) { + + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + break; + + default://未知设备 + logger.info("未知设备!"); + break; + } + return deviceDataDtoList; + } + + public BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp) { return this.baseMapper.bfztCountData(deptIds, isApp); } @@ -468,4 +614,14 @@ return false; } } + + @Override + public List getDeviceList(DataScope dataScope) { + return this.baseMapper.getDeviceList(dataScope); + } + + @Override + public DeviceInfoDto selectDeviceById(Long id) { + return this.baseMapper.selectDeviceById(id); + } } diff --git a/casic-web/pom.xml b/casic-web/pom.xml index 5fdd1b6..a921fe7 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -51,41 +51,93 @@ + org.mybatis + mybatis + 3.5.7 + + + com.alibaba + fastjson + 1.2.72 + + com.casic casic-core ${core.version} + + + org.mybatis + mybatis + + com.casic casic-admin-support ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-core ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-area ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-device ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-sluicewell ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-alarm ${pro.version} + + + org.mybatis + mybatis + + @@ -189,17 +241,18 @@ org.apache.commons commons-lang3 - - com.oracle - ojdbc6 - ${oracle.version} - + org.codehaus.groovy groovy-all true - + + org.springframework.boot + spring-boot-starter-tomcat + + @@ -214,18 +267,16 @@ - /config/** + /config/*-*.yml **/MockController.class - - - - org.springframework.boot - spring-boot-maven-plugin - - - true - true + + + com.casic.missiles.CasicApplication + true + ./ + + @@ -297,5 +348,4 @@ - - + \ No newline at end of file diff --git "a/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" "b/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" deleted file mode 100644 index 7d4813e..0000000 --- "a/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -title �ǻ�բ�� -java -jar guns-web-1.0.0-SNAPSHOT.jar -@pause diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index e9f3877..de7f150 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -32,6 +32,8 @@ List> selectGasDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectTubeDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectHarmfulDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectTempDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 928baef..3de0ee0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -221,6 +221,50 @@ ORDER BY dg.UPTIME DESC + + + + + + @@ -68,19 +70,32 @@ and w.bfzt = #{bfzt} - and (w.WELL_CODE like - or w.POSITION like ) + and (w.WELL_CODE like + + or w.POSITION like + + ) - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..2eb02fc --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String position; + private List realtimeData; + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 1a4359c..c66ce3b 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -1,10 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.plugins.Page; -import com.casic.missiles.modular.system.dto.BatchExportDataDto; -import com.casic.missiles.modular.system.dto.BfztCountDataDto; -import com.casic.missiles.modular.system.dto.BusWellInfoDto; -import com.casic.missiles.modular.system.dto.WatchDataDto; +import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.core.datascope.DataScope; import com.baomidou.mybatisplus.service.IService; @@ -34,6 +31,9 @@ List deleteBatchByIds(List id); List getWatchDatas(Long id); + + List getDeviceDatas(String devTypename,String devcode,String status); + BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp); List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords); @@ -56,4 +56,9 @@ Boolean isExistWellCode(String wellCode); Boolean changeCoordinates(int startNumber); + + List getDeviceList(DataScope dataScope); + + DeviceInfoDto selectDeviceById(Long id); + } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index d417209..0e8a1fc 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -77,6 +77,7 @@ return list; } + public List getWatchDatas(Long id) { List deviceInWellInfos = this.baseMapper.getDeviceInWellInfo(id); @@ -226,17 +227,17 @@ if (ToolUtil.isNotEmpty(deviceData)) { Double dValue = Double.parseDouble(deviceData.getData()); - if(dValue <= 20.0){ + if (dValue <= 20.0) { watchDataDto.setValue(deviceData.getData() + "%LEL"); watchDataDto.setData(deviceData.getData() + "%LEL"); - }else{ + } else { DecimalFormat df = new DecimalFormat("0.00"); dValue = dValue / 20.0; watchDataDto.setValue(df.format(dValue) + "%VOL"); watchDataDto.setData(df.format(dValue) + "%VOL"); } watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -250,7 +251,7 @@ watchDataDto.setValue(deviceData.getData() + "m"); watchDataDto.setData(deviceData.getData() + "m"); watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -267,6 +268,151 @@ } + @Override + public List getDeviceDatas(String devTypeName, String devcode, String status) { + List deviceDataDtoList = new ArrayList<>(); + DeviceDataDto deviceDataDto = new DeviceDataDto(); + DeviceData deviceData; + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + switch (devTypeName) { + case "井盖状态监测仪": + deviceData = this.baseMapper.wellcoverData(devcode); + deviceDataDto.setTypeName("井盖状态"); + if (ToolUtil.isNotEmpty(deviceData)) { + //井盖离线 + if ("0".equals(status)) { + deviceDataDto.setValue("离线"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else if ("心跳".equals(deviceData.getData())) { + deviceDataDto.setValue("井盖状态正常"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + break; + + case "液位监测仪": + deviceData = this.baseMapper.liquidData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井内水位"); + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "有害气体监测仪": + deviceData = this.baseMapper.harmfulgasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] harmfulGasDatas = deviceData.getData().split(","); + HarmfulGasBusiness[] harmfulGasBusinesses = HarmfulGasBusiness.values(); + for (int i = 0; i < harmfulGasDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(harmfulGasBusinesses[i].getDesc()); + deviceDataDto.setValue(harmfulGasDatas[i] + harmfulGasBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + case "燃气智能监测终端": + deviceData = this.baseMapper.gasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("燃气浓度"); + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "温湿度监测仪": + deviceData = this.baseMapper.temphumData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] temphumDatas = deviceData.getData().split(","); + TemphumBusiness[] temphumBusinesses = TemphumBusiness.values(); + for (int i = 0; i < temphumDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(temphumBusinesses[i].getDesc()); + deviceDataDto.setValue(temphumDatas[i] + temphumBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + + case "开挖监测仪": + deviceData = this.baseMapper.digData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("开挖状态"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "噪声记录仪": + deviceData = this.baseMapper.noiseData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("管线噪声"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + case "井盖定位监测仪": + deviceData = this.baseMapper.wellcoverlocaData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井盖位置"); + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "燃气智能监测终端(一体化)": + deviceData = this.baseMapper.lgGasData(devcode); + deviceDataDto.setTypeName("燃气浓度"); + if (ToolUtil.isNotEmpty(deviceData)) { + + Double dValue = Double.parseDouble(deviceData.getData()); + if (dValue <= 20.0) { + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + } else { + DecimalFormat df = new DecimalFormat("0.00"); + dValue = dValue / 20.0; + deviceDataDto.setValue(df.format(dValue) + "%VOL"); + } + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + + deviceData = this.baseMapper.lgLiquidData(devcode); + deviceDataDto.setTypeName("井内水位"); + if (ToolUtil.isNotEmpty(deviceData)) { + + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + break; + + default://未知设备 + logger.info("未知设备!"); + break; + } + return deviceDataDtoList; + } + + public BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp) { return this.baseMapper.bfztCountData(deptIds, isApp); } @@ -468,4 +614,14 @@ return false; } } + + @Override + public List getDeviceList(DataScope dataScope) { + return this.baseMapper.getDeviceList(dataScope); + } + + @Override + public DeviceInfoDto selectDeviceById(Long id) { + return this.baseMapper.selectDeviceById(id); + } } diff --git a/casic-web/pom.xml b/casic-web/pom.xml index 5fdd1b6..a921fe7 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -51,41 +51,93 @@ + org.mybatis + mybatis + 3.5.7 + + + com.alibaba + fastjson + 1.2.72 + + com.casic casic-core ${core.version} + + + org.mybatis + mybatis + + com.casic casic-admin-support ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-core ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-area ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-device ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-sluicewell ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-alarm ${pro.version} + + + org.mybatis + mybatis + + @@ -189,17 +241,18 @@ org.apache.commons commons-lang3 - - com.oracle - ojdbc6 - ${oracle.version} - + org.codehaus.groovy groovy-all true - + + org.springframework.boot + spring-boot-starter-tomcat + + @@ -214,18 +267,16 @@ - /config/** + /config/*-*.yml **/MockController.class - - - - org.springframework.boot - spring-boot-maven-plugin - - - true - true + + + com.casic.missiles.CasicApplication + true + ./ + + @@ -297,5 +348,4 @@ - - + \ No newline at end of file diff --git "a/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" "b/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" deleted file mode 100644 index 7d4813e..0000000 --- "a/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -title �ǻ�բ�� -java -jar guns-web-1.0.0-SNAPSHOT.jar -@pause diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml index 68b7576..a2bff56 100644 --- a/casic-web/src/main/build/package.xml +++ b/casic-web/src/main/build/package.xml @@ -3,24 +3,40 @@ package zip + tar.gz true + + + true + true + lib + runtime + + - src/main/bin + src/main/build/bin + + start.bat + start.sh + + true + 0744 / src/main/resources/config - / + true + + *.yml + /*/* + + /config - ${project.build.directory} + src/main/resources/i18n / - - *.jar - - \ No newline at end of file diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index e9f3877..de7f150 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -32,6 +32,8 @@ List> selectGasDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectTubeDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectHarmfulDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectTempDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 928baef..3de0ee0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -221,6 +221,50 @@ ORDER BY dg.UPTIME DESC + + + + + + @@ -68,19 +70,32 @@ and w.bfzt = #{bfzt} - and (w.WELL_CODE like - or w.POSITION like ) + and (w.WELL_CODE like + + or w.POSITION like + + ) - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..2eb02fc --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String position; + private List realtimeData; + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 1a4359c..c66ce3b 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -1,10 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.plugins.Page; -import com.casic.missiles.modular.system.dto.BatchExportDataDto; -import com.casic.missiles.modular.system.dto.BfztCountDataDto; -import com.casic.missiles.modular.system.dto.BusWellInfoDto; -import com.casic.missiles.modular.system.dto.WatchDataDto; +import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.core.datascope.DataScope; import com.baomidou.mybatisplus.service.IService; @@ -34,6 +31,9 @@ List deleteBatchByIds(List id); List getWatchDatas(Long id); + + List getDeviceDatas(String devTypename,String devcode,String status); + BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp); List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords); @@ -56,4 +56,9 @@ Boolean isExistWellCode(String wellCode); Boolean changeCoordinates(int startNumber); + + List getDeviceList(DataScope dataScope); + + DeviceInfoDto selectDeviceById(Long id); + } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index d417209..0e8a1fc 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -77,6 +77,7 @@ return list; } + public List getWatchDatas(Long id) { List deviceInWellInfos = this.baseMapper.getDeviceInWellInfo(id); @@ -226,17 +227,17 @@ if (ToolUtil.isNotEmpty(deviceData)) { Double dValue = Double.parseDouble(deviceData.getData()); - if(dValue <= 20.0){ + if (dValue <= 20.0) { watchDataDto.setValue(deviceData.getData() + "%LEL"); watchDataDto.setData(deviceData.getData() + "%LEL"); - }else{ + } else { DecimalFormat df = new DecimalFormat("0.00"); dValue = dValue / 20.0; watchDataDto.setValue(df.format(dValue) + "%VOL"); watchDataDto.setData(df.format(dValue) + "%VOL"); } watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -250,7 +251,7 @@ watchDataDto.setValue(deviceData.getData() + "m"); watchDataDto.setData(deviceData.getData() + "m"); watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -267,6 +268,151 @@ } + @Override + public List getDeviceDatas(String devTypeName, String devcode, String status) { + List deviceDataDtoList = new ArrayList<>(); + DeviceDataDto deviceDataDto = new DeviceDataDto(); + DeviceData deviceData; + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + switch (devTypeName) { + case "井盖状态监测仪": + deviceData = this.baseMapper.wellcoverData(devcode); + deviceDataDto.setTypeName("井盖状态"); + if (ToolUtil.isNotEmpty(deviceData)) { + //井盖离线 + if ("0".equals(status)) { + deviceDataDto.setValue("离线"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else if ("心跳".equals(deviceData.getData())) { + deviceDataDto.setValue("井盖状态正常"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + break; + + case "液位监测仪": + deviceData = this.baseMapper.liquidData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井内水位"); + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "有害气体监测仪": + deviceData = this.baseMapper.harmfulgasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] harmfulGasDatas = deviceData.getData().split(","); + HarmfulGasBusiness[] harmfulGasBusinesses = HarmfulGasBusiness.values(); + for (int i = 0; i < harmfulGasDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(harmfulGasBusinesses[i].getDesc()); + deviceDataDto.setValue(harmfulGasDatas[i] + harmfulGasBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + case "燃气智能监测终端": + deviceData = this.baseMapper.gasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("燃气浓度"); + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "温湿度监测仪": + deviceData = this.baseMapper.temphumData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] temphumDatas = deviceData.getData().split(","); + TemphumBusiness[] temphumBusinesses = TemphumBusiness.values(); + for (int i = 0; i < temphumDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(temphumBusinesses[i].getDesc()); + deviceDataDto.setValue(temphumDatas[i] + temphumBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + + case "开挖监测仪": + deviceData = this.baseMapper.digData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("开挖状态"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "噪声记录仪": + deviceData = this.baseMapper.noiseData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("管线噪声"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + case "井盖定位监测仪": + deviceData = this.baseMapper.wellcoverlocaData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井盖位置"); + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "燃气智能监测终端(一体化)": + deviceData = this.baseMapper.lgGasData(devcode); + deviceDataDto.setTypeName("燃气浓度"); + if (ToolUtil.isNotEmpty(deviceData)) { + + Double dValue = Double.parseDouble(deviceData.getData()); + if (dValue <= 20.0) { + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + } else { + DecimalFormat df = new DecimalFormat("0.00"); + dValue = dValue / 20.0; + deviceDataDto.setValue(df.format(dValue) + "%VOL"); + } + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + + deviceData = this.baseMapper.lgLiquidData(devcode); + deviceDataDto.setTypeName("井内水位"); + if (ToolUtil.isNotEmpty(deviceData)) { + + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + break; + + default://未知设备 + logger.info("未知设备!"); + break; + } + return deviceDataDtoList; + } + + public BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp) { return this.baseMapper.bfztCountData(deptIds, isApp); } @@ -468,4 +614,14 @@ return false; } } + + @Override + public List getDeviceList(DataScope dataScope) { + return this.baseMapper.getDeviceList(dataScope); + } + + @Override + public DeviceInfoDto selectDeviceById(Long id) { + return this.baseMapper.selectDeviceById(id); + } } diff --git a/casic-web/pom.xml b/casic-web/pom.xml index 5fdd1b6..a921fe7 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -51,41 +51,93 @@ + org.mybatis + mybatis + 3.5.7 + + + com.alibaba + fastjson + 1.2.72 + + com.casic casic-core ${core.version} + + + org.mybatis + mybatis + + com.casic casic-admin-support ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-core ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-area ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-device ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-sluicewell ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-alarm ${pro.version} + + + org.mybatis + mybatis + + @@ -189,17 +241,18 @@ org.apache.commons commons-lang3 - - com.oracle - ojdbc6 - ${oracle.version} - + org.codehaus.groovy groovy-all true - + + org.springframework.boot + spring-boot-starter-tomcat + + @@ -214,18 +267,16 @@ - /config/** + /config/*-*.yml **/MockController.class - - - - org.springframework.boot - spring-boot-maven-plugin - - - true - true + + + com.casic.missiles.CasicApplication + true + ./ + + @@ -297,5 +348,4 @@ - - + \ No newline at end of file diff --git "a/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" "b/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" deleted file mode 100644 index 7d4813e..0000000 --- "a/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -title �ǻ�բ�� -java -jar guns-web-1.0.0-SNAPSHOT.jar -@pause diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml index 68b7576..a2bff56 100644 --- a/casic-web/src/main/build/package.xml +++ b/casic-web/src/main/build/package.xml @@ -3,24 +3,40 @@ package zip + tar.gz true + + + true + true + lib + runtime + + - src/main/bin + src/main/build/bin + + start.bat + start.sh + + true + 0744 / src/main/resources/config - / + true + + *.yml + /*/* + + /config - ${project.build.directory} + src/main/resources/i18n / - - *.jar - - \ No newline at end of file diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java index cdc109e..f02022e 100644 --- a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -9,7 +9,7 @@ import com.casic.missiles.core.shiro.ShiroUser; import com.casic.missiles.core.util.RSAUtils; import com.casic.missiles.core.util.ToolUtil; -import com.casic.missiles.modular.contant.PermissionContant; +import com.casic.missiles.modular.constant.PermissionContant; import com.casic.missiles.modular.system.dto.LoginResult; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.subject.Subject; diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index e9f3877..de7f150 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -32,6 +32,8 @@ List> selectGasDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectTubeDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectHarmfulDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectTempDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 928baef..3de0ee0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -221,6 +221,50 @@ ORDER BY dg.UPTIME DESC + + + + + + @@ -68,19 +70,32 @@ and w.bfzt = #{bfzt} - and (w.WELL_CODE like - or w.POSITION like ) + and (w.WELL_CODE like + + or w.POSITION like + + ) - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..2eb02fc --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String position; + private List realtimeData; + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 1a4359c..c66ce3b 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -1,10 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.plugins.Page; -import com.casic.missiles.modular.system.dto.BatchExportDataDto; -import com.casic.missiles.modular.system.dto.BfztCountDataDto; -import com.casic.missiles.modular.system.dto.BusWellInfoDto; -import com.casic.missiles.modular.system.dto.WatchDataDto; +import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.core.datascope.DataScope; import com.baomidou.mybatisplus.service.IService; @@ -34,6 +31,9 @@ List deleteBatchByIds(List id); List getWatchDatas(Long id); + + List getDeviceDatas(String devTypename,String devcode,String status); + BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp); List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords); @@ -56,4 +56,9 @@ Boolean isExistWellCode(String wellCode); Boolean changeCoordinates(int startNumber); + + List getDeviceList(DataScope dataScope); + + DeviceInfoDto selectDeviceById(Long id); + } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index d417209..0e8a1fc 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -77,6 +77,7 @@ return list; } + public List getWatchDatas(Long id) { List deviceInWellInfos = this.baseMapper.getDeviceInWellInfo(id); @@ -226,17 +227,17 @@ if (ToolUtil.isNotEmpty(deviceData)) { Double dValue = Double.parseDouble(deviceData.getData()); - if(dValue <= 20.0){ + if (dValue <= 20.0) { watchDataDto.setValue(deviceData.getData() + "%LEL"); watchDataDto.setData(deviceData.getData() + "%LEL"); - }else{ + } else { DecimalFormat df = new DecimalFormat("0.00"); dValue = dValue / 20.0; watchDataDto.setValue(df.format(dValue) + "%VOL"); watchDataDto.setData(df.format(dValue) + "%VOL"); } watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -250,7 +251,7 @@ watchDataDto.setValue(deviceData.getData() + "m"); watchDataDto.setData(deviceData.getData() + "m"); watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -267,6 +268,151 @@ } + @Override + public List getDeviceDatas(String devTypeName, String devcode, String status) { + List deviceDataDtoList = new ArrayList<>(); + DeviceDataDto deviceDataDto = new DeviceDataDto(); + DeviceData deviceData; + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + switch (devTypeName) { + case "井盖状态监测仪": + deviceData = this.baseMapper.wellcoverData(devcode); + deviceDataDto.setTypeName("井盖状态"); + if (ToolUtil.isNotEmpty(deviceData)) { + //井盖离线 + if ("0".equals(status)) { + deviceDataDto.setValue("离线"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else if ("心跳".equals(deviceData.getData())) { + deviceDataDto.setValue("井盖状态正常"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + break; + + case "液位监测仪": + deviceData = this.baseMapper.liquidData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井内水位"); + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "有害气体监测仪": + deviceData = this.baseMapper.harmfulgasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] harmfulGasDatas = deviceData.getData().split(","); + HarmfulGasBusiness[] harmfulGasBusinesses = HarmfulGasBusiness.values(); + for (int i = 0; i < harmfulGasDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(harmfulGasBusinesses[i].getDesc()); + deviceDataDto.setValue(harmfulGasDatas[i] + harmfulGasBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + case "燃气智能监测终端": + deviceData = this.baseMapper.gasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("燃气浓度"); + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "温湿度监测仪": + deviceData = this.baseMapper.temphumData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] temphumDatas = deviceData.getData().split(","); + TemphumBusiness[] temphumBusinesses = TemphumBusiness.values(); + for (int i = 0; i < temphumDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(temphumBusinesses[i].getDesc()); + deviceDataDto.setValue(temphumDatas[i] + temphumBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + + case "开挖监测仪": + deviceData = this.baseMapper.digData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("开挖状态"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "噪声记录仪": + deviceData = this.baseMapper.noiseData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("管线噪声"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + case "井盖定位监测仪": + deviceData = this.baseMapper.wellcoverlocaData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井盖位置"); + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "燃气智能监测终端(一体化)": + deviceData = this.baseMapper.lgGasData(devcode); + deviceDataDto.setTypeName("燃气浓度"); + if (ToolUtil.isNotEmpty(deviceData)) { + + Double dValue = Double.parseDouble(deviceData.getData()); + if (dValue <= 20.0) { + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + } else { + DecimalFormat df = new DecimalFormat("0.00"); + dValue = dValue / 20.0; + deviceDataDto.setValue(df.format(dValue) + "%VOL"); + } + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + + deviceData = this.baseMapper.lgLiquidData(devcode); + deviceDataDto.setTypeName("井内水位"); + if (ToolUtil.isNotEmpty(deviceData)) { + + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + break; + + default://未知设备 + logger.info("未知设备!"); + break; + } + return deviceDataDtoList; + } + + public BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp) { return this.baseMapper.bfztCountData(deptIds, isApp); } @@ -468,4 +614,14 @@ return false; } } + + @Override + public List getDeviceList(DataScope dataScope) { + return this.baseMapper.getDeviceList(dataScope); + } + + @Override + public DeviceInfoDto selectDeviceById(Long id) { + return this.baseMapper.selectDeviceById(id); + } } diff --git a/casic-web/pom.xml b/casic-web/pom.xml index 5fdd1b6..a921fe7 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -51,41 +51,93 @@ + org.mybatis + mybatis + 3.5.7 + + + com.alibaba + fastjson + 1.2.72 + + com.casic casic-core ${core.version} + + + org.mybatis + mybatis + + com.casic casic-admin-support ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-core ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-area ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-device ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-sluicewell ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-alarm ${pro.version} + + + org.mybatis + mybatis + + @@ -189,17 +241,18 @@ org.apache.commons commons-lang3 - - com.oracle - ojdbc6 - ${oracle.version} - + org.codehaus.groovy groovy-all true - + + org.springframework.boot + spring-boot-starter-tomcat + + @@ -214,18 +267,16 @@ - /config/** + /config/*-*.yml **/MockController.class - - - - org.springframework.boot - spring-boot-maven-plugin - - - true - true + + + com.casic.missiles.CasicApplication + true + ./ + + @@ -297,5 +348,4 @@ - - + \ No newline at end of file diff --git "a/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" "b/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" deleted file mode 100644 index 7d4813e..0000000 --- "a/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -title �ǻ�բ�� -java -jar guns-web-1.0.0-SNAPSHOT.jar -@pause diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml index 68b7576..a2bff56 100644 --- a/casic-web/src/main/build/package.xml +++ b/casic-web/src/main/build/package.xml @@ -3,24 +3,40 @@ package zip + tar.gz true + + + true + true + lib + runtime + + - src/main/bin + src/main/build/bin + + start.bat + start.sh + + true + 0744 / src/main/resources/config - / + true + + *.yml + /*/* + + /config - ${project.build.directory} + src/main/resources/i18n / - - *.jar - - \ No newline at end of file diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java index cdc109e..f02022e 100644 --- a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -9,7 +9,7 @@ import com.casic.missiles.core.shiro.ShiroUser; import com.casic.missiles.core.util.RSAUtils; import com.casic.missiles.core.util.ToolUtil; -import com.casic.missiles.modular.contant.PermissionContant; +import com.casic.missiles.modular.constant.PermissionContant; import com.casic.missiles.modular.system.dto.LoginResult; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.subject.Subject; diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index c314e9b..d028e07 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -32,7 +32,7 @@ #flowable数据源和多数据源配置 casic: - kaptcha-open: true #是否开启登录时验证码 (true/false) + kaptcha-open: false #是否开启登录时验证码 (true/false) nologin-urls: /user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/job/updateSinkJob,/route/sync,/websocket/* diff --git a/README.md b/README.md index 716d342..59b77dc 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,26 @@ [^_^]: # (Talk is cheap,Show me the code!) ## 介绍 + 基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springboot + shiro + mybatis-plus ! -基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), -可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! +基于casic项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块), 可以直接作为一个后台管理系统的脚手架! 2019目标 `更简洁`,`更规范`! casic-smartcity 父包 ->* casic-alarm 告警相关业务代码包 +> * casic-alarm 告警相关业务代码包 ->* casic-device 设备相关业务代码包 +> * casic-device 设备相关业务代码包 ->* casic-sluicewell 闸井相关业务代码包 +> * casic-sluicewell 闸井相关业务代码包 ## 其他 ->* [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) + +> * [git地址](http://192.168.0.203:8080/gitbucket/git/root/casic-smartcity.git) >* [本地免登地址](http://localhost:8083/route/mockToken) +## 更新说明 +> * 比较旧的版本需要设置 组织表 status为 0, 设置dept表status 默认为值0 diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml index 5349c60..41cd226 100644 --- a/casic-alarm/pom.xml +++ b/casic-alarm/pom.xml @@ -101,35 +101,6 @@ net.sf.ehcache ehcache-core - - - org.apache.poi - poi - 3.17 - - - - org.apache.poi - poi-scratchpad - 3.17 - - - org.apache.poi - poi-ooxml - 3.17 - - - org.apache.poi - poi-excelant - 3.17 - - - - org.apache.poi - poi-ooxml-schemas - 3.17 - - org.apache.poi ooxml-schemas @@ -142,23 +113,9 @@ true - - org.hswebframework - hsweb-utils - 3.0.2 - - - org.hswebframework - hsweb-expands-script - 3.0.2 - - - org.hswebframework - hsweb-expands-office - 3.0.2 - + org.springframework spring-context 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 043e3b8..122ebba 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 @@ -41,6 +41,10 @@ @Autowired private IBusConfigService busMethaneConfigService; + @Qualifier("busTubeConfigServiceImpl") + @Autowired + private IBusConfigService busTubeConfigService; + @Qualifier("busWasteGasConfigServiceImpl") @Autowired private IBusConfigService busWasteGasConfigService; @@ -137,6 +141,31 @@ return successResult; } + + /** + * 燃气获取配置列表 + */ + @RequestMapping(value = "/tubeConfig/list") + @ResponseBody + public Object tubeConfigList(@RequestParam(required = false) String keywords, + @RequestParam(required = false) String deptid) { + SuccessResponseData successResult = new SuccessResponseData(); + try { + Page page = new PageFactory().defaultPage();//page使用 + DataScope dataScope = service.getCurrUserDataScope(); + List busConfigDTOList = busTubeConfigService.getConfigList(page, keywords, + deptid, Long.valueOf(DeviceTypeEnum.Tube.getIndex()), dataScope); + page.setRecords(busConfigDTOList); + successResult.setData(super.packForBT(page)); + successResult.setMessage("success"); + } catch (Exception e) { + e.printStackTrace(); + successResult.setCode(500); + successResult.setMessage("false"); + } + return successResult; + } + /** * 温湿度获取配置列表 */ @@ -242,6 +271,23 @@ return ResponseData.success(); } + + /** + * 新增管盯配置 + */ + @RequestMapping(value = "/tubeConfig/config") + @ResponseBody + @BussinessLog(value = "新增管盯配置", key = "deviceId,uploadPeriod,collectInterval,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) + public Object addTube(BusConfigDTO busConfigDTO) { + try { + busTubeConfigService.addConfig(busConfigDTO); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); + } + return ResponseData.success(); + } + /** * 新增有害配置 */ @@ -359,6 +405,25 @@ return resultData; } + /**** + * 管盯配置批量导入 + * @param uploadFile + * @return + * @throws Exception + */ + @RequestMapping(value = "/tubeConfig/batchImport", method = RequestMethod.POST) + @ResponseBody + public Object uploadTubeConfig(@RequestParam("file") MultipartFile uploadFile) throws Exception { + SuccessResponseData resultData = new SuccessResponseData(); + if (null == uploadFile) { + resultData.setCode(400); + resultData.setMessage("上传失败,无法找到文件!"); + return resultData; + } + resultData = busTubeConfigService.imp(uploadFile); + return resultData; + } + /**** * 有害配置批量导入 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 16259bc..988f6a3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -151,12 +151,13 @@ List results = new ArrayList<>(); //设置表头与字段映射,可通过反射获取 Map mapper = new HashMap<>(); - mapper.put("设备编号", "devcode");//判断唯一 + //判断唯一 + mapper.put("设备编号", "devcode"); mapper.put("设备名称", "deviceName"); - mapper.put("设备类型", "deviceTypeName");//需要转换 - mapper.put("设备型号", "modelName");//需要转换 - mapper.put("井编号", "wellCode");//需要转换 - mapper.put("数据集中器编号", "concenCode");//需要转换 + mapper.put("设备类型", "deviceTypeName"); + mapper.put("设备型号", "modelName"); + mapper.put("井编号", "wellCode"); + mapper.put("数据集中器编号", "concenCode"); mapper.put("设备安装时间", "installDateFmt"); try { try (InputStream in = file.getInputStream()) { diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java index 5b8160c..7a159f6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WellDataController.java @@ -122,6 +122,32 @@ return ResponseData.success(super.packForBT(page)); } + @ApiOperation("管盯数据查询") + @GetMapping(value = "/tubedata/list") + //@Permission + public Object tubeDataList(String keywords, String deptid, String beginTime, String endTime){ + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + page.setRecords(mapList); + return ResponseData.success(super.packForBT(page)); + } + + + @ApiOperation("管盯数据导出") + @GetMapping(value = "/tubedata/export") + //@Permission + public void tubeDataExport(HttpServletResponse response, String keywords, String deptid, String beginTime, String endTime) throws IOException{ + Page> page = new PageFactory>().defaultPage(); + page.setCurrent(1); + page.setSearchCount(false); + page.setSize(Integer.MAX_VALUE); + + DataScope dataScope = permissionService.getCurrUserDataScope(); + List> mapList = deviceService.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + super.exportExcel(DeviceExportEnum.TUBEDATA_EXPORT, mapList, response); + } + @ApiOperation("燃气数据导出") @GetMapping(value = "/gasdata/export") //@Permission diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index e9f3877..de7f150 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -32,6 +32,8 @@ List> selectGasDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectTubeDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectHarmfulDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectTempDataScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 928baef..3de0ee0 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -221,6 +221,50 @@ ORDER BY dg.UPTIME DESC + + + + + + @@ -68,19 +70,32 @@ and w.bfzt = #{bfzt} - and (w.WELL_CODE like - or w.POSITION like ) + and (w.WELL_CODE like + + or w.POSITION like + + ) - '%' || #{keywords}|| '%' + '%' || + #{keywords} + || + '%' - CONCAT('%',#{keywords},'%') + CONCAT + ('%', + #{keywords}, + '%' + ) - d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d + . + ID + AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT - descn AS data,logtime + SELECT descn AS data, + logtime FROM data_wellcover WHERE devcode = #{devcode} ORDER BY logtime - DESC - LIMIT 1 + DESC LIMIT 1 @@ -243,7 +253,8 @@ AND w.VALID='1' - SELECT a.id - FROM sys_area r,sys_area a + FROM sys_area r, + sys_area a WHERE r.area_name = #{qu} - AND a.area_name - LIKE CONCAT('%',#{area},'%') - AND r.id = a.pid + AND a.area_name + LIKE CONCAT('%', #{area}, '%') + AND r.id = a.pid - SELECT - COUNT(1) - FROM bus_well_info w WHERE VALID = '1' - AND w.WELL_CODE = #{wellCode} + SELECT COUNT(1) + FROM bus_well_info w + WHERE VALID = '1' + AND w.WELL_CODE = #{wellCode} + + + diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java new file mode 100644 index 0000000..8ba1712 --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceDataDto.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +@Data +public class DeviceDataDto implements Cloneable{ + private String typeName; + private String value = ""; // 地图总览时使用 + private String logtime = "";//数据更新时间(设备上报时间) + @Override + public Object clone() { + try{ + return super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java new file mode 100644 index 0000000..2eb02fc --- /dev/null +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dto/DeviceInfoDto.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceInfoDto { + private Long id; + private String devcode; + private String deviceName; + private String deviceType; + private String deviceTypeName; + private Long deptid; + private String deptName; + private String wellCode; + private String onlineState; + private String coordinateX; + private String coordinateY; + private String latBaidu; + private String lngBaidu; + private String latGaode; + private String lngGaode; + private String position; + private List realtimeData; + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java index 1a4359c..c66ce3b 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoService.java @@ -1,10 +1,7 @@ package com.casic.missiles.modular.system.service; import com.baomidou.mybatisplus.plugins.Page; -import com.casic.missiles.modular.system.dto.BatchExportDataDto; -import com.casic.missiles.modular.system.dto.BfztCountDataDto; -import com.casic.missiles.modular.system.dto.BusWellInfoDto; -import com.casic.missiles.modular.system.dto.WatchDataDto; +import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.core.datascope.DataScope; import com.baomidou.mybatisplus.service.IService; @@ -34,6 +31,9 @@ List deleteBatchByIds(List id); List getWatchDatas(Long id); + + List getDeviceDatas(String devTypename,String devcode,String status); + BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp); List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords); @@ -56,4 +56,9 @@ Boolean isExistWellCode(String wellCode); Boolean changeCoordinates(int startNumber); + + List getDeviceList(DataScope dataScope); + + DeviceInfoDto selectDeviceById(Long id); + } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index d417209..0e8a1fc 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -77,6 +77,7 @@ return list; } + public List getWatchDatas(Long id) { List deviceInWellInfos = this.baseMapper.getDeviceInWellInfo(id); @@ -226,17 +227,17 @@ if (ToolUtil.isNotEmpty(deviceData)) { Double dValue = Double.parseDouble(deviceData.getData()); - if(dValue <= 20.0){ + if (dValue <= 20.0) { watchDataDto.setValue(deviceData.getData() + "%LEL"); watchDataDto.setData(deviceData.getData() + "%LEL"); - }else{ + } else { DecimalFormat df = new DecimalFormat("0.00"); dValue = dValue / 20.0; watchDataDto.setValue(df.format(dValue) + "%VOL"); watchDataDto.setData(df.format(dValue) + "%VOL"); } watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -250,7 +251,7 @@ watchDataDto.setValue(deviceData.getData() + "m"); watchDataDto.setData(deviceData.getData() + "m"); watchDataDto.setLogtime(sdf.format(deviceData.getLogtime())); - }else { + } else { watchDataDto.setValue("无数据"); watchDataDto.setData("无数据"); } @@ -267,6 +268,151 @@ } + @Override + public List getDeviceDatas(String devTypeName, String devcode, String status) { + List deviceDataDtoList = new ArrayList<>(); + DeviceDataDto deviceDataDto = new DeviceDataDto(); + DeviceData deviceData; + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + switch (devTypeName) { + case "井盖状态监测仪": + deviceData = this.baseMapper.wellcoverData(devcode); + deviceDataDto.setTypeName("井盖状态"); + if (ToolUtil.isNotEmpty(deviceData)) { + //井盖离线 + if ("0".equals(status)) { + deviceDataDto.setValue("离线"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else if ("心跳".equals(deviceData.getData())) { + deviceDataDto.setValue("井盖状态正常"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + break; + + case "液位监测仪": + deviceData = this.baseMapper.liquidData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井内水位"); + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "有害气体监测仪": + deviceData = this.baseMapper.harmfulgasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] harmfulGasDatas = deviceData.getData().split(","); + HarmfulGasBusiness[] harmfulGasBusinesses = HarmfulGasBusiness.values(); + for (int i = 0; i < harmfulGasDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(harmfulGasBusinesses[i].getDesc()); + deviceDataDto.setValue(harmfulGasDatas[i] + harmfulGasBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + case "燃气智能监测终端": + deviceData = this.baseMapper.gasData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("燃气浓度"); + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "温湿度监测仪": + deviceData = this.baseMapper.temphumData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + String[] temphumDatas = deviceData.getData().split(","); + TemphumBusiness[] temphumBusinesses = TemphumBusiness.values(); + for (int i = 0; i < temphumDatas.length; i++) { + deviceDataDto = new DeviceDataDto(); + deviceDataDto.setTypeName(temphumBusinesses[i].getDesc()); + deviceDataDto.setValue(temphumDatas[i] + temphumBusinesses[i].getUnit()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + } + } + break; + + case "开挖监测仪": + deviceData = this.baseMapper.digData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("开挖状态"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "噪声记录仪": + deviceData = this.baseMapper.noiseData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("管线噪声"); + deviceDataDto.setValue(deviceData.getData() + "mg"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + case "井盖定位监测仪": + deviceData = this.baseMapper.wellcoverlocaData(devcode); + if (ToolUtil.isNotEmpty(deviceData)) { + deviceDataDto.setTypeName("井盖位置"); + deviceDataDto.setValue(deviceData.getData()); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + deviceDataDtoList.add(deviceDataDto); + } + break; + + case "燃气智能监测终端(一体化)": + deviceData = this.baseMapper.lgGasData(devcode); + deviceDataDto.setTypeName("燃气浓度"); + if (ToolUtil.isNotEmpty(deviceData)) { + + Double dValue = Double.parseDouble(deviceData.getData()); + if (dValue <= 20.0) { + deviceDataDto.setValue(deviceData.getData() + "%LEL"); + } else { + DecimalFormat df = new DecimalFormat("0.00"); + dValue = dValue / 20.0; + deviceDataDto.setValue(df.format(dValue) + "%VOL"); + } + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add(deviceDataDto); + + deviceData = this.baseMapper.lgLiquidData(devcode); + deviceDataDto.setTypeName("井内水位"); + if (ToolUtil.isNotEmpty(deviceData)) { + + deviceDataDto.setValue(deviceData.getData() + "m"); + deviceDataDto.setLogtime(sdf.format(deviceData.getLogtime())); + } else { + deviceDataDto.setValue("无数据"); + } + deviceDataDtoList.add((DeviceDataDto) deviceDataDto.clone()); + break; + + default://未知设备 + logger.info("未知设备!"); + break; + } + return deviceDataDtoList; + } + + public BfztCountDataDto getBfztCountData(List deptIds, Boolean isApp) { return this.baseMapper.bfztCountData(deptIds, isApp); } @@ -468,4 +614,14 @@ return false; } } + + @Override + public List getDeviceList(DataScope dataScope) { + return this.baseMapper.getDeviceList(dataScope); + } + + @Override + public DeviceInfoDto selectDeviceById(Long id) { + return this.baseMapper.selectDeviceById(id); + } } diff --git a/casic-web/pom.xml b/casic-web/pom.xml index 5fdd1b6..a921fe7 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -51,41 +51,93 @@ + org.mybatis + mybatis + 3.5.7 + + + com.alibaba + fastjson + 1.2.72 + + com.casic casic-core ${core.version} + + + org.mybatis + mybatis + + com.casic casic-admin-support ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-core ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-admin-area ${admin.version} + + + org.mybatis + mybatis + + com.casic casic-device ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-sluicewell ${pro.version} + + + org.mybatis + mybatis + + com.casic casic-alarm ${pro.version} + + + org.mybatis + mybatis + + @@ -189,17 +241,18 @@ org.apache.commons commons-lang3 - - com.oracle - ojdbc6 - ${oracle.version} - + org.codehaus.groovy groovy-all true - + + org.springframework.boot + spring-boot-starter-tomcat + + @@ -214,18 +267,16 @@ - /config/** + /config/*-*.yml **/MockController.class - - - - org.springframework.boot - spring-boot-maven-plugin - - - true - true + + + com.casic.missiles.CasicApplication + true + ./ + + @@ -297,5 +348,4 @@ - - + \ No newline at end of file diff --git "a/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" "b/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" deleted file mode 100644 index 7d4813e..0000000 --- "a/casic-web/src/main/bin/\346\231\272\346\205\247\351\227\270\344\272\225.bat" +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -title �ǻ�բ�� -java -jar guns-web-1.0.0-SNAPSHOT.jar -@pause diff --git a/casic-web/src/main/build/bin/start.bat b/casic-web/src/main/build/bin/start.bat new file mode 100644 index 0000000..1db4e88 --- /dev/null +++ b/casic-web/src/main/build/bin/start.bat @@ -0,0 +1,4 @@ +@echo off +title ${project.build.finalName} +java -jar ./lib/${project.build.finalName}.jar +@pause diff --git a/casic-web/src/main/build/bin/start.sh b/casic-web/src/main/build/bin/start.sh new file mode 100644 index 0000000..c00b1ef --- /dev/null +++ b/casic-web/src/main/build/bin/start.sh @@ -0,0 +1,2 @@ +java -jar ./lib/${project.build.finalName}.jar + diff --git a/casic-web/src/main/build/package.xml b/casic-web/src/main/build/package.xml index 68b7576..a2bff56 100644 --- a/casic-web/src/main/build/package.xml +++ b/casic-web/src/main/build/package.xml @@ -3,24 +3,40 @@ package zip + tar.gz true + + + true + true + lib + runtime + + - src/main/bin + src/main/build/bin + + start.bat + start.sh + + true + 0744 / src/main/resources/config - / + true + + *.yml + /*/* + + /config - ${project.build.directory} + src/main/resources/i18n / - - *.jar - - \ No newline at end of file diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java index cdc109e..f02022e 100644 --- a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -9,7 +9,7 @@ import com.casic.missiles.core.shiro.ShiroUser; import com.casic.missiles.core.util.RSAUtils; import com.casic.missiles.core.util.ToolUtil; -import com.casic.missiles.modular.contant.PermissionContant; +import com.casic.missiles.modular.constant.PermissionContant; import com.casic.missiles.modular.system.dto.LoginResult; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.subject.Subject; diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index c314e9b..d028e07 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -32,7 +32,7 @@ #flowable数据源和多数据源配置 casic: - kaptcha-open: true #是否开启登录时验证码 (true/false) + kaptcha-open: false #是否开启登录时验证码 (true/false) nologin-urls: /user/login,/user/appLogin,/kaptcha/base64,/config/baseConfig,/route/mockToken,/job/updateSinkJob,/route/sync,/websocket/* diff --git a/pom.xml b/pom.xml index 6e8b0a8..9d60621 100644 --- a/pom.xml +++ b/pom.xml @@ -28,14 +28,14 @@ 1.0.0-SNAPSHOT - 1.0.0.alpha + 1.0.1.alpha - 1.0.0.alpha + 1.0.1.alpha - 1.0.0.alpha + 1.0.1.alpha 1.0.0.alpha 1.0.5 - 1.4.0 + 1.7.0 2.1.8 1.2.44 2.5