@ -393,7 +393,7 @@ public class DataFilterAspect {
/**
*计算组织范围过滤sql
*
*PS:这个方法需要优化,当前阶段因为逻辑不稳定,暂时不做过度封装
*@paramscopes
*@paramcurrOrg
*@parampOrgPath
@ -411,16 +411,32 @@ public class DataFilterAspect {
break;
caseOpeScopeConstant.ORG_CURR_AND_SUB:
if(StringUtils.isBlank(tableAlias)){
sb.append(" ORG_ID_PATH like '").append(pOrgPath).append("%' ").append(" OR ");
sb.append(" ORG_ID_PATH like '").append(pOrgPath).append("%' OR ");
}else{
sb.append(" ").append(tableAlias).append(".ORG_ID_PATH like '").append(pOrgPath).append("%' ").append(" OR ");
sb.append(" ").append(tableAlias).append(".ORG_ID_PATH like '").append(pOrgPath).append("%' OR ");
}
break;
caseOpeScopeConstant.ORG_CURR_SUB:
if(StringUtils.isBlank(tableAlias)){
sb.append(" ORG_ID_PATH like '").append(pOrgPath).append(orgIdPathSpliter).append(currOrg).append("%' ").append(" OR ");
sb.append(" ORG_ID_PATH like '").append(pOrgPath).append(orgIdPathSpliter).append(currOrg).append("%' OR ");
}else{
sb.append(" ").append(tableAlias).append(".ORG_ID_PATH like '").append(pOrgPath).append(orgIdPathSpliter).append(currOrg).append("%' OR ");
}
break;
//当前单位的父级单位
caseOpeScopeConstant.ORG_CURR_SUP:
if(StringUtils.isBlank(tableAlias)){
sb.append(" '").append(pOrgPath).append("' like CONCAT(").append("ORG_ID_PATH,'%') OR ");
}else{
sb.append(" '").append(pOrgPath).append("' like CONCAT(").append(tableAlias).append(".ORG_ID_PATH,'%') OR ");
}
break;
// 当前单位及其父级单位
caseOpeScopeConstant.ORG_CURR_AND_SUP:
if(StringUtils.isBlank(tableAlias)){
sb.append(" '").append(pOrgPath).append(orgIdPathSpliter).append(currOrg).append("' like CONCAT(").append("ORG_ID_PATH,'%') OR ");
}else{
sb.append(" ").append(tableAlias).append(".ORG_ID_PATH like '").append(pOrgPath).append(orgIdPathSpliter).append(currOrg).append("%' ").append(" OR ");
sb.append(" '").append(pOrgPath).append(orgIdPathSpliter).append(currOrg).append("' like CONCAT(").append(tableAlias).append(".ORG_ID_PATH,'%' ) OR ");
}
break;
caseOpeScopeConstant.ORG_EQUAL:
@ -435,6 +451,14 @@ public class DataFilterAspect {
// todo 同级的子级
//sb.append(" OR ");
break;
caseOpeScopeConstant.ORG_EQUAL_AND_SUP:
// todo 同级及其上级
//sb.append(" OR ");
break;
caseOpeScopeConstant.ORG_EQUAL_SUP:
// todo 同级的上级
//sb.append(" OR ");
break;
}
}
}
@ -453,8 +477,8 @@ public class DataFilterAspect {