在角色里面配置菜单的时候,根据是否开启多级审核,来过滤掉任务相关的菜单

This commit is contained in:
季圣华
2023-03-09 00:29:22 +08:00
parent 29d5da9483
commit 4f5900215f
2 changed files with 31 additions and 4 deletions

View File

@@ -10,6 +10,7 @@ import com.jsh.erp.datasource.mappers.FunctionMapper;
import com.jsh.erp.datasource.mappers.FunctionMapperEx;
import com.jsh.erp.exception.JshException;
import com.jsh.erp.service.log.LogService;
import com.jsh.erp.service.systemConfig.SystemConfigService;
import com.jsh.erp.service.user.UserService;
import com.jsh.erp.utils.StringUtil;
import org.slf4j.Logger;
@@ -37,6 +38,8 @@ public class FunctionService {
@Resource
private UserService userService;
@Resource
private SystemConfigService systemConfigService;
@Resource
private LogService logService;
public Function getFunction(long id)throws Exception {
@@ -204,12 +207,19 @@ public class FunctionService {
}
public List<Function> findRoleFunction(String pnumber)throws Exception{
FunctionExample example = new FunctionExample();
example.createCriteria().andEnabledEqualTo(true).andParentNumberEqualTo(pnumber)
.andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED);
example.setOrderByClause("Sort");
List<Function> list=null;
try{
Boolean multiLevelApprovalFlag = systemConfigService.getMultiLevelApprovalFlag();
FunctionExample example = new FunctionExample();
FunctionExample.Criteria criteria = example.createCriteria();
criteria.andEnabledEqualTo(true).andParentNumberEqualTo(pnumber)
.andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED);
if("0".equals(pnumber)) {
if(!multiLevelApprovalFlag) {
criteria.andUrlNotEqualTo("/workflow");
}
}
example.setOrderByClause("Sort");
list =functionsMapper.selectByExample(example);
}catch(Exception e){
JshException.readFail(logger, e);

View File

@@ -216,4 +216,21 @@ public class SystemConfigService {
}
return amountApprovalFlag;
}
/**
* 获取多级审核开关
* @return
* @throws Exception
*/
public boolean getMultiLevelApprovalFlag() throws Exception {
boolean multiLevelApprovalFlag = false;
List<SystemConfig> list = getSystemConfig();
if(list.size()>0) {
String flag = list.get(0).getMultiLevelApprovalFlag();
if(("1").equals(flag)) {
multiLevelApprovalFlag = true;
}
}
return multiLevelApprovalFlag;
}
}