kongzy
2024-09-23 d015cc0b48ca51a2b93b6c60c91dc352a104b1e7
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillPlanServiceImpl.java
@@ -1,14 +1,15 @@
package com.gkhy.safePlatform.emergency.service.impl;
import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gkhy.safePlatform.commons.enums.ResultCodes;
import com.gkhy.safePlatform.commons.query.PageQuery;
import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
import com.gkhy.safePlatform.commons.utils.StringUtils;
import com.gkhy.safePlatform.commons.vo.ResultVO;
import com.gkhy.safePlatform.commons.vo.SearchResultVO;
import com.gkhy.safePlatform.emergency.entity.*;
import com.gkhy.safePlatform.emergency.enums.EmergencyDrillPlanStatus;
import com.gkhy.safePlatform.emergency.enums.DrillPlanLevelEnum;
import com.gkhy.safePlatform.emergency.enums.DrillPlanWayEnum;
import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes;
import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
import com.gkhy.safePlatform.emergency.model.dto.req.*;
@@ -59,7 +60,7 @@
        return new SearchResultVO<>(
                true,
                pageIndex,
                pageSize,
                pageSize,page.getPages(),
                page.getTotal(),
                respList,
                ResultCodes.OK
@@ -68,6 +69,11 @@
    @Override
    public ResultVO addEmergencyDrillPlan(Long uid, EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO) {
        // 验证必填
        checkRequired(emergencyDrillPlanReqDTO);
        // 验证枚举
        checkEnum(emergencyDrillPlanReqDTO);
        // 判断请求中是否存在应急预案id
        if (emergencyDrillPlanReqDTO.getPlanId() == null) {
            throw new EmergencyException(EmergencyResultCodes.PLAN_NULL);
@@ -84,7 +90,6 @@
                emergencyDrillPlanInfo.setDelFlag(false);
                emergencyDrillPlanInfo.setCreateUid(uid);
                emergencyDrillPlanInfo.setGmtCreate(nowDate);
                emergencyDrillPlanInfo.setStatus(EmergencyDrillPlanStatus.START.getStatus());
                emergencyDrillPlanInfoService.addEmergencyDrillPlan(emergencyDrillPlanInfo);
                // 新增急演练计划附件表
                if (!CollectionUtils.isEmpty(emergencyDrillPlanReqDTO.getFileList())) {
@@ -140,7 +145,12 @@
            List<EmergencyDrillPlanUserInfoDO> emergencyDrillPlanUserInfoDOList = emergencyDrillPlanUserInfoService.selectEmergencyDrillPlanUserByDrillPlanId(id);
            if (!CollectionUtils.isEmpty(emergencyDrillPlanUserInfoDOList)) {
                List<EmergencyDrillPlanUserRespDTO> emergencyUserUserRespDTOList = BeanCopyUtils.copyBeanList(emergencyDrillPlanUserInfoDOList, EmergencyDrillPlanUserRespDTO.class);
                emergencyDrillPlanDetailRespDTO.setUserList(emergencyUserUserRespDTOList);
                List<EmergencyDrillPlanUserRespDTO> userList = emergencyUserUserRespDTOList.stream().filter(user -> user.getType()==1).collect(Collectors.toList());
                List<EmergencyDrillPlanUserRespDTO> chargeUserList = emergencyUserUserRespDTOList.stream().filter(user -> user.getType()==2).collect(Collectors.toList());
                emergencyDrillPlanDetailRespDTO.setUserList(userList);
                emergencyDrillPlanDetailRespDTO.setChargeUserList(chargeUserList);
            }
            // 查找对应的附件
            List<EmergencyDrillPlanFileInfoDO> emergencyDrillPlanFileInfoDOList = emergencyDrillPlanFileInfoService.selectEmergencyDrillPlanFileByDrillPlanId(id);
@@ -154,6 +164,12 @@
    @Override
    public ResultVO updateEmergencyDrillPlan(Long uid, EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO) {
        // 验证必填
        checkRequired(emergencyDrillPlanReqDTO);
        // 验证枚举
        checkEnum(emergencyDrillPlanReqDTO);
        Date nowDate = new Date();
        // 查询是否存在
        EmergencyDrillPlanInfoDetailDO emergencyDrillPlanInfoDetailDO = emergencyDrillPlanInfoService.selectEmergencyDrillPlanById(emergencyDrillPlanReqDTO.getId());
@@ -262,13 +278,13 @@
    }
    @Override
    public ResultVO batchDeleteEmergencyDrillPlan(String ids) {
        if (StringUtils.isBlank(ids)) {
    public ResultVO batchDeleteEmergencyDrillPlan(Long[] ids) {
        if (ids == null ||  ids.length==0){
            throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NULL);
        } else {
            String[] idArr = ids.split(",");
            for (String id : idArr) {
                deleteEmergencyDrillPlan(Long.valueOf(id));
        }else{
            for (Long id : ids){
                deleteEmergencyDrillPlan(id);
            }
            return new ResultVO(ResultCodes.OK);
        }
@@ -288,4 +304,28 @@
            emergencyDrillPlanUserInfoService.deleteEmergencyDrillPlanUserByDrillPlanId(DrillPlanId);
        }
    }
    /**
     * 验证必填项
     * @return
     */
    private void checkRequired(EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO) {
        //名称
        if (StringUtils.isBlank(emergencyDrillPlanReqDTO.getDrillName())) {
            throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NAME_NULL);
        }
    }
    /**
     * 验证枚举
     */
    private void checkEnum(EmergencyDrillPlanReqDTO emergencyDrillPlanReqDTO){
        if (DrillPlanWayEnum.getByCode(emergencyDrillPlanReqDTO.getDrillWay())==null){
            throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_ENUM_WAY_NOT_EXIST);
        }
        if (DrillPlanLevelEnum.getByCode(emergencyDrillPlanReqDTO.getDrillLevel())==null){
            throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_ENUM_LEVEL_NOT_EXIST);
        }
    }
}