From 5d2cfd4562f74496a5263db3451c1e78ff53aead Mon Sep 17 00:00:00 2001 From: heheng <475597332@qq.com> Date: 星期四, 27 三月 2025 08:44:16 +0800 Subject: [PATCH] 单据增加查询返回字段 --- assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java | 66 ++++++++++++++++++++++++++++---- 1 files changed, 57 insertions(+), 9 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..32d3922 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,22 +2,29 @@ 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.SysAgency; +import com.gkhy.assess.system.domain.vo.AssProjectVo; 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; import com.gkhy.assess.system.domain.SysUser; +import com.gkhy.assess.system.mapper.SysAgencyMapper; import com.gkhy.assess.system.service.AssProjectService; import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -39,6 +46,8 @@ public class AssProjectServiceImpl extends ServiceImpl<AssProjectMapper, AssProject> implements AssProjectService { @Autowired private AssPlanPersonMapper planPersonMapper; + @Autowired + private SysAgencyMapper agencyMapper; @Override public CommonPage projectList(AssProject project) { @@ -49,6 +58,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); @@ -72,8 +86,21 @@ } @Override - public AssProject getProjectById(Long projectId) { - return baseMapper.getProjectById(projectId); + public AssProjectVo getProjectById(Long projectId) { + AssProject projectById = baseMapper.getProjectById(projectId); + + if(projectById!=null){ + AssProjectVo projectVo = new AssProjectVo(); + BeanUtils.copyProperties(projectById, projectVo); + Long agencyId = projectVo.getAgencyId(); + if (agencyId != null) { + SysAgency agency = agencyMapper.getAgencyById(agencyId); + projectVo.setAgency(agency); + } + + return projectVo; + } + return null; } @Override @@ -86,10 +113,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 +130,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 +151,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 +176,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 +264,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