数据权限回显

This commit is contained in:
2022-12-12 14:31:44 +08:00
parent 03668910df
commit 06af0f8c90
8 changed files with 125 additions and 20 deletions

View File

@@ -86,4 +86,11 @@ public class DataPermissionController {
dataPermissionService.savePermission(datas);
return new ResponseEntity<>(HttpStatus.CREATED);
}
@PostMapping("/dataShow")
@Log("查看数据权限")
@ApiOperation("查看数据权限")
public ResponseEntity<Object> getDataShow(@RequestBody String id){
return new ResponseEntity<>(dataPermissionService.getDataShow(id),HttpStatus.OK);
}
}

View File

@@ -81,4 +81,11 @@ public interface DataPermissionService {
* @param datas
*/
void savePermission(JSONObject datas);
/**
* 通过用户id获取其数据权限
* @param userId
* @return
*/
JSONArray getDataShow(String userId);
}

View File

@@ -210,4 +210,25 @@ public class DataPermissionServiceImpl implements DataPermissionService {
}
}
}
@Override
public JSONArray getDataShow(String userId) {
WQLObject scopeTab = WQLObject.getWQLObject("sys_user_data_permission"); // 用户数据权限表
WQLObject dataTab = WQLObject.getWQLObject("sys_data_permission"); // 权限user用户权限dept部门权限
JSONArray resultJSONArray = scopeTab.query("user_id = '" + userId + "'").getResultJSONArray(0);
for (int i = 0; i < resultJSONArray.size(); i++) {
JSONObject jsonObject = resultJSONArray.getJSONObject(i);
String permissionId = jsonObject.getString("permission_id");
JSONObject dataObj = dataTab.query("permission_id = '" + permissionId + "'").uniqueResult(0);
if (dataObj.getString("code").equals("user")) { // 用户权限
JSONArray userIds = WQL.getWO("Query").addParamMap(MapOf.of("flag", "2", "self_user_id", userId, "permission_scope_type", jsonObject.getString("permission_scope_type"))).process().getResultJSONArray(0);
jsonObject.put("users", userIds);
} else if (dataObj.getString("code").equals("dept")) { // 部门权限
JSONArray deptIds = WQL.getWO("Query").addParamMap(MapOf.of("flag", "3", "self_user_id", userId, "permission_scope_type", jsonObject.getString("permission_scope_type"))).process().getResultJSONArray(0);
jsonObject.put("depts", deptIds);
}
// 其他不做处理
}
return resultJSONArray;
}
}

View File

@@ -13,8 +13,10 @@
#################################################
## 表字段对应输入参数
#################################################
输入.flag TYPEAS s_string
输入.flag TYPEAS s_string
输入.dept_id TYPEAS s_string
输入.self_user_id TYPEAS s_string
输入.permission_scope_type TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
@@ -52,3 +54,37 @@
ENDSELECT
ENDPAGEQUERY
ENDIF
IF 输入.flag = "2"
PAGEQUERY
SELECT
scop.user_id
FROM
`sys_data_scope` scop
WHERE
1 = 1
OPTION 输入.self_user_id <> ""
self_user_id = 输入.self_user_id
ENDOPTION
OPTION 输入.permission_scope_type <> ""
permission_scope_type = 输入.permission_scope_type
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF
IF 输入.flag = "3"
PAGEQUERY
SELECT
DISTINCT scop.dept_id
FROM
`sys_data_scope` scop
WHERE
1 = 1
OPTION 输入.self_user_id <> ""
self_user_id = 输入.self_user_id
ENDOPTION
OPTION 输入.permission_scope_type <> ""
permission_scope_type = 输入.permission_scope_type
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF