From ab1ce4e7d9feb6e1da8db8abf0deb552afddc7d6 Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期五, 20 六月 2025 15:33:26 +0800 Subject: [PATCH] 预警分析管理-切换时间间隔和副属性/查询所有的属性对应关系 --- src/main/java/com/whyc/controller/AnalysisAlmController.java | 18 +++++ src/main/java/com/whyc/dto/AnalysisAlm/AnalysisChangeRes.java | 21 +++++++ src/main/java/com/whyc/service/AlmAnalysisParamService.java | 75 +++++++++++++++++++++--- src/main/java/com/whyc/service/AppParamService.java | 7 ++ 4 files changed, 108 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/whyc/controller/AnalysisAlmController.java b/src/main/java/com/whyc/controller/AnalysisAlmController.java index 0edd572..3b06e08 100644 --- a/src/main/java/com/whyc/controller/AnalysisAlmController.java +++ b/src/main/java/com/whyc/controller/AnalysisAlmController.java @@ -1,5 +1,6 @@ package com.whyc.controller; +import com.whyc.dto.AnalysisAlm.AnalysisChangeRes; import com.whyc.dto.Param.AlmAnalyseDto; import com.whyc.dto.Response; import com.whyc.service.AlmAnalysisParamService; @@ -44,7 +45,20 @@ @GetMapping("getHisRealInAlm") @ApiOperation("棰勮鍒嗘瀽绠$悊-鐢垫簮涓诲睘鎬у拰鍒嗘瀽灞炴��") - public Response getHisRealInAlm(@RequestParam Integer battgroupId,@RequestParam Integer powerId,@RequestParam String startTime,@RequestParam(required = false) Integer almId,@RequestParam(required = false) Integer intervalTime) throws ParseException, InterruptedException { - return almAnalysisParamService.getHisRealInAlm(battgroupId,powerId,startTime,almId,intervalTime); + public Response getHisRealInAlm(@RequestParam Integer battgroupId,@RequestParam Integer powerId,@RequestParam String startTime,@RequestParam(required = false) Integer almId) throws ParseException, InterruptedException { + return almAnalysisParamService.getHisRealInAlm(battgroupId,powerId,startTime,almId); } + + @PostMapping("getHisRealWithChage") + @ApiOperation("棰勮鍒嗘瀽绠$悊-鍒囨崲鏃堕棿闂撮殧鍜屽壇灞炴��") + public Response getHisRealWithChage(@RequestBody AnalysisChangeRes res) throws ParseException, InterruptedException { + return almAnalysisParamService.getHisRealWithChage(res); + } + + @PostMapping("getAlmSummaryParam") + @ApiOperation("棰勮鍒嗘瀽绠$悊-鏌ヨ鎵�鏈夌殑灞炴�у搴斿叧绯�") + public Response getAlmSummaryParam(){ + return almAnalysisParamService.getAlmSummaryParam(); + } + } \ No newline at end of file diff --git a/src/main/java/com/whyc/dto/AnalysisAlm/AnalysisChangeRes.java b/src/main/java/com/whyc/dto/AnalysisAlm/AnalysisChangeRes.java new file mode 100644 index 0000000..666c4f7 --- /dev/null +++ b/src/main/java/com/whyc/dto/AnalysisAlm/AnalysisChangeRes.java @@ -0,0 +1,21 @@ +package com.whyc.dto.AnalysisAlm; + +import lombok.Data; + +@Data +public class AnalysisChangeRes { + private Integer battgroupId; + private Integer powerId; + private String startTime; + private Integer intervalTime; + private String dataName1; + private Integer dataType1; + private String dataName2; + private Integer dataType2; + private String dataName3; + private Integer dataType3; + private String dataName4; + private Integer dataType4; + private String dataName5; + private Integer dataType5; +} \ No newline at end of file diff --git a/src/main/java/com/whyc/service/AlmAnalysisParamService.java b/src/main/java/com/whyc/service/AlmAnalysisParamService.java index be2bfb0..9c76ae8 100644 --- a/src/main/java/com/whyc/service/AlmAnalysisParamService.java +++ b/src/main/java/com/whyc/service/AlmAnalysisParamService.java @@ -1,6 +1,7 @@ package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.whyc.dto.AnalysisAlm.AnalysisChangeRes; import com.whyc.dto.AnalysisAlm.ResAnalysis; import com.whyc.dto.Real.RealDateDTO; import com.whyc.dto.Response; @@ -50,23 +51,16 @@ } //棰勮鍒嗘瀽绠$悊-鐢垫簮涓诲睘鎬у拰鍒嗘瀽灞炴�� - public Response getHisRealInAlm(Integer battgroupId,Integer powerId, String startTime, Integer almId,Integer intervalTime) throws ParseException, InterruptedException { + public Response getHisRealInAlm(Integer battgroupId,Integer powerId, String startTime, Integer almId) throws ParseException, InterruptedException { Map<String,Object> map=new HashMap<>(); map.put("batt",null); map.put("pwr",null); - Integer cycleTime=0; //鑾峰彇棰勮鍒嗘瀽鍛ㄦ湡闃堝�� - if(intervalTime==null){ - AppParam appParam = appParamService.getAlarmAnalysisCycle(); - cycleTime=appParam.getParamValue().intValue(); - }else{ - cycleTime=intervalTime; - } + AppParam appParam = appParamService.getAlarmAnalysisCycle(); + Integer cycleTime=appParam.getParamValue().intValue(); Date cyscleDate=ActionUtil.getDateAdd(ThreadLocalUtil.parse(startTime,1),cycleTime*(-1)); //鑾峰彇cyscleDate鍒扮幇鍦ㄦ墍鏈夌殑鍘嗗彶瀹炴椂鏁版嵁 List<List<Date>> monthTimeList = DateUtil.getMonthTime(cyscleDate,new Date()); - //鎬荤殑灞炴�ч厤缃� - List<AlmSummaryParam> summaryList=summaryParamService.getInfo(); //鑾峰彇鍛婅almId瀵瑰簲鐨勫垎鏋愰厤缃睘鎬у�� AlmAnalysisParam almAnalysisParam=getAnalysisParam(almId); if(almAnalysisParam==null||almAnalysisParam.getMainFieldType()==null){ @@ -88,7 +82,7 @@ map.put("pwr",pwrHislist); } } - return new Response().setIII(1,true, map,summaryList,"棰勮鍒嗘瀽绠$悊-鐢垫簮涓诲睘鎬у拰鍒嗘瀽灞炴��"); + return new Response().setII(1,true, map,"棰勮鍒嗘瀽绠$悊-鐢垫簮涓诲睘鎬у拰鍒嗘瀽灞炴��"); } } //鍒嗙粍鏌ョ湅闇�瑕佹煡璇㈢數婧�/鐢垫睜瀹炴椂琛ㄧ殑鍝簺鏁版嵁 @@ -204,5 +198,64 @@ List dataListSorted = dataList.stream().sorted(Comparator.comparing(ResAnalysis::getRecordTime)).collect(Collectors.toList()); return dataListSorted; } + //棰勮鍒嗘瀽绠$悊-鍒囨崲鏃堕棿闂撮殧鍜屽壇灞炴�� + public Response getHisRealWithChage(AnalysisChangeRes res) throws ParseException, InterruptedException { + Map<String,Object> map=new HashMap<>(); + map.put("batt",null); + map.put("pwr",null); + Integer cycleTime=0; + //鑾峰彇棰勮鍒嗘瀽鍛ㄦ湡闃堝�� + AppParam appParam = appParamService.getAlarmAnalysisCycle(); + if(res.getIntervalTime()==null){ + cycleTime=appParam.getParamValue().intValue(); + }else{ + //灏嗘暟鎹簱涓椂闂撮棿闅斾慨鏀� + appParamService.updateAlarmAnalysisCycle(res.getIntervalTime()); + cycleTime=res.getIntervalTime(); + } + Date cyscleDate=ActionUtil.getDateAdd(ThreadLocalUtil.parse(res.getStartTime(),1),cycleTime*(-1)); + //鑾峰彇cyscleDate鍒扮幇鍦ㄦ墍鏈夌殑鍘嗗彶瀹炴椂鏁版嵁 + List<List<Date>> monthTimeList = DateUtil.getMonthTime(cyscleDate,new Date()); + //鑾峰彇鍛婅almId瀵瑰簲鐨勫垎鏋愰厤缃睘鎬у�� + AlmAnalysisParam almAnalysisParam=new AlmAnalysisParam(); + //灏嗗睘鎬ф嫹璐濊嚦almAnalysisParam涓� + copyProperties(almAnalysisParam,res); + //鍒嗙粍鏌ョ湅闇�瑕佹煡璇㈢數婧�/鐢垫睜瀹炴椂琛ㄧ殑鍝簺鏁版嵁 + Map<String, Map<String,Integer>> groupmap=groupPwrAndBatt(almAnalysisParam); + Map<String,Integer> battMap=groupmap.get("batt"); + Map<String,Integer> pwrMap=groupmap.get("pwr"); + if(res.getBattgroupId()!=null){ + if(battMap!=null&&battMap.size()>0){ + List battHislist=getBattRealData(res.getBattgroupId(),monthTimeList,battMap); + map.put("batt",battHislist); + } + } + if(res.getPowerId()!=null){ + if(pwrMap!=null&&pwrMap.size()>0){ + List pwrHislist=getPwrRealData(res.getPowerId(),monthTimeList,pwrMap); + map.put("pwr",pwrHislist); + } + } + return new Response().setII(1,true, map,"棰勮鍒嗘瀽绠$悊-鍒囨崲鏃堕棿闂撮殧鍜屽壇灞炴��"); + } + //灏嗗睘鎬ф嫹璐濊嚦almAnalysisParam涓� + private void copyProperties(AlmAnalysisParam almAnalysisParam, AnalysisChangeRes res) { + almAnalysisParam.setMainField(res.getDataName1()); + almAnalysisParam.setMainFieldType(res.getDataType1()); + almAnalysisParam.setMinorField1(res.getDataName2()); + almAnalysisParam.setMinorField1Type(res.getDataType2()); + almAnalysisParam.setMinorField2(res.getDataName3()); + almAnalysisParam.setMinorField2Type(res.getDataType3()); + almAnalysisParam.setMinorField3(res.getDataName4()); + almAnalysisParam.setMinorField3Type(res.getDataType4()); + almAnalysisParam.setMinorField4(res.getDataName5()); + almAnalysisParam.setMinorField4Type(res.getDataType5()); + } + //棰勮鍒嗘瀽绠$悊-鏌ヨ鎵�鏈夌殑灞炴�у搴斿叧绯� + public Response getAlmSummaryParam() { + //鎬荤殑灞炴�ч厤缃� + List<AlmSummaryParam> summaryList=summaryParamService.getInfo(); + return new Response().setII(1,true,summaryList,"棰勮鍒嗘瀽绠$悊-鏌ヨ鎵�鏈夌殑灞炴�у搴斿叧绯�"); + } } \ No newline at end of file diff --git a/src/main/java/com/whyc/service/AppParamService.java b/src/main/java/com/whyc/service/AppParamService.java index 250f8f8..623d80f 100644 --- a/src/main/java/com/whyc/service/AppParamService.java +++ b/src/main/java/com/whyc/service/AppParamService.java @@ -62,4 +62,11 @@ AppParam param=mapper.selectOne(wrapper); return param; } + //灏嗘暟鎹簱涓椂闂撮棿闅斾慨鏀� + public void updateAlarmAnalysisCycle(Integer intervalTime) { + UpdateWrapper wrapper=new UpdateWrapper(); + wrapper.eq("param_name_psx","alm_analysis_already_time"); + wrapper.set("param_value",intervalTime); + mapper.update(null,wrapper); + } } \ No newline at end of file -- Gitblit v1.9.1