From acd746a28009376b324b4fbfd6b6d341fdb09a0a Mon Sep 17 00:00:00 2001 From: zhangbaojian <1065122561@qq.com> Date: Thu, 15 Jun 2023 10:06:54 +0800 Subject: [PATCH] =?UTF-8?q?zbj//1.=E5=8D=95=E4=BD=8D=E6=9A=82=E6=80=81?= =?UTF-8?q?=E6=8C=87=E6=A0=87=E6=95=B0=E6=8D=AE=E7=BB=9F=E8=AE=A1=5F?= =?UTF-8?q?=E6=97=A5=E7=BB=9F=E8=AE=A1=20=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../harmonic/pojo/po/RStatEventDVO.java | 33 ++++ .../harmonic/pojo/po/RStatEventOrgDPO.java | 42 +++++ .../prepare/harmonic/pojo/po/RStatOrgDVO.java | 24 +++ .../newalgorithm/RStatEventOrgController.java | 79 ++++++++++ .../mapper/mysql/area/RStatOrgDMapper.java | 8 + .../mysql/area/mapping/RStatOrgDMapper.xml | 8 + .../newalgorithm/RStatEventDPOMapper.java | 7 + .../newalgorithm/RStatEventOrgDPOMapper.java | 18 +++ .../mapping/RStatEventDMapper.xml | 19 +++ .../newalgorithm/RStatEventOrgDPOService.java | 14 ++ .../newalgorithm/RStatEventOrgService.java | 16 ++ .../impl/RStatEventOrgDPOServiceImpl.java | 24 +++ .../impl/RStatEventOrgServiceImpl.java | 149 ++++++++++++++++++ 13 files changed, 441 insertions(+) create mode 100644 pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventDVO.java create mode 100644 pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventOrgDPO.java create mode 100644 pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatOrgDVO.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/newalgorithm/RStatEventOrgController.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventOrgDPOMapper.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/mapping/RStatEventDMapper.xml create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/RStatEventOrgDPOService.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/RStatEventOrgService.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgDPOServiceImpl.java create mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgServiceImpl.java diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventDVO.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventDVO.java new file mode 100644 index 000000000..d2a633246 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventDVO.java @@ -0,0 +1,33 @@ +package com.njcn.prepare.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import lombok.Data; + +import java.time.LocalDate; + +/** + *

+ * + *

