whycxzp
2022-09-20 0c5690dbd3023fc95419f7d59fa5a729c996ba25
更新分级评价/数据对比渲染
1个文件已添加
5个文件已修改
88 ■■■■ 已修改文件
src/main/java/com/whyc/controller/BattGroupDataController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/FileParamController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/BattGroupDataMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattGroupDataService.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattGroupInfoService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/FileParamService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/BattGroupDataController.java
@@ -24,7 +24,7 @@
    @ApiOperation("单数据分析-单体数据列表")
    @GetMapping("list")
    public Response getListWithTestTime(@RequestParam int battGroupId){
    public Response getListWithTestTime(@RequestParam String battGroupId){
        List<BattgroupData> monList = service.getListWithTestTime(battGroupId);
        return new Response().set(1,monList);
    }
@@ -32,7 +32,7 @@
    @ApiOperation(value = "对比分析-两组数据列表",notes = "data:第一行的基础数据,data2:第二行的基础数据," +
            "data3:key-value键值对,其中resChangeRate:内阻变化率,volChangeRate:电压变化率,resBalanceRate:内阻均一性,volBalanceRate:电压均一性")
    @GetMapping("comparedList")
    public Response getComparedList(@RequestParam int baseBattGroupId,@RequestParam int battGroupId){
    public Response getComparedList(@RequestParam String baseBattGroupId,@RequestParam String battGroupId){
        return service.getComparedList(baseBattGroupId,battGroupId);
    }
src/main/java/com/whyc/controller/FileParamController.java
@@ -43,7 +43,7 @@
    @ApiOperation("分级评价-系数及阈值查询")
    @GetMapping("factorsAndThreshold")
    public Response getFactorsAndThreshold(@RequestParam int fieldId){
    public Response getFactorsAndThreshold(@RequestParam String fieldId){
        FileParam param =  service.getFactorsAndThreshold(fieldId);
        return new Response().set(1,param);
    }
src/main/java/com/whyc/mapper/BattGroupDataMapper.java
@@ -6,7 +6,7 @@
public interface BattGroupDataMapper extends CustomMapper<BattgroupData>{
    List<BattgroupData> getListWithTestTime(int battGroupId);
    List<BattgroupData> getListWithTestTime(String battGroupId);
    //删除fileid对应的数据(stationId,fileId)
    int deleteDataAndInfo(int stationId, int fileId);
src/main/java/com/whyc/service/BattGroupDataService.java
@@ -3,8 +3,11 @@
import com.whyc.dto.Response;
import com.whyc.mapper.BattGroupDataMapper;
import com.whyc.pojo.BattgroupData;
import com.whyc.pojo.BattgroupInfo;
import com.whyc.pojo.FileInfo;
import com.whyc.pojo.FileParam;
import com.whyc.util.MathUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -21,11 +24,55 @@
    @Resource
    private BattGroupDataMapper mapper;
    public List<BattgroupData> getListWithTestTime(int battGroupId) {
        return mapper.getListWithTestTime(battGroupId);
    @Autowired
    private FileParamService fileParamService;
    @Autowired
    private BattGroupInfoService battGroupInfoService;
    public List<BattgroupData> getListWithTestTime(String battGroupId) {
        List<BattgroupData> dataList = mapper.getListWithTestTime(battGroupId);
        //查询系数和阈值是否禁用
        BattgroupInfo info = battGroupInfoService.getByBattGroupId(battGroupId);
        FileParam param = fileParamService.getFactorsAndThreshold(info.getFileId());
        if(param.getFactorDisabled() == 1){ //系数和阈值禁用,不需要判断处理阈值
            return dataList;
        }
        Float stdVol = param.getBattVol();
        Float stdRes = param.getBattRes();
        Float volLowCoeK1 = param.getVolLowCoeK1();
        Float volHighCoeK2 = param.getVolHighCoeK2();
        Float resGoodCoeK3 = param.getResGoodCoeK3();
        Float resBadCoeK4 = param.getResBadCoeK4();
        Float chainRes = param.getChainRes();
        dataList.forEach(data->{
            //判断处理阈值
            Float br = data.getBr();
            Float bv = data.getBv();
            Float cr = data.getCr(); //连接条阻抗
            if(bv < stdVol*volLowCoeK1){
                data.setLowVolFlag(1);
            }else if(bv > stdVol*volHighCoeK2){
                data.setHighVolFlag(1);
            }
            if(br > stdRes*resGoodCoeK3){
                if(br > stdRes*resBadCoeK4){
                    data.setHighResFlag2(1);
                }else{
                    data.setHighResFlag1(1);
                }
            }
            if(cr > chainRes){
                data.setHighChainResFlag(1);
            }
        });
        return dataList;
    }
    public Response getComparedList(int baseBattGroupId, int battGroupId) {
    public Response getComparedList(String baseBattGroupId, String battGroupId) {
        List<BattgroupData> baseDataList = getListWithTestTime(baseBattGroupId);
        List<BattgroupData> dataList = getListWithTestTime(battGroupId);
src/main/java/com/whyc/service/BattGroupInfoService.java
New file
@@ -0,0 +1,23 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.whyc.mapper.BattgroupInfoMapper;
import com.whyc.pojo.BattgroupInfo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class BattGroupInfoService {
    @Resource
    private BattgroupInfoMapper mapper;
    public BattgroupInfo getByBattGroupId(String battGroupId) {
        QueryWrapper<BattgroupInfo> query = Wrappers.query();
        query.eq("battGroup_id",battGroupId).last(" limit 1");
        return mapper.selectOne(query);
    }
}
src/main/java/com/whyc/service/FileParamService.java
@@ -121,9 +121,9 @@
       return new Response().setII(1,list.size()>0,list,"筛选数据库信息");
    }
    public FileParam getFactorsAndThreshold(int fieldId) {
    public FileParam getFactorsAndThreshold(String fieldId) {
        QueryWrapper<FileParam> query = Wrappers.query();
        query.select("num","field_id","volLowCoeK1","volHighCoeK2","resGoodCoeK3","resBadCoeK4","chainRes").eq("field_id",fieldId).last(" limit 1");
        query.select("num","field_id","batt_vol","batt_res","volLowCoeK1","volHighCoeK2","resGoodCoeK3","resBadCoeK4","chainRes","factor_disabled").eq("field_id",fieldId).last(" limit 1");
        return mapper.selectOne(query);
    }