puhanshu
2021-12-30 a7002e25ec105e5f73c27f91944f1c0b4991c355
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
@@ -1,5 +1,6 @@
package com.panzhihua.service_grid.service.impl;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -1380,10 +1381,11 @@
        } else {
            return R.fail("事件所属错误");
        }
        eventDO.setInvalid(false);
//        eventDO.setInvalid(false);
        // 标为无效后, 交给网格员处理
        eventDO.setUpdateBy(eventRevokeDTO.getUserId());
        eventDO.setEventStatus(4);// 4、撤销
        eventDO.setEventDealStatus(6);// 4、撤销
        eventDO.setProcessType(1);// 网格员处理
        eventDO.setCommunityProcess(0);// 非 社区处理
        eventDO.setRevokeId(eventRevokeDTO.getRevokeId());
@@ -1403,11 +1405,13 @@
        if (eventDO == null) {
            return R.fail("事件不存在");
        }
        boolean canRepulish = eventDO.getEventDealStatus() == 7 | eventDO.getEventDealStatus() == 5; // 已失效状态
        boolean canRepulish = eventDO.getEventDealStatus() == 7 || eventDO.getEventDealStatus() == 5 || eventDO.getEventDealStatus() == 6; // 已失效状态
        if (!canRepulish) {
            return R.fail("当前事件不是已失效状态/草稿状态,不能重新发布");
            return R.fail("当前事件不是已失效状态/草稿状态/撤销状态,不能重新发布");
        }
        eventDO.setInvalid(true);
        eventDO.setEventStatus(2);
        eventDO.setEventDealStatus(1);
        int updated = this.getBaseMapper().updateById(eventDO);
        if (updated == 1) {
            addTransferRecord(eventDO.getId(), commonEventRepublishDTO.getUserId(),
@@ -2695,6 +2699,20 @@
        statisticsVO.setDrawEventPopulationTotalVO(drawEventPopulationTotalVO);
        statisticsVO.setAgeGroupStatistics(ageGroupStatistics);
        statisticsVO.generateStatisticsData();
        List<StatisticsCommVO> eventTypeCircleDrawData = new ArrayList<>();
        if (!eventResultList.isEmpty()) {
            Map<Integer, List<EventGridIncidentStatisticsVO>> collect = eventResultList.stream().collect(Collectors.groupingBy(EventGridIncidentStatisticsVO::getType));
            for (Map.Entry<Integer, List<EventGridIncidentStatisticsVO>> entry : collect.entrySet()) {
                StatisticsCommVO temp = new StatisticsCommVO();
                int size = entry.getValue().size();
                Integer eventTotal = statisticsVO.getEventTotal();
                temp.setFiled(entry.getKey().toString());
                temp.setNum(size);
                temp.setPercent(new BigDecimal(size/eventTotal).setScale(2));
                eventTypeCircleDrawData.add(temp);
            }
        }
        statisticsVO.setEventTypeCircleDrawData(eventTypeCircleDrawData);
        return R.ok(statisticsVO);
    }