diff --git a/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java b/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java
index 34b734dde..6762ae20c 100644
--- a/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java
+++ b/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java
@@ -136,4 +136,9 @@ public interface OssPath {
*/
String ONLINE_REPORT="onlineReport/";
+ /**
+ * 系统上传文件至装置内,文件存储路径
+ */
+ String SYSTEM_TO_DEV="systemToDev/";
+
}
diff --git a/pqs-common/common-poi/src/main/java/com/njcn/poi/excel/ExcelUtil.java b/pqs-common/common-poi/src/main/java/com/njcn/poi/excel/ExcelUtil.java
index 7c91a82dd..e39475a70 100644
--- a/pqs-common/common-poi/src/main/java/com/njcn/poi/excel/ExcelUtil.java
+++ b/pqs-common/common-poi/src/main/java/com/njcn/poi/excel/ExcelUtil.java
@@ -4,6 +4,7 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.export.ExcelExportService;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.CharsetUtil;
import com.njcn.web.utils.HttpServletUtil;
import lombok.extern.slf4j.Slf4j;
@@ -11,9 +12,8 @@ import org.apache.poi.hssf.usermodel.DVConstraint;
import org.apache.poi.hssf.usermodel.HSSFDataValidation;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddressList;
-import org.apache.poi.xssf.usermodel.XSSFDataValidation;
-import org.apache.poi.xssf.usermodel.XSSFDataValidationConstraint;
-import org.apache.poi.xssf.usermodel.XSSFRichTextString;
+import org.apache.poi.ss.util.CellReference;
+import org.apache.poi.xssf.usermodel.*;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
@@ -21,10 +21,9 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
-import java.util.Collection;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
/**
* @author hongawen
@@ -80,7 +79,7 @@ public class ExcelUtil {
*
* @param fileName 文件名
*/
- public static void exportExcelByWorkbook(String fileName, Workbook workbook) {
+ public static void exportExcelByWorkbook(String fileName, Workbook workbook) {
HttpServletResponse response = HttpServletUtil.getResponse();
try (ServletOutputStream outputStream = response.getOutputStream()) {
fileName = URLEncoder.encode(fileName, CharsetUtil.UTF_8);
@@ -116,9 +115,18 @@ public class ExcelUtil {
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
response.setContentType("application/octet-stream;charset=UTF-8");
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, dataSet);
+ setTopLevel(workbook, pullDowns);
if (CollUtil.isNotEmpty(pullDowns)) {
+ int num = 1;
for (PullDown pullDown : pullDowns) {
- ExcelUtil.selectList(workbook, pullDown.getFirstCol(), pullDown.getLastCol(), pullDown.getStrings().toArray(new String[]{}));
+ String colName = numberToExcelColumn(num);
+ int sum = pullDown.getStrings().stream().mapToInt(String::length).sum();
+ if(sum>255){
+ ExcelUtil.selectListMaxLength(workbook, pullDown.getFirstCol(), pullDown.getLastCol(),pullDown.getStrings().size(),colName);
+ num++;
+ }else{
+ ExcelUtil.selectList(workbook, pullDown.getFirstCol(), pullDown.getLastCol(), pullDown.getStrings().toArray(new String[]{}));
+ }
}
}
Sheet sheetAt = workbook.getSheetAt(0);
@@ -128,7 +136,7 @@ public class ExcelUtil {
for (int i = 0; i < 2; i++) {
//获取行
Row row = sheetAt.getRow(i);
- if(Objects.isNull(row)){
+ if (Objects.isNull(row)) {
continue;
}
for (int j = 0; j < physicalNumberOfCells; j++) {
@@ -173,6 +181,8 @@ public class ExcelUtil {
}
}
}
+
+
workbook.write(outputStream);
} catch (IOException e) {
log.error(">>> 导出数据异常:{}", e.getMessage());
@@ -238,7 +248,27 @@ public class ExcelUtil {
// 对sheet页生效
sheet.addValidationData(validation);
}
-
+ /**
+ * @Description: 当下拉框超过最大字符255,设置隐藏表单来进行展示
+ * @param workbook
+ * @param firstCol
+ * @param lastCol
+ * @param colName 列A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
+ * @Author: wr
+ * @Date: 2024/8/13 15:07
+ */
+ public static void selectListMaxLength(Workbook workbook,int firstCol, int lastCol,int row ,String colName) {
+ Sheet sheet = workbook.getSheetAt(0);
+ // 生成下拉列表
+ // 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
+ CellRangeAddressList regions = new CellRangeAddressList(2, 65535, firstCol, lastCol);
+ String strFormula = workbook.getSheetName(1) + "!$" + colName + "$1:$" + colName + "$" + row;
+ XSSFDataValidationConstraint hiddentConstraint = new XSSFDataValidationConstraint(DataValidationConstraint.ValidationType.LIST, strFormula);
+ // 数据有效性对象
+ DataValidationHelper help = new XSSFDataValidationHelper((XSSFSheet) sheet);
+ DataValidation validation = help.createValidation(hiddentConstraint, regions);
+ sheet.addValidationData(validation);
+ }
/**
* 指定名称、数据下载报表(带指定标题将*显示比必填信息),带有下拉信息
@@ -265,7 +295,7 @@ public class ExcelUtil {
for (int i = 0; i < 2; i++) {
//获取行
Row row = sheetAt.getRow(i);
- if(Objects.isNull(row)){
+ if (Objects.isNull(row)) {
continue;
}
for (int j = 0; j < physicalNumberOfCells; j++) {
@@ -340,5 +370,60 @@ public class ExcelUtil {
sheet.addValidationData(validation);
}
+ /**
+ * 设置隐藏表单来进行下拉框
+ * @param workbook
+ * @param pullDowns
+ */
+ private static void setTopLevel(Workbook workbook, List pullDowns) {
+ int num = 0;
+ for (PullDown pullDown : pullDowns) {
+ int sum = pullDown.getStrings().stream().mapToInt(String::length).sum();
+ if (sum > 255) {
+ // 创建隐藏sheet
+ String hiddenSheetName = "hiddenSheetA";
+ if (num == 0) {
+ workbook.createSheet(hiddenSheetName);
+ }
+ //false展示隐藏sheet ,true不展示隐藏sheet
+ workbook.setSheetHidden(workbook.getSheetIndex(workbook.getSheet(hiddenSheetName)), true);
+ Sheet sheet = workbook.getSheet(hiddenSheetName);
+ if(num == 0){
+ //sheet.getLastRowNum无法区分 有一行和没有 所以这里先建一行
+ sheet.createRow(0);
+ }
+ Row row; //创建数据行
+ sheet.setColumnWidth(num, 4000); //设置每列的列宽
+ for (int j = 0; j < pullDown.getStrings().size(); j++) {
+ if (sheet.getLastRowNum() < j) {
+ row = sheet.createRow(j); //创建数据行
+ } else {
+ row = sheet.getRow(j);
+ }
+ //设置对应单元格的值
+ row.createCell(num).setCellValue(pullDown.getStrings().get(j));
+ }
+ num++;
+ }
+ }
+ }
+
+ /**
+ * 获取根据数值获取列字母(1=A,2=B,3=C,.......,27=AA)
+ *
+ * @param n
+ * @return
+ */
+ public static String numberToExcelColumn(int n) {
+ CellReference cellRef = new CellReference(0, n - 1, false, false); // Row and column are 0-based
+ int colIndex = cellRef.getCol();
+ StringBuilder columnName = new StringBuilder();
+ while (colIndex >= 0) {
+ columnName.insert(0, (char) ('A' + (colIndex % 26)));
+ colIndex /= 26;
+ colIndex--;
+ }
+ return columnName.toString();
+ }
}
diff --git a/pqs-common/common-web/src/main/java/com/njcn/web/enums/GWSendEnum.java b/pqs-common/common-web/src/main/java/com/njcn/web/enums/GWSendEnum.java
index 8fbe08e18..76b40aec2 100644
--- a/pqs-common/common-web/src/main/java/com/njcn/web/enums/GWSendEnum.java
+++ b/pqs-common/common-web/src/main/java/com/njcn/web/enums/GWSendEnum.java
@@ -42,6 +42,8 @@ public enum GWSendEnum {
WORK_ORDER_FEEDBACK("workOrderFeedBack", "/pms-ghq-powerquality-start/powerQuality/workOrder/receiveFeedbackInfo"),
PARK_AND_STATION("parkAndStation", "/pms-ghq-powerquality-start/powerQuality/park/create"),
+
+ REPORT_CREATE("reportCreate", "/pms-ghq-powerquality-start/powerQuality/report/create"),
;
diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/RunMonitorStatisticalDTO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/RunMonitorStatisticalDTO.java
new file mode 100644
index 000000000..8bae881f8
--- /dev/null
+++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/RunMonitorStatisticalDTO.java
@@ -0,0 +1,58 @@
+package com.njcn.device.pms.pojo.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class RunMonitorStatisticalDTO {
+
+ private String objId;
+ private String provinceOrg;
+ private String provinceOrgName;
+ private String cityOrg;
+ private String cityOrgName;
+ private String maintOrg;
+ private String maintOrgName;
+ private String monitorName;
+ private String monitorVoltageLevel;
+ private String monitorId;
+ private String monitorStatus;
+ private Date monitorOperateDate;
+ private Date monitorStopDate;
+ private String substationId;
+ private String substationName;
+ private String busId;
+ private String busName;
+ private String outLineIntervalId;
+ private String outLineIntervalName;
+ private String monitorObjTypeBig;
+ private String monitorObjTypeSmall;
+ private String monitorTag;
+ private String monitorObjName;
+ private String monitorObjId;
+ private String isLine;
+ private BigDecimal minShortCapacity;
+ private BigDecimal supplyEquipCapacity;
+ private BigDecimal userProtocolCapacity;
+ private String terminalCode;
+ private String terminalManufacturer;
+ private String terminalModel;
+ private String terminalManufactureNum;
+ private String terminalConnect;
+ private String neutralGround;
+ private String evtType;
+ private String statisticalType;
+ private String statisticalDate;
+ private String isMonitorOnline;
+ private String isTerminalOnline;
+ private Integer onlineMonitorNum;
+ private Integer runMonitorNum;
+ private BigDecimal onlineMonitorRate;
+ private Long expectCollectNum;
+ private Long actualCollectNum;
+ private BigDecimal dataFullRate;
+
+
+}
diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/CommTerminalController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/CommTerminalController.java
index 0794ea848..c2d511ca5 100644
--- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/CommTerminalController.java
+++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/CommTerminalController.java
@@ -269,6 +269,9 @@ public class CommTerminalController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, map, methodDescribe);
}
+ /**
+ * 获取实际,投运,谐波系统 的监测点
+ */
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/getRunMonitorIds")
@ApiOperation("获取投运谐波系统所有监测点")
@@ -279,20 +282,6 @@ public class CommTerminalController extends BaseController {
}
- /**
- * 获取实际,投运,谐波系统 的监测点
- * @author cdf
- * @date 2023/9/18
- */
- @OperateInfo(info = LogEnum.BUSINESS_COMMON)
- @GetMapping("/getRunMonitorList")
- @ApiOperation("获取实际,投运,谐波系统 的监测点")
- public HttpResult> getRunMonitorList() {
- String methodDescribe = getMethodDescribe("getRunMonitorList");
- List result = commTerminalService.getOneMonitorIds();
- return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
- }
-
/**
* 根据监测点集合获取监测点详情
* @author cdf
diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/PmsParkServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/PmsParkServiceImpl.java
index 32bc2bb7f..485984af2 100644
--- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/PmsParkServiceImpl.java
+++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/ledgerManger/impl/PmsParkServiceImpl.java
@@ -85,7 +85,7 @@ public class PmsParkServiceImpl extends ServiceImpl im
public Page pageList(PmsParkParam.PmsParkQuery parkQuery) {
List deptCodes = deptFeignClient.getDepSonSelfCodetByDeptId(parkQuery.getMaintOrg()).getData();
LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
- lambdaQueryWrapper.in(PmsParkPO::getMaintOrg, deptCodes);
+ lambdaQueryWrapper.in(PmsParkPO::getMaintOrg, deptCodes).orderByDesc(PmsParkPO::getCreateTime,PmsParkPO::getCityOrgName);
return this.page(new Page<>(PageFactory.getPageNum(parkQuery), PageFactory.getPageSize(parkQuery)), lambdaQueryWrapper);
}
@@ -140,7 +140,7 @@ public class PmsParkServiceImpl extends ServiceImpl im
List ids = deptFeignClient.getDepSonSelfCodetByCode(param.getCityOrg()).getData();
LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
- lambdaQueryWrapper.select(PmsMidLedger::getName,PmsMidLedger::getOperationName,PmsMidLedger::getId).in(PmsMidLedger::getOperationId,ids).eq(PmsMidLedger::getLevel,0);
+ lambdaQueryWrapper.select(PmsMidLedger::getName,PmsMidLedger::getOperationName,PmsMidLedger::getId).in(PmsMidLedger::getSectionId,ids).eq(PmsMidLedger::getLevel,0);
List pmsMidLedgerList = pmsMidLedgerMapper.selectList(lambdaQueryWrapper);
return pmsMidLedgerList;
}
diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/NodeClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/NodeClient.java
new file mode 100644
index 000000000..052b99035
--- /dev/null
+++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/NodeClient.java
@@ -0,0 +1,26 @@
+package com.njcn.device.pq.api;
+
+import com.njcn.common.pojo.constant.ServerInfo;
+import com.njcn.common.pojo.response.HttpResult;
+import com.njcn.device.pq.api.fallback.PqsTerminalLogsClientFallbackFactory;
+import com.njcn.device.pq.pojo.po.Node;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author: wr
+ * @Date: 2024/8/13 10:14
+ */
+@FeignClient(value = ServerInfo.DEVICE, path = "/node", fallbackFactory = PqsTerminalLogsClientFallbackFactory.class, contextId = "node")
+public interface NodeClient {
+
+
+ @ApiOperation("获取全部前置机")
+ @GetMapping("/nodeAllList")
+ HttpResult> nodeAllList();
+
+}
diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/NodeClientFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/NodeClientFallbackFactory.java
new file mode 100644
index 000000000..a8ec10467
--- /dev/null
+++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/NodeClientFallbackFactory.java
@@ -0,0 +1,46 @@
+package com.njcn.device.pq.api.fallback;
+
+import com.njcn.common.pojo.enums.response.CommonResponseEnum;
+import com.njcn.common.pojo.exception.BusinessException;
+import com.njcn.common.pojo.response.HttpResult;
+import com.njcn.device.biz.utils.DeviceEnumUtil;
+import com.njcn.device.pq.api.NodeClient;
+import com.njcn.device.pq.api.PqsTerminalLogsClient;
+import com.njcn.device.pq.pojo.po.Node;
+import com.njcn.device.pq.pojo.po.PqsTerminalLogs;
+import feign.hystrix.FallbackFactory;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author zbj
+ * @version 1.0.0
+ * @date 2023年04月13日 13:34
+ */
+@Slf4j
+@Component
+public class NodeClientFallbackFactory implements FallbackFactory {
+ @Override
+ public NodeClient create(Throwable throwable) {
+ //判断抛出异常是否为解码器抛出的业务异常
+ Enum> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
+ if (throwable.getCause() instanceof BusinessException) {
+ BusinessException businessException = (BusinessException) throwable.getCause();
+ exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult());
+ }
+ Enum> finalExceptionEnum = exceptionEnum;
+ return new NodeClient()
+ {
+
+ @Override
+ public HttpResult> nodeAllList() {
+ log.error("{}异常,降级处理,异常为:{}", "获取全部前置机", throwable.toString());
+ throw new BusinessException(finalExceptionEnum);
+ }
+ };
+
+
+ }
+}
diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineIntegrityDataServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineIntegrityDataServiceImpl.java
index fa5f380fb..7c0fc4534 100644
--- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineIntegrityDataServiceImpl.java
+++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineIntegrityDataServiceImpl.java
@@ -515,7 +515,7 @@ public class LineIntegrityDataServiceImpl extends ServiceImpl
+ * 电能质量报表上送
+ *
+ *
+ * @author xy
+ * @since 2024-08-07
+ */
+@Getter
+@Setter
+@TableName("r_upload_report")
+public class RUploadReport {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId
+ private String objId;
+
+ /**
+ * 省单位id
+ */
+ private String provinceOrg;
+
+ /**
+ * 省单位名称
+ */
+ private String provinceOrgName;
+
+ /**
+ * 报表类型
+ */
+ @NotBlank(message = "报表类型不可为空")
+ private String reportType;
+
+ /**
+ * Json字符串
+ */
+ @NotBlank(message = "Json字符串不可为空")
+ private String reportData;
+
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+ @JsonSerialize(using = LocalDateTimeSerializer.class)
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+ @JsonSerialize(using = LocalDateTimeSerializer.class)
+ private LocalDateTime updateTime;
+
+ private String isDelete;
+
+ private LocalDateTime deleteTime;
+
+ private Integer uploadStatus;
+
+
+}
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java
index 21274d85c..0582c3392 100644
--- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java
@@ -1233,11 +1233,13 @@ public class ExportModelController extends BaseController {
String reportFileUrl = "";
try {
String fileName = name + formatter.format(currentTime) + ".docx";
- if (isUrl) {
- reportFileUrl = wordUtil2.getReportFileUrl(rtfPath, name + formatter.format(currentTime) + ".docx",null ,reportmap);
- } else {
- wordUtil2.getWord(rtfPath, reportmap, fileName,null, response);
+ if(ObjectUtil.isNotNull(isUrl)){
+ if (isUrl) {
+ reportFileUrl = wordUtil2.getReportFileUrl(rtfPath, name + formatter.format(currentTime) + ".docx",null ,reportmap);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, reportFileUrl, methodDescribe);
+ }
}
+ wordUtil2.getWord(rtfPath, reportmap, fileName,null, response);
} catch (Exception e) {
log.error("获取报告发生异常,异常是" + e.getMessage());
}
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelJBController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelJBController.java
index 3b5afe23e..1c2a86eb5 100644
--- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelJBController.java
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelJBController.java
@@ -488,8 +488,8 @@ public class ExportModelJBController extends BaseController {
String strTime = String.format("%s——%s。",
new String[]{DateUtil.format(startDate, "yyyy年MM月dd日 HH时mm分ss秒"),
DateUtil.format(endDate, "yyyy年MM月dd日 HH时mm分ss秒")});
- reportmap.put("$number$", reportNumber); // 报告编号
- reportmap.put("$titlePoint$", crmName); // 客户名称
+ reportmap.put("$number$", StrUtil.isBlank(reportNumber)?"":reportNumber); // 报告编号
+ reportmap.put("$titlePoint$",StrUtil.isBlank(crmName)?"":crmName); // 客户名称
reportmap.put("$TitleTime$", formatter.format(currentTime)); // 报告生成时间
reportmap.put("$ReportTitle$",
@@ -1503,11 +1503,13 @@ public class ExportModelJBController extends BaseController {
String reportFileUrl = "";
try {
String fileName = name + formatter.format(currentTime) + ".docx";
- if (isUrl) {
- reportFileUrl = wordUtil2.getReportFileUrl(rtfPath, name + formatter.format(currentTime) + ".docx",tableList, reportmap);
- } else {
- wordUtil2.getWord(rtfPath, reportmap, fileName,tableList, response);
+ if(ObjectUtil.isNotNull(isUrl)){
+ if (isUrl) {
+ reportFileUrl = wordUtil2.getReportFileUrl(rtfPath, name + formatter.format(currentTime) + ".docx",tableList, reportmap);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, reportFileUrl, methodDescribe);
+ }
}
+ wordUtil2.getWord(rtfPath, reportmap, fileName,tableList, response);
} catch (Exception e) {
log.error("获取报告发生异常,异常是" + e.getMessage());
}
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/RUploadReportController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/RUploadReportController.java
new file mode 100644
index 000000000..e100955e6
--- /dev/null
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/RUploadReportController.java
@@ -0,0 +1,135 @@
+package com.njcn.harmonic.controller.upload;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.njcn.common.pojo.annotation.OperateInfo;
+import com.njcn.common.pojo.constant.OperateType;
+import com.njcn.common.pojo.enums.common.LogEnum;
+import com.njcn.common.pojo.enums.response.CommonResponseEnum;
+import com.njcn.common.pojo.exception.BusinessException;
+import com.njcn.common.pojo.response.HttpResult;
+import com.njcn.common.utils.HttpResultUtil;
+import com.njcn.harmonic.pojo.param.DimGlobalDataParam;
+import com.njcn.harmonic.pojo.po.upload.RUploadReport;
+import com.njcn.harmonic.pojo.vo.DimGlobalDataStandVO;
+import com.njcn.harmonic.service.upload.IRUploadReportService;
+import com.njcn.system.api.DicDataFeignClient;
+import com.njcn.user.api.DeptFeignClient;
+import com.njcn.user.pojo.po.Dept;
+import com.njcn.web.enums.GWSendEnum;
+import com.njcn.web.factory.PageFactory;
+import com.njcn.web.pojo.param.BaseParam;
+import com.njcn.web.pojo.param.SendParam;
+import com.njcn.web.utils.GwSendUtil;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import com.njcn.web.controller.BaseController;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+/**
+ *
+ * 电能质量报表上送 前端控制器
+ *
+ *
+ * @author cdf
+ * @since 2024-08-07
+ */
+@RestController
+@RequestMapping("/rUploadReport")
+@RequiredArgsConstructor
+public class RUploadReportController extends BaseController {
+
+ private final IRUploadReportService irUploadReportService;
+
+ private final DeptFeignClient deptFeignClient;
+
+
+ /**
+ * 新增pms电能质量报表
+ */
+ @PostMapping("/addPmsReport")
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
+ @ApiOperation("新增pms电能质量报表")
+ @ApiImplicitParam(name = "rUploadReport", value = "条件参数", required = true)
+ public HttpResult addPmsReport(@RequestBody @Validated RUploadReport rUploadReport){
+ String methodDescribe = getMethodDescribe("addPmsReport");
+ Dept dept = deptFeignClient.getRootDept().getData();
+ List deptList = deptFeignClient.getDirectSonSelf(dept.getId()).getData();
+ Optional optional = deptList.stream().filter(item->item.getPid().equals(dept.getId())).findFirst();
+ if(optional.isPresent()){
+ Dept d = optional.get();
+ rUploadReport.setProvinceOrg(d.getCode());
+ rUploadReport.setProvinceOrgName(d.getName());
+ }
+ rUploadReport.setIsDelete("0");
+ rUploadReport.setUploadStatus(0);
+
+ long count = irUploadReportService.count(new LambdaQueryWrapper().eq(RUploadReport::getProvinceOrg,rUploadReport.getProvinceOrg()));
+ if(count>0){
+ throw new BusinessException("已经存在该省电能质量报告");
+ }
+ irUploadReportService.save(rUploadReport);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
+ }
+
+
+ /**
+ * 修改pms电能质量报表
+ */
+ @PostMapping("/updatePmsReport")
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPLOAD)
+ @ApiOperation("修改pms电能质量报表")
+ @ApiImplicitParam(name = "rUploadReport", value = "条件参数", required = true)
+ public HttpResult updatePmsReport(@RequestBody @Validated RUploadReport rUploadReport){
+ String methodDescribe = getMethodDescribe("updatePmsReport");
+ irUploadReportService.updateById(rUploadReport);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
+ }
+
+
+ /**
+ * 删除pms电能质量报表
+ */
+ @PostMapping("/delPmsReport")
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.DELETE)
+ @ApiOperation("删除pms电能质量报表")
+ public HttpResult delPmsReport(@RequestBody List ids){
+ String methodDescribe = getMethodDescribe("delPmsReport");
+ irUploadReportService.removeByIds(ids);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
+ }
+
+
+ @PostMapping("/pagePmsReportList")
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON)
+ @ApiOperation("列表集合")
+ public HttpResult> pagePmsReportList(@RequestBody BaseParam baseParam){
+ String methodDescribe = getMethodDescribe("pagePmsReportList");
+ Page reportList = irUploadReportService.page(new Page<>(PageFactory.getPageNum(baseParam),PageFactory.getPageSize(baseParam)));
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, reportList, methodDescribe);
+ }
+
+ @PostMapping("/uploadGw")
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON)
+ @ApiOperation("上送电能质量报表数据新增或更新")
+ public HttpResult uploadGw(@RequestBody List ids){
+ String methodDescribe = getMethodDescribe("uploadGw");
+ List reportList = irUploadReportService.listByIds(ids);
+ SendParam sendParam = new SendParam();
+ sendParam.setStats(reportList);
+ Map map = GwSendUtil.send(sendParam, GWSendEnum.REPORT_CREATE);
+ int result = GwSendUtil.returnInfoMsg(ids,map);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
+ }
+
+
+}
+
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetDMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetDMapper.xml
index ef0a873b6..b1e558a3a 100644
--- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetDMapper.xml
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetDMapper.xml
@@ -471,7 +471,7 @@
)
) AS allOvertime
FROM
- `r_stat_limit_rate_d`
+ `r_stat_limit_target_d`
and time_id between #{startTime} and #{endTime}
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/upload/RUploadReportMapper.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/upload/RUploadReportMapper.java
new file mode 100644
index 000000000..72aaabcec
--- /dev/null
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/upload/RUploadReportMapper.java
@@ -0,0 +1,17 @@
+package com.njcn.harmonic.mapper.upload;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.njcn.harmonic.pojo.po.upload.RUploadReport;
+
+/**
+ *
+ * 电能质量报表上送 Mapper 接口
+ *
+ *
+ * @author xy
+ * @since 2024-08-07
+ */
+public interface RUploadReportMapper extends BaseMapper {
+
+}
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 5b31480d8..19df2d563 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
@@ -8,6 +8,7 @@ import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.*;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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;
@@ -397,9 +398,9 @@ public class CustomReportServiceImpl implements CustomReportService {
tem = "#NO";
}
if (StrUtil.isNotBlank(twoKey)) {
- reportTreeStat.setName("$" + oneKey + "#" + twoKey + "#" + statItem + "#" + item.getClassId().trim() + tem.trim() + "$");
+ reportTreeStat.setName("$" + oneKey + "#" + twoKey + "#" + statItem + "#" + item.getResourcesId().trim() + tem.trim() + "$");
} else {
- reportTreeStat.setName("$" + oneKey + "#" + statItem + "#" + item.getClassId().trim() + tem.trim() + "$");
+ reportTreeStat.setName("$" + oneKey + "#" + statItem + "#" + item.getResourcesId().trim() + tem.trim() + "$");
}
reportTreeStat.setShowName(statItem);
@@ -437,146 +438,6 @@ public class CustomReportServiceImpl implements CustomReportService {
}
- /**
- * 解析报表模板赋值数据
- */
-/* private void analyzeReport(ReportSearchParam reportSearchParam, ExcelRptTemp excelRptTemp,HttpServletResponse response) {
- //根据content,获取v值并进行处理
- List reportTemplateDTOList = new ArrayList<>();
- JSONArray jsonArray;
- try (InputStream fileStream = fileStorageUtil.getFileStream(excelRptTemp.getContent())) {
- //通过文件服务器获取
- jsonArray = new JSONArray(new JSONTokener(fileStream, new JSONConfig()));
- jsonArray.forEach(item -> {
- JSONObject jsonObject = (JSONObject) item;
- JSONArray itemArr = (JSONArray) jsonObject.get("celldata");
- 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");
- //数据格式:$HA[_25]#B#max#classId$ 或 $HA[_25]#max#classId$
- if (v.charAt(0) == '$' && v.contains("#")) {
- //剔除前后$
- v = v.replace("$", "");
- //封装ReportTemplateDTO
- ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO();
- reportTemplateDTO.setItemName(v);
- //根据#分割数据
- String[] vItem = v.split("#");
- if (vItem.length == 4) {
- //$HA[_25]#B#max#classId$
- reportTemplateDTO.setTemplateName(vItem[0]);
- reportTemplateDTO.setPhase(vItem[1].substring(0, 1));
- reportTemplateDTO.setStatMethod(vItem[2].toUpperCase());
- reportTemplateDTO.setClassId(vItem[3]);
- } else if (vItem.length == 3) {
- //$HA[_25]#max#classId$
- reportTemplateDTO.setTemplateName(vItem[0]);
- reportTemplateDTO.setPhase("M");
- reportTemplateDTO.setStatMethod(vItem[1].toUpperCase());
- reportTemplateDTO.setClassId(vItem[2]);
- }
- reportTemplateDTOList.add(reportTemplateDTO);
- }
- }
- }
- });
- });
- } catch (Exception e) {
- throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_JSON);
- }
-
- List endList = new ArrayList<>();
- if (CollUtil.isNotEmpty(reportTemplateDTOList)) {
- //开始组织sql
- reportTemplateDTOList.stream().forEach(data -> {
- StringBuilder sql = new StringBuilder(InfluxDbSqlConstant.SELECT);
- if (InfluxDbSqlConstant.MAX.equalsIgnoreCase(data.getStatMethod())) {
- assSql(data, sql, endList, InfluxDbSqlConstant.MAX, reportSearchParam);
- } else if (InfluxDbSqlConstant.MIN.equalsIgnoreCase(data.getStatMethod())) {
- assSql(data, sql, endList, InfluxDbSqlConstant.MIN, reportSearchParam);
- } else if (InfluxDbSqlConstant.AVG_WEB.equalsIgnoreCase(data.getStatMethod())) {
- assSql(data, sql, endList, InfluxDbSqlConstant.AVG, reportSearchParam);
- } else if (InfluxDbSqlConstant.CP95.equalsIgnoreCase(data.getStatMethod())) {
- assSql(data, sql, endList, InfluxDbSqlConstant.PERCENTILE, reportSearchParam);
- }
- });
- }
-
- if (CollUtil.isNotEmpty(endList)) {
- //数据单位信息
- Map unit = unitMap(reportSearchParam.getLineId());
- //进行反向赋值到模板
- //1、根据itemName分组
- Map> assMap = endList.stream().collect(Collectors.groupingBy(ReportTemplateDTO::getItemName));
- //2、把itemName的value赋给v和m
- jsonArray.forEach(item -> {
- JSONObject jsonObject = (JSONObject) item;
- JSONArray itemArr = (JSONArray) jsonObject.get("celldata");
- 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");
- //数据格式:$HA[_25]#B#max#classId$ 或 $HA[_25]#max#classId$
- if (v.charAt(0) == '$' && v.contains("#")) {
- String str = "";
- if(Objects.nonNull(assMap.get(v.replace("$", "")))){
- str = assMap.get(v.replace("$", "")).get(0).getValue();
- //没有值,赋"/"
- if (StringUtils.isBlank(str)) {
- str = "/";
- }
- son.set("v", str);
- }
- }
- //解决数据单位问题 @指标#类型@
- if (v.charAt(0) == '@' && v.contains("#")) {
- String replace = v.replace("@", "");
- son.set("v", unit.getOrDefault(replace, "/"));
-
- }
- }
- }
- });
- });
- }
-
- InputStream reportStream = IoUtil.toStream(jsonArray.toString(), CharsetUtil.UTF_8);
- String newContent = fileStorageUtil.uploadStream(reportStream, OssPath.HARMONIC_EXCEL_REPORT, FileUtil.generateFileName("json"));
-
- response.setContentType("application/octet-stream;charset=UTF-8");
- response.setHeader("Content-Disposition", "attachment;filename="+"aa");
- //入库前判断是否有了,有了就更新
- ExcelRpt excelRpt = new ExcelRpt();
- excelRpt.setName(excelRptTemp.getName());
- excelRpt.setLineId(reportSearchParam.getLineId());
- excelRpt.setDataDate(DateUtil.parse(reportSearchParam.getStartTime()));
- excelRpt.setTempId(excelRptTemp.getId());
- excelRpt.setContent(newContent);
- excelRpt.setType(reportSearchParam.getType());
- excelRpt.setState(DataStateEnum.ENABLE.getCode());
-
- excelRptMapper.insert(excelRpt);
- OutputStream toClient = null;
- try {
- toClient = new BufferedOutputStream(response.getOutputStream());
- //通过IOUtils对接输入输出流,实现文件下载
- IOUtils.copy(reportStream, toClient);
- toClient.flush();
- } catch (Exception e) {
- throw new BusinessException(OssResponseEnum.DOWNLOAD_FILE_STREAM_ERROR);
- } finally {
- IOUtils.closeQuietly(reportStream);
- IOUtils.closeQuietly(toClient);
- }
-
- }*/
/**
@@ -636,99 +497,6 @@ public class CustomReportServiceImpl implements CustomReportService {
return unit;
}
- /**
- * 组装influxDB查询sql,查询value并封装endlist
- *
- * @return 结果
- */
- private void assSql(ReportTemplateDTO data, StringBuilder sql, List endList, String method, ReportSearchParam reportSearchParam) {
- //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)) {
- sql.append(method)
- .append(InfluxDbSqlConstant.LBK)
- .append(data.getTemplateName())
- .append(InfluxDbSqlConstant.NUM_95)
- .append(InfluxDbSqlConstant.RBK)
- .append(InfluxDbSqlConstant.AS_VALUE);
- } else {
- sql.append(method)
- .append(InfluxDbSqlConstant.LBK)
- .append(data.getTemplateName())
- .append(InfluxDbSqlConstant.RBK)
- .append(InfluxDbSqlConstant.AS_VALUE);
- }
-
- if (reportSearchParam.getResourceType() == 1) {
- sql.append(InfluxDbSqlConstant.FROM)
- .append(data.getClassId().replace("data", "day"));
- } else {
- sql.append(InfluxDbSqlConstant.FROM)
- .append(data.getClassId());
- }
-
- sql.append(InfluxDbSqlConstant.WHERE)
- .append(InfluxDBTableConstant.LINE_ID)
- .append(InfluxDbSqlConstant.EQ)
- .append(InfluxDbSqlConstant.QM)
- .append(reportSearchParam.getLineId())
- .append(InfluxDbSqlConstant.QM);
- //相别特殊处理
- if (!InfluxDBTableConstant.NO_PHASE.equals(data.getPhase())) {
- sql.append(InfluxDbSqlConstant.AND)
- .append(InfluxDBTableConstant.PHASIC_TYPE)
- .append(InfluxDbSqlConstant.EQ)
- .append(InfluxDbSqlConstant.QM)
- .append(data.getPhase())
- .append(InfluxDbSqlConstant.QM);
- }
-
-
- //data_flicker、data_fluc、data_plt 无 value_type
- if (!InfluxDBTableConstant.DATA_FLICKER.equals(data.getClassId()) && !InfluxDBTableConstant.DATA_FLUC.equals(data.getClassId()) && !InfluxDBTableConstant.DATA_PLT.equals(data.getClassId())) {
- sql.append(InfluxDbSqlConstant.AND)
- .append(InfluxDBTableConstant.VALUE_TYPE)
- .append(InfluxDbSqlConstant.EQ)
- .append(InfluxDbSqlConstant.QM)
- .append(data.getStatMethod())
- .append(InfluxDbSqlConstant.QM);
- }
-
- //频率和频率偏差仅统计T相
- if (data.getTemplateName().equals("freq_dev") || data.getTemplateName().equals("freq")) {
- sql.append(InfluxDbSqlConstant.AND)
- .append(InfluxDBTableConstant.PHASIC_TYPE)
- .append(InfluxDbSqlConstant.EQ)
- .append(InfluxDbSqlConstant.QM)
- .append(InfluxDBTableConstant.PHASE_TYPE_T)
- .append(InfluxDbSqlConstant.QM);
- }
- //时间范围处理
- sql
- .append(InfluxDbSqlConstant.AND)
- .append(InfluxDbSqlConstant.TIME).append(InfluxDbSqlConstant.GE).append(InfluxDbSqlConstant.QM).append(reportSearchParam.getStartTime()).append(InfluxDbSqlConstant.START_TIME).append(InfluxDbSqlConstant.QM)
- .append(InfluxDbSqlConstant.AND)
- .append(InfluxDbSqlConstant.TIME).append(InfluxDbSqlConstant.LT).append(InfluxDbSqlConstant.QM).append(reportSearchParam.getEndTime()).append(InfluxDbSqlConstant.END_TIME).append(InfluxDbSqlConstant.QM);
-
- System.out.println(sql);
-
- sql.append(InfluxDbSqlConstant.TZ);
-
- if (data.getTemplateName().equals("freq_dev") || data.getTemplateName().equals("freq")) {
- System.out.println(sql);
- }
-
-
- StatisticalDataDTO statisticalDataDTO = commonService.selectBySql(sql);
- //根据不同的库表赋值
- if (Objects.isNull(statisticalDataDTO)) {
- data.setValue("/");
- } else {
- data.setValue(String.format("%.3f", statisticalDataDTO.getValue()));
- }
- endList.add(data);
- }
/**
@@ -748,18 +516,16 @@ public class CustomReportServiceImpl implements CustomReportService {
for (int i = 0; i < data.size(); i++) {
if (i == data.size() - 1) {
- sql.append(method)
+ sql.append("MAX")
.append(InfluxDbSqlConstant.LBK)
.append(data.get(i).getTemplateName())
- .append(InfluxDbSqlConstant.NUM_95)
.append(InfluxDbSqlConstant.RBK)
.append(InfluxDbSqlConstant.AS).append(InfluxDbSqlConstant.DQM)
.append(data.get(i).getItemName()).append(InfluxDbSqlConstant.DQM);
} else {
- sql.append(method)
+ sql.append("MAX")
.append(InfluxDbSqlConstant.LBK)
.append(data.get(i).getTemplateName())
- .append(InfluxDbSqlConstant.NUM_95)
.append(InfluxDbSqlConstant.RBK)
.append(InfluxDbSqlConstant.AS).append(InfluxDbSqlConstant.DQM)
.append(data.get(i).getItemName()).append(InfluxDbSqlConstant.DQM).append(StrUtil.COMMA);
@@ -788,14 +554,10 @@ public class CustomReportServiceImpl implements CustomReportService {
}
- sql.append(StrPool.C_SPACE);
- if (reportSearchParam.getResourceType() == 1) {
- sql.append(InfluxDbSqlConstant.FROM)
- .append(data.get(0).getClassId().replace("data", "day"));
- } else {
- sql.append(InfluxDbSqlConstant.FROM)
- .append(data.get(0).getClassId());
- }
+ sql.append(StrPool.C_SPACE)
+ .append(InfluxDbSqlConstant.FROM)
+ .append(data.get(0).getResourceId());
+
sql.append(InfluxDbSqlConstant.WHERE)
.append(InfluxDBTableConstant.LINE_ID)
@@ -815,14 +577,15 @@ public class CustomReportServiceImpl implements CustomReportService {
//data_flicker、data_fluc、data_plt 无 value_type
- if (!InfluxDBTableConstant.DATA_FLICKER.equals(data.get(0).getClassId()) && !InfluxDBTableConstant.DATA_FLUC.equals(data.get(0).getClassId()) && !InfluxDBTableConstant.DATA_PLT.equals(data.get(0).getClassId())) {
+ //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);
- }
+ //}
+
//频率和频率偏差仅统计T相
if (data.get(0).getTemplateName().equals("freq_dev") || data.get(0).getTemplateName().equals("freq")) {
@@ -834,29 +597,28 @@ public class CustomReportServiceImpl implements CustomReportService {
.append(InfluxDbSqlConstant.QM);
}
//时间范围处理
- sql
- .append(InfluxDbSqlConstant.AND)
+ sql.append(InfluxDbSqlConstant.AND)
.append(InfluxDbSqlConstant.TIME).append(InfluxDbSqlConstant.GE).append(InfluxDbSqlConstant.QM).append(reportSearchParam.getStartTime()).append(InfluxDbSqlConstant.START_TIME).append(InfluxDbSqlConstant.QM)
.append(InfluxDbSqlConstant.AND)
.append(InfluxDbSqlConstant.TIME).append(InfluxDbSqlConstant.LT).append(InfluxDbSqlConstant.QM).append(reportSearchParam.getEndTime()).append(InfluxDbSqlConstant.END_TIME).append(InfluxDbSqlConstant.QM);
System.out.println(sql);
- sql.append(InfluxDbSqlConstant.TZ);
if (data.get(0).getTemplateName().equals("freq_dev") || data.get(0).getTemplateName().equals("freq")) {
System.out.println(sql);
}
- List