whyclxw
2024-04-28 b25b814a949d2065a61fd3167206ffb51a57af65
src/main/java/com/whyc/service/DevParamService.java
@@ -1,13 +1,17 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.AlarmDaoFactory;
import com.whyc.dto.Response;
import com.whyc.mapper.DevParamMapper;
import com.whyc.pojo.DevParam;
import com.whyc.util.ActionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.swing.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
@@ -17,6 +21,9 @@
    @Resource
    private DevParamMapper mapper;
    @Autowired
    private ProcessSurveyService proSurveyservice;
    //电池告警参数设置--列表查询
    public Response serchByCondition(int devId, int almId) {
@@ -38,18 +45,60 @@
                case AlarmDaoFactory.Alarm_tmp_Monomer :
                    devParam.setBaseValue("25");
                    break;
                case AlarmDaoFactory.Alarm_res_Monomer :
                    devParam.setBaseValue(BigDecimal.valueOf((1*(devParam.getMonVolStd()/2)/(devParam.getMonCapStd()/100))).setScale(2, RoundingMode.HALF_UP).toString());
                case AlarmDaoFactory.Alarm_res_Monomer:
                    //基准值用标称值
                    //devParam.setBaseValue(BigDecimal.valueOf((1 * (devParam.getMonVolStd() / 2) / (devParam.getMonCapStd() / 100))).setScale(2, RoundingMode.HALF_UP).toString());
                    devParam.setBaseValue(String.valueOf(devParam.getMonResStd()));
                    break;
                case AlarmDaoFactory.Alarm_res_Conn :
                case AlarmDaoFactory.Alarm_res_Conn:
                    devParam.setBaseValue("0.2");
                    break;
                case AlarmDaoFactory.ALM_TYPE_MONLYVOL_ID :
                case AlarmDaoFactory.ALM_TYPE_MONLYVOL_ID:
                    devParam.setBaseValue("1");
                    break;
                case AlarmDaoFactory.ALM_TYPE_MONREALCAP_ID:
                    devParam.setBaseValue(BigDecimal.valueOf(devParam.getMonCapStd()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
                    break;
            }
        });
        PageInfo pageInfo=new PageInfo(list);
        return  new Response().set(1,list);
    }
    //电池告警参数设置--列表修改
    public Response update(DevParam devParam) {
        UpdateWrapper wrapper = new UpdateWrapper();
        wrapper.eq("dev_id", devParam.getDevId());
        wrapper.eq("alm_id", devParam.getAlmId());
        wrapper.set("alm_high_coe", devParam.getAlmHighCoe());
        wrapper.set("alm_low_coe", devParam.getAlmLowCoe());
        wrapper.set("alm_high_level", devParam.getAlmHighLevel());
        wrapper.set("alm_low_level", devParam.getAlmLowLevel());
        wrapper.set("alm_high_en", devParam.getAlmHighEn());
        wrapper.set("alm_low_en", devParam.getAlmLowEn());
        wrapper.set("alm_delay_time", devParam.getAlmDelayTime());
        wrapper.set("alm_high_level_upper", devParam.getAlmHighLevelUpper());
        wrapper.set("alm_low_level_lower", devParam.getAlmLowLevelLower());
        if (devParam.getAlmHighCoeUpper() != null) {
            wrapper.set("alm_high_coe_upper", devParam.getAlmHighCoeUpper());
        }
        if (devParam.getAlmHighCoeUpperEn() != null) {
            wrapper.set("alm_high_coe_upper_en", devParam.getAlmHighCoeUpperEn());
        }
        if (devParam.getAlmLowCoeLower() != null) {
            wrapper.set("alm_low_coe_lower", devParam.getAlmLowCoeLower());
        }
        if (devParam.getAlmLowCoeLowerEn() != null) {
            wrapper.set("alm_low_coe_lower_en", devParam.getAlmLowCoeLowerEn());
        }
        int flag = mapper.update((DevParam) ActionUtil.objeNull, wrapper);
        //修改告警阈值重启线程
        proSurveyservice.setAlmThreadRestart();
        return new Response().set(flag);
    }
    //在线监测-实时监控-查询告警
    public Response serchParamById(int devId) {
        List list=mapper.serchParamById(devId);
        PageInfo pageInfo=new PageInfo(list);
        return new Response().set(1,pageInfo);
    }
}