jiangping
2024-01-05 cb6874174975a370cb60f1557704c9d49a05f9e6
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveParamServiceImpl.java
@@ -1,10 +1,14 @@
package com.doumee.service.business.impl;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.ApproveParamMapper;
import com.doumee.dao.business.model.ApproveParam;
import com.doumee.dao.system.vo.ApproveParamDataVO;
import com.doumee.service.business.ApproveParamService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -15,6 +19,9 @@
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
/**
 * 审批模版配置信息表Service实现
@@ -29,9 +36,62 @@
    @Override
    public Integer create(ApproveParam approveParam) {
        this.checkData(approveParam);
        approveParamMapper.insert(approveParam);
        return approveParam.getId();
    }
    /**
     * 验证数据必填
     * @param approveParam
     */
    public void checkData(ApproveParam approveParam){
        if(Objects.isNull(approveParam)
                ||Objects.isNull(approveParam.getType())
                ||Objects.isNull(approveParam.getMemberType())
                ||Objects.isNull(approveParam.getLevel())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        if(approveParam.getType().equals(Constants.ZERO)){
            if(approveParam.getMemberType().equals(Constants.ONE)
                    &&
                    (Objects.isNull(approveParam.getObjIds())||Objects.isNull(approveParam.getObjNames()))
            ){
                //指定人员类型 判断数据必填
                throw new BusinessException(ResponseStatus.BAD_REQUEST);
            }else if(approveParam.getMemberType().equals(Constants.TWO)
                    &&
                    (Objects.isNull(approveParam.getObjLevel())||Objects.isNull(approveParam.getNoleaderOpt()))
            ){
                //指定部门主管 判断数据必填
                throw new BusinessException(ResponseStatus.BAD_REQUEST);
            }
        }else{
            if(Objects.isNull(approveParam.getObjIds())||Objects.isNull(approveParam.getObjNames())){
                //指定人员类型 判断数据必填
                throw new BusinessException(ResponseStatus.BAD_REQUEST);
            }
        }
    }
    @Override
    public ApproveParamDataVO getApproveParamData(){
        ApproveParamDataVO approveParamDataVO = new ApproveParamDataVO();
        List<ApproveParam> approveParamList = approveParamMapper.selectList(new QueryWrapper<ApproveParam>()
                .lambda().eq(ApproveParam::getIsdeleted,Constants.ZERO)
                .orderByAsc(ApproveParam::getLevel)
        );
        approveParamDataVO.setAuditApproveList(approveParamList.stream().filter(m->m.getType().equals(Constants.ZERO)).collect(Collectors.toList()));
        Optional<ApproveParam> paramOptional = approveParamList.stream().filter(m->m.getType().equals(Constants.ONE)).findFirst();
        if(paramOptional.isPresent()){
            approveParamDataVO.setCopyForConfig(paramOptional.get());
        }
        return approveParamDataVO;
    }
    @Override
    public void deleteById(Integer id) {
@@ -54,6 +114,7 @@
    @Override
    public void updateById(ApproveParam approveParam) {
        this.checkData(approveParam);
        approveParamMapper.updateById(approveParam);
    }