达梦兼容调整

This commit is contained in:
2025-04-17 15:15:07 +08:00
parent a4b1211038
commit 8306361df0
2 changed files with 76 additions and 72 deletions

View File

@@ -4,7 +4,7 @@
<select id="getLineIntegrityRate" resultType="LineDataIntegrity"> <select id="getLineIntegrityRate" resultType="LineDataIntegrity">
select line_index lineId, select line_index lineId,
avg(real_time/due_time)*100 integrityData, avg(real_time*1.0/due_time)*100 integrityData,
sum(real_time) mysqlReal, sum(real_time) mysqlReal,
sum(due_time) due sum(due_time) due
from r_stat_integrity_d from r_stat_integrity_d
@@ -44,7 +44,7 @@
<select id="getOnIntegrityByIdsAndTime" resultType="com.njcn.device.pq.pojo.vo.RStatIntegrityVO"> <select id="getOnIntegrityByIdsAndTime" resultType="com.njcn.device.pq.pojo.vo.RStatIntegrityVO">
SELECT SELECT
line_index AS lineIndex, line_index AS lineIndex,
sum( real_time )/ sum( due_time )* 100 AS integrityRate sum( real_time*1.0 )/ sum( due_time )* 100 AS integrityRate
FROM FROM
r_stat_integrity_d r_stat_integrity_d
<where> <where>
@@ -65,7 +65,7 @@
</select> </select>
<select id="selectTotalIntegrityByLineIds" resultType="java.lang.Float"> <select id="selectTotalIntegrityByLineIds" resultType="java.lang.Float">
select select
if(sum(real_time)/sum(due_time)*100>100, if(sum(real_time*1.0)/sum(due_time)*100>100,
100, 100,
IFNULL(ROUND( sum(real_time)/sum(due_time)*100,2),0)) IFNULL(ROUND( sum(real_time)/sum(due_time)*100,2),0))
as integrityRate as integrityRate

View File

