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 new file mode 100644 index 000000000..1105fad5b --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/UploadDataParam.java @@ -0,0 +1,25 @@ +package com.njcn.harmonic.pojo.param; + +import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; + +/** + * 类的介绍:国网数据查询参数实体 + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/12/14 9:30 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class UploadDataParam extends BaseParam { + + @ApiModelProperty("单位id") + @NotBlank(message = "单位id不可为空") + private String orgId; + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/UploadParam.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/UploadParam.java index e3e108659..2a46f7dcc 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/UploadParam.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/UploadParam.java @@ -1,25 +1,26 @@ package com.njcn.harmonic.pojo.param; -import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode; import javax.validation.constraints.NotBlank; +import java.util.List; /** - * 类的介绍:国网数据查询参数实体 + * 类的介绍:上送国网数据参数实体 * * @author xuyang * @version 1.0.0 * @createTime 2023/12/14 9:30 */ @Data -@EqualsAndHashCode(callSuper = true) -public class UploadParam extends BaseParam { +public class UploadParam { - @ApiModelProperty("单位id") - @NotBlank(message = "单位id不可为空") - private String orgId; + @ApiModelProperty("时间") + @NotBlank(message = "时间不可为空") + private String time; + + @ApiModelProperty("上送数据集合 可以不传,后台默认规则查询") + private List list; } 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 d435b0bfe..e51b34470 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 @@ -7,6 +7,7 @@ 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.LogUtil; +import com.njcn.harmonic.pojo.param.UploadDataParam; import com.njcn.harmonic.pojo.param.UploadParam; import com.njcn.harmonic.pojo.vo.upload.UploadEvaluationDataVo; import com.njcn.harmonic.service.upload.IEvaluationDataService; @@ -39,7 +40,7 @@ public class EvaluationDataController extends BaseController { @PostMapping("/getEvaluationData") @ApiOperation("查询母线基准水平评估数据") @ApiImplicitParam(name = "param", value = "实体参数", required = true) - public HttpResult> getEvaluationData(@RequestBody UploadParam param) { + public HttpResult> getEvaluationData(@RequestBody UploadDataParam param) { String methodDescribe = getMethodDescribe("getEvaluationData"); LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param); Page list = evaluationDataService.getEvaluationData(param); @@ -49,11 +50,11 @@ public class EvaluationDataController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/uploadEvaluationData") @ApiOperation("国网上送-母线基准水平评估数据") - @ApiImplicitParam(name = "time", value = "时间", required = true) - public HttpResult uploadEvaluationData(@RequestParam("time") String time) { + @ApiImplicitParam(name = "param", value = "实体参数", required = true) + public HttpResult uploadEvaluationData(@RequestBody UploadParam param) { String methodDescribe = getMethodDescribe("uploadEvaluationData"); - LogUtil.njcnDebug(log, "{},时间:{}", methodDescribe, time); - String result = evaluationDataService.uploadEvaluationData(time); + LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param); + String result = evaluationDataService.uploadEvaluationData(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } 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 48369740f..4e2281c3b 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 @@ -7,6 +7,7 @@ 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.LogUtil; +import com.njcn.harmonic.pojo.param.UploadDataParam; import com.njcn.harmonic.pojo.param.UploadParam; import com.njcn.harmonic.pojo.vo.upload.UploadPointStatisticalDataVo; import com.njcn.harmonic.service.upload.IPointStatisticalDataService; @@ -40,7 +41,7 @@ public class PointStatisticalDataController extends BaseController { @PostMapping("/getPointStatisticalData") @ApiOperation("查询主配网监测点统计数据") @ApiImplicitParam(name = "param", value = "实体参数", required = true) - public HttpResult> getPointStatisticalData(@RequestBody UploadParam param) { + public HttpResult> getPointStatisticalData(@RequestBody UploadDataParam param) { String methodDescribe = getMethodDescribe("getPointStatisticalData"); LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param); Page list = pointStatisticalDataService.getPointStatisticalData(param); @@ -50,11 +51,11 @@ public class PointStatisticalDataController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/uploadPointStatisticalData") @ApiOperation("国网上送-主配网监测点统计数据") - @ApiImplicitParam(name = "time", value = "时间", required = true) - public HttpResult uploadPointStatisticalData(@RequestParam("time") String time) { + @ApiImplicitParam(name = "param", value = "实体参数", required = true) + public HttpResult uploadPointStatisticalData(@RequestBody UploadParam param) { String methodDescribe = getMethodDescribe("uploadPointStatisticalData"); - LogUtil.njcnDebug(log, "{},时间:{}", methodDescribe, time); - String result = pointStatisticalDataService.uploadPointStatisticalData(time); + LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param); + String result = pointStatisticalDataService.uploadPointStatisticalData(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } 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 745948c31..e8083e73a 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 @@ -7,6 +7,7 @@ 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.LogUtil; +import com.njcn.harmonic.pojo.param.UploadDataParam; import com.njcn.harmonic.pojo.param.UploadParam; import com.njcn.harmonic.pojo.vo.upload.UploadSubstationStatisticalDataVo; import com.njcn.harmonic.service.upload.ISubstationStatisticalDataService; @@ -40,7 +41,7 @@ public class SubstationStatisticalDataController extends BaseController { @PostMapping("/getSubstationStatisticalData") @ApiOperation("查询变电站监测统计数据") @ApiImplicitParam(name = "param", value = "实体参数", required = true) - public HttpResult> getSubstationStatisticalData(@RequestBody UploadParam param) { + public HttpResult> getSubstationStatisticalData(@RequestBody UploadDataParam param) { String methodDescribe = getMethodDescribe("getSubstationStatisticalData"); LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param); Page list = substationStatisticalDataService.getSubstationStatisticalData(param); @@ -50,11 +51,11 @@ public class SubstationStatisticalDataController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/uploadSubstationStatisticalData") @ApiOperation("国网上送-变电站监测统计数据") - @ApiImplicitParam(name = "time", value = "时间", required = true) - public HttpResult uploadSubstationStatisticalData(@RequestParam("time") String time) { + @ApiImplicitParam(name = "param", value = "实体参数", required = true) + public HttpResult uploadSubstationStatisticalData(@RequestBody UploadParam param) { String methodDescribe = getMethodDescribe("uploadSubstationStatisticalData"); - LogUtil.njcnDebug(log, "{},时间:{}", methodDescribe, time); - String result = substationStatisticalDataService.uploadSubstationStatisticalData(time); + LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param); + String result = substationStatisticalDataService.uploadSubstationStatisticalData(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IEvaluationDataService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IEvaluationDataService.java index 7ac520c43..21a80f0c5 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IEvaluationDataService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IEvaluationDataService.java @@ -2,6 +2,7 @@ package com.njcn.harmonic.service.upload; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +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.vo.upload.UploadEvaluationDataVo; @@ -20,12 +21,12 @@ public interface IEvaluationDataService extends IService * 2.4.1.8接收电能质量基准水平评估数据接口 * @param param */ - Page getEvaluationData(UploadParam param); + Page getEvaluationData(UploadDataParam param); /** * 数据上送接口 - * @param time + * @param param */ - String uploadEvaluationData(String time); + String uploadEvaluationData(UploadParam param); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IPointStatisticalDataService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IPointStatisticalDataService.java index 610db9c33..e5c12b4a9 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IPointStatisticalDataService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IPointStatisticalDataService.java @@ -2,6 +2,7 @@ package com.njcn.harmonic.service.upload; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +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.vo.upload.UploadPointStatisticalDataVo; @@ -15,12 +16,12 @@ public interface IPointStatisticalDataService extends IService getPointStatisticalData(UploadParam param); + Page getPointStatisticalData(UploadDataParam param); /** * 数据上送接口 - * @param time + * @param param */ - String uploadPointStatisticalData(String time); + String uploadPointStatisticalData(UploadParam param); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/ISubstationStatisticalDataService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/ISubstationStatisticalDataService.java index 82252be3a..28370243b 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/ISubstationStatisticalDataService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/ISubstationStatisticalDataService.java @@ -2,6 +2,7 @@ package com.njcn.harmonic.service.upload; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.param.UploadDataParam; import com.njcn.harmonic.pojo.param.UploadParam; import com.njcn.harmonic.pojo.po.upload.RUploadSubstationStatisticalDataD; import com.njcn.harmonic.pojo.vo.upload.UploadSubstationStatisticalDataVo; @@ -20,11 +21,11 @@ public interface ISubstationStatisticalDataService extends IService getSubstationStatisticalData(UploadParam param); + Page getSubstationStatisticalData(UploadDataParam param); /** * 数据上送接口 - * @param time + * @param param */ - String uploadSubstationStatisticalData(String time); + String uploadSubstationStatisticalData(UploadParam param); } 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 eeb8e18c1..4dcf03836 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 @@ -1,6 +1,7 @@ package com.njcn.harmonic.service.upload.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -9,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.exception.BusinessException; 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.RUploadPointStatisticalDataD; import com.njcn.harmonic.pojo.vo.upload.UploadPointStatisticalDataVo; @@ -41,7 +43,7 @@ public class PointStatisticalDataServiceImpl extends ServiceImpl getPointStatisticalData(UploadParam param) { + public Page getPointStatisticalData(UploadDataParam param) { LambdaQueryWrapper lambdaQueryWrapper = getDeptLevel(param); //默认按照省名称排序 lambdaQueryWrapper.orderByDesc(RUploadPointStatisticalDataD::getProvinceName); @@ -57,20 +59,33 @@ public class PointStatisticalDataServiceImpl extends ServiceImpl list = this.lambdaQuery() - .eq(RUploadPointStatisticalDataD::getStatisticalDate,time) - .eq(RUploadPointStatisticalDataD::getUploadStatus,0).list(); + public String uploadPointStatisticalData(UploadParam param) { + List list; + //指定数据上送,不管之前有没有上送,都重新上送一次 + //(预防之前送上过,修改数据后需要再次上送) + if (CollectionUtil.isNotEmpty(param.getList())){ + list = this.lambdaQuery() + .eq(RUploadPointStatisticalDataD::getStatisticalDate,param.getTime()) + .in(RUploadPointStatisticalDataD::getId,param.getList()) + .list(); + } + //未指定数据上送,则将所有未上送的数据,上送上去 + else { + list = this.lambdaQuery() + .eq(RUploadPointStatisticalDataD::getStatisticalDate,param.getTime()) + .eq(RUploadPointStatisticalDataD::getUploadStatus,0) + .list(); + } List dtoList = BeanUtil.copyToList(list, MonitorStatisticalDTO.class); //以尺寸100分片 List> pendingIds = ListUtils.partition(dtoList, 100); //分片上传 for (int i = 0; i < pendingIds.size(); i++) { - SendParam param = new SendParam(); - param.setStats(pendingIds.get(i)); - param.setStatisticalDate(time); + SendParam sp = new SendParam(); + sp.setStats(pendingIds.get(i)); + sp.setStatisticalDate(param.getTime()); //上送数据 - Map send = GwSendUtil.send(param, GWSendEnum.STATISTICAL_CREATE); + Map send = GwSendUtil.send(sp, GWSendEnum.STATISTICAL_CREATE); //获取返回结果 List l = pendingIds.get(i).stream().map(MonitorStatisticalDTO::getId).collect(Collectors.toList()); returnInformation(i,l,send); @@ -82,7 +97,7 @@ public class PointStatisticalDataServiceImpl extends ServiceImpl getDeptLevel(UploadParam param) { + public LambdaQueryWrapper getDeptLevel(UploadDataParam param) { Dept dept = deptFeignClient.getDeptByCode(param.getOrgId()).getData(); List list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList()); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); 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 360cddeda..b8ba91a35 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 @@ -1,6 +1,7 @@ package com.njcn.harmonic.service.upload.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -9,8 +10,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.harmonic.mapper.upload.RUploadEvaluationDataDMapper; 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.user.api.DeptFeignClient; @@ -46,7 +49,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl getEvaluationData(UploadParam param) { + public Page getEvaluationData(UploadDataParam param) { LambdaQueryWrapper lambdaQueryWrapper = getDeptLevel(param); //默认按照省名称排序 lambdaQueryWrapper.orderByDesc(RUploadEvaluationDataD::getProvinceName); @@ -62,31 +65,43 @@ public class REvaluationDataServiceImpl extends ServiceImpl list = this.lambdaQuery() - .eq(RUploadEvaluationDataD::getStatisticalDate,time) - .eq(RUploadEvaluationDataD::getUploadStatus,0).list(); + public String uploadEvaluationData(UploadParam param) { + List list; + //指定数据上送,不管之前有没有上送,都重新上送一次 + //(预防之前送上过,修改数据后需要再次上送) + if (CollectionUtil.isNotEmpty(param.getList())){ + list = this.lambdaQuery() + .eq(RUploadEvaluationDataD::getStatisticalDate,param.getTime()) + .in(RUploadEvaluationDataD::getId,param.getList()) + .list(); + } + //未指定数据上送,则将所有未上送的数据,上送上去 + else { + list = this.lambdaQuery() + .eq(RUploadEvaluationDataD::getStatisticalDate,param.getTime()) + .eq(RUploadEvaluationDataD::getUploadStatus,0) + .list(); + } List dtoList = BeanUtil.copyToList(list, PqEvaluationCreateDTO.class); //以尺寸100分片 List> pendingIds = ListUtils.partition(dtoList, 100); //分片上传 for (int i = 0; i < pendingIds.size(); i++) { //处理数据 - List l1 = pendingIds.get(i).stream().map(item->{ + List l1 = pendingIds.get(i).stream().peek(item->{ if (Objects.equals(item.getAvgValue(),3.1415926)){ item.setAvgValue(0d); } if (Objects.equals(item.getStandardDeviation(),3.1415926)){ item.setStandardDeviation(0d); } - return item; }).collect(Collectors.toList()); //组装数据 - SendParam param = new SendParam(); - param.setStats(l1); - param.setStatisticalDate(time); + SendParam sp = new SendParam(); + sp.setStats(l1); + sp.setStatisticalDate(param.getTime()); //上送数据 - Map send = GwSendUtil.send(param, GWSendEnum.EVALUATION); + Map send = GwSendUtil.send(sp, GWSendEnum.EVALUATION); //获取返回结果 List l = pendingIds.get(i).stream().map(PqEvaluationCreateDTO::getId).collect(Collectors.toList()); returnInformation(i,l,send); @@ -98,7 +113,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl getDeptLevel(UploadParam param) { + public LambdaQueryWrapper getDeptLevel(UploadDataParam param) { Dept dept = deptFeignClient.getDeptByCode(param.getOrgId()).getData(); List list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList()); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); 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 b80a3281d..f1e467d33 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 @@ -1,6 +1,7 @@ package com.njcn.harmonic.service.upload.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -8,12 +9,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.harmonic.mapper.upload.RUploadSubstationStatisticalDataDMapper; -import com.njcn.harmonic.pojo.dto.upload.MonitorStatisticalDTO; 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.UploadPointStatisticalDataVo; import com.njcn.harmonic.pojo.vo.upload.UploadSubstationStatisticalDataVo; import com.njcn.harmonic.service.upload.ISubstationStatisticalDataService; import com.njcn.user.api.DeptFeignClient; @@ -48,7 +48,7 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl getSubstationStatisticalData(UploadParam param) { + public Page getSubstationStatisticalData(UploadDataParam param) { LambdaQueryWrapper lambdaQueryWrapper = getDeptLevel(param); //默认按照省名称排序 lambdaQueryWrapper.orderByDesc(RUploadSubstationStatisticalDataD::getProvinceName); @@ -64,20 +64,34 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl list = this.lambdaQuery() - .eq(RUploadSubstationStatisticalDataD::getStatisticalDate,time) - .eq(RUploadSubstationStatisticalDataD::getUploadStatus,0).list(); + public String uploadSubstationStatisticalData(UploadParam param) { + + List list; + //指定数据上送,不管之前有没有上送,都重新上送一次 + //(预防之前送上过,修改数据后需要再次上送) + if (CollectionUtil.isNotEmpty(param.getList())){ + list = this.lambdaQuery() + .eq(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getTime()) + .in(RUploadSubstationStatisticalDataD::getId,param.getList()) + .list(); + } + //未指定数据上送,则将所有未上送的数据,上送上去 + else { + list = this.lambdaQuery() + .eq(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getTime()) + .eq(RUploadSubstationStatisticalDataD::getUploadStatus,0) + .list(); + } List dtoList = BeanUtil.copyToList(list, SubstationQualityStatisticsDTO.class); //以尺寸100分片 List> pendingIds = ListUtils.partition(dtoList, 100); //分片上传 for (int i = 0; i < pendingIds.size(); i++) { - SendParam param = new SendParam(); - param.setStats(pendingIds.get(i)); - param.setStatisticalDate(time); + SendParam sp = new SendParam(); + sp.setStats(pendingIds.get(i)); + sp.setStatisticalDate(param.getTime()); //上送数据 - Map send = GwSendUtil.send(param, GWSendEnum.SUBSTATION_MONITOR); + Map send = GwSendUtil.send(sp, GWSendEnum.SUBSTATION_MONITOR); //获取返回结果 List l = pendingIds.get(i).stream().map(SubstationQualityStatisticsDTO::getId).collect(Collectors.toList()); returnInformation(i,l,send); @@ -88,7 +102,7 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl getDeptLevel(UploadParam param) { + public LambdaQueryWrapper getDeptLevel(UploadDataParam param) { Dept dept = deptFeignClient.getDeptByCode(param.getOrgId()).getData(); List list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList()); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();