作者 朱兆平

brench-update:

1. 转关运抵列表接口增加数据权限过滤-列过滤时增加字段列名重复情况的处理

Signed-off-by: mrz <17966059@qq.com>
... ... @@ -27,6 +27,7 @@ import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
... ... @@ -88,7 +89,8 @@ public class DataPermissionInterceptor implements Interceptor {
JSONArray dataPermissions = user.getJSONArray("dataPermissions");
//存储行条件数据权限
ArrayList<JSONObject> rowConditions = new ArrayList<>();
JSONArray colConditions = new JSONArray();
//使用hashset存储防止 字段列名重复
HashSet<String> colConditions = new HashSet();
if (dataPermissions!=null && !dataPermissions.isEmpty()){
for (Object item : dataPermissions) {
... ... @@ -103,8 +105,9 @@ public class DataPermissionInterceptor implements Interceptor {
if ("*".equals(colListStr)) {
//查询全部列,不改
}else{
JSONArray cloArrayList = JSONArray.parseArray(colListStr);
colConditions.addAll(cloArrayList);
List cloNames = JSONArray.parseArray(colListStr);
colConditions.addAll(cloNames);
colConditions.add("CREATTIME");
}
}
rowConditions.add(datapermission);
... ... @@ -273,7 +276,7 @@ public class DataPermissionInterceptor implements Interceptor {
* @param newSelectItems 要重设置的字段列表
* @return 重新设置后的字段列表
*/
private List<SelectItem> resetColumn(JSONArray newSelectItems){
private List<SelectItem> resetColumn(HashSet newSelectItems){
List<SelectItem> newSelectExpressionItems = new ArrayList<>();
for (Object newSelectItem : newSelectItems) {
SelectItem selectExpressionItem = new SelectExpressionItem(new Column(newSelectItem.toString()));
... ...