|
|
@ -815,11 +815,13 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
String owner = ""; |
|
|
String owner = ""; |
|
|
String creater = ""; |
|
|
String creater = ""; |
|
|
HashMap<String,Object> filedMap = new HashMap<>(); |
|
|
HashMap<String,Object> filedMap = new HashMap<>(); |
|
|
|
|
|
String doubleCondiVal = ""; |
|
|
treeMap.remove("value"); |
|
|
treeMap.remove("value"); |
|
|
boolean containsOrg = false; |
|
|
boolean containsOrg = false; |
|
|
boolean containsOwner = false; |
|
|
boolean containsOwner = false; |
|
|
boolean containsCreater= true; |
|
|
boolean containsCreater= true; |
|
|
boolean containsFiledMap= false; |
|
|
boolean containsFiledMap= false; |
|
|
|
|
|
boolean containsDoubleCondiVal = false; |
|
|
for (String key : treeMap.keySet()) { |
|
|
for (String key : treeMap.keySet()) { |
|
|
if (key.equals("org")) { |
|
|
if (key.equals("org")) { |
|
|
containsOrg = true; |
|
|
containsOrg = true; |
|
|
@ -839,6 +841,12 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
for (String key : treeMap.keySet()) { |
|
|
|
|
|
if (key.equals("doubleCondiVal")) { |
|
|
|
|
|
containsDoubleCondiVal = true; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
if(containsOrg){ |
|
|
if(containsOrg){ |
|
|
org = treeMapx.get("org").toString(); |
|
|
org = treeMapx.get("org").toString(); |
|
|
} |
|
|
} |
|
|
@ -851,11 +859,14 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
if(containsFiledMap){ |
|
|
if(containsFiledMap){ |
|
|
filedMap = (HashMap<String, Object>) treeMapx.get("filedMap"); |
|
|
filedMap = (HashMap<String, Object>) treeMapx.get("filedMap"); |
|
|
} |
|
|
} |
|
|
|
|
|
if(containsDoubleCondiVal){ |
|
|
|
|
|
doubleCondiVal = treeMapx.get("doubleCondiVal").toString(); |
|
|
|
|
|
} |
|
|
StringBuilder labelBuilder = new StringBuilder(); |
|
|
StringBuilder labelBuilder = new StringBuilder(); |
|
|
for (Map.Entry<String, Object> entry : treeMap.entrySet()) { |
|
|
for (Map.Entry<String, Object> entry : treeMap.entrySet()) { |
|
|
Object value = entry.getValue(); |
|
|
Object value = entry.getValue(); |
|
|
Object key = entry.getKey(); |
|
|
Object key = entry.getKey(); |
|
|
if(key.toString().equals("org")||key.toString().equals("owner")||key.toString().equals("creater")||key.toString().equals("filedMap")){ |
|
|
if(key.toString().equals("org")||key.toString().equals("owner")||key.toString().equals("creater")||key.toString().equals("filedMap")||key.toString().equals("doubleCondiVal")){ |
|
|
|
|
|
|
|
|
}else{ |
|
|
}else{ |
|
|
labelBuilder.append(value.toString()).append(" "); |
|
|
labelBuilder.append(value.toString()).append(" "); |
|
|
@ -865,9 +876,9 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
String label = labelBuilder.toString().substring(0, labelBuilder.length() - 1); |
|
|
String label = labelBuilder.toString().substring(0, labelBuilder.length() - 1); |
|
|
|
|
|
|
|
|
if(containsFiledMap){ |
|
|
if(containsFiledMap){ |
|
|
return new CustomerFormTableSingleFieldValue(lastValue, label,"","",owner,org,creater,filedMap); |
|
|
return new CustomerFormTableSingleFieldValue(lastValue, label,"","",owner,org,creater,filedMap,doubleCondiVal); |
|
|
}else{ |
|
|
}else{ |
|
|
return new CustomerFormTableSingleFieldValue(lastValue, label,"","",owner,org,creater); |
|
|
return new CustomerFormTableSingleFieldValue(lastValue, label,"","",owner,org,creater,doubleCondiVal); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
@ -1734,8 +1745,8 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
}else{ |
|
|
dataTitleMapList = getDataTitlesWithWhere_Asf_NotTable(asfFormName,toSelectDataTitles,operator,right,leftValue);//根据where条件查询数据标题
|
|
|
//dataTitleMapList = getDataTitlesWithWhere_Asf_NotTable(asfFormName,toSelectDataTitles,operator,right,leftValue);//根据where条件查询数据标题
|
|
|
|
|
|
dataTitleMapList = getDataTitlesWithWhere_Asf_NotTable1(asfFormName,toSelectDataTitles,operator,right,leftValue);//根据where条件查询数据标题
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -1779,6 +1790,10 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
return 1; |
|
|
return 1; |
|
|
} else if (key2.equals("filedMap")) { |
|
|
} else if (key2.equals("filedMap")) { |
|
|
return -1; |
|
|
return -1; |
|
|
|
|
|
}else if (key1.equals("doubleCondiVal")) { |
|
|
|
|
|
return 1; |
|
|
|
|
|
} else if (key2.equals("doubleCondiVal")) { |
|
|
|
|
|
return -1; |
|
|
} |
|
|
} |
|
|
return 0; |
|
|
return 0; |
|
|
} |
|
|
} |
|
|
@ -1834,10 +1849,18 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
ArrayList<TreeMap<String, Object>> sortedDataTitleMapList = new ArrayList<>(); |
|
|
ArrayList<TreeMap<String, Object>> sortedDataTitleMapList = new ArrayList<>(); |
|
|
for(TreeMap<String,Object> toSortTreeMap : dataTitleMapList){ |
|
|
for(TreeMap<String,Object> toSortTreeMap : dataTitleMapList){ |
|
|
// 对 TreeMap 进行排序
|
|
|
// 对 TreeMap 进行排序
|
|
|
|
|
|
if(toSortTreeMap.containsKey("doubleCondiVal")){ |
|
|
|
|
|
//System.out.println(1);
|
|
|
|
|
|
TreeMap<String, Object> sortedTreeMap = new TreeMap<>(customComparator); |
|
|
|
|
|
sortedTreeMap.putAll(toSortTreeMap); |
|
|
|
|
|
sortedDataTitleMapList.add(sortedTreeMap); |
|
|
|
|
|
}else{ |
|
|
TreeMap<String, Object> sortedTreeMap = new TreeMap<>(customComparator); |
|
|
TreeMap<String, Object> sortedTreeMap = new TreeMap<>(customComparator); |
|
|
sortedTreeMap.putAll(toSortTreeMap); |
|
|
sortedTreeMap.putAll(toSortTreeMap); |
|
|
sortedDataTitleMapList.add(sortedTreeMap); |
|
|
sortedDataTitleMapList.add(sortedTreeMap); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
//转为CustomerFormTableSingleFieldValue对象list
|
|
|
//转为CustomerFormTableSingleFieldValue对象list
|
|
|
ArrayList<CustomerFormTableSingleFieldValue> toReturnSortedDataTitleList = new ArrayList<>(); |
|
|
ArrayList<CustomerFormTableSingleFieldValue> toReturnSortedDataTitleList = new ArrayList<>(); |
|
|
for(TreeMap<String,Object> sortedDataTitleMap : sortedDataTitleMapList){ |
|
|
for(TreeMap<String,Object> sortedDataTitleMap : sortedDataTitleMapList){ |
|
|
@ -1956,12 +1979,47 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
if(!StringUtils.isBlank(leftValue)) { |
|
|
if(!StringUtils.isBlank(leftValue)) { |
|
|
leftValue = "`" + leftValue + "`"; |
|
|
leftValue = "`" + leftValue + "`"; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
List<TreeMap<String, Object>> dataTitles = fieldRecordMapper.getDataTitlesWithWhere_Asf_NotTable(asfFormName, toSelectDataTitles1,operator,whereCondition,leftValue); |
|
|
List<TreeMap<String, Object>> dataTitles = fieldRecordMapper.getDataTitlesWithWhere_Asf_NotTable(asfFormName, toSelectDataTitles1,operator,whereCondition,leftValue); |
|
|
//没有owner的,creater的key改为owner,有owner但owner为空的,creater的value给owner
|
|
|
//没有owner的,creater的key改为owner,有owner但owner为空的,creater的value给owner
|
|
|
//没有org的
|
|
|
//没有org的
|
|
|
processDataTitles(dataTitles); |
|
|
processDataTitles(dataTitles); |
|
|
return dataTitles; |
|
|
return dataTitles; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private List<TreeMap<String, Object>> getDataTitlesWithWhere_Asf_NotTable1(String asfFormName,ArrayList<String> toSelectDataTitles,String operator,String whereCondition,String leftValue){ |
|
|
|
|
|
List<TreeMap<String, Object>> newDataTitles = new ArrayList<>(); |
|
|
|
|
|
/*for(String item :toSelectDataTitles){ |
|
|
|
|
|
item = "`"+item+"`"; |
|
|
|
|
|
}*/ |
|
|
|
|
|
ArrayList<String> toSelectDataTitles1 = new ArrayList<>(); |
|
|
|
|
|
for (int i = 0; i < toSelectDataTitles.size(); i++) { |
|
|
|
|
|
toSelectDataTitles1.add(i, "`" + toSelectDataTitles.get(i) + "`"); |
|
|
|
|
|
} |
|
|
|
|
|
if(!StringUtils.isBlank(leftValue)) { |
|
|
|
|
|
leftValue = "`" + leftValue + "`"; |
|
|
|
|
|
} |
|
|
|
|
|
//双变量条件,页面初始化时,数据范围不做筛选
|
|
|
|
|
|
if(whereCondition.startsWith("'formField:")&&(!whereCondition.contains(":table"))){ |
|
|
|
|
|
String[] a = (whereCondition.substring(1, whereCondition.length() - 1)).split(":"); |
|
|
|
|
|
String b = a[a.length-1]; |
|
|
|
|
|
b = "`"+b+"`"; |
|
|
|
|
|
List<TreeMap<String, Object>> dataTitles = fieldRecordMapper.getDataTitlesWithWhere_Asf_NotTable_DoubleCondi(asfFormName, toSelectDataTitles1,operator,b,leftValue); |
|
|
|
|
|
processDataTitles(dataTitles); |
|
|
|
|
|
return dataTitles; |
|
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
List<TreeMap<String, Object>> dataTitles = fieldRecordMapper.getDataTitlesWithWhere_Asf_NotTable(asfFormName, toSelectDataTitles1,operator,whereCondition,leftValue); |
|
|
|
|
|
//没有owner的,creater的key改为owner,有owner但owner为空的,creater的value给owner
|
|
|
|
|
|
//没有org的
|
|
|
|
|
|
processDataTitles(dataTitles); |
|
|
|
|
|
return dataTitles; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
private List<TreeMap<String, Object>> getDataTitlesWithWhere_Master_NotTable(String asfFormName,ArrayList<String> toSelectDataTitles, String masterFormName, String masterOnField, String whereConditionField, String operator, String whereConditionValue) { |
|
|
private List<TreeMap<String, Object>> getDataTitlesWithWhere_Master_NotTable(String asfFormName,ArrayList<String> toSelectDataTitles, String masterFormName, String masterOnField, String whereConditionField, String operator, String whereConditionValue) { |
|
|
ArrayList<String> toSelectDataTitles1 = new ArrayList<>(); |
|
|
ArrayList<String> toSelectDataTitles1 = new ArrayList<>(); |
|
|
for(String item : toSelectDataTitles){ |
|
|
for(String item : toSelectDataTitles){ |
|
|
@ -2790,14 +2848,24 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//修改查询代码 start
|
|
|
//修改查询代码 start
|
|
|
|
|
|
try { |
|
|
|
|
|
// 可能会抛出异常的代码块
|
|
|
ArrayList<HashMap<String,Object>> leftTableDetail = fieldRecordMapper.queryAsfLeftMapListWithWhereCondition(leftTableName,toSelectTableFeilds,currentMastersKey,whereLeft,whereOperator,whereRight); |
|
|
ArrayList<HashMap<String,Object>> leftTableDetail = fieldRecordMapper.queryAsfLeftMapListWithWhereCondition(leftTableName,toSelectTableFeilds,currentMastersKey,whereLeft,whereOperator,whereRight); |
|
|
|
|
|
replaceKeys(leftTableDetail,toSelectTableFeildsMap); |
|
|
|
|
|
leftTableDetailMap.put(rightTableName,leftTableDetail); |
|
|
|
|
|
} catch (Exception e1) { |
|
|
|
|
|
// 针对ExceptionType1类型异常的处理逻辑
|
|
|
|
|
|
//e1.printStackTrace();
|
|
|
|
|
|
} finally { |
|
|
|
|
|
// 无论是否发生异常,都会执行的代码块(可选)
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
//修改查询代码 end
|
|
|
//修改查询代码 end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
replaceKeys(leftTableDetail,toSelectTableFeildsMap); |
|
|
|
|
|
leftTableDetailMap.put(rightTableName,leftTableDetail); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|