From 9ab2d1749603782c1b8cb36fee9f2664f62fb5fc Mon Sep 17 00:00:00 2001 From: xuyang <748613696@qq.com> Date: Mon, 4 Mar 2024 17:20:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B2=B3=E5=8C=97=E8=B6=85=E9=AB=98=E5=8E=8B?= =?UTF-8?q?=E7=AE=97=E6=B3=95=E8=B0=83=E6=95=B4=201.=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=B8=8A=E9=80=81=E6=9C=88=E6=95=B0=E6=8D=AE=E7=AE=97=E6=B3=95?= =?UTF-8?q?=202.=E5=9B=BD=E7=BD=91=E4=B8=8A=E9=80=81=E6=9C=88=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../harmonic/pojo/param/UploadDataParam.java | 4 ++ .../upload/EvaluationDataController.java | 5 +- .../PointStatisticalDataController.java | 5 +- .../SubstationStatisticalDataController.java | 5 +- .../impl/PointStatisticalDataServiceImpl.java | 55 ++++++++++++------- .../impl/REvaluationDataServiceImpl.java | 55 +++++++++++++------ ...RSubstationStatisticalDataServiceImpl.java | 54 ++++++++++++------ .../prepare/executor/OrgPointExecutor.java | 26 ++++++++- .../prepare/executor/SubStationExecutor.java | 15 ++++- .../upload/RUploadEvaluationDataDMapper.java | 8 +++ .../RUploadPointStatisticalDataDMapper.java | 7 +++ ...ploadSubstationStatisticalDataDMapper.java | 7 +++ .../mapping/RUploadEvaluationDataDMapper.xml | 43 +++++++++++++++ .../RUploadPointStatisticalDataDMapper.xml | 43 +++++++++++++++ ...UploadSubstationStatisticalDataDMapper.xml | 36 ++++++++++++ .../IRUploadEvaluationDataDService.java | 6 ++ .../IRUploadPointStatisticalDataDService.java | 6 ++ ...loadSubstationStatisticalDataDService.java | 6 ++ .../RUploadEvaluationDataDServiceImpl.java | 24 ++++++++ ...ploadPointStatisticalDataDServiceImpl.java | 23 +++++++- ...SubstationStatisticalDataDServiceImpl.java | 21 +++++++ 21 files changed, 392 insertions(+), 62 deletions(-) create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/mapping/RUploadEvaluationDataDMapper.xml create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/mapping/RUploadPointStatisticalDataDMapper.xml create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/mapping/RUploadSubstationStatisticalDataDMapper.xml diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/UploadDataParam.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/UploadDataParam.java index 1105fad5b..0501a4f12 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/UploadDataParam.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/UploadDataParam.java @@ -22,4 +22,8 @@ public class UploadDataParam extends BaseParam { @NotBlank(message = "单位id不可为空") private String orgId; + @ApiModelProperty("时间维度") + @NotBlank(message = "时间维度不可为空") + private String dataType; + } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/EvaluationDataController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/EvaluationDataController.java index 58693432a..0f1854c6f 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/EvaluationDataController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/EvaluationDataController.java @@ -18,7 +18,10 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** * 类的介绍:国网指标数据上送 diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/PointStatisticalDataController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/PointStatisticalDataController.java index fd6196091..af1f2ed95 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/PointStatisticalDataController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/PointStatisticalDataController.java @@ -18,7 +18,10 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** * 类的介绍:国网指标数据上送 diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/SubstationStatisticalDataController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/SubstationStatisticalDataController.java index 2fdc42abe..770daa722 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/SubstationStatisticalDataController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/SubstationStatisticalDataController.java @@ -18,7 +18,10 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** * 类的介绍:国网指标数据上送 diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/PointStatisticalDataServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/PointStatisticalDataServiceImpl.java index 21949bfc2..006283dcc 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/PointStatisticalDataServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/PointStatisticalDataServiceImpl.java @@ -2,10 +2,12 @@ package com.njcn.harmonic.service.upload.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.exception.BusinessException; @@ -13,13 +15,11 @@ import com.njcn.harmonic.mapper.upload.RUploadPointStatisticalDataDMapper; import com.njcn.harmonic.pojo.dto.upload.MonitorStatisticalDTO; import com.njcn.harmonic.pojo.param.UploadDataParam; import com.njcn.harmonic.pojo.param.UploadParam; -import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD; import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD; import com.njcn.harmonic.pojo.vo.upload.UploadPointStatisticalDataVo; import com.njcn.harmonic.service.upload.IPointStatisticalDataService; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataTypeEnum; -import com.njcn.system.pojo.po.Dic; import com.njcn.system.pojo.po.DictData; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.po.Dept; @@ -112,7 +112,6 @@ public class PointStatisticalDataServiceImpl extends ServiceImpl list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList()); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - + String beginMonth = formatBeginMonth(param.getSearchBeginTime(), param.getDataType()); switch (list.size()) { //国 case 1: - List l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData(); - String orgId = l1.stream().filter(o->!Objects.equals(o.getId(),dept.getId())).findFirst().orElse(null).getCode(); - lambdaQueryWrapper.eq(RUploadPointStatisticalDataD::getProvinceId,orgId) - .between(RUploadPointStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime()) - .eq(!Objects.isNull(param.getSearchState()),RUploadPointStatisticalDataD::getUploadStatus,param.getSearchState()); + String orgId = getOrgIdForProvince(dept); + addFiltersForProvince(lambdaQueryWrapper, orgId, beginMonth, param.getSearchState()); break; //省 case 2: - lambdaQueryWrapper.eq(RUploadPointStatisticalDataD::getProvinceId,param.getOrgId()) - .between(RUploadPointStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime()) - .eq(!Objects.isNull(param.getSearchState()),RUploadPointStatisticalDataD::getUploadStatus,param.getSearchState()); + addFilters(lambdaQueryWrapper, RUploadPointStatisticalDataD::getProvinceId, param.getOrgId(), beginMonth, param.getSearchState()); break; //市 case 3: - lambdaQueryWrapper.eq(RUploadPointStatisticalDataD::getCityId, param.getOrgId()) - .between(RUploadPointStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime()) - .eq(!Objects.isNull(param.getSearchState()),RUploadPointStatisticalDataD::getUploadStatus,param.getSearchState()); + addFilters(lambdaQueryWrapper, RUploadPointStatisticalDataD::getCityId, param.getOrgId(), beginMonth, param.getSearchState()); break; //县 case 4: - lambdaQueryWrapper.eq(RUploadPointStatisticalDataD::getCountyId, param.getOrgId()) - .between(RUploadPointStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime()) - .eq(!Objects.isNull(param.getSearchState()),RUploadPointStatisticalDataD::getUploadStatus,param.getSearchState()); + addFilters(lambdaQueryWrapper, RUploadPointStatisticalDataD::getCountyId, param.getOrgId(), beginMonth, param.getSearchState()); break; default: break; @@ -154,6 +144,33 @@ public class PointStatisticalDataServiceImpl extends ServiceImpl lambdaQueryWrapper, String orgId, String beginMonth, Integer searchState) { + lambdaQueryWrapper.eq(RUploadPointStatisticalDataD::getProvinceId, orgId) + .eq(RUploadPointStatisticalDataD::getStatisticalDate, beginMonth) + .eq(!Objects.isNull(searchState), RUploadPointStatisticalDataD::getUploadStatus, searchState); + } + + private void addFilters(LambdaQueryWrapper lambdaQueryWrapper, SFunction idFunction, String orgId, String beginMonth, Integer searchState) { + lambdaQueryWrapper.eq(idFunction, orgId) + .eq(RUploadPointStatisticalDataD::getStatisticalDate, beginMonth) + .eq(!Objects.isNull(searchState), RUploadPointStatisticalDataD::getUploadStatus, searchState); + } + + private String getOrgIdForProvince(Dept dept) { + List l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData(); + return l1.stream() + .filter(o -> !Objects.equals(o.getId(), dept.getId())) + .findFirst() + .map(Dept::getCode) + .orElse(null); + } /** * 国网上送返回信息 diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java index 7d419c491..d094d8dd0 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java @@ -3,9 +3,12 @@ package com.njcn.harmonic.service.upload.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.exception.BusinessException; @@ -14,7 +17,6 @@ import com.njcn.harmonic.pojo.dto.upload.PqEvaluationCreateDTO; import com.njcn.harmonic.pojo.param.UploadDataParam; import com.njcn.harmonic.pojo.param.UploadParam; import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD; -import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD; import com.njcn.harmonic.pojo.vo.upload.UploadEvaluationDataVo; import com.njcn.harmonic.service.upload.IEvaluationDataService; import com.njcn.system.api.DicDataFeignClient; @@ -97,7 +99,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList()); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - + String beginMonth = formatBeginMonth(param.getSearchBeginTime(), param.getDataType()); switch (list.size()) { //国 case 1: - List l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData(); - String orgId = l1.stream().filter(o->!Objects.equals(o.getId(),dept.getId())).findFirst().orElse(null).getCode(); - lambdaQueryWrapper.eq(RUploadEvaluationDataD::getProvinceId,orgId) - .between(RUploadEvaluationDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime()) - .eq(!Objects.isNull(param.getSearchState()),RUploadEvaluationDataD::getUploadStatus,param.getSearchState()); + String orgId = getOrgIdForProvince(dept); + addFiltersForProvince(lambdaQueryWrapper, orgId, beginMonth, param.getSearchState()); break; //省 case 2: - lambdaQueryWrapper.eq(RUploadEvaluationDataD::getProvinceId,param.getOrgId()) - .between(RUploadEvaluationDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime()) - .eq(!Objects.isNull(param.getSearchState()),RUploadEvaluationDataD::getUploadStatus,param.getSearchState()); + addFilters(lambdaQueryWrapper, RUploadEvaluationDataD::getProvinceId, param.getOrgId(), beginMonth, param.getSearchState()); break; //市 case 3: - lambdaQueryWrapper.eq(RUploadEvaluationDataD::getCityId, param.getOrgId()) - .between(RUploadEvaluationDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime()) - .eq(!Objects.isNull(param.getSearchState()),RUploadEvaluationDataD::getUploadStatus,param.getSearchState()); + addFilters(lambdaQueryWrapper, RUploadEvaluationDataD::getCityId, param.getOrgId(), beginMonth, param.getSearchState()); break; //县 case 4: - lambdaQueryWrapper.eq(RUploadEvaluationDataD::getCountyId, param.getOrgId()) - .between(RUploadEvaluationDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime()) - .eq(!Objects.isNull(param.getSearchState()),RUploadEvaluationDataD::getUploadStatus,param.getSearchState()); + addFilters(lambdaQueryWrapper, RUploadEvaluationDataD::getCountyId, param.getOrgId(), beginMonth, param.getSearchState()); break; default: break; @@ -195,6 +188,34 @@ public class REvaluationDataServiceImpl extends ServiceImpl lambdaQueryWrapper, String orgId, String beginMonth, Integer searchState) { + lambdaQueryWrapper.eq(RUploadEvaluationDataD::getProvinceId, orgId) + .eq(RUploadEvaluationDataD::getStatisticalDate, beginMonth) + .eq(!Objects.isNull(searchState), RUploadEvaluationDataD::getUploadStatus, searchState); + } + + private void addFilters(LambdaQueryWrapper lambdaQueryWrapper, SFunction idFunction, String orgId, String beginMonth, Integer searchState) { + lambdaQueryWrapper.eq(idFunction, orgId) + .eq(RUploadEvaluationDataD::getStatisticalDate, beginMonth) + .eq(!Objects.isNull(searchState), RUploadEvaluationDataD::getUploadStatus, searchState); + } + + private String getOrgIdForProvince(Dept dept) { + List l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData(); + return l1.stream() + .filter(o -> !Objects.equals(o.getId(), dept.getId())) + .findFirst() + .map(Dept::getCode) + .orElse(null); + } + /** * 国网上送返回信息 * diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RSubstationStatisticalDataServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RSubstationStatisticalDataServiceImpl.java index 75623ff5f..6d6aa4cdd 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RSubstationStatisticalDataServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RSubstationStatisticalDataServiceImpl.java @@ -2,10 +2,12 @@ package com.njcn.harmonic.service.upload.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.exception.BusinessException; @@ -13,7 +15,6 @@ import com.njcn.harmonic.mapper.upload.RUploadSubstationStatisticalDataDMapper; import com.njcn.harmonic.pojo.dto.upload.SubstationQualityStatisticsDTO; import com.njcn.harmonic.pojo.param.UploadDataParam; import com.njcn.harmonic.pojo.param.UploadParam; -import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD; import com.njcn.harmonic.pojo.po.upload.RUploadSubstationStatisticalDataD; import com.njcn.harmonic.pojo.vo.upload.UploadSubstationStatisticalDataVo; import com.njcn.harmonic.service.upload.ISubstationStatisticalDataService; @@ -113,33 +114,24 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList()); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - + String beginMonth = formatBeginMonth(param.getSearchBeginTime(), param.getDataType()); switch (list.size()) { //国 case 1: - List l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData(); - String orgId = l1.stream().filter(o->!Objects.equals(o.getId(),dept.getId())).findFirst().orElse(null).getCode(); - lambdaQueryWrapper.eq(RUploadSubstationStatisticalDataD::getProvinceId,orgId) - .between(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime()) - .eq(!Objects.isNull(param.getSearchState()),RUploadSubstationStatisticalDataD::getUploadStatus,param.getSearchState()); + String orgId = getOrgIdForProvince(dept); + addFiltersForProvince(lambdaQueryWrapper, orgId, beginMonth, param.getSearchState()); break; //省 case 2: - lambdaQueryWrapper.eq(RUploadSubstationStatisticalDataD::getProvinceId,param.getOrgId()) - .between(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime()) - .eq(!Objects.isNull(param.getSearchState()),RUploadSubstationStatisticalDataD::getUploadStatus,param.getSearchState()); + addFilters(lambdaQueryWrapper, RUploadSubstationStatisticalDataD::getProvinceId, param.getOrgId(), beginMonth, param.getSearchState()); break; //市 case 3: - lambdaQueryWrapper.eq(RUploadSubstationStatisticalDataD::getCityId, param.getOrgId()) - .between(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime()) - .eq(!Objects.isNull(param.getSearchState()),RUploadSubstationStatisticalDataD::getUploadStatus,param.getSearchState()); + addFilters(lambdaQueryWrapper, RUploadSubstationStatisticalDataD::getCityId, param.getOrgId(), beginMonth, param.getSearchState()); break; //县 case 4: - lambdaQueryWrapper.eq(RUploadSubstationStatisticalDataD::getCountyId, param.getOrgId()) - .between(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime()) - .eq(!Objects.isNull(param.getSearchState()),RUploadSubstationStatisticalDataD::getUploadStatus,param.getSearchState()); + addFilters(lambdaQueryWrapper, RUploadSubstationStatisticalDataD::getCountyId, param.getOrgId(), beginMonth, param.getSearchState()); break; default: break; @@ -147,6 +139,34 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl lambdaQueryWrapper, String orgId, String beginMonth, Integer searchState) { + lambdaQueryWrapper.eq(RUploadSubstationStatisticalDataD::getProvinceId, orgId) + .eq(RUploadSubstationStatisticalDataD::getStatisticalDate, beginMonth) + .eq(!Objects.isNull(searchState), RUploadSubstationStatisticalDataD::getUploadStatus, searchState); + } + + private void addFilters(LambdaQueryWrapper lambdaQueryWrapper, SFunction idFunction, String orgId, String beginMonth, Integer searchState) { + lambdaQueryWrapper.eq(idFunction, orgId) + .eq(RUploadSubstationStatisticalDataD::getStatisticalDate, beginMonth) + .eq(!Objects.isNull(searchState), RUploadSubstationStatisticalDataD::getUploadStatus, searchState); + } + + private String getOrgIdForProvince(Dept dept) { + List l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData(); + return l1.stream() + .filter(o -> !Objects.equals(o.getId(), dept.getId())) + .findFirst() + .map(Dept::getCode) + .orElse(null); + } + /** * 国网上送返回信息 * diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/OrgPointExecutor.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/OrgPointExecutor.java index 1b1f388f6..28bb330ec 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/OrgPointExecutor.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/OrgPointExecutor.java @@ -620,7 +620,18 @@ public class OrgPointExecutor extends BaseExecutor{ } @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rUploadPointStatisticalData", nodeType = NodeTypeEnum.COMMON) public void rUploadPointStatisticalDataProcess(NodeComponent bindCmp) { - irUploadPointStatisticalDataDService.insertPointStatisticalDataDay(bindCmp.getRequestData()); + String tag = bindCmp.getTag(); + CalculatedParam calculatedParam = bindCmp.getRequestData(); + if (tag.equalsIgnoreCase("r_upload_point_statistical_data_d")) { + //日表 + irUploadPointStatisticalDataDService.insertPointStatisticalDataDay(bindCmp.getRequestData()); + } else if (tag.equalsIgnoreCase("r_upload_point_statistical_data_m")) { + //数据补招不执行非日表算法 + if (!calculatedParam.isRepair()) { + //月表 + irUploadPointStatisticalDataDService.insertPointStatisticalDataMonth(bindCmp.getRequestData()); + } + } } /** @@ -661,7 +672,18 @@ public class OrgPointExecutor extends BaseExecutor{ } @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rUploadEvaluationData", nodeType = NodeTypeEnum.COMMON) public void rUploadEvaluationDataProcess(NodeComponent bindCmp) { - irUploadEvaluationDataDService.insertEvaluationDataDay(bindCmp.getRequestData()); + String tag = bindCmp.getTag(); + CalculatedParam calculatedParam = bindCmp.getRequestData(); + if (tag.equalsIgnoreCase("r_upload_evaluation_data_d")) { + //日表 + irUploadEvaluationDataDService.insertEvaluationDataDay(bindCmp.getRequestData()); + } else if (tag.equalsIgnoreCase("r_upload_evaluation_data_m")) { + //数据补招不执行非日表算法 + if (!calculatedParam.isRepair()) { + //月表 + irUploadEvaluationDataDService.insertEvaluationDataMonth(bindCmp.getRequestData()); + } + } } } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/SubStationExecutor.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/SubStationExecutor.java index f02abaa32..a3b15ad3d 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/SubStationExecutor.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/executor/SubStationExecutor.java @@ -1,5 +1,6 @@ package com.njcn.prepare.executor; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam; import com.njcn.prepare.harmonic.service.mysql.line.PollutionService; import com.njcn.prepare.harmonic.service.mysql.newalgorithm.RStatSubstationService; @@ -138,9 +139,19 @@ public class SubStationExecutor extends BaseExecutor{ } @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rUploadSubStatisticalData", nodeType = NodeTypeEnum.COMMON) public void rUploadSubStatisticalDataProcess(NodeComponent bindCmp) { - rUploadSubstationStatisticalDataDService.insertSubStatisticalDataDay(bindCmp.getRequestData()); + String tag = bindCmp.getTag(); + CalculatedParam calculatedParam = bindCmp.getRequestData(); + if (tag.equalsIgnoreCase("r_upload_substation_statistical_data_d")) { + //日表 + rUploadSubstationStatisticalDataDService.insertSubStatisticalDataDay(bindCmp.getRequestData()); + } else if (tag.equalsIgnoreCase("r_upload_substation_statistical_data_m")) { + //数据补招不执行非日表算法 + if (!calculatedParam.isRepair()) { + //月表 + rUploadSubstationStatisticalDataDService.insertSubStatisticalDataMonth(bindCmp.getRequestData()); + } + } } - /********************************************算法负责人:xy结束***********************************************************/ } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/RUploadEvaluationDataDMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/RUploadEvaluationDataDMapper.java index 3e366902b..cdc015b5f 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/RUploadEvaluationDataDMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/RUploadEvaluationDataDMapper.java @@ -1,7 +1,12 @@ package com.njcn.prepare.harmonic.mapper.mysql.upload; +import com.baomidou.dynamic.datasource.annotation.DS; import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,6 +16,9 @@ import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD; * @author xuyang * @since 2023-12-12 */ +@DS("master") public interface RUploadEvaluationDataDMapper extends MppBaseMapper { + List evaluationMonthData(@Param("monthDate") String monthDate,@Param("startTime") String startTime,@Param("endTime") String endTime); + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/RUploadPointStatisticalDataDMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/RUploadPointStatisticalDataDMapper.java index 6cf3c3593..11a79ee7d 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/RUploadPointStatisticalDataDMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/RUploadPointStatisticalDataDMapper.java @@ -1,7 +1,11 @@ package com.njcn.prepare.harmonic.mapper.mysql.upload; +import com.baomidou.dynamic.datasource.annotation.DS; import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,6 +15,9 @@ import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD; * @author xuyang * @since 2023-12-07 */ +@DS("master") public interface RUploadPointStatisticalDataDMapper extends MppBaseMapper { + List pointStatisticalMonthData(@Param("monthDate") String monthDate, @Param("startTime") String startTime, @Param("endTime") String endTime); + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/RUploadSubstationStatisticalDataDMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/RUploadSubstationStatisticalDataDMapper.java index 5c720785e..2e5bf326d 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/RUploadSubstationStatisticalDataDMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/RUploadSubstationStatisticalDataDMapper.java @@ -1,7 +1,11 @@ package com.njcn.prepare.harmonic.mapper.mysql.upload; +import com.baomidou.dynamic.datasource.annotation.DS; import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; import com.njcn.harmonic.pojo.po.upload.RUploadSubstationStatisticalDataD; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,6 +15,9 @@ import com.njcn.harmonic.pojo.po.upload.RUploadSubstationStatisticalDataD; * @author xuyang * @since 2023-12-08 */ +@DS("master") public interface RUploadSubstationStatisticalDataDMapper extends MppBaseMapper { + List substationStatisticalMonthData(@Param("monthDate") String monthDate, @Param("startTime") String startTime, @Param("endTime") String endTime); + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/mapping/RUploadEvaluationDataDMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/mapping/RUploadEvaluationDataDMapper.xml new file mode 100644 index 000000000..df6c32502 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/mapping/RUploadEvaluationDataDMapper.xml @@ -0,0 +1,43 @@ + + + + + + + \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/mapping/RUploadPointStatisticalDataDMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/mapping/RUploadPointStatisticalDataDMapper.xml new file mode 100644 index 000000000..d2d8e56c8 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/mapping/RUploadPointStatisticalDataDMapper.xml @@ -0,0 +1,43 @@ + + + + + + + + \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/mapping/RUploadSubstationStatisticalDataDMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/mapping/RUploadSubstationStatisticalDataDMapper.xml new file mode 100644 index 000000000..6d2a7c1cb --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/upload/mapping/RUploadSubstationStatisticalDataDMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/IRUploadEvaluationDataDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/IRUploadEvaluationDataDService.java index 0b2d58760..19c65ad44 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/IRUploadEvaluationDataDService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/IRUploadEvaluationDataDService.java @@ -21,4 +21,10 @@ public interface IRUploadEvaluationDataDService extends IService calculatedParam); + /** + * 电能质量基准水平评估数据-月表 + * @param calculatedParam + */ + void insertEvaluationDataMonth(CalculatedParam calculatedParam); + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/IRUploadPointStatisticalDataDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/IRUploadPointStatisticalDataDService.java index 66e6f8770..2f213a39a 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/IRUploadPointStatisticalDataDService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/IRUploadPointStatisticalDataDService.java @@ -21,4 +21,10 @@ public interface IRUploadPointStatisticalDataDService extends IService calculatedParam); + /** + * 主配网监测点统计数据-月表 + * @param calculatedParam + */ + void insertPointStatisticalDataMonth(CalculatedParam calculatedParam); + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/IRUploadSubstationStatisticalDataDService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/IRUploadSubstationStatisticalDataDService.java index af348edcf..908438073 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/IRUploadSubstationStatisticalDataDService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/IRUploadSubstationStatisticalDataDService.java @@ -21,4 +21,10 @@ public interface IRUploadSubstationStatisticalDataDService extends IService calculatedParam); + /** + * 变电站监测统计数据-月数据 + * @param calculatedParam + */ + void insertSubStatisticalDataMonth(CalculatedParam calculatedParam); + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadEvaluationDataDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadEvaluationDataDServiceImpl.java index 8c310c36f..1d23fae4b 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadEvaluationDataDServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadEvaluationDataDServiceImpl.java @@ -1,6 +1,8 @@ package com.njcn.prepare.harmonic.service.mysql.upload.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; @@ -167,6 +169,28 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl calculatedParam) { + //开始月份 + String beginMonth = DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_MONTH_PATTERN)), DatePattern.NORM_MONTH_PATTERN); + //起始时间 + String startTime = DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN); + //结束时间 + String endTime = DateUtil.format(DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN); + //数据集 + List list = this.baseMapper.evaluationMonthData(beginMonth,startTime,endTime); + if (CollUtil.isNotEmpty(list)){ + list.forEach(item->{ + item.setId(IdUtil.simpleUUID()); + }); + this.saveOrUpdateBatchByMultiId(list,1000); + } + } + /** * 获取 在运 && 正常 && 国网上送 的监测点信息 */ diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadPointStatisticalDataDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadPointStatisticalDataDServiceImpl.java index 9206ed909..41c3dc4aa 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadPointStatisticalDataDServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadPointStatisticalDataDServiceImpl.java @@ -1,13 +1,15 @@ package com.njcn.prepare.harmonic.service.mysql.upload.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.device.biz.pojo.dto.LineDevGetDTO; import com.njcn.device.pq.pojo.po.RStatIntegrityD; -import com.njcn.harmonic.pojo.po.ROperatingIndexDPO; import com.njcn.harmonic.pojo.po.upload.RUploadPointStatisticalDataD; import com.njcn.prepare.harmonic.enums.UploadEnum; import com.njcn.prepare.harmonic.mapper.mysql.area.ROperatingIndexDPOMapper; @@ -23,7 +25,6 @@ import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.enums.DicTreeEnum; import com.njcn.system.pojo.po.DictData; import com.njcn.system.pojo.po.SysDicTreePO; -import com.njcn.system.pojo.vo.DictTreeVO; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.po.Dept; import lombok.RequiredArgsConstructor; @@ -256,6 +257,24 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl calculatedParam) { + //开始月份 + String beginMonth = DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_MONTH_PATTERN)), DatePattern.NORM_MONTH_PATTERN); + //起始时间 + String startTime = DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN); + //结束时间 + String endTime = DateUtil.format(DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN); + //数据集 + List list = this.baseMapper.pointStatisticalMonthData(beginMonth,startTime,endTime); + if (CollUtil.isNotEmpty(list)){ + list.forEach(item->{ + item.setId(IdUtil.simpleUUID()); + }); + this.saveOrUpdateBatchByMultiId(list,1000); + } + } + /** * r_stat_integrity_d表中获取数据应收数、实收数 */ diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadSubstationStatisticalDataDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadSubstationStatisticalDataDServiceImpl.java index edf292883..685515fc4 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadSubstationStatisticalDataDServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RUploadSubstationStatisticalDataDServiceImpl.java @@ -2,6 +2,8 @@ package com.njcn.prepare.harmonic.service.mysql.upload.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; @@ -109,6 +111,25 @@ public class RUploadSubstationStatisticalDataDServiceImpl extends MppServiceImpl } } + @Override + public void insertSubStatisticalDataMonth(CalculatedParam calculatedParam) { + //开始月份 + String beginMonth = DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_MONTH_PATTERN)), DatePattern.NORM_MONTH_PATTERN); + //起始时间 + String startTime = DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN); + //结束时间 + String endTime = DateUtil.format(DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN); + //数据集 + List list = this.baseMapper.substationStatisticalMonthData(beginMonth,startTime,endTime); + if (CollUtil.isNotEmpty(list)){ + list.forEach(item->{ + item.setId(IdUtil.simpleUUID()); + }); + this.saveOrUpdateBatchByMultiId(list,1000); + } + + } + /** * 获取中台电站信息 */