zhangf
2024-05-08 0414ddb0b2b3a7199ae6181a770f97ac140dbd73
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java
@@ -6,10 +6,12 @@
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.ApproveStatus;
import com.gkhy.safePlatform.emergency.enums.EmergencyPlanTypeEnum;
import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes;
import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
import com.gkhy.safePlatform.emergency.model.dto.req.*;
@@ -70,11 +72,12 @@
            //获取对应的审批记录
            Integer type = ApproveStatus.EMERGENCY.getStatus();
            List<EmergencyWorkApproveInfoPageDO> emergencyWorkApproveInfoPageDOList = emergencyWorkApproveInfoService.selectWorkApproveByRelateTypeAndRelateId(type,emergencyPlanPageRespDTO.getId());
            List<EmergencyWorkApproveInfoDetailDO> emergencyWorkApproveInfoDetailDOList = emergencyWorkApproveInfoService.selectWorkApproveByRelateTypeAndRelateId(type,emergencyPlanPageRespDTO.getId());
            if (!CollectionUtils.isEmpty(emergencyWorkApproveInfoPageDOList)) {
                emergencyPlanPageRespDTO.setApproveStatus(emergencyWorkApproveInfoPageDOList.get(0).getApproveStatus());
                emergencyPlanPageRespDTO.setApprovePersonId(emergencyWorkApproveInfoPageDOList.get(0).getApprovePersonId());
            if (!CollectionUtils.isEmpty(emergencyWorkApproveInfoDetailDOList)) {
                emergencyPlanPageRespDTO.setApproveId(emergencyWorkApproveInfoDetailDOList.get(0).getId());
                emergencyPlanPageRespDTO.setApproveStatus(emergencyWorkApproveInfoDetailDOList.get(0).getApproveStatus());
                emergencyPlanPageRespDTO.setApprovePersonId(emergencyWorkApproveInfoDetailDOList.get(0).getApprovePersonId());
                // 审批中  判断审批人是否人与当前登录人
                if (emergencyPlanPageRespDTO.getApproveStatus()!=null && emergencyPlanPageRespDTO.getApproveStatus()==2){
                    emergencyPlanPageRespDTO.setCheckApprove(emergencyPlanPageRespDTO.getApprovePersonId().equals(uid));
@@ -94,6 +97,13 @@
    @Override
    public ResultVO addEmergencyPlan(Long uid, EmergencyPlanReqDTO emergencyPlanReqDTO) {
        // 验证必填
        checkRequired(emergencyPlanReqDTO);
        // 验证枚举
        checkEnum(emergencyPlanReqDTO);
        Date nowDate = new Date();
        // 新增应急预案
        EmergencyPlanInfo emergencyPlanInfo = new EmergencyPlanInfo();
@@ -101,6 +111,7 @@
        emergencyPlanInfo.setDelFlag(false);
        emergencyPlanInfo.setCreateUid(uid);
        emergencyPlanInfo.setGmtCreate(nowDate);
        emergencyPlanInfo.setAbolishStatus(false);
        emergencyPlanInfoService.addEmergencyPlan(emergencyPlanInfo);
        // 新增应急预案区域表
        if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getAreaList())) {
@@ -230,6 +241,11 @@
    @Override
    public ResultVO updateEmergencyPlan(Long uid, EmergencyPlanReqDTO emergencyPlanReqDTO) {
        // 验证必填
        checkRequired(emergencyPlanReqDTO);
        // 验证枚举
        checkEnum(emergencyPlanReqDTO);
        Date nowDate = new Date();
        // 查询是否存在
        EmergencyPlanInfoDetailDO emergencyPlanInfoDetailDO = emergencyPlanInfoService.selectEmergencyPlanById(emergencyPlanReqDTO.getId());
@@ -460,4 +476,28 @@
            emergencyPlanTeamInfoService.deleteEmergencyPlanTeamByPlanId(PlanId);
        }
    }
    /**
     * 验证必填项
     * @return
     */
    private void checkRequired(EmergencyPlanReqDTO emergencyPlanReqDTO) {
        //名称
        if (StringUtils.isBlank(emergencyPlanReqDTO.getName())) {
            throw new EmergencyException(EmergencyResultCodes.PLAN_NAME_NULL);
        }
    }
    /**
     * 验证枚举
     */
    private void checkEnum(EmergencyPlanReqDTO emergencyPlanReqDTO){
        if (EmergencyPlanTypeEnum.getByCode(emergencyPlanReqDTO.getType())==null){
            throw new EmergencyException(EmergencyResultCodes.PLAN_ENUM_TYPE_NOT_EXIST);
        }
        if (EmergencyPlanTypeEnum.getByCode(emergencyPlanReqDTO.getLevel())==null){
            throw new EmergencyException(EmergencyResultCodes.PLAN_ENUM_LEVEL_NOT_EXIST);
        }
    }
}