whyclxw
7 天以前 669906b87674d4b60a6fd5ea3a938c636952dbc2
预警分析管理-主属性和分析属性
5个文件已修改
3个文件已添加
132 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/AlmParamController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/AlmAnalysisParamMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/db_param/AlmAnalysisParam.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/AlmAnalysisParamService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/AppParamService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattRealdataIdService.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/SubTablePageInfoService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/util/ActionUtil.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/AlmParamController.java
@@ -135,7 +135,7 @@
    }
    @GetMapping("getBattHisRealInAlm")
    @ApiOperation("电池告警点击具体告警信息查看从告警开始时间到现在的历史实时数据")
    @ApiOperation("预警分析管理-主属性和分析属性")
    public Response getBattHisRealInAlm(@RequestParam Integer battgroupId,@RequestParam String startTime,@RequestParam(required = false) Integer almId) throws ParseException, InterruptedException {
        return battRealdataIdService.getBattHisRealInAlm(battgroupId,startTime,almId);
    }
src/main/java/com/whyc/mapper/AlmAnalysisParamMapper.java
New file
@@ -0,0 +1,6 @@
package com.whyc.mapper;
import com.whyc.pojo.db_param.AlmAnalysisParam;
public interface AlmAnalysisParamMapper extends CustomMapper<AlmAnalysisParam>{
}
src/main/java/com/whyc/pojo/db_param/AlmAnalysisParam.java
New file
@@ -0,0 +1,69 @@
package com.whyc.pojo.db_param;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
 * <p>
 * 预警分析管理关联字段配置表
 * </p>
 *
 * @author lxw
 * @since 2025-06-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(schema = "db_param",value ="tb_alm_analysis_param")
@ApiModel(value="AlmAnalysisParam对象", description="预警分析管理关联字段配置表")
public class AlmAnalysisParam implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "自增主键")
    @TableId(value = "num", type = IdType.AUTO)
    private Long num;
    @ApiModelProperty(value = "告警ID")
    private Integer almId;
    @ApiModelProperty(value = "主参考字段")
    private String mainField;
    @ApiModelProperty(value = "主字段类型[1:直流,2:通信,3配网  4:电池 5:设备]")
    private Integer mainFieldType;
    @ApiModelProperty(value = "次要字段1参考配置")
    private String minorField1;
    @ApiModelProperty(value = "字段1类型[1:直流,2:通信,3配网  4:电池 5:设备]")
    private Integer minorField1Type;
    @ApiModelProperty(value = "次要字段2参考配置")
    private String minorField2;
    @ApiModelProperty(value = "字段2类型[1:直流,2:通信,3配网  4:电池 5:设备]")
    private Integer minorField2Type;
    @ApiModelProperty(value = "次要字段3参考配置")
    private String minorField3;
    @ApiModelProperty(value = "字段3类型[1:直流,2:通信,3配网  4:电池 5:设备]")
    private Integer minorField3Type;
    @ApiModelProperty(value = "次要字段4参考配置")
    private String minorField4;
    @ApiModelProperty(value = "字段4类型[1:直流,2:通信,3配网  4:电池 5:设备]")
    private Integer minorField4Type;
}
src/main/java/com/whyc/service/AlmAnalysisParamService.java
New file
@@ -0,0 +1,21 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.whyc.mapper.AlmAnalysisParamMapper;
import com.whyc.pojo.db_param.AlmAnalysisParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class AlmAnalysisParamService {
    @Autowired(required = false)
    private AlmAnalysisParamMapper mapper;
    //获取告警almId对应的分析配置属性值
    public AlmAnalysisParam getAnalysisParam(Integer almId) {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("alm_id",almId);
        wrapper.last("limit 1");
        AlmAnalysisParam param= mapper.selectOne(wrapper);
        return param;
    }
}
src/main/java/com/whyc/service/AppParamService.java
@@ -54,4 +54,12 @@
        wrapper.orderByAsc("id");
        return mapper.selectList(wrapper);
    }
    //获取预警分析周期阈值
    public AppParam getAlarmAnalysisCycle() {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("param_name_psx","alm_analysis_already_time");
        wrapper.last("limit 1");
        AppParam param=mapper.selectOne(wrapper);
        return param;
    }
}
src/main/java/com/whyc/service/BattRealdataIdService.java
@@ -9,6 +9,8 @@
import com.whyc.mapper.CommonMapper;
import com.whyc.pojo.db_data_history.BattRealdataId;
import com.whyc.pojo.db_param.AlmAnalysisParam;
import com.whyc.pojo.db_param.AppParam;
import com.whyc.util.ActionUtil;
import com.whyc.util.DateUtil;
import com.whyc.util.ThreadLocalUtil;
@@ -40,6 +42,12 @@
    @Autowired
    private BattInfService binfService;
    @Autowired
    private AlmAnalysisParamService almAnalysisParamService;
    @Autowired
    private AppParamService appParamService;
    //获取电池组最近一季度的单体数据
@@ -220,8 +228,15 @@
    }
    //电池告警点击具体告警信息查看从告警开始时间到现在的历史实时数据
    public Response getBattHisRealInAlm(Integer battgroupId, String startTime, Integer almId) throws ParseException, InterruptedException {
        //获取告警almId对应的分析配置属性值
        AlmAnalysisParam almAnalysisParam= almAnalysisParamService.getAnalysisParam(almId);
        List<RealDateDTO> dataList = new LinkedList<>();
        List<List<Date>> monthTimeList = DateUtil.getMonthTime(ThreadLocalUtil.parse(startTime,1),new Date());
        //获取预警分析周期阈值
        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());
        ThreadPoolExecutor pool = ThreadPoolExecutorFactory.getPoolExecutor();
        CountDownLatch latch = new CountDownLatch(monthTimeList.size());
        for (int i = 0; i < monthTimeList.size(); i++) {
@@ -246,7 +261,7 @@
        }
        latch.await(10, TimeUnit.MINUTES);
        List dataListSorted = dataList.stream().sorted(Comparator.comparing(RealDateDTO::getRecordTime)).collect(Collectors.toList());
        return new Response().set(1, dataListSorted);
        return new Response().setIII(1,true, dataListSorted,almAnalysisParam,"电池告警点击具体告警信息查看从告警开始时间到现在的历史实时数据");
    }
}
src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -777,7 +777,8 @@
        String sql=" select record_time, group_vol, online_vol,group_curr, mon_vol, mon_tmp, mon_res, mon_num,record_num  " +
                "               from db_data_history.tb_batt_realdata_"+realdata.getTableName()+" " +
                "               where record_time >= '"+ThreadLocalUtil.format(realdata.getRecordTime(),1)+"' " +
                "               and record_time <= '"+ThreadLocalUtil.format(realdata.getRecordTime1(),1)+"' ";
                "               and record_time <= '"+ThreadLocalUtil.format(realdata.getRecordTime1(),1)+"' " +
                "               order by record_time asc,mon_num asc";
        List<RealDateDTO> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
            @Override
            public List getResults(ResultSet rs) throws SQLException {
src/main/java/com/whyc/util/ActionUtil.java
@@ -677,6 +677,8 @@
        for (String date : dateList) {
            System.out.println(date);
        }*/
        System.out.println(toCamelCase("user_name_and_age"));
        //System.out.println(toCamelCase("user_name_and_age"));
        Date time1=getDateAdd(new Date(),-10);
        System.out.println(ActionUtil.sdf.format(time1));
    }
}