songhuangfeng123
2022-08-08 89f2ff263823f56f2de014a77cf6d4f26c308247
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillExecuteServiceImpl.java
@@ -13,22 +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;
@@ -232,4 +234,44 @@
            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());
        // 根据时间、级别获取统计
        Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        if (query.getType()==1){
            // 月
            int month = calendar.get(Calendar.MONTH);
            dbQuery.setStartTime(TimeUtils.getMonthFirst(year,month));
            dbQuery.setEndTime(TimeUtils.getMonthLast(year,month));
            list = emergencyDrillExecuteInfoService.selectByMouthTimeAndType(dbQuery);
        }
        if (query.getType()==2){
            // 年
            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);
    }
}