fix 81716 【水平越权】车型项目库-部分接口未处理水平越权
This commit is contained in:
+3
-1
@@ -31,7 +31,9 @@ public interface ILawsProjectLibraryService extends IService<LawsProjectLibrary>
|
|||||||
*/
|
*/
|
||||||
void editById(LawsProjectLibrary lawsProjectLibrary);
|
void editById(LawsProjectLibrary lawsProjectLibrary);
|
||||||
|
|
||||||
/**
|
void checkPermission(LawsProjectLibrary projectLibrary);
|
||||||
|
|
||||||
|
/**
|
||||||
* 通过id删除
|
* 通过id删除
|
||||||
*/
|
*/
|
||||||
void deleteById(String id);
|
void deleteById(String id);
|
||||||
|
|||||||
+9
-1
@@ -15,10 +15,12 @@ import com.jero.modules.projectLibrary.common.AssessCommon;
|
|||||||
import com.jero.modules.projectLibrary.entity.LawsAssess;
|
import com.jero.modules.projectLibrary.entity.LawsAssess;
|
||||||
import com.jero.modules.projectLibrary.entity.LawsAssessResults;
|
import com.jero.modules.projectLibrary.entity.LawsAssessResults;
|
||||||
import com.jero.modules.projectLibrary.entity.LawsEvaluationNotMet;
|
import com.jero.modules.projectLibrary.entity.LawsEvaluationNotMet;
|
||||||
|
import com.jero.modules.projectLibrary.entity.LawsProjectLibrary;
|
||||||
import com.jero.modules.projectLibrary.mapper.LawsAssessMapper;
|
import com.jero.modules.projectLibrary.mapper.LawsAssessMapper;
|
||||||
import com.jero.modules.projectLibrary.service.ILawsAssessResultsService;
|
import com.jero.modules.projectLibrary.service.ILawsAssessResultsService;
|
||||||
import com.jero.modules.projectLibrary.service.ILawsAssessService;
|
import com.jero.modules.projectLibrary.service.ILawsAssessService;
|
||||||
import com.jero.modules.projectLibrary.service.ILawsEvaluationNotMetService;
|
import com.jero.modules.projectLibrary.service.ILawsEvaluationNotMetService;
|
||||||
|
import com.jero.modules.projectLibrary.service.ILawsProjectLibraryService;
|
||||||
import com.jero.modules.projectLibrary.vo.DecompositionOrderSourceVO;
|
import com.jero.modules.projectLibrary.vo.DecompositionOrderSourceVO;
|
||||||
import com.jero.modules.projectLibrary.vo.LawsAssessAddVo;
|
import com.jero.modules.projectLibrary.vo.LawsAssessAddVo;
|
||||||
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
||||||
@@ -66,6 +68,8 @@ public class LawsAssessServiceImpl extends ServiceImpl<LawsAssessMapper, LawsAss
|
|||||||
private ILawsAssessResultsService lawsAssessResultsService;
|
private ILawsAssessResultsService lawsAssessResultsService;
|
||||||
@Resource
|
@Resource
|
||||||
private ILawsEvaluationNotMetService notMetService;
|
private ILawsEvaluationNotMetService notMetService;
|
||||||
|
@Resource
|
||||||
|
private ILawsProjectLibraryService lawsProjectLibraryService;
|
||||||
/**
|
/**
|
||||||
* 分页查询
|
* 分页查询
|
||||||
*
|
*
|
||||||
@@ -139,13 +143,17 @@ public class LawsAssessServiceImpl extends ServiceImpl<LawsAssessMapper, LawsAss
|
|||||||
@Override
|
@Override
|
||||||
public void deleteById(String id) {
|
public void deleteById(String id) {
|
||||||
LawsAssess lawsAssess = getById(id);
|
LawsAssess lawsAssess = getById(id);
|
||||||
|
String projectId = lawsAssess.getProjectId();
|
||||||
|
//校验权限
|
||||||
|
LawsProjectLibrary projectLibrary = lawsProjectLibraryService.getById(projectId);
|
||||||
|
lawsProjectLibraryService.checkPermission(projectLibrary);
|
||||||
String processStatus = lawsAssess.getProcessStatus();
|
String processStatus = lawsAssess.getProcessStatus();
|
||||||
if (AssessCommon.UNDER_EVALUATION.equals(processStatus)){
|
if (AssessCommon.UNDER_EVALUATION.equals(processStatus)){
|
||||||
throw new JeroBootException(ResultCommon.ERROR);
|
throw new JeroBootException(ResultCommon.ERROR);
|
||||||
}
|
}
|
||||||
//未符合项中有整改中、审批中的数据时,不允许删除
|
//未符合项中有整改中、审批中的数据时,不允许删除
|
||||||
LambdaQueryWrapper<LawsEvaluationNotMet> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<LawsEvaluationNotMet> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(LawsEvaluationNotMet::getProjectId, lawsAssess.getProjectId());
|
queryWrapper.eq(LawsEvaluationNotMet::getProjectId, projectId);
|
||||||
queryWrapper.in(LawsEvaluationNotMet::getStandardId, lawsAssess.getStandardId());
|
queryWrapper.in(LawsEvaluationNotMet::getStandardId, lawsAssess.getStandardId());
|
||||||
List<LawsEvaluationNotMet> notMetList = notMetService.list(queryWrapper);
|
List<LawsEvaluationNotMet> notMetList = notMetService.list(queryWrapper);
|
||||||
for (LawsEvaluationNotMet notMet : notMetList) {
|
for (LawsEvaluationNotMet notMet : notMetList) {
|
||||||
|
|||||||
+43
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.jero.common.api.vo.ResultCommon;
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
import com.jero.common.constant.CommonConstant;
|
import com.jero.common.constant.CommonConstant;
|
||||||
|
import com.jero.common.system.vo.LoginUser;
|
||||||
|
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||||
import com.jero.modules.projectLibrary.common.AssessCommon;
|
import com.jero.modules.projectLibrary.common.AssessCommon;
|
||||||
import com.jero.modules.projectLibrary.entity.LawsAssess;
|
import com.jero.modules.projectLibrary.entity.LawsAssess;
|
||||||
import com.jero.modules.projectLibrary.entity.LawsEvaluationNotMet;
|
import com.jero.modules.projectLibrary.entity.LawsEvaluationNotMet;
|
||||||
@@ -22,6 +24,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.common.system.query.QueryGenerator;
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
|
|
||||||
@@ -79,15 +83,29 @@ public class LawsProjectLibraryServiceImpl extends ServiceImpl<LawsProjectLibrar
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void editById(LawsProjectLibrary lawsProjectLibrary) {
|
public void editById(LawsProjectLibrary lawsProjectLibrary) {
|
||||||
|
LawsProjectLibrary projectLibrary = getById(lawsProjectLibrary.getId());
|
||||||
|
checkPermission(projectLibrary);
|
||||||
saveOrUpdate(lawsProjectLibrary);
|
saveOrUpdate(lawsProjectLibrary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验权限
|
||||||
|
* @param projectLibrary
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void checkPermission(LawsProjectLibrary projectLibrary){
|
||||||
|
LoginUser loginUser = CurrentUserUtil.getLoginUser();
|
||||||
|
if (!loginUser.getIsAdmin()&& !Objects.equals(loginUser.getUsername(),projectLibrary.getCreateBy())){
|
||||||
|
throw new JeroBootException(ResultCommon.NO_PERMISSIONS_PLEASE_SELECT);
|
||||||
|
}
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 通过id删除
|
* 通过id删除
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void deleteById(String id) {
|
public void deleteById(String id) {
|
||||||
LawsProjectLibrary projectLibrary = getById(id);
|
LawsProjectLibrary projectLibrary = getById(id);
|
||||||
|
checkPermission(projectLibrary);
|
||||||
List<LawsAssess> allByProjectIdNotDeleted = lawsAssessService.getAllByProjectIdNotDeleted(id);
|
List<LawsAssess> allByProjectIdNotDeleted = lawsAssessService.getAllByProjectIdNotDeleted(id);
|
||||||
for (LawsAssess lawsAssess : allByProjectIdNotDeleted) {
|
for (LawsAssess lawsAssess : allByProjectIdNotDeleted) {
|
||||||
String processStatus = lawsAssess.getProcessStatus();
|
String processStatus = lawsAssess.getProcessStatus();
|
||||||
@@ -117,6 +135,31 @@ public class LawsProjectLibraryServiceImpl extends ServiceImpl<LawsProjectLibrar
|
|||||||
public void deleteByIds(List<String> ids) {
|
public void deleteByIds(List<String> ids) {
|
||||||
LambdaUpdateWrapper<LawsProjectLibrary> wrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<LawsProjectLibrary> wrapper = new LambdaUpdateWrapper<>();
|
||||||
wrapper.in(LawsProjectLibrary::getId, ids);
|
wrapper.in(LawsProjectLibrary::getId, ids);
|
||||||
|
List<LawsProjectLibrary> projectLibraryList = this.list(wrapper);
|
||||||
|
for (LawsProjectLibrary projectLibrary : projectLibraryList) {
|
||||||
|
checkPermission(projectLibrary);
|
||||||
|
String id = projectLibrary.getId();
|
||||||
|
List<LawsAssess> allByProjectIdNotDeleted = lawsAssessService.getAllByProjectIdNotDeleted(id);
|
||||||
|
for (LawsAssess lawsAssess : allByProjectIdNotDeleted) {
|
||||||
|
String processStatus = lawsAssess.getProcessStatus();
|
||||||
|
if (AssessCommon.UNDER_EVALUATION.equals(processStatus)){
|
||||||
|
throw new JeroBootException(ResultCommon.ASSESS_DELETE_ERROR2);
|
||||||
|
}
|
||||||
|
//未符合项中有整改中、审批中的数据时,不允许删除
|
||||||
|
LambdaQueryWrapper<LawsEvaluationNotMet> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.eq(LawsEvaluationNotMet::getProjectId, lawsAssess.getProjectId());
|
||||||
|
queryWrapper.in(LawsEvaluationNotMet::getStandardId, lawsAssess.getStandardId());
|
||||||
|
List<LawsEvaluationNotMet> notMetList = notMetService.list(queryWrapper);
|
||||||
|
for (LawsEvaluationNotMet notMet : notMetList) {
|
||||||
|
String state = notMet.getState();
|
||||||
|
if (AssessCommon.RECTIFICATION.equals(state)||
|
||||||
|
AssessCommon.UNDER_APPROVAL.equals(state)){
|
||||||
|
throw new JeroBootException(ResultCommon.ASSESS_DELETE_ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
wrapper.set(LawsProjectLibrary::getDelFlag, CommonConstant.DEL_FLAG_1.toString());
|
wrapper.set(LawsProjectLibrary::getDelFlag, CommonConstant.DEL_FLAG_1.toString());
|
||||||
update(wrapper);
|
update(wrapper);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user