达梦兼容调整
This commit is contained in:
@@ -118,7 +118,13 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
private final WlRecordFeignClient wlRecordFeignClient;
|
||||
|
||||
private final ExecutorService executorService = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() + 1);
|
||||
|
||||
|
||||
private final String CELL_DATA = "celldata";
|
||||
private final String V = "v";
|
||||
private final String STR_ONE = "#";
|
||||
private final String STR_TWO = "$";
|
||||
private final String STR_THREE = "&";
|
||||
private final String STR_FOUR = "%";
|
||||
|
||||
@Override
|
||||
public void getCustomReport(ReportSearchParam reportSearchParam, HttpServletResponse response) {
|
||||
@@ -329,10 +335,10 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
if (val.get(0).getHarmStart() == 1) {
|
||||
count = i + 0.5;
|
||||
reportTreeItem.setShowName(count + "次" + val.get(0).getShowName());
|
||||
reportTreeItem.setName("%" + one + count + "#" + val.get(0).getFormula() + "#" + val.get(0).getLimitTable() + "%");
|
||||
reportTreeItem.setName(STR_FOUR + one + count + STR_ONE + val.get(0).getFormula() + STR_ONE + val.get(0).getLimitTable() + STR_FOUR);
|
||||
} else {
|
||||
reportTreeItem.setShowName(i + "次" + val.get(0).getShowName());
|
||||
reportTreeItem.setName("%" + one + i + "#" + val.get(0).getFormula() + "#" + val.get(0).getLimitTable() + "%");
|
||||
reportTreeItem.setName(STR_FOUR + one + i + STR_ONE + val.get(0).getFormula() + STR_ONE + val.get(0).getLimitTable() + STR_FOUR);
|
||||
}
|
||||
|
||||
reportTreeItem.setFlag(1);
|
||||
@@ -340,7 +346,7 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
}
|
||||
reportTreeVO.setChildren(temList);
|
||||
} else {
|
||||
reportTreeVO.setName("%" + val.get(0).getLimitName() + "#" + val.get(0).getLimitTable() + "%" + val.get(0).getFormula() + "%");
|
||||
reportTreeVO.setName(STR_FOUR + val.get(0).getLimitName() + STR_ONE + val.get(0).getLimitTable() + STR_FOUR + val.get(0).getFormula() + STR_FOUR);
|
||||
reportTreeVO.setFlag(1);
|
||||
}
|
||||
|
||||
@@ -359,7 +365,7 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
list.forEach(item -> {
|
||||
ReportTreeVO reportTreeVO = new ReportTreeVO();
|
||||
reportTreeVO.setId(item.getId());
|
||||
reportTreeVO.setName("&" + item.getName() + "&");
|
||||
reportTreeVO.setName(STR_THREE + item.getName() + STR_THREE);
|
||||
reportTreeVO.setFlag(1);
|
||||
reportTreeVO.setShowName(item.getShowName());
|
||||
result.add(reportTreeVO);
|
||||
@@ -402,14 +408,14 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
ReportTreeVO reportTreeStat = new ReportTreeVO();
|
||||
String tem = "";
|
||||
if (Objects.nonNull(item.getLimitName())) {
|
||||
tem = "#" + item.getLimitName();
|
||||
tem = STR_ONE + item.getLimitName();
|
||||
} else {
|
||||
tem = "#NO";
|
||||
}
|
||||
if (StrUtil.isNotBlank(twoKey)) {
|
||||
reportTreeStat.setName("$" + oneKey + "#" + twoKey + "#" + statItem + "#" + item.getResourcesId().trim() + tem.trim() + "$");
|
||||
reportTreeStat.setName(STR_TWO + oneKey + STR_ONE + twoKey + STR_ONE + statItem + STR_ONE + item.getResourcesId().trim() + tem.trim() + STR_TWO);
|
||||
} else {
|
||||
reportTreeStat.setName("$" + oneKey + "#" + statItem + "#" + item.getResourcesId().trim() + tem.trim() + "$");
|
||||
reportTreeStat.setName(STR_TWO + oneKey + STR_ONE + statItem + STR_ONE + item.getResourcesId().trim() + tem.trim() + STR_TWO);
|
||||
}
|
||||
|
||||
reportTreeStat.setShowName(statItem);
|
||||
@@ -490,11 +496,11 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
}
|
||||
//三项不平衡度
|
||||
if (s.equals(DicDataEnum.UNBALANCE.getCode())) {
|
||||
unit.put(s + "#v", "%");
|
||||
unit.put(s + "#v", STR_FOUR);
|
||||
unit.put(s + "#vPos", deviceUnit.getPositiveV());
|
||||
unit.put(s + "#vNeg", deviceUnit.getNoPositiveV());
|
||||
unit.put(s + "#vZero", deviceUnit.getNoPositiveV());
|
||||
unit.put(s + "#i", "%");
|
||||
unit.put(s + "#i", STR_FOUR);
|
||||
unit.put(s + "#iPos", "A");
|
||||
unit.put(s + "#iNeg", "A");
|
||||
unit.put(s + "#iZero", "A");
|
||||
@@ -640,7 +646,7 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
|
||||
//判断是否越限
|
||||
if (limitMap.size() != 0) {
|
||||
String key = item.getLimitName() + "#" + item.getStatMethod().toLowerCase() + "#pq_overlimit";
|
||||
String key = item.getLimitName() + STR_ONE + item.getStatMethod().toLowerCase() + "#pq_overlimit";
|
||||
if (limitMap.containsKey(key)) {
|
||||
ReportTemplateDTO tem = limitMap.get(key);
|
||||
double limitVal = Double.parseDouble(tem.getValue());
|
||||
@@ -781,7 +787,7 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
|
||||
//判断是否越限
|
||||
if (!limitMap.isEmpty()) {
|
||||
String key = item.getLimitName() + "#" + item.getStatMethod() + "#PQ_OVERLIMIT";
|
||||
String key = item.getLimitName() + STR_ONE + item.getStatMethod() + "#PQ_OVERLIMIT";
|
||||
if (limitMap.containsKey(key)) {
|
||||
ReportTemplateDTO tem = limitMap.get(key);
|
||||
double limitVal = Double.parseDouble(tem.getValue());
|
||||
@@ -891,8 +897,6 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
//处理指标最终判定合格还是不合格
|
||||
dealTargetResult(assNoPassMap, limitTargetMapX, endList);
|
||||
}
|
||||
|
||||
|
||||
if (CollUtil.isNotEmpty(endList)) {
|
||||
//数据单位信息
|
||||
Map<String, String> unit = unitMap(reportSearchParam);
|
||||
@@ -910,47 +914,47 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
//2、把itemName的value赋给v和m
|
||||
jsonArray.forEach(item -> {
|
||||
JSONObject jsonObject = (JSONObject) item;
|
||||
JSONArray itemArr = (JSONArray) jsonObject.get("celldata");
|
||||
JSONArray itemArr = (JSONArray) jsonObject.get(CELL_DATA);
|
||||
itemArr.forEach((it) -> {
|
||||
if (Objects.nonNull(it) && !"null".equals(it.toString())) {
|
||||
//获取到1列
|
||||
JSONObject data = (JSONObject) it;
|
||||
JSONObject son = (JSONObject) data.get("v");
|
||||
if (son.containsKey("v")) {
|
||||
String v = son.getStr("v");
|
||||
JSONObject son = (JSONObject) data.get(V);
|
||||
if (son.containsKey(V)) {
|
||||
String v = son.getStr(V);
|
||||
//数据格式:$HA[_25]#B#max#classId$ 或 $HA[_25]#max#classId$
|
||||
if (v.charAt(0) == '$' && v.contains("#")) {
|
||||
if (v.charAt(0) == '$' && v.contains(STR_ONE)) {
|
||||
String str = "";
|
||||
List<ReportTemplateDTO> rDto = assMap.get(v.replace("$", "").toUpperCase());
|
||||
List<ReportTemplateDTO> rDto = assMap.get(v.replace(STR_TWO, "").toUpperCase());
|
||||
if (Objects.nonNull(rDto)) {
|
||||
str = rDto.get(0).getValue();
|
||||
//没有值,赋"/"
|
||||
if (StringUtils.isBlank(str)) {
|
||||
str = "/";
|
||||
}
|
||||
son.set("v", str);
|
||||
son.set(V, str);
|
||||
if (Objects.nonNull(rDto.get(0).getOverLimitFlag()) && rDto.get(0).getOverLimitFlag() == 1) {
|
||||
son.set("fc", "#990000");
|
||||
}
|
||||
}
|
||||
} else if (v.charAt(0) == '%' && v.contains("#")) {
|
||||
} else if (v.charAt(0) == '%' && v.contains(STR_ONE)) {
|
||||
//指标合格情况
|
||||
String str = "";
|
||||
List<ReportTemplateDTO> rDto = assMap.get(v.replace("%", "").toUpperCase());
|
||||
List<ReportTemplateDTO> rDto = assMap.get(v.replace(STR_FOUR, "").toUpperCase());
|
||||
if (Objects.nonNull(rDto)) {
|
||||
str = rDto.get(0).getValue();
|
||||
//没有值,赋"/"
|
||||
if (StringUtils.isBlank(str)) {
|
||||
str = "/";
|
||||
}
|
||||
son.set("v", str);
|
||||
son.set(V, str);
|
||||
if ("不合格".equals(str)) {
|
||||
son.set("fc", "#990000");
|
||||
}
|
||||
}
|
||||
} else if (v.charAt(0) == '&') {
|
||||
//结论
|
||||
String tem = v.replace("&", "").toUpperCase();
|
||||
String tem = v.replace(STR_THREE, "").toUpperCase();
|
||||
if (Objects.nonNull(finalTerminalMap)) {
|
||||
if ("STATIS_TIME".equals(tem)) {
|
||||
//如何时间是大于当前时间则用当前时间
|
||||
@@ -958,21 +962,21 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
LocalDate localDate = LocalDateTimeUtil.parseDate(reportSearchParam.getEndTime(), DatePattern.NORM_DATE_PATTERN);
|
||||
LocalDate nowDate = LocalDate.now();
|
||||
if (nowDate.isAfter(localDate)) {
|
||||
son.set("v", reportSearchParam.getStartTime() + InfluxDbSqlConstant.START_TIME + "_" + reportSearchParam.getEndTime() + localTime);
|
||||
son.set(V, reportSearchParam.getStartTime() + InfluxDbSqlConstant.START_TIME + "_" + reportSearchParam.getEndTime() + localTime);
|
||||
} else {
|
||||
localTime = " " + LocalTime.now().format(DatePattern.NORM_TIME_FORMATTER);
|
||||
son.set("v", reportSearchParam.getStartTime() + InfluxDbSqlConstant.START_TIME + "_" + nowDate + localTime);
|
||||
son.set(V, reportSearchParam.getStartTime() + InfluxDbSqlConstant.START_TIME + "_" + nowDate + localTime);
|
||||
}
|
||||
} else {
|
||||
//台账信息
|
||||
son.set("v", finalTerminalMap.getOrDefault(tem, "/"));
|
||||
son.set(V, finalTerminalMap.getOrDefault(tem, "/"));
|
||||
}
|
||||
}
|
||||
}
|
||||
//解决数据单位问题 @指标#类型@
|
||||
if (v.charAt(0) == '@' && v.contains("#")) {
|
||||
if (v.charAt(0) == '@' && v.contains(STR_ONE)) {
|
||||
String replace = v.replace("@", "");
|
||||
son.set("v", unit.getOrDefault(replace, "/"));
|
||||
son.set(V, unit.getOrDefault(replace, "/"));
|
||||
|
||||
}
|
||||
}
|
||||
@@ -995,23 +999,23 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
//通过文件服务器获取
|
||||
jsonArray.forEach(item -> {
|
||||
JSONObject jsonObject = (JSONObject) item;
|
||||
JSONArray itemArr = (JSONArray) jsonObject.get("celldata");
|
||||
JSONArray itemArr = (JSONArray) jsonObject.get(CELL_DATA);
|
||||
itemArr.forEach((it) -> {
|
||||
if (Objects.nonNull(it) && !"null".equals(it.toString())) {
|
||||
//获取到1列
|
||||
JSONObject data = (JSONObject) it;
|
||||
JSONObject son = (JSONObject) data.get("v");
|
||||
if (son.containsKey("v")) {
|
||||
String v = son.getStr("v");
|
||||
JSONObject son = (JSONObject) data.get(V);
|
||||
if (son.containsKey(V)) {
|
||||
String v = son.getStr(V);
|
||||
//数据格式:$HA[_25]#B#max#classId$ 或 $HA[_25]#max#classId$
|
||||
if (v.charAt(0) == '$' && v.contains("#")) {
|
||||
if (v.charAt(0) == '$' && v.contains(STR_ONE)) {
|
||||
//剔除前后$
|
||||
v = v.replace("$", "");
|
||||
v = v.replace(STR_TWO, "");
|
||||
//封装ReportTemplateDTO
|
||||
ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO();
|
||||
reportTemplateDTO.setItemName(v.toUpperCase());
|
||||
//根据#分割数据
|
||||
String[] vItem = v.split("#");
|
||||
String[] vItem = v.split(STR_ONE);
|
||||
if (vItem.length == 5) {
|
||||
//$HA[_25]#B#max#classId$
|
||||
reportTemplateDTO.setTemplateName(vItem[0].toUpperCase());
|
||||
@@ -1029,13 +1033,13 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
}
|
||||
|
||||
reportTemplateDTOList.add(reportTemplateDTO);
|
||||
} else if (v.charAt(0) == '%' && v.contains("#")) {
|
||||
} else if (v.charAt(0) == '%' && v.contains(STR_ONE)) {
|
||||
//封装ReportTemplateDTO
|
||||
ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO();
|
||||
v = v.replace("%", "");
|
||||
v = v.replace(STR_FOUR, "");
|
||||
reportTemplateDTO.setItemName(v.toUpperCase());
|
||||
//根据#分割数据
|
||||
String[] vItem = v.split("#");
|
||||
String[] vItem = v.split(STR_ONE);
|
||||
if (vItem.length == 3) {
|
||||
//$HA[_25]#B#max#classId$
|
||||
reportTemplateDTO.setTemplateName(vItem[0].toUpperCase());
|
||||
@@ -1046,7 +1050,7 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
} else if (v.charAt(0) == '&') {
|
||||
//封装ReportTemplateDTO
|
||||
ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO();
|
||||
v = v.replace("&", "");
|
||||
v = v.replace(STR_THREE, "");
|
||||
reportTemplateDTO.setItemName(v.toUpperCase());
|
||||
reportTemplateDTO.setTemplateName(v.toUpperCase());
|
||||
terminalList.add(reportTemplateDTO);
|
||||
@@ -1334,7 +1338,7 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
if (Objects.nonNull(entry.getValue()) && !entry.getKey().equals("time")) {
|
||||
String key = entry.getKey();
|
||||
double val = (double) entry.getValue();
|
||||
String zi = key.substring(0, key.indexOf("#"));
|
||||
String zi = key.substring(0, key.indexOf(STR_ONE));
|
||||
String[] temStrArr = zi.split("_");
|
||||
boolean flag = isInteger(temStrArr[temStrArr.length-1]);
|
||||
if(flag){
|
||||
@@ -1377,7 +1381,7 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
}
|
||||
|
||||
//结论判断是否越限
|
||||
String key = item.getLimitName() + "#" + item.getStatMethod().toLowerCase() + "#pq_overlimit";
|
||||
String key = item.getLimitName() + STR_ONE + item.getStatMethod().toLowerCase() + "#pq_overlimit";
|
||||
if (limitMap.containsKey(key)) {
|
||||
ReportTemplateDTO tem = limitMap.get(key);
|
||||
double limitVal = Double.parseDouble(tem.getValue());
|
||||
@@ -1476,59 +1480,59 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
jsonArray, Map<String, List<ReportTemplateDTO>> assMap, Map<String, String> unit,Map<String,String> finalTerminalMap) {
|
||||
jsonArray.forEach(item -> {
|
||||
JSONObject jsonObject = (JSONObject) item;
|
||||
JSONArray itemArr = (JSONArray) jsonObject.get("celldata");
|
||||
JSONArray itemArr = (JSONArray) jsonObject.get(CELL_DATA);
|
||||
itemArr.forEach((it) -> {
|
||||
if (Objects.nonNull(it) && !"null".equals(it.toString())) {
|
||||
//获取到1列
|
||||
JSONObject data = (JSONObject) it;
|
||||
JSONObject son = (JSONObject) data.get("v");
|
||||
if (son.containsKey("v")) {
|
||||
String v = son.getStr("v");
|
||||
JSONObject son = (JSONObject) data.get(V);
|
||||
if (son.containsKey(V)) {
|
||||
String v = son.getStr(V);
|
||||
//数据格式:$HA[_25]#B#max#classId$ 或 $HA[_25]#max#classId$
|
||||
if (v.charAt(0) == '$' && v.contains("#")) {
|
||||
if (v.charAt(0) == '$' && v.contains(STR_ONE)) {
|
||||
String str = "";
|
||||
List<ReportTemplateDTO> rDto = assMap.get(v.replace("$", ""));
|
||||
List<ReportTemplateDTO> rDto = assMap.get(v.replace(STR_TWO, ""));
|
||||
if (Objects.nonNull(rDto)) {
|
||||
str = rDto.get(0).getValue();
|
||||
//没有值,赋"/"
|
||||
if (StringUtils.isBlank(str)) {
|
||||
str = "/";
|
||||
}
|
||||
son.set("v", str);
|
||||
son.set(V, str);
|
||||
if (Objects.nonNull(rDto.get(0).getOverLimitFlag()) && rDto.get(0).getOverLimitFlag() == 1) {
|
||||
son.set("fc", "#990000");
|
||||
}
|
||||
}
|
||||
} else if (v.charAt(0) == '%' && v.contains("#")) {
|
||||
} else if (v.charAt(0) == '%' && v.contains(STR_ONE)) {
|
||||
//指标合格情况
|
||||
String str = "";
|
||||
List<ReportTemplateDTO> rDto = assMap.get(v.replace("%", ""));
|
||||
List<ReportTemplateDTO> rDto = assMap.get(v.replace(STR_FOUR, ""));
|
||||
if (Objects.nonNull(rDto)) {
|
||||
str = rDto.get(0).getValue();
|
||||
//没有值,赋"/"
|
||||
if (StringUtils.isBlank(str)) {
|
||||
str = "/";
|
||||
}
|
||||
son.set("v", str);
|
||||
son.set(V, str);
|
||||
if ("不合格".equals(str)) {
|
||||
son.set("fc", "#990000");
|
||||
}
|
||||
}
|
||||
} else if (v.charAt(0) == '&') {
|
||||
//结论
|
||||
String tem = v.replace("&", "");
|
||||
String tem = v.replace(STR_THREE, "");
|
||||
if (Objects.nonNull(finalTerminalMap)) {
|
||||
if ("statis_time".equals(tem)) {
|
||||
// son.set("v", reportSearchParam.getStartTime() + InfluxDbSqlConstant.START_TIME + "_" + reportSearchParam.getEndTime() + InfluxDbSqlConstant.END_TIME);
|
||||
// son.set(V, reportSearchParam.getStartTime() + InfluxDbSqlConstant.START_TIME + "_" + reportSearchParam.getEndTime() + InfluxDbSqlConstant.END_TIME);
|
||||
} else {
|
||||
//台账信息
|
||||
son.set("v", finalTerminalMap.getOrDefault(tem, "/"));
|
||||
son.set(V, finalTerminalMap.getOrDefault(tem, "/"));
|
||||
}
|
||||
}
|
||||
} else if (v.charAt(0) == '@' && v.contains("#")) {
|
||||
} else if (v.charAt(0) == '@' && v.contains(STR_ONE)) {
|
||||
//解决数据单位问题 @指标#类型@
|
||||
String replace = v.replace("@", "");
|
||||
son.set("v", unit.getOrDefault(replace, "/"));
|
||||
son.set(V, unit.getOrDefault(replace, "/"));
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1580,23 +1584,23 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
|
||||
jsonArray.forEach(item -> {
|
||||
JSONObject jsonObject = (JSONObject) item;
|
||||
JSONArray itemArr = (JSONArray) jsonObject.get("celldata");
|
||||
JSONArray itemArr = (JSONArray) jsonObject.get(CELL_DATA);
|
||||
itemArr.forEach((it) -> {
|
||||
if (Objects.nonNull(it) && !"null".equals(it.toString())) {
|
||||
//获取到1列
|
||||
JSONObject data = (JSONObject) it;
|
||||
JSONObject son = (JSONObject) data.get("v");
|
||||
if (son.containsKey("v")) {
|
||||
String v = son.getStr("v");
|
||||
JSONObject son = (JSONObject) data.get(V);
|
||||
if (son.containsKey(V)) {
|
||||
String v = son.getStr(V);
|
||||
//数据格式:$HA[_25]#B#max#classId$ 或 $HA[_25]#max#classId$
|
||||
if (v.charAt(0) == '$' && v.contains("#")) {
|
||||
if (v.charAt(0) == '$' && v.contains(STR_ONE)) {
|
||||
//剔除前后$
|
||||
v = v.replace("$", "");
|
||||
v = v.replace(STR_TWO, "");
|
||||
//封装ReportTemplateDTO
|
||||
ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO();
|
||||
reportTemplateDTO.setItemName(v);
|
||||
//根据#分割数据
|
||||
String[] vItem = v.split("#");
|
||||
String[] vItem = v.split(STR_ONE);
|
||||
if (vItem.length == 5) {
|
||||
//$HA[_25]#B#max#classId$
|
||||
reportTemplateDTO.setTemplateName(vItem[0]);
|
||||
@@ -1614,14 +1618,14 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
}
|
||||
|
||||
reportTemplateDTOList.add(reportTemplateDTO);
|
||||
} else if (v.charAt(0) == '%' && v.contains("#")) {
|
||||
} else if (v.charAt(0) == '%' && v.contains(STR_ONE)) {
|
||||
//封装ReportTemplateDTO
|
||||
ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO();
|
||||
|
||||
v = v.replace("%", "");
|
||||
v = v.replace(STR_FOUR, "");
|
||||
reportTemplateDTO.setItemName(v);
|
||||
//根据#分割数据
|
||||
String[] vItem = v.split("#");
|
||||
String[] vItem = v.split(STR_ONE);
|
||||
if (vItem.length == 3) {
|
||||
//$HA[_25]#B#max#classId$
|
||||
reportTemplateDTO.setTemplateName(vItem[0]);
|
||||
@@ -1632,7 +1636,7 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
} else if (v.charAt(0) == '&') {
|
||||
//封装ReportTemplateDTO
|
||||
ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO();
|
||||
v = v.replace("&", "");
|
||||
v = v.replace(STR_THREE, "");
|
||||
reportTemplateDTO.setItemName(v);
|
||||
reportTemplateDTO.setTemplateName(v);
|
||||
terminalList.add(reportTemplateDTO);
|
||||
|
||||
Reference in New Issue
Block a user