@@ -119,6 +119,12 @@ public class CustomReportServiceImpl implements CustomReportService {
private final ExecutorService executorService = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() + 1); 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 @Override
public void getCustomReport(ReportSearchParam reportSearchParam, HttpServletResponse response) { public void getCustomReport(ReportSearchParam reportSearchParam, HttpServletResponse response) {
@@ -329,10 +335,10 @@ public class CustomReportServiceImpl implements CustomReportService {
if (val.get(0).getHarmStart() == 1) { if (val.get(0).getHarmStart() == 1) {
count = i + 0.5; count = i + 0.5;
reportTreeItem.setShowName(count + "" + val.get(0).getShowName()); 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 { } else {
reportTreeItem.setShowName(i + "" + val.get(0).getShowName()); 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); reportTreeItem.setFlag(1);
@@ -340,7 +346,7 @@ public class CustomReportServiceImpl implements CustomReportService {
} }
reportTreeVO.setChildren(temList); reportTreeVO.setChildren(temList);
} else { } 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); reportTreeVO.setFlag(1);
} }
@@ -359,7 +365,7 @@ public class CustomReportServiceImpl implements CustomReportService {
list.forEach(item -> { list.forEach(item -> {
ReportTreeVO reportTreeVO = new ReportTreeVO(); ReportTreeVO reportTreeVO = new ReportTreeVO();
reportTreeVO.setId(item.getId()); reportTreeVO.setId(item.getId());
reportTreeVO.setName("&" + item.getName() + "&"); reportTreeVO.setName(STR_THREE + item.getName() + STR_THREE);
reportTreeVO.setFlag(1); reportTreeVO.setFlag(1);
reportTreeVO.setShowName(item.getShowName()); reportTreeVO.setShowName(item.getShowName());
result.add(reportTreeVO); result.add(reportTreeVO);
@@ -402,14 +408,14 @@ public class CustomReportServiceImpl implements CustomReportService {
ReportTreeVO reportTreeStat = new ReportTreeVO(); ReportTreeVO reportTreeStat = new ReportTreeVO();
String tem = ""; String tem = "";
if (Objects.nonNull(item.getLimitName())) { if (Objects.nonNull(item.getLimitName())) {
tem = "#" + item.getLimitName(); tem = STR_ONE + item.getLimitName();
} else { } else {
tem = "#NO"; tem = "#NO";
} }
if (StrUtil.isNotBlank(twoKey)) { 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 { } 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); reportTreeStat.setShowName(statItem);
@@ -490,11 +496,11 @@ public class CustomReportServiceImpl implements CustomReportService {
} }
//三项不平衡度 //三项不平衡度
if (s.equals(DicDataEnum.UNBALANCE.getCode())) { 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 + "#vPos", deviceUnit.getPositiveV());
unit.put(s + "#vNeg", deviceUnit.getNoPositiveV()); unit.put(s + "#vNeg", deviceUnit.getNoPositiveV());
unit.put(s + "#vZero", 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 + "#iPos", "A");
unit.put(s + "#iNeg", "A"); unit.put(s + "#iNeg", "A");
unit.put(s + "#iZero", "A"); unit.put(s + "#iZero", "A");
@@ -640,7 +646,7 @@ public class CustomReportServiceImpl implements CustomReportService {
//判断是否越限 //判断是否越限
if (limitMap.size() != 0) { 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)) { if (limitMap.containsKey(key)) {
ReportTemplateDTO tem = limitMap.get(key); ReportTemplateDTO tem = limitMap.get(key);
double limitVal = Double.parseDouble(tem.getValue()); double limitVal = Double.parseDouble(tem.getValue());
@@ -781,7 +787,7 @@ public class CustomReportServiceImpl implements CustomReportService {
//判断是否越限 //判断是否越限
if (!limitMap.isEmpty()) { 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)) { if (limitMap.containsKey(key)) {
ReportTemplateDTO tem = limitMap.get(key); ReportTemplateDTO tem = limitMap.get(key);
double limitVal = Double.parseDouble(tem.getValue()); double limitVal = Double.parseDouble(tem.getValue());
@@ -891,8 +897,6 @@ public class CustomReportServiceImpl implements CustomReportService {
//处理指标最终判定合格还是不合格 //处理指标最终判定合格还是不合格
dealTargetResult(assNoPassMap, limitTargetMapX, endList); dealTargetResult(assNoPassMap, limitTargetMapX, endList);
} }
if (CollUtil.isNotEmpty(endList)) { if (CollUtil.isNotEmpty(endList)) {
//数据单位信息 //数据单位信息
Map<String, String> unit = unitMap(reportSearchParam); Map<String, String> unit = unitMap(reportSearchParam);
@@ -910,47 +914,47 @@ public class CustomReportServiceImpl implements CustomReportService {
//2、把itemName的value赋给v和m //2、把itemName的value赋给v和m
jsonArray.forEach(item -> { jsonArray.forEach(item -> {
JSONObject jsonObject = (JSONObject) item; JSONObject jsonObject = (JSONObject) item;
JSONArray itemArr = (JSONArray) jsonObject.get("celldata"); JSONArray itemArr = (JSONArray) jsonObject.get(CELL_DATA);
itemArr.forEach((it) -> { itemArr.forEach((it) -> {
if (Objects.nonNull(it) && !"null".equals(it.toString())) { if (Objects.nonNull(it) && !"null".equals(it.toString())) {
//获取到1列 //获取到1列
JSONObject data = (JSONObject) it; JSONObject data = (JSONObject) it;
JSONObject son = (JSONObject) data.get("v"); JSONObject son = (JSONObject) data.get(V);
if (son.containsKey("v")) { if (son.containsKey(V)) {
String v = son.getStr("v"); String v = son.getStr(V);
//数据格式:$HA[_25]#B#max#classId$ 或 $HA[_25]#max#classId$ //数据格式:$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 = ""; String str = "";
List<ReportTemplateDTO> rDto = assMap.get(v.replace("$", "").toUpperCase()); List<ReportTemplateDTO> rDto = assMap.get(v.replace(STR_TWO, "").toUpperCase());
if (Objects.nonNull(rDto)) { if (Objects.nonNull(rDto)) {
str = rDto.get(0).getValue(); str = rDto.get(0).getValue();
//没有值,赋"/" //没有值,赋"/"
if (StringUtils.isBlank(str)) { if (StringUtils.isBlank(str)) {
str = "/"; str = "/";
} }
son.set("v", str); son.set(V, str);
if (Objects.nonNull(rDto.get(0).getOverLimitFlag()) && rDto.get(0).getOverLimitFlag() == 1) { if (Objects.nonNull(rDto.get(0).getOverLimitFlag()) && rDto.get(0).getOverLimitFlag() == 1) {
son.set("fc", "#990000"); son.set("fc", "#990000");
} }
} }
} else if (v.charAt(0) == '%' && v.contains("#")) { } else if (v.charAt(0) == '%' && v.contains(STR_ONE)) {
//指标合格情况 //指标合格情况
String str = ""; String str = "";
List<ReportTemplateDTO> rDto = assMap.get(v.replace("%", "").toUpperCase()); List<ReportTemplateDTO> rDto = assMap.get(v.replace(STR_FOUR, "").toUpperCase());
if (Objects.nonNull(rDto)) { if (Objects.nonNull(rDto)) {
str = rDto.get(0).getValue(); str = rDto.get(0).getValue();
//没有值,赋"/" //没有值,赋"/"
if (StringUtils.isBlank(str)) { if (StringUtils.isBlank(str)) {
str = "/"; str = "/";
} }
son.set("v", str); son.set(V, str);
if ("不合格".equals(str)) { if ("不合格".equals(str)) {
son.set("fc", "#990000"); son.set("fc", "#990000");
} }
} }
} else if (v.charAt(0) == '&') { } else if (v.charAt(0) == '&') {
//结论 //结论
String tem = v.replace("&", "").toUpperCase(); String tem = v.replace(STR_THREE, "").toUpperCase();
if (Objects.nonNull(finalTerminalMap)) { if (Objects.nonNull(finalTerminalMap)) {
if ("STATIS_TIME".equals(tem)) { 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 localDate = LocalDateTimeUtil.parseDate(reportSearchParam.getEndTime(), DatePattern.NORM_DATE_PATTERN);
LocalDate nowDate = LocalDate.now(); LocalDate nowDate = LocalDate.now();
if (nowDate.isAfter(localDate)) { 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 { } else {
localTime = " " + LocalTime.now().format(DatePattern.NORM_TIME_FORMATTER); 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 { } 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("@", ""); 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 -> { jsonArray.forEach(item -> {
JSONObject jsonObject = (JSONObject) item; JSONObject jsonObject = (JSONObject) item;
JSONArray itemArr = (JSONArray) jsonObject.get("celldata"); JSONArray itemArr = (JSONArray) jsonObject.get(CELL_DATA);
itemArr.forEach((it) -> { itemArr.forEach((it) -> {
if (Objects.nonNull(it) && !"null".equals(it.toString())) { if (Objects.nonNull(it) && !"null".equals(it.toString())) {
//获取到1列 //获取到1列
JSONObject data = (JSONObject) it; JSONObject data = (JSONObject) it;
JSONObject son = (JSONObject) data.get("v"); JSONObject son = (JSONObject) data.get(V);
if (son.containsKey("v")) { if (son.containsKey(V)) {
String v = son.getStr("v"); String v = son.getStr(V);
//数据格式:$HA[_25]#B#max#classId$ 或 $HA[_25]#max#classId$ //数据格式:$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 reportTemplateDTO = new ReportTemplateDTO(); ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO();
reportTemplateDTO.setItemName(v.toUpperCase()); reportTemplateDTO.setItemName(v.toUpperCase());
//根据#分割数据 //根据#分割数据
String[] vItem = v.split("#"); String[] vItem = v.split(STR_ONE);
if (vItem.length == 5) { if (vItem.length == 5) {
//$HA[_25]#B#max#classId$ //$HA[_25]#B#max#classId$
reportTemplateDTO.setTemplateName(vItem[0].toUpperCase()); reportTemplateDTO.setTemplateName(vItem[0].toUpperCase());
@@ -1029,13 +1033,13 @@ public class CustomReportServiceImpl implements CustomReportService {
} }
reportTemplateDTOList.add(reportTemplateDTO); reportTemplateDTOList.add(reportTemplateDTO);
} else if (v.charAt(0) == '%' && v.contains("#")) { } else if (v.charAt(0) == '%' && v.contains(STR_ONE)) {
//封装ReportTemplateDTO //封装ReportTemplateDTO
ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO(); ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO();
v = v.replace("%", ""); v = v.replace(STR_FOUR, "");
reportTemplateDTO.setItemName(v.toUpperCase()); reportTemplateDTO.setItemName(v.toUpperCase());
//根据#分割数据 //根据#分割数据
String[] vItem = v.split("#"); String[] vItem = v.split(STR_ONE);
if (vItem.length == 3) { if (vItem.length == 3) {
//$HA[_25]#B#max#classId$ //$HA[_25]#B#max#classId$
reportTemplateDTO.setTemplateName(vItem[0].toUpperCase()); reportTemplateDTO.setTemplateName(vItem[0].toUpperCase());
@@ -1046,7 +1050,7 @@ public class CustomReportServiceImpl implements CustomReportService {
} else if (v.charAt(0) == '&') { } else if (v.charAt(0) == '&') {
//封装ReportTemplateDTO //封装ReportTemplateDTO
ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO(); ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO();
v = v.replace("&", ""); v = v.replace(STR_THREE, "");
reportTemplateDTO.setItemName(v.toUpperCase()); reportTemplateDTO.setItemName(v.toUpperCase());
reportTemplateDTO.setTemplateName(v.toUpperCase()); reportTemplateDTO.setTemplateName(v.toUpperCase());
terminalList.add(reportTemplateDTO); terminalList.add(reportTemplateDTO);
@@ -1334,7 +1338,7 @@ public class CustomReportServiceImpl implements CustomReportService {
if (Objects.nonNull(entry.getValue()) && !entry.getKey().equals("time")) { if (Objects.nonNull(entry.getValue()) && !entry.getKey().equals("time")) {
String key = entry.getKey(); String key = entry.getKey();
double val = (double) entry.getValue(); 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("_"); String[] temStrArr = zi.split("_");
boolean flag = isInteger(temStrArr[temStrArr.length-1]); boolean flag = isInteger(temStrArr[temStrArr.length-1]);
if(flag){ 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)) { if (limitMap.containsKey(key)) {
ReportTemplateDTO tem = limitMap.get(key); ReportTemplateDTO tem = limitMap.get(key);
double limitVal = Double.parseDouble(tem.getValue()); 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, Map<String, List<ReportTemplateDTO>> assMap, Map<String, String> unit,Map<String,String> finalTerminalMap) {
jsonArray.forEach(item -> { jsonArray.forEach(item -> {
JSONObject jsonObject = (JSONObject) item; JSONObject jsonObject = (JSONObject) item;
JSONArray itemArr = (JSONArray) jsonObject.get("celldata"); JSONArray itemArr = (JSONArray) jsonObject.get(CELL_DATA);
itemArr.forEach((it) -> { itemArr.forEach((it) -> {
if (Objects.nonNull(it) && !"null".equals(it.toString())) { if (Objects.nonNull(it) && !"null".equals(it.toString())) {
//获取到1列 //获取到1列
JSONObject data = (JSONObject) it; JSONObject data = (JSONObject) it;
JSONObject son = (JSONObject) data.get("v"); JSONObject son = (JSONObject) data.get(V);
if (son.containsKey("v")) { if (son.containsKey(V)) {
String v = son.getStr("v"); String v = son.getStr(V);
//数据格式:$HA[_25]#B#max#classId$ 或 $HA[_25]#max#classId$ //数据格式:$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 = ""; String str = "";
List<ReportTemplateDTO> rDto = assMap.get(v.replace("$", "")); List<ReportTemplateDTO> rDto = assMap.get(v.replace(STR_TWO, ""));
if (Objects.nonNull(rDto)) { if (Objects.nonNull(rDto)) {
str = rDto.get(0).getValue(); str = rDto.get(0).getValue();
//没有值,赋"/" //没有值,赋"/"
if (StringUtils.isBlank(str)) { if (StringUtils.isBlank(str)) {
str = "/"; str = "/";
} }
son.set("v", str); son.set(V, str);
if (Objects.nonNull(rDto.get(0).getOverLimitFlag()) && rDto.get(0).getOverLimitFlag() == 1) { if (Objects.nonNull(rDto.get(0).getOverLimitFlag()) && rDto.get(0).getOverLimitFlag() == 1) {
son.set("fc", "#990000"); son.set("fc", "#990000");
} }
} }
} else if (v.charAt(0) == '%' && v.contains("#")) { } else if (v.charAt(0) == '%' && v.contains(STR_ONE)) {
//指标合格情况 //指标合格情况
String str = ""; String str = "";
List<ReportTemplateDTO> rDto = assMap.get(v.replace("%", "")); List<ReportTemplateDTO> rDto = assMap.get(v.replace(STR_FOUR, ""));
if (Objects.nonNull(rDto)) { if (Objects.nonNull(rDto)) {
str = rDto.get(0).getValue(); str = rDto.get(0).getValue();
//没有值,赋"/" //没有值,赋"/"
if (StringUtils.isBlank(str)) { if (StringUtils.isBlank(str)) {
str = "/"; str = "/";
} }
son.set("v", str); son.set(V, str);
if ("不合格".equals(str)) { if ("不合格".equals(str)) {
son.set("fc", "#990000"); son.set("fc", "#990000");
} }
} }
} else if (v.charAt(0) == '&') { } else if (v.charAt(0) == '&') {
//结论 //结论
String tem = v.replace("&", ""); String tem = v.replace(STR_THREE, "");
if (Objects.nonNull(finalTerminalMap)) { if (Objects.nonNull(finalTerminalMap)) {
if ("statis_time".equals(tem)) { 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 { } 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("@", ""); 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 -> { jsonArray.forEach(item -> {
JSONObject jsonObject = (JSONObject) item; JSONObject jsonObject = (JSONObject) item;
JSONArray itemArr = (JSONArray) jsonObject.get("celldata"); JSONArray itemArr = (JSONArray) jsonObject.get(CELL_DATA);
itemArr.forEach((it) -> { itemArr.forEach((it) -> {
if (Objects.nonNull(it) && !"null".equals(it.toString())) { if (Objects.nonNull(it) && !"null".equals(it.toString())) {
//获取到1列 //获取到1列
JSONObject data = (JSONObject) it; JSONObject data = (JSONObject) it;
JSONObject son = (JSONObject) data.get("v"); JSONObject son = (JSONObject) data.get(V);
if (son.containsKey("v")) { if (son.containsKey(V)) {
String v = son.getStr("v"); String v = son.getStr(V);
//数据格式:$HA[_25]#B#max#classId$ 或 $HA[_25]#max#classId$ //数据格式:$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 reportTemplateDTO = new ReportTemplateDTO(); ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO();
reportTemplateDTO.setItemName(v); reportTemplateDTO.setItemName(v);
//根据#分割数据 //根据#分割数据
String[] vItem = v.split("#"); String[] vItem = v.split(STR_ONE);
if (vItem.length == 5) { if (vItem.length == 5) {
//$HA[_25]#B#max#classId$ //$HA[_25]#B#max#classId$
reportTemplateDTO.setTemplateName(vItem[0]); reportTemplateDTO.setTemplateName(vItem[0]);
@@ -1614,14 +1618,14 @@ public class CustomReportServiceImpl implements CustomReportService {
} }
reportTemplateDTOList.add(reportTemplateDTO); reportTemplateDTOList.add(reportTemplateDTO);
} else if (v.charAt(0) == '%' && v.contains("#")) { } else if (v.charAt(0) == '%' && v.contains(STR_ONE)) {
//封装ReportTemplateDTO //封装ReportTemplateDTO
ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO(); ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO();
v = v.replace("%", ""); v = v.replace(STR_FOUR, "");
reportTemplateDTO.setItemName(v); reportTemplateDTO.setItemName(v);
//根据#分割数据 //根据#分割数据
String[] vItem = v.split("#"); String[] vItem = v.split(STR_ONE);
if (vItem.length == 3) { if (vItem.length == 3) {
//$HA[_25]#B#max#classId$ //$HA[_25]#B#max#classId$
reportTemplateDTO.setTemplateName(vItem[0]); reportTemplateDTO.setTemplateName(vItem[0]);
@@ -1632,7 +1636,7 @@ public class CustomReportServiceImpl implements CustomReportService {
} else if (v.charAt(0) == '&') { } else if (v.charAt(0) == '&') {
//封装ReportTemplateDTO //封装ReportTemplateDTO
ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO(); ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO();
v = v.replace("&", ""); v = v.replace(STR_THREE, "");
reportTemplateDTO.setItemName(v); reportTemplateDTO.setItemName(v);
reportTemplateDTO.setTemplateName(v); reportTemplateDTO.setTemplateName(v);
terminalList.add(reportTemplateDTO); terminalList.add(reportTemplateDTO);