From bd9cf1a87d50cc7cb29118cc85f397a7ab7228e9 Mon Sep 17 00:00:00 2001 From: heheng <heheng@123456> Date: 星期一, 16 十二月 2024 16:51:01 +0800 Subject: [PATCH] 增加监管机构数据限制 --- assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java | 27 +++++++++++++++++++++------ 1 files changed, 21 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 deb847c..b524d6d 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,10 +2,12 @@ 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; @@ -49,6 +51,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 +93,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); @@ -101,7 +109,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 +130,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 +155,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