Merge remote-tracking branch 'origin/master'

This commit is contained in:
2024-12-09 08:49:14 +08:00
11 changed files with 70 additions and 22 deletions

View File

@@ -6,6 +6,7 @@ import com.njcn.advance.pojo.po.PqsRelevanceLog;
import com.njcn.advance.service.EventRelevantAnalysisService; import com.njcn.advance.service.EventRelevantAnalysisService;
import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType; import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.exception.BusinessException;
@@ -14,17 +15,20 @@ import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.PubUtils; import com.njcn.common.utils.PubUtils;
import com.njcn.event.pojo.po.RmpEventDetailAssPO; import com.njcn.event.pojo.po.RmpEventDetailAssPO;
import com.njcn.event.pojo.vo.AdvanceEventDetailVO; import com.njcn.event.pojo.vo.AdvanceEventDetailVO;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.controller.BaseController; import com.njcn.web.controller.BaseController;
import com.njcn.web.pojo.param.BaseParam; import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Pattern;
/** /**
* pqs * pqs
@@ -33,11 +37,11 @@ import java.util.Map;
* @author cdf * @author cdf
* @date 2023/6/30 * @date 2023/6/30
*/ */
@Slf4j
@RestController @RestController
@RequestMapping("process") @RequestMapping("process")
@Api(tags = "暂降事件关联分析") @Api(tags = "暂降事件关联分析")
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j
public class EventRelevantAnalysisController extends BaseController { public class EventRelevantAnalysisController extends BaseController {
private final EventRelevantAnalysisService eventRelevantAnalysisService; private final EventRelevantAnalysisService eventRelevantAnalysisService;
@@ -78,6 +82,11 @@ public class EventRelevantAnalysisController extends BaseController {
@ApiOperation("事件波形分析主列表") @ApiOperation("事件波形分析主列表")
public HttpResult<Page<RmpEventDetailAssPO>> queryEventsAssPage(@RequestBody BaseParam baseParam){ public HttpResult<Page<RmpEventDetailAssPO>> queryEventsAssPage(@RequestBody BaseParam baseParam){
String methodDescribe = getMethodDescribe("queryEventsAssPage"); String methodDescribe = getMethodDescribe("queryEventsAssPage");
String searchValue = baseParam.getSearchValue();
Pattern pattern = Pattern.compile(PatternRegex.SPECIAL_REGEX);
if(pattern.matcher(searchValue).find()){
throw new BusinessException(ValidMessage.SPECIAL_REGEX);
}
Page<RmpEventDetailAssPO> page = eventRelevantAnalysisService.queryEventsAssPage(baseParam); Page<RmpEventDetailAssPO> page = eventRelevantAnalysisService.queryEventsAssPage(baseParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe);
} }

View File

@@ -101,7 +101,7 @@ public class CarryCapacityServiceImpl implements CarryCapacityService {
//前2周的数据 //前2周的数据
List<CarryCapcityData> dataHarmPowerP2List; List<CarryCapcityData> dataHarmPowerP2List;
List<CarryCapcityData> dataHarmPowerQ2List; List<CarryCapcityData> dataHarmPowerQ2List;
List<CarryCapcityData> dataHarmPowerU2List ; List<CarryCapcityData> dataHarmPowerU2List;
CarryCapacityDataVO carryCapacityDataVO = new CarryCapacityDataVO(); CarryCapacityDataVO carryCapacityDataVO = new CarryCapacityDataVO();
String lineId = queryParam.getLineId(); String lineId = queryParam.getLineId();
@@ -512,7 +512,7 @@ public class CarryCapacityServiceImpl implements CarryCapacityService {
carryCapacitydResultVO.setILevel(iLevel); carryCapacitydResultVO.setILevel(iLevel);
//统计安全3级预警2级预警1级预警个数 //统计安全3级预警2级预警1级预警个数
List<Integer> list = Stream.of(utLevel, pftLevel, btLevel, iLevel).collect(Collectors.toList()); List<Integer> list = Stream.of(utLevel, pftLevel, btLevel, iLevel).collect(Collectors.toList());
int safeCount, warnCount3 , warnCount2 , warnCount1 ; int safeCount, warnCount3, warnCount2, warnCount1;
safeCount = (int) list.stream() safeCount = (int) list.stream()
.filter(temp -> temp == 1) .filter(temp -> temp == 1)
.count(); .count();
@@ -711,7 +711,6 @@ public class CarryCapacityServiceImpl implements CarryCapacityService {
} }
@Override @Override
public CarryCapacityDResultVO carryCapacityEvaluate(CarryCapacityEvaluateParam calParam) { public CarryCapacityDResultVO carryCapacityEvaluate(CarryCapacityEvaluateParam calParam) {
CarryCapacityDResultVO vo = new CarryCapacityDResultVO(); CarryCapacityDResultVO vo = new CarryCapacityDResultVO();
@@ -918,21 +917,22 @@ public class CarryCapacityServiceImpl implements CarryCapacityService {
public static ExcelDataDTO parsingFile(LocalDate startDate, LocalDate endDate, InputStream is) { public static ExcelDataDTO parsingFile(LocalDate startDate, LocalDate endDate, InputStream is) {
// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
List<CarryCapcityData> dataHarmPowerpList ; List<CarryCapcityData> dataHarmPowerpList;
List<CarryCapcityData> dataHarmPowerqList ; List<CarryCapcityData> dataHarmPowerqList;
List<DataI> dataiList ; List<DataI> dataiList;
//前2周的时间 //前2周的时间
LocalDate startDate2 = startDate.plusWeeks(-1); LocalDate startDate2 = startDate.plusWeeks(-1);
LocalDate endDate2 = endDate.plusWeeks(-1); LocalDate endDate2 = endDate.plusWeeks(-1);
//前一周的数据 //前一周的数据
List<CarryCapcityData> dataHarmPowerP2List ; List<CarryCapcityData> dataHarmPowerP2List;
List<CarryCapcityData> dataHarmPowerQ2List ; List<CarryCapcityData> dataHarmPowerQ2List;
List<CarryCapcityData> dataHarmPowerU2List ; List<CarryCapcityData> dataHarmPowerU2List;
try { try {
List<CarryCapcityDataEexcel> objects = EasyExcelUtil.syncReadModel(is, CarryCapcityDataEexcel.class, 0, 3); List<CarryCapcityDataEexcel> objects = EasyExcelUtil.syncReadModel(is, CarryCapcityDataEexcel.class, 0, 3);
objects = objects.stream().filter(temp -> Objects.nonNull(temp.getTime())).collect(Collectors.toList());
List<CarryCapcityDataIEexcel> iEexcelList = new ArrayList<>(); List<CarryCapcityDataIEexcel> iEexcelList = new ArrayList<>();
List<CarryCapcityDataVEexcel> vEexcelList = new ArrayList<>(); List<CarryCapcityDataVEexcel> vEexcelList = new ArrayList<>();
List<CarryCapcityDataPEexcel> pEexcelList = new ArrayList<>(); List<CarryCapcityDataPEexcel> pEexcelList = new ArrayList<>();

View File

@@ -169,6 +169,11 @@ public interface PatternRegex {
*/ */
String TF_NAME_REGEX = "^[0-9a-zA-Z\\u0391-\\uFFE5]{1,16}$"; String TF_NAME_REGEX = "^[0-9a-zA-Z\\u0391-\\uFFE5]{1,16}$";
/**
* 特殊字符正则
*/
String SPECIAL_REGEX = "[<>%'%;()&+/-\\\\_|@*?#$!,.]|html";
/** /**
* 字典类型名称 * 字典类型名称
*/ */
@@ -177,7 +182,7 @@ public interface PatternRegex {
/** /**
* 描述32 * 描述32
*/ */
String DES32_REGEX = "^.{0,32}$"; String DES32_REGEX = "^.{0,10}$";
/** /**
* 描述64 * 描述64

View File

@@ -68,6 +68,7 @@ public interface ValidMessage {
String DEVICE_VERSION_NOT_BLANK = "装置版本json文件不能为空请检查deviceVersionFile参数"; String DEVICE_VERSION_NOT_BLANK = "装置版本json文件不能为空请检查deviceVersionFile参数";
String SEARCH_DATA_ERROR = "搜索值过长,请检查搜索参数"; String SEARCH_DATA_ERROR = "搜索值过长,请检查搜索参数";
String SPECIAL_REGEX = "搜索值包含特殊字符";
String DATA_TOO_LONG = "参数过长,请检查参数"; String DATA_TOO_LONG = "参数过长,请检查参数";

View File

@@ -6,6 +6,7 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.pojo.response.HttpResult;
@@ -33,6 +34,7 @@ import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData; import com.njcn.system.pojo.po.DictData;
import com.njcn.system.pojo.po.Theme; import com.njcn.system.pojo.po.Theme;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.controller.BaseController; import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -48,6 +50,7 @@ import java.io.*;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.regex.Pattern;
import java.util.stream.Collectors; import java.util.stream.Collectors;

View File

@@ -3,13 +3,16 @@ package com.njcn.harmonic.controller.report;
import cn.hutool.core.date.TimeInterval; import cn.hutool.core.date.TimeInterval;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum; 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.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.HttpResultUtil;
import com.njcn.harmonic.pojo.dto.FpyReportDTO; import com.njcn.harmonic.pojo.dto.FpyReportDTO;
import com.njcn.harmonic.pojo.param.QualifiedReportParam; import com.njcn.harmonic.pojo.param.QualifiedReportParam;
import com.njcn.harmonic.service.majornetwork.QualifiedReportService; import com.njcn.harmonic.service.majornetwork.QualifiedReportService;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.controller.BaseController; import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@@ -22,6 +25,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.regex.Pattern;
/** /**
* pqs * pqs
@@ -49,6 +54,11 @@ public class QualifiedReport extends BaseController {
@ApiImplicitParam(name = "qualifiedReportParam", value = "合格率报告参数", required = true) @ApiImplicitParam(name = "qualifiedReportParam", value = "合格率报告参数", required = true)
public HttpResult<Page<FpyReportDTO>> pageTable(@RequestBody @Validated QualifiedReportParam qualifiedReportParam) { public HttpResult<Page<FpyReportDTO>> pageTable(@RequestBody @Validated QualifiedReportParam qualifiedReportParam) {
TimeInterval timeInterval = new TimeInterval(); TimeInterval timeInterval = new TimeInterval();
String searchValue = qualifiedReportParam.getSearchValue();
Pattern pattern = Pattern.compile(PatternRegex.SPECIAL_REGEX);
if(pattern.matcher(searchValue).find()){
throw new BusinessException(ValidMessage.SPECIAL_REGEX);
}
String methodDescribe = getMethodDescribe("pageTable"); String methodDescribe = getMethodDescribe("pageTable");
Page<FpyReportDTO> result = qualifiedReportService.pageTable(qualifiedReportParam); Page<FpyReportDTO> result = qualifiedReportService.pageTable(qualifiedReportParam);
log.info("合格率报告执行时长:"+timeInterval.interval()); log.info("合格率报告执行时长:"+timeInterval.interval());

View File

@@ -966,12 +966,21 @@ public class CustomReportServiceImpl implements CustomReportService {
if (Objects.nonNull(finalTerminalMap)) { if (Objects.nonNull(finalTerminalMap)) {
if ("statis_time".equals(tem)) { if ("statis_time".equals(tem)) {
//如何时间是大于当前时间则用当前时间 //如何时间是大于当前时间则用当前时间
// String localTime = InfluxDbSqlConstant.END_TIME;
// LocalDate localDate = LocalDateTimeUtil.parseDate(reportSearchParam.getEndTime(), DatePattern.NORM_DATE_PATTERN);
// if(LocalDate.now().isEqual(localDate)){
// localTime =" "+ LocalTime.now().format(DatePattern.NORM_TIME_FORMATTER);
// }
// son.set("v", reportSearchParam.getStartTime() + InfluxDbSqlConstant.START_TIME + "_" + reportSearchParam.getEndTime() + localTime);
String localTime = InfluxDbSqlConstant.END_TIME; String localTime = InfluxDbSqlConstant.END_TIME;
LocalDate localDate = LocalDateTimeUtil.parseDate(reportSearchParam.getEndTime(), DatePattern.NORM_DATE_PATTERN); LocalDate localDate = LocalDateTimeUtil.parseDate(reportSearchParam.getEndTime(), DatePattern.NORM_DATE_PATTERN);
if(LocalDate.now().isEqual(localDate)){ LocalDate nowDate = LocalDate.now();
if (nowDate.isAfter(localDate)) {
son.set("v", reportSearchParam.getStartTime() + InfluxDbSqlConstant.START_TIME + "_" + reportSearchParam.getEndTime() + localTime);
} 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 + "_" + reportSearchParam.getEndTime() + localTime);
} else { } else {
//台账信息 //台账信息
son.set("v", finalTerminalMap.getOrDefault(tem, "/")); son.set("v", finalTerminalMap.getOrDefault(tem, "/"));

View File

@@ -52,6 +52,7 @@
left join supervision_temp_line_run_test left join supervision_temp_line_run_test
on supervision_temp_line_debug.id = supervision_temp_line_run_test.id on supervision_temp_line_debug.id = supervision_temp_line_run_test.id
where supervision_temp_line_debug.status = 5 where supervision_temp_line_debug.status = 5
and (supervision_temp_line_run_test.state = 1 OR supervision_temp_line_run_test.state IS NULL)
and ${ew.sqlSegment} and ${ew.sqlSegment}
</select> </select>

View File

@@ -57,6 +57,7 @@ import com.njcn.web.utils.RequestUtil;
import com.njcn.web.utils.WebUtil; import com.njcn.web.utils.WebUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;

View File

@@ -51,8 +51,15 @@ import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService;
import com.njcn.supervision.service.device.TempLineRunTestWarningService; import com.njcn.supervision.service.device.TempLineRunTestWarningService;
import com.njcn.supervision.service.user.*; import com.njcn.supervision.service.user.*;
import com.njcn.supervision.utils.InstanceUtil; import com.njcn.supervision.utils.InstanceUtil;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.web.utils.RequestUtil; import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.http.MediaType;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.time.LocalDate; import java.time.LocalDate;
@@ -62,14 +69,6 @@ import java.util.*;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import org.springframework.http.MediaType;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
/** /**
* <p> * <p>
@@ -410,7 +409,7 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
long count = supervisionTempLineRunTestPOS.stream().filter(x -> !BpmTaskStatusEnum.WAIT.getStatus().equals(x.getStatus())).count(); long count = supervisionTempLineRunTestPOS.stream().filter(x -> !BpmTaskStatusEnum.WAIT.getStatus().equals(x.getStatus())).count();
InstanceUtil.deleteRole(RequestUtil.getUserIndex(), collect, count); InstanceUtil.deleteRole(RequestUtil.getUserIndex(), collect, count);
return this.update(new LambdaUpdateWrapper<SupervisionTempLineRunTestPO>().set(SupervisionTempLineRunTestPO::getState, DataStateEnum.DELETED.getCode()) return this.update(new LambdaUpdateWrapper<SupervisionTempLineRunTestPO>().set(SupervisionTempLineRunTestPO::getState, DataStateEnum.DELETED.getCode())
.in(SupervisionTempLineRunTestPO::getId, supervisionId)); .in(SupervisionTempLineRunTestPO::getId, supervisionId));
} }
private String assMsg(List<SupervisionTempLineReport> supervisionTempLineReportList, List<SupervisionTempLineRunTestPO> supervisionTempLineRunTestPOList) { private String assMsg(List<SupervisionTempLineReport> supervisionTempLineReportList, List<SupervisionTempLineRunTestPO> supervisionTempLineRunTestPOList) {

View File

@@ -23,7 +23,9 @@ import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam; import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.common.pojo.constant.PatternRegex; import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.utils.FileUtil;
import com.njcn.device.pms.utils.PubUtil; import com.njcn.device.pms.utils.PubUtil;
import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.pq.api.LineFeignClient;
import com.njcn.device.pq.pojo.po.LineDetail; import com.njcn.device.pq.pojo.po.LineDetail;
@@ -777,6 +779,10 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void importSensitiveUserData(MultipartFile file, HttpServletResponse response) { public void importSensitiveUserData(MultipartFile file, HttpServletResponse response) {
boolean fileType = FileUtil.judgeFileIsExcel(file.getOriginalFilename());
if (!fileType) {
throw new BusinessException(CommonResponseEnum.FILE_XLSX_ERROR);
}
ImportParams params = new ImportParams(); ImportParams params = new ImportParams();
//表头 //表头
params.setHeadRows(1); params.setHeadRows(1);
@@ -996,6 +1002,10 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void importSensitiveReportData(MultipartFile file, HttpServletResponse response) { public void importSensitiveReportData(MultipartFile file, HttpServletResponse response) {
boolean fileType = FileUtil.judgeFileIsExcel(file.getOriginalFilename());
if (!fileType) {
throw new BusinessException(CommonResponseEnum.FILE_XLSX_ERROR);
}
ImportParams params = new ImportParams(); ImportParams params = new ImportParams();
//表头 //表头
params.setHeadRows(1); params.setHeadRows(1);