+ * + * @author zbj + * @since 2023-06-14 + */ +@Data +public class RStatEventDVO { + + private String orgNo; + + private LocalDate dataDate; + + private String eventType; + + private Integer emSum; + + private Integer ecSum; + + private String dataType; + +} diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventOrgDPO.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventOrgDPO.java new file mode 100644 index 000000000..70bbb6f00 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatEventOrgDPO.java @@ -0,0 +1,42 @@ +package com.njcn.prepare.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import lombok.Data; + +import java.time.LocalDate; + +/** + *

+ * + *

+ * + * @author zbj + * @since 2023-06-15 + */ +@Data +@TableName("r_stat_event_org_d") +public class RStatEventOrgDPO { + + @MppMultiId(value = "org_no") + private String orgNo; + + @MppMultiId(value = "data_date") + private LocalDate dataDate; + + @MppMultiId(value = "event_type") + private String eventType; + + @TableField(value = "event_measurement") + private Integer eventMeasurement; + + @TableField(value = "event_count") + private Integer eventCount; + + @TableField(value = "event_measurement_ratio") + private Float eventMeasurementRatio; + + @MppMultiId(value = "data_type") + private String dataType; +} diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatOrgDVO.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatOrgDVO.java new file mode 100644 index 000000000..a39ea2658 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/RStatOrgDVO.java @@ -0,0 +1,24 @@ +package com.njcn.prepare.harmonic.pojo.po; + +import lombok.Data; + +import java.time.LocalDate; + +/** + *

+ * + *

+ * + * @author zbj + * @since 2023-06-14 + */ +@Data +public class RStatOrgDVO { + + private String orgNo; + + private Integer effectiveMeasurement; + + private String dataType; + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/newalgorithm/RStatEventOrgController.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/newalgorithm/RStatEventOrgController.java new file mode 100644 index 000000000..ac954c39d --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/newalgorithm/RStatEventOrgController.java @@ -0,0 +1,79 @@ +package com.njcn.prepare.harmonic.controller.newalgorithm; + +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.ServerInfo; +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.device.biz.commApi.CommTerminalGeneralClient; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; +import com.njcn.device.biz.pojo.param.DeptGetLineParam; +import com.njcn.prepare.harmonic.pojo.param.OrgParam; +import com.njcn.prepare.harmonic.service.mysql.newalgorithm.RStatEventOrgService; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.po.Dept; +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.StringUtils; +import org.springframework.validation.annotation.Validated; +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; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/12/28 13:47【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Slf4j +@Api(tags = "单位暂态指标数据统计") +@RestController +@RequestMapping("/rStartEventOrg") +@RequiredArgsConstructor +public class RStatEventOrgController extends BaseController { + + private final RStatEventOrgService rStatEventOrgService; + + private final CommTerminalGeneralClient commTerminalGeneralClient; + + private final DeptFeignClient deptFeignClient; + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/rStartEventOrgHandler") + @ApiOperation("单位暂态指标数据统计") + @ApiImplicitParam(name = "orgParam", value = "参数", required = true) + public HttpResult rStartEventOrgHandler(@RequestBody @Validated OrgParam orgParam) { + log.info(LocalDateTime.now() + "rStartEventOrgHandler开始执行"); + String methodDescribe = getMethodDescribe("rStartEventOrgHandler"); + /** + * 支持补录 + */ + DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); + + if (StringUtils.isEmpty(orgParam.getOrgId())) { + Dept data = deptFeignClient.getRootDept().getData(); + deptGetLineParam.setDeptId(data.getId()); + } else { + deptGetLineParam.setDeptId(orgParam.getOrgId()); + } + deptGetLineParam.setServerName(ServerInfo.PREPARE_BOOT); + List data = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); + + rStatEventOrgService.handler(data,orgParam.getDataDate(),orgParam.getType()); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/RStatOrgDMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/RStatOrgDMapper.java index be60d3c48..cc9db8fcb 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/RStatOrgDMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/RStatOrgDMapper.java @@ -2,7 +2,12 @@ package com.njcn.prepare.harmonic.mapper.mysql.area; import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; import com.njcn.harmonic.pojo.po.RStatOrgDPO; +import com.njcn.prepare.harmonic.pojo.po.RStatEventDVO; +import com.njcn.prepare.harmonic.pojo.po.RStatOrgDVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @@ -15,4 +20,7 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface RStatOrgDMapper extends MppBaseMapper { + + List listAll(@Param("date") String date, @Param("orgId") String orgId); + } \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/mapping/RStatOrgDMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/mapping/RStatOrgDMapper.xml index bffed23a1..285ad9084 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/mapping/RStatOrgDMapper.xml +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/mapping/RStatOrgDMapper.xml @@ -21,4 +21,12 @@ org_no, data_date, measurement_type_class, data_type, all_count, effective_measurement, harmonic_measurement, event_measurement, event_count, should_count, warn_count + + + \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventDPOMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventDPOMapper.java index c3366e692..25f3be03a 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventDPOMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventDPOMapper.java @@ -2,7 +2,11 @@ package com.njcn.prepare.harmonic.mapper.mysql.newalgorithm; import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; import com.njcn.prepare.harmonic.pojo.po.RStatEventDPO; +import com.njcn.prepare.harmonic.pojo.po.RStatEventDVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * Description: @@ -14,4 +18,7 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface RStatEventDPOMapper extends MppBaseMapper { + + List listAll(@Param("date") String date, @Param("orgId") String orgId); + } \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventOrgDPOMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventOrgDPOMapper.java new file mode 100644 index 000000000..a0a5c0695 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/RStatEventOrgDPOMapper.java @@ -0,0 +1,18 @@ +package com.njcn.prepare.harmonic.mapper.mysql.newalgorithm; + +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.prepare.harmonic.pojo.po.RStatEventMPO; +import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDPO; +import org.apache.ibatis.annotations.Mapper; + +/** + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/12/13 15:39【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Mapper +public interface RStatEventOrgDPOMapper extends MppBaseMapper { +} \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/mapping/RStatEventDMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/mapping/RStatEventDMapper.xml new file mode 100644 index 000000000..447b2a6fc --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/newalgorithm/mapping/RStatEventDMapper.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/RStatEventOrgDPOService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/RStatEventOrgDPOService.java new file mode 100644 index 000000000..81b98c8a0 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/RStatEventOrgDPOService.java @@ -0,0 +1,14 @@ +package com.njcn.prepare.harmonic.service.mysql.newalgorithm; + + +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDPO; + + +/** + * @author zbj + * @since 2023-06-14 + */ + +public interface RStatEventOrgDPOService extends IMppService { +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/RStatEventOrgService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/RStatEventOrgService.java new file mode 100644 index 000000000..4f6714649 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/RStatEventOrgService.java @@ -0,0 +1,16 @@ +package com.njcn.prepare.harmonic.service.mysql.newalgorithm; + +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; + +import java.util.List; + +/** + * @author zbj + * @since 2023-06-14 + */ + +public interface RStatEventOrgService { + + void handler(List data, String dataDate, Integer type); + +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgDPOServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgDPOServiceImpl.java new file mode 100644 index 000000000..eef24e233 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgDPOServiceImpl.java @@ -0,0 +1,24 @@ +package com.njcn.prepare.harmonic.service.mysql.newalgorithm.impl; + +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventMPOMapper; +import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventOrgDPOMapper; +import com.njcn.prepare.harmonic.pojo.po.RStatEventMPO; +import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDPO; +import com.njcn.prepare.harmonic.service.mysql.newalgorithm.RStatEventMPOService; +import com.njcn.prepare.harmonic.service.mysql.newalgorithm.RStatEventOrgDPOService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +/** + *

+ * 终端检测监督 + *

+ * + * @author zbj + * @since 2023-06-14 + */ +@Service +@RequiredArgsConstructor +public class RStatEventOrgDPOServiceImpl extends MppServiceImpl implements RStatEventOrgDPOService { +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgServiceImpl.java new file mode 100644 index 000000000..a5dd53e65 --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatEventOrgServiceImpl.java @@ -0,0 +1,149 @@ +package com.njcn.prepare.harmonic.service.mysql.newalgorithm.impl; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; +import com.njcn.device.biz.pojo.dto.LineDevGetDTO; +import com.njcn.harmonic.pojo.po.RMpEventDetailDPO; +import com.njcn.harmonic.pojo.po.RMpEventDetailMPO; +import com.njcn.harmonic.pojo.po.RStatOrgDPO; +import com.njcn.harmonic.pojo.po.RStatOrgMPO; +import com.njcn.prepare.harmonic.mapper.mysql.area.RStatOrgDMapper; +import com.njcn.prepare.harmonic.mapper.mysql.area.RStatOrgMMapper; +import com.njcn.prepare.harmonic.mapper.mysql.area.RStatOrgQMapper; +import com.njcn.prepare.harmonic.mapper.mysql.area.RStatOrgYMapper; +import com.njcn.prepare.harmonic.mapper.mysql.line.RMpEventDetailDMapper; +import com.njcn.prepare.harmonic.mapper.mysql.line.RMpEventDetailMMapper; +import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventDPOMapper; +import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventMPOMapper; +import com.njcn.prepare.harmonic.pojo.po.*; +import com.njcn.prepare.harmonic.service.mysql.newalgorithm.*; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataEnum; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.DictData; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.text.DecimalFormat; +import java.time.LocalDate; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + *

+ * 暂态指标统计 + *

+ * + * @author zbj + * @since 2023-06-06 + */ +@Service +@RequiredArgsConstructor +public class RStatEventOrgServiceImpl implements RStatEventOrgService { + + private final DicDataFeignClient dicDataFeignClient; + + private final RStatEventOrgDPOService rStatEventOrgDPOService; + + private final RStatEventDPOMapper rStatEventDPOMapper; + + private final RStatOrgDMapper rStatOrgDMapper; + + @Override + public void handler(List data, String dataDate, Integer type) { + switch (type) { + /* case 1: + this.rStartEventYHandler (data, dataDate, type); + break; + case 2: + this.rStartEventQHandler(data, dataDate, type); + break; + case 3: + this.rStartEventMHandler(data, dataDate, type); + break;*/ + case 5: + this.rStartEventDHandler(data, dataDate, type); + break; + default: + break; + } + } + + //天表 + public void rStartEventDHandler(List data, String dataDate, Integer type) { + List rStatEventOrgDPOS = new ArrayList<>(); + DecimalFormat df = new DecimalFormat("0.00"); + Date date = DateUtil.parse(dataDate); + LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + + /*获取数据类型*/ + List dataTypeList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DATA_TYPE.getCode()).getData(); + Map dataTypeMap = dataTypeList.stream().collect(Collectors.toMap(DictData::getCode, dictData -> dictData)); + + data.forEach(deptGetChildrenMoreDTO -> { + + List rStatEventDVO = rStatEventDPOMapper.listAll(dataDate, deptGetChildrenMoreDTO.getUnitId()); + + List rStatOrgDVOS = rStatOrgDMapper.listAll(dataDate, deptGetChildrenMoreDTO.getUnitId()); + + //集合判空 + if (!CollectionUtils.isEmpty(rStatEventDVO)) { + //list转为map + Map emMap = new HashMap<>(); + if (!CollectionUtils.isEmpty(rStatOrgDVOS)) { + if (rStatOrgDVOS.size() == 1) { + if (Objects.equals(rStatOrgDVOS.get(0).getDataType(), dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId())) { + emMap.put(rStatOrgDVOS.get(0).getDataType(), rStatOrgDVOS.get(0).getEffectiveMeasurement()); + emMap.put(dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId(), 0); + } else { + emMap.put(rStatOrgDVOS.get(0).getDataType(), rStatOrgDVOS.get(0).getEffectiveMeasurement()); + emMap.put(dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId(), 0); + } + } else { + emMap.put(rStatOrgDVOS.get(0).getDataType(), rStatOrgDVOS.get(0).getEffectiveMeasurement()); + emMap.put(rStatOrgDVOS.get(1).getDataType(), rStatOrgDVOS.get(1).getEffectiveMeasurement()); + } + } else { + emMap.put(dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId(), 0); + emMap.put(dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId(), 0); + } + + //循环 + rStatEventDVO.forEach(o -> { + RStatEventOrgDPO rStatEventOrgDPO = new RStatEventOrgDPO(); + rStatEventOrgDPO.setOrgNo(o.getOrgNo()); + rStatEventOrgDPO.setDataDate(localDate); + rStatEventOrgDPO.setEventType(o.getEventType()); + rStatEventOrgDPO.setEventMeasurement(o.getEmSum()); + rStatEventOrgDPO.setEventCount(o.getEcSum()); + rStatEventOrgDPO.setDataType(o.getDataType()); + + if (Objects.equals(o.getDataType(), dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId())) { + if (emMap.get(o.getDataType()) == 0) { + rStatEventOrgDPO.setEventMeasurementRatio(1.00f); + } else { + String value = df.format(o.getEmSum() / emMap.get(o.getDataType())); + rStatEventOrgDPO.setEventMeasurementRatio(Float.parseFloat(value)); + } + } else { + if (emMap.get(o.getDataType()) == 0) { + rStatEventOrgDPO.setEventMeasurementRatio(1.00f); + } else { + String value = df.format(o.getEmSum() / emMap.get(o.getDataType())); + rStatEventOrgDPO.setEventMeasurementRatio(Float.parseFloat(value)); + } + } + rStatEventOrgDPOS.add(rStatEventOrgDPO); + }); + } + }); + if (!CollectionUtils.isEmpty(rStatEventOrgDPOS)) { + rStatEventOrgDPOService.saveOrUpdateBatchByMultiId(rStatEventOrgDPOS, 500); + } + } +}