From 298e75c24c0f790f8f1af0fae40e5783b4590953 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期五, 14 十月 2022 10:10:06 +0800 Subject: [PATCH] 更新 --- src/main/java/com/whyc/service/BattGroupDataService.java | 50 +++++++++++++++++++++++++++++++++----------------- 1 files changed, 33 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/whyc/service/BattGroupDataService.java b/src/main/java/com/whyc/service/BattGroupDataService.java index 3b61b3e..69d729d 100644 --- a/src/main/java/com/whyc/service/BattGroupDataService.java +++ b/src/main/java/com/whyc/service/BattGroupDataService.java @@ -1,5 +1,6 @@ package com.whyc.service; +import com.whyc.dto.BattGroupStationInfoWithFileParam; import com.whyc.dto.Response; import com.whyc.mapper.BattGroupDataMapper; import com.whyc.pojo.*; @@ -31,15 +32,26 @@ @Autowired private TestParamService testParamService; - public List<BattgroupData> getListWithTestTime(String fileId) { + @Autowired + private StationInfoService stationInfoService; + + public BattGroupStationInfoWithFileParam getListWithTestTime(String fileId) { + BattGroupStationInfoWithFileParam info = new BattGroupStationInfoWithFileParam(); + //鏌ヨ绔欑偣淇℃伅鍜屾枃浠跺弬鏁颁俊鎭� + StationInfo stationInfo = stationInfoService.getByFileId(fileId); + String battGroupId = battGroupInfoService.getByFileId(fileId).getBattgroupId(); List<BattgroupData> dataList = mapper.getListWithTestTime(battGroupId); //鏌ヨ绯绘暟鍜岄槇鍊兼槸鍚︾鐢� //BattgroupInfo info = battGroupInfoService.getByBattGroupId(fileId); FileParam param = fileParamService.getByFileId(fileId); TestParam param2 = testParamService.getFactorsAndThreshold(); + + info.setStationInfo(stationInfo); + info.setFileParam(param); if(param2.getEnabled() == 0){ //绯绘暟鍜岄槇鍊肩鐢�,涓嶉渶瑕佸垽鏂鐞嗛槇鍊� - return dataList; + info.setDataList(dataList); + return info; } Float stdVol = param.getBattVol(); Float stdRes = param.getBattRes(); @@ -47,7 +59,7 @@ Float volHighCoeK2 = param2.getVolHighCoeK2(); Float resGoodCoeK3 = param2.getResGoodCoeK3(); Float resBadCoeK4 = param2.getResBadCoeK4(); - Float chainRes = param2.getChainRes(); + Float chainRes = param.getChainRes(); dataList.forEach(data->{ //鍒ゆ柇澶勭悊闃堝�� Float br = data.getBr(); @@ -55,33 +67,35 @@ Float cr = data.getCr(); //杩炴帴鏉¢樆鎶� if(bv < stdVol*volLowCoeK1){ - data.setLowVolFlag(1); + data.setLowVolFlag(true); }else if(bv > stdVol*volHighCoeK2){ - data.setHighVolFlag(1); + data.setHighVolFlag(true); } if(br > stdRes*resGoodCoeK3){ if(br > stdRes*resBadCoeK4){ - data.setHighResFlag2(1); + data.setHighResFlag2(true); }else{ - data.setHighResFlag1(1); + data.setHighResFlag1(true); } } - if(cr > chainRes){ - data.setHighChainResFlag(1); + if(cr > chainRes*param2.getChainResCoeK5()){ + data.setHighChainResFlag(true); } }); - return dataList; + + info.setDataList(dataList); + + return info; } public Map<String, String> getStandardDeviation(List<BattgroupData> monList) { Map<String,String> map = new HashMap<>(); - Stream<BattgroupData> stream = monList.stream(); - List<Float> bvList = stream.map(BattgroupData::getBv).collect(Collectors.toList()); - List<Float> brList = stream.map(BattgroupData::getBr).collect(Collectors.toList()); - List<Float> crList = stream.map(BattgroupData::getCr).collect(Collectors.toList()); - List<Float> bsList = stream.map(BattgroupData::getBs).collect(Collectors.toList()); + List<Float> bvList = monList.stream().map(BattgroupData::getBv).collect(Collectors.toList()); + List<Float> brList = monList.stream().map(BattgroupData::getBr).collect(Collectors.toList()); + List<Float> crList = monList.stream().map(BattgroupData::getCr).collect(Collectors.toList()); + List<Float> bsList = monList.stream().map(BattgroupData::getBs).collect(Collectors.toList()); float stdDevBv = MathUtil.getStandardDeviation(bvList); float stdDevBr = MathUtil.getStandardDeviation(brList); float stdDevCr = MathUtil.getStandardDeviation(crList); @@ -96,8 +110,10 @@ public Response getComparedList(String baseFileId, String fileId) { //String baseBattGroupId = battGroupInfoService.getByFileId(baseFileId).getBattgroupId(); //String battGroupId = battGroupInfoService.getByFileId(fileId).getBattgroupId(); - List<BattgroupData> baseDataList = getListWithTestTime(baseFileId); - List<BattgroupData> dataList = getListWithTestTime(fileId); + BattGroupStationInfoWithFileParam baseInfo = getListWithTestTime(baseFileId); + List<BattgroupData> baseDataList = baseInfo.getDataList(); + BattGroupStationInfoWithFileParam info = getListWithTestTime(fileId); + List<BattgroupData> dataList = info.getDataList(); //鍐呴樆鍙樺寲鐜�,鍧囦竴鎬�;鐢靛帇鍙樺寲鐜�,鍧囦竴鎬� Map<String,List<String>> map = new HashMap<>(); -- Gitblit v1.9.1