shenyijian
2024-06-28 f8d4daf8fd92a43b103948fd3f2c0515209a6aca
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java
@@ -43,16 +43,23 @@
   public void add(AddSgProjectPersonConfigDTO dto) {
      for (SgProjectPersonConfigDO sgProjectPersonConfigDO : dto.getData()) {
         Long id = sgProjectPersonConfigDO.getId();
         Long userId = sgProjectPersonConfigDO.getUserId();
         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("此项目配置存在审批,不允许修改");
            boolean isReport = !new LambdaQueryChainWrapper<>(sgProgressReportMapper).eq(SgProgressReportDO::getProframId, old.getProgramId()).list().isEmpty();
            if (Objects.isNull(userId)){
               if (isReport){
                  throw new ServiceException("此项目配置存在审批,不允许修改");
               }
               projectPersonConfigMapper.deleteById(id);
            }else if (!old.getUserId().equals(sgProjectPersonConfigDO.getUserId())){
               if (isReport){
                  throw new ServiceException("此项目配置存在审批,不允许修改");
               }
               projectPersonConfigMapper.updateById(sgProjectPersonConfigDO);
            }
            }
            projectPersonConfigMapper.updateById(sgProjectPersonConfigDO);
         }
      }
   }