| | |
| | | @Override |
| | | public DataGrid<Map<String, String>> queryGrid(String btmType, CodeClassifyTemplateVO templateVO, Map<String, String> conditionMap, PageHelper pageHelper) { |
| | | CodeTemplateAttrSqlBO sqlBO = getSqlByTemplateVO(btmType, templateVO, conditionMap, pageHelper); |
| | | // List<Map> maps = boService.queryByOnlySqlForMap(sqlBO.getSqlHasPage()); |
| | | // List<Map> maps = boService.queryByOnlySqlForMap(sqlBO.getSqlHasPage()); |
| | | List<Map<String, String>> maps = null; |
| | | try { |
| | | maps = commonsMapper.queryByOnlySqlForMap(sqlBO.getSqlHasPage()); |
| | |
| | | for (String s : map.keySet()) { |
| | | data.put(s.toLowerCase(Locale.ROOT), map.get(s) == null ? null : String.valueOf(map.get(s))); |
| | | } |
| | | // map.forEach((key, value) -> { |
| | | // data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); |
| | | // }); |
| | | // map.forEach((key, value) -> { |
| | | // data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); |
| | | // }); |
| | | dataList.add(data); |
| | | }); |
| | | wrapperData(dataList, templateVO, sqlBO.getSelectFieldList(), false); |
| | | // maps.stream().forEach(map -> { |
| | | // Map<String, String> data = new HashMap<>(); |
| | | //// map.forEach((key, value) -> { |
| | | //// data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); |
| | | //// }); |
| | | // for (String s : map.keySet()) { |
| | | // data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s))); |
| | | // } |
| | | // dataList.add(data); |
| | | // }); |
| | | // maps.stream().forEach(map -> { |
| | | // Map<String, String> data = new HashMap<>(); |
| | | // map.forEach((key, value) -> { |
| | | // data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); |
| | | // }); |
| | | // for (String s : map.keySet()) { |
| | | // data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s))); |
| | | // } |
| | | // dataList.add(data); |
| | | // }); |
| | | } |
| | | // dataGrid.setData(dataList); |
| | | // if (!CollectionUtils.isEmpty(maps)) { |
| | | // wrapperData(maps, templateVO, sqlBO.getSelectFieldList(), false); |
| | | // maps.stream().forEach(map -> { |
| | | // Map<String, String> data = new HashMap<>(); |
| | | //// map.forEach((key, value) -> { |
| | | //// data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); |
| | | //// }); |
| | | // for (String s : map.keySet()) { |
| | | // data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s))); |
| | | // } |
| | | // dataList.add(data); |
| | | // }); |
| | | // dataGrid.setData(dataList); |
| | | // if (!CollectionUtils.isEmpty(maps)) { |
| | | // wrapperData(maps, templateVO, sqlBO.getSelectFieldList(), false); |
| | | // maps.stream().forEach(map -> { |
| | | // Map<String, String> data = new HashMap<>(); |
| | | //// map.forEach((key, value) -> { |
| | | //// data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); |
| | | //// }); |
| | | // for (String s : map.keySet()) { |
| | | // data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s))); |
| | | // } |
| | | // dataList.add(data); |
| | | // }); |
| | | dataGrid.setData(dataList); |
| | | dataGrid.setTotal(Long.parseLong(commonsMapper.selectBySql(sqlBO.getSqlCount()).get(0).values().toArray()[0].toString())); |
| | | // } |
| | | // } |
| | | return dataGrid; |
| | | } |
| | | |
| | |
| | | userVOMap.put(String.valueOf(data.getId()), data); |
| | | } |
| | | } |
| | | // Map<String, SmUserVO> userVOMap = Optional.ofNullable(userQueryService.listUserByUserIds(userIds)).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); |
| | | // Map<String, SmUserVO> userVOMap = Optional.ofNullable(userQueryService.listUserByUserIds(userIds)).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); |
| | | dataMap.stream().forEach(data -> { |
| | | String creator = data.getOrDefault("creator", null); |
| | | if (StringUtils.isNotBlank(creator) && userVOMap.containsKey(creator.toLowerCase(Locale.ROOT))) { |
| | |
| | | if (referFieldMap.containsKey(field)) { |
| | | return VciBaseUtil.toInSql(referFieldMap.get(field), value); //referFieldMap.get(field) + SPACE + "= '" + value + "'" + SPACE; |
| | | } else { |
| | | return (field.contains(".") ? "" : "t.") + field + SPACE + "= " + getStringValueInWhere(field, value, attrVOMap) + "" + SPACE; |
| | | //TODO:暂时没考虑IN>1000条的问题 |
| | | //return (field.contains(".") ? "" : "t.") + field + SPACE + "= " + getStringValueInWhere(field, value, attrVOMap) + "" + SPACE; |
| | | return (field.contains(".") ? "" : "t.") + field + SPACE + "IN (" + getStringValueInWhere(field, "IN//"+value, attrVOMap) + ")" + SPACE; |
| | | } |
| | | } else if (key.endsWith("_notin")) { |
| | | String field = UBCSSqlKeyword.getColumn(key, "_in"); |
| | | if (referFieldMap.containsKey(field)) { |
| | | return VciBaseUtil.toInSql(referFieldMap.get(field), value); //referFieldMap.get(field) + SPACE + "= '" + value + "'" + SPACE; |
| | | } else { |
| | | //return (field.contains(".") ? "" : "t.") + field + SPACE + "not in (" + getStringValueInWhere(field, "IN//"+value, attrVOMap) + ")" + SPACE; |
| | | return (field.contains(".") ? "" : "t.") + field + SPACE + "IN (" + getStringValueInWhere(field, "IN//"+value, attrVOMap) + ")" + SPACE; |
| | | } |
| | | |
| | | } else { |
| | | // if (referFieldMap.containsKey(key)) { |
| | | // //说明是参照的,我们参照的查询都认为是字符串,如果是时间格式的查询肯定有问题, |
| | |
| | | || VciFieldTypeEnum.VTInteger.equals(fieldTypeEnum)) { |
| | | return value; |
| | | } else { |
| | | if(value.contains("IN//")){ |
| | | return MybatisParameterUtil.getInClause(Func.toStrList(value.replace("IN//",""))); |
| | | } |
| | | return "'" + value + "'"; |
| | | } |
| | | } else { |
| | | if ((value.startsWith("(") && value.endsWith(")")) || (value.startsWith("'") && value.endsWith("'"))) { |
| | | return value; |
| | | }else if(value.contains("IN//")){ |
| | | //暂时不考虑>1000的情况,因为搜索一般也不会出现搜索1000条的情况 |
| | | //return MybatisParameterUtil.convertToOrConditions(field, Func.toStrList(value.replace("IN//",""))); |
| | | return MybatisParameterUtil.getInClause(Func.toStrList(value.replace("IN//",""))); |
| | | }else{ |
| | | return "'" + value + "'"; |
| | | } |
| | | return "'" + value + "'"; |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | }); |
| | | return mapDataGrid; |
| | | // List<String> selectFieldList = templateVO.getAttributes().stream().map(CodeClassifyTemplateAttrVO::getId).collect(Collectors.toList()); |
| | | // //参照让平台直接查询就行 |
| | | // List<String> finalSelectFieldList = selectFieldList; |
| | | // List<CodeClassifyTemplateAttrVO> referAttrVOs = templateVO.getAttributes().stream().filter( |
| | | // s -> StringUtils.isNotBlank(s.getReferbtmid()) |
| | | // && |
| | | // (finalSelectFieldList.size() ==0 || finalSelectFieldList.contains(s.getId().toLowerCase(Locale.ROOT))) |
| | | // ).collect(Collectors.toList()); |
| | | // if(!CollectionUtils.isEmpty(referAttrVOs)){ |
| | | // for (int i = 0; i < referAttrVOs.size(); i++) { |
| | | // selectFieldList.add(referAttrVOs.get(i).getId() + ".name"); |
| | | // } |
| | | // } |
| | | // //我们使用和业务类型的来查询 |
| | | // DataGrid<Map<String,String>> dataGrid = boService.queryGridByBo(btmTypeId, conditionMap, pageHelper, selectFieldList); |
| | | // //我们需要使用模板来转换 |
| | | // if(!CollectionUtils.isEmpty(dataGrid.getData())){ |
| | | // wrapperData(dataGrid.getData(),templateVO,finalSelectFieldList,false); |
| | | // } |
| | | // return dataGrid; |
| | | // List<String> selectFieldList = templateVO.getAttributes().stream().map(CodeClassifyTemplateAttrVO::getId).collect(Collectors.toList()); |
| | | // //参照让平台直接查询就行 |
| | | // List<String> finalSelectFieldList = selectFieldList; |
| | | // List<CodeClassifyTemplateAttrVO> referAttrVOs = templateVO.getAttributes().stream().filter( |
| | | // s -> StringUtils.isNotBlank(s.getReferbtmid()) |
| | | // && |
| | | // (finalSelectFieldList.size() ==0 || finalSelectFieldList.contains(s.getId().toLowerCase(Locale.ROOT))) |
| | | // ).collect(Collectors.toList()); |
| | | // if(!CollectionUtils.isEmpty(referAttrVOs)){ |
| | | // for (int i = 0; i < referAttrVOs.size(); i++) { |
| | | // selectFieldList.add(referAttrVOs.get(i).getId() + ".name"); |
| | | // } |
| | | // } |
| | | // //我们使用和业务类型的来查询 |
| | | // DataGrid<Map<String,String>> dataGrid = boService.queryGridByBo(btmTypeId, conditionMap, pageHelper, selectFieldList); |
| | | // //我们需要使用模板来转换 |
| | | // if(!CollectionUtils.isEmpty(dataGrid.getData())){ |
| | | // wrapperData(dataGrid.getData(),templateVO,finalSelectFieldList,false); |
| | | // } |
| | | // return dataGrid; |
| | | } |
| | | |
| | | /** |