From 56287f4037defafbd3a3bbebd1827fd20a8b91d4 Mon Sep 17 00:00:00 2001 From: heheng <heheng@123456> Date: 星期一, 06 一月 2025 11:12:05 +0800 Subject: [PATCH] 项目拆单 --- assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java | 43 ++++++++++++++++++++++++++++++++++++------- 1 files changed, 36 insertions(+), 7 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 deb847c..62fb995 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 @@ -2,16 +2,19 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.gkhy.assess.common.api.CommonPage; +import com.gkhy.assess.common.constant.SuperAccountConstant; import com.gkhy.assess.common.enums.DeleteFlagEnum; import com.gkhy.assess.common.enums.UserIdentityEnum; import com.gkhy.assess.common.exception.ApiException; import com.gkhy.assess.common.utils.PageUtil; +import com.gkhy.assess.common.utils.StringUtils; 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; +import com.gkhy.assess.system.enums.SafetyCheckEnum; import com.gkhy.assess.system.mapper.AssPlanPersonMapper; import com.gkhy.assess.system.mapper.AssProjectMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -49,6 +52,11 @@ throw new ApiException("用户机构id为空"); } project.setAgencyId(user.getAgencyId()); + }else { + //监管机构只能查看本辖区的项目 + if (!SuperAccountConstant.ADMINISTRATOR.equals(user.getUsername()) && !SuperAccountConstant.SUPER_ADMIN.equals(user.getUsername())){ + project.setCity(user.getManageRegion()); + } } PageUtil.startPage(); List<AssProject> projects=baseMapper.projectList(project); @@ -86,10 +94,12 @@ if(user.getAgencyId()==null){ throw new ApiException("用户机构id为空"); } + project.setAgencyId(user.getAgencyId()); + project.setSafetyCheck(project.getEstimateType() == 33 ? SafetyCheckEnum.CHECKED.getCode() :SafetyCheckEnum.UN_CHECK.getCode()); 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); @@ -101,7 +111,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()); @@ -115,9 +132,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()); @@ -140,7 +157,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(),project.getSafetyCheck()); if (pro!=null && pro.getId().longValue() != projectId.longValue()) { return false; @@ -228,13 +245,25 @@ project.setPhase(ProgressPhaseEnum.ARCHIVE.getCode()); Integer archiveTotal=baseMapper.getProjectCount(project); + project.setPhase(null); + + project.setUnFinish(1); + project.setSafetyCheck(SafetyCheckEnum.CHECKED.getCode()); + Integer safetyCheckTotal=baseMapper.getProjectCount(project); + + project.setSafetyCheck(SafetyCheckEnum.UN_CHECK.getCode()); + Integer safetyTotal=baseMapper.getProjectCount(project); + ProjectStaticVO projectStaticVO=new ProjectStaticVO() .setProjectTotal(projectTotal) .setRiskTotal(riskTotal) .setInvestigationTotal(investigationTotal) .setReviewTotal(reviewTotal) .setReportTotal(reportTotal) - .setArchiveTotal(archiveTotal); + .setArchiveTotal(archiveTotal) + .setSafetyCheckTotal(safetyCheckTotal) + .setSafetyTotal(safetyTotal) + .setUnFinishTotal(safetyTotal+safetyCheckTotal); return projectStaticVO; } -- Gitblit v1.9.2