From a2a1f2a22db7c2e53275359fb5f8d6c0dd15d8d6 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期五, 09 八月 2024 16:25:58 +0800 Subject: [PATCH] update --- assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java | 36 ++++++++++++++++++++++++++++++------ 1 files changed, 30 insertions(+), 6 deletions(-) diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java index baec209..2346449 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java @@ -8,6 +8,7 @@ import com.gkhy.assess.common.utils.PageUtil; import com.gkhy.assess.system.domain.AssPlanPerson; import com.gkhy.assess.system.domain.AssProject; +import com.gkhy.assess.system.domain.vo.PersonRecognitionVO; import com.gkhy.assess.system.domain.vo.ProjectStaticVO; import com.gkhy.assess.system.enums.ProgressPhaseEnum; import com.gkhy.assess.system.enums.ReportProgressEnum; @@ -52,7 +53,22 @@ PageUtil.startPage(); List<AssProject> projects=baseMapper.projectList(project); //获取签字确认人数 + handleProjectRecognitionCount(projects); return CommonPage.restPage(projects); + } + + public void handleProjectRecognitionCount(List<AssProject> projects){ + List<Long>projectIds=projects.stream().map(item -> item.getId()).collect(Collectors.toList()); + if(!projectIds.isEmpty()) { + List<PersonRecognitionVO> personAndRecognitions = planPersonMapper.getPersonAndRecognitionCount(projectIds); + Map<Long, PersonRecognitionVO> map = personAndRecognitions.stream().collect(Collectors.toMap(PersonRecognitionVO::getProjectId, a -> a)); + for (AssProject project : projects) { + PersonRecognitionVO personRecognitionVO = map.get(project.getId()); + if (personRecognitionVO != null) { + project.setPersonRecognition(personRecognitionVO); + } + } + } } @Override @@ -70,10 +86,11 @@ if(user.getAgencyId()==null){ throw new ApiException("用户机构id为空"); } + project.setAgencyId(user.getAgencyId()); if(!checkNameUnique(project)){ throw new ApiException("项目名已存在"); } - project.setAgencyId(user.getAgencyId()); + project.setReportProgress(ReportProgressEnum.ADD.getCode()); project.setCreateBy(ShiroUtils.getSysUser().getUsername()); int row=baseMapper.insert(project); @@ -85,7 +102,14 @@ //todo 权限校验 SysUser user= ShiroUtils.getSysUser(); checkUserAllowed(projectId); - AssProject project=new AssProject() + //判断项目流转状态 + AssProject project=getById(projectId); + if(project.getReportProgress().equals(ReportProgressEnum.CONFIRM_FINAL.getCode())){ + if(!user.getIdentity().equals(UserIdentityEnum.MONITOR.getCode())){ + throw new ApiException("没有权限删除确认完结的项目,请联系监管用户删除"); + } + } + project=new AssProject() .setId(projectId) .setDelFlag(DeleteFlagEnum.DELETED.getCode()); project.setUpdateBy(user.getUsername()); @@ -99,9 +123,9 @@ throw new ApiException("项目id不能为空"); } checkUserAllowed(projectId); - if(!checkNameUnique(project)){ - throw new ApiException("项目名已存在"); - } +// if(!checkNameUnique(project)){ +// throw new ApiException("项目名已存在"); +// } project.setAgencyId(null);//机构id不能修改 project.setReportProgress(null);//项目状态不能修改 project.setUpdateBy(ShiroUtils.getSysUser().getUsername()); @@ -124,7 +148,7 @@ @Override public boolean checkNameUnique(AssProject project) { Long projectId = project.getId()==null? -1L : project.getId(); - AssProject pro = baseMapper.getProjectByName(project.getName()); + AssProject pro = baseMapper.getProjectByName(project.getName(),project.getAgencyId()); if (pro!=null && pro.getId().longValue() != projectId.longValue()) { return false; -- Gitblit v1.9.2