shenyijian
2024-06-26 1b8c74f3dc3ac98c08ffa157e40c0bd5a9aeb799
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java
@@ -1,11 +1,17 @@
package cn.gistack.sm.sg.service.impl;
import cn.gistack.sm.sg.DO.SgProgressReportDO;
import cn.gistack.sm.sg.DO.SgProjectPersonConfigDO;
import cn.gistack.sm.sg.DO.SgProjectRolePersonV0;
import cn.gistack.sm.sg.DTO.AddSgProjectPersonConfigDTO;
import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
import cn.gistack.sm.sg.mapper.SgProgressReportMapper;
import cn.gistack.sm.sg.mapper.SgProjectPersonConfigMapper;
import cn.gistack.sm.sg.service.SgProjectPersonConfigService;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.log.exception.ServiceException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -25,6 +31,8 @@
public class SgProjectPersonConfigServiceImpl extends ServiceImpl<SgProjectPersonConfigMapper, SgProjectPersonConfigDO> implements SgProjectPersonConfigService {
   @Autowired
   private SgProjectPersonConfigMapper projectPersonConfigMapper;
   @Autowired
   private SgProgressReportMapper sgProgressReportMapper;
   @Override
   public List<String> getRoleList(ProjectSearchDTO searchDTO) {
      List<String> list = projectPersonConfigMapper.getRoleList(searchDTO);
@@ -32,11 +40,18 @@
   }
   @Override
   public void add(List<SgProjectPersonConfigDO> list) {
      for (SgProjectPersonConfigDO sgProjectPersonConfigDO : list) {
         if (Objects.isNull(sgProjectPersonConfigDO.getId())){
   public void add(AddSgProjectPersonConfigDTO dto) {
      for (SgProjectPersonConfigDO sgProjectPersonConfigDO : dto.getData()) {
         Long id = sgProjectPersonConfigDO.getId();
         if (Objects.isNull(id)){
            projectPersonConfigMapper.insert(sgProjectPersonConfigDO);
         }else {
            SgProjectPersonConfigDO old = projectPersonConfigMapper.selectById(id);
            if (old.getUserId()!=sgProjectPersonConfigDO.getUserId()){
            if (!new LambdaQueryChainWrapper<>(sgProgressReportMapper).eq(SgProgressReportDO::getProframId,old.getProgramId()).list().isEmpty()){
               throw new ServiceException("此项目配置存在审批,不允许修改");
            }
            }
            projectPersonConfigMapper.updateById(sgProjectPersonConfigDO);
         }
      }