From 7de4f8f55146fab8b3a5cfc2e1e914c1a6a59345 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Thu, 21 Sep 2023 15:57:40 +0800 Subject: [PATCH] =?UTF-8?q?1.=E9=99=90=E5=88=B6=E7=AE=97=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E6=B1=A1=E5=8C=BA=E5=9B=BE=E7=9B=91=E6=B5=8B=E7=82=B9=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commApi/CommTerminalGeneralClient.java | 46 +++++++++---- ...mTerminalGeneralClientFallbackFactory.java | 13 ++++ .../ledgerManger/CommTerminalController.java | 20 ++++++ .../service/majornetwork/IMonitorService.java | 17 +++++ .../majornetwork/impl/MonitorServiceImpl.java | 69 ++++++++++++------- .../pq/controller/CommTerminalController.java | 23 +++++-- .../service/impl/CommTerminalServiceImpl.java | 1 - .../line/LimitTargetController.java | 33 +++++---- .../controller/line/LimitrateController.java | 29 +++----- .../controller/line/PollutionController.java | 21 +++++- .../Impl/day/RStatLimitRateDServiceImpl.java | 7 +- .../mysql/Impl/line/LimitRateService.java | 5 +- .../Impl/line/LimitTargetServiceImpl.java | 15 ++-- .../mysql/Impl/line/PollutionServiceImpl.java | 10 +-- .../mysql/day/IRStatLimitRateDService.java | 2 +- .../mysql/line/LimitTargetService.java | 4 +- 16 files changed, 217 insertions(+), 98 deletions(-) diff --git a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/CommTerminalGeneralClient.java b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/CommTerminalGeneralClient.java index ae64da6b9..116f31ef4 100644 --- a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/CommTerminalGeneralClient.java +++ b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/CommTerminalGeneralClient.java @@ -1,29 +1,23 @@ package com.njcn.device.biz.commApi; -import cn.hutool.core.date.TimeInterval; import com.njcn.common.pojo.constant.ServerInfo; -import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; -import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.biz.commApi.fallback.CommTerminalGeneralClientFallbackFactory; import com.njcn.device.biz.pojo.dto.*; import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.biz.pojo.po.Overlimit; import com.njcn.device.biz.pojo.po.PqsDeviceUnit; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; -import springfox.documentation.annotations.ApiIgnore; import java.util.List; +import java.util.Map; /** - * * @author cdf * @date 2023/4/24 */ @@ -37,6 +31,7 @@ public interface CommTerminalGeneralClient { /** * 通过部门获取所有子级部门详情 + * * @author cdf * @date 2023/5/15 */ @@ -46,6 +41,7 @@ public interface CommTerminalGeneralClient { /** * 根据单位获取监测点信息 + * * @author cdf * @date 2023/5/10 */ @@ -53,10 +49,9 @@ public interface CommTerminalGeneralClient { HttpResult> deptGetLine(@RequestBody @Validated DeptGetLineParam deptGetLineParam); - - /** * 根据单位获取所有变电站 + * * @author cdf * @date 2023/5/10 */ @@ -65,6 +60,7 @@ public interface CommTerminalGeneralClient { /** * 根据单位获取所有变电站 + * * @author cdf * @date 2023/5/10 */ @@ -74,6 +70,7 @@ public interface CommTerminalGeneralClient { /** * 根据单位获取所有装置 + * * @author cdf * @date 2023/5/10 */ @@ -83,20 +80,22 @@ public interface CommTerminalGeneralClient { /** * 根据单站id获取监测点信息 + * * @author cdf * @date 2023/5/10 */ @PostMapping("substationGetLine") - HttpResult substationGetLine(@RequestParam("substationId")String substationId); + HttpResult substationGetLine(@RequestParam("substationId") String substationId); /** * 根据母线id获取监测点信息 + * * @author cdf * @date 2023/5/10 */ @PostMapping("busBarGetLine") - public HttpResult> busBarGetLine(@RequestParam("busBarId")String busBarId); + HttpResult> busBarGetLine(@RequestParam("busBarId") String busBarId); /** @@ -109,10 +108,31 @@ public interface CommTerminalGeneralClient { HttpResult> deptGetLineList(@RequestBody DeptGetLineParam deptGetLineParam); - + /** + * @param id + * @Description: 获取监测点限值 + * @Author: wr + * @Date: 2023/9/21 10:56 + */ @PostMapping("/getOverLimitData") HttpResult getOverLimitData(@RequestParam("id") String id); + /** + * @Description: 获取所有监测点限值 + * @Author: wr + * @Date: 2023/9/21 10:56 + */ + @PostMapping("/getAllLineOverLimit") + HttpResult> getAllLineOverLimit(); + + /** + * @Description: 获取变电站下监测点信息 + * @param devDataType + * @Author: wr + * @Date: 2023/9/21 13:27 + */ + @PostMapping("/getLineBySubstationRelation") + HttpResult>> getLineBySubstationRelation(@RequestParam("devDataType") Integer devDataType); @GetMapping("/getRunMonitorIds") HttpResult> getRunMonitorIds(); @@ -122,6 +142,7 @@ public interface CommTerminalGeneralClient { HttpResult> getMonitorDetailList(@RequestBody List list); + @GetMapping("/lineUnitDetail") HttpResult lineUnitDetail(@RequestParam("lineId") String lineId); @@ -130,6 +151,7 @@ public interface CommTerminalGeneralClient { HttpResult getMonitorDetail(@RequestParam("lineId") String lineId); /** * 用于返回pq 还是pms系统 + * * @author cdf * @date 2023/8/3 */ diff --git a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/fallback/CommTerminalGeneralClientFallbackFactory.java b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/fallback/CommTerminalGeneralClientFallbackFactory.java index d8da13c42..26aae3034 100644 --- a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/fallback/CommTerminalGeneralClientFallbackFactory.java +++ b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/fallback/CommTerminalGeneralClientFallbackFactory.java @@ -14,6 +14,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import java.util.List; +import java.util.Map; /** * 公共台账 @@ -87,6 +88,18 @@ public class CommTerminalGeneralClientFallbackFactory implements FallbackFactory throw new BusinessException(finalExceptionEnum); } + @Override + public HttpResult> getAllLineOverLimit() { + log.error("{}异常,降级处理,异常为:{}", "获取所有监测点限值", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult>> getLineBySubstationRelation(Integer devDataType) { + log.error("{}异常,降级处理,异常为:{}", "获取变电站下监测点信息", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + @Override public HttpResult> getRunMonitorIds() { log.error("{}异常,降级处理,异常为:{}", "获取投运监测点索引", throwable.toString()); 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 46cdad8a9..ccb9b3b24 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 @@ -26,6 +26,7 @@ import springfox.documentation.annotations.ApiIgnore; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.Objects; /** @@ -56,7 +57,9 @@ public class CommTerminalController extends BaseController { @ApiImplicitParam(name = "param", value = "请求参数", required = true) public HttpResult> deptGetLineList(@RequestBody @Validated DeptGetLineParam param) { String methodDescribe = getMethodDescribe("deptGetLineList"); + TimeInterval timer = new TimeInterval(); List monitor = monitorService.deptMonitor(param); + log.info("运行时长" + timer.intervalRestart()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitor, methodDescribe); } @@ -225,6 +228,23 @@ public class CommTerminalController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getAllLineOverLimit") + @ApiOperation("获取投运在线的监测点的限值") + public HttpResult> getAllLineOverLimit() { + String methodDescribe = getMethodDescribe("getAllLineOverLimit"); + List result = monitorService.getAllLineOverLimit(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + @PostMapping("/getLineBySubstationRelation") + @ApiOperation("获取变电站和监测点的关系") + @ApiImplicitParam(name = "devDataType", value = "数据类型(0:暂态系统;1:稳态系统;)", required = true) + public HttpResult>> getLineBySubstationRelation(@RequestParam("devDataType") Integer devDataType) { + String methodDescribe = getMethodDescribe("getLineBySubstationRelation"); + Map> map= monitorService.getLineBySubstationRelation(0); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, map, methodDescribe); + } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) @GetMapping("/getRunMonitorIds") @ApiOperation("获取投运谐波系统所有监测点") diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java index ec25d7449..823249a28 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java @@ -18,6 +18,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Map; /** *

@@ -154,5 +155,21 @@ public interface IMonitorService extends IService { String importOracleLedgerToMysql(MultipartFile file, HttpServletResponse response); + /** + * @Description: 获取所有监测点限值 + * @param + * @return: java.util.List + * @Author: wr + * @Date: 2023/9/21 11:07 + */ + List getAllLineOverLimit(); + /** + * @Description: 获取变电信息 + * @param devDataType + * @return: java.util.Map> + * @Author: wr + * @Date: 2023/9/21 13:19 + */ + Map> getLineBySubstationRelation(Integer devDataType); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java index 498550888..6f4202b87 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java @@ -34,10 +34,7 @@ import com.njcn.device.pms.pojo.vo.MonitorVO; import com.njcn.device.pms.pojo.vo.PmsMonitorVO; import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService; import com.njcn.device.pms.service.majornetwork.IMonitorService; -import com.njcn.device.pms.service.majornetwork.IPowerDistributionareaService; - import com.njcn.device.pq.pojo.bo.excel.OracleTerminalExcel; - import com.njcn.device.pq.pojo.po.LineBak; import com.njcn.poi.excel.ExcelUtil; import com.njcn.poi.util.PoiUtil; @@ -60,7 +57,6 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; -import java.math.BigDecimal; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -367,28 +363,32 @@ public class MonitorServiceImpl extends ServiceImpl impl //返回主网和配网监测信息 List deviceInfos = new ArrayList<>(); List deptInfos = deptFeignClient.getDeptDescendantIndexes(param.getDeptId(), Stream.of(0, 1).collect(Collectors.toList())).getData(); - List directDeptInfos = deptInfos.stream() - .filter(deptDTO -> deptDTO.getPid().equals(param.getDeptId())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(directDeptInfos)) { - //没有直接子部门,获取当前部门所有信息 - List dept = deptInfos.stream() - .filter(deptDTO -> deptDTO.getId().equals(param.getDeptId())) + + for (DeptDTO deptInfo : deptInfos) { + List directDeptInfos = deptInfos.stream() + .filter(deptDTO -> deptDTO.getPid().equals(deptInfo.getId())) .collect(Collectors.toList()); - deviceInfos.add(getPmsMonitor(dept.get(0), Collections.singletonList(dept.get(0).getCode()))); - } else { - for (DeptDTO deptDTO : directDeptInfos) { - //筛选上级部门pids包含该id的所有部门 - List descendantDeptDTO = deptInfos.stream() - .filter(d -> d.getPids().contains(deptDTO.getId())) + if (CollUtil.isEmpty(directDeptInfos)) { + //没有直接子部门,获取当前部门所有信息 + List dept = deptInfos.stream() + .filter(deptDTO -> deptDTO.getId().equals(deptInfo.getId())) .collect(Collectors.toList()); - //形成需要查询监测点的部门索引 - List deptIdList = descendantDeptDTO.stream() - .map(DeptDTO::getCode) - .distinct() - .collect(Collectors.toList()); - deptIdList.add(deptDTO.getCode()); - deviceInfos.add(getPmsMonitor(deptDTO, deptIdList)); + deviceInfos.add(getPmsMonitor(dept.get(0), Collections.singletonList(dept.get(0).getCode()))); + } else { + List deptIdList = new ArrayList<>(); + for (DeptDTO deptDTO : directDeptInfos) { + //筛选上级部门pids包含该id的所有部门 + List descendantDeptDTO = deptInfos.stream() + .filter(d -> d.getPids().contains(deptDTO.getId())) + .collect(Collectors.toList()); + //形成需要查询监测点的部门索引 + deptIdList.addAll( descendantDeptDTO.stream() + .map(DeptDTO::getCode) + .distinct() + .collect(Collectors.toList())); + deptIdList.add(deptDTO.getCode()); + } + deviceInfos.add(getPmsMonitor(deptInfo, deptIdList)); } } return deviceInfos; @@ -420,6 +420,22 @@ public class MonitorServiceImpl extends ServiceImpl impl } + @Override + public List getAllLineOverLimit() { + return overlimitMapper.selectList(null); + } + + @Override + public Map> getLineBySubstationRelation(Integer devDataType) { + //获取主网监测点信息 + if(devDataType==0){ + List list = this.list(); + return list.stream() + .collect(Collectors.groupingBy(Monitor::getPowerrId, Collectors.mapping(Monitor::getId, Collectors.toList()))); + } + return null; + } + /** * 获取主配网监测点id集合 @@ -439,10 +455,11 @@ public class MonitorServiceImpl extends ServiceImpl impl pmsDeptGetChildrenDTO.setDeptChildren(deptIdList); if (CollUtil.isNotEmpty(deptIdList)) { //主网监测点 - List monitorList = this.list(new LambdaQueryWrapper().in(CollUtil.isNotEmpty(deptIdList), Monitor::getOrgId, deptIdList)); + List monitorList = this.list(new LambdaQueryWrapper() + .select(Monitor::getId) + .in(CollUtil.isNotEmpty(deptIdList), Monitor::getOrgId, deptIdList)); //配网监测点 List pwMonitorList = iDistributionMonitorService.getMonitorByCondition(deptIdList, null); - pmsDeptGetChildrenDTO.setLineIds(monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList())); pmsDeptGetChildrenDTO.setPwMonitorIds(pwMonitorList.stream().map(PmsMonitorBaseDTO::getMonitorId).distinct().collect(Collectors.toList())); } else { diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java index 0171a5173..ece36ae01 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java @@ -1,22 +1,18 @@ package com.njcn.device.pq.controller; import cn.hutool.core.date.TimeInterval; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.njcn.common.pojo.annotation.OperateInfo; 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.common.utils.LogUtil; import com.njcn.device.biz.pojo.dto.*; import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.biz.pojo.po.Overlimit; import com.njcn.device.biz.pojo.po.PqsDeviceUnit; import com.njcn.device.pq.mapper.LineDetailMapper; import com.njcn.device.pq.mapper.LineMapper; -import com.njcn.device.pq.pojo.po.Line; -import com.njcn.device.pq.pojo.po.LineDetail; import com.njcn.device.pq.service.CommTerminalService; import com.njcn.device.pq.service.IPqsDeviceUnitService; import com.njcn.device.pq.service.LineService; @@ -31,6 +27,7 @@ import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; import java.util.List; +import java.util.Map; import java.util.Objects; /** @@ -243,6 +240,24 @@ public class CommTerminalController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getAllLineOverLimit") + @ApiOperation("获取投运在线的监测点的限值") + public HttpResult> getAllLineOverLimit() { + String methodDescribe = getMethodDescribe("getAllLineOverLimit"); + List result = lineService.getAllLineOverLimit("harmonic-boot", null); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + @PostMapping("/getLineBySubstationRelation") + @ApiOperation("获取变电站和监测点的关系") + @ApiImplicitParam(name = "devDataType", value = "数据类型(0:暂态系统;1:稳态系统;)", required = true) + public HttpResult>> getLineBySubstationRelation(@RequestParam("devDataType") Integer devDataType) { + String methodDescribe = getMethodDescribe("getLineBySubstationRelation"); + Map> map= lineService.getLineBySubstationRelation(devDataType); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, map, methodDescribe); + } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) @GetMapping("/getRunMonitorIds") @ApiOperation("获取投运谐波系统所有监测点") diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java index 847055832..bdf254063 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java @@ -1,7 +1,6 @@ package com.njcn.device.pq.service.impl; import cn.hutool.core.collection.CollectionUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.common.pojo.enums.common.ServerEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/LimitTargetController.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/LimitTargetController.java index 4f50fd85d..5c0f4571a 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/LimitTargetController.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/LimitTargetController.java @@ -5,15 +5,17 @@ import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; +import com.njcn.common.utils.NjcnDateUtils; +import com.njcn.device.biz.commApi.CommTerminalGeneralClient; import com.njcn.prepare.harmonic.pojo.param.LineParam; import com.njcn.prepare.harmonic.service.mysql.line.LimitTargetService; -import com.njcn.prepare.harmonic.utils.PublicUtil; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -37,6 +39,7 @@ import java.util.List; public class LimitTargetController extends BaseController { private final LimitTargetService limitTargetService; + private final CommTerminalGeneralClient commTerminalGeneralClient; @Deprecated @OperateInfo(info = LogEnum.BUSINESS_COMMON) @@ -52,23 +55,27 @@ public class LimitTargetController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/limitTargetData") @ApiOperation("生成limit_target表(MySQL入库)") - @ApiImplicitParam(name = "lineParam", value = "参数", required = true) - public HttpResult limitTargetData(@RequestBody @Validated LineParam lineParam){ + @ApiImplicitParam(name = "jobParam", value = "参数", required = true) + public HttpResult limitTargetData(@RequestBody LineParam jobParam){ log.info(LocalDateTime.now()+"limitTargetData开始执行"); String methodDescribe = getMethodDescribe("limitTargetData"); - String time; - if (lineParam.getType() == 3){ - int year = Integer.parseInt(lineParam.getDataDate().split("-")[0]); - int month = Integer.parseInt(lineParam.getDataDate().split("-")[1]); - List dayList = PublicUtil.getDayByMonth(year,month); - for (String item : dayList) { + String startTime,endTime; + List indexLists; + if(CollectionUtils.isEmpty (jobParam.getLineIds ())){ + indexLists = commTerminalGeneralClient.getRunMonitorIds ().getData ( ); + }else{ + indexLists = jobParam.getLineIds (); + } + if (jobParam.getRepairFlag()){ + List timeRange = NjcnDateUtils.findEveryDay(jobParam.getBeginTime(),jobParam.getEndTime()); + for (String item : timeRange) { log.info(item+"-->开始执行"); - time = item + " 00:00:00"; - limitTargetService.limitTargetData(lineParam,time); + startTime = item+" "+"00:00:00"; + endTime = item+" "+"23:59:59"; + limitTargetService.limitTargetData(indexLists,startTime,endTime); } } else { - time = lineParam.getDataDate() + " 00:00:00"; - limitTargetService.limitTargetData(lineParam,time); + limitTargetService.limitTargetData(indexLists,jobParam.getBeginTime(), jobParam.getEndTime()); } return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/LimitrateController.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/LimitrateController.java index f42815744..3175e4274 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/LimitrateController.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/LimitrateController.java @@ -5,11 +5,10 @@ import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; +import com.njcn.common.utils.NjcnDateUtils; import com.njcn.device.biz.commApi.CommTerminalGeneralClient; -import com.njcn.device.pq.api.LineFeignClient; import com.njcn.prepare.harmonic.pojo.param.LineParam; import com.njcn.prepare.harmonic.service.mysql.Impl.line.LimitRateService; -import com.njcn.prepare.harmonic.utils.PublicUtil; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -23,7 +22,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; -import java.util.ArrayList; import java.util.List; /** @@ -44,8 +42,6 @@ public class LimitrateController extends BaseController { private final LimitRateService limitRateService; - private final LineFeignClient lineFeignClient; - private final CommTerminalGeneralClient commTerminalGeneralClient; /* @Deprecated @@ -74,34 +70,29 @@ public class LimitrateController extends BaseController { }*/ @ApiOperation("生成limitRate表(MySQL入库)") - @ApiImplicitParam(value = "limitRateHanlderParam",name = "limitRateHanlderParam",required = true) + @ApiImplicitParam(value = "jobParam",name = "jobParam",required = true) @PostMapping("LimitRate") @OperateInfo(info = LogEnum.BUSINESS_MEDIUM) - public HttpResult limitRate(@RequestBody LineParam limitRateHanlderParam ){ + public HttpResult limitRate(@RequestBody LineParam jobParam){ log.info(LocalDateTime.now()+"limitRate开始执行"); String startTime,endTime; String methodDescribe = getMethodDescribe("limitRate"); - List indexLists = new ArrayList<> (); - if(CollectionUtils.isEmpty (limitRateHanlderParam.getLineIds ())){ + List indexLists; + if(CollectionUtils.isEmpty (jobParam.getLineIds ())){ indexLists = commTerminalGeneralClient.getRunMonitorIds ().getData ( ); }else{ - indexLists = limitRateHanlderParam.getLineIds (); + indexLists = jobParam.getLineIds (); } - - if (limitRateHanlderParam.getType() == 3){ - int year = Integer.parseInt(limitRateHanlderParam.getDataDate().split("-")[0]); - int month = Integer.parseInt(limitRateHanlderParam.getDataDate().split("-")[1]); - List dayList = PublicUtil.getDayByMonth(year,month); - for (String item : dayList) { + if (jobParam.getRepairFlag()){ + List timeRange = NjcnDateUtils.findEveryDay(jobParam.getBeginTime(),jobParam.getEndTime()); + for (String item : timeRange) { log.info(item+"-->开始执行"); startTime = item+" "+"00:00:00"; endTime = item+" "+"23:59:59"; limitRateService.limitRate(indexLists,startTime,endTime); } } else { - startTime = limitRateHanlderParam.getDataDate ()+" "+"00:00:00"; - endTime = limitRateHanlderParam.getDataDate ()+" "+"23:59:59"; - limitRateService.limitRate(indexLists,startTime,endTime); + limitRateService.limitRate(indexLists,jobParam.getBeginTime(),jobParam.getEndTime()); } return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/PollutionController.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/PollutionController.java index 024d3a301..b88278401 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/PollutionController.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/PollutionController.java @@ -1,10 +1,12 @@ package com.njcn.prepare.harmonic.controller.line; import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; +import com.njcn.common.utils.NjcnDateUtils; import com.njcn.prepare.harmonic.pojo.param.LineParam; import com.njcn.prepare.harmonic.service.mysql.line.PollutionService; import com.njcn.web.controller.BaseController; @@ -19,6 +21,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.List; + /** * 监测点污染指标 @@ -40,10 +44,21 @@ public class PollutionController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/processPollutionData") @ApiOperation("处理监测点污染指标") - @ApiImplicitParam(name = "lineParam", value = "参数", required = true) - public HttpResult processPollutionData(@RequestBody @Validated LineParam lineParam){ + @ApiImplicitParam(name = "jobParam", value = "参数", required = true) + public HttpResult processPollutionData(@RequestBody @Validated LineParam jobParam){ String methodDescribe = getMethodDescribe("processPollutionData"); - pollutionService.processPollutionData(lineParam); + if (jobParam.getRepairFlag()&&Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(jobParam.getType())){ + List timeRange = NjcnDateUtils.findEveryDay(jobParam.getBeginTime(),jobParam.getEndTime()); + for (String item : timeRange) { + log.info(item+"-->开始执行"); + jobParam.setBeginTime(item+" "+"00:00:00"); + jobParam.setEndTime(item+" "+"23:59:59"); + System.out.println(jobParam); + pollutionService.processPollutionData(jobParam); + } + } else { + pollutionService.processPollutionData(jobParam); + } return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/day/RStatLimitRateDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/day/RStatLimitRateDServiceImpl.java index 9e5ae502e..5ea370099 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/day/RStatLimitRateDServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/day/RStatLimitRateDServiceImpl.java @@ -26,9 +26,12 @@ public class RStatLimitRateDServiceImpl extends MppServiceImpl findList(List list, String time) { + public List findList(List list,String startTime,String endTime) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.in(CollUtil.isNotEmpty(list),RStatLimitRateDPO::getLineId,list).eq(RStatLimitRateDPO::getTime,time).eq(RStatLimitRateDPO::getPhasicType,"T"); + lambdaQueryWrapper.in(CollUtil.isNotEmpty(list),RStatLimitRateDPO::getLineId,list) + .ge(RStatLimitRateDPO::getTime,startTime) + .le(RStatLimitRateDPO::getTime,endTime) + .eq(RStatLimitRateDPO::getPhasicType,"T"); return this.list(lambdaQueryWrapper); } } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/LimitRateService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/LimitRateService.java index 01c570688..b639109dc 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/LimitRateService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/LimitRateService.java @@ -2,6 +2,7 @@ package com.njcn.prepare.harmonic.service.mysql.Impl.line; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.common.utils.NjcnBeanUtil; +import com.njcn.device.biz.commApi.CommTerminalGeneralClient; import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.biz.pojo.po.Overlimit; import com.njcn.harmonic.pojo.po.LimitRate; @@ -50,7 +51,7 @@ public class LimitRateService extends MppServiceImpl indexLists,String startTime,String endTime) { log.info(LocalDateTime.now()+"r_stat_limit_target_d开始执行=======》"); List list = new ArrayList<>(); - Date dateOut = DateUtil.parse(time); + Date dateOut = DateUtil.parse(startTime); List limitRateData = new ArrayList<>(); - if (CollUtil.isEmpty(lineParam.getLineIds())){ - limitRateData = getLimitRateDataFromMysql(null,time); + + if (CollUtil.isEmpty(indexLists)){ + limitRateData = getLimitRateDataFromMysql(null,startTime,endTime); } else { - limitRateData = getLimitRateDataFromMysql(lineParam.getLineIds(),time); + limitRateData = getLimitRateDataFromMysql(indexLists,startTime,endTime); } if (!CollectionUtils.isEmpty(limitRateData)){ for (RStatLimitRateDPO limitRate : limitRateData){ @@ -101,8 +102,8 @@ public class LimitTargetServiceImpl extends MppServiceImpl getLimitRateDataFromMysql(List lineList, String date){ - return statLimitRateDService.findList(lineList,date); + private List getLimitRateDataFromMysql(List lineList,String startTime,String endTime){ + return statLimitRateDService.findList(lineList,startTime,endTime); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/PollutionServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/PollutionServiceImpl.java index 6ee485e2a..e5b47b69f 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/PollutionServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/PollutionServiceImpl.java @@ -55,9 +55,6 @@ import java.util.stream.Stream; @AllArgsConstructor public class PollutionServiceImpl implements PollutionService { - - private final LineFeignClient lineFeignClient; - private final DicDataFeignClient dicDataFeignClient; private final RStatPollutionOrgDMapper rStatPollutionOrgDMapper; @@ -106,7 +103,7 @@ public class PollutionServiceImpl implements PollutionService { overLimitList = getAllLinesLimitData(); }else { for (String lineId : lineParam.getLineIds()){ - Overlimit overlimit = lineFeignClient.getOverLimitData(lineId).getData(); + Overlimit overlimit = commTerminalGeneralClient.getOverLimitData(lineId).getData(); overLimitList.add(overlimit); } } @@ -155,8 +152,7 @@ public class PollutionServiceImpl implements PollutionService { * MySql入表 */ private void insertPolluctionMySql(List pollutionDayList, List dictData, LocalDateTime local, LocalDateTime localEnd,Integer type){ - HttpResult>> substationOut = lineFeignClient.getLineBySubstationRelation(1); - //HttpResult>> unitOut = deptLineFeignClient.getLineByDeptRelation(1); + HttpResult>> substationOut = commTerminalGeneralClient.getLineBySubstationRelation(1); Dept dept = deptFeignClient.getRootDept().getData(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); @@ -848,7 +844,7 @@ public class PollutionServiceImpl implements PollutionService { * 获取限值表中的所有监测点信息 */ private List getAllLinesLimitData() { - return lineFeignClient.getAllLineOverLimit("harmonic-boot","").getData(); + return commTerminalGeneralClient.getAllLineOverLimit().getData(); } } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/day/IRStatLimitRateDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/day/IRStatLimitRateDService.java index fb9e2b4b0..19a646c57 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/day/IRStatLimitRateDService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/day/IRStatLimitRateDService.java @@ -9,5 +9,5 @@ public interface IRStatLimitRateDService extends IMppService void insert(List list); - List findList(List list, String time); + List findList(List list,String startTime,String endTime); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/LimitTargetService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/LimitTargetService.java index 2112c5165..b05fcc9c3 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/LimitTargetService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/LimitTargetService.java @@ -2,6 +2,8 @@ package com.njcn.prepare.harmonic.service.mysql.line; import com.njcn.prepare.harmonic.pojo.param.LineParam; +import java.util.List; + /** * @author xiaoyao * @version 1.0.0 @@ -11,5 +13,5 @@ public interface LimitTargetService { void getLimitTargetData(LineParam lineParam); - void limitTargetData(LineParam lineParam,String time); + void limitTargetData(List indexLists,String startTime,String endTime); }