From ea70f0fc2cb16f73c7d66eb02f4b4203bf042d1b Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Sat, 7 Dec 2024 13:42:39 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=AE=89=E5=BE=BD=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CustomReportServiceImpl.java | 13 +++++++++++-- .../SupervisionTempLineDebugPOMapper.xml | 1 + .../SupervisionDevMainReportPOServiceImpl.java | 1 + .../SupervisionTempLineRunTestServiceImpl.java | 17 ++++++++--------- .../user/impl/UserReportPOServiceImpl.java | 10 ++++++++++ 5 files changed, 31 insertions(+), 11 deletions(-) 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 e519053e3..85bfa24dc 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 @@ -966,12 +966,21 @@ public class CustomReportServiceImpl implements CustomReportService { if (Objects.nonNull(finalTerminalMap)) { 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; 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); + son.set("v", reportSearchParam.getStartTime() + InfluxDbSqlConstant.START_TIME + "_" + nowDate + localTime); } - son.set("v", reportSearchParam.getStartTime() + InfluxDbSqlConstant.START_TIME + "_" + reportSearchParam.getEndTime() + localTime); } else { //台账信息 son.set("v", finalTerminalMap.getOrDefault(tem, "/")); diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/SupervisionTempLineDebugPOMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/SupervisionTempLineDebugPOMapper.xml index 3ec20e7b0..cb1560c0d 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/SupervisionTempLineDebugPOMapper.xml +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/SupervisionTempLineDebugPOMapper.xml @@ -52,6 +52,7 @@ left join supervision_temp_line_run_test on supervision_temp_line_debug.id = supervision_temp_line_run_test.id 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} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionDevMainReportPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionDevMainReportPOServiceImpl.java index 2cd7e4a60..d2a61f62d 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionDevMainReportPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionDevMainReportPOServiceImpl.java @@ -57,6 +57,7 @@ import com.njcn.web.utils.RequestUtil; import com.njcn.web.utils.WebUtil; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java index ea741f33c..48e83fe9a 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java @@ -51,8 +51,15 @@ import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService; import com.njcn.supervision.service.device.TempLineRunTestWarningService; import com.njcn.supervision.service.user.*; import com.njcn.supervision.utils.InstanceUtil; +import com.njcn.system.enums.DicDataEnum; 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.InputStream; import java.time.LocalDate; @@ -62,14 +69,6 @@ import java.util.*; import java.util.function.Function; 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; - /** *

@@ -410,7 +409,7 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl !BpmTaskStatusEnum.WAIT.getStatus().equals(x.getStatus())).count(); InstanceUtil.deleteRole(RequestUtil.getUserIndex(), collect, count); return this.update(new LambdaUpdateWrapper().set(SupervisionTempLineRunTestPO::getState, DataStateEnum.DELETED.getCode()) - .in(SupervisionTempLineRunTestPO::getId, supervisionId)); + .in(SupervisionTempLineRunTestPO::getId, supervisionId)); } private String assMsg(List supervisionTempLineReportList, List supervisionTempLineRunTestPOList) { diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java index 3b2918ec6..7d4f51a79 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java @@ -23,7 +23,9 @@ import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO; import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam; import com.njcn.common.pojo.constant.PatternRegex; 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.utils.FileUtil; import com.njcn.device.pms.utils.PubUtil; import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.pq.pojo.po.LineDetail; @@ -777,6 +779,10 @@ public class UserReportPOServiceImpl extends ServiceImpl Date: Sat, 7 Dec 2024 14:02:33 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EventRelevantAnalysisController.java | 11 ++++++++++- .../impl/CarryCapacityServiceImpl.java | 18 +++++++++--------- .../common/pojo/constant/PatternRegex.java | 7 ++++++- .../com/njcn/web/constant/ValidMessage.java | 1 + .../controller/ExportModelController.java | 7 +++++++ .../controller/report/QualifiedReport.java | 10 ++++++++++ 6 files changed, 43 insertions(+), 11 deletions(-) diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/EventRelevantAnalysisController.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/EventRelevantAnalysisController.java index 6caccee99..242ae071d 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/EventRelevantAnalysisController.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/EventRelevantAnalysisController.java @@ -6,6 +6,7 @@ import com.njcn.advance.pojo.po.PqsRelevanceLog; import com.njcn.advance.service.EventRelevantAnalysisService; import com.njcn.common.pojo.annotation.OperateInfo; 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.response.CommonResponseEnum; 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.event.pojo.po.RmpEventDetailAssPO; import com.njcn.event.pojo.vo.AdvanceEventDetailVO; +import com.njcn.web.constant.ValidMessage; import com.njcn.web.controller.BaseController; import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; import java.util.List; import java.util.Map; +import java.util.regex.Pattern; /** * pqs @@ -33,11 +37,11 @@ import java.util.Map; * @author cdf * @date 2023/6/30 */ +@Slf4j @RestController @RequestMapping("process") @Api(tags = "暂降事件关联分析") @RequiredArgsConstructor -@Slf4j public class EventRelevantAnalysisController extends BaseController { private final EventRelevantAnalysisService eventRelevantAnalysisService; @@ -78,6 +82,11 @@ public class EventRelevantAnalysisController extends BaseController { @ApiOperation("事件波形分析主列表") public HttpResult> queryEventsAssPage(@RequestBody BaseParam baseParam){ 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 page = eventRelevantAnalysisService.queryEventsAssPage(baseParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); } diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/carrycapacity/impl/CarryCapacityServiceImpl.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/carrycapacity/impl/CarryCapacityServiceImpl.java index e00a06f59..0496dd785 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/carrycapacity/impl/CarryCapacityServiceImpl.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/carrycapacity/impl/CarryCapacityServiceImpl.java @@ -101,7 +101,7 @@ public class CarryCapacityServiceImpl implements CarryCapacityService { //前2周的数据 List dataHarmPowerP2List; List dataHarmPowerQ2List; - List dataHarmPowerU2List ; + List dataHarmPowerU2List; CarryCapacityDataVO carryCapacityDataVO = new CarryCapacityDataVO(); String lineId = queryParam.getLineId(); @@ -512,7 +512,7 @@ public class CarryCapacityServiceImpl implements CarryCapacityService { carryCapacitydResultVO.setILevel(iLevel); //统计安全,3级预警,2级预警1级预警个数 List list = Stream.of(utLevel, pftLevel, btLevel, iLevel).collect(Collectors.toList()); - int safeCount, warnCount3 , warnCount2 , warnCount1 ; + int safeCount, warnCount3, warnCount2, warnCount1; safeCount = (int) list.stream() .filter(temp -> temp == 1) .count(); @@ -711,7 +711,6 @@ public class CarryCapacityServiceImpl implements CarryCapacityService { } - @Override public CarryCapacityDResultVO carryCapacityEvaluate(CarryCapacityEvaluateParam calParam) { CarryCapacityDResultVO vo = new CarryCapacityDResultVO(); @@ -918,21 +917,22 @@ public class CarryCapacityServiceImpl implements CarryCapacityService { public static ExcelDataDTO parsingFile(LocalDate startDate, LocalDate endDate, InputStream is) { // DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - List dataHarmPowerpList ; - List dataHarmPowerqList ; - List dataiList ; + List dataHarmPowerpList; + List dataHarmPowerqList; + List dataiList; //前2周的时间 LocalDate startDate2 = startDate.plusWeeks(-1); LocalDate endDate2 = endDate.plusWeeks(-1); //前一周的数据 - List dataHarmPowerP2List ; - List dataHarmPowerQ2List ; - List dataHarmPowerU2List ; + List dataHarmPowerP2List; + List dataHarmPowerQ2List; + List dataHarmPowerU2List; try { List objects = EasyExcelUtil.syncReadModel(is, CarryCapcityDataEexcel.class, 0, 3); + objects = objects.stream().filter(temp -> Objects.nonNull(temp.getTime())).collect(Collectors.toList()); List iEexcelList = new ArrayList<>(); List vEexcelList = new ArrayList<>(); List pEexcelList = new ArrayList<>(); diff --git a/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java b/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java index a8540d904..8e92e4821 100644 --- a/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java +++ b/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/PatternRegex.java @@ -169,6 +169,11 @@ public interface PatternRegex { */ String TF_NAME_REGEX = "^[0-9a-zA-Z\\u0391-\\uFFE5]{1,16}$"; + /** + * 特殊字符正则 + */ + String SPECIAL_REGEX = "[<>%'%;()&+/-\\\\_|@*?#$!,.]|html"; + /** * 字典类型名称 */ @@ -177,7 +182,7 @@ public interface PatternRegex { /** * 描述32 */ - String DES32_REGEX = "^.{0,32}$"; + String DES32_REGEX = "^.{0,10}$"; /** * 描述64 diff --git a/pqs-common/common-web/src/main/java/com/njcn/web/constant/ValidMessage.java b/pqs-common/common-web/src/main/java/com/njcn/web/constant/ValidMessage.java index e3441e3ac..874d1fb06 100644 --- a/pqs-common/common-web/src/main/java/com/njcn/web/constant/ValidMessage.java +++ b/pqs-common/common-web/src/main/java/com/njcn/web/constant/ValidMessage.java @@ -68,6 +68,7 @@ public interface ValidMessage { String DEVICE_VERSION_NOT_BLANK = "装置版本json文件不能为空,请检查deviceVersionFile参数"; String SEARCH_DATA_ERROR = "搜索值过长,请检查搜索参数"; + String SPECIAL_REGEX = "搜索值包含特殊字符"; String DATA_TOO_LONG = "参数过长,请检查参数"; 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 2f220d830..dc2d83202 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 @@ -6,6 +6,7 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.LocalDateTimeUtil; 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.exception.BusinessException; 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.pojo.po.DictData; import com.njcn.system.pojo.po.Theme; +import com.njcn.web.constant.ValidMessage; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -48,6 +50,7 @@ import java.io.*; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.*; +import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -116,6 +119,10 @@ public class ExportModelController extends BaseController { @RequestParam(value = "isUrl",required = false) Boolean isUrl, @RequestPart(value ="file",required = false) MultipartFile file) throws IOException { String methodDescribe = getMethodDescribe("exportWorld"); + Pattern pattern = Pattern.compile(PatternRegex.SPECIAL_REGEX); + if(pattern.matcher(reportNumber).find() || pattern.matcher(crmName).find()){ + throw new BusinessException(ValidMessage.SPECIAL_REGEX); + } //获取监测点信息 String bdname; Integer pttype; diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/report/QualifiedReport.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/report/QualifiedReport.java index 5a62cc05d..b59a3db03 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/report/QualifiedReport.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/report/QualifiedReport.java @@ -3,13 +3,16 @@ package com.njcn.harmonic.controller.report; import cn.hutool.core.date.TimeInterval; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.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.dto.FpyReportDTO; import com.njcn.harmonic.pojo.param.QualifiedReportParam; import com.njcn.harmonic.service.majornetwork.QualifiedReportService; +import com.njcn.web.constant.ValidMessage; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; 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.RestController; +import java.util.regex.Pattern; + /** * pqs @@ -49,6 +54,11 @@ public class QualifiedReport extends BaseController { @ApiImplicitParam(name = "qualifiedReportParam", value = "合格率报告参数", required = true) public HttpResult> pageTable(@RequestBody @Validated QualifiedReportParam qualifiedReportParam) { 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"); Page result = qualifiedReportService.pageTable(qualifiedReportParam); log.info("合格率报告执行时长:"+timeInterval.interval()); From efc075b4a9b2e9738ba6a3e9b4ebf8cac265e2a7 Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Sat, 7 Dec 2024 15:26:19 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/njcn/harmonic/controller/ExportModelController.java | 4 ---- 1 file changed, 4 deletions(-) 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 dc2d83202..4d74fdb4c 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 @@ -119,10 +119,6 @@ public class ExportModelController extends BaseController { @RequestParam(value = "isUrl",required = false) Boolean isUrl, @RequestPart(value ="file",required = false) MultipartFile file) throws IOException { String methodDescribe = getMethodDescribe("exportWorld"); - Pattern pattern = Pattern.compile(PatternRegex.SPECIAL_REGEX); - if(pattern.matcher(reportNumber).find() || pattern.matcher(crmName).find()){ - throw new BusinessException(ValidMessage.SPECIAL_REGEX); - } //获取监测点信息 String bdname; Integer pttype;