songhuangfeng123
2022-08-08 bb8b200d53171dcc0727c845c435f655b3d2f55a
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillExecuteServiceImpl.java
@@ -1,6 +1,7 @@
package com.gkhy.safePlatform.emergency.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gkhy.safePlatform.commons.enums.E;
import com.gkhy.safePlatform.commons.enums.ResultCodes;
import com.gkhy.safePlatform.commons.query.PageQuery;
import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
@@ -12,21 +13,24 @@
import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillExecuteReqDTO;
import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillExecuteUserReqDTO;
import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecuteDetailRespDTO;
import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecutePageRespDTO;
import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillExecuteUserRespDTO;
import com.gkhy.safePlatform.emergency.model.dto.resp.*;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteQuery;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillExecuteRPCQuery;
import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillExecuteDBQuery;
import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillExecuteRPCDBQuery;
import com.gkhy.safePlatform.emergency.service.EmergencyDrillExecuteService;
import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillEvaluationInfoService;
import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillExecuteInfoService;
import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillExecuteUserInfoService;
import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillPlanInfoService;
import com.gkhy.safePlatform.emergency.utils.TimeUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -42,6 +46,9 @@
    @Autowired
    private EmergencyDrillPlanInfoService emergencyDrillPlanInfoService;
    @Autowired
    private EmergencyDrillEvaluationInfoService emergencyDrillEvaluationInfoService;
    @Override
@@ -85,7 +92,7 @@
                emergencyDrillExecuteInfo.setDelFlag(false);
                emergencyDrillExecuteInfo.setCreateUid(uid);
                emergencyDrillExecuteInfo.setGmtCreate(nowDate);
                emergencyDrillExecuteInfo.setStatus(true);
                emergencyDrillExecuteInfo.setStatus(false);
                emergencyDrillExecuteInfoService.addEmergencyDrillExecute(emergencyDrillExecuteInfo);
                // 新增应急演练计划实施实际到场人员表
@@ -93,6 +100,14 @@
                    addEmergencyDrillExecuteUser(uid, emergencyDrillExecuteInfo.getId(), nowDate, emergencyDrillExecuteReqDTO.getUserList());
                }
                // 新增评价表一行数据
                EmergencyDrillEvaluationInfo emergencyDrillEvaluationInfo = new EmergencyDrillEvaluationInfo();
                emergencyDrillEvaluationInfo.setDelFlag(false);
                emergencyDrillEvaluationInfo.setCreateUid(uid);
                emergencyDrillEvaluationInfo.setGmtCreate(nowDate);
                emergencyDrillEvaluationInfo.setDrillExecuteId(emergencyDrillExecuteInfo.getId());
                emergencyDrillEvaluationInfoService.addEmergencyDrillEvaluation(emergencyDrillEvaluationInfo);
                return new ResultVO<>(ResultCodes.OK);
            }
        }
@@ -196,13 +211,12 @@
    }
    @Override
    public ResultVO batchDeleteEmergencyDrillExecute(String ids) {
        if (StringUtils.isBlank(ids)) {
    public ResultVO batchDeleteEmergencyDrillExecute(Long[] ids) {
        if (ids == null ||  ids.length==0){
            throw new EmergencyException(EmergencyResultCodes.DRILL_EXECUTE_NULL);
        } else {
            String[] idArr = ids.split(",");
            for (String id : idArr) {
                deleteEmergencyDrillExecute(Long.valueOf(id));
        }else{
            for (Long id : ids){
                deleteEmergencyDrillExecute(id);
            }
            return new ResultVO(ResultCodes.OK);
        }
@@ -220,4 +234,45 @@
            emergencyDrillExecuteUserInfoService.deleteEmergencyDrillExecuteUserByDrillExecuteId(DrillExecuteId);
        }
    }
    @Override
    public ResultVO<EmergencyDrillExecuteCountRespDTO> countEmergencyDrillExecute(EmergencyDrillExecuteRPCQuery query) {
        EmergencyDrillExecuteCountRespDTO emergencyDrillExecuteCountRespDTO = new EmergencyDrillExecuteCountRespDTO();
        // 根据应急演练实施的创建时间与当前时间  获取间隔天数
        Integer days = emergencyDrillExecuteInfoService.selectEmergencyDrillExecuteIntervalTime();
        emergencyDrillExecuteCountRespDTO.setDays(days);
        List<EmergencyDrillExecuteCountChart> list = new ArrayList<>();
        EmergencyDrillExecuteRPCDBQuery dbQuery = new EmergencyDrillExecuteRPCDBQuery();
        dbQuery.setLevel(query.getLevel());
        // 根据时间、级别获取统计
        if (query.getType()==1){
            // 月
            int year = query.getYear();
            int month = query.getMonth();
            dbQuery.setStartTime(TimeUtils.getMonthFirst(year,month));
            dbQuery.setEndTime(TimeUtils.getMonthLast(year,month));
            list = emergencyDrillExecuteInfoService.selectByMouthTimeAndType(dbQuery);
        }
        if (query.getType()==2){
            // 年
            int year = query.getYear();
            dbQuery.setStartTime(TimeUtils.getYearFirst(year));
            dbQuery.setEndTime(TimeUtils.getYearLast(year));
            list = emergencyDrillExecuteInfoService.selectByYearTimeAndType(dbQuery);
        }
        if (!CollectionUtils.isEmpty(list)){
            List<EmergencyDrillExecuteCountChartRespDTO> dataList = BeanCopyUtils.copyBeanList(list,EmergencyDrillExecuteCountChartRespDTO.class);
            emergencyDrillExecuteCountRespDTO.setDataList(dataList);
        }else{
            emergencyDrillExecuteCountRespDTO.setDataList(new ArrayList<>());
        }
        return new ResultVO<>(ResultCodes.OK,emergencyDrillExecuteCountRespDTO);
    }
}