作者 朱兆平

brench-update:

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

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