diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/ReportSearchParam.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/ReportSearchParam.java
index 240ae20a4..ada22d759 100644
--- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/ReportSearchParam.java
+++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/ReportSearchParam.java
@@ -33,6 +33,7 @@ public class ReportSearchParam {
@ApiModelProperty(name = "deptId",value = "部门ID")
private String deptId;
- private Integer resourceType = 1;
+ //目前用于区分不同系统资源,null默认 1.无线系统,配合cs-device
+ private Integer resourceType;
}
diff --git a/pqs-harmonic/harmonic-boot/pom.xml b/pqs-harmonic/harmonic-boot/pom.xml
index 6ba5b8d00..4352a74c3 100644
--- a/pqs-harmonic/harmonic-boot/pom.xml
+++ b/pqs-harmonic/harmonic-boot/pom.xml
@@ -106,6 +106,12 @@
1.0.0
compile
+
+
+ com.njcn
+ cs-device-api
+ 1.0.0
+
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java
index 83c5cd040..6f069e95c 100644
--- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java
@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.toolkit.SqlRunner;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.utils.FileUtil;
+import com.njcn.csdevice.api.CsCommTerminalFeignClient;
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
import com.njcn.device.pq.api.DeptLineFeignClient;
import com.njcn.device.pq.api.DeviceUnitClient;
@@ -100,6 +101,8 @@ public class CustomReportServiceImpl implements CustomReportService {
private final CommTerminalGeneralClient commTerminalGeneralClient;
+ private final CsCommTerminalFeignClient csCommTerminalFeignClient;
+
@Override
public boolean addCustomReportTemplate(ReportTemplateParam reportTemplateParam) {
checkName(reportTemplateParam, false);
@@ -238,14 +241,7 @@ public class CustomReportServiceImpl implements CustomReportService {
if (Objects.isNull(excelRptTemp)) {
throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_ACTIVE);
}
- try {
- analyzeReport(reportSearchParam, excelRptTemp, response);
- } catch (Exception exception) {
- log.error(exception.getMessage());
- exception.printStackTrace();
- throw new BusinessException(HarmonicResponseEnum.REPORT_DOWNLOAD_ERROR);
- }
-
+ analyzeReport(reportSearchParam, excelRptTemp, response);
}
@@ -306,10 +302,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("%" + one + count + "#" + val.get(0).getFormula() + "#" + val.get(0).getLimitTable() + "%");
} else {
reportTreeItem.setShowName(i + "次" + val.get(0).getShowName());
- reportTreeItem.setName("%"+one + i + "#" + val.get(0).getFormula()+ "#" + val.get(0).getLimitTable()+"%");
+ reportTreeItem.setName("%" + one + i + "#" + val.get(0).getFormula() + "#" + val.get(0).getLimitTable() + "%");
}
reportTreeItem.setFlag(1);
@@ -317,7 +313,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("%" + val.get(0).getLimitName() + "#" + val.get(0).getLimitTable() + "%" + val.get(0).getFormula() + "%");
reportTreeVO.setFlag(1);
}
@@ -424,16 +420,19 @@ public class CustomReportServiceImpl implements CustomReportService {
}
-
-
/**
* 数据单位信息
*
- * @param lineID
+ * @param reportSearchParam
* @return
*/
- private Map unitMap(String lineID) {
- PqsDeviceUnit deviceUnit = commTerminalGeneralClient.lineUnitDetail(lineID).getData();
+ private Map unitMap(ReportSearchParam reportSearchParam) {
+ PqsDeviceUnit deviceUnit;
+ if(Objects.isNull(reportSearchParam.getResourceType())){
+ deviceUnit = commTerminalGeneralClient.lineUnitDetail(reportSearchParam.getLineId()).getData();
+ }else {
+ deviceUnit = csCommTerminalFeignClient.lineUnitDetail(reportSearchParam.getLineId()).getData();
+ }
List dictData = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEVICE_UNIT.getCode()).getData();
Map unit = new HashMap<>();
List list = dictData.stream().map(DictData::getCode).collect(Collectors.toList());
@@ -484,7 +483,6 @@ public class CustomReportServiceImpl implements CustomReportService {
}
-
/**
* @param data 同类型的cell模板
* @param sql 单个cell模板
@@ -495,21 +493,17 @@ public class CustomReportServiceImpl implements CustomReportService {
*/
private void assSqlNew(List data, StringBuilder sql, List endList, String method, ReportSearchParam reportSearchParam, Map limitMap, Map overLimitMap, Map assNoPassMap) {
//sql拼接示例:select MAX(IHA2) as IHA2 from power_quality_data where Phase = 'A' and LineId='1324564568' and Stat_Method='max' tz('Asia/Shanghai')
-
-
- //cp95函数特殊处理 PERCENTILE(field_key, N)
- if (InfluxDbSqlConstant.PERCENTILE.equals(method)) {
-
+ if (InfluxDbSqlConstant.CP95.equals(method)) {
for (int i = 0; i < data.size(); i++) {
if (i == data.size() - 1) {
- sql.append("MAX")
+ sql.append(InfluxDbSqlConstant.MAX)
.append(InfluxDbSqlConstant.LBK)
.append(data.get(i).getTemplateName())
.append(InfluxDbSqlConstant.RBK)
.append(InfluxDbSqlConstant.AS).append(InfluxDbSqlConstant.DQM)
.append(data.get(i).getItemName()).append(InfluxDbSqlConstant.DQM);
} else {
- sql.append("MAX")
+ sql.append(InfluxDbSqlConstant.MAX)
.append(InfluxDbSqlConstant.LBK)
.append(data.get(i).getTemplateName())
.append(InfluxDbSqlConstant.RBK)
@@ -517,9 +511,7 @@ public class CustomReportServiceImpl implements CustomReportService {
.append(data.get(i).getItemName()).append(InfluxDbSqlConstant.DQM).append(StrUtil.COMMA);
}
}
-
} else {
-
for (int i = 0; i < data.size(); i++) {
if (i == data.size() - 1) {
sql.append(method)
@@ -540,6 +532,7 @@ public class CustomReportServiceImpl implements CustomReportService {
}
+ //拼接表名
sql.append(StrPool.C_SPACE)
.append(InfluxDbSqlConstant.FROM)
.append(data.get(0).getResourceId());
@@ -561,16 +554,12 @@ public class CustomReportServiceImpl implements CustomReportService {
.append(InfluxDbSqlConstant.QM);
}
-
- //data_flicker、data_fluc、data_plt 无 value_type
- //if (!"r_stat_data_flicker_d".equals(data.get(0).getResourceId()) && !"r_stat_data_fluc_d".equals(data.get(0).getResourceId()) && !"r_stat_data_plt_d".equals(data.get(0).getResourceId())) {
- sql.append(InfluxDbSqlConstant.AND)
- .append(InfluxDBTableConstant.VALUE_TYPE)
- .append(InfluxDbSqlConstant.EQ)
- .append(InfluxDbSqlConstant.QM)
- .append(data.get(0).getStatMethod())
- .append(InfluxDbSqlConstant.QM);
- //}
+ sql.append(InfluxDbSqlConstant.AND)
+ .append(InfluxDBTableConstant.VALUE_TYPE)
+ .append(InfluxDbSqlConstant.EQ)
+ .append(InfluxDbSqlConstant.QM)
+ .append(data.get(0).getStatMethod())
+ .append(InfluxDbSqlConstant.QM);
//频率和频率偏差仅统计T相
@@ -591,16 +580,14 @@ public class CustomReportServiceImpl implements CustomReportService {
System.out.println(sql);
long l = System.currentTimeMillis();
- List