diff --git a/.gitignore b/.gitignore index dcfad87..a2a3040 100644 --- a/.gitignore +++ b/.gitignore @@ -1,28 +1,3 @@ -# ---> Java -# Compiled class file -*.class - -# Log file -*.log - -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* -replay_pid* HELP.md target/ !.mvn/wrapper/maven-wrapper.jar @@ -54,5 +29,3 @@ build/ ### VS Code ### .vscode/ - - diff --git a/pom.xml b/pom.xml index 856cb9d..51e6a0b 100644 --- a/pom.xml +++ b/pom.xml @@ -274,7 +274,7 @@ org.quartz-scheduler quartz - 2.3.0 + ${quartz.version} diff --git a/src/main/java/com/chenxuan/base/entity/CustomQuartzJobBean.java b/src/main/java/com/chenxuan/base/entity/CustomQuartzJobBean.java index 8d2901a..119d4c6 100644 --- a/src/main/java/com/chenxuan/base/entity/CustomQuartzJobBean.java +++ b/src/main/java/com/chenxuan/base/entity/CustomQuartzJobBean.java @@ -3,11 +3,9 @@ package com.chenxuan.base.entity; import com.chenxuan.entity.model.ScheduleJob; import com.chenxuan.utils.ScheduleRunnable; import lombok.extern.slf4j.Slf4j; -import org.quartz.DisallowConcurrentExecution; -import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; -import org.quartz.PersistJobDataAfterExecution; +import org.quartz.*; import org.springframework.scheduling.quartz.QuartzJobBean; + import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; @@ -30,7 +28,9 @@ public class CustomQuartzJobBean extends QuartzJobBean { @Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { //任务开始时间 - ScheduleJob scheduleJob = (ScheduleJob) context.getMergedJobDataMap().get( JobConstant.JOB_PARAM_KEY ); + JobDataMap jobDataMap = context.getMergedJobDataMap(); + ScheduleJob scheduleJob = (ScheduleJob)jobDataMap.get( JobConstant.JOB_PARAM_KEY ); + //任务开始时间 long startTime = System.currentTimeMillis(); try { diff --git a/src/main/java/com/chenxuan/bean/config/CORSConfig.java b/src/main/java/com/chenxuan/bean/config/CORSConfig.java new file mode 100644 index 0000000..0edffee --- /dev/null +++ b/src/main/java/com/chenxuan/bean/config/CORSConfig.java @@ -0,0 +1,29 @@ +package com.chenxuan.bean.config; + + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; + +/** + * 跨域配置 + * @author: newzhong + * @create: 2020-2 + **/ +@Configuration +public class CORSConfig { + @Bean + public WebMvcConfigurer corsConfigurer() { + return new WebMvcConfigurerAdapter() { + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowedOrigins("*") + .allowedMethods("GET", "HEAD", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "TRACE"); + } + }; + } +} + diff --git a/src/main/java/com/chenxuan/bean/datasource/DynamicDataSourceContextHolder.java b/src/main/java/com/chenxuan/bean/datasource/DynamicDataSourceContextHolder.java index 9eca56f..1bec544 100644 --- a/src/main/java/com/chenxuan/bean/datasource/DynamicDataSourceContextHolder.java +++ b/src/main/java/com/chenxuan/bean/datasource/DynamicDataSourceContextHolder.java @@ -51,7 +51,7 @@ public class DynamicDataSourceContextHolder { public static String getDataSourceType() { String db = CONTEXT_HOLDER.get(); if(null == db){ - log.error( "未获取到数据源........" ); + // log.debug( "未获取到数据源........" ); db = DataSourceType.MASTER.name(); } return db; diff --git a/src/main/java/com/chenxuan/constants/BusiUrlConstants.java b/src/main/java/com/chenxuan/constants/BusiUrlConstants.java index a25dc43..6eeff2c 100644 --- a/src/main/java/com/chenxuan/constants/BusiUrlConstants.java +++ b/src/main/java/com/chenxuan/constants/BusiUrlConstants.java @@ -26,9 +26,12 @@ public class BusiUrlConstants { //振动装置阈值配置 public static final String BUSI_AMPLI_THRESHOLD_CONF = HEADER + "busiAmpliThresholdConfController"; - //中心点电流阈值配置 + //中性点电流阈值配置 public static final String BUSI_CENTER_THRESHOLD_CONF = HEADER + "busiCenterThresholdConfController"; + //环境监测阈值配置 + public static final String BUSI_ENVIRONMENT_THRESHOLD_CONF = HEADER + "busiEnvironmentThresholdConfController"; + //噪声装置阈值配置 public static final String BUSI_NOISE_THRESHOLD_CONF = HEADER + "busiNoiseThresholdConfController"; @@ -41,9 +44,12 @@ public class BusiUrlConstants { //原副边电流电压实时数据 public static final String BUSI_TRANSFORMER_REAL = HEADER + "busiTransformerRealController"; - //中心点实时数据 + //中性点实时数据 public static final String BUSI_CENTER_REAL = HEADER + "busiCenterRealController"; + //环境监测实时数据 + public static final String BUSI_ENVIRONMENT_REAL = HEADER + "busiEnvironmentRealController"; + //噪声实时数据 public static final String BUSI_NOISE_REAL = HEADER + "busiNoiseRealController"; @@ -76,4 +82,7 @@ public class BusiUrlConstants { //IED参数绑定 public static final String BUSI_PARAM_BIND = HEADER + "busiParamBindController"; + + //主变装置信息 + public static final String MODBUS_BIND = HEADER + "modbusAndBindController"; } diff --git a/src/main/java/com/chenxuan/controller/BusiAmpliRealController.java b/src/main/java/com/chenxuan/controller/BusiAmpliRealController.java index 978db09..789093e 100644 --- a/src/main/java/com/chenxuan/controller/BusiAmpliRealController.java +++ b/src/main/java/com/chenxuan/controller/BusiAmpliRealController.java @@ -4,6 +4,7 @@ import com.chenxuan.base.controller.BaseController; import com.chenxuan.base.entity.AjaxResult; import com.chenxuan.bean.annotation.LogAnnotation; import com.chenxuan.constants.BusiUrlConstants; +import com.chenxuan.entity.dto.BusiAmpliDatDto; import com.chenxuan.entity.dto.BusiAmpliRealDto; import com.chenxuan.entity.model.BusiAmpliReal; import com.chenxuan.enums.OperateType; @@ -54,8 +55,17 @@ public class BusiAmpliRealController extends BaseController { */ @ApiOperation(value = "根据条件加载振动实时数据详细信息") @PostMapping(value = "/getShockRealDetailsByCondition") - public AjaxResult getShockRealDetailsByCondition(@RequestBody BusiAmpliRealDto busiAmpliRealDto) { - return AjaxResult.success(busiAmpliRealService.getShockRealDetailsByCondition(busiAmpliRealDto)); + public AjaxResult getShockRealDetailsByCondition(@RequestBody BusiAmpliDatDto busiAmpliDatDto) { + return AjaxResult.success(busiAmpliRealService.getShockRealDetailsByCondition(busiAmpliDatDto)); + } + + /** + * 根据主变id加载振动实时数据详细信息 + */ + @ApiOperation(value = "根据条件加载振动实时数据录播文件") + @PostMapping(value = "/getShockRealDetailsByConditionDat") + public AjaxResult getShockRealDetailsByConditionDat(@RequestBody BusiAmpliRealDto busiAmpliRealDto) { + return AjaxResult.success(busiAmpliRealService.getShockRealDetailsByConditionDat(busiAmpliRealDto)); } /** @@ -67,6 +77,17 @@ public class BusiAmpliRealController extends BaseController { return AjaxResult.success(busiAmpliRealService.getShockRealChartByInfo(busiAmpliRealDto)); } + /** + * 根据主变id以及对应装置信息加载振动装置振幅和频率谱图信息 + * 根据主变id以及对应装置信息加载振动装置振幅和频率谱图信息 + */ + @ApiOperation(value = "根据主变id以及对应装置信息加载振动装置日增长率和月增长率") + @PostMapping(value = "/queryShockRealChartByDayOrMonthInfo") + public AjaxResult queryShockRealChartByDayOrMonthInfo(@RequestBody BusiAmpliRealDto busiAmpliRealDto) { + return AjaxResult.success(busiAmpliRealService.getShockRealChartByDayOrMonthInfo(busiAmpliRealDto)); + } + + /** * 根据主变id以及对应装置信息加载振动装置振幅和频率三维图信息 */ @@ -76,15 +97,6 @@ public class BusiAmpliRealController extends BaseController { return AjaxResult.success(busiAmpliRealService.getAmpliRealThreeChart(busiAmpliRealDto)); } - /** - * 三级界面重新计算接口 - */ - @ApiOperation(value = "三级界面重新计算接口") - @PostMapping(value = "/recountData") - public AjaxResult recountData(@RequestBody BusiAmpliRealDto busiAmpliRealDto) { - return AjaxResult.success(busiAmpliRealService.recount(busiAmpliRealDto)); - } - /** * 二级页面跳转详情加载三级页面 */ diff --git a/src/main/java/com/chenxuan/controller/BusiCenterRealController.java b/src/main/java/com/chenxuan/controller/BusiCenterRealController.java index 8e61277..ca5ab3d 100644 --- a/src/main/java/com/chenxuan/controller/BusiCenterRealController.java +++ b/src/main/java/com/chenxuan/controller/BusiCenterRealController.java @@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; -@Api(tags = "中心点实时数据") +@Api(tags = "中性点实时数据") @RestController @RequestMapping(value = BusiUrlConstants.BUSI_CENTER_REAL) public class BusiCenterRealController extends BaseController { @@ -31,46 +31,46 @@ public class BusiCenterRealController extends BaseController { private BusiExportDataService busiExportDataService; /** - * 新增中心点实时数据信息 + * 新增中性点实时数据信息 */ - @ApiOperation(value = "新增中心点实时数据信息") - @LogAnnotation(module = "中心点实时数据", operateType = OperateType.INSERT) + @ApiOperation(value = "新增中性点实时数据信息") + @LogAnnotation(module = "中性点实时数据", operateType = OperateType.INSERT) @PostMapping(value = "/add") public AjaxResult add(@RequestBody List busiCenterRealList) { return returnAjax(busiCenterRealService.insertCenterReal(busiCenterRealList)); } /** - * 根据主变id加载中心点实时数据信息 + * 根据主变id加载中性点实时数据信息 */ - @ApiOperation(value = "根据主变id加载中心点实时数据信息") + @ApiOperation(value = "根据主变id加载中性点实时数据信息") @GetMapping(value = "/getCenterRealByMainId/{mainId}") public AjaxResult getCenterRealByMainId(@PathVariable("mainId") String mainId) { return AjaxResult.success(busiCenterRealService.selectCenterRealByMainId(mainId)); } /** - * 根据主变id及当天时间加载中心点谱图信息 + * 根据主变id及当天时间加载中性点谱图信息 */ - @ApiOperation(value = "根据主变id及当天时间加载中心点谱图信息") + @ApiOperation(value = "根据主变id及当天时间加载中性点谱图信息") @PostMapping(value = "/queryCenterRealChartByInfo") public AjaxResult queryCenterRealChartByInfo(@RequestBody BusiCenterRealDto busiCenterRealDto) { return AjaxResult.success(busiCenterRealService.findCenterRealChartByInfo(busiCenterRealDto)); } /** - * 根据主变id和时间加载中心点实时数据信息 + * 根据主变id和时间加载中性点实时数据信息 */ - @ApiOperation(value = "根据主变id和时间加载中心点实时数据信息") + @ApiOperation(value = "根据主变id和时间加载中性点实时数据信息") @PostMapping(value = "/getCenterRealByMainIdAndCreateTime") public AjaxResult getCenterRealByMainIdAndCreateTime(@RequestBody BusiCenterRealVo busiCenterRealVo) { return AjaxResult.success(busiCenterRealService.selectCenterRealByMainIdAndCreateTime(busiCenterRealVo)); } /** - * 根据主变id加载中心点实时数据详细信息 + * 根据主变id加载中性点实时数据详细信息 */ - @ApiOperation(value = "根据主变id加载中心点实时数据详细信息") + @ApiOperation(value = "根据主变id加载中性点实时数据详细信息") @PostMapping(value = "/getCenterRealDetailsByMainId") public AjaxResult getCenterRealDetailsByMainId(@RequestBody BusiCenterRealDto dto) { Page centerRealDetailsByMainId = busiCenterRealService.getCenterRealDetailsByMainId(dto); @@ -78,18 +78,30 @@ public class BusiCenterRealController extends BaseController { } /** - * 导出中心点实时数据详细信息Excel + * 根据主变id加载中性点实时数据详细信息 */ - @ApiOperation(value = "导出中心点实时数据详细信息Excel") + @ApiOperation(value = "根据主变id加载中性点实时数据详细信息1") + @PostMapping(value = "/getCenterRealDetailsByMainId1") + public AjaxResult getCenterRealDetailsByMainId1(@RequestBody BusiCenterRealDto dto) { + Page centerRealDetailsByMainId = busiCenterRealService.getCenterRealDetailsByMainId1(dto); + return AjaxResult.success(centerRealDetailsByMainId); + } + + + + /** + * 导出中性点实时数据详细信息Excel + */ + @ApiOperation(value = "导出中性点实时数据详细信息Excel") @PostMapping(value = "/exportCenterRealDetails") public AjaxResult exportCenterRealDetails(@RequestBody BusiCenterRealDto dto) { return busiExportDataService.exportCenterRealDetails(dto); } /** - * 导出中心点实时数据 + * 导出中性点实时数据 */ - @ApiOperation(value = "导出中心点实时数据") + @ApiOperation(value = "导出中性点实时数据") @PostMapping(value = "/exportCenterRealByMainId") public AjaxResult exportCenterRealByMainId(@RequestBody BusiCenterRealDto dto) { return busiExportDataService.exportCenterReal(dto); diff --git a/src/main/java/com/chenxuan/controller/BusiCenterThresholdConfController.java b/src/main/java/com/chenxuan/controller/BusiCenterThresholdConfController.java index 4d74b3e..7b3af81 100644 --- a/src/main/java/com/chenxuan/controller/BusiCenterThresholdConfController.java +++ b/src/main/java/com/chenxuan/controller/BusiCenterThresholdConfController.java @@ -15,7 +15,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -@Api(tags = "中心点电流阈值配置") +@Api(tags = "中性点电流阈值配置") @RestController @RequestMapping(value = BusiUrlConstants.BUSI_CENTER_THRESHOLD_CONF) public class BusiCenterThresholdConfController extends BaseController { @@ -24,11 +24,11 @@ public class BusiCenterThresholdConfController extends BaseController { private BusiCenterThresholdConfService busiCenterThresholdConfService; /** - * @Description: 获取中心点电流阈值配置列表 + * @Description: 获取中性点电流阈值配置列表 * @Param: * @Return: TableDataInfo **/ - @ApiOperation(value = "获取中心点电流阈值配置列表") + @ApiOperation(value = "获取中性点电流阈值配置列表") @PostMapping(value = "/page") public AjaxResult page(@RequestBody BusiCenterThresholdConfDto busiCenterThresholdConfDto) { Page page = busiCenterThresholdConfService.page(busiCenterThresholdConfDto); @@ -36,49 +36,49 @@ public class BusiCenterThresholdConfController extends BaseController { } /** - * 新增中心点电流阈值配置信息 + * 新增中性点电流阈值配置信息 */ - @ApiOperation(value = "新增中心点电流阈值配置信息") - @LogAnnotation(module = "中心点电流阈值配置", operateType = OperateType.INSERT) + @ApiOperation(value = "新增中性点电流阈值配置信息") + @LogAnnotation(module = "中性点电流阈值配置", operateType = OperateType.INSERT) @PostMapping(value = "/add") public AjaxResult add(@RequestBody BusiCenterThresholdConf busiCenterThresholdConf) { return busiCenterThresholdConfService.insertThresholdConf(busiCenterThresholdConf); } /** - * 修改中心点电流阈值配置信息 + * 修改中性点电流阈值配置信息 */ - @ApiOperation(value = "修改中心点电流阈值配置信息") - @LogAnnotation(module = "中心点电流阈值配置", operateType = OperateType.UPDATE) + @ApiOperation(value = "修改中性点电流阈值配置信息") + @LogAnnotation(module = "中性点电流阈值配置", operateType = OperateType.UPDATE) @PutMapping(value = "/update") public AjaxResult update(@RequestBody BusiCenterThresholdConf busiCenterThresholdConf) { return busiCenterThresholdConfService.updateThresholdConf(busiCenterThresholdConf); } /** - * 根据主变id加载中心点电流阈值配置信息 + * 根据主变id加载中性点电流阈值配置信息 */ - @ApiOperation(value = "根据主变id加载中心点电流阈值配置信息") + @ApiOperation(value = "根据主变id加载中性点电流阈值配置信息") @GetMapping(value = "/getCenterThresholdConfByMainId/{mainId}") public AjaxResult getCenterThresholdConfByMainId(@PathVariable("mainId") String mainId) { return AjaxResult.success(busiCenterThresholdConfService.selectCenterThresholdConfByMainId(mainId)); } /** - * 根据主变id删除中心点电流阈值配置信息 + * 根据主变id删除中性点电流阈值配置信息 */ - @ApiOperation(value = "根据主变id删除中心点电流阈值配置信息") - @LogAnnotation(module = "中心点电流阈值配置", operateType = OperateType.DELETE) + @ApiOperation(value = "根据主变id删除中性点电流阈值配置信息") + @LogAnnotation(module = "中性点电流阈值配置", operateType = OperateType.DELETE) @DeleteMapping(value = "/deleteByMainId/{mainId}") public AjaxResult remove(@RequestParam("mainId") String mainId) { return returnAjax(busiCenterThresholdConfService.deleteThresholdConfByMainId(mainId)); } /** - * 根据中心点电流阈值配置id删除其配置信息 + * 根据中性点电流阈值配置id删除其配置信息 */ - @ApiOperation(value = "根据中心点电流阈值配置id删除其配置信息") - @LogAnnotation(module = "中心点电流阈值配置", operateType = OperateType.DELETE) + @ApiOperation(value = "根据中性点电流阈值配置id删除其配置信息") + @LogAnnotation(module = "中性点电流阈值配置", operateType = OperateType.DELETE) @DeleteMapping(value = "/delete") public AjaxResult delete(@RequestParam("id") String id) { return returnAjax(busiCenterThresholdConfService.delete(id)); diff --git a/src/main/java/com/chenxuan/controller/BusiCommunicationParametersController.java b/src/main/java/com/chenxuan/controller/BusiCommunicationParametersController.java index b5f0c2a..9c4ab17 100644 --- a/src/main/java/com/chenxuan/controller/BusiCommunicationParametersController.java +++ b/src/main/java/com/chenxuan/controller/BusiCommunicationParametersController.java @@ -45,7 +45,7 @@ public class BusiCommunicationParametersController extends BaseController { * 新增通信参数信息 */ @ApiOperation(value = "新增通信参数信息") -// @LogAnnotation(module = "通信参数设置", operateType = OperateType.INSERT) + @LogAnnotation(module = "通信参数设置", operateType = OperateType.INSERT) @PostMapping(value = "/add") public AjaxResult add(@RequestBody BusiCommunicationParameters busiCommunicationParameters) { return returnAjax(busiCommunicationParametersService.insertBusiCommunicationParameters(busiCommunicationParameters)); @@ -74,7 +74,7 @@ public class BusiCommunicationParametersController extends BaseController { * 删除主变信息 */ @ApiOperation(value = "删除通信参数信息") -// @LogAnnotation(module = "通信参数设置", operateType = OperateType.DELETE) + @LogAnnotation(module = "通信参数设置", operateType = OperateType.DELETE) @DeleteMapping(value = "/delete/{id}") public AjaxResult remove(@RequestParam("id") String id) { return returnAjax(busiCommunicationParametersService.deleteById(id)); @@ -82,9 +82,22 @@ public class BusiCommunicationParametersController extends BaseController { @ApiOperation(value = "根据通信协议类型加载通信参数信息") - @GetMapping(value = "/getBusiCommunicationParametersByProtocol/{protocol}") - public AjaxResult getBusiCommunicationParametersByProtocol(@PathVariable("protocol") String protocol) { - return AjaxResult.success(busiCommunicationParametersService.selectBusiCommunicationParametersByProtocol(protocol)); + @PostMapping(value = "/getBusiCommunicationParametersByProtocol") + public AjaxResult getBusiCommunicationParametersByProtocol(@RequestBody BusiCommunicationParameters entity) { + return AjaxResult.success(busiCommunicationParametersService.selectBusiCommunicationParametersByProtocol(entity)); + } + + /** + * 启用禁用协议 + * + * @param busiCommunicationParameters + * @return + */ + @ApiOperation(value = "启用禁用协议") + @LogAnnotation(module = "启用禁用协议", operateType = OperateType.UPDATE) + @PostMapping(value = "/enable") + public AjaxResult enableAndDisable(@RequestBody BusiCommunicationParameters busiCommunicationParameters) { + return returnAjax(busiCommunicationParametersService.enableAndDisable(busiCommunicationParameters)); } } diff --git a/src/main/java/com/chenxuan/controller/BusiEnvironmentRealController.java b/src/main/java/com/chenxuan/controller/BusiEnvironmentRealController.java new file mode 100644 index 0000000..075f63b --- /dev/null +++ b/src/main/java/com/chenxuan/controller/BusiEnvironmentRealController.java @@ -0,0 +1,97 @@ +package com.chenxuan.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chenxuan.base.controller.BaseController; +import com.chenxuan.base.entity.AjaxResult; +import com.chenxuan.bean.annotation.LogAnnotation; +import com.chenxuan.constants.BusiUrlConstants; +import com.chenxuan.entity.dto.BusiEnvironmentRealDto; +import com.chenxuan.entity.model.BusiEnvironmentReal; +import com.chenxuan.entity.vo.BusiEnvironmentRealDetailsVo; +import com.chenxuan.entity.vo.BusiEnvironmentRealVo; +import com.chenxuan.enums.OperateType; +import com.chenxuan.service.BusiEnvironmentRealService; +import com.chenxuan.service.BusiExportDataService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Api(tags = "环境监测实时数据") +@RestController +@RequestMapping(value = BusiUrlConstants.BUSI_ENVIRONMENT_REAL) +public class BusiEnvironmentRealController extends BaseController { + + @Autowired + private BusiEnvironmentRealService busiEnvironmentRealService; + + @Autowired + private BusiExportDataService busiExportDataService; + + /** + * 新增环境监测实时数据信息 + */ + @ApiOperation(value = "新增环境监测实时数据信息") + @LogAnnotation(module = "环境监测实时数据", operateType = OperateType.INSERT) + @PostMapping(value = "/add") + public AjaxResult add(@RequestBody List busiEnvironmentRealList) { + return returnAjax(busiEnvironmentRealService.insertEnvironmentReal(busiEnvironmentRealList)); + } + + /** + * 根据主变id加载环境监测实时数据信息 + */ + @ApiOperation(value = "根据主变id加载环境监测实时数据信息") + @GetMapping(value = "/getEnvironmentRealByMainId/{mainId}") + public AjaxResult getEnvironmentRealByMainId(@PathVariable("mainId") String mainId) { + return AjaxResult.success(busiEnvironmentRealService.selectEnvironmentRealByMainId(mainId)); + } + + /** + * 根据主变id及当天时间加载环境监测谱图信息 + */ + @ApiOperation(value = "根据主变id及当天时间加载环境监测谱图信息") + @PostMapping(value = "/queryEnvironmentRealChartByInfo") + public AjaxResult queryEnvironmentRealChartByInfo(@RequestBody BusiEnvironmentRealDto busiEnvironmentRealDto) { + return AjaxResult.success(busiEnvironmentRealService.findEnvironmentRealChartByInfo(busiEnvironmentRealDto)); + } + + /** + * 根据主变id和时间加载环境监测实时数据信息 + */ + @ApiOperation(value = "根据主变id和时间加载环境监测实时数据信息") + @PostMapping(value = "/getEnvironmentRealByMainIdAndCreateTime") + public AjaxResult getEnvironmentRealByMainIdAndCreateTime(@RequestBody BusiEnvironmentRealVo busiEnvironmentRealVo) { + return AjaxResult.success(busiEnvironmentRealService.selectEnvironmentRealByMainIdAndCreateTime(busiEnvironmentRealVo)); + } + + /** + * 根据主变id加载环境监测实时数据详细信息 + */ + @ApiOperation(value = "根据主变id加载环境监测实时数据详细信息") + @PostMapping(value = "/getEnvironmentRealDetailsByMainId") + public AjaxResult getEnvironmentRealDetailsByMainId(@RequestBody BusiEnvironmentRealDto dto) { + Page EnvironmentRealDetailsByMainId = busiEnvironmentRealService.getEnvironmentRealDetailsByMainId(dto); + return AjaxResult.success(EnvironmentRealDetailsByMainId); + } + + /** + * 导出环境监测实时数据详细信息Excel + */ + @ApiOperation(value = "导出环境监测实时数据详细信息Excel") + @PostMapping(value = "/exportEnvironmentRealDetails") + public AjaxResult exportEnvironmentRealDetails(@RequestBody BusiEnvironmentRealDto dto) { + return busiExportDataService.exportEnvironmentRealDetails(dto); + } + + /** + * 导出环境监测实时数据 + */ + @ApiOperation(value = "导出环境监测实时数据") + @PostMapping(value = "/exportEnvironmentRealByMainId") + public AjaxResult exportEnvironmentRealByMainId(@RequestBody BusiEnvironmentRealDto dto) { + return busiExportDataService.exportEnvironmentReal(dto); + } +} diff --git a/src/main/java/com/chenxuan/controller/BusiEnvironmentThresholdConfController.java b/src/main/java/com/chenxuan/controller/BusiEnvironmentThresholdConfController.java new file mode 100644 index 0000000..7ce6608 --- /dev/null +++ b/src/main/java/com/chenxuan/controller/BusiEnvironmentThresholdConfController.java @@ -0,0 +1,86 @@ +package com.chenxuan.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chenxuan.base.controller.BaseController; +import com.chenxuan.base.entity.AjaxResult; +import com.chenxuan.bean.annotation.LogAnnotation; +import com.chenxuan.constants.BusiUrlConstants; +import com.chenxuan.entity.dto.BusiEnvironmentThresholdConfDto; +import com.chenxuan.entity.model.BusiEnvironmentThresholdConf; +import com.chenxuan.entity.vo.BusiEnvironmentThresholdConfVo; +import com.chenxuan.enums.OperateType; +import com.chenxuan.service.BusiEnvironmentThresholdConfService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@Api(tags = "环境监测阈值配置") +@RestController +@RequestMapping(value = BusiUrlConstants.BUSI_ENVIRONMENT_THRESHOLD_CONF) +public class BusiEnvironmentThresholdConfController extends BaseController { + + @Autowired + private BusiEnvironmentThresholdConfService busiEnvironmentThresholdConfService; + + /** + * @Description: 获取环境阈值配置列表 + * @Param: + * @Return: TableDataInfo + **/ + @ApiOperation(value = "获取环境阈值配置列表") + @PostMapping(value = "/page") + public AjaxResult page(@RequestBody BusiEnvironmentThresholdConfDto busiEnvironmentThresholdConfDto) { + Page page = busiEnvironmentThresholdConfService.page(busiEnvironmentThresholdConfDto); + return AjaxResult.success(page); + } + + /** + * 新增环境阈值配置信息 + */ + @ApiOperation(value = "新增环境阈值配置信息") + @LogAnnotation(module = "环境阈值配置", operateType = OperateType.INSERT) + @PostMapping(value = "/add") + public AjaxResult add(@RequestBody BusiEnvironmentThresholdConf busiEnvironmentThresholdConf) { + return busiEnvironmentThresholdConfService.insertThresholdConf(busiEnvironmentThresholdConf); + } + + /** + * 修改环境阈值配置信息 + */ + @ApiOperation(value = "修改环境阈值配置信息") + @LogAnnotation(module = "环境阈值配置", operateType = OperateType.UPDATE) + @PutMapping(value = "/update") + public AjaxResult update(@RequestBody BusiEnvironmentThresholdConf busiEnvironmentThresholdConf) { + return busiEnvironmentThresholdConfService.updateThresholdConf(busiEnvironmentThresholdConf); + } + + /** + * 根据主变id加载环境阈值配置信息 + */ + @ApiOperation(value = "根据主变id加载环境阈值配置信息") + @GetMapping(value = "/getEnvironmentThresholdConfByMainId/{mainId}") + public AjaxResult getEnvironmentThresholdConfByMainId(@PathVariable("mainId") String mainId) { + return AjaxResult.success(busiEnvironmentThresholdConfService.selectEnvironmentThresholdConfByMainId(mainId)); + } + + /** + * 根据主变id删除环境阈值配置信息 + */ + @ApiOperation(value = "根据主变id删除环境阈值配置信息") + @LogAnnotation(module = "环境阈值配置", operateType = OperateType.DELETE) + @DeleteMapping(value = "/deleteByMainId/{mainId}") + public AjaxResult remove(@RequestParam("mainId") String mainId) { + return returnAjax(busiEnvironmentThresholdConfService.deleteThresholdConfByMainId(mainId)); + } + + /** + * 根据环境阈值配置id删除其配置信息 + */ + @ApiOperation(value = "根据环境阈值配置id删除其配置信息") + @LogAnnotation(module = "环境阈值配置", operateType = OperateType.DELETE) + @DeleteMapping(value = "/delete") + public AjaxResult delete(@RequestParam("id") String id) { + return returnAjax(busiEnvironmentThresholdConfService.delete(id)); + } +} diff --git a/src/main/java/com/chenxuan/controller/BusiFrequencyConfController.java b/src/main/java/com/chenxuan/controller/BusiFrequencyConfController.java index 87c0aa9..3bac5b4 100644 --- a/src/main/java/com/chenxuan/controller/BusiFrequencyConfController.java +++ b/src/main/java/com/chenxuan/controller/BusiFrequencyConfController.java @@ -86,4 +86,13 @@ public class BusiFrequencyConfController extends BaseController { return returnAjax( busiFrequencyConfService.deleteFrequencyConfById( id ) ); } + + /** + * 根据id加载振动装置频率配置信息 + */ + @ApiOperation(value = "查询所有振动频率") + @GetMapping(value = "/selectFrequency") + public AjaxResult selectFrequency() { + return AjaxResult.success( busiFrequencyConfService.selectFrequency() ); + } } diff --git a/src/main/java/com/chenxuan/controller/BusiMainDeviceController.java b/src/main/java/com/chenxuan/controller/BusiMainDeviceController.java index 206c53e..0d86a56 100644 --- a/src/main/java/com/chenxuan/controller/BusiMainDeviceController.java +++ b/src/main/java/com/chenxuan/controller/BusiMainDeviceController.java @@ -8,8 +8,10 @@ import com.chenxuan.constants.BusiUrlConstants; import com.chenxuan.entity.dto.BusiMainDeviceDto; import com.chenxuan.entity.model.BusiMainDevice; import com.chenxuan.entity.vo.BusiMainDeviceVo; +import com.chenxuan.entity.vo.DeviceNumVo; import com.chenxuan.entity.vo.PercentageVo; import com.chenxuan.enums.OperateType; +import com.chenxuan.mapper.BusiMainDeviceMapper; import com.chenxuan.service.BusiMainDeviceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -25,6 +27,9 @@ public class BusiMainDeviceController extends BaseController { @Autowired private BusiMainDeviceService busiMainDeviceService; + + @Autowired + private BusiMainDeviceMapper busiMainDeviceMapper; /** * @Description: 获取主变压器信息列表 * @Param: @@ -105,11 +110,23 @@ public class BusiMainDeviceController extends BaseController { * @Param: * @Return: **/ - @ApiOperation(value = "获取设备总数") - @GetMapping(value = "/selectNormalDevice") - public AjaxResult selectNormalDevice() { - PercentageVo percentageVo = busiMainDeviceService.selectNormalDevice(); - return AjaxResult.success(percentageVo); + @ApiOperation(value = "获取运行正常设备总数") + @GetMapping(value = "/selectCountDevice") + public AjaxResult selectCountDevice() { + DeviceNumVo deviceNumVo = busiMainDeviceService.selectCountDevice(); + return AjaxResult.success(deviceNumVo); + } + + /** + * @Description: 获取数据上传间隔 + * @Param: + * @Return: + **/ + @ApiOperation(value = "获取数据上传间隔") + @GetMapping(value = "/findInterval") + public AjaxResult findInterval() { + Integer interval = busiMainDeviceMapper.findInterval(); + return AjaxResult.success(interval); } /** @@ -117,7 +134,7 @@ public class BusiMainDeviceController extends BaseController { * @Param: * @Return: **/ - @ApiOperation(value = "获取设备总数") + @ApiOperation(value = "获取运行异常设备总数") @GetMapping(value = "/selectCountEcpDevice") public AjaxResult selectCountEcpDevice() { PercentageVo percentageVo = busiMainDeviceService.selectCountEcpDevice(); diff --git a/src/main/java/com/chenxuan/controller/BusiNoiseRealController.java b/src/main/java/com/chenxuan/controller/BusiNoiseRealController.java index 428dd1b..51ecce7 100644 --- a/src/main/java/com/chenxuan/controller/BusiNoiseRealController.java +++ b/src/main/java/com/chenxuan/controller/BusiNoiseRealController.java @@ -76,6 +76,17 @@ public class BusiNoiseRealController extends BaseController { return AjaxResult.success(pageList); } + + /** + * 根据主变id加载噪声实时数据详细信息 + */ + @ApiOperation(value = "根据主变id加载噪声实时数据详细信息1") + @PostMapping(value = "/getNoiseRealDetailsByMainId1") + public AjaxResult getNoiseRealDetailsByMainId1(@RequestBody BusiNoiseRealDto dto) { + Page pageList = busiNoiseRealService.getNoiseRealDetailsByMainId1(dto); + return AjaxResult.success(pageList); + } + /** * 导出噪声实时数据详细信息Excel */ diff --git a/src/main/java/com/chenxuan/controller/BusiParamBindController.java b/src/main/java/com/chenxuan/controller/BusiParamBindController.java index 596b592..efc5a98 100644 --- a/src/main/java/com/chenxuan/controller/BusiParamBindController.java +++ b/src/main/java/com/chenxuan/controller/BusiParamBindController.java @@ -28,8 +28,7 @@ public class BusiParamBindController extends BaseController { @ApiOperation(value = "新增ied参数信息") @LogAnnotation(module = "ied参数信息", operateType = OperateType.INSERT) @PostMapping(value = "/addParamBind") - public AjaxResult addParamBind(@RequestBody BusiParamBind busiParamBind) { -// return busiParamBindService.addParamBind(busiParamBind); + public AjaxResult addParamBind(@RequestBody BusiParamBind busiParamBind){ return returnAjax(busiParamBindService.addParamBind(busiParamBind)); } @@ -50,12 +49,10 @@ public class BusiParamBindController extends BaseController { return AjaxResult.success(page); } - - /** - * 删除用户 + * 删除绑定关系 */ - @LogAnnotation(module = "用户管理", operateType = OperateType.DELETE) + @LogAnnotation(module = "删除绑定关系", operateType = OperateType.DELETE) @DeleteMapping(value = "/delParamBind") public AjaxResult delParamBind(@RequestParam("iedIds") int[] iedIds) { return returnAjax(busiParamBindService.delParamBind(iedIds) > 0 ? true : false); diff --git a/src/main/java/com/chenxuan/controller/BusiSubDeviceController.java b/src/main/java/com/chenxuan/controller/BusiSubDeviceController.java index dfe0ca9..de40db6 100644 --- a/src/main/java/com/chenxuan/controller/BusiSubDeviceController.java +++ b/src/main/java/com/chenxuan/controller/BusiSubDeviceController.java @@ -93,13 +93,6 @@ public class BusiSubDeviceController extends BaseController { public AjaxResult querySubDeviceByMainId(@PathVariable("mainId") String mainId) { return AjaxResult.success(busiSubDeviceService.querySubDeviceByMainId(mainId)); } -// @ApiOperation(value = "根据通信协议类型加载通信参数信息") -// @GetMapping(value = "/getBusiCommunicationParametersByProtocol/{protocol}") -// public AjaxResult getBusiCommunicationParametersByProtocol(@PathVariable("protocol") String protocol) { -// return AjaxResult.success(busiCommunicationParametersService.selectBusiCommunicationParametersByProtocol(protocol)); -// } - - /** * 根据主变id删除主变装置信息 @@ -121,4 +114,13 @@ public class BusiSubDeviceController extends BaseController { return returnAjax(busiSubDeviceService.delete(id)); } + + + + @ApiOperation(value = "获取主变压器装置信息列表") + @PostMapping(value = "/querySubDevice") + public AjaxResult querySubDevice(@RequestBody BusiSubDeviceDto dto) { + List page = busiSubDeviceService.querySubDevice(dto); + return AjaxResult.success(page); + } } diff --git a/src/main/java/com/chenxuan/controller/BusiTransformerConfController.java b/src/main/java/com/chenxuan/controller/BusiTransformerConfController.java index 4ca5887..941828e 100644 --- a/src/main/java/com/chenxuan/controller/BusiTransformerConfController.java +++ b/src/main/java/com/chenxuan/controller/BusiTransformerConfController.java @@ -59,7 +59,7 @@ public class BusiTransformerConfController extends BaseController { * 修改电流电压配置 */ @ApiOperation(value = "修改电流电压配置") -// @LogAnnotation(module = "电流电压设置", operateType = OperateType.UPDATE) + @LogAnnotation(module = "电流电压设置", operateType = OperateType.UPDATE) @PostMapping(value = "/update") public AjaxResult update(@RequestBody List busiTransformerConfList) { return returnAjax(busiTransformerConfService.updateConfigs(busiTransformerConfList)); diff --git a/src/main/java/com/chenxuan/controller/BusiWarningController.java b/src/main/java/com/chenxuan/controller/BusiWarningController.java index 8f5cd56..a3dbf13 100644 --- a/src/main/java/com/chenxuan/controller/BusiWarningController.java +++ b/src/main/java/com/chenxuan/controller/BusiWarningController.java @@ -34,7 +34,7 @@ public class BusiWarningController extends BaseController { @PostMapping(value = "/page") public AjaxResult page(@RequestBody BusiWarningDto dto) { Page page; - if (StringUtils.isNotBlank(dto.getWarnType())) { + if (StringUtils.isNotBlank(dto.getWarnType()) && dto.getWarnType().equals("11")) { page = busiWarningService.getPage(dto); } else { page = busiWarningService.page(dto); diff --git a/src/main/java/com/chenxuan/controller/IedController.java b/src/main/java/com/chenxuan/controller/IedController.java index 9cbab4e..67a3052 100644 --- a/src/main/java/com/chenxuan/controller/IedController.java +++ b/src/main/java/com/chenxuan/controller/IedController.java @@ -7,7 +7,6 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -19,8 +18,14 @@ public class IedController { private BusiIedparamService busiIedparamService; @ApiOperation(value = "加载对应主变的原副边电流电压实时数据信息") - @GetMapping(value = "/quereyIcdById/{id}") - public AjaxResult quereyIcdById(@PathVariable("id") String id) { - return AjaxResult.success(busiIedparamService.quereyIcdById(id) ); + @GetMapping(value = "/quereyIcdById") + public AjaxResult quereyIcdById(String id,String deviceType) { + return AjaxResult.success(busiIedparamService.quereyIcdById(id,deviceType) ); + } + + @ApiOperation(value = "加载对应主变的原副边电流电压实时数据信息") + @GetMapping(value = "/queryParamsName") + public AjaxResult queryParamsName(String deviceType) { + return AjaxResult.success(busiIedparamService.queryParamsName(deviceType)); } } diff --git a/src/main/java/com/chenxuan/controller/ModbusAndBindController.java b/src/main/java/com/chenxuan/controller/ModbusAndBindController.java new file mode 100644 index 0000000..f3ea0c9 --- /dev/null +++ b/src/main/java/com/chenxuan/controller/ModbusAndBindController.java @@ -0,0 +1,55 @@ +package com.chenxuan.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chenxuan.base.controller.BaseController; +import com.chenxuan.base.entity.AjaxResult; +import com.chenxuan.bean.annotation.LogAnnotation; +import com.chenxuan.constants.BusiUrlConstants; +import com.chenxuan.entity.dto.BusiModbusParamBindDto; +import com.chenxuan.entity.model.BusiModbusParamBind; +import com.chenxuan.entity.vo.BusiModbusParamBindVo; +import com.chenxuan.enums.OperateType; +import com.chenxuan.service.ModbusAndBindService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping(value = BusiUrlConstants.MODBUS_BIND) +public class ModbusAndBindController extends BaseController { + + @Autowired + private ModbusAndBindService modbusAndBindService; + + + @ApiOperation(value = "根据类型查询模板") + @GetMapping(value = "/queryModbusTemplateByDeviceType") + public AjaxResult queryModbusTemplateByDeviceType(String deviceType) { + return AjaxResult.success(modbusAndBindService.queryModbusTemplateByDeviceType(deviceType)); + } + @ApiOperation(value = "新增修改modbus参数绑定") + @LogAnnotation(module = "新增修改modbus参数绑定", operateType = OperateType.INSERT) + @PostMapping(value = "/addModbusParamBind") + public AjaxResult addModbusParamBind(@RequestBody BusiModbusParamBind busiModbusParamBind) { + return AjaxResult.success(modbusAndBindService.addModbusParamBind(busiModbusParamBind)); + } + + + + @ApiOperation(value = "分页查询") + @PostMapping(value = "/queryModbusParamBind") + public AjaxResult queryModbusParamBind(@RequestBody BusiModbusParamBindDto busiModbusParamBindDto) { + Page page = modbusAndBindService.queryModbusParamBind(busiModbusParamBindDto); + return AjaxResult.success(page); + } + + /** + * 删除绑定关系 + */ + @LogAnnotation(module = "删除绑定关系", operateType = OperateType.DELETE) + @DeleteMapping(value = "/delBusiModbusParamBind") + public AjaxResult delBusiModbusParamBind(@RequestParam("modbusIds") int[] modbusIds) { + return returnAjax(modbusAndBindService.delBusiModbusParamBind(modbusIds) > 0 ? true : false); + } + +} diff --git a/src/main/java/com/chenxuan/controller/SysLoginController.java b/src/main/java/com/chenxuan/controller/SysLoginController.java index 4c51339..2e8989b 100644 --- a/src/main/java/com/chenxuan/controller/SysLoginController.java +++ b/src/main/java/com/chenxuan/controller/SysLoginController.java @@ -53,8 +53,7 @@ public class SysLoginController { * @return com.chenxuan.domain.AjaxResult */ @PostMapping("/login") - public AjaxResult login(String username, String password, String code, String uuid) - { + public AjaxResult login(String username, String password, String code, String uuid) throws Exception { AjaxResult ajax = AjaxResult.success(); String token = loginService.login(username, password, code, uuid); ajax.put(Constants.TOKEN, token); diff --git a/src/main/java/com/chenxuan/controller/remote/SysLoginRemoteController.java b/src/main/java/com/chenxuan/controller/remote/SysLoginRemoteController.java index 5493384..56dce7f 100644 --- a/src/main/java/com/chenxuan/controller/remote/SysLoginRemoteController.java +++ b/src/main/java/com/chenxuan/controller/remote/SysLoginRemoteController.java @@ -46,8 +46,7 @@ public class SysLoginRemoteController { * @Description 登录方法 */ @PostMapping("/login") - public AjaxResult login(@RequestBody SysUser sysUser) { - + public AjaxResult login(@RequestBody SysUser sysUser) throws Exception { AjaxResult ajax = AjaxResult.success(); String token = loginService.remoteLogin(sysUser.getUserName(), sysUser.getPassword()); ajax.put(Constants.TOKEN, token); diff --git a/src/main/java/com/chenxuan/entity/dto/BusiAmpliDatDto.java b/src/main/java/com/chenxuan/entity/dto/BusiAmpliDatDto.java new file mode 100644 index 0000000..def9f49 --- /dev/null +++ b/src/main/java/com/chenxuan/entity/dto/BusiAmpliDatDto.java @@ -0,0 +1,52 @@ +package com.chenxuan.entity.dto; + +import com.chenxuan.base.entity.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +/** + * @ClassName:BusiAmpliRealDto + * @Description: 振动实时数据表Dto + * @Author:Jordan_Li + * @CreatTime:6/22/2020 - 16:20 PM + * @Version V1.0 + */ +@Data +public class BusiAmpliDatDto extends Query implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 录播文件id + */ + @ApiModelProperty(value = "录播文件id", name = "fileId") + private String fileId; + + /** + * 主变id + */ + @ApiModelProperty(value = "主变id", name = "mainId") + private String mainId; + + /** + * 原副边 (P: 原边 S:副边,仅当device_type=1时有效) + */ + @ApiModelProperty(value = "原副边 (P: 原边 S:副边,仅当device_type=1时有效)", name = "side") + private String side; + + /** + * 相位 (A:A相 B:B相 C:C相 Q:全相;,仅当device_type=1时有效) + */ + @ApiModelProperty(value = "相位 (A:A相 B:B相 C:C相 Q:全相;,仅当device_type=1时有效)", name = "phase") + private String phase; + + /** + * 上下侧或进出侧(I:上侧/进口侧 O:下侧/出口侧) + */ + @ApiModelProperty(value = "上下侧或进出侧(I:上侧/进口侧 O:下侧/出口侧)", name = "inOut") + private String inOut; + +} diff --git a/src/main/java/com/chenxuan/entity/dto/BusiAmpliRealDto.java b/src/main/java/com/chenxuan/entity/dto/BusiAmpliRealDto.java index 458de2a..e8f7566 100644 --- a/src/main/java/com/chenxuan/entity/dto/BusiAmpliRealDto.java +++ b/src/main/java/com/chenxuan/entity/dto/BusiAmpliRealDto.java @@ -22,7 +22,7 @@ public class BusiAmpliRealDto extends Query implements Serializable { public static final String D = "day"; //日 public static final String W = "week"; //周 public static final String M = "month"; //月 - + public static final String O = "other"; /** * id */ @@ -89,6 +89,12 @@ public class BusiAmpliRealDto extends Query implements Serializable { @ApiModelProperty(value = "创建时间", name = "insTime") private String insTime; + /** + * 数据插入时间 + */ + @ApiModelProperty(value = "数据插入时间", name = "dTime") + private String dTime; + /** * hbase中的rowkey */ diff --git a/src/main/java/com/chenxuan/entity/dto/BusiCalcParamConfDto.java b/src/main/java/com/chenxuan/entity/dto/BusiCalcParamConfDto.java index 82b36dd..ffa7a24 100644 --- a/src/main/java/com/chenxuan/entity/dto/BusiCalcParamConfDto.java +++ b/src/main/java/com/chenxuan/entity/dto/BusiCalcParamConfDto.java @@ -1,5 +1,6 @@ package com.chenxuan.entity.dto; +import com.baomidou.mybatisplus.annotation.TableField; import com.chenxuan.base.entity.Query; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -121,6 +122,12 @@ public class BusiCalcParamConfDto extends Query implements Serializable { @ApiModelProperty(name = "sortNum", value = "排序") private Integer sortNum; + /** + * 频率 + */ + @TableField("frequency") + private String frequency; + /** * 下级计算指标列表 */ diff --git a/src/main/java/com/chenxuan/entity/dto/BusiCenterRealDto.java b/src/main/java/com/chenxuan/entity/dto/BusiCenterRealDto.java index 6b15eab..aff5c5d 100644 --- a/src/main/java/com/chenxuan/entity/dto/BusiCenterRealDto.java +++ b/src/main/java/com/chenxuan/entity/dto/BusiCenterRealDto.java @@ -40,11 +40,17 @@ public class BusiCenterRealDto extends Query implements Serializable { @ApiModelProperty(name = "frequency", value = "振动频率") private String frequency; + + /** + *温度 + */ + @ApiModelProperty(name = "temp", value = "温度") + private String temp; /** - * 最大振幅 + * 湿度 */ - @ApiModelProperty(name = "maxAmplitude", value = "最大振幅") - private String maxAmplitude; + @ApiModelProperty(name = "humidity", value = "湿度") + private String humidity; /** * 创建时间 diff --git a/src/main/java/com/chenxuan/entity/dto/BusiCenterThresholdConfDto.java b/src/main/java/com/chenxuan/entity/dto/BusiCenterThresholdConfDto.java index b737357..c939f7f 100644 --- a/src/main/java/com/chenxuan/entity/dto/BusiCenterThresholdConfDto.java +++ b/src/main/java/com/chenxuan/entity/dto/BusiCenterThresholdConfDto.java @@ -9,7 +9,7 @@ import java.io.Serializable; /** * @ClassName:BusiCenterThresholdConfVo - * @Description: 中心点电流阈值配置表Vo + * @Description: 中性点电流阈值配置表Vo * @Author:Jordan_Li * @CreatTime:6/8/2020 - 13:15 PM * @Version V1.0 @@ -56,21 +56,21 @@ public class BusiCenterThresholdConfDto extends Query implements Serializable { private String negative; /** - * 中心点电流日增长率(%) + * 中性点电流日增长率(%) */ - @ApiModelProperty(name = "dayRate", value = "中心点电流日增长率(%)") + @ApiModelProperty(name = "dayRate", value = "中性点电流日增长率(%)") private String dayRate; /** - * 中心点电流月增长率(%) + * 中性点电流月增长率(%) */ - @ApiModelProperty(name = "monthRate", value = "中心点电流月增长率(%)") + @ApiModelProperty(name = "monthRate", value = "中性点电流月增长率(%)") private String monthRate; /** - * 中心点电流月偏差率(%) + * 中性点电流月偏差率(%) */ - @ApiModelProperty(name = "deviationRate", value = "中心点电流月偏差率(%)") + @ApiModelProperty(name = "deviationRate", value = "中性点电流月偏差率(%)") private String deviationRate; /** diff --git a/src/main/java/com/chenxuan/entity/dto/BusiEnvironmentRealDto.java b/src/main/java/com/chenxuan/entity/dto/BusiEnvironmentRealDto.java new file mode 100644 index 0000000..a315ff6 --- /dev/null +++ b/src/main/java/com/chenxuan/entity/dto/BusiEnvironmentRealDto.java @@ -0,0 +1,82 @@ +package com.chenxuan.entity.dto; + +import com.chenxuan.base.entity.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author Carrey Zheng + * @create 2020-06-22 3:01 PM + **/ +@Data +public class BusiEnvironmentRealDto extends Query implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ApiModelProperty(name = "id", value = "主键id") + private String id; + + /** + * 主变id + */ + @ApiModelProperty(name = "mainId", value = "主变id") + private String mainId; + + /** + * 设备名称 + */ + @ApiModelProperty(name = "deviceName", value = "设备名称") + private String deviceName; + + /** + *温度 + */ + @ApiModelProperty(name = "temp", value = "温度") + private String temp; + + /** + * 湿度 + */ + @ApiModelProperty(name = "humidity", value = "湿度") + private String humidity; + + /** + * 负载类型 + */ + @ApiModelProperty(name = "loadType", value = "负载类型") + private String loadType; + + /** + * 创建时间 + */ + @ApiModelProperty(name = "insTime", value = "创建时间") + private String insTime; + + /** + * hbase中的rowkey + */ + @ApiModelProperty(name = "hbaseRowkey", value = "hbase中的rowkey") + private String hbaseRowkey; + /** + * 统计时间 + */ + @ApiModelProperty(name = "createTime", value = "统计时间") + private String createTime; + + /** + * 开始日期 + */ + @ApiModelProperty(name = "startTime", value = "开始日期") + private String startTime; + + /** + * 结束日期 + */ + @ApiModelProperty(name = "endTime", value = "结束日期") + private String endTime; +} diff --git a/src/main/java/com/chenxuan/entity/dto/BusiEnvironmentThresholdConfDto.java b/src/main/java/com/chenxuan/entity/dto/BusiEnvironmentThresholdConfDto.java new file mode 100644 index 0000000..8f1e99f --- /dev/null +++ b/src/main/java/com/chenxuan/entity/dto/BusiEnvironmentThresholdConfDto.java @@ -0,0 +1,111 @@ +package com.chenxuan.entity.dto; + +import com.chenxuan.base.entity.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +/** + * @ClassName:BusiCenterThresholdConfVo + * @Description: 中性点电流阈值配置表Vo + * @Author:Jordan_Li + * @CreatTime:6/8/2020 - 13:15 PM + * @Version V1.0 + */ +@Data +public class BusiEnvironmentThresholdConfDto extends Query implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ApiModelProperty(name = "id", value = "主键id") + private String id; + + /** + * 主变id + */ + @ApiModelProperty(name = "mainId", value = "主变id") + private String mainId; + + /** + * 主变装置id + */ + @ApiModelProperty(name = "subId", value = "主变装置id") + private String subId; + + /** + * 主变名称 + */ + @ApiModelProperty(name = "deviceName", value = "主变名称") + private String deviceName; + + /** + * 温度 + */ + @ApiModelProperty(name = "temp", value = "温度") + private String temp; + + /** + * 湿度 + */ + @ApiModelProperty(name = "humidity", value = "湿度") + private String humidity; + + /** + * 温度日增长率(%) + */ + @ApiModelProperty(name = "dayRate", value = "温度日增长率(%)") + private String dayRate; + + /** + * 温度月增长率(%) + */ + @ApiModelProperty(name = "monthRate", value = "温度月增长率(%)") + private String monthRate; + + /** + * 温度月偏差率(%) + */ + @ApiModelProperty(name = "deviationRate", value = "温度月偏差率(%)") + private String deviationRate; + + /** + * 湿度日增长率(%) + */ + @ApiModelProperty(name = "dayRateHumidity", value = "湿度日增长率(%)") + private String dayRateHumidity; + + /** + * 湿度月增长率(%) + */ + @ApiModelProperty(name = "monthRateHumidity", value = "湿度月增长率(%)") + private String monthRateHumidity; + + /** + * 湿度月偏差率(%) + */ + @ApiModelProperty(name = "deviationRateHumidity", value = "湿度月偏差率(%)") + private String deviationRateHumidity; + + /** + * 创建时间 + */ + @ApiModelProperty(name = "insTime", value = "创建时间") + private String insTime; + + /** + * 开始时间 + */ + @ApiModelProperty(name = "startTime", value = "开始时间") + private String startTime; + + /** + * 结束时间 + */ + @ApiModelProperty(name = "endTime", value = "结束时间") + private String endTime; +} diff --git a/src/main/java/com/chenxuan/entity/dto/BusiIedparamDto.java b/src/main/java/com/chenxuan/entity/dto/BusiIedparamDto.java index a0b06b0..6120feb 100644 --- a/src/main/java/com/chenxuan/entity/dto/BusiIedparamDto.java +++ b/src/main/java/com/chenxuan/entity/dto/BusiIedparamDto.java @@ -28,4 +28,10 @@ public class BusiIedparamDto extends Query implements Serializable { */ @ApiModelProperty(value="振动类型", name="nodeType") private String nodeType; + + /** + * 装置类别: 1振动装置,2噪声装置,3中心点装置 + */ + @ApiModelProperty(value="装置类别: 1振动装置,2噪声装置,3中心点装置", name="deviceType") + private String deviceType; } diff --git a/src/main/java/com/chenxuan/entity/dto/BusiModbusParamBindDto.java b/src/main/java/com/chenxuan/entity/dto/BusiModbusParamBindDto.java new file mode 100644 index 0000000..baa1033 --- /dev/null +++ b/src/main/java/com/chenxuan/entity/dto/BusiModbusParamBindDto.java @@ -0,0 +1,102 @@ +package com.chenxuan.entity.dto; + +import com.chenxuan.base.entity.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +@Data +public class BusiModbusParamBindDto extends Query implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ApiModelProperty(name = "id", value = "主键id") + private String id; + + /** + * 状态 Y:启用 N:禁用/预留 + */ + @ApiModelProperty(value = "状态 Y:启用 N:禁用/预留", name = "state") + private String state; + + /** + * 主变ID + */ + @ApiModelProperty(value = "主变ID", name = "mainId") + private String mainId; + + /** + * 主变名称 + */ + @ApiModelProperty(value = "主变ID", name = "mainName") + private String mainName; + + + /** + * 装置ID + */ + @ApiModelProperty(value = "主变ID", name = "subId") + private String subId; + + /** + * 装置名称 + */ + @ApiModelProperty(value = "主变ID", name = "subName") + private String subName; + + /** + * Sensor编码 + */ + @ApiModelProperty(value = "Sensor编码", name = "sensorCode") + private String sensorCode; + + /** + * P:原边 S:副边 + */ + @ApiModelProperty(value = "P:原边 S:副边", name = "side") + private String side; + + /** + * 相位 A:B:C:O:全相 + */ + @ApiModelProperty(value = "相位 A:B:C:O:全相", name = "phase") + private String phase; + + /** + * 上下侧 U:上侧 D:下侧 + */ + @ApiModelProperty(value = "上下侧 U:上侧 D:下侧", name = "inOut") + private String inOut; + + /** + * 上下侧 U:上侧 D:下侧 + */ + @ApiModelProperty(value = "上下侧 U:上侧 D:下侧", name = "frequency") + private String frequency; + + /** + * 装置类别 1:振动装置 2:噪声装置 3:中心点装置 4:其他 + */ + @ApiModelProperty(value = "装置类别 1:振动装置 2:噪声装置 3:中心点装置 4:其他", name = "deviceType") + private String deviceType; + + /** + * 寄存器地址 + */ + @ApiModelProperty(value = "寄存器地址", name = "addr") + private int addr; + + /** + * 寄存器类型 EX:异常检测 ST:状态量YX; MX:模拟量YC; SE:控制量 + */ + @ApiModelProperty(value = "寄存器类型 EX:异常检测 ST:状态量YX; MX:模拟量YC; SE:控制量", name = "addrType") + private String addrType; + + /** + * 寄存器类型 EX:异常检测 ST:状态量YX; MX:模拟量YC; SE:控制量 + */ + @ApiModelProperty(value = "寄存器描述", name = "adrdesc") + private String adrdesc; +} diff --git a/src/main/java/com/chenxuan/entity/dto/BusiModbusTemplateDto.java b/src/main/java/com/chenxuan/entity/dto/BusiModbusTemplateDto.java new file mode 100644 index 0000000..341252a --- /dev/null +++ b/src/main/java/com/chenxuan/entity/dto/BusiModbusTemplateDto.java @@ -0,0 +1,41 @@ +package com.chenxuan.entity.dto; + +import com.chenxuan.base.entity.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +@Data +public class BusiModbusTemplateDto extends Query implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ApiModelProperty(name = "id", value = "主键id") + private String id; + + /** + * 寄存器地址 + */ + @ApiModelProperty(value = "寄存器地址", name = "addr") + private int addr; + + /** + * 寄存器类型 + */ + @ApiModelProperty(value = "寄存器类型, EX: 自检量 ST:状态量YX; MX:模拟量YC; SE:控制量; TM:时钟", name = "addrType") + private String addrType; + + /** + * 寄存器描述 + */ + @ApiModelProperty(value = "寄存器描述", name = "adrdesc") + private String adrdesc; + + /** + * 装置类型:1振动装置,2噪声装置,3中心点装置,4其他 + */ + @ApiModelProperty(value = "装置类型:1振动装置,2噪声装置,3中心点装置,4其他", name = "deviceType") + private String deviceType; +} diff --git a/src/main/java/com/chenxuan/entity/dto/BusiParamBindDto.java b/src/main/java/com/chenxuan/entity/dto/BusiParamBindDto.java index 590506b..cdc955a 100644 --- a/src/main/java/com/chenxuan/entity/dto/BusiParamBindDto.java +++ b/src/main/java/com/chenxuan/entity/dto/BusiParamBindDto.java @@ -51,7 +51,11 @@ public class BusiParamBindDto extends Query implements Serializable { */ @ApiModelProperty(value="频率(Hz)", name="frequency") private String frequency; - + /** + * 监测类型: 1=振动监测 2=振动告警 3=噪声监测 4=噪声告警 5=中心点监测 6=中心点告警 + */ + @ApiModelProperty(value="监测类型: 1=振动监测 2=振动告警 3=噪声监测 4=噪声告警 5=中心点监测 6=中心点告警 7:环境监测 8:环境告警", name="monitype") + private String monitype; /** * 设备名称 */ @@ -64,4 +68,11 @@ public class BusiParamBindDto extends Query implements Serializable { @ApiModelProperty(name = "subDeviceName", value = "装置名称") private String subDeviceName; + + /** + * 装置类别: 1振动装置,2噪声装置,3中心点装置 + */ + @ApiModelProperty(value="装置类别: 1振动装置,2噪声装置,3中心点装置", name="deviceType") + private String deviceType; + } diff --git a/src/main/java/com/chenxuan/entity/dto/BusiWarningDto.java b/src/main/java/com/chenxuan/entity/dto/BusiWarningDto.java index 914e244..502feda 100644 --- a/src/main/java/com/chenxuan/entity/dto/BusiWarningDto.java +++ b/src/main/java/com/chenxuan/entity/dto/BusiWarningDto.java @@ -41,8 +41,9 @@ public class BusiWarningDto extends Query implements Serializable { /** * 告警分类 1:通信异常告警 2:装置自检异常告警 3:信号异常告警 4:供电异常告警 5:振动阈值告警 - * 6:噪声阈值告警 7:中心点阈值告警 8:日增长率告警 9:月增长率告警 10:月偏差率告警 - * 11:服务器与IED通信异常 12:传感器振动告警 13:传感器噪声告警 14:传感器中心点告警 + * 6:噪声阈值告警 7:中性点阈值告警 8:日增长率告警 9:月增长率告警 10:月偏差率告警 + * 11:服务器与IED通信异常 12:传感器振动告警 13:传感器噪声告警 14:传感器中性点告警 20:未知监测单元 + * 21:采样板通信异常 22:采样板传感器故障异常 */ @ApiModelProperty(name = "warnType", value = "告警分类") private String warnType; diff --git a/src/main/java/com/chenxuan/entity/model/BusiAmpliDayIncrease.java b/src/main/java/com/chenxuan/entity/model/BusiAmpliDayIncrease.java index 6f826cf..1b17952 100644 --- a/src/main/java/com/chenxuan/entity/model/BusiAmpliDayIncrease.java +++ b/src/main/java/com/chenxuan/entity/model/BusiAmpliDayIncrease.java @@ -1,6 +1,5 @@ package com.chenxuan.entity.model; -import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -28,7 +27,7 @@ public class BusiAmpliDayIncrease extends Model { * id */ @ApiModelProperty(value = "主键", name = "id") - @TableId(value = "id", type = IdType.AUTO) + @TableId(value = "id") private String id; /** diff --git a/src/main/java/com/chenxuan/entity/model/BusiAssessParameter.java b/src/main/java/com/chenxuan/entity/model/BusiAssessParameter.java index 11b1969..0ac4577 100644 --- a/src/main/java/com/chenxuan/entity/model/BusiAssessParameter.java +++ b/src/main/java/com/chenxuan/entity/model/BusiAssessParameter.java @@ -43,4 +43,28 @@ public class BusiAssessParameter extends Model { @ApiModelProperty(value="创建时间", name="insTime") @TableField("ins_time") private Date insTime; + + /** + * 高压侧 + */ + @TableField(exist = false) + private String highPoint ; + + /** + * 底压侧 + */ + @TableField(exist = false) + private String lowPoint ; + + /** + * 中心 + */ + @TableField(exist = false) + private String centerPoint ; + + /** + * 噪声 + */ + @TableField(exist = false) + private String noisePoint; } diff --git a/src/main/java/com/chenxuan/entity/model/BusiCalcParamConf.java b/src/main/java/com/chenxuan/entity/model/BusiCalcParamConf.java index e8a7e9b..13f1af4 100644 --- a/src/main/java/com/chenxuan/entity/model/BusiCalcParamConf.java +++ b/src/main/java/com/chenxuan/entity/model/BusiCalcParamConf.java @@ -111,6 +111,12 @@ public class BusiCalcParamConf { @TableField("create_user") private String createUser; + /** + * 频率 + */ + @TableField("frequency") + private String frequency; + /** * 排序 */ diff --git a/src/main/java/com/chenxuan/entity/model/BusiCenterIncrease.java b/src/main/java/com/chenxuan/entity/model/BusiCenterIncrease.java index 3b35e62..ea56c41 100644 --- a/src/main/java/com/chenxuan/entity/model/BusiCenterIncrease.java +++ b/src/main/java/com/chenxuan/entity/model/BusiCenterIncrease.java @@ -1,12 +1,12 @@ package com.chenxuan.entity.model; -import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + import java.util.Date; /** @@ -18,7 +18,7 @@ import java.util.Date; public class BusiCenterIncrease extends Model { @ApiModelProperty(value = "主键", name = "id") - @TableId(value = "id", type = IdType.AUTO) + @TableId(value = "id") private String id; /** diff --git a/src/main/java/com/chenxuan/entity/model/BusiCenterReal.java b/src/main/java/com/chenxuan/entity/model/BusiCenterReal.java index b47e639..aba449e 100644 --- a/src/main/java/com/chenxuan/entity/model/BusiCenterReal.java +++ b/src/main/java/com/chenxuan/entity/model/BusiCenterReal.java @@ -12,7 +12,7 @@ import java.util.Date; /** * @ClassName:BusiCenterReal - * @Description: 中心点实时数据表 + * @Description: 中性点实时数据表 * @Author:Jordan_Li * @CreatTime:6/16/2020 - 13:50 PM * @Version V1.0 @@ -29,7 +29,7 @@ public class BusiCenterReal extends Model { @ApiModelProperty(value="主键", name="id") @TableId(value = "id", type = IdType.AUTO) private String id; - + /** * 主变id */ @@ -45,13 +45,28 @@ public class BusiCenterReal extends Model { @TableField("max_amplitude") private String maxAmplitude; + /** + * 温度 + */ + @ApiModelProperty(value="温度", name="temp") + @TableField(exist = false) + private String temp; + + + /** + * 湿度 + */ + @ApiModelProperty(value="湿度", name="humidity") + @TableField(exist = false) + private String humidity; + /** * 创建时间 */ @ApiModelProperty(value="创建时间", name="insTime") @TableField("ins_time") private Date insTime; - + /** * hbase中的rowkey */ diff --git a/src/main/java/com/chenxuan/entity/model/BusiCenterThresholdConf.java b/src/main/java/com/chenxuan/entity/model/BusiCenterThresholdConf.java index 3418b92..2c2a104 100644 --- a/src/main/java/com/chenxuan/entity/model/BusiCenterThresholdConf.java +++ b/src/main/java/com/chenxuan/entity/model/BusiCenterThresholdConf.java @@ -14,7 +14,7 @@ import java.util.Date; /** * @ClassName:BusiCenterThresholdConf - * @Description: 中心点电流阈值配置表 + * @Description: 中性点电流阈值配置表 * @Author:Jordan_Li * @CreatTime:6/8/2020 - 13:15 PM * @Version V1.0 @@ -61,23 +61,23 @@ public class BusiCenterThresholdConf extends Model { private String negative; /** - * 中心点电流日增长率(%) + * 中性点电流日增长率(%) */ - @ApiModelProperty(value="中心点电流日增长率(%)", name="dayRate") + @ApiModelProperty(value="中性点电流日增长率(%)", name="dayRate") @TableField("day_rate") private String dayRate; /** - * 中心点电流月增长率(%) + * 中性点电流月增长率(%) */ - @ApiModelProperty(value="中心点电流月增长率(%)", name="monthRate") + @ApiModelProperty(value="中性点电流月增长率(%)", name="monthRate") @TableField("month_rate") private String monthRate; /** - * 中心点电流月偏差率(%) + * 中性点电流月偏差率(%) */ - @ApiModelProperty(value="中心点电流月偏差率(%)", name="deviationRate") + @ApiModelProperty(value="中性点电流月偏差率(%)", name="deviationRate") @TableField("deviation_rate") private String deviationRate; diff --git a/src/main/java/com/chenxuan/entity/model/BusiCommunicationParameters.java b/src/main/java/com/chenxuan/entity/model/BusiCommunicationParameters.java index 5042e47..0bcdbf9 100644 --- a/src/main/java/com/chenxuan/entity/model/BusiCommunicationParameters.java +++ b/src/main/java/com/chenxuan/entity/model/BusiCommunicationParameters.java @@ -81,11 +81,11 @@ public class BusiCommunicationParameters extends Model deviceArray; + + /** + * 标识位 0:禁用,1:启用 + */ + private String status; } diff --git a/src/main/java/com/chenxuan/entity/model/BusiControlConfig.java b/src/main/java/com/chenxuan/entity/model/BusiControlConfig.java index 6e438f4..c97d211 100644 --- a/src/main/java/com/chenxuan/entity/model/BusiControlConfig.java +++ b/src/main/java/com/chenxuan/entity/model/BusiControlConfig.java @@ -76,9 +76,9 @@ public class BusiControlConfig extends Model { private String aloneTest; /** - * 校时(0:手动校时 1:自动校时) + * 是否修改 1:修改 0:未修改 */ - @ApiModelProperty(value="校时(0:手动校时 1:自动校时)", name="updateTime") + @ApiModelProperty(value="是否修改 1:修改 0:未修改", name="updateTime") @TableField("update_time") private String updateTime; diff --git a/src/main/java/com/chenxuan/entity/model/BusiEnvironmentReal.java b/src/main/java/com/chenxuan/entity/model/BusiEnvironmentReal.java new file mode 100644 index 0000000..875981c --- /dev/null +++ b/src/main/java/com/chenxuan/entity/model/BusiEnvironmentReal.java @@ -0,0 +1,92 @@ +package com.chenxuan.entity.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + + +/** + * @ClassName:BusiEnvironmentReal + * @Description: 环境监测实时数据表 + * @Author:Jordan_Li + * @CreatTime:6/16/2020 - 13:50 PM + * @Version V1.0 + */ +@Data +@TableName("busi_environment_real") +public class BusiEnvironmentReal extends Model { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @ApiModelProperty(value="主键", name="id") + @TableId(value = "id", type = IdType.AUTO) + private String id; + + /** + * 主变id + */ + @ApiModelProperty(value="主设备ID,源自表busi_main_device.id", name="mainId") + @TableField("main_id") + private String mainId; + + + /** + * 电流值 + */ + @ApiModelProperty(value="负载类型", name="loadType") + @TableField("load_type") + private String loadType; + + /** + * 温度 + */ + @ApiModelProperty(value="温度", name="temp") + @TableField("temp") + private String temp; + + + /** + * 湿度 + */ + @ApiModelProperty(value="湿度", name="humidity") + @TableField("humidity") + private String humidity; + + /** + * 创建时间 + */ + @ApiModelProperty(value="创建时间", name="insTime") + @TableField("ins_time") + private Date insTime; + + + /** + * 数据库插入时间 + */ + @ApiModelProperty(value="数据库插入时间", name="dTime") + @TableField("d_time") + private Date dTime; + + /** + * hbase中的rowkey + */ + @ApiModelProperty(value="hbase中的rowkey", name="hbaseRowkey") + @TableField("hbase_rowkey") + private String hbaseRowkey; + + /** + * 是否上传报文(0/null 未上传, 1 已上传) + */ + @ApiModelProperty(value="是否上传报文(0/null 未上传, 1 已上传)", name="isupload") + @TableField("isupload") + private int isupload; +} diff --git a/src/main/java/com/chenxuan/entity/model/BusiEnvironmentRealStatistics.java b/src/main/java/com/chenxuan/entity/model/BusiEnvironmentRealStatistics.java new file mode 100644 index 0000000..1e5d512 --- /dev/null +++ b/src/main/java/com/chenxuan/entity/model/BusiEnvironmentRealStatistics.java @@ -0,0 +1,63 @@ +package com.chenxuan.entity.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @author Carrey Zheng + * @create 2020-07-06 5:38 PM + **/ +@Data +@TableName("busi_environment_real_statistics") +public class BusiEnvironmentRealStatistics extends Model { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @ApiModelProperty(value = "主键", name = "id") + @TableId(value = "id") + private String id; + + /** + * 主变id + */ + @ApiModelProperty(value = "主设备ID,源自表busi_main_device.id", name = "mainId") + @TableField("main_id") + private String mainId; + + /** + * 温度 + */ + @ApiModelProperty(value = "温度", name = "temp") + @TableField("temp") + private String temp; + + /** + * 湿度 + */ + @ApiModelProperty(value = "湿度", name = "humidity") + @TableField("humidity") + private String humidity; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建时间", name = "insTime") + @TableField("ins_time") + private Date insTime; + + /** + * hbase中的rowkey + */ + @ApiModelProperty(value = "hbase中的rowkey", name = "hbaseRowkey") + @TableField("hbase_rowkey") + private String hbaseRowkey; +} diff --git a/src/main/java/com/chenxuan/entity/model/BusiEnvironmentThresholdConf.java b/src/main/java/com/chenxuan/entity/model/BusiEnvironmentThresholdConf.java new file mode 100644 index 0000000..0917274 --- /dev/null +++ b/src/main/java/com/chenxuan/entity/model/BusiEnvironmentThresholdConf.java @@ -0,0 +1,112 @@ +package com.chenxuan.entity.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + + +/** + * @ClassName:BusiCenterThresholdConf + * @Description: 中性点电流阈值配置表 + * @Author:Jordan_Li + * @CreatTime:6/8/2020 - 13:15 PM + * @Version V1.0 + */ +@Data +@TableName("busi_environment_threshold_conf") +public class BusiEnvironmentThresholdConf extends Model { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @ApiModelProperty(value="主键", name="id") + @TableId(value = "id", type = IdType.AUTO) + private String id; + + /** + * 主变id + */ + @ApiModelProperty(value="主设备ID,源自表busi_main_device.id", name="mainId") + @TableField("main_id") + private String mainId; + + /** + * 装置ID,源自表busi_sub_device.id + */ + @ApiModelProperty(value="装置ID,源自表busi_sub_device.id", name="subId") + @TableField("sub_id") + private String subId; + + /** + * 温度 + */ + @ApiModelProperty(value="温度", name="temp") + @TableField("temp") + private String temp; + + /** + * 湿度 + */ + @ApiModelProperty(value="湿度", name="humidity") + @TableField("humidity") + private String humidity; + + /** + * 温度日增长率(%) + */ + @ApiModelProperty(value="温度日增长率(%)", name="dayRate") + @TableField("day_rate") + private String dayRate; + + /** + * 温度月增长率(%) + */ + @ApiModelProperty(value="温度月增长率(%)", name="monthRate") + @TableField("month_rate") + private String monthRate; + + /** + * 温度月偏差率(%) + */ + @ApiModelProperty(value="温度月偏差率(%)", name="deviationRate") + @TableField("deviation_rate") + private String deviationRate; + + /** + * 湿度月增长率(%) + */ + @ApiModelProperty(value="湿度月增长率(%)", name="monthRateHumidity") + @TableField("month_rate_humidity") + private String monthRateHumidity; + + /** + * 湿度日增长率(%) + */ + @ApiModelProperty(value="湿度日增长率(%)", name="dayRateHumidity") + @TableField("day_rate_humidity") + private String dayRateHumidity; + + /** + * 湿度月偏差率(%) + */ + @ApiModelProperty(value="湿度月偏差率(%)", name="deviationRateHumidity") + @TableField("deviation_rate_humidity") + private String deviationRateHumidity; + + /** + * 创建时间 + */ + @ApiModelProperty(value="创建时间", name="insTime") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("ins_time") + private Date insTime; +} diff --git a/src/main/java/com/chenxuan/entity/model/BusiIedparam.java b/src/main/java/com/chenxuan/entity/model/BusiIedparam.java index f517bc5..3c91dc5 100644 --- a/src/main/java/com/chenxuan/entity/model/BusiIedparam.java +++ b/src/main/java/com/chenxuan/entity/model/BusiIedparam.java @@ -32,4 +32,11 @@ public class BusiIedparam extends Model { @ApiModelProperty(value="振动类型", name="nodeType") @TableField("node_type") private String nodeType; + + /** + * 装置类别: 1振动装置,2噪声装置,3中心点装置 + */ + @ApiModelProperty(value="装置类别: 1振动装置,2噪声装置,3中心点装置", name="deviceType") + @TableField("device_type") + private String deviceType; } diff --git a/src/main/java/com/chenxuan/entity/model/BusiMainDevice.java b/src/main/java/com/chenxuan/entity/model/BusiMainDevice.java index 7060061..02cb2e9 100644 --- a/src/main/java/com/chenxuan/entity/model/BusiMainDevice.java +++ b/src/main/java/com/chenxuan/entity/model/BusiMainDevice.java @@ -61,6 +61,13 @@ public class BusiMainDevice extends Model { @TableField("device_model") private String deviceModel; + /** + * 设备类型 + */ + @ApiModelProperty(value="设备类型", name="deviceType") + @TableField("device_type") + private String deviceType; + /** * 制造厂家名称 */ diff --git a/src/main/java/com/chenxuan/entity/model/BusiModbusParamBind.java b/src/main/java/com/chenxuan/entity/model/BusiModbusParamBind.java new file mode 100644 index 0000000..e0236b7 --- /dev/null +++ b/src/main/java/com/chenxuan/entity/model/BusiModbusParamBind.java @@ -0,0 +1,106 @@ +package com.chenxuan.entity.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +@Data +@TableName("busi_modbus_param_bind") +public class BusiModbusParamBind implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ApiModelProperty(name = "id", value = "主键id") + @TableId(value = "id", type = IdType.AUTO) + private String id; + + /** + * 状态 Y:启用 N:禁用/预留 + */ + @ApiModelProperty(value = "状态 Y:启用 N:禁用/预留", name = "state") + @TableField("state") + private String state; + + /** + * 主变ID + */ + @ApiModelProperty(value = "主变ID", name = "mainId") + @TableField("main_id") + private String mainId; + + /** + * 装置ID + */ + @ApiModelProperty(value = "主变ID", name = "subId") + @TableField("sub_id") + private String subId; + + /** + * Sensor编码 + */ + @ApiModelProperty(value = "Sensor编码", name = "sensorCode") + @TableField("sensor_code") + private String sensorCode; + + /** + * P:原边 S:副边 + */ + @ApiModelProperty(value = "P:原边 S:副边", name = "side") + @TableField("side") + private String side; + + /** + * 相位 A:B:C:O:全相 + */ + @ApiModelProperty(value = "相位 A:B:C:O:全相", name = "phase") + @TableField("phase") + private String phase; + + /** + * 上下侧 U:上侧 D:下侧 + */ + @ApiModelProperty(value = "上下侧 U:上侧 D:下侧", name = "inOut") + @TableField("in_out") + private String inOut; + + /** + * 上下侧 U:上侧 D:下侧 + */ + @ApiModelProperty(value = "上下侧 U:上侧 D:下侧", name = "frequency") + @TableField("frequency") + private String frequency; + + /** + * 装置类别 1:振动装置 2:噪声装置 3:中心点装置 4:其他 + */ + @ApiModelProperty(value = "装置类别 1:振动装置 2:噪声装置 3:中心点装置 4:其他", name = "deviceType") + @TableField("device_type") + private String deviceType; + + /** + * 寄存器地址 + */ + @ApiModelProperty(value = "寄存器地址", name = "addr") + @TableField("addr") + private int addr; + + /** + * 寄存器类型 EX:异常检测 ST:状态量YX; MX:模拟量YC; SE:控制量 + */ + @ApiModelProperty(value = "寄存器类型 EX:异常检测 ST:状态量YX; MX:模拟量YC; SE:控制量", name = "addrType") + @TableField("addr_type") + private String addrType; + + /** + * 寄存器类型 EX:异常检测 ST:状态量YX; MX:模拟量YC; SE:控制量 + */ + @ApiModelProperty(value = "寄存器描述", name = "adrdesc") + @TableField("adrdesc") + private String adrdesc; +} diff --git a/src/main/java/com/chenxuan/entity/model/BusiModbusTemplate.java b/src/main/java/com/chenxuan/entity/model/BusiModbusTemplate.java new file mode 100644 index 0000000..4332933 --- /dev/null +++ b/src/main/java/com/chenxuan/entity/model/BusiModbusTemplate.java @@ -0,0 +1,50 @@ +package com.chenxuan.entity.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +@Data +@TableName("busi_modbus_template") +public class BusiModbusTemplate implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ApiModelProperty(name = "id", value = "主键id") + @TableId(value = "id", type = IdType.AUTO) + private String id; + + /** + * 寄存器地址 + */ + @ApiModelProperty(value = "寄存器地址", name = "addr") + @TableField("addr") + private int addr; + + /** + * 寄存器类型 + */ + @ApiModelProperty(value = "寄存器类型, EX: 自检量 ST:状态量YX; MX:模拟量YC; SE:控制量; TM:时钟", name = "addrType") + @TableField("addr_type") + private String addrType; + + /** + * 寄存器描述 + */ + @ApiModelProperty(value = "寄存器描述", name = "adrdesc") + @TableField("adrdesc") + private String adrdesc; + + /** + * 装置类型:1振动装置,2噪声装置,3中心点装置,4其他 + */ + @ApiModelProperty(value = "装置类型:1振动装置,2噪声装置,3中心点装置,4其他", name = "deviceType") + @TableField("device_type") + private String deviceType; +} diff --git a/src/main/java/com/chenxuan/entity/model/BusiNoiseIncrease.java b/src/main/java/com/chenxuan/entity/model/BusiNoiseIncrease.java index 89cd10a..0d3cf7c 100644 --- a/src/main/java/com/chenxuan/entity/model/BusiNoiseIncrease.java +++ b/src/main/java/com/chenxuan/entity/model/BusiNoiseIncrease.java @@ -1,12 +1,12 @@ package com.chenxuan.entity.model; -import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + import java.util.Date; /** @@ -17,7 +17,7 @@ import java.util.Date; @TableName("busi_noise_increase") public class BusiNoiseIncrease extends Model { @ApiModelProperty(value = "主键", name = "id") - @TableId(value = "id", type = IdType.AUTO) + @TableId(value = "id") private String id; /** diff --git a/src/main/java/com/chenxuan/entity/model/BusiParamBind.java b/src/main/java/com/chenxuan/entity/model/BusiParamBind.java index cc05d96..c06ffab 100644 --- a/src/main/java/com/chenxuan/entity/model/BusiParamBind.java +++ b/src/main/java/com/chenxuan/entity/model/BusiParamBind.java @@ -61,4 +61,20 @@ public class BusiParamBind extends Model { @ApiModelProperty(value="频率(Hz)", name="frequency") @TableField("frequency") private String frequency; + + /** + * 监测类型: 1=振动监测 2=振动告警 3=噪声监测 4=噪声告警 5=中心点监测 6=中心点告警 + */ + @ApiModelProperty(value="监测类型: 1=振动监测 2=振动告警 3=噪声监测 4=噪声告警 5=中心点监测 6=中心点告警 7:环境监测 8:环境告警", name="monitype") + @TableField("monitype") + private String monitype; + + + /** + * 装置类别: 1振动装置,2噪声装置,3中心点装置 + */ + @ApiModelProperty(value="装置类别: 1振动装置,2噪声装置,3中心点装置", name="deviceType") + @TableField("device_type") + private String deviceType; + } diff --git a/src/main/java/com/chenxuan/entity/model/BusiWarning.java b/src/main/java/com/chenxuan/entity/model/BusiWarning.java index 82665fe..c62a6d4 100644 --- a/src/main/java/com/chenxuan/entity/model/BusiWarning.java +++ b/src/main/java/com/chenxuan/entity/model/BusiWarning.java @@ -1,6 +1,5 @@ package com.chenxuan.entity.model; -import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -29,7 +28,7 @@ public class BusiWarning extends Model { * 主键id */ @ApiModelProperty(value="主键id", name="id") - @TableId(value = "id", type = IdType.AUTO) + @TableId(value = "id") private String id; /** @@ -69,6 +68,13 @@ public class BusiWarning extends Model { @TableField("sample_value") private String sampleValue; + /** + * 告警阈值 + */ + @ApiModelProperty(value="告警阈值", name="threadval") + @TableField("threadval") + private String threadval; + /** * 采样值单位(A)(db)(mm/s2) */ @@ -118,6 +124,13 @@ public class BusiWarning extends Model { @TableField("process_time") private Date processTime; + /** + * 增长率 + */ + @ApiModelProperty(value="增长率", name="growthRate") + @TableField("growth_rate") + private String growthRate; + /** * hbase同步主键 */ diff --git a/src/main/java/com/chenxuan/entity/model/DeviceInfo.java b/src/main/java/com/chenxuan/entity/model/DeviceInfo.java index 22eda90..e945f97 100644 --- a/src/main/java/com/chenxuan/entity/model/DeviceInfo.java +++ b/src/main/java/com/chenxuan/entity/model/DeviceInfo.java @@ -1,34 +1,14 @@ package com.chenxuan.entity.model; +import lombok.Data; + /** * @author buck_guo */ +@Data public class DeviceInfo { private String device; private String ip; private String port; - - public String getDevice() { - return device; - } - - public void setDevice(String device) { - this.device = device; - } - - public String getIp() { - return ip; - } - - public void setIp(String ip) { - this.ip = ip; - } - - public String getPort() { - return port; - } - - public void setPort(String port) { - this.port = port; - } + private String iedChannel; } diff --git a/src/main/java/com/chenxuan/entity/vo/BusiAmpliDatList1Vo.java b/src/main/java/com/chenxuan/entity/vo/BusiAmpliDatList1Vo.java new file mode 100644 index 0000000..5e5a8bd --- /dev/null +++ b/src/main/java/com/chenxuan/entity/vo/BusiAmpliDatList1Vo.java @@ -0,0 +1,36 @@ +package com.chenxuan.entity.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @ClassName:BusiAmpliDatListVo + * @Description: 录播文件Vo + * @Author:vent + * @CreatTime:3/24/2023 - 13:50 PM + * @Version V1.0 + */ +@Data +public class BusiAmpliDatList1Vo implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * busiAmpliDatListVos + */ + @ApiModelProperty(value = "busiAmpliDatListVos", name = "busiAmpliDatListVos") + private List busiAmpliDatListVos; + + + /** + * 开始日期 + */ + @ApiModelProperty(value = "开始日期", name = "startTime") + private String startTime; + + +} diff --git a/src/main/java/com/chenxuan/entity/vo/BusiAmpliDatListVo.java b/src/main/java/com/chenxuan/entity/vo/BusiAmpliDatListVo.java new file mode 100644 index 0000000..87a9943 --- /dev/null +++ b/src/main/java/com/chenxuan/entity/vo/BusiAmpliDatListVo.java @@ -0,0 +1,39 @@ +package com.chenxuan.entity.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @ClassName:BusiAmpliDatListVo + * @Description: 录播文件Vo + * @Author:vent + * @CreatTime:3/24/2023 - 13:50 PM + * @Version V1.0 + */ +@Data +public class BusiAmpliDatListVo implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * 录播文件id + */ + @ApiModelProperty(value = "录播文件id", name = "fileId") + private String fileId; + + /** + * 主变id + */ + @ApiModelProperty(value = "主变id", name = "mainId") + private String mainId; + + + /** + * 录波文件名称 + */ + @ApiModelProperty(value = "录波文件名称", name = "fileName") + private String fileName; +} diff --git a/src/main/java/com/chenxuan/entity/vo/BusiAmpliDayIncreaseRateVo.java b/src/main/java/com/chenxuan/entity/vo/BusiAmpliDayIncreaseRateVo.java new file mode 100644 index 0000000..a96f952 --- /dev/null +++ b/src/main/java/com/chenxuan/entity/vo/BusiAmpliDayIncreaseRateVo.java @@ -0,0 +1,103 @@ +package com.chenxuan.entity.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class BusiAmpliDayIncreaseRateVo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @ApiModelProperty(value="主键id", name="id") + private String id; + + /** + * 录播文件记录id + */ + @ApiModelProperty(value="录播文件记录id", name="fileId") + private String fileId; + + /** + * 主变id + */ + @ApiModelProperty(value="主变id", name="mainId") + private String mainId; + + /** + * 装置id + */ + @ApiModelProperty(value="装置id", name="subId") + private String subId; + + /** + * 频率 + */ + @ApiModelProperty(value="频率", name="frequency") + private String frequency; + + /** + * 振幅阈值(mm/s2) + */ + @ApiModelProperty(value="振幅阈值(mm/s2)", name="amplitude") + private String amplitude; + + /** + * 日增长率(%) + */ + @ApiModelProperty(value="日增长率(%)", name="dayRate") + private String dayRate; + + /** + * 振动幅值月增长率(%) + */ + @ApiModelProperty(value="振动幅值月增长率(%)", name="monthRate") + private String monthRate; + + /** + * 振动幅值月偏差率(%) + */ + @ApiModelProperty(value="振动幅值月偏差率(%)", name="deviationRate") + private String deviationRate; + + /** + * 创建时间 + */ + @ApiModelProperty(value="创建时间", name="dTime") + private String dTime; + + /** + * 负载类型 1:空载 2:负载 + */ + @ApiModelProperty(value="负载类型", name="loadType") + private String loadType; + + /** + * 频率集合 + */ + @ApiModelProperty(value="频率集合", name="frequencyList") + private List frequencyList; + + /** + * 日增长率集合 + */ + @ApiModelProperty(value="日增长率集合", name="dayRateList") + private List dayRateList; + + /** + * 振动幅值月增长率集合 + */ + @ApiModelProperty(value="振动幅值月增长率集合", name="monthRateList") + private List monthRateList; + + /** + * 振动幅值月偏差率集合 + */ + @ApiModelProperty(value="振动幅值月偏差率集合", name="deviationRateList") + private List deviationRateList; +} diff --git a/src/main/java/com/chenxuan/entity/vo/BusiAmpliReaPageVo.java b/src/main/java/com/chenxuan/entity/vo/BusiAmpliReaPageVo.java new file mode 100644 index 0000000..a7a87bf --- /dev/null +++ b/src/main/java/com/chenxuan/entity/vo/BusiAmpliReaPageVo.java @@ -0,0 +1,36 @@ +package com.chenxuan.entity.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @ClassName:BusiAmpliRealVo + * @Description: 振动实时数据表Vo + * @Author:Jordan_Li + * @CreatTime:6/17/2020 - 15:50 PM + * @Version V1.0 + */ +@Data +public class BusiAmpliReaPageVo implements Serializable { + + private static final long serialVersionUID = 1L; + + + + + /** + * busiAmpliRealVo + */ + @ApiModelProperty(value = "busiAmpliRealVo", name = "busiAmpliRealVo") + private BusiAmpliRealVo busiAmpliRealVo; + + /** + * records + */ + @ApiModelProperty(value = "records", name = "records") + private List records; + +} diff --git a/src/main/java/com/chenxuan/entity/vo/BusiAmpliRealDetailsVo.java b/src/main/java/com/chenxuan/entity/vo/BusiAmpliRealDetailsVo.java index 105c37b..a647a93 100644 --- a/src/main/java/com/chenxuan/entity/vo/BusiAmpliRealDetailsVo.java +++ b/src/main/java/com/chenxuan/entity/vo/BusiAmpliRealDetailsVo.java @@ -84,6 +84,12 @@ public class BusiAmpliRealDetailsVo implements Serializable { @ApiModelProperty(value = "创建时间", name = "insTime") private String insTime; + /** + * 数据插入时间 + */ + @ApiModelProperty(value = "数据插入时间", name = "dTime") + private String dTime; + /** * hbase中的rowkey */ @@ -137,4 +143,10 @@ public class BusiAmpliRealDetailsVo implements Serializable { */ @ApiModelProperty(value = "最大幅值集合", name = "maxAmplitudeList") private List maxAmplitudeList; + + /** + * 录波文件名称 + */ + @ApiModelProperty(value = "录波文件名称", name = "fileName") + private String fileName; } diff --git a/src/main/java/com/chenxuan/entity/vo/BusiAmpliRealVo.java b/src/main/java/com/chenxuan/entity/vo/BusiAmpliRealVo.java index 9867952..f645c39 100644 --- a/src/main/java/com/chenxuan/entity/vo/BusiAmpliRealVo.java +++ b/src/main/java/com/chenxuan/entity/vo/BusiAmpliRealVo.java @@ -6,6 +6,7 @@ import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.util.List; +import java.util.Map; /** * @ClassName:BusiAmpliRealVo @@ -114,4 +115,42 @@ public class BusiAmpliRealVo implements Serializable { */ @ApiModelProperty(value = "时间集合", name = "timeList") private List timeList; + + /** + * 日增长率集合 + */ + @ApiModelProperty(value = "日增长率集合", name = "dayRateList") + private List dayRateList; + + /** + * 月增长率集合 + */ + @ApiModelProperty(value = "月增长率集合", name = "monthRateList") + private List monthRateList; + + /** + * 开始日期 + */ + @ApiModelProperty(value = "开始日期", name = "startTime") + private String startTime; + + /** + * 终止日期 + */ + @ApiModelProperty(value = "终止日期", name = "endTime") + private String endTime; + + + /** + * 月增长率数据 + */ + @ApiModelProperty(value = "日增长率集合", name = "月增长率数据") + private Map> dayMonthRateList; + + /** + * 月增长率日期 + */ + @ApiModelProperty(value = "月增长率日期", name = "dateList") + private List dateList; + } diff --git a/src/main/java/com/chenxuan/entity/vo/BusiCalcParamConfVo.java b/src/main/java/com/chenxuan/entity/vo/BusiCalcParamConfVo.java index b9bc3a9..552b597 100644 --- a/src/main/java/com/chenxuan/entity/vo/BusiCalcParamConfVo.java +++ b/src/main/java/com/chenxuan/entity/vo/BusiCalcParamConfVo.java @@ -1,5 +1,6 @@ package com.chenxuan.entity.vo; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -124,6 +125,12 @@ public class BusiCalcParamConfVo implements Serializable { @ApiModelProperty(name = "sortNum", value = "排序") private Integer sortNum; + /** + * 频率 + */ + @TableField("frequency") + private String frequency; + /** * 下级计算指标列表 */ diff --git a/src/main/java/com/chenxuan/entity/vo/BusiCenterRealDetailsVo.java b/src/main/java/com/chenxuan/entity/vo/BusiCenterRealDetailsVo.java index ea8bbc5..b6368e2 100644 --- a/src/main/java/com/chenxuan/entity/vo/BusiCenterRealDetailsVo.java +++ b/src/main/java/com/chenxuan/entity/vo/BusiCenterRealDetailsVo.java @@ -1,5 +1,6 @@ package com.chenxuan.entity.vo; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -9,7 +10,7 @@ import java.util.List; /** * @ClassName:BusiCenterRealDetailsVo - * @Description: 中心点实时数据明细Vo + * @Description: 中性点实时数据明细Vo * @Author:Jordan_Li * @CreatTime:6/19/2020 - 13:50 PM * @Version V1.0 @@ -44,10 +45,19 @@ public class BusiCenterRealDetailsVo implements Serializable { private String frequency; /** - * 最大振幅 + * 温度 */ - @ApiModelProperty(name = "maxAmplitude", value = "最大振幅") - private String maxAmplitude; + @ApiModelProperty(value="温度", name="temp") + @TableField("temp") + private String temp; + + + /** + * 湿度 + */ + @ApiModelProperty(value="湿度", name="humidity") + @TableField("humidity") + private String humidity; /** * 创建时间 @@ -67,12 +77,17 @@ public class BusiCenterRealDetailsVo implements Serializable { @ApiModelProperty(name = "gatherTimeList", value = "统计时间集合") private List gatherTimeList; + /** + * 最大幅值集合 + */ + @ApiModelProperty(name = "maxAmplitude", value = "最大幅值") + private String maxAmplitude; + /** * 最大幅值集合 */ @ApiModelProperty(name = "maxAmplitudeList", value = "最大幅值集合") private List maxAmplitudeList; - /** * 统计时间 */ diff --git a/src/main/java/com/chenxuan/entity/vo/BusiCenterRealVo.java b/src/main/java/com/chenxuan/entity/vo/BusiCenterRealVo.java index af48228..4b93ccc 100644 --- a/src/main/java/com/chenxuan/entity/vo/BusiCenterRealVo.java +++ b/src/main/java/com/chenxuan/entity/vo/BusiCenterRealVo.java @@ -1,5 +1,6 @@ package com.chenxuan.entity.vo; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -9,7 +10,7 @@ import java.util.List; /** * @ClassName:BusiCenterRealVo - * @Description: 中心点实时数据Vo + * @Description: 中性点实时数据Vo * @Author:Jordan_Li * @CreatTime:6/19/2020 - 13:50 PM * @Version V1.0 @@ -43,6 +44,22 @@ public class BusiCenterRealVo implements Serializable { @ApiModelProperty(name = "frequency", value = "振动频率") private String frequency; + + /** + * 温度 + */ + @ApiModelProperty(value="温度", name="temp") + @TableField("temp") + private List temp; + + + /** + * 湿度 + */ + @ApiModelProperty(value="湿度", name="humidity") + @TableField("humidity") + private List humidity; + /** * 最大振幅 */ @@ -78,4 +95,17 @@ public class BusiCenterRealVo implements Serializable { */ @ApiModelProperty(name = "createTime", value = "统计时间") private String createTime; + + + /** + * 开始时间 + */ + @ApiModelProperty(name = "startTime", value = "开始时间") + private String startTime; + + /** + * 结束时间 + */ + @ApiModelProperty(name = "endTime", value = "结束时间") + private String endTime; } diff --git a/src/main/java/com/chenxuan/entity/vo/BusiCenterThresholdConfVo.java b/src/main/java/com/chenxuan/entity/vo/BusiCenterThresholdConfVo.java index adb68cd..6354b7f 100644 --- a/src/main/java/com/chenxuan/entity/vo/BusiCenterThresholdConfVo.java +++ b/src/main/java/com/chenxuan/entity/vo/BusiCenterThresholdConfVo.java @@ -7,7 +7,7 @@ import java.io.Serializable; /** * @ClassName:BusiCenterThresholdConfVo - * @Description: 中心点电流阈值配置表Vo + * @Description: 中性点电流阈值配置表Vo * @Author:Jordan_Li * @CreatTime:6/8/2020 - 13:15 PM * @Version V1.0 @@ -54,21 +54,21 @@ public class BusiCenterThresholdConfVo implements Serializable { private String negative; /** - * 中心点电流日增长率(%) + * 中性点电流日增长率(%) */ - @ApiModelProperty(name = "dayRate", value = "中心点电流日增长率(%)") + @ApiModelProperty(name = "dayRate", value = "中性点电流日增长率(%)") private String dayRate; /** - * 中心点电流月增长率(%) + * 中性点电流月增长率(%) */ - @ApiModelProperty(name = "monthRate", value = "中心点电流月增长率(%)") + @ApiModelProperty(name = "monthRate", value = "中性点电流月增长率(%)") private String monthRate; /** - * 中心点电流月偏差率(%) + * 中性点电流月偏差率(%) */ - @ApiModelProperty(name = "deviationRate", value = "中心点电流月偏差率(%)") + @ApiModelProperty(name = "deviationRate", value = "中性点电流月偏差率(%)") private String deviationRate; /** diff --git a/src/main/java/com/chenxuan/entity/vo/BusiEnvironmentRealDetailsVo.java b/src/main/java/com/chenxuan/entity/vo/BusiEnvironmentRealDetailsVo.java new file mode 100644 index 0000000..99a34fe --- /dev/null +++ b/src/main/java/com/chenxuan/entity/vo/BusiEnvironmentRealDetailsVo.java @@ -0,0 +1,77 @@ +package com.chenxuan.entity.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +/** + * @ClassName:BusiEnvironmentRealDetailsVo + * @Description: 中性点实时数据明细Vo + * @Author:Jordan_Li + * @CreatTime:6/19/2020 - 13:50 PM + * @Version V1.0 + */ +@Data +public class BusiEnvironmentRealDetailsVo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ApiModelProperty(name = "id", value = "主键id") + private String id; + + /** + * 主变id + */ + @ApiModelProperty(name = "mainId", value = "主变id") + private String mainId; + + /** + * 设备名称 + */ + @ApiModelProperty(name = "deviceName", value = "设备名称") + private String deviceName; + + /** + * 温度 + */ + @ApiModelProperty(value="温度", name="temp") + @TableField("temp") + private String temp; + + /** + * 湿度 + */ + @ApiModelProperty(value="湿度", name="humidity") + @TableField("humidity") + private String humidity; + + /** + * 创建时间 + */ + @ApiModelProperty(name = "insTime", value = "创建时间") + private String insTime; + + /** + * hbase中的rowkey + */ + @ApiModelProperty(name = "hbaseRowkey", value = "hbase中的rowkey") + private String hbaseRowkey; + + /** + * 统计时间 + */ + @ApiModelProperty(name = "createTime", value = "统计时间") + private String createTime; + + /** + * 负载类型 + */ + @ApiModelProperty(name = "loadType", value = "负载类型") + private String loadType; +} diff --git a/src/main/java/com/chenxuan/entity/vo/BusiEnvironmentRealVo.java b/src/main/java/com/chenxuan/entity/vo/BusiEnvironmentRealVo.java new file mode 100644 index 0000000..3c20fe2 --- /dev/null +++ b/src/main/java/com/chenxuan/entity/vo/BusiEnvironmentRealVo.java @@ -0,0 +1,84 @@ +package com.chenxuan.entity.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * @ClassName:BusiEnvironmentRealVo + * @Description: 中性点实时数据Vo + * @Author:Jordan_Li + * @CreatTime:6/19/2020 - 13:50 PM + * @Version V1.0 + */ +@Data +public class BusiEnvironmentRealVo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ApiModelProperty(name = "id", value = "主键id") + private String id; + + /** + * 主变id + */ + @ApiModelProperty(name = "mainId", value = "主变id") + private String mainId; + + /** + * 设备名称 + */ + @ApiModelProperty(name = "deviceName", value = "设备名称") + private String deviceName; + + /** + * 温度 + */ + @ApiModelProperty(value="温度", name="temp") + @TableField("temp") + private List temp; + + /** + * 湿度 + */ + @ApiModelProperty(value="湿度", name="humidity") + @TableField("humidity") + private List humidity; + + /** + * 统计时间集合 + */ + @ApiModelProperty(name = "gatherTimeList", value = "统计时间集合") + private List gatherTimeList; + + /** + * 负载类型 + */ + @ApiModelProperty(name = "loadType", value = "负载类型") + private String loadType; + + /** + * 创建时间 + */ + @ApiModelProperty(name = "insTime", value = "创建时间") + private String insTime; + + /** + * hbase中的rowkey + */ + @ApiModelProperty(name = "hbaseRowkey", value = "hbase中的rowkey") + private String hbaseRowkey; + + /** + * 统计时间 + */ + @ApiModelProperty(name = "createTime", value = "统计时间") + private String createTime; +} diff --git a/src/main/java/com/chenxuan/entity/vo/BusiEnvironmentThresholdConfVo.java b/src/main/java/com/chenxuan/entity/vo/BusiEnvironmentThresholdConfVo.java new file mode 100644 index 0000000..8a599f3 --- /dev/null +++ b/src/main/java/com/chenxuan/entity/vo/BusiEnvironmentThresholdConfVo.java @@ -0,0 +1,109 @@ +package com.chenxuan.entity.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @ClassName:BusiCenterThresholdConfVo + * @Description: 中性点电流阈值配置表Vo + * @Author:Jordan_Li + * @CreatTime:6/8/2020 - 13:15 PM + * @Version V1.0 + */ +@Data +public class BusiEnvironmentThresholdConfVo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ApiModelProperty(name = "id", value = "主键id") + private String id; + + /** + * 主变id + */ + @ApiModelProperty(name = "mainId", value = "主变id") + private String mainId; + + /** + * 主变装置id + */ + @ApiModelProperty(name = "subId", value = "主变装置id") + private String subId; + + /** + * 主变名称 + */ + @ApiModelProperty(name = "deviceName", value = "主变名称") + private String deviceName; + + /** + * 温度 + */ + @ApiModelProperty(name = "temp", value = "温度") + private String temp; + + /** + * 湿度 + */ + @ApiModelProperty(name = "humidity", value = "湿度") + private String humidity; + + /** + * 温度日增长率(%) + */ + @ApiModelProperty(name = "dayRate", value = "温度日增长率(%)") + private String dayRate; + + /** + * 温度月增长率(%) + */ + @ApiModelProperty(name = "monthRate", value = "温度月增长率(%)") + private String monthRate; + + /** + * 温度月偏差率(%) + */ + @ApiModelProperty(name = "deviationRate", value = "温度月偏差率(%)") + private String deviationRate; + + /** + * 湿度日增长率(%) + */ + @ApiModelProperty(name = "dayRateHumidity", value = "湿度日增长率(%)") + private String dayRateHumidity; + + /** + * 湿度月增长率(%) + */ + @ApiModelProperty(name = "monthRateHumidity", value = "湿度月增长率(%)") + private String monthRateHumidity; + + /** + * 湿度月偏差率(%) + */ + @ApiModelProperty(name = "deviationRateHumidity", value = "湿度月偏差率(%)") + private String deviationRateHumidity; + + /** + * 创建时间 + */ + @ApiModelProperty(name = "insTime", value = "创建时间") + private String insTime; + + /** + * 开始时间 + */ + @ApiModelProperty(name = "startTime", value = "开始时间") + private String startTime; + + /** + * 结束时间 + */ + @ApiModelProperty(name = "endTime", value = "结束时间") + private String endTime; +} diff --git a/src/main/java/com/chenxuan/entity/vo/BusiIedparamVo.java b/src/main/java/com/chenxuan/entity/vo/BusiIedparamVo.java index a8bcc7e..d15287f 100644 --- a/src/main/java/com/chenxuan/entity/vo/BusiIedparamVo.java +++ b/src/main/java/com/chenxuan/entity/vo/BusiIedparamVo.java @@ -28,4 +28,10 @@ public class BusiIedparamVo extends Query implements Serializable { */ @ApiModelProperty(value="振动类型", name="nodeType") private String nodeType; + + /** + * 装置类别: 1振动装置,2噪声装置,3中心点装置 + */ + @ApiModelProperty(value="装置类别: 1振动装置,2噪声装置,3中心点装置", name="deviceType") + private String deviceType; } diff --git a/src/main/java/com/chenxuan/entity/vo/BusiMainDeviceVo.java b/src/main/java/com/chenxuan/entity/vo/BusiMainDeviceVo.java index dc3d196..98d040f 100644 --- a/src/main/java/com/chenxuan/entity/vo/BusiMainDeviceVo.java +++ b/src/main/java/com/chenxuan/entity/vo/BusiMainDeviceVo.java @@ -48,6 +48,12 @@ public class BusiMainDeviceVo implements Serializable { @ApiModelProperty(value = "设备型号", name = "deviceModel") private String deviceModel; + /** + * 设备类型 + */ + @ApiModelProperty(value = "设备类型", name = "deviceType") + private String deviceType; + /** * 制造厂家名称 */ diff --git a/src/main/java/com/chenxuan/entity/vo/BusiModbusParamBindVo.java b/src/main/java/com/chenxuan/entity/vo/BusiModbusParamBindVo.java new file mode 100644 index 0000000..2a2b15c --- /dev/null +++ b/src/main/java/com/chenxuan/entity/vo/BusiModbusParamBindVo.java @@ -0,0 +1,101 @@ +package com.chenxuan.entity.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +@Data +public class BusiModbusParamBindVo implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ApiModelProperty(name = "id", value = "主键id") + private String id; + + /** + * 状态 Y:启用 N:禁用/预留 + */ + @ApiModelProperty(value = "状态 Y:启用 N:禁用/预留", name = "state") + private String state; + + /** + * 主变ID + */ + @ApiModelProperty(value = "主变ID", name = "mainId") + private String mainId; + + /** + * 主变名称 + */ + @ApiModelProperty(value = "主变ID", name = "mainName") + private String mainName; + + + /** + * 装置ID + */ + @ApiModelProperty(value = "主变ID", name = "subId") + private String subId; + + /** + * 装置名称 + */ + @ApiModelProperty(value = "主变ID", name = "subName") + private String subName; + + /** + * Sensor编码 + */ + @ApiModelProperty(value = "Sensor编码", name = "sensorCode") + private String sensorCode; + + /** + * P:原边 S:副边 + */ + @ApiModelProperty(value = "P:原边 S:副边", name = "side") + private String side; + + /** + * 相位 A:B:C:O:全相 + */ + @ApiModelProperty(value = "相位 A:B:C:O:全相", name = "phase") + private String phase; + + /** + * 上下侧 U:上侧 D:下侧 + */ + @ApiModelProperty(value = "上下侧 U:上侧 D:下侧", name = "inOut") + private String inOut; + + /** + * 上下侧 U:上侧 D:下侧 + */ + @ApiModelProperty(value = "上下侧 U:上侧 D:下侧", name = "frequency") + private String frequency; + + /** + * 装置类别 1:振动装置 2:噪声装置 3:中心点装置 4:其他 + */ + @ApiModelProperty(value = "装置类别 1:振动装置 2:噪声装置 3:中心点装置 4:其他", name = "deviceType") + private String deviceType; + + /** + * 寄存器地址 + */ + @ApiModelProperty(value = "寄存器地址", name = "addr") + private int addr; + + /** + * 寄存器类型 EX:异常检测 ST:状态量YX; MX:模拟量YC; SE:控制量 + */ + @ApiModelProperty(value = "寄存器类型 EX:异常检测 ST:状态量YX; MX:模拟量YC; SE:控制量", name = "addrType") + private String addrType; + + /** + * 寄存器类型 EX:异常检测 ST:状态量YX; MX:模拟量YC; SE:控制量 + */ + @ApiModelProperty(value = "寄存器描述", name = "adrdesc") + private String adrdesc; +} diff --git a/src/main/java/com/chenxuan/entity/vo/BusiModbusTemplateVo.java b/src/main/java/com/chenxuan/entity/vo/BusiModbusTemplateVo.java new file mode 100644 index 0000000..3fd6a9d --- /dev/null +++ b/src/main/java/com/chenxuan/entity/vo/BusiModbusTemplateVo.java @@ -0,0 +1,40 @@ +package com.chenxuan.entity.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +@Data +public class BusiModbusTemplateVo implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ApiModelProperty(name = "id", value = "主键id") + private String id; + + /** + * 寄存器地址 + */ + @ApiModelProperty(value = "寄存器地址", name = "addr") + private int addr; + + /** + * 寄存器类型 + */ + @ApiModelProperty(value = "寄存器类型, EX: 自检量 ST:状态量YX; MX:模拟量YC; SE:控制量; TM:时钟", name = "addrType") + private String addrType; + + /** + * 寄存器描述 + */ + @ApiModelProperty(value = "寄存器描述", name = "adrdesc") + private String adrdesc; + + /** + * 装置类型:1振动装置,2噪声装置,3中心点装置,4其他 + */ + @ApiModelProperty(value = "装置类型:1振动装置,2噪声装置,3中心点装置,4其他", name = "deviceType") + private String deviceType; +} diff --git a/src/main/java/com/chenxuan/entity/vo/BusiNoiseRealVo.java b/src/main/java/com/chenxuan/entity/vo/BusiNoiseRealVo.java index 207718d..e9d6935 100644 --- a/src/main/java/com/chenxuan/entity/vo/BusiNoiseRealVo.java +++ b/src/main/java/com/chenxuan/entity/vo/BusiNoiseRealVo.java @@ -72,9 +72,16 @@ public class BusiNoiseRealVo implements Serializable { @ApiModelProperty(value = "最大幅值集合", name = "maxAmplitudeList") private List maxAmplitudeList; + /** + * startTime + */ + @ApiModelProperty(value = "startTime", name = "startTime") + private String startTime; + /** * 统计时间 + * */ - @ApiModelProperty(value = "统计时间", name = "createTime") - private String createTime; + @ApiModelProperty(value = "endtime", name = "endtime") + private String endtime; } diff --git a/src/main/java/com/chenxuan/entity/vo/BusiParamBindVo.java b/src/main/java/com/chenxuan/entity/vo/BusiParamBindVo.java index 84a1f5d..4c620e0 100644 --- a/src/main/java/com/chenxuan/entity/vo/BusiParamBindVo.java +++ b/src/main/java/com/chenxuan/entity/vo/BusiParamBindVo.java @@ -62,4 +62,16 @@ public class BusiParamBindVo implements Serializable { */ @ApiModelProperty(value="频率(Hz)", name="subDeviceName") private String subDeviceName; + /** + * 监测类型: 1=振动监测 2=振动告警 3=噪声监测 4=噪声告警 5=中心点监测 6=中心点告警 + */ + @ApiModelProperty(value="监测类型: 1=振动监测 2=振动告警 3=噪声监测 4=噪声告警 5=中心点监测 6=中心点告警", name="monitype") + private String monitype; + + /** + * 装置类别: 1振动装置,2噪声装置,3中心点装置 + */ + @ApiModelProperty(value="装置类别: 1振动装置,2噪声装置,3中心点装置", name="deviceType") + private String deviceType; + } diff --git a/src/main/java/com/chenxuan/entity/vo/BusiWarningVo.java b/src/main/java/com/chenxuan/entity/vo/BusiWarningVo.java index c54f5ce..ac7c14e 100644 --- a/src/main/java/com/chenxuan/entity/vo/BusiWarningVo.java +++ b/src/main/java/com/chenxuan/entity/vo/BusiWarningVo.java @@ -133,6 +133,18 @@ public class BusiWarningVo implements Serializable { @ApiModelProperty(name = "currentThreshold", value = "电流阈值") private String currentThreshold; + /** + * 温度阈值 + */ + @ApiModelProperty(name = "tempThreshold", value = "温度阈值") + private String tempThreshold; + + /** + * 湿度阈值 + */ + @ApiModelProperty(name = "humidityThreshold", value = "湿度阈值") + private String humidityThreshold; + /** * 电流增长率 */ diff --git a/src/main/java/com/chenxuan/entity/vo/DeviceNumVo.java b/src/main/java/com/chenxuan/entity/vo/DeviceNumVo.java new file mode 100644 index 0000000..24292db --- /dev/null +++ b/src/main/java/com/chenxuan/entity/vo/DeviceNumVo.java @@ -0,0 +1,46 @@ +package com.chenxuan.entity.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author plus wang + * @create 2021-11-18 3:24 PM + **/ +@Data +public class DeviceNumVo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 总数 + */ + @ApiModelProperty(name = "total", value = "总数") + private int total; + + /** + * 正常数 + */ + @ApiModelProperty(name = "normal", value = "正常数") + private int normal; + + /** + * 故障数 + */ + @ApiModelProperty(name = "gzNum", value = "故障数") + private int gzNum; + + /** + * 历史故障数 + */ + @ApiModelProperty(name = "totalGZNum", value = "历史故障数") + private int totalGZNum; + + /** + * 异常数 + */ + @ApiModelProperty(name = "ycNum", value = "异常数") + private int ycNum; +} diff --git a/src/main/java/com/chenxuan/mapper/BusiAmpliDayIncreaseMapper.java b/src/main/java/com/chenxuan/mapper/BusiAmpliDayIncreaseMapper.java index ee5c971..a3f7687 100644 --- a/src/main/java/com/chenxuan/mapper/BusiAmpliDayIncreaseMapper.java +++ b/src/main/java/com/chenxuan/mapper/BusiAmpliDayIncreaseMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chenxuan.entity.dto.BusiAmpliRealDto; import com.chenxuan.entity.model.BusiAmpliDayIncrease; +import com.chenxuan.entity.vo.BusiAmpliDayIncreaseRateVo; import com.chenxuan.entity.vo.BusiAmpliDayIncreaseVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -54,6 +55,8 @@ public interface BusiAmpliDayIncreaseMapper extends BaseMapper getCurrentData(@Param("bean") BusiAmpliRealDto dto); + List getCurrentDataRate(@Param("bean") BusiAmpliRealDto dto); + /** * 通过主变ID查询主变装置信息 * @@ -78,5 +81,15 @@ public interface BusiAmpliDayIncreaseMapper extends BaseMapper { */ List findShockRealDetailsByCondition(Page page, @Param("bean") BusiAmpliRealDto busiAmpliRealDto); + + List findShockRealDetailsByConditionByDat( @Param("bean") BusiAmpliDatDto busiAmpliDatDto); /** * 通过条件查询振动实时数据信息 * @@ -99,4 +102,12 @@ public interface BusiAmpliRealMapper extends BaseMapper { * @return */ List getTodayAmpliReal(@Param("bean") BusiAmpliRealDto dto); + + /** + * 获取最新的时间 + * + * @param dtov + * @return + */ + BusiAmpliRealDetailsVo getLatestTime(@Param("bean") BusiAmpliRealDto dtov); } diff --git a/src/main/java/com/chenxuan/mapper/BusiAmpliStatisticsMapper.java b/src/main/java/com/chenxuan/mapper/BusiAmpliStatisticsMapper.java index 6b6f7bf..818eff1 100644 --- a/src/main/java/com/chenxuan/mapper/BusiAmpliStatisticsMapper.java +++ b/src/main/java/com/chenxuan/mapper/BusiAmpliStatisticsMapper.java @@ -25,4 +25,14 @@ public interface BusiAmpliStatisticsMapper extends BaseMapper findAmpliStatisticsByMainIdAndCreateTime(@Param("bean") BusiAmpliRealDto busiAmpliRealDto); + + /** + * 根据时间和主变id获取数据 + * + * @param subId + * @param insTime + * @param frequency + * @return + */ + BusiAmpliStatistics getRealStatisticsByInsTime(String subId, String insTime, String frequency); } diff --git a/src/main/java/com/chenxuan/mapper/BusiAmpliThresholdConfMapper.java b/src/main/java/com/chenxuan/mapper/BusiAmpliThresholdConfMapper.java index 004567c..7b8453d 100644 --- a/src/main/java/com/chenxuan/mapper/BusiAmpliThresholdConfMapper.java +++ b/src/main/java/com/chenxuan/mapper/BusiAmpliThresholdConfMapper.java @@ -71,5 +71,14 @@ public interface BusiAmpliThresholdConfMapper extends BaseMapper { * @return */ List getCalcParamByMainId(String mainId); + + /** + * 获取一级设备分析参数列表 + * + * @param mainId + * @return + */ + List findFirstLevelDatas(@Param("mainId") String mainId); + + /** + * 获取分析参数的子分类列表 + * + * @param mainId + * @param pname + * @return + */ + List findSubDatas(@Param("mainId") String mainId, @Param("pname") String pname); } diff --git a/src/main/java/com/chenxuan/mapper/BusiCenterIncreaseMapper.java b/src/main/java/com/chenxuan/mapper/BusiCenterIncreaseMapper.java index 3060bde..29fe788 100644 --- a/src/main/java/com/chenxuan/mapper/BusiCenterIncreaseMapper.java +++ b/src/main/java/com/chenxuan/mapper/BusiCenterIncreaseMapper.java @@ -3,6 +3,7 @@ package com.chenxuan.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.chenxuan.entity.model.BusiCenterIncrease; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * @author xuan @@ -11,4 +12,22 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface BusiCenterIncreaseMapper extends BaseMapper { + /** + * 根据装置和时间和频率查询数据 + * + * @param subId + * @param dTime + * @return + */ + BusiCenterIncrease getCenterIncrease(String subId, String dTime); + + /** + * 根据时间查询增长率 + * + * @param mainId + * @param dTime + * @return + */ + BusiCenterIncrease getCenterByTime(@Param("mainId") String mainId, @Param("dTime") String dTime); + } diff --git a/src/main/java/com/chenxuan/mapper/BusiCenterRealMapper.java b/src/main/java/com/chenxuan/mapper/BusiCenterRealMapper.java index d29e867..6d64de5 100644 --- a/src/main/java/com/chenxuan/mapper/BusiCenterRealMapper.java +++ b/src/main/java/com/chenxuan/mapper/BusiCenterRealMapper.java @@ -65,6 +65,9 @@ public interface BusiCenterRealMapper extends BaseMapper { */ List findCenterRealDetailsByMainId(Page page, @Param("bean") BusiCenterRealDto dto); + + List findCenterRealDetailsByMainId1(Page page, @Param("bean") BusiCenterRealDto dto); + /** * 导出中心点实时数据详细信息列表 * @@ -78,4 +81,12 @@ public interface BusiCenterRealMapper extends BaseMapper { * @return */ List selectMainDeviceList(); + + /** + * 获取最近一条数据的时间 + * + * @param mainId + * @return + */ + String getLatestTime(@Param("mainId") String mainId); } diff --git a/src/main/java/com/chenxuan/mapper/BusiCenterRealStatisticsMapper.java b/src/main/java/com/chenxuan/mapper/BusiCenterRealStatisticsMapper.java index 0e72a8b..e25031e 100644 --- a/src/main/java/com/chenxuan/mapper/BusiCenterRealStatisticsMapper.java +++ b/src/main/java/com/chenxuan/mapper/BusiCenterRealStatisticsMapper.java @@ -12,5 +12,14 @@ import java.util.List; @Mapper public interface BusiCenterRealStatisticsMapper extends BaseMapper { + List selectMainDeviceList(); + + /** + * 根据时间和主变id获取数据 + * + * @param mainId + * @param insTime + */ + BusiCenterRealStatistics getRealStatisticsByInsTime(String mainId, String insTime); } diff --git a/src/main/java/com/chenxuan/mapper/BusiCenterThresholdConfMapper.java b/src/main/java/com/chenxuan/mapper/BusiCenterThresholdConfMapper.java index d8c807f..ab59d5c 100644 --- a/src/main/java/com/chenxuan/mapper/BusiCenterThresholdConfMapper.java +++ b/src/main/java/com/chenxuan/mapper/BusiCenterThresholdConfMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chenxuan.entity.dto.BusiCenterThresholdConfDto; import com.chenxuan.entity.model.BusiCenterThresholdConf; import com.chenxuan.entity.vo.BusiCenterThresholdConfVo; +import com.chenxuan.entity.vo.BusiEnvironmentThresholdConfVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -53,7 +54,7 @@ public interface BusiCenterThresholdConfMapper extends BaseMapper selectPages(Page page, @Param("params") Map params); - + /** * 保存通信参数信息 - * @param busiCommunicationParameters 通信参数对象 + * + * @param busiCommunicationParameters 通信参数对象 * @return 结果 */ int saveBusiCommunicationParameters(BusiCommunicationParameters busiCommunicationParameters); - + /** * 更新通信参数信息 - * @param busiCommunicationParameters 通信参数对象 + * + * @param busiCommunicationParameters 通信参数对象 * @return 结果 */ int updateBusiCommunicationParameters(BusiCommunicationParameters busiCommunicationParameters); - + /** * 通过通信参数ID查询通信参数信息 * - * @param id 通信参数ID - * @return 通信参数信息 + * @param id 通信参数ID + * @return 通信参数信息 */ - public BusiCommunicationParameters findBusiCommunicationParametersById(String id); - + BusiCommunicationParameters findBusiCommunicationParametersById(String id); + /** * 通过ID删除配置信息 * @@ -62,9 +63,19 @@ public interface BusiCommunicationParametersMapper extends BaseMapper findBusiCommunicationParametersByProtocol(BusiCommunicationParameters entity); + + /** + * 启用禁用 + * + * @param communicationInterface + * @param protocol + * @return */ - public List findBusiCommunicationParametersByProtocol(String protocol); + int enableAndDisable(@Param("communicationInterface") String communicationInterface, + @Param("protocol") String protocol); } diff --git a/src/main/java/com/chenxuan/mapper/BusiEnvironmentRealMapper.java b/src/main/java/com/chenxuan/mapper/BusiEnvironmentRealMapper.java new file mode 100644 index 0000000..50655f3 --- /dev/null +++ b/src/main/java/com/chenxuan/mapper/BusiEnvironmentRealMapper.java @@ -0,0 +1,89 @@ +package com.chenxuan.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chenxuan.entity.dto.BusiEnvironmentRealDto; +import com.chenxuan.entity.model.BusiEnvironmentReal; +import com.chenxuan.entity.model.ExportData; +import com.chenxuan.entity.vo.BusiEnvironmentRealDetailsVo; +import com.chenxuan.entity.vo.BusiEnvironmentRealVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + + +/** + * @ClassName:BusiEnvironmentRealMapper + * @Description: 环境监测实时数据信息Mapper接口. + * @Author: Jordan_Li + * @CreatTime:6/16/2020 14:55 PM + * @Version V1.0 + */ + +@Mapper +public interface BusiEnvironmentRealMapper extends BaseMapper { + + /** + * 保存环境监测实时数据信息 + * + * @param busiEnvironmentRealList 环境监测实时数据对象 + * @return 结果 + */ + int saveEnvironmentReal(List busiEnvironmentRealList); + + /** + * 通过主变ID查询环境监测实时数据信息 + * + * @param mainId + * @return + */ + List findEnvironmentRealByMainId(String mainId, String insTime); + + /** + * 通过条件查询环境监测实时数据信息 + * + * @param busiEnvironmentRealDto + * @return + */ + List findEnvironmentRealChartByInfo(@Param("bean") BusiEnvironmentRealDto busiEnvironmentRealDto); + + /** + * 通过主变ID和日期查询环境监测实时数据信息 + * + * @param busiEnvironmentRealVo + * @return + */ + List findEnvironmentRealByMainIdAndCreateTime(@Param("bean") BusiEnvironmentRealVo busiEnvironmentRealVo); + + /** + * 通过主变ID查询环境监测实时数据详细信息 + * + * @param page + * @param dto + * @return + */ + List findEnvironmentRealDetailsByMainId(Page page, @Param("bean") BusiEnvironmentRealDto dto); + + /** + * 导出环境监测实时数据详细信息列表 + * + * @param page + * @param dto + * @return + */ + List exportEnvironmentRealDetails(Page page, @Param("bean") BusiEnvironmentRealDto dto); + + /** + * @return + */ + List selectMainDeviceList(); + + /** + * 获取最近一条数据的时间 + * + * @param mainId + * @return + */ + String getLatestTime(@Param("mainId") String mainId); +} diff --git a/src/main/java/com/chenxuan/mapper/BusiEnvironmentThresholdConfMapper.java b/src/main/java/com/chenxuan/mapper/BusiEnvironmentThresholdConfMapper.java new file mode 100644 index 0000000..edf6e56 --- /dev/null +++ b/src/main/java/com/chenxuan/mapper/BusiEnvironmentThresholdConfMapper.java @@ -0,0 +1,77 @@ +package com.chenxuan.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chenxuan.entity.dto.BusiEnvironmentThresholdConfDto; +import com.chenxuan.entity.model.BusiEnvironmentThresholdConf; +import com.chenxuan.entity.vo.BusiEnvironmentThresholdConfVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + + +/** + * @ClassName:BusiCenterThresholdConfMapper + * @Description: 环境阈值配置Mapper接口. + * @Author: Jordan_Li + * @CreatTime:6/8/2020 15:12 PM + * @Version V1.0 + */ + +@Mapper +public interface BusiEnvironmentThresholdConfMapper extends BaseMapper { + + /** + * @Description: 分页 + * + * @Param page + * @Param params + * @Return: 环境阈值配置集合信息 + **/ + List selectPages(Page page, @Param("params") BusiEnvironmentThresholdConfDto dto); + + /** + * 保存环境阈值配置信息 + * + * @param busiEnvironmentThresholdConf + * @return + */ + int saveThresholdConf(BusiEnvironmentThresholdConf busiEnvironmentThresholdConf); + + /** + * 更新环境阈值配置信息 + * + * @param busiEnvironmentThresholdConf + * @return + */ + int updateThresholdConf(BusiEnvironmentThresholdConf busiEnvironmentThresholdConf); + + /** + * 通过主变ID删除对应的环境阈值配置信息 + * + * @param mainId 主变ID + * @return 结果 + */ + int deleteThresholdConfByMainId(String mainId); + + /** + * 通过主变ID删除对应的环境阈值配置关系 + * + * @param mainId + * @return + */ + int deleteThresholdConfRelation(String mainId); + + /** + * 通过id删除环境阈值配置信息 + * + * @param id 环境阈值配置ID + * @return 结果 + */ + int delete(String id); + + BusiEnvironmentThresholdConfVo findEnvironmentThresholdConfByMainId(String mainId); + + BusiEnvironmentThresholdConfVo findThresholdConfByMainId(String mainId); +} diff --git a/src/main/java/com/chenxuan/mapper/BusiIedparamMapper.java b/src/main/java/com/chenxuan/mapper/BusiIedparamMapper.java index b638199..001bb54 100644 --- a/src/main/java/com/chenxuan/mapper/BusiIedparamMapper.java +++ b/src/main/java/com/chenxuan/mapper/BusiIedparamMapper.java @@ -8,6 +8,6 @@ import java.util.List; @Mapper public interface BusiIedparamMapper { - - List quereyIcdById(@Param("nodeId") String nodeId); + List quereyIcdById(@Param("nodeId") String nodeId,@Param("deviceType") String deviceType); + List queryParamsName(@Param("deviceType") String deviceType); } diff --git a/src/main/java/com/chenxuan/mapper/BusiMainDeviceMapper.java b/src/main/java/com/chenxuan/mapper/BusiMainDeviceMapper.java index a09a185..2a2347c 100644 --- a/src/main/java/com/chenxuan/mapper/BusiMainDeviceMapper.java +++ b/src/main/java/com/chenxuan/mapper/BusiMainDeviceMapper.java @@ -91,4 +91,13 @@ public interface BusiMainDeviceMapper extends BaseMapper { */ List getAllMainDevice(); + + + Integer findInterval(); + + Integer selectGZDevice(String endTime, String startTime); + + Integer selectYCDevice(String endTime, String startTime); + + Integer selectTotalGZDevice(); } diff --git a/src/main/java/com/chenxuan/mapper/BusiModbusParamBindMapper.java b/src/main/java/com/chenxuan/mapper/BusiModbusParamBindMapper.java new file mode 100644 index 0000000..54da98d --- /dev/null +++ b/src/main/java/com/chenxuan/mapper/BusiModbusParamBindMapper.java @@ -0,0 +1,17 @@ +package com.chenxuan.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chenxuan.entity.dto.BusiModbusParamBindDto; +import com.chenxuan.entity.model.BusiModbusParamBind; +import com.chenxuan.entity.vo.BusiModbusParamBindVo; +import org.apache.ibatis.annotations.Param; +import org.mapstruct.Mapper; + +import java.util.List; + +@Mapper +public interface BusiModbusParamBindMapper extends BaseMapper { + int addModbusParamBind(BusiModbusParamBind busiModbusParamBind); + List queryModbusParamBind(Page page, @Param("params") BusiModbusParamBindDto dto); +} diff --git a/src/main/java/com/chenxuan/mapper/BusiModbusTemplateMapper.java b/src/main/java/com/chenxuan/mapper/BusiModbusTemplateMapper.java new file mode 100644 index 0000000..90e7500 --- /dev/null +++ b/src/main/java/com/chenxuan/mapper/BusiModbusTemplateMapper.java @@ -0,0 +1,16 @@ +package com.chenxuan.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.chenxuan.entity.dto.BusiModbusTemplateDto; +import com.chenxuan.entity.model.BusiModbusTemplate; +import com.chenxuan.entity.vo.BusiModbusTemplateVo; +import org.apache.ibatis.annotations.Param; +import org.mapstruct.Mapper; + +import java.util.List; + +@Mapper +public interface BusiModbusTemplateMapper extends BaseMapper { + List queryModbusTemplate(@Param("param") BusiModbusTemplateDto param); + public int delBusiModbusParamBind(int[] ids); +} diff --git a/src/main/java/com/chenxuan/mapper/BusiNoiseIncreaseMapper.java b/src/main/java/com/chenxuan/mapper/BusiNoiseIncreaseMapper.java index 6f2ee23..553201c 100644 --- a/src/main/java/com/chenxuan/mapper/BusiNoiseIncreaseMapper.java +++ b/src/main/java/com/chenxuan/mapper/BusiNoiseIncreaseMapper.java @@ -3,6 +3,7 @@ package com.chenxuan.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.chenxuan.entity.model.BusiNoiseIncrease; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * @author Carrey Zheng @@ -11,4 +12,22 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface BusiNoiseIncreaseMapper extends BaseMapper { + /** + * 根据装置和时间和频率查询数据 + * + * @param subId + * @param dTime + * @return + */ + BusiNoiseIncrease getNoiseIncrease(String subId, String dTime); + + /** + * 根据时间查询增长率 + * + * @param mainId + * @param dTime + * @return + */ + BusiNoiseIncrease getNoiseByTime(@Param("mainId") String mainId, @Param("dTime") String dTime); + } diff --git a/src/main/java/com/chenxuan/mapper/BusiNoiseRealMapper.java b/src/main/java/com/chenxuan/mapper/BusiNoiseRealMapper.java index 6f7f2bc..e5bf743 100644 --- a/src/main/java/com/chenxuan/mapper/BusiNoiseRealMapper.java +++ b/src/main/java/com/chenxuan/mapper/BusiNoiseRealMapper.java @@ -63,6 +63,8 @@ public interface BusiNoiseRealMapper extends BaseMapper { */ List findNoiseRealDetailsByMainId(Page page, @Param("bean") BusiNoiseRealDto dto); + List findNoiseRealDetailsByMainId1(Page page, @Param("bean") BusiNoiseRealDto dto); + /** * 导出噪声实时数据详细信息列表 * @@ -73,4 +75,12 @@ public interface BusiNoiseRealMapper extends BaseMapper { List exportNoiseRealDetails(Page page, @Param("bean") BusiNoiseRealDto dto); List selectMainDeviceList(); + + /** + * 获取最近一条数据的时间 + * + * @param mainId + * @return + */ + String getLatestTime(@Param("mainId") String mainId); } diff --git a/src/main/java/com/chenxuan/mapper/BusiNoiseRealStatisticsMapper.java b/src/main/java/com/chenxuan/mapper/BusiNoiseRealStatisticsMapper.java index 493a7cd..ebea94d 100644 --- a/src/main/java/com/chenxuan/mapper/BusiNoiseRealStatisticsMapper.java +++ b/src/main/java/com/chenxuan/mapper/BusiNoiseRealStatisticsMapper.java @@ -3,6 +3,7 @@ package com.chenxuan.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.chenxuan.entity.model.BusiNoiseRealStatistics; import org.apache.ibatis.annotations.Mapper; + import java.util.List; /** @@ -13,4 +14,12 @@ import java.util.List; public interface BusiNoiseRealStatisticsMapper extends BaseMapper { List selectMainDeviceList(); + + /** + * 根据时间和主变id获取数据 + * + * @param mainId + * @param insTime + */ + BusiNoiseRealStatistics getRealStatisticsByInsTime(String mainId, String insTime); } diff --git a/src/main/java/com/chenxuan/mapper/BusiSubDeviceMapper.java b/src/main/java/com/chenxuan/mapper/BusiSubDeviceMapper.java index 9db2dd0..55e76f9 100644 --- a/src/main/java/com/chenxuan/mapper/BusiSubDeviceMapper.java +++ b/src/main/java/com/chenxuan/mapper/BusiSubDeviceMapper.java @@ -30,6 +30,10 @@ public interface BusiSubDeviceMapper extends BaseMapper { **/ List selectPages(Page page, @Param("params") BusiSubDeviceDto dto); + List querySubDevice(@Param("params") BusiSubDeviceDto dto); + + + /** * 主变装置集合信息 * @return @@ -114,5 +118,4 @@ public interface BusiSubDeviceMapper extends BaseMapper { */ int delete(String id); - } diff --git a/src/main/java/com/chenxuan/runner/ScheduleJobInitRunner.java b/src/main/java/com/chenxuan/runner/ScheduleJobInitRunner.java new file mode 100644 index 0000000..78772c8 --- /dev/null +++ b/src/main/java/com/chenxuan/runner/ScheduleJobInitRunner.java @@ -0,0 +1,28 @@ +package com.chenxuan.runner; + +import com.chenxuan.service.ScheduleJobService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; +import org.springframework.stereotype.Component; + +/** + * @ClassName: ScheduleJobInitRunner + * @Description: 监听容器启动,并开始从数据库加在定时任务. + * @Author: Arno + * @Date: 2023/8/12 19:29 + * @version V1.0 + */ +@Slf4j +@Component +public class ScheduleJobInitRunner implements CommandLineRunner { + + @Autowired + private ScheduleJobService scheduleJobService ; + + @Override + public void run(String... args) throws Exception { + log.info("--------加载定时任务--------"); + scheduleJobService.timingTask(); + } +} diff --git a/src/main/java/com/chenxuan/security/service/LoginService.java b/src/main/java/com/chenxuan/security/service/LoginService.java index 2531f60..b6eae7c 100644 --- a/src/main/java/com/chenxuan/security/service/LoginService.java +++ b/src/main/java/com/chenxuan/security/service/LoginService.java @@ -11,8 +11,10 @@ import com.chenxuan.manager.factory.AsyncFactory; import com.chenxuan.security.LoginUser; import com.chenxuan.service.SysUserService; import com.chenxuan.utils.Md5; +import com.chenxuan.utils.RsaUtils; import com.chenxuan.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.HashSet; @@ -41,6 +43,9 @@ public class LoginService { @Autowired private CustomPermissionService customPermissionService; + @Value("${rsa.private_key}") + private String privateKey; + /** * @param username 用户名 * @param password 密码 @@ -49,7 +54,7 @@ public class LoginService { * @return java.lang.String * @description 登录验证 */ - public String login(String username, String password, String code, String uuid) { + public String login(String username, String password, String code, String uuid) throws Exception { String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid; String captcha = redisCacheService.getCacheObject(verifyKey); redisCacheService.deleteObject(verifyKey); @@ -63,7 +68,9 @@ public class LoginService { throw new CustomException("验证码错误", HttpStatusCode.ERROR); } // 生成token - return jwtTokenService.createToken(getLoginUser(username, password)); + // 20230509 前端加密,后端先解密再进行逻辑判断 + String decryptPassword = RsaUtils.decryptByPrivateKey(privateKey, password); + return jwtTokenService.createToken(getLoginUser(username, decryptPassword)); } @@ -73,9 +80,11 @@ public class LoginService { * @param password 密码 * @return */ - public String remoteLogin(String username, String password) { + public String remoteLogin(String username, String password) throws Exception { // 生成token - return jwtTokenService.createToken(getLoginUser(username, password)); + // 解密前端密码 + String decryptPassword = RsaUtils.decryptByPrivateKey(privateKey, password); + return jwtTokenService.createToken(getLoginUser(username, decryptPassword)); } /** diff --git a/src/main/java/com/chenxuan/service/BusiAmpliRealService.java b/src/main/java/com/chenxuan/service/BusiAmpliRealService.java index e3664d2..e980ea5 100644 --- a/src/main/java/com/chenxuan/service/BusiAmpliRealService.java +++ b/src/main/java/com/chenxuan/service/BusiAmpliRealService.java @@ -1,18 +1,17 @@ package com.chenxuan.service; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.chenxuan.entity.dto.BusiAmpliDatDto; import com.chenxuan.entity.dto.BusiAmpliRealDto; import com.chenxuan.entity.model.BusiAmpliReal; -import com.chenxuan.entity.vo.BusiAmpliRealDetailsVo; +import com.chenxuan.entity.vo.BusiAmpliDatList1Vo; +import com.chenxuan.entity.vo.BusiAmpliReaPageVo; import com.chenxuan.entity.vo.BusiAmpliRealVo; import com.chenxuan.entity.vo.TableVo; import java.util.List; import java.util.Map; - /** * @ClassName:BusiAmpliRealService * @Description: 振动实时数据服务类. @@ -44,7 +43,9 @@ public interface BusiAmpliRealService extends IService { * @param busiAmpliRealDto * @return */ - Page getShockRealDetailsByCondition(BusiAmpliRealDto busiAmpliRealDto); + BusiAmpliReaPageVo getShockRealDetailsByCondition(BusiAmpliDatDto busiAmpliDatDto); + + BusiAmpliDatList1Vo getShockRealDetailsByConditionDat(BusiAmpliRealDto busiAmpliRealDto); /** * 根据条件查询振动实时数据谱图信息 @@ -55,20 +56,20 @@ public interface BusiAmpliRealService extends IService { BusiAmpliRealVo getShockRealChartByInfo(BusiAmpliRealDto busiAmpliRealDto); /** - * 根据条件查询振动实时数据三维图信息 + * 根据条件查询振动日和月增长率数据谱图信息 * * @param busiAmpliRealDto * @return */ - BusiAmpliRealVo getAmpliRealThreeChart(BusiAmpliRealDto busiAmpliRealDto); + BusiAmpliRealVo getShockRealChartByDayOrMonthInfo(BusiAmpliRealDto busiAmpliRealDto); /** - * 加载振动实时数据详细信息明细三级界面 + * 根据条件查询振动实时数据三维图信息 * * @param busiAmpliRealDto * @return */ - Page showShockRealDetailsPages(BusiAmpliRealDto busiAmpliRealDto); + BusiAmpliRealVo getAmpliRealThreeChart(BusiAmpliRealDto busiAmpliRealDto); /** * 加载详情 @@ -79,24 +80,9 @@ public interface BusiAmpliRealService extends IService { Map loadingDetails(BusiAmpliRealDto dto); /** - * 重新计算 - * - * @param dto - * @return - */ - Map recount(BusiAmpliRealDto dto); - - /** - * 获取频率 + * 查询主变列表 * - * @param mainId * @return */ - List selectShockRealFrequencyByMainId(String mainId); - List selectMainDeviceList(); - - List selectShockRealDataByMainId(String mainId); - - List selectShockRealDataByMainIdAndParseAndSideAndInout(String mainId, String P, String A, String U); } diff --git a/src/main/java/com/chenxuan/service/BusiCenterRealService.java b/src/main/java/com/chenxuan/service/BusiCenterRealService.java index e83ac80..03a18ef 100644 --- a/src/main/java/com/chenxuan/service/BusiCenterRealService.java +++ b/src/main/java/com/chenxuan/service/BusiCenterRealService.java @@ -13,7 +13,7 @@ import java.util.List; /** * @ClassName:BusiCenterRealService - * @Description: 中心点实时数据服务类. + * @Description: 中性点实时数据服务类. * @Author: Jordan_Li * @CreatTime:6/16/2020 14:35 PM * @Version V1.0 @@ -21,15 +21,16 @@ import java.util.List; public interface BusiCenterRealService extends IService { /** - * 根据主变ID查询中心点实时数据信息 + * 根据主变ID查询中性点实时数据信息 * * @param mainId * @return */ List selectCenterRealByMainId(String mainId); + /** - * 新增中心点实时数据信息 + * 新增中性点实时数据信息 * * @param busiCenterRealList * @return @@ -37,7 +38,7 @@ public interface BusiCenterRealService extends IService { boolean insertCenterReal(List busiCenterRealList); /** - * 通过条件查询中心点实时数据信息 + * 通过条件查询中性点实时数据信息 * * @param busiCenterRealDto * @return @@ -45,7 +46,7 @@ public interface BusiCenterRealService extends IService { BusiCenterRealVo findCenterRealChartByInfo(BusiCenterRealDto busiCenterRealDto); /** - * 根据主变ID和日期查询中心点实时数据信息 + * 根据主变ID和日期查询中性点实时数据信息 * * @param busiCenterRealVo * @return @@ -53,7 +54,7 @@ public interface BusiCenterRealService extends IService { BusiCenterRealVo selectCenterRealByMainIdAndCreateTime(BusiCenterRealVo busiCenterRealVo); /** - * 根据主变ID查询中心点实时数据分页信息 + * 根据主变ID查询中性点实时数据分页信息 * * @param dto * @return @@ -62,13 +63,16 @@ public interface BusiCenterRealService extends IService { /** - * 根据主变ID查询中心点实时数据详细信息 + * 根据主变ID查询中性点实时数据详细信息 * * @param dto * @return */ Page getCenterRealDetailsByMainId(BusiCenterRealDto dto); + + Page getCenterRealDetailsByMainId1(BusiCenterRealDto dto); + List selectMainDeviceList(); List selectCenterRealDataByMainId(String mainId); diff --git a/src/main/java/com/chenxuan/service/BusiCenterThresholdConfService.java b/src/main/java/com/chenxuan/service/BusiCenterThresholdConfService.java index 0d8f808..806ae43 100644 --- a/src/main/java/com/chenxuan/service/BusiCenterThresholdConfService.java +++ b/src/main/java/com/chenxuan/service/BusiCenterThresholdConfService.java @@ -6,10 +6,11 @@ import com.chenxuan.base.entity.AjaxResult; import com.chenxuan.entity.dto.BusiCenterThresholdConfDto; import com.chenxuan.entity.model.BusiCenterThresholdConf; import com.chenxuan.entity.vo.BusiCenterThresholdConfVo; +import com.chenxuan.entity.vo.BusiEnvironmentThresholdConfVo; /** * @ClassName:BusiCenterThresholdConfService - * @Description: 中心点电流阈值配置服务类. + * @Description: 中性点电流阈值配置服务类. * @Author: Jordan_Li * @CreatTime:6/8/2020 14:41 PM * @Version V1.0 @@ -27,7 +28,7 @@ public interface BusiCenterThresholdConfService extends IService { + + /** + * 根据主变ID查询环境监测实时数据信息 + * + * @param mainId + * @return + */ + List selectEnvironmentRealByMainId(String mainId); + + /** + * 新增环境监测实时数据信息 + * + * @param busiEnvironmentRealList + * @return + */ + boolean insertEnvironmentReal(List busiEnvironmentRealList); + + /** + * 通过条件查询环境监测实时数据信息 + * + * @param busiEnvironmentRealDto + * @return + */ + BusiEnvironmentRealVo findEnvironmentRealChartByInfo(BusiEnvironmentRealDto busiEnvironmentRealDto); + + /** + * 根据主变ID和日期查询环境监测实时数据信息 + * + * @param busiEnvironmentRealVo + * @return + */ + BusiEnvironmentRealVo selectEnvironmentRealByMainIdAndCreateTime(BusiEnvironmentRealVo busiEnvironmentRealVo); + + /** + * 根据主变ID查询环境监测实时数据分页信息 + * + * @param dto + * @return + */ + Page getEnvironmentRealDetails(BusiEnvironmentRealDto dto); + + + /** + * 根据主变ID查询环境监测实时数据详细信息 + * + * @param dto + * @return + */ + Page getEnvironmentRealDetailsByMainId(BusiEnvironmentRealDto dto); + + List selectMainDeviceList(); + + List selectEnvironmentRealDataByMainId(String mainId); +} diff --git a/src/main/java/com/chenxuan/service/BusiEnvironmentThresholdConfService.java b/src/main/java/com/chenxuan/service/BusiEnvironmentThresholdConfService.java new file mode 100644 index 0000000..4f79764 --- /dev/null +++ b/src/main/java/com/chenxuan/service/BusiEnvironmentThresholdConfService.java @@ -0,0 +1,66 @@ +package com.chenxuan.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.chenxuan.base.entity.AjaxResult; +import com.chenxuan.entity.dto.BusiEnvironmentThresholdConfDto; +import com.chenxuan.entity.model.BusiEnvironmentThresholdConf; +import com.chenxuan.entity.vo.BusiEnvironmentThresholdConfVo; + +/** + * @ClassName:BusiEnvironmentThresholdConfService + * @Description: 环境阈值配置服务类. + * @Author: Jordan_Li + * @CreatTime:6/8/2020 14:41 PM + * @Version V1.0 + */ +public interface BusiEnvironmentThresholdConfService extends IService { + + /** + * @Description: 分页 + * @Param:queryParam + * @Return: com.baomidou.mybatisplus.extension.plugins.pagination.Page + **/ + Page page(BusiEnvironmentThresholdConfDto busiEnvironmentThresholdConfDto); + + /** + * 新增阈值配置信息 + * + * @param busiEnvironmentThresholdConf + * @return 结果 + */ + AjaxResult insertThresholdConf(BusiEnvironmentThresholdConf busiEnvironmentThresholdConf); + + + /** + * 修改阈值配置信息 + * + * @param busiEnvironmentThresholdConf 环境阈值信息 + * @return 结果 + */ + AjaxResult updateThresholdConf(BusiEnvironmentThresholdConf busiEnvironmentThresholdConf); + + /** + * 通过主变ID删除阈值配置信息 + * + * @param mainId 主变ID + * @return 结果 + */ + boolean deleteThresholdConfByMainId(String mainId); + + /** + * 通过阈值ID删除阈值配置信息 + * + * @param id 阈值id + * @return 结果 + */ + boolean delete(String id); + + /** + * 根据主变ID查询阈值配置信息 + * + * @param mainId 主变ID + * @return 环境阈值配置信息 + */ + BusiEnvironmentThresholdConfVo selectEnvironmentThresholdConfByMainId(String mainId); +} diff --git a/src/main/java/com/chenxuan/service/BusiExportDataService.java b/src/main/java/com/chenxuan/service/BusiExportDataService.java index fc1e4e7..40359fd 100644 --- a/src/main/java/com/chenxuan/service/BusiExportDataService.java +++ b/src/main/java/com/chenxuan/service/BusiExportDataService.java @@ -3,6 +3,7 @@ package com.chenxuan.service; import com.chenxuan.base.entity.AjaxResult; import com.chenxuan.entity.dto.BusiAmpliRealDto; import com.chenxuan.entity.dto.BusiCenterRealDto; +import com.chenxuan.entity.dto.BusiEnvironmentRealDto; import com.chenxuan.entity.dto.BusiNoiseRealDto; /** @@ -22,6 +23,14 @@ public interface BusiExportDataService { */ AjaxResult exportCenterRealDetails(BusiCenterRealDto dto); + /** + * 根据主变ID查询环境监测实时数据详细信息 + * + * @param dto + * @return + */ + AjaxResult exportEnvironmentRealDetails(BusiEnvironmentRealDto dto); + /** * 根据主变ID查询噪声实时数据详细信息 * @@ -54,6 +63,14 @@ public interface BusiExportDataService { */ AjaxResult exportCenterReal(BusiCenterRealDto dto); + /** + * 导出环境监测实时数据 + * + * @param dto + * @return + */ + AjaxResult exportEnvironmentReal(BusiEnvironmentRealDto dto); + /** * 导出噪声实时数据 * diff --git a/src/main/java/com/chenxuan/service/BusiFrequencyConfService.java b/src/main/java/com/chenxuan/service/BusiFrequencyConfService.java index 31c17af..0285f56 100644 --- a/src/main/java/com/chenxuan/service/BusiFrequencyConfService.java +++ b/src/main/java/com/chenxuan/service/BusiFrequencyConfService.java @@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.chenxuan.base.entity.Query; import com.chenxuan.entity.model.BusiFrequencyConf; +import com.chenxuan.entity.vo.BusiFrequencyConfVo; + +import java.util.List; /** @@ -55,5 +58,11 @@ public interface BusiFrequencyConfService extends IService { * @return 结果 */ boolean deleteFrequencyConfById(String id); - + + /** + * 查询所有频率集合 + * @return + */ + List selectFrequency(); + } diff --git a/src/main/java/com/chenxuan/service/BusiIedparamService.java b/src/main/java/com/chenxuan/service/BusiIedparamService.java index 3e130d9..4bd9e68 100644 --- a/src/main/java/com/chenxuan/service/BusiIedparamService.java +++ b/src/main/java/com/chenxuan/service/BusiIedparamService.java @@ -8,5 +8,6 @@ import java.util.List; public interface BusiIedparamService extends IService { - List quereyIcdById(String id); + List quereyIcdById(String id,String deviceType); + List queryParamsName(String deviceType); } diff --git a/src/main/java/com/chenxuan/service/BusiMainDeviceService.java b/src/main/java/com/chenxuan/service/BusiMainDeviceService.java index 71fb8f9..2969211 100644 --- a/src/main/java/com/chenxuan/service/BusiMainDeviceService.java +++ b/src/main/java/com/chenxuan/service/BusiMainDeviceService.java @@ -6,6 +6,7 @@ import com.chenxuan.base.entity.AjaxResult; import com.chenxuan.entity.dto.BusiMainDeviceDto; import com.chenxuan.entity.model.BusiMainDevice; import com.chenxuan.entity.vo.BusiMainDeviceVo; +import com.chenxuan.entity.vo.DeviceNumVo; import com.chenxuan.entity.vo.PercentageVo; import java.util.List; @@ -77,7 +78,7 @@ public interface BusiMainDeviceService extends IService { * @Param: * @Return: **/ - PercentageVo selectNormalDevice(); + DeviceNumVo selectCountDevice(); PercentageVo selectCountEcpDevice(); diff --git a/src/main/java/com/chenxuan/service/BusiNoiseRealService.java b/src/main/java/com/chenxuan/service/BusiNoiseRealService.java index 1f57cbd..5e66986 100644 --- a/src/main/java/com/chenxuan/service/BusiNoiseRealService.java +++ b/src/main/java/com/chenxuan/service/BusiNoiseRealService.java @@ -60,6 +60,8 @@ public interface BusiNoiseRealService extends IService { */ Page getNoiseRealDetailsByMainId(BusiNoiseRealDto dto); + Page getNoiseRealDetailsByMainId1(BusiNoiseRealDto dto); + List selectMainDeviceList(); List selectNoiseRealDataByMainId(String mainId); diff --git a/src/main/java/com/chenxuan/service/BusiSubDeviceService.java b/src/main/java/com/chenxuan/service/BusiSubDeviceService.java index 7e05f56..a3b7818 100644 --- a/src/main/java/com/chenxuan/service/BusiSubDeviceService.java +++ b/src/main/java/com/chenxuan/service/BusiSubDeviceService.java @@ -9,7 +9,6 @@ import com.chenxuan.entity.vo.BusiSubDeviceVo; import java.util.List; - /** * @ClassName:BusiSubDeviceService * @Description: 主变装置信息服务类. @@ -26,6 +25,8 @@ public interface BusiSubDeviceService extends IService { **/ Page page(BusiSubDeviceDto dto); + List querySubDevice(BusiSubDeviceDto dto); + List queryAll(); /** @@ -46,6 +47,7 @@ public interface BusiSubDeviceService extends IService { List querySubDeviceByMainId(String mainId); + /** * 新增主变装置信息 * @@ -69,14 +71,14 @@ public interface BusiSubDeviceService extends IService { * @param mainId 主变ID * @return 结果 */ - boolean deleteSubDeviceByMainId(String mainId); - - /** - * 通过ID删除装置信息 - * - * @param id 装置id - * @return 结果 - */ - boolean delete(String id); + boolean deleteSubDeviceByMainId(String mainId); + + /** + * 通过ID删除装置信息 + * + * @param id 装置id + * @return 结果 + */ + boolean delete(String id); } diff --git a/src/main/java/com/chenxuan/service/ModbusAndBindService.java b/src/main/java/com/chenxuan/service/ModbusAndBindService.java new file mode 100644 index 0000000..2d0e86d --- /dev/null +++ b/src/main/java/com/chenxuan/service/ModbusAndBindService.java @@ -0,0 +1,19 @@ +package com.chenxuan.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chenxuan.entity.dto.BusiModbusParamBindDto; +import com.chenxuan.entity.model.BusiModbusParamBind; +import com.chenxuan.entity.vo.BusiModbusTemplateVo; + +import java.util.List; + +public interface ModbusAndBindService { + + List queryModbusTemplateByDeviceType(String deviceType); + + int addModbusParamBind(BusiModbusParamBind busiModbusParamBind); + + Page queryModbusParamBind(BusiModbusParamBindDto busiModbusParamBindDto); + + int delBusiModbusParamBind(int[] ids); +} diff --git a/src/main/java/com/chenxuan/service/impl/BusiAmpliDayIncreaseServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiAmpliDayIncreaseServiceImpl.java index 7e52aca..302806f 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiAmpliDayIncreaseServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiAmpliDayIncreaseServiceImpl.java @@ -10,8 +10,8 @@ import com.chenxuan.mapper.BusiAmpliDayIncreaseMapper; import com.chenxuan.service.BusiAmpliDayIncreaseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; +import java.util.List; /** * @ClassName:BusiAmpliDayIncreaseServiceImpl @@ -28,6 +28,7 @@ public class BusiAmpliDayIncreaseServiceImpl extends ServiceImpl page(Query query) { + Page page = new Page(query.getPage(), query.getLimit()); List records = busiAmpliDayIncreaseMapper.selectPages( page, query.getParams() ); page.setRecords(records); diff --git a/src/main/java/com/chenxuan/service/impl/BusiAmpliRealServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiAmpliRealServiceImpl.java index 924c2e9..a07c01a 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiAmpliRealServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiAmpliRealServiceImpl.java @@ -1,12 +1,16 @@ package com.chenxuan.service.impl; import Algorithm_vibration.cal; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chenxuan.constants.UuidUtils; import com.chenxuan.entity.dto.BusiAmpliComtradResultDto; +import com.chenxuan.entity.dto.BusiAmpliDatDto; import com.chenxuan.entity.dto.BusiAmpliRealDto; -import com.chenxuan.entity.model.*; +import com.chenxuan.entity.model.BusiAmpliComtrad; +import com.chenxuan.entity.model.BusiAmpliComtradResult; +import com.chenxuan.entity.model.BusiAmpliReal; +import com.chenxuan.entity.model.BusiAmpliStatistics; import com.chenxuan.entity.vo.*; import com.chenxuan.mapper.*; import com.chenxuan.service.BusiAmpliRealService; @@ -16,6 +20,7 @@ import com.mathworks.toolbox.javabuilder.MWClassID; import com.mathworks.toolbox.javabuilder.MWException; import com.mathworks.toolbox.javabuilder.MWNumericArray; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -41,16 +46,22 @@ public class BusiAmpliRealServiceImpl extends ServiceImpl selectShockRealByMainId(BusiAmpliRealDto dto) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:00"); - dto.setInsTime(DateUtils.getDate()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); List list = busiAmpliRealMapper.findShockRealByMainId(dto); List voList = new ArrayList(list.size()); list.stream().forEach(bar -> { @@ -88,47 +99,122 @@ public class BusiAmpliRealServiceImpl extends ServiceImpl 0 ? true : false; } + @Override - public Page getShockRealDetailsByCondition(BusiAmpliRealDto dto) { - Page page = new Page(dto.getPage(), dto.getLimit()); - // 默认加载时间 - if (StringUtils.isBlank(dto.getInsTime())) { - dto.setInsTime(DateUtils.getBeforHourDate()); + public BusiAmpliReaPageVo getShockRealDetailsByCondition(BusiAmpliDatDto dto) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + if (StringUtils.isEmpty(dto.getFileId())){ + List records = new ArrayList<>(); + BusiAmpliReaPageVo vo =new BusiAmpliReaPageVo(); + BusiAmpliRealVo busiAmpliRealVo = new BusiAmpliRealVo(); + busiAmpliRealVo.setMainId(dto.getMainId()); + vo.setRecords(records); + vo.setBusiAmpliRealVo(busiAmpliRealVo); + return vo; } - List records = busiAmpliRealMapper.findShockRealDetailsByCondition(page, dto); - page.setRecords(records); - return page; + List records = busiAmpliRealMapper.findShockRealDetailsByConditionByDat( dto); + for (BusiAmpliRealDetailsVo record : records) { + if (StringUtils.isNotEmpty(record.getFileName())) { + int indexOf = record.getFileName().indexOf("_"); + String fileName = record.getFileName().substring(indexOf+1); + record.setFileName(fileName); + } + } + int k = 0; + // 初始化各个数据需要的集合 + List times = new ArrayList<>(records.size()); + List frequencyList = new ArrayList(records.size()); + List maxAmplitudeList = new ArrayList<>(records.size()); + List> arrays = new ArrayList<>(); + // 初始化x轴的时间和y轴的频率去重并排序的集合 + List finalTimes = times; + List finalFrequencyList = frequencyList; + + // 将库中查出来的数据塞进不同的集合中以备后面使用 + records.stream().forEach(bsr -> { + finalTimes.add(bsr.getInsTime().substring(0,16)); + finalFrequencyList.add(bsr.getFrequency()); + maxAmplitudeList.add(new BigDecimal(bsr.getMaxAmplitude())); + }); + // 将x轴的时间和y轴的频率去重并排序 + times = times.stream().distinct().sorted().collect(Collectors.toList()); + frequencyList = frequencyList.stream().distinct().collect(Collectors.toList()); + // 封装三维图所需要的数据 + for (int i = 0; i < times.size(); i++) { + for (int j = 0; j < frequencyList.size(); j++) { + List array = new ArrayList(); + array.add(BigDecimal.valueOf(i)); + array.add(BigDecimal.valueOf(j)); + if (k < maxAmplitudeList.size()) { + array.add(maxAmplitudeList.get(k)); + } + arrays.add(array); + k++; + } + } + // 封装返回展示的数据 + BusiAmpliRealVo busiAmpliRealVo = new BusiAmpliRealVo(); + busiAmpliRealVo.setMainId(dto.getMainId()); + busiAmpliRealVo.setSide(dto.getSide()); + busiAmpliRealVo.setPhase(dto.getPhase()); + busiAmpliRealVo.setInOut(dto.getInOut()); + busiAmpliRealVo.setFrequencyList(frequencyList); + busiAmpliRealVo.setTimeList(times); + busiAmpliRealVo.setThreeChartList(arrays); + + BusiAmpliReaPageVo busiAmpliReaPageVo=new BusiAmpliReaPageVo(); + + busiAmpliReaPageVo.setBusiAmpliRealVo(busiAmpliRealVo); + busiAmpliReaPageVo.setRecords(records); + return busiAmpliReaPageVo; } + @Override + public BusiAmpliDatList1Vo getShockRealDetailsByConditionDat(BusiAmpliRealDto busiAmpliRealDto) { + BusiAmpliDatList1Vo busiAmpliDatList1Vo=new BusiAmpliDatList1Vo(); + if(StringUtils.isEmpty(busiAmpliRealDto.getStartTime())){ + BusiAmpliComtrad busiAmpliComtrad = busiAmpliComtradMapper.selectOne(new LambdaQueryWrapper() + .eq(BusiAmpliComtrad::getMainId, busiAmpliRealDto.getMainId()) + .orderByDesc(BusiAmpliComtrad::getDTime) + .last("limit 1")); + busiAmpliRealDto.setStartTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH,busiAmpliComtrad.getDTime())); + } + List busiAmpliComtrads = busiAmpliComtradMapper.selectList(new LambdaQueryWrapper() + .eq(BusiAmpliComtrad::getMainId,busiAmpliRealDto.getMainId()) + .like(Objects.nonNull(busiAmpliRealDto.getStartTime()),BusiAmpliComtrad::getDTime, busiAmpliRealDto.getStartTime()) + .orderByDesc(BusiAmpliComtrad::getDTime) + ); + List listBusiAmpliDatListVo=new ArrayList<>(); + for (BusiAmpliComtrad busiAmpliComtrad:busiAmpliComtrads) { + BusiAmpliDatListVo busiAmpliDatListVo=new BusiAmpliDatListVo(); + int indexOf = busiAmpliComtrad.getComtradFile().indexOf("_"); + String fileName = busiAmpliComtrad.getComtradFile().substring(indexOf+1); + busiAmpliDatListVo.setFileId(busiAmpliComtrad.getId()); + busiAmpliDatListVo.setMainId(busiAmpliComtrad.getMainId()); + busiAmpliDatListVo.setFileName(fileName); + listBusiAmpliDatListVo.add(busiAmpliDatListVo); + } + busiAmpliDatList1Vo.setStartTime(busiAmpliRealDto.getStartTime()); + busiAmpliDatList1Vo.setBusiAmpliDatListVos(listBusiAmpliDatListVo); + return busiAmpliDatList1Vo; + } @Override public BusiAmpliRealVo getShockRealChartByInfo(BusiAmpliRealDto busiAmpliRealDto) { // 根据所传信息查询振动实时数据 List bsrList = null; - if (StringUtils.isEmpty(busiAmpliRealDto.getDateType())) { - busiAmpliRealDto.setDateType(BusiAmpliRealDto.D); - } - // 判断日期类型是那种--分为日/周/月/ - switch (busiAmpliRealDto.getDateType()) { - // 当日查询 - case BusiAmpliRealDto.D: - busiAmpliRealDto.setInsTime(DateUtils.getDate()); - bsrList = busiAmpliRealMapper.findShockRealChartByInfo(busiAmpliRealDto); - break; - // 过去一周查询 - case BusiAmpliRealDto.W: - busiAmpliRealDto.setStartTime(DateUtils.getWeekDate()); - busiAmpliRealDto.setEndTime(DateUtils.getDate()); - bsrList = busiAmpliStatisticsMapper.findAmpliStatisticsByMainIdAndCreateTime(busiAmpliRealDto); - break; - // 过去一月查询 - case BusiAmpliRealDto.M: - busiAmpliRealDto.setStartTime(DateUtils.getLastMonthDate()); - busiAmpliRealDto.setEndTime(DateUtils.getDate()); - bsrList = busiAmpliStatisticsMapper.findAmpliStatisticsByMainIdAndCreateTime(busiAmpliRealDto); - break; + List increaseVos = null; + // 查询最近的时间 + BusiAmpliRealDetailsVo latestTime = busiAmpliRealMapper.getLatestTime(busiAmpliRealDto); + if(latestTime != null){ + busiAmpliRealDto.setInsTime(latestTime.getInsTime()); } + bsrList = busiAmpliRealMapper.findShockRealChartByInfo(busiAmpliRealDto); + + List frequencyList = new ArrayList(bsrList.size()); List maxAmplitudeList = new ArrayList(bsrList.size()); + List dayList = new ArrayList(); + Map> collect =new HashMap<>(); // 去重 bsrList.stream().distinct().collect(Collectors.toList()); // 循环将数据都放在所在集合里 @@ -136,19 +222,174 @@ public class BusiAmpliRealServiceImpl extends ServiceImpl busiAmpliDayIncreaseRateVos = collect.get("100"); + busiAmpliDayIncreaseRateVos.stream().forEach(bsr ->{ + dayList.add(bsr.getDTime()); + }); + + } + + + } + BusiAmpliRealVo busiAmpliRealVo = new BusiAmpliRealVo(); + busiAmpliRealVo.setInsTime(busiAmpliRealDto.getInsTime()); busiAmpliRealVo.setMainId(busiAmpliRealDto.getMainId()); busiAmpliRealVo.setSide(busiAmpliRealDto.getSide()); busiAmpliRealVo.setPhase(busiAmpliRealDto.getPhase()); busiAmpliRealVo.setInOut(busiAmpliRealDto.getInOut()); busiAmpliRealVo.setFrequencyList(frequencyList.stream().distinct().collect(Collectors.toList())); busiAmpliRealVo.setMaxAmplitudeList(maxAmplitudeList); + busiAmpliRealVo.setDayMonthRateList(collect); + busiAmpliRealVo.setDayRateList(dayList); return busiAmpliRealVo; } + @Override + public BusiAmpliRealVo getShockRealChartByDayOrMonthInfo(BusiAmpliRealDto busiAmpliRealDto) { + // 根据所传信息查询振动实时数据 + List bsrList = null; + List increaseVos = null; + // 查询最近的时间 + bsrList = busiAmpliRealMapper.findShockRealChartByInfo(busiAmpliRealDto); + // 查询日月增长率 + increaseVos = busiAmpliDayIncreaseMapper.getCurrentData(busiAmpliRealDto); + List frequencyList = new ArrayList(bsrList.size()); + List dayRateList = new ArrayList(increaseVos.size()); + List monthRateList = new ArrayList(increaseVos.size()); + // 去重 + bsrList.stream().distinct().collect(Collectors.toList()); + // 循环将数据都放在所在集合里 + bsrList.stream().forEach(bsr -> { + frequencyList.add(bsr.getFrequency()); + }); + // 设置增长率集合 + increaseVos.stream().forEach(crease -> { + // 日增长率 + dayRateList.add(crease.getDayRate()); + // 月增长率 + monthRateList.add(crease.getMonthRate()); + }); + BusiAmpliRealVo busiAmpliRealVo = new BusiAmpliRealVo(); + busiAmpliRealVo.setMainId(busiAmpliRealDto.getMainId()); + busiAmpliRealVo.setSide(busiAmpliRealDto.getSide()); + busiAmpliRealVo.setPhase(busiAmpliRealDto.getPhase()); + busiAmpliRealVo.setInOut(busiAmpliRealDto.getInOut()); + busiAmpliRealVo.setFrequencyList(frequencyList.stream().distinct().collect(Collectors.toList())); + busiAmpliRealVo.setDayRateList(dayRateList); + busiAmpliRealVo.setMonthRateList(monthRateList); + return busiAmpliRealVo; + } @Override public BusiAmpliRealVo getAmpliRealThreeChart(BusiAmpliRealDto busiAmpliRealDto) { - SimpleDateFormat sdf = new SimpleDateFormat("HH:00"); + SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd"); + List bsrList = null; + String startTime=""; + String endTime=""; + if(StringUtils.isEmpty(busiAmpliRealDto.getStartTime())){ + BusiAmpliStatistics busiAmpliStatistics = busiAmpliStatisticsMapper.selectOne(new LambdaQueryWrapper() + .eq(BusiAmpliStatistics::getMainId, busiAmpliRealDto.getMainId()) + .eq(BusiAmpliStatistics::getInOut, busiAmpliRealDto.getInOut()) + .eq(BusiAmpliStatistics::getPhase, busiAmpliRealDto.getPhase()) + .eq(BusiAmpliStatistics::getSide, busiAmpliRealDto.getSide()) + .orderByDesc(BusiAmpliStatistics::getInsTime) + .last("limit 1")); + if(null == busiAmpliStatistics){ + endTime=DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,new Date()); + startTime =DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,DateUtils.addDays(new Date(),-30)); + }else{ + endTime=sdfDate.format(busiAmpliStatistics.getInsTime()); + startTime =sdfDate.format(DateUtils.addDays(busiAmpliStatistics.getInsTime(),-30)); + } + + }else{ + startTime=busiAmpliRealDto.getStartTime(); + endTime= busiAmpliRealDto.getEndTime(); + } + bsrList = busiAmpliStatisticsMapper.selectList(new LambdaQueryWrapper() + .eq(BusiAmpliStatistics::getMainId,busiAmpliRealDto.getMainId()) + .eq(BusiAmpliStatistics::getInOut,busiAmpliRealDto.getInOut()) + .eq(BusiAmpliStatistics::getPhase,busiAmpliRealDto.getPhase()) + .eq(BusiAmpliStatistics::getSide,busiAmpliRealDto.getSide()) + .ge(BusiAmpliStatistics::getInsTime,startTime) + .le(BusiAmpliStatistics::getInsTime,endTime) + .orderByDesc(BusiAmpliStatistics::getInsTime)); + + // 声明一个变量作为备用 + int k = 0; + // 初始化各个数据需要的集合 + List times = new ArrayList<>(bsrList.size()); + List frequencyList = new ArrayList(bsrList.size()); + List maxAmplitudeList = new ArrayList<>(bsrList.size()); + List> arrays = new ArrayList<>(); + // 初始化x轴的时间和y轴的频率去重并排序的集合 + List finalTimes = times; + List finalFrequencyList = frequencyList; + if(CollectionUtils.isEmpty(bsrList)){ + BusiAmpliRealVo busiAmpliRealVo = new BusiAmpliRealVo(); + busiAmpliRealVo.setMainId(busiAmpliRealDto.getMainId()); + busiAmpliRealVo.setSide(busiAmpliRealDto.getSide()); + busiAmpliRealVo.setPhase(busiAmpliRealDto.getPhase()); + busiAmpliRealVo.setInOut(busiAmpliRealDto.getInOut()); + busiAmpliRealVo.setFrequencyList(frequencyList); + busiAmpliRealVo.setTimeList(times); + busiAmpliRealVo.setThreeChartList(arrays); + if(StringUtils.isEmpty(busiAmpliRealDto.getStartTime())){ + busiAmpliRealVo.setEndTime(endTime); + busiAmpliRealVo.setStartTime(startTime); + } + + return busiAmpliRealVo; + } + Collections.reverse(bsrList); + // 将库中查出来的数据塞进不同的集合中以备后面使用 + bsrList.stream().forEach(bsr -> { + finalTimes.add(sdfDate.format(bsr.getInsTime())); + finalFrequencyList.add(bsr.getFrequency()); + maxAmplitudeList.add(new BigDecimal(bsr.getMaxAmplitude())); + }); + // 将x轴的时间和y轴的频率去重并排序 + times = times.stream().distinct().sorted().collect(Collectors.toList()); + frequencyList = frequencyList.stream().distinct().collect(Collectors.toList()); + // 封装三维图所需要的数据 + for (int i = 0; i < times.size(); i++) { + for (int j = 0; j < frequencyList.size(); j++) { + List array = new ArrayList(); + array.add(BigDecimal.valueOf(i)); + array.add(BigDecimal.valueOf(j)); + if (k < maxAmplitudeList.size()) { + array.add(maxAmplitudeList.get(k)); + } + arrays.add(array); + k++; + } + } + // 封装返回展示的数据 + BusiAmpliRealVo busiAmpliRealVo = new BusiAmpliRealVo(); + busiAmpliRealVo.setMainId(busiAmpliRealDto.getMainId()); + busiAmpliRealVo.setSide(busiAmpliRealDto.getSide()); + busiAmpliRealVo.setPhase(busiAmpliRealDto.getPhase()); + busiAmpliRealVo.setInOut(busiAmpliRealDto.getInOut()); + busiAmpliRealVo.setFrequencyList(frequencyList); + busiAmpliRealVo.setTimeList(times); + busiAmpliRealVo.setThreeChartList(arrays); + if(StringUtils.isEmpty(busiAmpliRealDto.getStartTime())){ + busiAmpliRealVo.setEndTime(endTime); + busiAmpliRealVo.setStartTime(startTime); + + } + return busiAmpliRealVo; + } + + public BusiAmpliRealVo getAmpliRealThreeChart1(BusiAmpliRealDto busiAmpliRealDto) { + SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); + SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd"); List bsrList = null; // 根据所传信息查询振动实时数据 // 判断日期类型是那种--分为日/周/月/ @@ -162,14 +403,18 @@ public class BusiAmpliRealServiceImpl extends ServiceImpl showShockRealDetailsPages(BusiAmpliRealDto busiAmpliRealDto) { - Page page = new Page(busiAmpliRealDto.getPage(), busiAmpliRealDto.getLimit()); - List records = busiAmpliRealMapper.findShockRealDetailsPages(page, busiAmpliRealDto); - page.setRecords(records); - return page; - } - @Override public Map loadingDetails(BusiAmpliRealDto dto) { + Map result = new HashMap<>(); // 查询 List threeInfo = busiAmpliComtradResultMapper.findRealChartByThreeInfo(dto); // 查询实时数据 @@ -235,6 +473,9 @@ public class BusiAmpliRealServiceImpl extends ServiceImpl ampliComtrads = busiAmpliComtradMapper.findAmpliComtrad(dto); + if (CollectionUtils.isEmpty(ampliComtrads)) { + return result; + } List comtradDatas = new ArrayList<>(ampliComtrads.size()); List ctdList = new ArrayList<>(); List resList = new ArrayList<>(); @@ -245,20 +486,14 @@ public class BusiAmpliRealServiceImpl extends ServiceImpl { ctdList.add(new ArrayList<>(CollectionUtils.arrayToList(ctd.split("\\|")))); }); - // 以逗号分割开每个数据 + //以逗号分割开每个数据 for (int i = 0; i < ctdList.get(0).size(); i++) { resList.add(new ArrayList<>(Arrays.asList(ctdList.get(0).get(i).toString().split(",")))); } - List newList = new ArrayList<>(resList.size()); - newList.addAll(resList); - // 移除数据中的序号和时间 - for (int i = 0; i < resList.size(); i++) { - newList.get(i).remove(0); - newList.get(i).remove(0); - } + try { // 得到处理过的数据 - List dtos = callMatlab(newList, ampliComtrads.get(0).getId(), dto); + List dtos = callMatlab(resList, ampliComtrads.get(0).getId(), dto); // 批量新增 if (busiAmpliComtradResultMapper.batchInsertAmpliComtrad(dtos) > 0) { // 查询 @@ -267,93 +502,7 @@ public class BusiAmpliRealServiceImpl extends ServiceImpl recount(BusiAmpliRealDto dto) { -// //查询数据是否存在 -// List dayIncreaseVos = increaseMapper.getCurrentData(dto); -// //查询实时数据 -// List ampliReals = busiAmpliRealMapper.findShockRealChartByInfo(dto); -// //存在即返回数据即可 -// if (!CollectionUtils.isEmpty(dayIncreaseVos) && dayIncreaseVos.size() > 0) { -// return getThresholdConfVo(dayIncreaseVos, ampliReals); -// } -// //初始化数组 -// List todyResults =null, yesTerDayResults = null, lastMonthResults = null; -// //如果文件ID不存在 就不查询数据 -// if (StringUtils.isNotBlank(dto.getFileId())) { -// // 查询振动装置数据统计表中主变数量 -// dto.setInsTime(DateUtils.getDate()); -// //查询每个主变今日录播数据(录播数据) -// todyResults = busiAmpliComtradResultMapper.findRealChartByThreeInfo(dto); -// //查询每个主变昨日录播数据(录播数据) -// dto.setInsTime(DateUtils.getYesTerDayDate()); -// yesTerDayResults = busiAmpliComtradResultMapper.findRealChartByThreeInfo(dto); -// //查询每个主变30日之前录播数据(录播数据) -// dto.setInsTime(DateUtils.getLastMonthDate()); -// lastMonthResults = busiAmpliComtradResultMapper.findRealChartByThreeInfo(dto); -// } -// List increaseVoList = new ArrayList<>(); -// int addCount = 0; -// //判断今日录播数据是否为空 -// if (!CollectionUtils.isEmpty(todyResults)) { -// for (BusiAmpliComtradResult comtradResult : todyResults) { -// //判断昨日录播数据是否为空 -// if (!CollectionUtils.isEmpty(yesTerDayResults)) { -// for (int i = 0; i < yesTerDayResults.size(); i++) { -// //判断是否是同一个频率 -// if (comtradResult.getFrequency().equals(yesTerDayResults.get(i).getFrequency())) { -// //获得今日幅值 -// String maxAmplitudeToday = comtradResult.getMaxAmplitude(); -// BigDecimal todayData = new BigDecimal(maxAmplitudeToday); -// BusiAmpliDayIncreaseVo increaseVo = new BusiAmpliDayIncreaseVo(); -// //获得昨日幅值 -// String maxAmplitudeYesterdayData = todyResults.get(i).getMaxAmplitude(); -// BigDecimal yesterdayData = new BigDecimal(maxAmplitudeYesterdayData); -// //两日差值 -// BigDecimal decimal = todayData.subtract(yesterdayData); -// //计算日增长率 -// BigDecimal rateOfRiseByYesterday = decimal.divide(yesterdayData, 2, BigDecimal.ROUND_HALF_UP); -// //设值 -// increaseVo.setId(UuidUtils.getUUID()); -// increaseVo.setdTime(new Date()); -// increaseVo.setSubId(dto.getSubId()); -// increaseVo.setMainId(dto.getMainId()); -// increaseVo.setFileId(dto.getFileId()); -// increaseVo.setAmplitude(yesTerDayResults.get(i).getMaxAmplitude()); -// increaseVo.setDayRate(rateOfRiseByYesterday.toString()); -// increaseVo.setFrequency(comtradResult.getFrequency()); -// //判断30天前的数据是否为空 -// if (!CollectionUtils.isEmpty(lastMonthResults)) { -// //获得30日之前幅值 -// String maxAmplitudebeforeOneMonthdayData = lastMonthResults.get(i).getMaxAmplitude(); -// BigDecimal beforeOneMonthdayData = new BigDecimal(maxAmplitudebeforeOneMonthdayData); -// //两日差值 -// BigDecimal bigDecimal = todayData.subtract(beforeOneMonthdayData); -// //计算月增长率 -// BigDecimal rateOfRiseBybeforeOneMonth = bigDecimal.divide(beforeOneMonthdayData, 2, BigDecimal.ROUND_HALF_UP); -// increaseVo.setMonthRate(rateOfRiseBybeforeOneMonth.toString()); -// //计算月偏差率 -// increaseVo.setDeviationRate(rateOfRiseBybeforeOneMonth.toString()); -// } -// increaseVoList.add(increaseVo); -// } -// } -// } -// } -// //判断集合是否为空 -// if (!CollectionUtils.isEmpty(increaseVoList)) { -// addCount = increaseMapper.saveAmpliDayIncrease(increaseVoList); -// } -// } -// //判断数据已经入库 -// if (addCount > 0) { -// dayIncreaseVos = increaseMapper.getCurrentData(dto); -// } -// return getThresholdConfVo(dayIncreaseVos, ampliReals); - return null; + return result; } /** @@ -411,55 +560,41 @@ public class BusiAmpliRealServiceImpl extends ServiceImpl callMatlab(List newList, String fileId, BusiAmpliRealDto realDto) throws MWException { + private List callMatlab(List resList, String fileId, BusiAmpliRealDto realDto) throws MWException { List resultDtos = new ArrayList<>(); // 用于保存输入矩阵 - MWNumericArray input1, input2, input3; - // 声明原副边从A相到C相的上下侧 - int[] pauArray = new int[10000]; - int[] padArray = new int[10000]; - int[] pbuArray = new int[10000]; - int[] pbdArray = new int[10000]; - int[] pcuArray = new int[10000]; - int[] pcdArray = new int[10000]; - int[] sauArray = new int[10000]; - int[] sduArray = new int[10000]; - int[] sbuArray = new int[10000]; - int[] sbdArray = new int[10000]; - int[] scuArray = new int[10000]; - int[] scdArray = new int[10000]; - // 循环根据A相到C相的上下侧赋值 - for (int i = 0; i < newList.size(); i++) { - pauArray[i] = Integer.parseInt(newList.get(i).get(0).toString()); - padArray[i] = Integer.parseInt(newList.get(i).get(1).toString()); - pbuArray[i] = Integer.parseInt(newList.get(i).get(2).toString()); - pbdArray[i] = Integer.parseInt(newList.get(i).get(3).toString()); - pcuArray[i] = Integer.parseInt(newList.get(i).get(4).toString()); - pcdArray[i] = Integer.parseInt(newList.get(i).get(5).toString()); - sauArray[i] = Integer.parseInt(newList.get(i).get(6).toString()); - sduArray[i] = Integer.parseInt(newList.get(i).get(7).toString()); - sbuArray[i] = Integer.parseInt(newList.get(i).get(8).toString()); - sbdArray[i] = Integer.parseInt(newList.get(i).get(9).toString()); - scuArray[i] = Integer.parseInt(newList.get(i).get(10).toString()); - scdArray[i] = Integer.parseInt(newList.get(i).get(11).toString()); - } + MWNumericArray input1, input2, input3, input4; + // 声明数组并赋值 + int[] pauArray = resList.get(0).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] padArray = resList.get(1).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] pbuArray = resList.get(2).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] pbdArray = resList.get(3).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] pcuArray = resList.get(4).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] pcdArray = resList.get(5).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] sauArray = resList.get(6).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] sadArray = resList.get(7).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] sbuArray = resList.get(8).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] sbdArray = resList.get(9).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] scuArray = resList.get(10).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] scdArray = resList.get(11).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); // 声明二维数组 int[][] arrayList = {pauArray, padArray, pbuArray, pbdArray, pcuArray, - pcdArray, sauArray, sduArray, sbuArray, sbdArray, scuArray, scdArray}; + pcdArray, sauArray, sadArray, sbuArray, sbdArray, scuArray, scdArray}; for (int i = 0; i < arrayList.length; i++) { // 将调用matlab的数据转换下 input1 = new MWNumericArray(arrayList[i], MWClassID.DOUBLE); input2 = new MWNumericArray(10000, MWClassID.DOUBLE); input3 = new MWNumericArray(1, MWClassID.DOUBLE); + input4 = new MWNumericArray(RANGE_ACC, MWClassID.DOUBLE); cal cal = new cal(); // 调取matlab算法进行数据处理 - Object[] ampExtra = cal.single_Amp_Extra(2, input1, input2, input3); + Object[] ampExtra = cal.single_Amp_Extra(2, input1, input2, input3, input4); List dtos = processData(ampExtra, i, fileId, realDto); resultDtos.addAll(dtos); } @@ -482,7 +617,7 @@ public class BusiAmpliRealServiceImpl extends ServiceImpl selectMainDeviceList() { return busiAmpliRealMapper.selectMainDeviceList(); } - - @Override - public List selectShockRealDataByMainId(String mainId) { - Map map = new HashMap<>(); - map.put("main_id", mainId); - return busiAmpliRealMapper.selectByMap(map); - } - - @Override - public List selectShockRealFrequencyByMainId(String mainId) { - return busiAmpliRealMapper.selectShockRealFrequencyByMainId(mainId); - } - - @Override - public List selectShockRealDataByMainIdAndParseAndSideAndInout(String mainId, String P, String A, String U) { - Map map = new HashMap<>(); - map.put("main_id", mainId); - map.put("side", P); - map.put("phase", A); - map.put("in_out", U); - return busiAmpliRealMapper.selectByMap(map); - } } diff --git a/src/main/java/com/chenxuan/service/impl/BusiCenterRealServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiCenterRealServiceImpl.java index 2ba1072..eae5d3e 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiCenterRealServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiCenterRealServiceImpl.java @@ -1,19 +1,22 @@ package com.chenxuan.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chenxuan.constants.UuidUtils; import com.chenxuan.entity.dto.BusiCenterRealDto; import com.chenxuan.entity.model.BusiCenterReal; +import com.chenxuan.entity.model.BusiCenterRealStatistics; import com.chenxuan.entity.model.BusiMainDevice; import com.chenxuan.entity.vo.BusiCenterRealDetailsVo; import com.chenxuan.entity.vo.BusiCenterRealVo; import com.chenxuan.entity.vo.ColVo; import com.chenxuan.entity.vo.TableVo; +import com.chenxuan.mapper.BusiCenterIncreaseMapper; import com.chenxuan.mapper.BusiCenterRealMapper; +import com.chenxuan.mapper.BusiCenterRealStatisticsMapper; import com.chenxuan.mapper.BusiMainDeviceMapper; import com.chenxuan.service.BusiCenterRealService; -import com.chenxuan.utils.DateUtils; import com.chenxuan.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -23,7 +26,7 @@ import java.util.*; /** * @ClassName:BusiCenterRealServiceImpl - * @Description: 中心点实时数据服务实现类. + * @Description: 中性点实时数据服务实现类. * @Author: Jordan_Li * @CreatTime:6/16/2020 14:50 PM * @Version V1.0 @@ -37,12 +40,24 @@ public class BusiCenterRealServiceImpl extends ServiceImpl selectCenterRealByMainId(String mainId) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:00"); - List list = busiCenterRealMapper.findCenterRealByMainId(mainId, DateUtils.getDate()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + // 获取最近数据的时间 + String latestTime = busiCenterRealMapper.getLatestTime(mainId); + // 查询数据 + List list = busiCenterRealMapper.findCenterRealByMainId(mainId, latestTime); List voList = new ArrayList(list.size()); list.stream().forEach(bcr -> { TableVo tVo = new TableVo(); @@ -52,6 +67,7 @@ public class BusiCenterRealServiceImpl extends ServiceImpl centerReals = busiCenterRealMapper.findCenterRealChartByInfo(busiCenterRealDto); List gatherTimeList = new ArrayList(centerReals.size()); - List maxAmplitudeList = new ArrayList(centerReals.size()); + List temp = new ArrayList(centerReals.size()); + List maxAmplitude = new ArrayList(centerReals.size()); + List humidity = new ArrayList(centerReals.size()); // 循环将数据都放在所在集合里 centerReals.stream().forEach(crcb -> { gatherTimeList.add(sdf.format(crcb.getInsTime())); - maxAmplitudeList.add(crcb.getMaxAmplitude()); + temp.add(crcb.getTemp()); + humidity.add(crcb.getHumidity()); + maxAmplitude.add(crcb.getMaxAmplitude()); }); BusiCenterRealVo busiCenterRealVo = new BusiCenterRealVo(); busiCenterRealVo.setMainId(busiCenterRealDto.getMainId()); busiCenterRealVo.setGatherTimeList(gatherTimeList); - busiCenterRealVo.setMaxAmplitudeList(maxAmplitudeList); + busiCenterRealVo.setMaxAmplitudeList(maxAmplitude); + busiCenterRealVo.setTemp(temp); + busiCenterRealVo.setHumidity(humidity); return busiCenterRealVo; } @@ -100,22 +126,55 @@ public class BusiCenterRealServiceImpl extends ServiceImpl bcrList = busiCenterRealMapper.findCenterRealByMainIdAndCreateTime(busiCenterRealVo); + String startTime=""; + String endtime=""; + if(StringUtils.isEmpty(busiCenterRealVo.getStartTime())){ + busiCenterRealVo.setEndTime(sdfDate.format(new Date())); + endtime=busiCenterRealVo.getEndTime(); + }else{ + startTime=busiCenterRealVo.getStartTime(); + endtime=busiCenterRealVo.getEndTime(); + } + LambdaQueryWrapper lambdaQueryWrapper= new LambdaQueryWrapper(); + lambdaQueryWrapper.eq(BusiCenterRealStatistics::getMainId, busiCenterRealVo.getMainId()); + if(!StringUtils.isEmpty(startTime)){ + lambdaQueryWrapper.ge(BusiCenterRealStatistics::getInsTime,startTime); + } + lambdaQueryWrapper.le(BusiCenterRealStatistics::getInsTime, busiCenterRealVo.getEndTime()); + lambdaQueryWrapper.orderByDesc(BusiCenterRealStatistics::getInsTime); + if(StringUtils.isEmpty(startTime)){ + lambdaQueryWrapper.last("limit 15"); + } + + + List bnrList = busiCenterRealStatisticsMapper.selectList(lambdaQueryWrapper); List gatherTimeList = new ArrayList(); - List maxAmplitudeList = new ArrayList(); - // 处理时间为小时 - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH"); - // 循环将数据都放在所在集合里 - bcrList.stream().forEach(bcr -> { - gatherTimeList.add(simpleDateFormat.format(bcr.getInsTime())); - maxAmplitudeList.add(bcr.getMaxAmplitude()); + List temp = new ArrayList(); + List humidity = new ArrayList(); + List maxAmplitude = new ArrayList(); + Collections.reverse(bnrList); + bnrList.stream().forEach(bcr -> { + gatherTimeList.add(sdfDate.format(bcr.getInsTime())); + maxAmplitude.add(bcr.getMaxAmplitude()); }); + BusiCenterRealVo bcrVo = new BusiCenterRealVo(); - if (bcrList.size() > 0) { - bcrVo.setMainId(bcrList.get(0).getMainId()); + if (bnrList.size() > 0) { + bcrVo.setMainId(bnrList.get(0).getMainId()); + + } + if(StringUtils.isEmpty(busiCenterRealVo.getStartTime())){ + if (bnrList.size() > 0) { + endtime=sdfDate.format(bnrList.get(bnrList.size()-1).getInsTime()); + startTime=sdfDate.format(bnrList.get(0).getInsTime()); + } } + bcrVo.setStartTime(startTime); + bcrVo.setEndTime(endtime); bcrVo.setGatherTimeList(gatherTimeList); - bcrVo.setMaxAmplitudeList(maxAmplitudeList); + bcrVo.setTemp(temp); + bcrVo.setHumidity(temp); + bcrVo.setMaxAmplitudeList(maxAmplitude); return bcrVo; } @@ -131,10 +190,32 @@ public class BusiCenterRealServiceImpl extends ServiceImpl getCenterRealDetailsByMainId(BusiCenterRealDto dto) { Page page = new Page(dto.getPage(), dto.getLimit()); // 默认加载时间 - if (StringUtils.isBlank(dto.getInsTime())) { - dto.setInsTime(DateUtils.getDate()); + if (StringUtils.isBlank(dto.getInsTime()) + && StringUtils.isAllBlank(dto.getStartTime(), dto.getEndTime())) { + // 获取最近数据的时间 + String latestTime = busiCenterRealMapper.getLatestTime(dto.getMainId()); + dto.setInsTime(latestTime); + } + List records = busiCenterRealMapper.findCenterRealDetailsByMainId1(page, dto); + + + page.setRecords(records); + return page; + } + + @Override + public Page getCenterRealDetailsByMainId1(BusiCenterRealDto dto) { + Page page = new Page(dto.getPage(), dto.getLimit()); + // 默认加载时间 + if (StringUtils.isBlank(dto.getInsTime()) + && StringUtils.isAllBlank(dto.getStartTime(), dto.getEndTime())) { + // 获取最近数据的时间 + String latestTime = busiCenterRealMapper.getLatestTime(dto.getMainId()); + dto.setInsTime(latestTime); } List records = busiCenterRealMapper.findCenterRealDetailsByMainId(page, dto); + + page.setRecords(records); return page; } diff --git a/src/main/java/com/chenxuan/service/impl/BusiCenterThresholdConfServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiCenterThresholdConfServiceImpl.java index ecae2c3..21ecc27 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiCenterThresholdConfServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiCenterThresholdConfServiceImpl.java @@ -9,6 +9,7 @@ import com.chenxuan.entity.dto.BusiCenterThresholdConfDto; import com.chenxuan.entity.dto.BusiSubDeviceDto; import com.chenxuan.entity.model.BusiCenterThresholdConf; import com.chenxuan.entity.vo.BusiCenterThresholdConfVo; +import com.chenxuan.entity.vo.BusiEnvironmentThresholdConfVo; import com.chenxuan.entity.vo.BusiSubDeviceVo; import com.chenxuan.mapper.BusiCenterThresholdConfMapper; import com.chenxuan.mapper.BusiSubDeviceMapper; @@ -25,7 +26,7 @@ import java.util.Map; /** * @ClassName:BusiCenterThresholdConfServiceImpl - * @Description: 中心点电流阈值配置服务实现类. + * @Description: 中性点电流阈值配置服务实现类. * @Author: Jordan_Li * @CreatTime:6/8/2020 15:05 PM * @Version V1.0 @@ -52,6 +53,11 @@ public class BusiCenterThresholdConfServiceImpl extends ServiceImpl 0) { diff --git a/src/main/java/com/chenxuan/service/impl/BusiCommunicationParametersServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiCommunicationParametersServiceImpl.java index 6f2139f..36d8472 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiCommunicationParametersServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiCommunicationParametersServiceImpl.java @@ -9,6 +9,7 @@ import com.chenxuan.entity.model.BusiCommunicationParameters; import com.chenxuan.entity.model.DeviceInfo; import com.chenxuan.mapper.BusiCommunicationParametersMapper; import com.chenxuan.service.BusiCommunicationParametersService; +import com.chenxuan.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -75,29 +76,29 @@ public class BusiCommunicationParametersServiceImpl extends ServiceImpl bcp = selectbcpByProtocol(busiCommunicationParameters.getProtocol()); + List bcp = selectbcpByProtocol(busiCommunicationParameters); //ModBus RTU,数据库有记录则更新,没有记录新增 - if("1".equals(busiCommunicationParameters.getProtocol())) - { - //更新 - if(!bcp.isEmpty()) - { - if(busiCommunicationParameters.getPassword()!=null && !"".equals(busiCommunicationParameters.getPassword())) - { - String passwordSecret = MD5Utils.convertMD5(busiCommunicationParameters.getPassword()); - busiCommunicationParameters.setPassword(passwordSecret); - busiCommunicationParameters.setConfirmPassword(passwordSecret); - } - busiCommunicationParameters.setId(bcp.get(0).getId()); - flags= busiCommunicationParametersMapper.updateBusiCommunicationParameters( busiCommunicationParameters ) > 0 ? true : false; - }else//insert - { - flags= insertBusiCommunicationParameters( busiCommunicationParameters ); - } - } - //61850,数据库没有记录新增,有记录则删除原有记录再更新 - else if("2".equals(busiCommunicationParameters.getProtocol())) - { +// if("1".equals(busiCommunicationParameters.getProtocol())) +// { +// //更新 +// if(!bcp.isEmpty()) +// { +// if(busiCommunicationParameters.getPassword()!=null && !"".equals(busiCommunicationParameters.getPassword())) +// { +// String passwordSecret = MD5Utils.convertMD5(busiCommunicationParameters.getPassword()); +// busiCommunicationParameters.setPassword(passwordSecret); +// busiCommunicationParameters.setConfirmPassword(passwordSecret); +// } +// busiCommunicationParameters.setId(bcp.get(0).getId()); +// flags= busiCommunicationParametersMapper.updateBusiCommunicationParameters( busiCommunicationParameters ) > 0 ? true : false; +// }else//insert +// { +// flags= insertBusiCommunicationParameters( busiCommunicationParameters ); +// } +// } +// //61850,数据库没有记录新增,有记录则删除原有记录再更新 +// else if("2".equals(busiCommunicationParameters.getProtocol())) +// { //根据protocol删除 flags = deleteCommunicationParameters(busiCommunicationParameters.getProtocol()); if(flags) { @@ -105,17 +106,18 @@ public class BusiCommunicationParametersServiceImpl extends ServiceImpl list = busiCommunicationParameters.getDeviceArray(); for (DeviceInfo deviceArray : list) { BusiCommunicationParameters bcpInfo = new BusiCommunicationParameters(); + bcpInfo.setCommunicationInterface(busiCommunicationParameters.getCommunicationInterface()); bcpInfo.setProtocol(busiCommunicationParameters.getProtocol()); - bcpInfo.setSubDeviceId(deviceArray.getDevice()); - bcpInfo.setSubDeviceId(deviceArray.getDevice()); + bcpInfo.setMainId(deviceArray.getDevice()); bcpInfo.setIpAddr(deviceArray.getIp()); bcpInfo.setPort(deviceArray.getPort()); bcpInfo.setPassword(busiCommunicationParameters.getPassword()); bcpInfo.setConfirmPassword(busiCommunicationParameters.getConfirmPassword()); + bcpInfo.setIedChannel(deviceArray.getIedChannel()); flags = insertBusiCommunicationParameters(bcpInfo); } } - } +// } return flags ; } @@ -126,69 +128,67 @@ public class BusiCommunicationParametersServiceImpl extends ServiceImpl list = busiCommunicationParametersMapper.findBusiCommunicationParametersByProtocol(protocol); + public BusiCommunicationParameters selectBusiCommunicationParametersByProtocol(BusiCommunicationParameters entity) { + List list = busiCommunicationParametersMapper.findBusiCommunicationParametersByProtocol(entity); BusiCommunicationParameters bcpObject = new BusiCommunicationParameters(); - bcpObject.setProtocol(protocol); + if (StringUtils.isNotEmpty(entity.getProtocol())) { + bcpObject.setProtocol(entity.getProtocol()); + } if(!list.isEmpty()) { - if("1".equals(protocol)) - { - BusiCommunicationParameters bcp = list.get(0); - bcpObject.setProtocol(protocol); - if(bcp != null ) - { - bcpObject.setId(bcp.getId()); - bcpObject.setCommunicationInterface(bcp.getCommunicationInterface()); - bcpObject.setProtocol(bcp.getProtocol()); - bcpObject.setSerialNumber(bcp.getSerialNumber()); - bcpObject.setBaudRate(bcp.getBaudRate()); - bcpObject.setCheckBit(bcp.getCheckBit()); - bcpObject.setDataBit(bcp.getDataBit()); - bcpObject.setStopBit(bcp.getStopBit()); - bcpObject.setIpAddr(bcp.getIpAddr()); - bcpObject.setPort(bcp.getPort()); - if(bcp.getPassword()!=null && !"".equals(bcp.getPassword())) - { - bcpObject.setPassword(MD5Utils.convertMD5(bcp.getPassword())); - bcpObject.setConfirmPassword(MD5Utils.convertMD5(bcp.getPassword())); - } - } - } - else - { BusiCommunicationParameters bcp = list.get(0); List deviceInfoList = new ArrayList(); for(BusiCommunicationParameters bcpInfo:list) { DeviceInfo deviceInfo = new DeviceInfo(); - deviceInfo.setDevice(bcpInfo.getSubDeviceId()); + deviceInfo.setDevice(bcpInfo.getMainId()); deviceInfo.setIp(bcpInfo.getIpAddr()); deviceInfo.setPort(bcpInfo.getPort()); + deviceInfo.setIedChannel(bcpInfo.getIedChannel()); deviceInfoList.add(deviceInfo); - } bcpObject.setProtocol(bcp.getProtocol()); + bcpObject.setCommunicationInterface(bcp.getCommunicationInterface()); bcpObject.setDeviceArray(deviceInfoList); if(bcp.getPassword()!=null && !"".equals(bcp.getPassword())) { bcpObject.setPassword(MD5Utils.convertMD5(bcp.getPassword())); bcpObject.setConfirmPassword(MD5Utils.convertMD5(bcp.getPassword())); } - } +// } } return bcpObject; } - public List selectbcpByProtocol(String protocol) { - List bcpList = busiCommunicationParametersMapper.findBusiCommunicationParametersByProtocol( protocol ); + @Override + public boolean enableAndDisable(BusiCommunicationParameters busiCommunicationParameters) { + int disable = 0; + // 启用某个协议 + if (busiCommunicationParameters.getStatus().equals("0")) { + // 在启用协议之前 将所有协议全部禁用掉 + busiCommunicationParametersMapper.enableAndDisable("1", null); + // 启用当前的协议 + disable = busiCommunicationParametersMapper.enableAndDisable("0", + busiCommunicationParameters.getProtocol()); + } + // 禁用协议 + if (busiCommunicationParameters.getStatus().equals("1")) { + // 启用当前的协议 + disable = busiCommunicationParametersMapper.enableAndDisable("1", + busiCommunicationParameters.getProtocol()); + } + return disable > 0 ? true : false; + } + + public List selectbcpByProtocol(BusiCommunicationParameters entity) { + List bcpList = busiCommunicationParametersMapper.findBusiCommunicationParametersByProtocol(entity); // List bcpObject = new ArrayList(); // bcpObject.setProtocol(protocol); if(bcpList != null ) { for(BusiCommunicationParameters bcp:bcpList) { - bcp.setProtocol(protocol); + bcp.setProtocol(entity.getProtocol()); if(bcp.getPassword()!=null && !"".equals(bcp.getPassword())) { bcp.setPassword(MD5Utils.convertMD5(bcp.getPassword())); bcp.setConfirmPassword(MD5Utils.convertMD5(bcp.getPassword())); diff --git a/src/main/java/com/chenxuan/service/impl/BusiControlConfigServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiControlConfigServiceImpl.java index 2e0d263..e56dabb 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiControlConfigServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiControlConfigServiceImpl.java @@ -52,8 +52,8 @@ public class BusiControlConfigServiceImpl extends ServiceImpl selectConfigsByMainId(String mainId) { List controlConfigs = busiControlConfigMapper.selectConfigByMainId(mainId); List controlConfigVos = new ArrayList<>(controlConfigs); - //主变装置全都在 - if (CollectionUtil.isNotEmpty(controlConfigs) && controlConfigs.size() >= 14) { + // 主变装置全都在 + if (CollectionUtil.isNotEmpty(controlConfigs) && controlConfigs.size() >= 14 && StringUtils.isNotBlank(controlConfigs.get(0).getIntervals())) { controlConfigs.stream().forEach(config -> { if (StringUtils.isBlank(config.getId())) { controlConfigVos.remove(config); @@ -64,11 +64,11 @@ public class BusiControlConfigServiceImpl extends ServiceImpl configs) { - //根据主变id查询装置信息 + // 根据主变id查询装置信息 List device = busiSubDeviceMapper.findSubDeviceByMainId(configs.get(0).getMainId()); - //判断是否有数据 + // 判断是否有数据 if (CollectionUtil.isEmpty(device)) { return new AjaxResult(HttpStatusCode.ERROR, "该主变下暂无装置,请添加主变装置"); } List updateArrays = new ArrayList<>(); List arrayList = new ArrayList<>(configs.size()); arrayList.addAll(configs); - //将修改和新增分开 + // 将修改和新增分开 for (BusiControlConfig config : configs) { if (StringUtils.isNotBlank(config.getSubId()) && StringUtils.isNotBlank(config.getId())) { @@ -377,17 +377,17 @@ public class BusiControlConfigServiceImpl extends ServiceImpl addArrays = new ArrayList<>(configs.size()); addArrays.addAll(configs); - //将空数据去除干净 + // 将空数据去除干净 for (BusiControlConfig config : configs) { - //判断装置ID是否存在(如果不存在多半装置被删除了,为了防止数据新增报错,从数组中删除) + // 判断装置ID是否存在(如果不存在多半装置被删除了,为了防止数据新增报错,从数组中删除) if (StringUtils.isBlank(config.getSubId())) { addArrays.remove(config); } } - //又有修改又有新增的数据处理 + // 又有修改又有新增的数据处理 for (BusiControlConfig config : updateArrays) { for (BusiControlConfig controlConfig : configs) { - //判断新增的更新是否存在相同数据,如有相同删除新增的数据 + // 判断新增的更新是否存在相同数据,如有相同删除新增的数据 if (StringUtils.isNotBlank(controlConfig.getSubId())) { if (controlConfig.getSubId().equals(config.getSubId())) { addArrays.remove(controlConfig); @@ -397,26 +397,28 @@ public class BusiControlConfigServiceImpl extends ServiceImpl { + array.setUpdateTime("1"); array.setInsTime(new Date()); array.setHbaseRowkey(null); }); - //更新 + // 更新 updateControlConfigs = busiControlConfigMapper.updateControlConfigs(updateArrays); } - //新增 + // 新增 if (CollectionUtil.isNotEmpty(addArrays)) { addArrays.stream().forEach(array -> { array.setId(UuidUtils.getUUID()); + array.setUpdateTime("1"); array.setInsTime(new Date()); array.setHbaseRowkey(null); }); - //新增参数 + // 新增参数 saveControlConfigs = busiControlConfigMapper.saveControlConfigs(addArrays); } - //判断是否新增或者更新成功 + // 判断是否新增或者更新成功 if (updateControlConfigs > 0 || saveControlConfigs > 0) { return new AjaxResult(HttpStatusCode.SUCCESS, "操作成功"); } diff --git a/src/main/java/com/chenxuan/service/impl/BusiDeviceSpecialShowServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiDeviceSpecialShowServiceImpl.java index 63c28bb..dd21575 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiDeviceSpecialShowServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiDeviceSpecialShowServiceImpl.java @@ -20,6 +20,7 @@ import com.mathworks.toolbox.javabuilder.MWClassID; import com.mathworks.toolbox.javabuilder.MWException; import com.mathworks.toolbox.javabuilder.MWNumericArray; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -46,6 +47,9 @@ public class BusiDeviceSpecialShowServiceImpl extends ServiceImpl indexs = disposeIndex(separation); try { @@ -85,8 +89,9 @@ public class BusiDeviceSpecialShowServiceImpl extends ServiceImpl separationList = new ArrayList<>(); List mechAmplitudeList = new ArrayList<>(), windingAmplitudeList = new ArrayList<>(), ironCoreAmplitudeList = new ArrayList<>(), primarySideAmplitudeList = new ArrayList<>(), secSideAmplitudeList = new ArrayList<>(); - BusiVibrationSeparationVo separationVo = new BusiVibrationSeparationVo(); int j = 1; //循环处理数据 for (int i = 0; i < mechVibr.length; i++) { @@ -177,7 +182,7 @@ public class BusiDeviceSpecialShowServiceImpl extends ServiceImpl(Arrays.asList(ctdList.get(0).get(i).toString().split(",")))); } - List newList = new ArrayList<>(resList.size()); - newList.addAll(resList); - //移除数据中的序号和时间 - for (int i = 0; i < resList.size(); i++) { - newList.get(i).remove(0); - newList.get(i).remove(0); - } - //声明原副边从A相到C相的上下侧 - int[] pauArray = new int[10000]; - int[] padArray = new int[10000]; - int[] pbuArray = new int[10000]; - int[] pbdArray = new int[10000]; - int[] pcuArray = new int[10000]; - int[] pcdArray = new int[10000]; - int[] sauArray = new int[10000]; - int[] sadArray = new int[10000]; - int[] sbuArray = new int[10000]; - int[] sbdArray = new int[10000]; - int[] scuArray = new int[10000]; - int[] scdArray = new int[10000]; - //循环根据A相到C相的上下侧赋值 - for (int i = 0; i < newList.size(); i++) { - pauArray[i] = Integer.parseInt(newList.get(i).get(0).toString()); - padArray[i] = Integer.parseInt(newList.get(i).get(1).toString()); - pbuArray[i] = Integer.parseInt(newList.get(i).get(2).toString()); - pbdArray[i] = Integer.parseInt(newList.get(i).get(3).toString()); - pcuArray[i] = Integer.parseInt(newList.get(i).get(4).toString()); - pcdArray[i] = Integer.parseInt(newList.get(i).get(5).toString()); - sauArray[i] = Integer.parseInt(newList.get(i).get(6).toString()); - sadArray[i] = Integer.parseInt(newList.get(i).get(7).toString()); - sbuArray[i] = Integer.parseInt(newList.get(i).get(8).toString()); - sbdArray[i] = Integer.parseInt(newList.get(i).get(9).toString()); - scuArray[i] = Integer.parseInt(newList.get(i).get(10).toString()); - scdArray[i] = Integer.parseInt(newList.get(i).get(11).toString()); - } + // 声明数组并赋值 + int[] pauArray = resList.get(0).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] padArray = resList.get(1).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] pbuArray = resList.get(2).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] pbdArray = resList.get(3).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] pcuArray = resList.get(4).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] pcdArray = resList.get(5).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] sauArray = resList.get(6).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] sadArray = resList.get(7).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] sbuArray = resList.get(8).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] sbdArray = resList.get(9).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] scuArray = resList.get(10).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); + int[] scdArray = resList.get(11).stream().mapToInt(value -> Integer.parseInt(value.toString())).toArray(); //声明二维数据 int[][] arrayList = {pauArray, padArray, pbuArray, pbdArray, pcuArray, pcdArray, sauArray, sadArray, sbuArray, sbdArray, scuArray, scdArray}; diff --git a/src/main/java/com/chenxuan/service/impl/BusiEnvironmentRealServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiEnvironmentRealServiceImpl.java new file mode 100644 index 0000000..308ccab --- /dev/null +++ b/src/main/java/com/chenxuan/service/impl/BusiEnvironmentRealServiceImpl.java @@ -0,0 +1,164 @@ +package com.chenxuan.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chenxuan.constants.UuidUtils; +import com.chenxuan.entity.dto.BusiEnvironmentRealDto; +import com.chenxuan.entity.model.BusiEnvironmentReal; +import com.chenxuan.entity.model.BusiMainDevice; +import com.chenxuan.entity.vo.BusiEnvironmentRealDetailsVo; +import com.chenxuan.entity.vo.BusiEnvironmentRealVo; +import com.chenxuan.entity.vo.ColVo; +import com.chenxuan.entity.vo.TableVo; +import com.chenxuan.mapper.BusiEnvironmentRealMapper; +import com.chenxuan.mapper.BusiMainDeviceMapper; +import com.chenxuan.service.BusiEnvironmentRealService; +import com.chenxuan.utils.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @ClassName:BusiEnvironmentRealServiceImpl + * @Description: 中性点实时数据服务实现类. + * @Author: Jordan_Li + * @CreatTime:6/16/2020 14:50 PM + * @Version V1.0 + */ +@Service +public class BusiEnvironmentRealServiceImpl extends ServiceImpl implements BusiEnvironmentRealService { + + @Autowired + private BusiEnvironmentRealMapper busiEnvironmentRealMapper; + + @Autowired + private BusiMainDeviceMapper busiMainDeviceMapper; + + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + @Override + public List selectEnvironmentRealByMainId(String mainId) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + // 获取最近数据的时间 + String latestTime = busiEnvironmentRealMapper.getLatestTime(mainId); + // 查询数据 + List list = busiEnvironmentRealMapper.findEnvironmentRealByMainId(mainId, latestTime); + List voList = new ArrayList(list.size()); + list.stream().forEach(bcr -> { + TableVo tVo = new TableVo(); + List rows = new ArrayList(); + // 创建三个colVo对象 + ColVo colVo1 = new ColVo(); + ColVo colVo2 = new ColVo(); + ColVo colVo3 = new ColVo(); + colVo1.setCol(sdf.format(bcr.getInsTime())); + colVo2.setCol(bcr.getTemp()); + colVo3.setCol(bcr.getHumidity()); + rows.add(colVo1); + rows.add(colVo2); + rows.add(colVo3); + tVo.setId(bcr.getId()); + tVo.setRows(rows); + voList.add(tVo); + }); + return voList; + } + + @Override + public boolean insertEnvironmentReal(List busiEnvironmentRealList) { + busiEnvironmentRealList.stream().forEach(bcr -> { + bcr.setId(UuidUtils.getUUID()); + bcr.setInsTime(new Date()); + bcr.setHbaseRowkey(null); + }); + return busiEnvironmentRealMapper.saveEnvironmentReal(busiEnvironmentRealList) > 0 ? true : false; + } + + @Override + public BusiEnvironmentRealVo findEnvironmentRealChartByInfo(BusiEnvironmentRealDto busiEnvironmentRealDto) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + // 根据所传信息查询振动实时数据 + if (StringUtils.isBlank(busiEnvironmentRealDto.getInsTime())) { + // 获取最近数据的时间 + String latestTime = busiEnvironmentRealMapper.getLatestTime(busiEnvironmentRealDto.getMainId()); + busiEnvironmentRealDto.setInsTime(latestTime); + } + List EnvironmentReals = busiEnvironmentRealMapper.findEnvironmentRealChartByInfo(busiEnvironmentRealDto); + List gatherTimeList = new ArrayList(EnvironmentReals.size()); + List temp = new ArrayList(EnvironmentReals.size()); + List humidity = new ArrayList(EnvironmentReals.size()); + // 循环将数据都放在所在集合里 + EnvironmentReals.stream().forEach(crcb -> { + gatherTimeList.add(sdf.format(crcb.getInsTime())); + temp.add(crcb.getTemp()); + humidity.add(crcb.getHumidity()); + }); + BusiEnvironmentRealVo busiEnvironmentRealVo = new BusiEnvironmentRealVo(); + busiEnvironmentRealVo.setMainId(busiEnvironmentRealDto.getMainId()); + busiEnvironmentRealVo.setTemp(temp); + busiEnvironmentRealVo.setHumidity(humidity); + busiEnvironmentRealVo.setGatherTimeList(gatherTimeList); + return busiEnvironmentRealVo; + } + + @Override + public BusiEnvironmentRealVo selectEnvironmentRealByMainIdAndCreateTime(BusiEnvironmentRealVo busiEnvironmentRealVo) { + if (StringUtils.isEmpty(busiEnvironmentRealVo.getMainId()) && StringUtils.isEmpty(busiEnvironmentRealVo.getCreateTime())) { + BusiMainDevice busiMainDevice = busiMainDeviceMapper.findLatestMainDeviceByCondition(); + busiEnvironmentRealVo.setMainId(busiMainDevice.getId()); + busiEnvironmentRealVo.setCreateTime(sdf.format(new Date())); + } + List bcrList = busiEnvironmentRealMapper.findEnvironmentRealByMainIdAndCreateTime(busiEnvironmentRealVo); + List temp = new ArrayList(); + List humidity = new ArrayList(); + // 循环将数据都放在所在集合里 + bcrList.stream().forEach(bcr -> { + temp.add(bcr.getTemp()); + humidity.add(bcr.getHumidity()); + }); + BusiEnvironmentRealVo bcrVo = new BusiEnvironmentRealVo(); + if (bcrList.size() > 0) { + bcrVo.setMainId(bcrList.get(0).getMainId()); + } + bcrVo.setTemp(temp); + bcrVo.setHumidity(temp); + return bcrVo; + } + + @Override + public Page getEnvironmentRealDetails(BusiEnvironmentRealDto dto) { + Page page = new Page(dto.getPage(), dto.getLimit()); + List records = busiEnvironmentRealMapper.findEnvironmentRealDetailsByMainId(page, dto); + page.setRecords(records); + return page; + } + + @Override + public Page getEnvironmentRealDetailsByMainId(BusiEnvironmentRealDto dto) { + Page page = new Page(dto.getPage(), dto.getLimit()); + // 默认加载时间 + if (StringUtils.isBlank(dto.getInsTime()) + && StringUtils.isAllBlank(dto.getStartTime(), dto.getEndTime())) { + // 获取最近数据的时间 + String latestTime = busiEnvironmentRealMapper.getLatestTime(dto.getMainId()); + dto.setInsTime(latestTime); + } + List records = busiEnvironmentRealMapper.findEnvironmentRealDetailsByMainId(page, dto); + page.setRecords(records); + return page; + } + + @Override + public List selectMainDeviceList() { + return busiEnvironmentRealMapper.selectMainDeviceList(); + } + + @Override + public List selectEnvironmentRealDataByMainId(String mainId) { + Map map = new HashMap<>(); + map.put("main_id", mainId); + return busiEnvironmentRealMapper.selectByMap(map); + } +} diff --git a/src/main/java/com/chenxuan/service/impl/BusiEnvironmentThresholdConfServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiEnvironmentThresholdConfServiceImpl.java new file mode 100644 index 0000000..d477764 --- /dev/null +++ b/src/main/java/com/chenxuan/service/impl/BusiEnvironmentThresholdConfServiceImpl.java @@ -0,0 +1,123 @@ +package com.chenxuan.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chenxuan.base.entity.AjaxResult; +import com.chenxuan.constants.HttpStatusCode; +import com.chenxuan.constants.UuidUtils; +import com.chenxuan.entity.dto.BusiEnvironmentThresholdConfDto; +import com.chenxuan.entity.dto.BusiSubDeviceDto; +import com.chenxuan.entity.model.BusiEnvironmentThresholdConf; +import com.chenxuan.entity.vo.BusiEnvironmentThresholdConfVo; +import com.chenxuan.entity.vo.BusiSubDeviceVo; +import com.chenxuan.mapper.BusiEnvironmentThresholdConfMapper; +import com.chenxuan.mapper.BusiSubDeviceMapper; +import com.chenxuan.service.BusiEnvironmentThresholdConfService; +import com.chenxuan.utils.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * @ClassName:BusiEnvironmentThresholdConfServiceImpl + * @Description: 中性点电流阈值配置服务实现类. + * @Author: Jordan_Li + * @CreatTime:6/8/2020 15:05 PM + * @Version V1.0 + */ +@Service +public class BusiEnvironmentThresholdConfServiceImpl extends ServiceImpl implements BusiEnvironmentThresholdConfService { + + @Autowired + private BusiEnvironmentThresholdConfMapper busiEnvironmentThresholdConfMapper; + + @Autowired + private BusiSubDeviceMapper busiSubDeviceMapper; + + @Override + public Page page(BusiEnvironmentThresholdConfDto dto) { + Page page = new Page(dto.getPage(), dto.getLimit()); + List records = busiEnvironmentThresholdConfMapper.selectPages(page, dto); + page.setRecords(records); + return page; + } + + @Override + public AjaxResult insertThresholdConf(BusiEnvironmentThresholdConf conf) { + // 根据主变id和装置类型查询信息 + Map params = new HashMap<>(); + // 判断是否有主变ID + if (StringUtils.isEmpty(conf.getMainId())) { + return new AjaxResult(HttpStatusCode.ERROR, "请选择主变装置"); + } + params.put("mainId", conf.getMainId()); + params.put("deviceType", BusiSubDeviceDto.CENTER); + // 根据赋值的数据查询装置信息 + BusiSubDeviceVo deviceVo = busiSubDeviceMapper.findSubDevice(params); + // 判断变压器是否拥有当前装置 + if (StringUtils.isNull(deviceVo)) { + return new AjaxResult(HttpStatusCode.ERROR, "此变压器暂无中性点装置,请添加装置后再设置阈值"); + } + // 判断当前主变是否已经设置过阈值 + if (StringUtils.isNotNull(busiEnvironmentThresholdConfMapper.findThresholdConfByMainId(conf.getMainId()))) { + return new AjaxResult(HttpStatusCode.ERROR, "此变压器中性点装置的阈值已经设置"); + } + // 新增 + conf.setId(UuidUtils.getUUID()); + conf.setInsTime(new Date()); + conf.setSubId(deviceVo.getId()); + if (busiEnvironmentThresholdConfMapper.saveThresholdConf(conf) > 0) { + return new AjaxResult(HttpStatusCode.SUCCESS, "新增成功"); + } + return new AjaxResult(HttpStatusCode.SUCCESS, "新增失败"); + } + + @Override + public AjaxResult updateThresholdConf(BusiEnvironmentThresholdConf thresholdConf) { + // 根据当前id查询未修改数据 + BusiEnvironmentThresholdConf conf = busiEnvironmentThresholdConfMapper.selectById(thresholdConf.getId()); + // 根据未修改数据的主变id判断是否同一个主变 + if (!thresholdConf.getMainId().equals(conf.getMainId())) { + // 根据主变id和装置类型查询信息 + Map params = new HashMap<>(); + params.put("mainId", thresholdConf.getMainId()); + params.put("deviceType", BusiSubDeviceDto.CENTER); + // 根据赋值的数据查询装置信息 + BusiSubDeviceVo deviceVo = busiSubDeviceMapper.findSubDevice(params); + // 判断变压器是否拥有当前装置 + if (StringUtils.isNull(deviceVo)) { + return new AjaxResult(HttpStatusCode.ERROR, "此变压器暂无中性点装置,请添加装置后再设置阈值"); + } + // 判断当前主变是否已经设置过阈值 + if (StringUtils.isNotNull(busiEnvironmentThresholdConfMapper.findThresholdConfByMainId(thresholdConf.getMainId()))) { + return new AjaxResult(HttpStatusCode.ERROR, "此变压器中性点装置的阈值已经设置"); + } + } + if (busiEnvironmentThresholdConfMapper.updateThresholdConf(thresholdConf) > 0) { + return new AjaxResult(HttpStatusCode.SUCCESS, "修改成功"); + } + return new AjaxResult(HttpStatusCode.SUCCESS, "修改失败"); + } + + @Override + public boolean deleteThresholdConfByMainId(String mainId) { + int count = busiEnvironmentThresholdConfMapper.deleteThresholdConfByMainId(mainId); + return count > 0 ? true : false; + } + + @Override + public boolean delete(String id) { + int count = busiEnvironmentThresholdConfMapper.delete(id); + return count > 0 ? true : false; + } + + @Override + public BusiEnvironmentThresholdConfVo selectEnvironmentThresholdConfByMainId(String mainId) { + return busiEnvironmentThresholdConfMapper.findEnvironmentThresholdConfByMainId(mainId); + } +} diff --git a/src/main/java/com/chenxuan/service/impl/BusiExportDataServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiExportDataServiceImpl.java index b892447..e1a968e 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiExportDataServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiExportDataServiceImpl.java @@ -7,16 +7,11 @@ import com.chenxuan.constants.ExcelUtils; import com.chenxuan.constants.HttpStatusCode; import com.chenxuan.entity.dto.BusiAmpliRealDto; import com.chenxuan.entity.dto.BusiCenterRealDto; +import com.chenxuan.entity.dto.BusiEnvironmentRealDto; import com.chenxuan.entity.dto.BusiNoiseRealDto; import com.chenxuan.entity.model.ExportData; -import com.chenxuan.entity.vo.BusiAmpliRealDetailsVo; -import com.chenxuan.entity.vo.BusiAmpliThresholdConfVo; -import com.chenxuan.entity.vo.BusiCenterRealDetailsVo; -import com.chenxuan.entity.vo.BusiNoiseRealDetailsVo; -import com.chenxuan.mapper.BusiAmpliRealMapper; -import com.chenxuan.mapper.BusiAmpliThresholdConfMapper; -import com.chenxuan.mapper.BusiCenterRealMapper; -import com.chenxuan.mapper.BusiNoiseRealMapper; +import com.chenxuan.entity.vo.*; +import com.chenxuan.mapper.*; import com.chenxuan.service.BusiExportDataService; import com.chenxuan.utils.DateUtils; import com.chenxuan.utils.StringUtils; @@ -24,7 +19,6 @@ import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; @@ -39,6 +33,9 @@ public class BusiExportDataServiceImpl implements BusiExportDataService { @Autowired private BusiCenterRealMapper busiCenterRealMapper; + @Autowired + private BusiEnvironmentRealMapper busiEnvironmentRealMapper; + @Autowired private BusiNoiseRealMapper busiNoiseRealMapper; @@ -51,25 +48,24 @@ public class BusiExportDataServiceImpl implements BusiExportDataService { @Autowired HttpServletResponse response; - @Value("${outfilePath}") - private String OUT_FILE_PATH; - private final static String FILE_NAME_PREFIX = "Real_Data_Export_"; /*sheet页1名称*/ private final static String SHEET1_NAME = "sheet1"; - private final String[] CENTER_EXPORT_HEADER = {"时间", "空/负载", "电流(A)", "增长率(%)(天)", "增长率(%)(月)", "偏差率(%)(月)"}; + private final String[] CENTER_EXPORT_HEADER = {"时间", "电流(A)", "增长率(%)(天)", "增长率(%)(月)", "偏差率(%)(月)"}; - private final String[] NOISE_EXPORT_HEADER = {"时间", "空/负载", "噪声(db)", "增长率(%)(天)", "增长率(%)(月)", "偏差率(%)(月)"}; + private final String[] NOISE_EXPORT_HEADER = {"时间", "噪声(db)", "增长率(%)(天)", "增长率(%)(月)", "偏差率(%)(月)"}; private final String[] SHOCK_EXPORT_HEADER = {"空/负载", "频率(Hz)", "幅值(mm/s2)", "增长率(%)(天)", "增长率(%)(月)", "偏差率(%)(月)"}; - private final String[] AMPLI_REAL_EXPORT_HEADER = {"原副边", "相位", "上下侧 ", "振动频率", "最大振幅", "创建时间"}; + private final String[] AMPLI_REAL_EXPORT_HEADER = {"原副边", "相位", "上下侧 ", "频率(Hz)", "幅值(mm/s2)", "监测时间"}; + + private final String[] CENTER_REAL_EXPORT_HEADER = {"电流值(A)", "监测时间"}; - private final String[] CENTER_REAL_EXPORT_HEADER = {"电流值(A)", "创建时间"}; + private final String[] ENVIRONMENT_REAL_EXPORT_HEADER = {"温度(℃)","湿度(%)", "监测时间"}; - private final String[] NOISE_REAL_EXPORT_HEADER = {"噪声值(dB)", "创建时间"}; + private final String[] NOISE_REAL_EXPORT_HEADER = {"噪声值(dB)", "监测时间"}; @Override public AjaxResult exportCenterRealDetails(BusiCenterRealDto dto) { @@ -95,11 +91,11 @@ public class BusiExportDataServiceImpl implements BusiExportDataService { XSSFWorkbook workbook = new XSSFWorkbook(); //创建工作表 XSSFSheet sheet = workbook.createSheet(SHEET1_NAME); - //中心点明细导出 + //中性点明细导出 if (fileType.toUpperCase().equals("CENTER")) { //设置标题 ExcelUtils.titleStyle(workbook, sheet.createRow(0), sheet, - exportDataList.get(0).getName(), CENTER_EXPORT_HEADER.length); + "中性点明细", CENTER_EXPORT_HEADER.length); ExcelUtils.creatNoColorRow(sheet.createRow(1), CENTER_EXPORT_HEADER, workbook); ExcelUtils.setCellStyle(workbook); for (int i = 0; i < exportDataList.size(); i++) { @@ -107,8 +103,6 @@ public class BusiExportDataServiceImpl implements BusiExportDataService { Row currentRow = sheet.createRow(rowIndex); int j = 0; currentRow.createCell(j++).setCellValue(exportDataList.get(i).getInsTime()); - currentRow.createCell(j++).setCellValue(exportDataList.get(i).getLoadType().equals("1") ? "空载" : - exportDataList.get(i).getLoadType().equals("2") ? "负载" : ""); currentRow.createCell(j++).setCellValue(exportDataList.get(i).getMaxAmplitude()); currentRow.createCell(j++).setCellValue(exportDataList.get(i).getDayRate()); currentRow.createCell(j++).setCellValue(exportDataList.get(i).getMonthRate()); @@ -125,8 +119,6 @@ public class BusiExportDataServiceImpl implements BusiExportDataService { Row currentRow = sheet.createRow(rowIndex); int j = 0; currentRow.createCell(j++).setCellValue(exportDataList.get(i).getInsTime()); - currentRow.createCell(j++).setCellValue(exportDataList.get(i).getLoadType().equals("1") ? "空载" : - exportDataList.get(i).getLoadType().equals("2") ? "负载" : ""); currentRow.createCell(j++).setCellValue(exportDataList.get(i).getMaxAmplitude()); currentRow.createCell(j++).setCellValue(exportDataList.get(i).getDayRate()); currentRow.createCell(j++).setCellValue(exportDataList.get(i).getMonthRate()); @@ -139,8 +131,6 @@ public class BusiExportDataServiceImpl implements BusiExportDataService { int rowIndex = i + 1; Row currentRow = sheet.createRow(rowIndex); int j = 0; - currentRow.createCell(j++).setCellValue(exportDataList.get(i).getLoadType().equals("1") ? "空载" : - exportDataList.get(i).getLoadType().equals("2") ? "负载" : ""); currentRow.createCell(j++).setCellValue(exportDataList.get(i).getFrequency()); currentRow.createCell(j++).setCellValue(exportDataList.get(i).getMaxAmplitude()); currentRow.createCell(j++).setCellValue(exportDataList.get(i).getDayRate()); @@ -200,6 +190,20 @@ public class BusiExportDataServiceImpl implements BusiExportDataService { return new AjaxResult(HttpStatusCode.ERROR, "导出失败"); } + @Override + public AjaxResult exportEnvironmentRealDetails(BusiEnvironmentRealDto dto) { + dto.setLimit("999999999"); + Page page = new Page(dto.getPage(), dto.getLimit()); + List exportDataList = busiEnvironmentRealMapper.exportEnvironmentRealDetails(page, dto); + if (CollectionUtil.isEmpty(exportDataList)) { + return new AjaxResult(HttpStatusCode.NO_DATA, "暂无数据"); + } + if (generateExcel(exportDataList, "Center", dto.getCreateTime())) { + return new AjaxResult(HttpStatusCode.SUCCESS, "导出成功"); + } + return new AjaxResult(HttpStatusCode.ERROR, "导出失败"); + } + @Override public AjaxResult exportAmpliReal(BusiAmpliRealDto dto) { dto.setLimit("9999"); @@ -225,6 +229,9 @@ public class BusiExportDataServiceImpl implements BusiExportDataService { if (StringUtils.isBlank(dto.getInsTime())) { dto.setInsTime(DateUtils.getDate()); } + if (!StringUtils.isAllBlank(dto.getStartTime(), dto.getEndTime())) { + dto.setInsTime(null); + } Page page = new Page(dto.getPage(), dto.getLimit()); List details = busiCenterRealMapper.findCenterRealDetailsByMainId(page, dto); if (CollectionUtil.isEmpty(details)) { @@ -236,6 +243,27 @@ public class BusiExportDataServiceImpl implements BusiExportDataService { return null; } + @Override + public AjaxResult exportEnvironmentReal(BusiEnvironmentRealDto dto) { + dto.setLimit("9999"); + //默认加载时间 + if (StringUtils.isBlank(dto.getInsTime())) { + dto.setInsTime(DateUtils.getDate()); + } + if (!StringUtils.isAllBlank(dto.getStartTime(), dto.getEndTime())) { + dto.setInsTime(null); + } + Page page = new Page(dto.getPage(), dto.getLimit()); + List details = busiEnvironmentRealMapper.findEnvironmentRealDetailsByMainId(page, dto); + if (CollectionUtil.isEmpty(details)) { + return new AjaxResult(HttpStatusCode.NO_DATA, "暂无数据"); + } + if (generateEnvironmentExcel(details)) { + return new AjaxResult(HttpStatusCode.SUCCESS, "导出成功"); + } + return null; + } + @Override public AjaxResult exportNoiseReal(BusiNoiseRealDto dto) { dto.setLimit("9999"); @@ -243,6 +271,9 @@ public class BusiExportDataServiceImpl implements BusiExportDataService { if (StringUtils.isBlank(dto.getInsTime())) { dto.setInsTime(DateUtils.getDate()); } + if (!StringUtils.isAllBlank(dto.getStartTime(), dto.getEndTime())) { + dto.setInsTime(null); + } Page page = new Page(dto.getPage(), dto.getLimit()); List details = busiNoiseRealMapper.findNoiseRealDetailsByMainId(page, dto); if (CollectionUtil.isEmpty(details)) { @@ -273,9 +304,11 @@ public class BusiExportDataServiceImpl implements BusiExportDataService { int rowIndex = i + 2; Row currentRow = sheet.createRow(rowIndex); int j = 0; - currentRow.createCell(j++).setCellValue(details.get(i).getSide()); + currentRow.createCell(j++).setCellValue(details.get(i).getSide().equals("P") ? "原边" : + details.get(i).getSide().equals("S") ? "副边": ""); currentRow.createCell(j++).setCellValue(details.get(i).getPhase()); - currentRow.createCell(j++).setCellValue(details.get(i).getInOut()); + currentRow.createCell(j++).setCellValue(details.get(i).getInOut().equals("U") ? "上侧" : + details.get(i).getInOut().equals("D") ? "下侧": ""); currentRow.createCell(j++).setCellValue(details.get(i).getFrequency()); currentRow.createCell(j++).setCellValue(details.get(i).getMaxAmplitude()); currentRow.createCell(j++).setCellValue(details.get(i).getInsTime()); @@ -301,14 +334,47 @@ public class BusiExportDataServiceImpl implements BusiExportDataService { XSSFSheet sheet = workbook.createSheet(SHEET1_NAME); //设置标题 ExcelUtils.titleStyle(workbook, sheet.createRow(0), sheet, - details.get(0).getDeviceName() + "中心点实时数据", CENTER_REAL_EXPORT_HEADER.length); + details.get(0).getDeviceName() + "中性点实时数据", CENTER_REAL_EXPORT_HEADER.length); ExcelUtils.creatNoColorRow(sheet.createRow(1), CENTER_REAL_EXPORT_HEADER, workbook); ExcelUtils.setCellStyle(workbook); for (int i = 0; i < details.size(); i++) { int rowIndex = i + 2; Row currentRow = sheet.createRow(rowIndex); int j = 0; - currentRow.createCell(j++).setCellValue(details.get(i).getMaxAmplitude()); + currentRow.createCell(j++).setCellValue(details.get(i).getHumidity()); + currentRow.createCell(j++).setCellValue(details.get(i).getTemp()); + currentRow.createCell(j++).setCellValue(details.get(i).getInsTime()); + } + workbook.write(out); + out.flush(); + out.close(); + } catch (Exception e) { + response.setStatus(500); + } + return true; + } + + private boolean generateEnvironmentExcel(List details) { + String fileName = getExportFileName("environment", DateUtils.getDate()) + ".xlsx"; + try { + OutputStream out = response.getOutputStream(); + response.setContentType("application/json; charset=utf-8"); + response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "GBK")); + //创建工作簿对象 + XSSFWorkbook workbook = new XSSFWorkbook(); + //创建工作表 + XSSFSheet sheet = workbook.createSheet(SHEET1_NAME); + //设置标题 + ExcelUtils.titleStyle(workbook, sheet.createRow(0), sheet, + details.get(0).getDeviceName() + "环境监测实时数据", ENVIRONMENT_REAL_EXPORT_HEADER.length); + ExcelUtils.creatNoColorRow(sheet.createRow(1), ENVIRONMENT_REAL_EXPORT_HEADER, workbook); + ExcelUtils.setCellStyle(workbook); + for (int i = 0; i < details.size(); i++) { + int rowIndex = i + 2; + Row currentRow = sheet.createRow(rowIndex); + int j = 0; + currentRow.createCell(j++).setCellValue(details.get(i).getHumidity()); + currentRow.createCell(j++).setCellValue(details.get(i).getTemp()); currentRow.createCell(j++).setCellValue(details.get(i).getInsTime()); } workbook.write(out); diff --git a/src/main/java/com/chenxuan/service/impl/BusiFrequencyConfServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiFrequencyConfServiceImpl.java index a6bceee..8ecb517 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiFrequencyConfServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiFrequencyConfServiceImpl.java @@ -1,19 +1,19 @@ package com.chenxuan.service.impl; -import java.util.Date; -import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chenxuan.base.entity.Query; import com.chenxuan.constants.UuidUtils; import com.chenxuan.entity.model.BusiFrequencyConf; +import com.chenxuan.entity.vo.BusiFrequencyConfVo; import com.chenxuan.mapper.BusiFrequencyConfMapper; import com.chenxuan.service.BusiFrequencyConfService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; /** @@ -60,4 +60,9 @@ public class BusiFrequencyConfServiceImpl extends ServiceImpl 0 ? true : false; } + + @Override + public List selectFrequency() { + return busiFrequencyConfMapper.selectFrequency(); + } } diff --git a/src/main/java/com/chenxuan/service/impl/BusiIedparamServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiIedparamServiceImpl.java index 31a9389..b1643c0 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiIedparamServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiIedparamServiceImpl.java @@ -24,8 +24,13 @@ public class BusiIedparamServiceImpl implements BusiIedparamService { @Autowired private BusiIedparamMapper busiIedparamMapper; @Override - public List quereyIcdById(String id) { - return busiIedparamMapper.quereyIcdById(id); + public List quereyIcdById(String id,String deviceType) { + return busiIedparamMapper.quereyIcdById(id,deviceType); + } + + @Override + public List queryParamsName(String deviceType) { + return busiIedparamMapper.queryParamsName(deviceType); } @Override diff --git a/src/main/java/com/chenxuan/service/impl/BusiMainDeviceServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiMainDeviceServiceImpl.java index 81e3f34..0c52bd6 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiMainDeviceServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiMainDeviceServiceImpl.java @@ -12,6 +12,7 @@ import com.chenxuan.entity.model.BusiCalcParamConf; import com.chenxuan.entity.model.BusiMainDevice; import com.chenxuan.entity.model.BusiSubDevice; import com.chenxuan.entity.vo.BusiMainDeviceVo; +import com.chenxuan.entity.vo.DeviceNumVo; import com.chenxuan.entity.vo.PercentageVo; import com.chenxuan.mapper.*; import com.chenxuan.service.BusiMainDeviceService; @@ -19,9 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; /** * @ClassName:BusiMainDeviceServiceImpl @@ -158,27 +158,37 @@ public class BusiMainDeviceServiceImpl extends ServiceImpl map = new HashMap<>(); - - map.put("state", "N"); - List list = busiMainDeviceMapper.selectByMap(map); - Integer size = list.size(); + public DeviceNumVo selectCountDevice() { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String endTime = df.format(new Date()); + Calendar calendar = Calendar.getInstance(); + Integer interval = busiMainDeviceMapper.findInterval(); + calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - interval); + String startTime = df.format(calendar.getTime()); + QueryWrapper busiSubDeviceQueryWrapper = new QueryWrapper(); + Integer totalSubDevice = busiSubDeviceMapper.selectCount(busiSubDeviceQueryWrapper); + Integer GZ = busiMainDeviceMapper.selectGZDevice(endTime,startTime); + Integer YC = busiMainDeviceMapper.selectYCDevice(endTime,startTime); + Integer totalGZ = busiMainDeviceMapper.selectTotalGZDevice(); + Integer Normal = totalSubDevice - GZ - YC; //创建返回对象 - PercentageVo percentageVo = new PercentageVo(); - - percentageVo.setPercent(null); - percentageVo.setNum(size.toString()); - return percentageVo; + DeviceNumVo deviceNumVo = new DeviceNumVo(); + deviceNumVo.setTotal(totalSubDevice); + deviceNumVo.setGzNum(GZ); + deviceNumVo.setTotalGZNum(totalGZ); + deviceNumVo.setYcNum(YC); + deviceNumVo.setNormal(Normal); + return deviceNumVo; } @Override diff --git a/src/main/java/com/chenxuan/service/impl/BusiNoiseRealServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiNoiseRealServiceImpl.java index 0779976..10d3074 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiNoiseRealServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiNoiseRealServiceImpl.java @@ -1,19 +1,22 @@ package com.chenxuan.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chenxuan.constants.UuidUtils; import com.chenxuan.entity.dto.BusiNoiseRealDto; import com.chenxuan.entity.model.BusiMainDevice; import com.chenxuan.entity.model.BusiNoiseReal; +import com.chenxuan.entity.model.BusiNoiseRealStatistics; import com.chenxuan.entity.vo.BusiNoiseRealDetailsVo; import com.chenxuan.entity.vo.BusiNoiseRealVo; import com.chenxuan.entity.vo.ColVo; import com.chenxuan.entity.vo.TableVo; import com.chenxuan.mapper.BusiMainDeviceMapper; +import com.chenxuan.mapper.BusiNoiseIncreaseMapper; import com.chenxuan.mapper.BusiNoiseRealMapper; +import com.chenxuan.mapper.BusiNoiseRealStatisticsMapper; import com.chenxuan.service.BusiNoiseRealService; -import com.chenxuan.utils.DateUtils; import com.chenxuan.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -37,12 +40,21 @@ public class BusiNoiseRealServiceImpl extends ServiceImpl selectNoiseRealByMainId(String mainId) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:00"); - List list = busiNoiseRealMapper.findNoiseRealByMainId(mainId, DateUtils.getDate()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + // 获取最近一条数据的时间 + String latestTime = busiNoiseRealMapper.getLatestTime(mainId); + List list = busiNoiseRealMapper.findNoiseRealByMainId(mainId, latestTime); List voList = new ArrayList(list.size()); list.stream().forEach(bnr -> { TableVo tVo = new TableVo(); @@ -75,9 +87,13 @@ public class BusiNoiseRealServiceImpl extends ServiceImpl busiNoiseReals = busiNoiseRealMapper.findNoiseRealChartByInfo(busiNoiseRealDto); List gatherTimeList = new ArrayList(busiNoiseReals.size()); List maxAmplitudeList = new ArrayList(busiNoiseReals.size()); @@ -100,19 +116,52 @@ public class BusiNoiseRealServiceImpl extends ServiceImpl bnrList = busiNoiseRealMapper.findNoiseRealByMainIdAndCreateTime(busiNoiseRealDto); + String startTime=""; + String endtime=""; + if(StringUtils.isEmpty(busiNoiseRealDto.getStartTime())){ + busiNoiseRealDto.setEndTime(sdfDate.format(new Date())); + endtime=busiNoiseRealDto.getEndTime(); + }else{ + startTime=busiNoiseRealDto.getStartTime(); + endtime=busiNoiseRealDto.getEndTime(); + } + + LambdaQueryWrapper lambdaQueryWrapper= new LambdaQueryWrapper(); + lambdaQueryWrapper.eq(BusiNoiseRealStatistics::getMainId,busiNoiseRealDto.getMainId()); + if(!StringUtils.isEmpty(startTime)){ + lambdaQueryWrapper.ge(BusiNoiseRealStatistics::getInsTime,startTime); + } + lambdaQueryWrapper.le(BusiNoiseRealStatistics::getInsTime,endtime); + lambdaQueryWrapper.orderByDesc(BusiNoiseRealStatistics::getInsTime); + if(StringUtils.isEmpty(startTime)){ + lambdaQueryWrapper.last("limit 15"); + } + + List bnrList = busiNoiseRealStatisticsMapper.selectList(lambdaQueryWrapper); + + Collections.reverse(bnrList); List gatherTimeList = new ArrayList(); List maxAmplitudeList = new ArrayList(); - //处理时间为小时 - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH"); + /* //处理时间为小时 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");*/ bnrList.stream().forEach(bnr -> { - gatherTimeList.add(simpleDateFormat.format(bnr.getInsTime())); + gatherTimeList.add(sdfDate.format(bnr.getInsTime())); maxAmplitudeList.add(bnr.getMaxAmplitude()); }); BusiNoiseRealVo bnrVo = new BusiNoiseRealVo(); if (bnrList.size() > 0) { bnrVo.setMainId(bnrList.get(0).getMainId()); + + } + if(StringUtils.isEmpty(busiNoiseRealDto.getStartTime())){ + if (bnrList.size() > 0) { + endtime=sdfDate.format(bnrList.get(bnrList.size()-1).getInsTime()); + startTime=sdfDate.format(bnrList.get(0).getInsTime()); + } + } + bnrVo.setStartTime(startTime); + bnrVo.setEndtime(endtime); bnrVo.setGatherTimeList(gatherTimeList); bnrVo.setMaxAmplitudeList(maxAmplitudeList); return bnrVo; @@ -122,8 +171,26 @@ public class BusiNoiseRealServiceImpl extends ServiceImpl getNoiseRealDetailsByMainId(BusiNoiseRealDto dto) { Page page = new Page(dto.getPage(), dto.getLimit()); //默认加载时间 - if (StringUtils.isBlank(dto.getInsTime())) { - dto.setInsTime(DateUtils.getDate()); + if (StringUtils.isBlank(dto.getInsTime()) + && StringUtils.isAllBlank(dto.getStartTime(),dto.getEndTime())) { + // 获取最近一条数据的时间 + String latestTime = busiNoiseRealMapper.getLatestTime(dto.getMainId()); + dto.setInsTime(latestTime); + } + List records = busiNoiseRealMapper.findNoiseRealDetailsByMainId1(page, dto); + page.setRecords(records); + return page; + } + + @Override + public Page getNoiseRealDetailsByMainId1(BusiNoiseRealDto dto) { + Page page = new Page(dto.getPage(), dto.getLimit()); + //默认加载时间 + if (StringUtils.isBlank(dto.getInsTime()) + && StringUtils.isAllBlank(dto.getStartTime(),dto.getEndTime())) { + // 获取最近一条数据的时间 + String latestTime = busiNoiseRealMapper.getLatestTime(dto.getMainId()); + dto.setInsTime(latestTime); } List records = busiNoiseRealMapper.findNoiseRealDetailsByMainId(page, dto); page.setRecords(records); diff --git a/src/main/java/com/chenxuan/service/impl/BusiSubDeviceServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiSubDeviceServiceImpl.java index 98c6f07..11cb936 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiSubDeviceServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiSubDeviceServiceImpl.java @@ -17,7 +17,6 @@ import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; - /** * @ClassName:BusiSubDeviceServiceImpl * @Description: 主变装置信息服务实现类. @@ -39,6 +38,11 @@ public class BusiSubDeviceServiceImpl extends ServiceImpl querySubDevice(BusiSubDeviceDto dto) { + return busiSubDeviceMapper.querySubDevice(dto); + } + @Override public List queryAll() { List records = busiSubDeviceMapper.queryAll(); @@ -61,10 +65,6 @@ public class BusiSubDeviceServiceImpl extends ServiceImpl querySubDeviceByMainId(String mainId) { List list = busiSubDeviceMapper.findSubDeviceByMainId(mainId); diff --git a/src/main/java/com/chenxuan/service/impl/BusiTransformerConfServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiTransformerConfServiceImpl.java index 7f7d5d3..c2297db 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiTransformerConfServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiTransformerConfServiceImpl.java @@ -1,5 +1,6 @@ package com.chenxuan.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chenxuan.base.entity.Query; @@ -9,9 +10,16 @@ import com.chenxuan.entity.vo.BusiTransformerConfVo; import com.chenxuan.mapper.BusiTransformerConfMapper; import com.chenxuan.service.BusiTransformerConfService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; -import java.util.Date; -import java.util.List; +import org.springframework.web.client.RestTemplate; + +import java.math.BigDecimal; +import java.util.*; /** * @ClassName:BusiTransformerConfServiceImpl @@ -26,6 +34,12 @@ public class BusiTransformerConfServiceImpl extends ServiceImpl page(Query query) { Page page = new Page(query.getPage(), query.getLimit()); @@ -36,7 +50,63 @@ public class BusiTransformerConfServiceImpl extends ServiceImpl selectConfigsByMainId(String mainId) { - return busiTransformerConfMapper.selectConfigByMainId(mainId); + List confVos = busiTransformerConfMapper.selectConfigByMainId(mainId); + Map map = new HashMap<>(); + List> mapList = new ArrayList<>(); + List confs = new ArrayList<>(2); + if(!confVos.isEmpty()) { + // 判断是否是自动 + if (confVos.get(0).getConfFlag().equals("1")) { + map.put("eqmCode", mainId); + Map results = getTransformerResults(map); + if (results.size() != 0) { + mapList = (List>) results.get("data"); + // 循环取值赋值 + for (Map objectMap : mapList) { + Object stype = objectMap.get("stype"); + System.out.println(String.valueOf(stype)); + confs.add(packakgingData(mainId, objectMap)); + } + System.out.println(confs); + // 判断集合是否有值 + if (CollectionUtil.isNotEmpty(confs)) { + // 更新成功是否 + if (busiTransformerConfMapper.updateConfigs(confs) > 0) { + return busiTransformerConfMapper.selectConfigByMainId(mainId); + } + } + } + } + } + return confVos; + } + + private BusiTransformerConf packakgingData(String mainId, Map objectMap) { + BusiTransformerConf conf = new BusiTransformerConf(); + conf.setMainId(mainId); + conf.setConfFlag("1"); + conf.setSide(String.valueOf(objectMap.get("stype")).equals("1") ? "P" : "S"); + conf.setInsTime(new Date()); + conf.setCurrent(new BigDecimal(objectMap.get("higthCurrent").toString())); + conf.setVoltage(new BigDecimal(objectMap.get("higthVoltage").toString())); + return conf; + } + + public Map getTransformerResults(Map map) { + HttpHeaders httpHeaders = new HttpHeaders(); + Map result = new HashMap<>(); + httpHeaders.setContentType(MediaType.parseMediaType(MediaType.APPLICATION_JSON_UTF8_VALUE)); + HttpEntity> httpEntity = new HttpEntity<>(map, httpHeaders); + if(IEC_BASE_CONF != null && !IEC_BASE_CONF.equals("")) { + ResponseEntity responseEntity = restTemplate.postForEntity(IEC_BASE_CONF, httpEntity, + Object.class); + int code = responseEntity.getStatusCodeValue(); + if (code == 200) { + result = (Map) responseEntity.getBody(); + return result; + } + } + return result; } @Override diff --git a/src/main/java/com/chenxuan/service/impl/BusiWarningServiceImpl.java b/src/main/java/com/chenxuan/service/impl/BusiWarningServiceImpl.java index bf307b9..828355b 100644 --- a/src/main/java/com/chenxuan/service/impl/BusiWarningServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/BusiWarningServiceImpl.java @@ -1,5 +1,6 @@ package com.chenxuan.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chenxuan.entity.dto.BusiWarningDto; @@ -36,9 +37,12 @@ public class BusiWarningServiceImpl extends ServiceImpl busiWarningVos = busiWarningMapper.selectPageByWarnType(page, dto); - BusiWarningVo warningVo = busiWarningVos.get(0); - warningVo.setWarningSum(String.valueOf(busiWarningVos.size())); - records.add(warningVo); + // 判断是否有数据 + if (CollectionUtil.isNotEmpty(busiWarningVos)) { + BusiWarningVo warningVo = busiWarningVos.get(0); + warningVo.setWarningSum(String.valueOf(busiWarningVos.size())); + records.add(warningVo); + } } else { records = busiWarningMapper.getDetails(page, dto); } @@ -50,28 +54,69 @@ public class BusiWarningServiceImpl extends ServiceImpl queryModbusTemplateByDeviceType(String deviceType) { + BusiModbusTemplateDto dto = new BusiModbusTemplateDto(); + dto.setDeviceType(deviceType); + return busiModbusTemplateMapper.queryModbusTemplate(dto); + } + + @Override + public int addModbusParamBind(BusiModbusParamBind busiModbusParamBind) { + //根据subId查询装置信息 + BusiSubDeviceVo busiSubDeviceVo = busiSubDeviceMapper.querySubDeviceById(busiModbusParamBind.getSubId()); + + //根据addr查询Modbus模板信息 + BusiModbusTemplateDto dto = new BusiModbusTemplateDto(); + BusiModbusTemplateVo busiModbusTemplateVo = new BusiModbusTemplateVo(); + dto.setAddr(busiModbusParamBind.getAddr()); + List list = busiModbusTemplateMapper.queryModbusTemplate(dto); + if(!list.isEmpty()) + { + busiModbusTemplateVo = list.get(0); + busiModbusParamBind.setAddr(busiModbusTemplateVo.getAddr()); + busiModbusParamBind.setAddrType(busiModbusTemplateVo.getAddrType()); + busiModbusParamBind.setAdrdesc(busiModbusTemplateVo.getAdrdesc()); + } + + if (busiSubDeviceVo!=null) + { + busiModbusParamBind.setPhase(busiSubDeviceVo.getPhase()); + busiModbusParamBind.setInOut(busiSubDeviceVo.getInOut()); + busiModbusParamBind.setSensorCode(busiSubDeviceVo.getSensorCode()); + busiModbusParamBind.setSide(busiSubDeviceVo.getSide()); + } + if(busiModbusParamBind.getId()!=null && !"".equals(busiModbusParamBind.getId())) + { + return busiModbusParamBindMapper.updateById(busiModbusParamBind); + } + else + { + return busiModbusParamBindMapper.insert(busiModbusParamBind); + } + } + + @Override + public Page queryModbusParamBind(BusiModbusParamBindDto busiModbusParamBindDto) { + Page page = new Page(busiModbusParamBindDto.getPage(), busiModbusParamBindDto.getLimit()); + List records = busiModbusParamBindMapper.queryModbusParamBind(page, busiModbusParamBindDto); + page.setRecords(records); + return page; + } + + @Override + public int delBusiModbusParamBind(int[] ids) { + return busiModbusTemplateMapper.delBusiModbusParamBind(ids); + } +} + diff --git a/src/main/java/com/chenxuan/service/impl/QuartzManagerServiceImpl.java b/src/main/java/com/chenxuan/service/impl/QuartzManagerServiceImpl.java index 986f2ad..547a261 100644 --- a/src/main/java/com/chenxuan/service/impl/QuartzManagerServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/QuartzManagerServiceImpl.java @@ -42,12 +42,20 @@ public class QuartzManagerServiceImpl implements QuartzManagerService { .build(); //传入调度的数据,在QuartzFactory中需要使用 - jobDetail.getJobDataMap().put(JobConstant.JOB_PARAM_KEY, job); + JobDataMap jobDetailMap = jobDetail.getJobDataMap(); + jobDetailMap.put(JobConstant.JOB_PARAM_KEY, job); //调度作业 scheduler.scheduleJob(jobDetail, trigger); - + String status = job.getStatus(); + if(status.equalsIgnoreCase(JobOperateEnum.START.getValue())) { + operateJob(JobOperateEnum.START,job); + } + if(status.equalsIgnoreCase(JobOperateEnum.PAUSE.getValue())) { + operateJob(JobOperateEnum.PAUSE,job); + } if(status.equalsIgnoreCase(JobOperateEnum.DELETE.getValue())) { + operateJob(JobOperateEnum.DELETE,job); + } } - } @Override diff --git a/src/main/java/com/chenxuan/service/impl/ScheduleJobServiceImpl.java b/src/main/java/com/chenxuan/service/impl/ScheduleJobServiceImpl.java index 7a2803c..6e4d425 100644 --- a/src/main/java/com/chenxuan/service/impl/ScheduleJobServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/ScheduleJobServiceImpl.java @@ -102,6 +102,7 @@ public class ScheduleJobServiceImpl extends ServiceImpl jobList = scheduleJobMapper.selectBatchIds(Arrays.asList(jobIds)); for (ScheduleJob scheduleJob : jobList) { scheduleJob.setStatus(JobOperateEnum.START.getValue()); - quartzManagerService.operateJob(JobOperateEnum.PAUSE, scheduleJob); + quartzManagerService.operateJob(JobOperateEnum.START, scheduleJob); } boolean flag = this.updateBatchById(jobList); return flag; diff --git a/src/main/java/com/chenxuan/service/impl/SysMenuServiceImpl.java b/src/main/java/com/chenxuan/service/impl/SysMenuServiceImpl.java index 639dae9..d5b2f13 100644 --- a/src/main/java/com/chenxuan/service/impl/SysMenuServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/SysMenuServiceImpl.java @@ -59,8 +59,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl //特殊账户使用 if (!user.getUser().getStatus().equals("2") && CollectionUtil.isNotEmpty(menus)) { menus.removeIf(sysMenu -> sysMenu.getMenuName().equals("评估参数") - || sysMenu.getMenuName().equals("振动对比试验") - || sysMenu.getMenuName().equals("振动分离")); + || sysMenu.getMenuName().equals("振动对比试验")); } return menus; } @@ -72,8 +71,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl //特殊账户使用 if (!user.getUser().getStatus().equals("2") && CollectionUtil.isNotEmpty(menus)) { menus.removeIf(sysMenu -> sysMenu.getMenuName().equals("评估参数") - || sysMenu.getMenuName().equals("振动对比试验") - || sysMenu.getMenuName().equals("振动分离")); + || sysMenu.getMenuName().equals("振动对比试验")); } return menus; } @@ -95,8 +93,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl //特殊账户使用 if (!user.getStatus().equals("2") && CollectionUtil.isNotEmpty(menus)) { menus.removeIf(sysMenu -> sysMenu.getMenuName().equals("评估参数") - || sysMenu.getMenuName().equals("振动对比试验") - || sysMenu.getMenuName().equals("振动分离")); + || sysMenu.getMenuName().equals("振动对比试验")); } return getChildPerms(menus, 0); } diff --git a/src/main/java/com/chenxuan/service/impl/SysUserServiceImpl.java b/src/main/java/com/chenxuan/service/impl/SysUserServiceImpl.java index a20a2a0..54f79f1 100644 --- a/src/main/java/com/chenxuan/service/impl/SysUserServiceImpl.java +++ b/src/main/java/com/chenxuan/service/impl/SysUserServiceImpl.java @@ -20,6 +20,7 @@ import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -106,27 +107,19 @@ public class SysUserServiceImpl extends ServiceImpl impl @Override public Boolean insertUser(SysUser user) { boolean flag = super.save(user); - insertUserPost(user); - insertUserRole(user); + if(flag) + { + insertUserPost(user); + insertUserRole(user); + Map map = new HashMap<>(); + map.put("userName",user.getUserName()); + map.put("password",user.getPassword()); + map.put("email",user.getEmail()); + map.put("phone",user.getPhone()); + addUserRemote(map); + return flag; + } return flag; -// Map map = new HashMap(); -// map.put("userName",user.getUserName()); -// map.put("password",user.getPassword()); -// map.put("email",user.getEmail()); -// map.put("phone",user.getPhone()); -// boolean isSussess = addUserRemote(map); -// if(isSussess) -// { -// boolean flag = super.save(user); -// insertUserPost(user); -// // 新增用户与角色管理 -// insertUserRole(user); -// return flag; -// } -// else -// { -// return false; -// } } @@ -274,8 +267,6 @@ public class SysUserServiceImpl extends ServiceImpl impl HttpEntity> httpEntity = new HttpEntity<>(map, httpHeaders); ResponseEntity responseEntity = restTemplate.postForEntity(remoteUserAdd, httpEntity, Object.class); -// ResponseEntity responseEntity = restTemplate.postForEntity("http://192.168.128.86:10080/frame-base-control/sysUserRemoter/addUser", httpEntity, -// Object.class); int code = responseEntity.getStatusCodeValue(); if(code ==200) { diff --git a/src/main/java/com/chenxuan/timeTask/BiasProportionTask.java b/src/main/java/com/chenxuan/timeTask/BiasProportionTask.java index 9afeeba..2eba88e 100644 --- a/src/main/java/com/chenxuan/timeTask/BiasProportionTask.java +++ b/src/main/java/com/chenxuan/timeTask/BiasProportionTask.java @@ -1,16 +1,11 @@ package com.chenxuan.timeTask; import com.chenxuan.constants.UuidUtils; -import com.chenxuan.entity.model.BusiCenterIncrease; -import com.chenxuan.entity.model.BusiCenterRealStatistics; -import com.chenxuan.entity.model.BusiNoiseIncrease; -import com.chenxuan.entity.model.BusiNoiseRealStatistics; -import com.chenxuan.entity.model.BusiAmpliStatistics; -import com.chenxuan.mapper.BusiCenterIncreaseMapper; -import com.chenxuan.mapper.BusiNoiseIncreaseMapper; -import com.chenxuan.service.BusiCenterRealStatisticsService; -import com.chenxuan.service.BusiNoiseRealStatisticsService; -import com.chenxuan.service.BusiAmpliStatisticsService; +import com.chenxuan.entity.model.*; +import com.chenxuan.entity.vo.BusiMainDeviceVo; +import com.chenxuan.entity.vo.BusiSubDeviceVo; +import com.chenxuan.mapper.*; +import com.chenxuan.utils.DateUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -19,21 +14,27 @@ import java.util.Date; import java.util.List; /** - * @author Carrey Zheng - * @create 2020-07-09 3:41 PM - **/ + * @author Bobi_huo + * @date 2020-12-8 11:19 + */ @Slf4j @Component("biasProportionTask") public class BiasProportionTask { @Autowired - private BusiCenterRealStatisticsService busiCenterRealStatisticsService; + private BusiMainDeviceMapper busiMainDeviceMapper; @Autowired - private BusiAmpliStatisticsService BusiAmpliStatisticsService; + private BusiSubDeviceMapper busiSubDeviceMapper; @Autowired - private BusiNoiseRealStatisticsService busiNoiseRealStatisticsService; + private BusiNoiseRealStatisticsMapper busiNoiseRealStatisticsMapper; + + @Autowired + private BusiCenterRealStatisticsMapper busiCenterRealStatisticsMapper; + + @Autowired + private BusiAmpliStatisticsMapper busiAmpliStatisticsMapper; @Autowired private BusiCenterIncreaseMapper busiCenterIncreaseMapper; @@ -41,100 +42,197 @@ public class BiasProportionTask { @Autowired private BusiNoiseIncreaseMapper busiNoiseIncreaseMapper; - public void execute() { - log.info("-- >>> 计算增长率定时任务开始"); - log.info("-- >>> 计算中心点增长率"); - //查询中心点数据统计表中主变数量 - List busiCenterReals = busiCenterRealStatisticsService.selectMainDeviceList(); - for (BusiCenterRealStatistics busiCenterReal : busiCenterReals) { - //查询每个主变今日中心点数据 - BusiCenterRealStatistics busiCenterRealStatisticsToday = busiCenterRealStatisticsService.getMainDeviceListTodayData(busiCenterReal); - //查询每个主变昨日中心点数据 - BusiCenterRealStatistics busiCenterRealStatisticsYesterday = busiCenterRealStatisticsService.getMainDeviceListYesterdayData(busiCenterReal); - //查询每个主变30日之前中心点数据 - BusiCenterRealStatistics busiCenterRealStatisticsBeforeOneMonth = busiCenterRealStatisticsService.getMainDeviceListBeforOneMonthData(busiCenterReal); - - if (null != busiCenterRealStatisticsToday) { - //获得今日中心点值 - String maxAmplitudeToday = busiCenterRealStatisticsToday.getMaxAmplitude(); - BigDecimal todayData = new BigDecimal(maxAmplitudeToday); - BusiCenterIncrease busiCenterIncrease = new BusiCenterIncrease(); - if (null != busiCenterRealStatisticsYesterday) { - //获得昨日中心点值 - String maxAmplitudeYesterdayData = busiCenterRealStatisticsYesterday.getMaxAmplitude(); - BigDecimal yesterdayData = new BigDecimal(maxAmplitudeYesterdayData); + @Autowired + private BusiAmpliDayIncreaseMapper busiAmpliDayIncreaseMapper; - //两日差值 - BigDecimal DValue = todayData.subtract(yesterdayData); - //计算增长率 - BigDecimal rateOfRiseByYesterday = DValue.divide(yesterdayData, 2, BigDecimal.ROUND_HALF_UP); - busiCenterIncrease.setId(UuidUtils.getUUID()); - busiCenterIncrease.setDTime(new Date()); - busiCenterIncrease.setMainId(busiCenterReal.getMainId()); - busiCenterIncrease.setDayRate(rateOfRiseByYesterday.toString()); + public void execute() { + // 查询每个主变 + List allMainDevice = busiMainDeviceMapper.getAllMainDevice(); + for (BusiMainDeviceVo mainDeviceVo : allMainDevice) { + // 查询主变下所有的装置 + List subDeviceVos = busiSubDeviceMapper.findSubDeviceByMainId(mainDeviceVo.getId()); + // 循环所有的装置 + for (BusiSubDeviceVo deviceVo : subDeviceVos) { + // 中心点装置 + if (deviceVo.getDeviceType().equals(3)) { + log.info("-- >>> 计算增长率定时任务开始"); + log.info("-- >>> 计算中心点增长率"); + // 查询每个主变今日中心点数据 + BusiCenterRealStatistics toDayCenterRealData = busiCenterRealStatisticsMapper.getRealStatisticsByInsTime(deviceVo.getMainId(), DateUtils.getDate()); + // 查询每个主变昨日中心点数据 + BusiCenterRealStatistics yesTodyCenterRealData = busiCenterRealStatisticsMapper.getRealStatisticsByInsTime(deviceVo.getMainId(), DateUtils.getYesTerDayDate()); + // 查询每个主变30日之前中心点数据 + BusiCenterRealStatistics lastMonthCenterRealData = busiCenterRealStatisticsMapper.getRealStatisticsByInsTime(deviceVo.getMainId(), DateUtils.getLastMonthDate()); + // 判断数据不为空的话 + if (null != toDayCenterRealData) { + // 获得今日中心点值 + String maxAmplitudeToday = toDayCenterRealData.getMaxAmplitude(); + BigDecimal todayData = new BigDecimal(maxAmplitudeToday); + BusiCenterIncrease increase = new BusiCenterIncrease(); + increase.setId(UuidUtils.getUUID()); + increase.setSubId(deviceVo.getId()); + increase.setDayRate("0"); + increase.setMonthRate("0"); + increase.setDTime(new Date()); + increase.setMainId(deviceVo.getMainId()); + if (null != yesTodyCenterRealData) { + // 设置日增长率 + increase.setDayRate(growthRate(yesTodyCenterRealData.getMaxAmplitude(), todayData)); + } + if (null != lastMonthCenterRealData) { + // 设置月增长率 + increase.setMonthRate(growthRate(lastMonthCenterRealData.getMaxAmplitude(), todayData)); + } + if (null != increase.getId()) { + busiCenterIncreaseMapper.insert(increase); + } + } } - if (null != busiCenterRealStatisticsBeforeOneMonth) { - //获得30日之前中心点值 - String maxAmplitudebeforeOneMonthdayData = busiCenterRealStatisticsBeforeOneMonth.getMaxAmplitude(); - BigDecimal beforeOneMonthdayData = new BigDecimal(maxAmplitudebeforeOneMonthdayData); - - //两日差值 - BigDecimal DValue = todayData.subtract(beforeOneMonthdayData); - //计算增长率 - BigDecimal rateOfRiseBybeforeOneMonth = DValue.divide(beforeOneMonthdayData, 2, BigDecimal.ROUND_HALF_UP); - busiCenterIncrease.setMonthRate(rateOfRiseBybeforeOneMonth.toString()); + log.info("-- >>> 计算增长率定时任务继续"); + log.info("-- >>> 计算噪声增长率"); + // 噪声增长率计算 + if (deviceVo.getDeviceType().equals(2)) { + // 查询每个主变今日中心点数据 + BusiNoiseRealStatistics toDayNoiseRealData = busiNoiseRealStatisticsMapper.getRealStatisticsByInsTime(deviceVo.getMainId(), DateUtils.getDate()); + // 查询每个主变昨日中心点数据 + BusiNoiseRealStatistics yesTodyNoiseRealData = busiNoiseRealStatisticsMapper.getRealStatisticsByInsTime(deviceVo.getMainId(), DateUtils.getYesTerDayDate()); + // 查询每个主变30日之前中心点数据 + BusiNoiseRealStatistics lastMonthNoiseRealData = busiNoiseRealStatisticsMapper.getRealStatisticsByInsTime(deviceVo.getMainId(), DateUtils.getLastMonthDate()); + if (null != toDayNoiseRealData) { + // 获得今日噪声值 + String maxAmplitudeToday = toDayNoiseRealData.getMaxAmplitude(); + BigDecimal todayData = new BigDecimal(maxAmplitudeToday); + BusiNoiseIncrease increase = new BusiNoiseIncrease(); + increase.setId(UuidUtils.getUUID()); + increase.setSubId(deviceVo.getId()); + increase.setDayRate("0"); + increase.setMonthRate("0"); + increase.setDTime(new Date()); + increase.setMainId(deviceVo.getMainId()); + if (null != yesTodyNoiseRealData) { + // 设置日增长率 + increase.setDayRate(growthRate(yesTodyNoiseRealData.getMaxAmplitude(), todayData)); + } + if (null != lastMonthNoiseRealData) { + // 设置月增长率 + increase.setMonthRate(growthRate(lastMonthNoiseRealData.getMaxAmplitude(), todayData)); + } + if (null != increase.getId()) { + busiNoiseIncreaseMapper.insert(increase); + } + } } - if (null != busiCenterIncrease.getId()) { - busiCenterIncreaseMapper.insert(busiCenterIncrease); + log.info("-- >>> 计算振动装置原边所有Hz的增长率"); + // 振动装置原边增长率计算 + if (deviceVo.getDeviceType().equals(1) && deviceVo.getSide().equals("P")) { + int k = 1; + int m = 2; + // 求当前装置下所有Hz的平均数 + for (int i = 0; i < 19; i++) { + // 频率值 + int frequency = 50 * (i + k); + // 当频率达到700时修改k值为2 + if (frequency >= 700) { + k = m; + ++m; + } + String value = String.valueOf(frequency); + // 查询每个主变今日振动装置数据 + BusiAmpliStatistics toDayAmpliRealData = busiAmpliStatisticsMapper.getRealStatisticsByInsTime(deviceVo.getId(), DateUtils.getDate(), value); + // 查询每个主变昨日振动装置数据 + BusiAmpliStatistics yesTodyAmpliRealData = busiAmpliStatisticsMapper.getRealStatisticsByInsTime(deviceVo.getId(), DateUtils.getYesTerDayDate(), value); + // 查询每个主变30日之前振动装置数据 + BusiAmpliStatistics lastMonthAmpliRealData = busiAmpliStatisticsMapper.getRealStatisticsByInsTime(deviceVo.getId(), DateUtils.getLastMonthDate(), value); + if (null != toDayAmpliRealData) { + // 获得今日原边幅值 + String maxAmplitudeToday = toDayAmpliRealData.getMaxAmplitude(); + BigDecimal todayData = new BigDecimal(maxAmplitudeToday); + BusiAmpliDayIncrease increase = new BusiAmpliDayIncrease(); + increase.setId(UuidUtils.getUUID()); + increase.setSubId(deviceVo.getId()); + increase.setDayRate("0"); + increase.setMonthRate("0"); + increase.setDTime(new Date()); + increase.setMainId(deviceVo.getMainId()); + increase.setFrequency(value); + if (null != yesTodyAmpliRealData) { + // 设置日增长率 + increase.setDayRate(growthRate(yesTodyAmpliRealData.getMaxAmplitude(), todayData)); + } + if (null != lastMonthAmpliRealData) { + // 设置月增长率 + increase.setMonthRate(growthRate(lastMonthAmpliRealData.getMaxAmplitude(), todayData)); + } + if (null != increase.getId()) { + busiAmpliDayIncreaseMapper.insert(increase); + } + } + } + } + log.info("-- >>> 计算振动装置副边所有Hz的增长率"); + // 振动装置副边增长率计算 + if (deviceVo.getDeviceType().equals(1) && deviceVo.getSide().equals("S")) { + int k = 1; + // 求当前装置下所有Hz的平均数 + for (int i = 0; i < 7; i++) { + // 频率值 + int frequency = 100 * (i + k); + String value = String.valueOf(frequency); + // 查询每个主变今日振动装置数据 + BusiAmpliStatistics toDayAmpliRealData = busiAmpliStatisticsMapper.getRealStatisticsByInsTime(deviceVo.getId(), DateUtils.getDate(), value); + // 查询每个主变昨日振动装置数据 + BusiAmpliStatistics yesTodyAmpliRealData = busiAmpliStatisticsMapper.getRealStatisticsByInsTime(deviceVo.getId(), DateUtils.getYesTerDayDate(), value); + // 查询每个主变30日之前振动装置数据 + BusiAmpliStatistics lastMonthAmpliRealData = busiAmpliStatisticsMapper.getRealStatisticsByInsTime(deviceVo.getId(), DateUtils.getLastMonthDate(), value); + if (null != toDayAmpliRealData) { + // 获得今日噪声值 + String maxAmplitudeToday = toDayAmpliRealData.getMaxAmplitude(); + BigDecimal todayData = new BigDecimal(maxAmplitudeToday); + BusiAmpliDayIncrease increase = new BusiAmpliDayIncrease(); + increase.setId(UuidUtils.getUUID()); + increase.setSubId(deviceVo.getId()); + increase.setDayRate("0"); + increase.setMonthRate("0"); + increase.setDTime(new Date()); + increase.setMainId(deviceVo.getMainId()); + increase.setFrequency(value); + if (null != yesTodyAmpliRealData) { + // 设置日增长率 + increase.setDayRate(growthRate(yesTodyAmpliRealData.getMaxAmplitude(), todayData)); + } + if (null != lastMonthAmpliRealData) { + // 设置月增长率 + increase.setMonthRate(growthRate(lastMonthAmpliRealData.getMaxAmplitude(), todayData)); + } + if (null != increase.getId()) { + busiAmpliDayIncreaseMapper.insert(increase); + } + } + } } } } - log.info("-- >>> 噪声增长率"); - List busiNoiseRealStatisticss = busiNoiseRealStatisticsService.selectMainDeviceList(); - for (BusiNoiseRealStatistics busiNoiseRealStatistics : busiNoiseRealStatisticss) { - //查询每个主变今日噪声数据 - BusiNoiseRealStatistics busiNoiseRealStatisticsToday = busiNoiseRealStatisticsService.getMainDeviceListTodayData(busiNoiseRealStatistics); - //查询每个主变昨日噪声数据 - BusiNoiseRealStatistics busiNoiseRealStatisticsYesterday = busiNoiseRealStatisticsService.getMainDeviceListYesterdayData(busiNoiseRealStatistics); - //查询每个主变30日之前噪声数据 - BusiNoiseRealStatistics busiNoiseRealStatisticsBeforeOneMonth = busiNoiseRealStatisticsService.getMainDeviceListBeforOneMonthData(busiNoiseRealStatistics); - - if (null != busiNoiseRealStatisticsToday) { - //获得今日噪声值 - String maxAmplitudeToday = busiNoiseRealStatisticsToday.getMaxAmplitude(); - BigDecimal todayData = new BigDecimal(maxAmplitudeToday); - BusiNoiseIncrease busiCenterIncrease = new BusiNoiseIncrease(); - if (null != busiNoiseRealStatisticsYesterday) { - //获得昨日噪声值 - String maxAmplitudeYesterdayData = busiNoiseRealStatisticsYesterday.getMaxAmplitude(); - BigDecimal yesterdayData = new BigDecimal(maxAmplitudeYesterdayData); + } - //两日差值 - BigDecimal DValue = todayData.subtract(yesterdayData); - //计算增长率 - BigDecimal rateOfRiseByYesterday = DValue.divide(yesterdayData, 2, BigDecimal.ROUND_HALF_UP); - busiCenterIncrease.setId(UuidUtils.getUUID()); - busiCenterIncrease.setDTime(new Date()); - busiCenterIncrease.setMainId(busiNoiseRealStatistics.getMainId()); - busiCenterIncrease.setDayRate(rateOfRiseByYesterday.toString()); - } - if (null != busiNoiseRealStatisticsBeforeOneMonth) { - //获得30日之前噪声值 - String maxAmplitudebeforeOneMonthdayData = busiNoiseRealStatisticsBeforeOneMonth.getMaxAmplitude(); - BigDecimal beforeOneMonthdayData = new BigDecimal(maxAmplitudebeforeOneMonthdayData); - //两日差值 - BigDecimal DValue = todayData.subtract(beforeOneMonthdayData); - //计算增长率 - BigDecimal rateOfRiseBybeforeOneMonth = DValue.divide(beforeOneMonthdayData, 2, BigDecimal.ROUND_HALF_UP); - busiCenterIncrease.setMonthRate(rateOfRiseBybeforeOneMonth.toString()); - } - if (null != busiCenterIncrease.getId()) { - busiNoiseIncreaseMapper.insert(busiCenterIncrease); - } - } + /** + * 增长率 + * + * @param amplitude + * @param todayData + * @return + */ + private String growthRate(String amplitude, BigDecimal todayData) { + // 获得幅值 + BigDecimal data = new BigDecimal(amplitude); + BigDecimal defaultValue = BigDecimal.ZERO; + // 差值 + BigDecimal DValue = todayData.subtract(data); + // 判断数据是否等于0 + if (data.intValue() != 0) { + // 计算增长率 + defaultValue = DValue.divide(data, 2, BigDecimal.ROUND_HALF_UP); } - log.info("-- >>> 振动装置增长率"); - // 查询振动装置数据统计表中主变数量 todo 频率问题未确定 - List BusiAmpliStatistics = BusiAmpliStatisticsService.selectMainDeviceList(); + return defaultValue.toString(); } + } diff --git a/src/main/java/com/chenxuan/timeTask/DeviceSmoothing.java b/src/main/java/com/chenxuan/timeTask/DeviceSmoothing.java index e0be6c7..5745a7b 100644 --- a/src/main/java/com/chenxuan/timeTask/DeviceSmoothing.java +++ b/src/main/java/com/chenxuan/timeTask/DeviceSmoothing.java @@ -12,13 +12,16 @@ import com.chenxuan.utils.DateUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; - import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; +/** + * @author Bobi_huo + * @date 2020-12-8 11:19 + */ @Slf4j @Component("deviceSmoothing") public class DeviceSmoothing { @@ -48,26 +51,26 @@ public class DeviceSmoothing { * 实时数据俢匀算符 */ public void execute() { - //查询每个主变 + // 查询每个主变 List allMainDevice = busiMainDeviceMapper.getAllMainDevice(); - //循环处理每个主变 + // 循环处理每个主变 for (BusiMainDeviceVo deviceVo : allMainDevice) { log.info("-- >>> 修匀开始"); log.info("-- >>> 中心点修匀开始"); - //中心点俢匀 + // 中心点俢匀 getCenterReal(deviceVo.getId()); log.info("-- >>> 中心点修匀结束"); log.info("-- >>> 噪声修匀开始"); - //噪声俢匀 + // 噪声俢匀 getNoiseReal(deviceVo.getId()); log.info("-- >>> 噪声修匀结束"); log.info("-- >>> 原边装置修匀开始"); - //原边俢匀 - getAverage(deviceVo.getId(), "P"); + // 原边俢匀 + getPAverage(deviceVo.getId(), "P"); log.info("-- >>> 原边装置修匀结束"); log.info("-- >>> 副边装置修匀开始"); - //副边俢匀 - getAverage(deviceVo.getId(), "S"); + // 副边俢匀 + getSAverage(deviceVo.getId(), "S"); log.info("-- >>> 修匀结束"); } } @@ -79,29 +82,57 @@ public class DeviceSmoothing { * @param side * @return */ - private void getAverage(String mainId, String side) { + private void getPAverage(String mainId, String side) { int k = 1; int m = 2; - //求当前装置下所有Hz的平均数 + // 求当前装置下所有Hz的平均数 for (int i = 0; i < 19; i++) { - //频率值 + // 频率值 int frequency = 50 * (i + k); - //当频率达到700时修改k值为2 + // 当频率达到700时修改k值为2 if (frequency >= 700) { k = m; ++m; } - //A项上侧装置 + // A项上侧装置 + getAmpliReal(mainId, side, "A", "U", frequency); + // A项下侧装置 + getAmpliReal(mainId, side, "A", "D", frequency); + // B项上侧装置 + getAmpliReal(mainId, side, "B", "U", frequency); + // B项下侧装置 + getAmpliReal(mainId, side, "B", "D", frequency); + // C项上侧装置 + getAmpliReal(mainId, side, "C", "U", frequency); + // C项下侧装置 + getAmpliReal(mainId, side, "C", "D", frequency); + } + } + + /** + * 原副边平均值 + * + * @param mainId + * @param side + * @return + */ + private void getSAverage(String mainId, String side) { + int k = 1; + // 求当前装置下所有Hz的平均数 + for (int i = 0; i < 7; i++) { + // 频率值 + int frequency = 100 * (i + k); + // A项上侧装置 getAmpliReal(mainId, side, "A", "U", frequency); - //A项下侧装置 + // A项下侧装置 getAmpliReal(mainId, side, "A", "D", frequency); - //B项上侧装置 + // B项上侧装置 getAmpliReal(mainId, side, "B", "U", frequency); - //B项下侧装置 + // B项下侧装置 getAmpliReal(mainId, side, "B", "D", frequency); - //C项上侧装置 + // C项上侧装置 getAmpliReal(mainId, side, "C", "U", frequency); - //C项下侧装置 + // C项下侧装置 getAmpliReal(mainId, side, "C", "D", frequency); } } @@ -115,17 +146,18 @@ public class DeviceSmoothing { BusiCenterRealDto centerRealDto = new BusiCenterRealDto(); centerRealDto.setMainId(mainId); centerRealDto.setInsTime(DateUtils.getYesTerDayDate()); - //获取前一天的实时数据 + // 获取前一天的实时数据 List centerReals = busiCenterRealMapper.findCenterRealChartByInfo(centerRealDto); - //判断是否有值 + // 判断是否有值 if (CollectionUtil.isEmpty(centerReals)) { return; } - //声明一个新集合 + // 声明一个新集合 List amplitudes = new ArrayList<>(centerReals.size()); - //只获取幅值 + // 只获取幅值 centerReals.stream().forEach(real -> { - amplitudes.add(new BigDecimal(real.getMaxAmplitude())); + amplitudes.add(new BigDecimal(real.getTemp())); + amplitudes.add(new BigDecimal(real.getHumidity())); centerRealDto.setId(real.getId()); }); calculateCenter(centerRealDto, amplitudes, 8); @@ -140,15 +172,15 @@ public class DeviceSmoothing { BusiNoiseRealDto noiseRealDto = new BusiNoiseRealDto(); noiseRealDto.setMainId(mainId); noiseRealDto.setInsTime(DateUtils.getYesTerDayDate()); - //获取前一天的实时数据 + // 获取前一天的实时数据 List noiseReals = busiNoiseRealMapper.findNoiseRealChartByInfo(noiseRealDto); - //判断是否有值 + // 判断是否有值 if (CollectionUtil.isEmpty(noiseReals)) { return; } - //声明一个新集合 + // 声明一个新集合 List amplitudes = new ArrayList<>(noiseReals.size()); - //只获取幅值 + // 只获取幅值 noiseReals.stream().forEach(real -> { amplitudes.add(new BigDecimal(real.getMaxAmplitude())); }); @@ -173,15 +205,18 @@ public class DeviceSmoothing { ampliRealDto.setInOut(inOut); ampliRealDto.setInsTime(DateUtils.getYesTerDayDate()); ampliRealDto.setFrequency(String.valueOf(frequency)); - //获取前一天的实时数据 + // 获取前一天的实时数据 List yesterdayReals = busiAmpliRealMapper.getTodayAmpliReal(ampliRealDto); - //判断是否有值 + // 判断是否有值 if (CollectionUtil.isEmpty(yesterdayReals)) { return; } - //声明一个新集合 + // 设置装置id + ampliRealDto.setSubId(yesterdayReals.get(0).getSubId()); + + // 声明一个新集合 List amplitudes = new ArrayList<>(yesterdayReals.size()); - //只获取幅值 + // 只获取幅值 yesterdayReals.stream().forEach(real -> { amplitudes.add(new BigDecimal(real.getMaxAmplitude())); }); @@ -196,18 +231,18 @@ public class DeviceSmoothing { * @return */ private void calculateCenter(BusiCenterRealDto centerRealDto, List amplitudes, int splitNum) { - //判断是否有值 + // 判断是否有值 double sum = amplitudes.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getSum(); - if (sum <= 0) { + if (sum == 0) { return; } List amplitude1 = new ArrayList<>(); List amplitude2 = new ArrayList<>(); List amplitude3 = new ArrayList<>(); double average = 0, average1 = 0, average2 = 0; - //判断是否是整数 + // 判断是否是整数 int groupFlag = amplitudes.size() % splitNum == 0 ? (amplitudes.size() / splitNum) : (amplitudes.size() / splitNum + 1); - //循环赋值 + // 循环赋值 for (int i = 0; i < groupFlag; i++) { switch (i) { case 0: @@ -221,26 +256,26 @@ public class DeviceSmoothing { break; } } - //去除最大值和最小值并求和 + // 去除最大值和最小值并求和 if (CollectionUtil.isNotEmpty(amplitude1)) { amplitude1 = amplitude1.stream().sorted().collect(Collectors.toList()); amplitude1 = amplitude1.subList(1, amplitude1.size() - 1); average = amplitude1.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getAverage(); } - //去除最大值和最小值并求和 + // 去除最大值和最小值并求和 if (CollectionUtil.isNotEmpty(amplitude2)) { amplitude2 = amplitude2.stream().sorted().collect(Collectors.toList()); amplitude2 = amplitude2.subList(1, amplitude2.size() - 1); average1 = amplitude2.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getAverage(); } - //去除最大值和最小值并求和 + // 去除最大值和最小值并求和 if (CollectionUtil.isNotEmpty(amplitude3)) { amplitude3 = amplitude3.stream().sorted().collect(Collectors.toList()); amplitude3 = amplitude3.subList(1, amplitude3.size() - 1); average2 = amplitude3.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getAverage(); } BigDecimal bigDecimal = BigDecimal.ZERO; - //求平均值 + // 求平均值 if (average > 0) { bigDecimal = BigDecimal.valueOf(average); } @@ -250,7 +285,7 @@ public class DeviceSmoothing { if (average > 0 && average1 > 0 && average2 > 0) { bigDecimal = BigDecimal.valueOf((average + average1 + average2) / 3); } - //创建日统计数据 + // 创建日统计数据 BusiCenterRealStatistics busiCenterRealStatistics = new BusiCenterRealStatistics(); busiCenterRealStatistics.setId(UuidUtils.getUUID()); busiCenterRealStatistics.setInsTime(new Date()); @@ -267,18 +302,18 @@ public class DeviceSmoothing { * @return */ private void calculateNoise(BusiNoiseRealDto noiseRealDto, List amplitudes, int splitNum) { - //判断是否有值 + // 判断是否有值 double sum = amplitudes.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getSum(); - if (sum <= 0) { + if (sum == 0) { return; } List amplitude1 = new ArrayList<>(); List amplitude2 = new ArrayList<>(); List amplitude3 = new ArrayList<>(); double average = 0, average1 = 0, average2 = 0; - //判断是否是整数 + // 判断是否是整数 int groupFlag = amplitudes.size() % splitNum == 0 ? (amplitudes.size() / splitNum) : (amplitudes.size() / splitNum + 1); - //循环赋值 + // 循环赋值 for (int i = 0; i < groupFlag; i++) { switch (i) { case 0: @@ -292,26 +327,26 @@ public class DeviceSmoothing { break; } } - //去除最大值和最小值并求和 + // 去除最大值和最小值并求和 if (CollectionUtil.isNotEmpty(amplitude1)) { amplitude1 = amplitude1.stream().sorted().collect(Collectors.toList()); amplitude1 = amplitude1.subList(1, amplitude1.size() - 1); average = amplitude1.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getAverage(); } - //去除最大值和最小值并求和 + // 去除最大值和最小值并求和 if (CollectionUtil.isNotEmpty(amplitude2)) { amplitude2 = amplitude2.stream().sorted().collect(Collectors.toList()); amplitude2 = amplitude2.subList(1, amplitude2.size() - 1); average1 = amplitude2.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getAverage(); } - //去除最大值和最小值并求和 + // 去除最大值和最小值并求和 if (CollectionUtil.isNotEmpty(amplitude3)) { amplitude3 = amplitude3.stream().sorted().collect(Collectors.toList()); amplitude3 = amplitude3.subList(1, amplitude3.size() - 1); average2 = amplitude3.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getAverage(); } BigDecimal bigDecimal = BigDecimal.ZERO; - //求平均值 + // 求平均值 if (average > 0) { bigDecimal = BigDecimal.valueOf(average); } @@ -321,7 +356,7 @@ public class DeviceSmoothing { if (average > 0 && average1 > 0 && average2 > 0) { bigDecimal = BigDecimal.valueOf((average + average1 + average2) / 3); } - //创建日统计数据 + // 创建日统计数据 BusiNoiseRealStatistics noiseRealStatistics = new BusiNoiseRealStatistics(); noiseRealStatistics.setId(UuidUtils.getUUID()); noiseRealStatistics.setInsTime(new Date()); @@ -338,18 +373,18 @@ public class DeviceSmoothing { * @return */ private void calculateData(BusiAmpliRealDto ampliRealDto, List amplitudes, int splitNum) { - //判断是否有值 + // 判断是否有值 double sum = amplitudes.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getSum(); - if (sum <= 0) { + if (sum == 0) { return; } List amplitude1 = new ArrayList<>(); List amplitude2 = new ArrayList<>(); List amplitude3 = new ArrayList<>(); double average = 0, average1 = 0, average2 = 0; - //判断是否是整数 + // 判断是否是整数 int groupFlag = amplitudes.size() % splitNum == 0 ? (amplitudes.size() / splitNum) : (amplitudes.size() / splitNum + 1); - //循环赋值 + // 循环赋值 for (int i = 0; i < groupFlag; i++) { switch (i) { case 0: @@ -363,26 +398,26 @@ public class DeviceSmoothing { break; } } - //去除最大值和最小值并求和 + // 去除最大值和最小值并求和 if (CollectionUtil.isNotEmpty(amplitude1)) { amplitude1 = amplitude1.stream().sorted().collect(Collectors.toList()); amplitude1 = amplitude1.subList(1, amplitude1.size() - 1); average = amplitude1.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getAverage(); } - //去除最大值和最小值并求和 + // 去除最大值和最小值并求和 if (CollectionUtil.isNotEmpty(amplitude2)) { amplitude2 = amplitude2.stream().sorted().collect(Collectors.toList()); amplitude2 = amplitude2.subList(1, amplitude2.size() - 1); average1 = amplitude2.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getAverage(); } - //去除最大值和最小值并求和 + // 去除最大值和最小值并求和 if (CollectionUtil.isNotEmpty(amplitude3)) { amplitude3 = amplitude3.stream().sorted().collect(Collectors.toList()); amplitude3 = amplitude3.subList(1, amplitude3.size() - 1); average2 = amplitude3.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getAverage(); } BigDecimal bigDecimal = BigDecimal.ZERO; - //求平均值 + // 求平均值 if (average > 0) { bigDecimal = BigDecimal.valueOf(average); } @@ -392,7 +427,7 @@ public class DeviceSmoothing { if (average > 0 && average1 > 0 && average2 > 0) { bigDecimal = BigDecimal.valueOf((average + average1 + average2) / 3); } - //创建日统计数据 + // 创建日统计数据 BusiAmpliStatistics busiAmpliStatistics = new BusiAmpliStatistics(); busiAmpliStatistics.setId(UuidUtils.getUUID()); busiAmpliStatistics.setInsTime(new Date()); diff --git a/src/main/java/com/chenxuan/timeTask/EvalParamTask.java b/src/main/java/com/chenxuan/timeTask/EvalParamTask.java index 5d8b78d..ff15390 100644 --- a/src/main/java/com/chenxuan/timeTask/EvalParamTask.java +++ b/src/main/java/com/chenxuan/timeTask/EvalParamTask.java @@ -15,15 +15,23 @@ import com.chenxuan.mapper.*; import com.chenxuan.utils.DateUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; +import org.springframework.web.client.RestTemplate; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; +/** + * @author Bobi_huo + * @date 2020-12-8 11:19 + */ @Slf4j @Component("evalParamTask") public class EvalParamTask { @@ -46,47 +54,62 @@ public class EvalParamTask { @Autowired private BusiAssessParameterMapper assessParameterMapper; + @Autowired + private RestTemplate restTemplate; + + @Value("${remote.mainDevice.add}") + private String remoteMainDeviceAdd; + /** * 评估参数俢匀算法 */ public void evaluaParame() { - //查询每个主变 + log.info("-------evalParamTask execute begin------"); + // 查询每个主变 List allMainDevice = busiMainDeviceMapper.getAllMainDevice(); List subDevices = new ArrayList<>(); List parameterList = new ArrayList<>(allMainDevice.size()); - //循环处理每个主变 + // 循环处理每个主变 for (BusiMainDeviceVo deviceVo : allMainDevice) { BusiAssessParameter parameter = new BusiAssessParameter(); - //根据主变id查询评估参数 - List paramList = busiCalcParamConfMapper.findFirstLevelParams(deviceVo.getId()); - //递归封装数据 + // 根据主变id查询评估参数 + List paramList = busiCalcParamConfMapper.findFirstLevelDatas(deviceVo.getId()); + // 递归封装数据 setChildren(paramList); - //判断封装数据是否为空 + // 判断封装数据是否为空 if (CollectionUtil.isEmpty(paramList)) { continue; } - //俢匀二级数据 + // 俢匀二级数据 for (BusiCalcParamConfVo child : paramList.get(0).getChildren()) { - //高压侧(原边)铁芯处理数据 + // 高压侧(原边)铁芯处理数据 if (child.getName().equals("SJZD_HIGHT_WEIGHT")) { - subDevices.add(getAverage(child)); + BigDecimal average = getAverage(child); + parameter.setHighPoint(average == null ? "" : average.toString() ); + subDevices.add(average); } - //低压侧(副边)绕组处理数据 + // 低压侧(副边)绕组处理数据 if (child.getName().equals("SJZD_LOW_WEIGHT")) { + BigDecimal average = getAverage(child); + parameter.setLowPoint(average == null ? "" : average.toString() ); subDevices.add(getAverage(child)); } - //中心点处理数据 + // 中心点处理数据 if (child.getName().equals("SJZD_CENTER_WEIGHT")) { - subDevices.add(getCenterReal(child)); + BigDecimal average = getCenterReal(child); + parameter.setCenterPoint(average == null ? "" : average.toString() ); + subDevices.add(average); } - //噪声处理数据 + // 噪声处理数据 if (child.getName().equals("SJZD_NOISE_WEIGHT")) { - subDevices.add(getNoiseReal(child)); + BigDecimal average = getNoiseReal(child); + parameter.setNoisePoint(average == null ? "" : average.toString() ); + subDevices.add(average); } } - //得到最顶级的平均值 + // 得到最顶级的平均值 double average = subDevices.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getAverage(); - //最后俢匀值 + // 最后俢匀值 BigDecimal multiply = BigDecimal.valueOf(average).multiply(paramList.get(0).getValue()); parameter.setId(UuidUtils.getUUID()); parameter.setMainId(deviceVo.getId()); @@ -94,8 +117,43 @@ public class EvalParamTask { parameter.setInsTime(new Date()); parameterList.add(parameter); } - //插入数据 + // 插入数据 assessParameterMapper.saveAssessParameter(parameterList); + // + Map smallMap = new HashMap<>(); + ArrayList> arrayList = new ArrayList<>(); + for (BusiAssessParameter parameter : parameterList) { + smallMap.put("mainTreeId", parameter.getMainId()); + smallMap.put("amplitude", parameter.getAmplitude()); + + smallMap.put("highPoint", parameter.getHighPoint()); + smallMap.put("lowPoint", parameter.getLowPoint()); + smallMap.put("centerPoint", parameter.getCenterPoint()); + smallMap.put("noisePoint", parameter.getNoisePoint()); + + arrayList.add(smallMap); + smallMap = new HashMap<>(); + } + boolean results = addTransformerEvaluationResults(arrayList); + if (!results) { + log.info("----------------对比数据添加失败"); + } + log.info("----------------对比数据添加成功"); + + log.info("-------evalParamTask execute end------"); + } + + public boolean addTransformerEvaluationResults(ArrayList> arrayList) { + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setContentType(MediaType.parseMediaType(MediaType.APPLICATION_JSON_UTF8_VALUE)); + HttpEntity>> httpEntity = new HttpEntity<>(arrayList, httpHeaders); + ResponseEntity responseEntity = restTemplate.postForEntity(remoteMainDeviceAdd, httpEntity, + Object.class); + int code = responseEntity.getStatusCodeValue(); + if (code == 200) { + return true; + } + return false; } /** @@ -108,7 +166,7 @@ public class EvalParamTask { return; } for (BusiCalcParamConfVo param : paramList) { - List children = busiCalcParamConfMapper.findSubParams( + List children = busiCalcParamConfMapper.findSubDatas( param.getMainId(), param.getName()); param.setChildren(children); setChildren(children); @@ -127,140 +185,98 @@ public class EvalParamTask { List hzAverages = new ArrayList<>(); List subAverages = new ArrayList<>(); for (BusiCalcParamConfVo childChild : child.getChildren()) { - //A项上侧装置 + // A项上侧装置 if (childChild.getName().equals("SJZD_HIGHT_GROUP_WEIGHT_A1") || childChild.getName().equals("SJZD_LOW_GROUP_WEIGHT_a1")) { List childChildChildren = childChild.getChildren(); - //判断是原边还是副边 + // 判断是原边还是副边 String side = childChild.getName().equals("SJZD_HIGHT_GROUP_WEIGHT_A1") ? "P" : "S"; - //求当前装置下所有Hz的平均数 - for (int i = 0; i < childChildChildren.size(); i++) { - //频率值 - int frequency = 50 * (i + k); - //当频率达到700时修改k值为2 - if (frequency >= 700) { - k = m; - ++m; - } - //求当前装置下Hz的平均数 - hzAverages.add(getAmpliReal(childChild.getMainId(), side, "A", "U", frequency, childChildChildren.get(i).getValue())); + // 求当前装置下所有Hz的平均数 + for (BusiCalcParamConfVo paramConfVo : childChildChildren) { + // 求当前装置下Hz的平均数 + hzAverages.add(getAmpliReal(childChild.getMainId(), side, "A", "U", Integer.valueOf(paramConfVo.getFrequency()), paramConfVo)); } - //将所有的Hz的数据汇总成一条 - subAverages.add(calculateData(hzAverages, childChild.getValue(), 6)); + // 将所有的Hz的数据汇总成一条 + subAverages.add(calculateData(hzAverages, childChild, 6)); continue; } - //A项下侧装置 + // A项下侧装置 if (childChild.getName().equals("SJZD_HIGHT_GROUP_WEIGHT_A2") || childChild.getName().equals("SJZD_LOW_GROUP_WEIGHT_a2")) { List childChildChildren = childChild.getChildren(); - //判断是原边还是副边 + // 判断是原边还是副边 String side = childChild.getName().equals("SJZD_HIGHT_GROUP_WEIGHT_A2") ? "P" : "S"; - //求当前装置下所有Hz的平均数 - for (int i = 0; i < childChildChildren.size(); i++) { - //频率值 - int frequency = 50 * (i + k); - //当频率达到700时修改k值为2 - if (frequency >= 700) { - k = m; - ++m; - } - //求当前装置下Hz的平均数 - hzAverages.add(getAmpliReal(childChild.getMainId(), side, "A", "D", frequency, childChildChildren.get(i).getValue())); + // 求当前装置下所有Hz的平均数 + for (BusiCalcParamConfVo paramConfVo : childChildChildren) { + // 求当前装置下Hz的平均数 + hzAverages.add(getAmpliReal(childChild.getMainId(), side, "A", "D", Integer.valueOf(paramConfVo.getFrequency()), paramConfVo)); } - //将所有的Hz的数据汇总成一条 - subAverages.add(calculateData(hzAverages, childChild.getValue(), 6)); + // 将所有的Hz的数据汇总成一条 + subAverages.add(calculateData(hzAverages, childChild, 6)); continue; } - //B项上侧装置 + // B项上侧装置 if (childChild.getName().equals("SJZD_HIGHT_GROUP_WEIGHT_B1") || childChild.getName().equals("SJZD_LOW_GROUP_WEIGHT_b1")) { List childChildChildren = childChild.getChildren(); - //判断是原边还是副边 + // 判断是原边还是副边 String side = childChild.getName().equals("SJZD_HIGHT_GROUP_WEIGHT_B1") ? "P" : "S"; - //求当前装置下所有Hz的平均数 - for (int i = 0; i < childChildChildren.size(); i++) { - //频率值 - int frequency = 50 * (i + k); - //当频率达到700时修改k值为2 - if (frequency >= 700) { - k = m; - ++m; - } - //求当前装置下Hz的平均数 - hzAverages.add(getAmpliReal(childChild.getMainId(), side, "B", "U", frequency, childChildChildren.get(i).getValue())); + // 求当前装置下所有Hz的平均数 + for (BusiCalcParamConfVo paramConfVo : childChildChildren) { + // 求当前装置下Hz的平均数 + hzAverages.add(getAmpliReal(childChild.getMainId(), side, "B", "U", Integer.valueOf(paramConfVo.getFrequency()), paramConfVo)); } - //将所有的Hz的数据汇总成一条 - subAverages.add(calculateData(hzAverages, childChild.getValue(), 6)); + // 将所有的Hz的数据汇总成一条 + subAverages.add(calculateData(hzAverages, childChild, 6)); continue; } - //B项下侧装置 + // B项下侧装置 if (childChild.getName().equals("SJZD_HIGHT_GROUP_WEIGHT_B2") || childChild.getName().equals("SJZD_LOW_GROUP_WEIGHT_b2")) { List childChildChildren = childChild.getChildren(); - //判断是原边还是副边 + // 判断是原边还是副边 String side = childChild.getName().equals("SJZD_HIGHT_GROUP_WEIGHT_B2") ? "P" : "S"; - //求当前装置下所有Hz的平均数 - for (int i = 0; i < childChildChildren.size(); i++) { - //频率值 - int frequency = 50 * (i + k); - //当频率达到700时修改k值为2 - if (frequency >= 700) { - k = m; - ++m; - } - //求当前装置下Hz的平均数 - hzAverages.add(getAmpliReal(childChild.getMainId(), side, "B", "D", frequency, childChildChildren.get(i).getValue())); + // 求当前装置下所有Hz的平均数 + for (BusiCalcParamConfVo paramConfVo : childChildChildren) { + // 求当前装置下Hz的平均数 + hzAverages.add(getAmpliReal(childChild.getMainId(), side, "B", "D", Integer.valueOf(paramConfVo.getFrequency()), paramConfVo)); } - //将所有的Hz的数据汇总成一条 - subAverages.add(calculateData(hzAverages, childChild.getValue(), 6)); + // 将所有的Hz的数据汇总成一条 + subAverages.add(calculateData(hzAverages, childChild, 6)); continue; } - //C项上侧装置 + // C项上侧装置 if (childChild.getName().equals("SJZD_HIGHT_GROUP_WEIGHT_C1") || childChild.getName().equals("SJZD_LOW_GROUP_WEIGHT_c1")) { List childChildChildren = childChild.getChildren(); - //判断是原边还是副边 + // 判断是原边还是副边 String side = childChild.getName().equals("SJZD_HIGHT_GROUP_WEIGHT_B2") ? "P" : "S"; - //求当前装置下所有Hz的平均数 - for (int i = 0; i < childChildChildren.size(); i++) { - //频率值 - int frequency = 50 * (i + k); - //当频率达到700时修改k值为2 - if (frequency >= 700) { - k = m; - ++m; - } - //求当前装置下Hz的平均数 - hzAverages.add(getAmpliReal(childChild.getMainId(), side, "C", "U", frequency, childChildChildren.get(i).getValue())); + // 求当前装置下所有Hz的平均数 + for (BusiCalcParamConfVo paramConfVo : childChildChildren) { + // 求当前装置下Hz的平均数 + hzAverages.add(getAmpliReal(childChild.getMainId(), side, "C", "U", Integer.valueOf(paramConfVo.getFrequency()), paramConfVo)); } - //将所有的Hz的数据汇总成一条 - subAverages.add(calculateData(hzAverages, childChild.getValue(), 6)); + // 将所有的Hz的数据汇总成一条 + subAverages.add(calculateData(hzAverages, childChild, 6)); continue; } - //C项下侧装置 + // C项下侧装置 if (childChild.getName().equals("SJZD_HIGHT_GROUP_WEIGHT_C2") || childChild.getName().equals("SJZD_LOW_GROUP_WEIGHT_c2")) { List childChildChildren = childChild.getChildren(); - //判断是原边还是副边 + // 判断是原边还是副边 String side = childChild.getName().equals("SJZD_HIGHT_GROUP_WEIGHT_C2") ? "P" : "S"; - //求当前装置下所有Hz的平均数 - for (int i = 0; i < childChildChildren.size(); i++) { - //频率值 - int frequency = 50 * (i + k); - //当频率达到700时修改k值为2 - if (frequency >= 700) { - k = m; - ++m; - } - //求当前装置下Hz的平均数 - hzAverages.add(getAmpliReal(childChild.getMainId(), side, "C", "D", frequency, childChildChildren.get(i).getValue())); + // 求当前装置下所有Hz的平均数 + for (BusiCalcParamConfVo paramConfVo : childChildChildren) { + // 求当前装置下Hz的平均数 + hzAverages.add(getAmpliReal(childChild.getMainId(), side, "C", "D", Integer.valueOf(paramConfVo.getFrequency()), paramConfVo)); } - //将所有的Hz的数据汇总成一条 - subAverages.add(calculateData(hzAverages, childChild.getValue(), 6)); + // 将所有的Hz的数据汇总成一条 + subAverages.add(calculateData(hzAverages, childChild, 6)); continue; } } - return calculateData(subAverages, child.getValue(), 3); + return calculateData(subAverages, child, 3); } /** @@ -273,7 +289,7 @@ public class EvalParamTask { * @param frequency * @return */ - private BigDecimal getAmpliReal(String mainId, String side, String phase, String inOut, int frequency, BigDecimal value) { + private BigDecimal getAmpliReal(String mainId, String side, String phase, String inOut, int frequency, BusiCalcParamConfVo vo) { BusiAmpliRealDto ampliRealDto = new BusiAmpliRealDto(); ampliRealDto.setMainId(mainId); ampliRealDto.setSide(side); @@ -281,19 +297,19 @@ public class EvalParamTask { ampliRealDto.setInOut(inOut); ampliRealDto.setInsTime(DateUtils.getYesTerDayDate()); ampliRealDto.setFrequency(String.valueOf(frequency)); - //获取前一天的实时数据 + // 获取前一天的实时数据 List yesterdayReals = busiAmpliRealMapper.getTodayAmpliReal(ampliRealDto); - //判断是否有值 + // 判断是否有值 if (CollectionUtil.isEmpty(yesterdayReals)) { return new BigDecimal(0); } - //声明一个新集合 + // 声明一个新集合 List amplitudes = new ArrayList<>(yesterdayReals.size()); - //只获取幅值 + // 只获取幅值 yesterdayReals.stream().forEach(real -> { amplitudes.add(new BigDecimal(real.getMaxAmplitude())); }); - return calculateData(amplitudes, value, 8); + return calculateData(amplitudes, vo, 8); } /** @@ -305,19 +321,21 @@ public class EvalParamTask { BusiCenterRealDto centerRealDto = new BusiCenterRealDto(); centerRealDto.setMainId(child.getMainId()); centerRealDto.setInsTime(DateUtils.getYesTerDayDate()); - //获取前一天的实时数据 + // 获取前一天的实时数据 List centerReals = busiCenterRealMapper.findCenterRealChartByInfo(centerRealDto); - //判断是否有值 + // 判断是否有值 if (CollectionUtil.isEmpty(centerReals)) { return new BigDecimal(0); } - //声明一个新集合 + // 声明一个新集合 List amplitudes = new ArrayList<>(centerReals.size()); - //只获取幅值 + // 只获取幅值 centerReals.stream().forEach(real -> { +// amplitudes.add(new BigDecimal(real.getTemp())); +// amplitudes.add(new BigDecimal(real.getHumidity())); //2023-08-16 amplitudes.add(new BigDecimal(real.getMaxAmplitude())); }); - return calculateData(amplitudes, child.getValue(), 8); + return calculateData(amplitudes, child, 8); } /** @@ -329,31 +347,34 @@ public class EvalParamTask { BusiNoiseRealDto noiseRealDto = new BusiNoiseRealDto(); noiseRealDto.setMainId(child.getMainId()); noiseRealDto.setInsTime(DateUtils.getYesTerDayDate()); - //获取前一天的实时数据 + // 获取前一天的实时数据 List noiseReals = busiNoiseRealMapper.findNoiseRealChartByInfo(noiseRealDto); - //判断是否有值 + // 判断是否有值 if (CollectionUtil.isEmpty(noiseReals)) { return new BigDecimal(0); } - //声明一个新集合 + // 声明一个新集合 List amplitudes = new ArrayList<>(noiseReals.size()); - //只获取幅值 + // 只获取幅值 noiseReals.stream().forEach(real -> { amplitudes.add(new BigDecimal(real.getMaxAmplitude())); }); - return calculateData(amplitudes, child.getValue(), 8); + return calculateData(amplitudes, child, 8); } /** * 计算平均值公式 * * @param amplitudes - * @param value + * @param vo * @param splitNum * @return */ - private BigDecimal calculateData(List amplitudes, BigDecimal value, int splitNum) { - // + private BigDecimal calculateData(List amplitudes, BusiCalcParamConfVo vo, int splitNum) { + // 计算是否有值 + if (amplitudes.isEmpty()) { + return new BigDecimal(0); + } double sum = amplitudes.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getSum(); if (sum <= 0) { return new BigDecimal(0); @@ -362,9 +383,9 @@ public class EvalParamTask { List amplitude2 = new ArrayList<>(); List amplitude3 = new ArrayList<>(); double average = 0, average1 = 0, average2 = 0; - //判断是否是整数 + // 判断是否是整数 int groupFlag = amplitudes.size() % splitNum == 0 ? (amplitudes.size() / splitNum) : (amplitudes.size() / splitNum + 1); - //循环赋值 + // 循环赋值 for (int i = 0; i < groupFlag; i++) { switch (i) { case 0: @@ -378,34 +399,91 @@ public class EvalParamTask { break; } } - //去除最大值和最小值并求和 + // 去除最大值和最小值并求和 if (CollectionUtil.isNotEmpty(amplitude1)) { amplitude1 = amplitude1.stream().sorted().collect(Collectors.toList()); - amplitude1 = amplitude1.subList(1, amplitude1.size()-1); + amplitude1 = amplitude1.subList(1, amplitude1.size() - 1); average = amplitude1.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getAverage(); } - //去除最大值和最小值并求和 + // 去除最大值和最小值并求和 if (CollectionUtil.isNotEmpty(amplitude2)) { amplitude2 = amplitude2.stream().sorted().collect(Collectors.toList()); - amplitude2 = amplitude2.subList(1, amplitude2.size()-1); + amplitude2 = amplitude2.subList(1, amplitude2.size() - 1); average1 = amplitude2.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getAverage(); } - //去除最大值和最小值并求和 + // 去除最大值和最小值并求和 if (CollectionUtil.isNotEmpty(amplitude3)) { amplitude3 = amplitude3.stream().sorted().collect(Collectors.toList()); - amplitude3 = amplitude3.subList(1, amplitude3.size()-1); + amplitude3 = amplitude3.subList(1, amplitude3.size() - 1); average2 = amplitude3.stream().mapToDouble((tude) -> Double.parseDouble(String.valueOf(tude))).summaryStatistics().getAverage(); } - //求平均值 + // 求平均值 if (average > 0 && average1 > 0 && average2 > 0) { - return BigDecimal.valueOf((average + average1 + average2) / 3).multiply(value); + BigDecimal value = BigDecimal.valueOf((average + average1 + average2) / 3); + return computData(value, vo); } if (average > 0 && average1 > 0) { - return BigDecimal.valueOf((average + average1) / 2).multiply(value); + BigDecimal multiply = BigDecimal.valueOf((average + average1) / 2).multiply(vo.getValue()); + return computData(multiply, vo); } if (average > 0) { - return BigDecimal.valueOf(average).multiply(value); + BigDecimal decimal = BigDecimal.valueOf(average).multiply(vo.getValue()); + return computData(decimal, vo); + } + return new BigDecimal(0); + } + + private BigDecimal computData(BigDecimal value, BusiCalcParamConfVo vo) { + // a值 + Double aValue = Double.valueOf(vo.getAValue().doubleValue()); + // b值 + Double bValue = Double.valueOf(vo.getBValue().doubleValue()); + // 平均值 + Double aDouble = Double.valueOf(value.doubleValue()); + // 判断是否拥有权重值 + if (aValue == null && bValue == null) { + return value.multiply(vo.getValue()); + } + // 0 <= value < vo.getAVlaue + if (aValue != null && 0 <= aDouble && aDouble < aValue) { + return value.multiply(vo.getValue()); + } + // vo.getAVlaue <= value < vo.getBVlaue + if (aValue != null + && bValue != null + && aValue <= aDouble + && aDouble < bValue) { + BigDecimal sub = vo.getBValue().subtract(value); + BigDecimal ract = vo.getBValue().subtract(vo.getAValue()); + return sub.divide(ract).multiply(vo.getValue()); + } + // vo.getBVlaue <= value + if (bValue != null + && bValue <= aDouble) { + return new BigDecimal(0); } - return null; + return new BigDecimal(0); + } + + /** + * bigdecimal小于算法 + * + * @param val + * @param value + * @return + */ + private boolean lt(BigDecimal val, BigDecimal value) { + return value.compareTo(val) == -1; + } + + /** + * bigdecimal小于等于算法 + * + * @param val + * @param value + * @return + */ + private boolean le(BigDecimal val, BigDecimal value) { + return value.compareTo(val) < 1; } } diff --git a/src/main/java/com/chenxuan/timeTask/GrowthRateWarningTask.java b/src/main/java/com/chenxuan/timeTask/GrowthRateWarningTask.java new file mode 100644 index 0000000..6ac3ea3 --- /dev/null +++ b/src/main/java/com/chenxuan/timeTask/GrowthRateWarningTask.java @@ -0,0 +1,220 @@ +package com.chenxuan.timeTask; + +import com.chenxuan.constants.UuidUtils; +import com.chenxuan.entity.model.BusiCenterIncrease; +import com.chenxuan.entity.model.BusiNoiseIncrease; +import com.chenxuan.entity.model.BusiWarning; +import com.chenxuan.entity.vo.*; +import com.chenxuan.mapper.*; +import com.chenxuan.utils.DateUtils; +import com.chenxuan.utils.StringUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author Bobi_huo + * @date 2020-12-8 11:19 + */ +@Slf4j +@Component("growthRateWarning") +public class GrowthRateWarningTask { + + @Autowired + private BusiMainDeviceMapper busiMainDeviceMapper; + + @Autowired + private BusiSubDeviceMapper busiSubDeviceMapper; + + @Autowired + private BusiAmpliDayIncreaseMapper busiAmpliDayIncreaseMapper; + + @Autowired + private BusiCenterIncreaseMapper busiCenterIncreaseMapper; + + @Autowired + private BusiNoiseIncreaseMapper busiNoiseIncreaseMapper; + + @Autowired + private BusiAmpliThresholdConfMapper busiAmpliThresholdConfMapper; + + @Autowired + private BusiCenterThresholdConfMapper busiCenterThresholdConfMapper; + + @Autowired + private BusiNoiseThresholdConfMapper busiNoiseThresholdConfMapper; + + @Autowired + private BusiWarningMapper busiWarningMapper; + + public void execute() { + // 查询每个主变 + List allMainDevice = busiMainDeviceMapper.getAllMainDevice(); + for (BusiMainDeviceVo mainDeviceVo : allMainDevice) { + // 查询主变下所有的装置 + List subDeviceVos = busiSubDeviceMapper.findSubDeviceByMainId(mainDeviceVo.getId()); + // 循环所有的装置 + for (BusiSubDeviceVo deviceVo : subDeviceVos) { + log.info("-- >>> 告警判断定时任务开始"); + // 中心点装置 + if (deviceVo.getDeviceType().equals(3)) { + log.info("-- >>> 中心点告警判断"); + // 查询中心点的阈值 + BusiCenterThresholdConfVo centerThresholdConfVo = busiCenterThresholdConfMapper.findThresholdConfByMainId(deviceVo.getMainId()); + // 查询中心点的增长率 + BusiCenterIncrease increase = busiCenterIncreaseMapper.getCenterIncrease(deviceVo.getId(), DateUtils.getDate()); + if (StringUtils.isNotNull(centerThresholdConfVo) && StringUtils.isNotNull(increase)) { + // 如果日增长率大于阈值中的增长率就告警入库 + if (StringUtils.isNotEmpty(increase.getDayRate()) && + StringUtils.isNotEmpty(centerThresholdConfVo.getDayRate()) && + Double.valueOf(increase.getDayRate()) > Double.valueOf(centerThresholdConfVo.getDayRate())) { + // 日增长率告警 + addWarningInfo(deviceVo, increase.getDayRate(), centerThresholdConfVo.getDayRate(), + centerThresholdConfVo.getNegative(),null, "9", "日增长率:"); + } + // 如果月增长率大于阈值中的增长率就告警入库 + if (StringUtils.isNotEmpty(increase.getMonthRate()) && + StringUtils.isNotEmpty(centerThresholdConfVo.getMonthRate()) && + Double.valueOf(increase.getMonthRate()) > Double.valueOf(centerThresholdConfVo.getMonthRate())) { + // 月增长率告警 + addWarningInfo(deviceVo, increase.getMonthRate(), centerThresholdConfVo.getMonthRate(), + centerThresholdConfVo.getNegative(), null, "9", "月增长率:"); + } + } + } + log.info("-- >>> 中心点告警判断结束"); + // 噪声装置 + if (deviceVo.getDeviceType().equals(2)) { + log.info("-- >>> 噪声告警判断定时任务开始"); + // 查询中心点的阈值 + BusiNoiseThresholdConfVo noiseThresholdConfVo = busiNoiseThresholdConfMapper.findThresholdConfByMainId(deviceVo.getMainId()); + // 查询中心点的增长率 + BusiNoiseIncrease increase = busiNoiseIncreaseMapper.getNoiseIncrease(deviceVo.getId(), DateUtils.getDate()); + if (StringUtils.isNotNull(noiseThresholdConfVo) && StringUtils.isNotNull(increase)) { + // 如果日增长率大于阈值中的增长率就告警入库 + if (StringUtils.isNotEmpty(increase.getDayRate()) && + StringUtils.isNotEmpty(noiseThresholdConfVo.getDayRate()) && + Double.valueOf(increase.getDayRate()) > Double.valueOf(noiseThresholdConfVo.getDayRate())) { + // 日增长率告警 + addWarningInfo(deviceVo, increase.getDayRate(), noiseThresholdConfVo.getDayRate(), + noiseThresholdConfVo.getNoise(), null, "9", "日增长率:"); + } + // 如果月增长率大于阈值中的增长率就告警入库 + if (StringUtils.isNotEmpty(increase.getMonthRate()) && + StringUtils.isNotEmpty(noiseThresholdConfVo.getMonthRate()) && + Double.valueOf(increase.getMonthRate()) > Double.valueOf(noiseThresholdConfVo.getMonthRate())) { + // 月增长率告警 + addWarningInfo(deviceVo, increase.getMonthRate(), noiseThresholdConfVo.getMonthRate(), + noiseThresholdConfVo.getNoise(),null, "9", "月增长率:"); + } + } + } + // 振动装置原边 + if (deviceVo.getDeviceType().equals(1) && deviceVo.getSide().equals("P")) { + int k = 1; + int m = 2; + // 求当前装置下所有Hz的平均数 + for (int i = 0; i < 19; i++) { + // 频率值 + int frequency = 50 * (i + k); + // 当频率达到700时修改k值为2 + if (frequency >= 700) { + k = m; + ++m; + } + String value = String.valueOf(frequency); + // 查询每个装置下的当前Hz的阈值 + BusiAmpliThresholdConfVo thresholdConf = busiAmpliThresholdConfMapper.getAmpliThresholdConf(deviceVo.getId(), value); + // 查询每个装置下的当前Hz的增长率 + BusiAmpliDayIncreaseVo increase = busiAmpliDayIncreaseMapper.getIncrease(deviceVo.getId(), DateUtils.getDate(), value); + if (StringUtils.isNotNull(thresholdConf) && StringUtils.isNotNull(increase)) { + // 如果日增长率大于阈值中的增长率就告警入库 + if (StringUtils.isNotEmpty(increase.getDayRate()) && + StringUtils.isNotEmpty(thresholdConf.getDayRate()) && + Double.valueOf(increase.getDayRate()) > Double.valueOf(thresholdConf.getDayRate())) { + // 日增长率告警 + addWarningInfo(deviceVo, increase.getDayRate(), thresholdConf.getDayRate(), + thresholdConf.getAmplitude(), value, "8", "Hz日增长率:"); + } + // 如果月增长率大于阈值中的增长率就告警入库 + if (StringUtils.isNotEmpty(increase.getMonthRate()) && + StringUtils.isNotEmpty(thresholdConf.getMonthRate()) && + Double.valueOf(increase.getMonthRate()) > Double.valueOf(thresholdConf.getMonthRate())) { + // 月增长率告警 + addWarningInfo(deviceVo, increase.getMonthRate(), thresholdConf.getMonthRate(), + thresholdConf.getAmplitude(), value, "9", "Hz月增长率:"); + } + } + } + } + // 振动装置副边 + if (deviceVo.getDeviceType().equals(1) && deviceVo.getSide().equals("S")) { + int k = 1; + // 求当前装置下所有Hz的平均数 + for (int i = 0; i < 7; i++) { + // 频率值 + int frequency = 100 * (i + k); + String value = String.valueOf(frequency); + // 查询每个装置下的当前Hz的阈值 + BusiAmpliThresholdConfVo thresholdConf = busiAmpliThresholdConfMapper.getAmpliThresholdConf(deviceVo.getId(), value); + // 查询每个装置下的当前Hz的增长率 + BusiAmpliDayIncreaseVo increase = busiAmpliDayIncreaseMapper.getIncrease(deviceVo.getId(), DateUtils.getDate(), value); + if (StringUtils.isNotNull(thresholdConf) && StringUtils.isNotNull(increase)) { + // 如果日增长率大于阈值中的增长率就告警入库 + if (StringUtils.isNotEmpty(increase.getDayRate()) && + StringUtils.isNotEmpty(thresholdConf.getDayRate()) && + Double.valueOf(increase.getDayRate()) > Double.valueOf(thresholdConf.getDayRate())) { + // 日增长率告警 + addWarningInfo(deviceVo, increase.getDayRate(), thresholdConf.getDayRate(), + thresholdConf.getAmplitude(), value, "8", "Hz日增长率:"); + } + // 如果月增长率大于阈值中的增长率就告警入库 + if (StringUtils.isNotEmpty(increase.getMonthRate()) && + StringUtils.isNotEmpty(thresholdConf.getMonthRate()) && + Double.valueOf(increase.getMonthRate()) > Double.valueOf(thresholdConf.getMonthRate())) { + // 月增长率告警 + addWarningInfo(deviceVo, increase.getMonthRate(), thresholdConf.getMonthRate(), + thresholdConf.getAmplitude(), value, "9", "Hz月增长率:"); + } + } + } + } + } + } + log.info("---------------->告警判断结束"); + } + + /** + * 增长率告警 + * + * @param deviceVo + * @param rate + * @param type + * @param info + */ + private void addWarningInfo(BusiSubDeviceVo deviceVo, String rate, String warRate, String thredVal, String value, String type, String info) { + // 中心点和噪声截取主变名称 + if (!deviceVo.getDeviceType().equals("1")) { + deviceVo.setSubDeviceName(deviceVo.getSubDeviceName().substring(4)); + } + BusiWarning warning = new BusiWarning(); + warning.setId(UuidUtils.getUUID()); + warning.setWarnTime(DateUtils.getNowDate()); + warning.setSubId(deviceVo.getId()); + warning.setGrowthRate(warRate); + warning.setThreadval(thredVal); + warning.setWarnType(type); + warning.setState("1"); + warning.setWarnLevel("1"); + warning.setSampleValue(rate); + if (StringUtils.isNotEmpty(value)) { + warning.setWarnDesc(deviceVo.getSubDeviceName() + "" + value + info + rate + "% 超标"); + } else { + warning.setWarnDesc(deviceVo.getSubDeviceName() + info + rate + "% 超标"); + } + busiWarningMapper.insert(warning); + } + +} diff --git a/src/main/java/com/chenxuan/utils/DateUtils.java b/src/main/java/com/chenxuan/utils/DateUtils.java index b9e5d1b..3674dff 100644 --- a/src/main/java/com/chenxuan/utils/DateUtils.java +++ b/src/main/java/com/chenxuan/utils/DateUtils.java @@ -25,6 +25,8 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils public static String YYYY_MM_DD = "yyyy-MM-dd"; + public static String YYYY_MM_DD_HH = "yyyy-MM-dd HH"; + public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; @@ -54,6 +56,16 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils return dateTimeNow(YYYY_MM_DD); } + /** + * 获取当前年, 默认格式为yyyy + * + * @return String + */ + public static String getYear() + { + return dateTimeNow(YYYY); + } + public static final String getTime() { return dateTimeNow(YYYY_MM_DD_HH_MM_SS); @@ -189,6 +201,21 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils return result; } + /** + * 获取当前时间 + * + * @return + */ + public static String getCurrentHourDate() { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.add(Calendar.HOUR, 0); + Date today = calendar.getTime(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH"); + String result = sdf.format(today); + return result; + } + /** * 获取昨天的日期 * diff --git a/src/main/java/com/chenxuan/utils/RsaUtils.java b/src/main/java/com/chenxuan/utils/RsaUtils.java new file mode 100644 index 0000000..d05278a --- /dev/null +++ b/src/main/java/com/chenxuan/utils/RsaUtils.java @@ -0,0 +1,184 @@ +package com.chenxuan.utils; + +import org.apache.commons.codec.binary.Base64; + +import javax.crypto.Cipher; +import java.security.*; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; + + +/** + * @ClassName:RsaUtils + * @Description: Rsa 工具类,公钥私钥生成,加解密 + * @Author: Arno_Fu + * @CreatTime:12/29/2020 - 11:36 AM + * @Version V1.0 + */ +public class RsaUtils { + + private static final String SRC = "123456"; + + public static void main(String[] args) throws Exception { + System.out.println("\n"); + RsaKeyPair keyPair = generateKeyPair(); + System.out.println("公钥:" + keyPair.getPublicKey()); + System.out.println("私钥:" + keyPair.getPrivateKey()); + System.out.println("\n"); + test1(keyPair); + System.out.println("\n"); + test2(keyPair); + System.out.println("\n"); + } + + /** + * 公钥加密私钥解密 + */ + private static void test1(RsaKeyPair keyPair) throws Exception { + System.out.println("***************** 公钥加密私钥解密开始 *****************"); + String text1 = encryptByPublicKey(keyPair.getPublicKey(), RsaUtils.SRC); + String text2 = decryptByPrivateKey(keyPair.getPrivateKey(), text1); + System.out.println("加密前:" + RsaUtils.SRC); + System.out.println("加密后:" + text1); + System.out.println("解密后:" + text2); + if (RsaUtils.SRC.equals(text2)) { + System.out.println("解密字符串和原始字符串一致,解密成功"); + } else { + System.out.println("解密字符串和原始字符串不一致,解密失败"); + } + System.out.println("***************** 公钥加密私钥解密结束 *****************"); + } + + /** + * 私钥加密公钥解密 + * @throws Exception / + */ + private static void test2(RsaKeyPair keyPair) throws Exception { + System.out.println("***************** 私钥加密公钥解密开始 *****************"); + String text1 = encryptByPrivateKey(keyPair.getPrivateKey(), RsaUtils.SRC); + String text2 = decryptByPublicKey(keyPair.getPublicKey(), text1); + System.out.println("加密前:" + RsaUtils.SRC); + System.out.println("加密后:" + text1); + System.out.println("解密后:" + text2); + if (RsaUtils.SRC.equals(text2)) { + System.out.println("解密字符串和原始字符串一致,解密成功"); + } else { + System.out.println("解密字符串和原始字符串不一致,解密失败"); + } + System.out.println("***************** 私钥加密公钥解密结束 *****************"); + } + + /** + * 公钥解密 + * + * @param publicKeyText 公钥 + * @param text 待解密的信息 + * @return / + * @throws Exception / + */ + public static String decryptByPublicKey(String publicKeyText, String text) throws Exception { + X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(Base64.decodeBase64(publicKeyText)); + KeyFactory keyFactory = KeyFactory.getInstance("RSA"); + PublicKey publicKey = keyFactory.generatePublic(x509EncodedKeySpec); + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.DECRYPT_MODE, publicKey); + byte[] result = cipher.doFinal(Base64.decodeBase64(text)); + return new String(result); + } + + /** + * 私钥加密 + * + * @param privateKeyText 私钥 + * @param text 待加密的信息 + * @return / + * @throws Exception / + */ + public static String encryptByPrivateKey(String privateKeyText, String text) throws Exception { + PKCS8EncodedKeySpec pkcs8EncodedKeySpec = new PKCS8EncodedKeySpec(Base64.decodeBase64(privateKeyText)); + KeyFactory keyFactory = KeyFactory.getInstance("RSA"); + PrivateKey privateKey = keyFactory.generatePrivate(pkcs8EncodedKeySpec); + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.ENCRYPT_MODE, privateKey); + byte[] result = cipher.doFinal(text.getBytes()); + return Base64.encodeBase64String(result); + } + + /** + * 私钥解密 + * + * @param privateKeyText 私钥 + * @param text 待解密的文本 + * @return / + * @throws Exception / + */ + public static String decryptByPrivateKey(String privateKeyText, String text) throws Exception { + PKCS8EncodedKeySpec pkcs8EncodedKeySpec5 = new PKCS8EncodedKeySpec(Base64.decodeBase64(privateKeyText)); + KeyFactory keyFactory = KeyFactory.getInstance("RSA"); + PrivateKey privateKey = keyFactory.generatePrivate(pkcs8EncodedKeySpec5); + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.DECRYPT_MODE, privateKey); + byte[] result = cipher.doFinal(Base64.decodeBase64(text)); + return new String(result); + } + + /** + * 公钥加密 + * + * @param publicKeyText 公钥 + * @param text 待加密的文本 + * @return / + */ + public static String encryptByPublicKey(String publicKeyText, String text) throws Exception { + X509EncodedKeySpec x509EncodedKeySpec2 = new X509EncodedKeySpec(Base64.decodeBase64(publicKeyText)); + KeyFactory keyFactory = KeyFactory.getInstance("RSA"); + PublicKey publicKey = keyFactory.generatePublic(x509EncodedKeySpec2); + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.ENCRYPT_MODE, publicKey); + byte[] result = cipher.doFinal(text.getBytes()); + return Base64.encodeBase64String(result); + } + + /** + * 构建RSA密钥对 + * + * @return / + * @throws NoSuchAlgorithmException / + */ + public static RsaKeyPair generateKeyPair() throws NoSuchAlgorithmException { + KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA"); + keyPairGenerator.initialize(1024); + KeyPair keyPair = keyPairGenerator.generateKeyPair(); + RSAPublicKey rsaPublicKey = (RSAPublicKey) keyPair.getPublic(); + RSAPrivateKey rsaPrivateKey = (RSAPrivateKey) keyPair.getPrivate(); + String publicKeyString = Base64.encodeBase64String(rsaPublicKey.getEncoded()); + String privateKeyString = Base64.encodeBase64String(rsaPrivateKey.getEncoded()); + return new RsaKeyPair(publicKeyString, privateKeyString); + } + + + /** + * RSA密钥对对象 + */ + public static class RsaKeyPair { + + private final String publicKey; + private final String privateKey; + + public RsaKeyPair(String publicKey, String privateKey) { + this.publicKey = publicKey; + this.privateKey = privateKey; + } + + public String getPublicKey() { + return publicKey; + } + + public String getPrivateKey() { + return privateKey; + } + + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 03fafdf..c9d0525 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -14,9 +14,8 @@ spring: # password: root druid: master: -# url: jdbc:mysql://121.36.211.181:3306/sjzd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true -# url: jdbc:mysql://192.168.135.100:3306/sjzd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true - url: jdbc:mysql://192.168.135.81:3306/sjzd_1031?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true +# url: jdbc:mysql://192.168.1.11:3306/sjzd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true + url: jdbc:mysql://192.168.135.81:3306/sjzd-hp0209?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowMultiQueries=true username: root password: 123456 slave: @@ -76,7 +75,7 @@ spring: # 端口,默认为6379 port: 6379 # 密码 - #password: 111111 +# password: 123456 # 连接超时时间 timeout: 10s lettuce: @@ -138,9 +137,27 @@ APP: #远程接口调用地址 remote: +#新增用户后在两个系统中同步 user: +# add: http://192.168.1.12:7000/frame-base-control/sysUserRemoter/addUser add: http://192.168.128.86:10080/frame-base-control/sysUserRemoter/addUser -# add: http://192.168.129.213:8088/frame-base-control/sysUserRemoter/addUser +#在二期中新增主设备信息,同步至声级震动系统中 transformer: - query: http://192.168.128.86:10080/busi-back-control/remote/busiTransformerRemote/findTransformerSubTree -# query: http://192.168.129.213:8080/busi-back-control/remote/busiTransformerRemote/findTransformerSubTree \ No newline at end of file +# query: http://192.168.1.12:7000/busi-back-control/remote/busiTransformerRemote/findTransformerSubTree + query: http://192.168.129.213:10080/busi-back-control/remote/busiTransformerRemote/findTransformerSubTree +#声级震动每天计算权重系数,同步到二期系统接口 + mainDevice: +# add: http://192.168.1.12:7000/busi-back-control/api/transformerEvaluationResults/add + add: http://192.168.128.86:10080/busi-back-control/api/transformerEvaluationResults/add +# add: +#从二期系统获取变压器工作状态同步到声级震动系统中接口 + iecBaseConf: +# get: http://192.168.1.12:7000/busi-back-control/api/IecBaseConf/getIecBydworkParamWorks +# get: http://192.168.1.12:10080/busi-back-control/api/IecBaseConf/getIecBydworkParamWorks + get: +#matLab输入值 +range.acc: 250 + +#加密 +rsa: + private_key: MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY7Nt+PrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKNPuH3owIDAQABAkAfoiLyL+Z4lf4Myxk6xUDgLaWGximj20CUf+5BKKnlrK+Ed8gAkM0HqoTt2UZwA5E2MzS4EI2gjfQhz5X28uqxAiEA3wNFxfrCZlSZHb0gn2zDpWowcSxQAgiCstxGUoOqlW8CIQDDOerGKH5OmCJ4Z21v+F25WaHYPxCFMvwxpcw99EcvDQIgIdhDTIqD2jfYjPTY8Jj3EDGPbH2HHuffvflECt3Ek60CIQCFRlCkHpi7hthhYhovyloRYsM+IS9h/0BzlEAuO0ktMQIgSPT3aFAgJYwKpqRYKlLDVcflZFCKY7u3UP8iWi1Qw0Y= diff --git a/src/main/resources/lib/Algorithm_vibration-1.0.jar b/src/main/resources/lib/Algorithm_vibration-1.0.jar index 3d510cb..daf5951 100644 Binary files a/src/main/resources/lib/Algorithm_vibration-1.0.jar and b/src/main/resources/lib/Algorithm_vibration-1.0.jar differ diff --git a/src/main/resources/mapper/BusiAmpliComtradMapper.xml b/src/main/resources/mapper/BusiAmpliComtradMapper.xml index 972f087..1aefe21 100644 --- a/src/main/resources/mapper/BusiAmpliComtradMapper.xml +++ b/src/main/resources/mapper/BusiAmpliComtradMapper.xml @@ -32,9 +32,6 @@ AND main_id = #{bean.mainId} - - - ORDER BY d_time DESC LIMIT 1 diff --git a/src/main/resources/mapper/BusiAmpliDayIncreaseMapper.xml b/src/main/resources/mapper/BusiAmpliDayIncreaseMapper.xml index 4b6af31..a624e3f 100644 --- a/src/main/resources/mapper/BusiAmpliDayIncreaseMapper.xml +++ b/src/main/resources/mapper/BusiAmpliDayIncreaseMapper.xml @@ -28,13 +28,16 @@ bai.day_rate, bai.month_rate, bai.deviation_rate, - bai.d_time, + bai.d_time, bai.load_type FROM busi_ampli_increase bai LEFT JOIN busi_sub_device bsd ON bsd.id = bai.sub_id + + + + + + INSERT INTO busi_ampli_increase @@ -163,4 +216,20 @@ delete from busi_ampli_day_increase where id = #{id} + + diff --git a/src/main/resources/mapper/BusiAmpliRealMapper.xml b/src/main/resources/mapper/BusiAmpliRealMapper.xml index 66083d0..a4884e4 100644 --- a/src/main/resources/mapper/BusiAmpliRealMapper.xml +++ b/src/main/resources/mapper/BusiAmpliRealMapper.xml @@ -77,7 +77,7 @@ frequency, max_amplitude FROM - busi_ampli_real + busi_ampli_cache AND main_id = #{bean.mainId} @@ -95,11 +95,11 @@ AND ins_time LIKE concat(#{bean.insTime},'%') - ORDER BY ins_time DESC limit 3 + ORDER BY max_amplitude+1 DESC,ins_time DESC limit 3 - SELECT bar.id, bar.main_id, @@ -114,6 +114,47 @@ bmd.device_name FROM busi_ampli_real bar LEFT JOIN busi_main_device bmd ON bar.main_id=bmd.id + LEFT JOIN busi_ampli_comtrad bac ON bac.id = bar.file_id + + + AND bar.main_id = #{bean.mainId} + + + + AND bar.file_id = #{bean.fileId} + + + and bar.side='P' + + + and bar.phase='c' + + + and bar.in_out='D' + + + + ORDER BY bar.ins_time DESC,bar.side,bar.phase,bar.in_out DESC,bar.frequency+0 + + + + @@ -188,6 +223,12 @@ AND bar.ins_time LIKE concat(#{bean.insTime},'%') + + AND ins_time= ]]>concat(#{bean.startTime},' 00:00:00') + + + AND ins_timeconcat(#{bean.endTime},' 23:59:59') + ORDER BY (bar.frequency + 0) ASC @@ -264,4 +305,24 @@ resultType="com.chenxuan.entity.model.BusiAmpliReal"> WHERE bar.main_id = #{mainId} GROUP BY bar.frequency + + diff --git a/src/main/resources/mapper/BusiAmpliStatisticsMapper.xml b/src/main/resources/mapper/BusiAmpliStatisticsMapper.xml index 14bc230..e8dcabb 100644 --- a/src/main/resources/mapper/BusiAmpliStatisticsMapper.xml +++ b/src/main/resources/mapper/BusiAmpliStatisticsMapper.xml @@ -74,4 +74,19 @@ ORDER BY (frequency + 0) + + diff --git a/src/main/resources/mapper/BusiAmpliThresholdConfMapper.xml b/src/main/resources/mapper/BusiAmpliThresholdConfMapper.xml index ce84d9d..6ba73a7 100644 --- a/src/main/resources/mapper/BusiAmpliThresholdConfMapper.xml +++ b/src/main/resources/mapper/BusiAmpliThresholdConfMapper.xml @@ -190,4 +190,17 @@ delete from busi_ampli_threshold_conf where id = #{id} + + diff --git a/src/main/resources/mapper/BusiCalcParamConfMapper.xml b/src/main/resources/mapper/BusiCalcParamConfMapper.xml index a45cd37..9b3eb09 100644 --- a/src/main/resources/mapper/BusiCalcParamConfMapper.xml +++ b/src/main/resources/mapper/BusiCalcParamConfMapper.xml @@ -21,8 +21,29 @@ + + + id as id, + main_id as main_id, + weight_level as weightLevel, + name as name, + pname as pname, + description as description, + value as value, + ab_value_flag as abValueFlag, + a_value as aValue, + b_value as bValue, + warning_value as warningValue, + model as model, + is_attend as isAttend, + create_time as createTime, + create_user as createUser, + frequency, + sort_num as sortNum + + SELECT @@ -111,7 +132,12 @@ UPDATE busi_calc_param_conf - SET value = #{entity.value} + SET + value = #{entity.value}, + ab_value_flag = #{entity.abValueFlag}, + a_value = #{entity.aValue}, + a_value = #{entity.bValue}, + is_attend = #{entity.isAttend} WHERE id = #{entity.id}; @@ -130,7 +156,47 @@ + + + + + + diff --git a/src/main/resources/mapper/BusiCenterIncreaseMapper.xml b/src/main/resources/mapper/BusiCenterIncreaseMapper.xml new file mode 100644 index 0000000..98036ba --- /dev/null +++ b/src/main/resources/mapper/BusiCenterIncreaseMapper.xml @@ -0,0 +1,35 @@ + + + + + + + SELECT id,main_id,sub_id,load_type,day_rate,month_rate,d_time + FROM busi_center_increase + + + + + + + diff --git a/src/main/resources/mapper/BusiCenterRealMapper.xml b/src/main/resources/mapper/BusiCenterRealMapper.xml index 8d0bed4..061346f 100644 --- a/src/main/resources/mapper/BusiCenterRealMapper.xml +++ b/src/main/resources/mapper/BusiCenterRealMapper.xml @@ -61,10 +61,10 @@ AND main_id = #{bean.mainId} - AND ins_time LIKE concat(#{bean.insTime},'%') + AND ins_time LIKE concat(DATE_FORMAT(#{bean.insTime},'%Y-%m-%d'),'%') - ORDER BY ins_time ASC + ORDER BY ins_time + select + bcr.d_time, + bcr.d_time as insTime, + tt.maxAmplitude as maxAmplitude, + bcr.day_rate as dayRate, + + bcr.month_rate as monthRate + from + busi_center_increase bcr + + left join + (select DATE_FORMAT(sta1.ins_time,'%Y-%m-%d') as dtime, + + sta1.max_amplitude as maxAmplitude + from + busi_center_real_statistics sta1 + + where sta1.main_id =#{bean.mainId}) tt on tt.dtime=DATE_FORMAT(bcr.d_time,'%Y-%m-%d') + + + AND bmd.device_name = #{bean.deviceName} + + + AND bcr.main_id = #{bean.mainId} + + + order by bcr.d_time desc + - + + + diff --git a/src/main/resources/mapper/BusiCenterRealStatisticsMapper.xml b/src/main/resources/mapper/BusiCenterRealStatisticsMapper.xml index be4d2d7..1e5c480 100644 --- a/src/main/resources/mapper/BusiCenterRealStatisticsMapper.xml +++ b/src/main/resources/mapper/BusiCenterRealStatisticsMapper.xml @@ -5,4 +5,16 @@ + + diff --git a/src/main/resources/mapper/BusiCenterThresholdConfMapper.xml b/src/main/resources/mapper/BusiCenterThresholdConfMapper.xml index f629566..4feb778 100644 --- a/src/main/resources/mapper/BusiCenterThresholdConfMapper.xml +++ b/src/main/resources/mapper/BusiCenterThresholdConfMapper.xml @@ -15,6 +15,22 @@ + + + + + + + + + + + + + + + + SELECT @@ -33,6 +49,26 @@ INNER JOIN busi_main_device bmd ON bctc.main_id = bmd.id + + SELECT + bctc.id, + bctc.main_id, + bctc.sub_id, + bmd.device_name, + bctc.temp, + bctc.humidity, + bctc.day_rate, + bctc.month_rate, + bctc.deviation_rate, + bctc.day_rate_humidity, + bctc.month_rate_humidity, + bctc.deviation_rate_humidity, + bctc.ins_time + FROM + busi_environment_threshold_conf bctc + INNER JOIN busi_main_device bmd ON bctc.main_id = bmd.id + + id, main_id, @@ -99,6 +135,12 @@ where main_id = #{mainId} + + + delete from busi_center_threshold_conf where main_id = #{mainId} diff --git a/src/main/resources/mapper/BusiCommunicationParametersMapper.xml b/src/main/resources/mapper/BusiCommunicationParametersMapper.xml index 22f3139..cad478f 100644 --- a/src/main/resources/mapper/BusiCommunicationParametersMapper.xml +++ b/src/main/resources/mapper/BusiCommunicationParametersMapper.xml @@ -4,19 +4,20 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -30,15 +31,16 @@ check_bit, data_bit, stop_bit, - sub_device_id, + main_id, ip_addr, port, password, - confirm_password + confirm_password, + ied_channel FROM busi_communication_parameters - + id, protocol, @@ -48,13 +50,14 @@ check_bit, data_bit, stop_bit, - sub_device_id, + main_id, ip_addr, port, password, - confirm_password + confirm_password, + ied_channel - + #{id}, #{protocol}, #{communicationInterface}, @@ -63,13 +66,14 @@ #{checkBit}, #{dataBit}, #{stopBit}, - #{subDeviceId}, + #{mainId}, #{ipAddr}, #{port}, #{password}, - #{confirmPassword} + #{confirmPassword}, + #{iedChannel} - + protocol = #{protocol}, communication_interface = #{communicationInterface}, serial_number = #{serialNumber}, @@ -77,35 +81,34 @@ check_bit = #{checkBit}, data_bit = #{dataBit}, stop_bit = #{stopBit}, - sub_device_id = #{subDeviceId}, + main_id = #{mainId}, ip_addr = #{ipAddr}, port = #{port}, password = #{password}, - confirm_password = #{confirmPassword} + confirm_password = #{confirmPassword}, + ied_channel = #{iedChannel} - - - - - - AND protocol = #{params.protocol} - - + WHERE communication_interface = 0 - + - - insert into busi_communication_parameters () values - () - - - - - update busi_communication_parameters set where ID=#{id} - + + insert into busi_communication_parameters () values + () + + + + + update busi_communication_parameters set where ID=#{id} + - where id = #{id} @@ -115,8 +118,29 @@ - - where protocol = #{protocol} + + + + and protocol = #{protocol} + + + and communication_interface = 0 + + + + + + update busi_communication_parameters + set communication_interface = #{communicationInterface} + + + protocol = #{protocol} + + + diff --git a/src/main/resources/mapper/BusiEnvironmentRealMapper.xml b/src/main/resources/mapper/BusiEnvironmentRealMapper.xml new file mode 100644 index 0000000..bf42ce1 --- /dev/null +++ b/src/main/resources/mapper/BusiEnvironmentRealMapper.xml @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + + SELECT id,main_id,load_type,temp,humidity,ins_time,hbase_rowkey + FROM busi_environment_real + + + + + INSERT INTO busi_environment_real + ( + id, + main_id, + temp, + humidity, + ins_time, + hbase_rowkey + ) + VALUES + + ( + #{entity.id}, + #{entity.mainId}, + #{entity.temp}, + #{entity.humidity}, + #{entity.insTime}, + #{entity.hbaseRowkey} + ) + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/mapper/BusiEnvironmentThresholdConfMapper.xml b/src/main/resources/mapper/BusiEnvironmentThresholdConfMapper.xml new file mode 100644 index 0000000..1a6f8e2 --- /dev/null +++ b/src/main/resources/mapper/BusiEnvironmentThresholdConfMapper.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + SELECT + bctc.id, + bctc.main_id, + bctc.sub_id, + bmd.device_name, + bctc.temp, + bctc.humidity, + bctc.day_rate, + bctc.month_rate, + bctc.deviation_rate, + bctc.day_rate_humidity, + bctc.month_rate_humidity, + bctc.deviation_rate_humidity, + bctc.ins_time + FROM + busi_environment_threshold_conf bctc + INNER JOIN busi_main_device bmd ON bctc.main_id = bmd.id + + + + id, + main_id, + sub_id, + temp, + humidity, + day_rate, + month_rate, + deviation_rate, + day_rate_humidity, + month_rate_humidity, + deviation_rate_humidity, + ins_time + + + #{id}, + #{mainId}, + #{subId}, + #{temp}, + #{humidity}, + #{dayRate}, + #{monthRate}, + #{deviationRate}, + #{dayRateHumidity}, + #{monthRateHumidity}, + #{deviationRateHumidity}, + #{insTime} + + + main_id = #{mainId}, + sub_id = #{subId}, + temp = #{temp}, + humidity = #{humidity}, + day_rate = #{dayRate}, + month_rate = #{monthRate}, + deviation_rate = #{deviationRate}, + day_rate_humidity = #{dayRateHumidity}, + month_rate_humidity = #{monthRateHumidity}, + deviation_rate_humidity = #{deviationRateHumidity}, + ins_time = #{insTime} + + + + + + + + insert into busi_environment_threshold_conf () values + () + + + + + update busi_environment_threshold_conf set where ID=#{id} + + + + + + + + delete from busi_environment_threshold_conf where main_id = #{mainId} + + + + + update busi_environment_threshold_conf set main_id=null where main_id = #{mainId} + + + + + delete from busi_environment_threshold_conf where id = #{id} + + + + diff --git a/src/main/resources/mapper/BusiIedparamMapper.xml b/src/main/resources/mapper/BusiIedparamMapper.xml index ebfbda3..cdea886 100644 --- a/src/main/resources/mapper/BusiIedparamMapper.xml +++ b/src/main/resources/mapper/BusiIedparamMapper.xml @@ -7,11 +7,20 @@ + + + - \ No newline at end of file diff --git a/src/main/resources/mapper/BusiMainDeviceMapper.xml b/src/main/resources/mapper/BusiMainDeviceMapper.xml index 28c02c2..6c2c277 100644 --- a/src/main/resources/mapper/BusiMainDeviceMapper.xml +++ b/src/main/resources/mapper/BusiMainDeviceMapper.xml @@ -9,6 +9,7 @@ + @@ -26,6 +27,7 @@ state, delivery_time, device_model, + device_type, manufacturer, factory_time, factory_number, @@ -157,4 +159,50 @@ WHERE state = 'Y' + + + + + + + + diff --git a/src/main/resources/mapper/BusiModbusParamBindMapper.xml b/src/main/resources/mapper/BusiModbusParamBindMapper.xml new file mode 100644 index 0000000..1ae6dac --- /dev/null +++ b/src/main/resources/mapper/BusiModbusParamBindMapper.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/mapper/BusiModbusTemplateMapper.xml b/src/main/resources/mapper/BusiModbusTemplateMapper.xml new file mode 100644 index 0000000..fd26daf --- /dev/null +++ b/src/main/resources/mapper/BusiModbusTemplateMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + delete from busi_modbus_param_bind where id in + + #{ids} + + + + diff --git a/src/main/resources/mapper/BusiNoiseIncreaseMapper.xml b/src/main/resources/mapper/BusiNoiseIncreaseMapper.xml new file mode 100644 index 0000000..b583d10 --- /dev/null +++ b/src/main/resources/mapper/BusiNoiseIncreaseMapper.xml @@ -0,0 +1,35 @@ + + + + + + + SELECT id,main_id,sub_id,day_rate,month_rate,d_time,load_type + FROM busi_noise_increase + + + + + + + diff --git a/src/main/resources/mapper/BusiNoiseRealMapper.xml b/src/main/resources/mapper/BusiNoiseRealMapper.xml index 628adbc..3ea38f6 100644 --- a/src/main/resources/mapper/BusiNoiseRealMapper.xml +++ b/src/main/resources/mapper/BusiNoiseRealMapper.xml @@ -51,12 +51,12 @@ AND ins_time LIKE concat(#{bean.insTime},'%') - ORDER BY ins_time ASC + ORDER BY ins_time + + + + diff --git a/src/main/resources/mapper/BusiNoiseRealStatisticsMapper.xml b/src/main/resources/mapper/BusiNoiseRealStatisticsMapper.xml index 1898305..78d876f 100644 --- a/src/main/resources/mapper/BusiNoiseRealStatisticsMapper.xml +++ b/src/main/resources/mapper/BusiNoiseRealStatisticsMapper.xml @@ -5,4 +5,16 @@ + + diff --git a/src/main/resources/mapper/BusiParamBindMapper.xml b/src/main/resources/mapper/BusiParamBindMapper.xml index 870142b..832bf88 100644 --- a/src/main/resources/mapper/BusiParamBindMapper.xml +++ b/src/main/resources/mapper/BusiParamBindMapper.xml @@ -7,10 +7,12 @@ + + @@ -23,7 +25,9 @@ sensor_code, node_id, node_name, - frequency + frequency, + monitype, + device_type ) values ( #{mainId}, @@ -31,7 +35,9 @@ #{sensorCode}, #{nodeId}, #{nodeName}, - #{frequency} + #{frequency}, + #{monitype}, + #{deviceType} ) diff --git a/src/main/resources/mapper/BusiSubDeviceMapper.xml b/src/main/resources/mapper/BusiSubDeviceMapper.xml index 537fc4f..2c76c19 100644 --- a/src/main/resources/mapper/BusiSubDeviceMapper.xml +++ b/src/main/resources/mapper/BusiSubDeviceMapper.xml @@ -114,6 +114,28 @@ order by ins_time desc + + - btc.main_id = #{mainId} GROUP BY btc.side; + btc.main_id = #{mainId} GROUP BY btc.side diff --git a/src/main/resources/mapper/BusiWarningMapper.xml b/src/main/resources/mapper/BusiWarningMapper.xml index 8c2cb86..e5277e1 100644 --- a/src/main/resources/mapper/BusiWarningMapper.xml +++ b/src/main/resources/mapper/BusiWarningMapper.xml @@ -30,12 +30,14 @@ CASE WHEN bsd.side = 'P' THEN '原边' WHEN bsd.side = 'S' THEN '副边' END, CASE WHEN bsd.phase = 'A' THEN 'A相' WHEN bsd.phase = 'B' THEN 'B相' WHEN bsd.phase = 'C' THEN 'C相' END, CASE WHEN bsd.in_out='U' THEN '上侧' WHEN bsd.in_out='D' THEN '下侧' END) AS deviceLocation, - concat('',batc.amplitude,'(mm/s2)') AS amplitudeThreshold, - concat(batc.day_rate,'/',batc.month_rate) AS amplitudeRate, - concat(bctc.positive,'(A)/',bctc.negative,'(A)') AS currentThreshold, - concat(bctc.day_rate,'/',bctc.month_rate) AS currentRate, + concat('',bw.threadval,'(mm/s2)') AS amplitudeThreshold, + concat('',bw.growth_rate) AS amplitudeRate, + concat('',bctc.negative,'(A)') AS currentThreshold, + concat( '', betc.temp, '(℃)' ) AS tempThreshold, + concat( '', betc.humidity, '(%)' ) AS humidityThreshold, + concat_ws('/',bctc.day_rate,bctc.month_rate) AS currentRate, concat(bntc.noise,'(dB)') AS noiseThreshold, - concat(bntc.day_rate,'/',bntc.month_rate) AS noiseRate, + concat_ws('/',bntc.day_rate,bntc.month_rate) AS noiseRate, concat(bw.sample_value,'(dB)') AS sampleValue, u.user_name AS processUserName, bw.* @@ -44,6 +46,7 @@ LEFT JOIN busi_ampli_threshold_conf batc ON bsd.id = batc.sub_id LEFT JOIN busi_center_threshold_conf bctc ON bctc.sub_id = bsd.id LEFT JOIN busi_noise_threshold_conf bntc ON bntc.sub_id = bsd.id + LEFT JOIN busi_environment_threshold_conf betc ON betc.sub_id = bsd.id INNER JOIN busi_main_device bmd ON bmd.id = bsd.main_id INNER JOIN busi_warning bw ON bsd.id = bw.sub_id LEFT JOIN sys_user u ON bw.process_user = u.user_id @@ -158,7 +161,7 @@ @@ -208,7 +211,7 @@ state=#{bean.state}, - + process=#{bean.process}, @@ -228,7 +231,7 @@ state=#{bean.state}, - + process=#{bean.process},