数据权限回显
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,4 +81,11 @@ public interface DataPermissionService {
|
||||
* @param datas
|
||||
*/
|
||||
void savePermission(JSONObject datas);
|
||||
|
||||
/**
|
||||
* 通过用户id获取其数据权限
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
JSONArray getDataShow(String userId);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user