|
|
|
@ -2540,12 +2540,68 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
|
|
|
|
|
|
|
|
|
}else{//其它数字或文字条件 如:文学家包含李 以like模糊查询来筛选
|
|
|
|
String[] leftSplit = conditionLeft.split(":"); |
|
|
|
if(leftSplit[0].equals("formField")&&leftSplit.length==4){ |
|
|
|
String whereLeft = "`"+leftSplit[3]+"`"; |
|
|
|
String whereOperator = "like"; |
|
|
|
String whereRight = "'%"+conditionRight+"%'"; |
|
|
|
|
|
|
|
/*if(){ |
|
|
|
|
|
|
|
}*/ |
|
|
|
|
|
|
|
logger.error("数据范围条件查询出现无法处理的情况---返回原数据列表---" + conditionOperator); |
|
|
|
//标准无筛选条件查询拼装代码块 --------------------------------------------------------------------- start
|
|
|
|
for(List<Map<String, String>> list :singleAsfChildTableFillRoleMapListsGroupedByRightTableName){ |
|
|
|
ArrayList<String> toSelectTableFeilds = new ArrayList<>(); |
|
|
|
HashMap<String,String> toSelectTableFeildsMap = new HashMap<>(); |
|
|
|
for(Map<String,String> map :list){ |
|
|
|
System.out.println("map===>"+map); |
|
|
|
toSelectTableFeilds.add("`"+map.get("leftTableField")+"`"); |
|
|
|
toSelectTableFeildsMap.put(map.get("leftTableField"),map.get("rightTableField")); |
|
|
|
} |
|
|
|
if(list.size()>0){ |
|
|
|
String leftTableName = "`"+list.get(0).get("leftTableName")+"`"; |
|
|
|
String rightTableName = list.get(0).get("rightTableName"); |
|
|
|
//根据currentVal获取currentMastersKey
|
|
|
|
String currentMastersKey = fieldRecordMapper.queryCurrentMastersKey(currentVal,asfFormName); |
|
|
|
System.out.println(list.get(0).get("leftTableName")); |
|
|
|
System.out.println(toSelectTableFeilds); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//修改查询代码 start
|
|
|
|
ArrayList<HashMap<String,Object>> leftTableDetail = fieldRecordMapper.queryAsfLeftMapListWithWhereCondition(leftTableName,toSelectTableFeilds,currentMastersKey,whereLeft,whereOperator,whereRight); |
|
|
|
//修改查询代码 end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
replaceKeys(leftTableDetail,toSelectTableFeildsMap); |
|
|
|
leftTableDetailMap.put(rightTableName,leftTableDetail); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 遍历
|
|
|
|
for (Map.Entry<String, ArrayList<HashMap<String, Object>>> entry : leftTableDetailMap.entrySet()) { |
|
|
|
//当前子表拼装结果
|
|
|
|
AsfTableFillResult afr = new AsfTableFillResult(); |
|
|
|
|
|
|
|
String keyx = entry.getKey(); |
|
|
|
ArrayList<HashMap<String, Object>> valueList = entry.getValue(); |
|
|
|
System.out.println("Key: " + keyx); |
|
|
|
afr.setTableName(keyx); |
|
|
|
afr.setTableDetail(valueList); |
|
|
|
resultList.add(afr); |
|
|
|
} |
|
|
|
System.out.println(1); |
|
|
|
//标准无筛选条件查询拼装代码块 ------------------------------------------------------------------ end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
}else if(conditionOperator.equals("不包含")){ |
|
|
|
|
|
|
|
@ -3714,7 +3770,90 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
|
} |
|
|
|
|
|
|
|
}else{ |
|
|
|
//自定义数字或文字条件值
|
|
|
|
//自定义数字或文字条件值 子表某字段 > 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String[] leftSplit = conditionLeft.split(":"); |
|
|
|
if(leftSplit[0].equals("formField")&&leftSplit.length==4){ |
|
|
|
String whereLeft = "`"+leftSplit[3]+"`"; |
|
|
|
String whereOperator = conditionOperator; |
|
|
|
String whereRight = conditionRight; |
|
|
|
if(whereRight.equals("==")){ |
|
|
|
whereRight = "="; |
|
|
|
} |
|
|
|
boolean illegalFlag = false; |
|
|
|
if(isNumeric(whereRight)){//数字条件
|
|
|
|
|
|
|
|
}else{//非数字条件
|
|
|
|
|
|
|
|
if(whereOperator.contains(">")||whereOperator.contains("<")){ |
|
|
|
illegalFlag = true; |
|
|
|
}else{ |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//标准无筛选条件查询拼装代码块 --------------------------------------------------------------------- start
|
|
|
|
for(List<Map<String, String>> list :singleAsfChildTableFillRoleMapListsGroupedByRightTableName){ |
|
|
|
ArrayList<String> toSelectTableFeilds = new ArrayList<>(); |
|
|
|
HashMap<String,String> toSelectTableFeildsMap = new HashMap<>(); |
|
|
|
for(Map<String,String> map :list){ |
|
|
|
System.out.println("map===>"+map); |
|
|
|
toSelectTableFeilds.add("`"+map.get("leftTableField")+"`"); |
|
|
|
toSelectTableFeildsMap.put(map.get("leftTableField"),map.get("rightTableField")); |
|
|
|
} |
|
|
|
if(list.size()>0){ |
|
|
|
String leftTableName = "`"+list.get(0).get("leftTableName")+"`"; |
|
|
|
String rightTableName = list.get(0).get("rightTableName"); |
|
|
|
//根据currentVal获取currentMastersKey
|
|
|
|
String currentMastersKey = fieldRecordMapper.queryCurrentMastersKey(currentVal,asfFormName); |
|
|
|
System.out.println(list.get(0).get("leftTableName")); |
|
|
|
System.out.println(toSelectTableFeilds); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ArrayList<HashMap<String,Object>> leftTableDetail; |
|
|
|
//修改查询代码 start
|
|
|
|
if (illegalFlag){//大于小于号的情况下输入了非数字条件 认为条件无效,数据全部返回?
|
|
|
|
leftTableDetail = fieldRecordMapper.queryAsfLeftMapList(leftTableName,toSelectTableFeilds,currentMastersKey); |
|
|
|
}else{ |
|
|
|
leftTableDetail = fieldRecordMapper.queryAsfLeftMapListWithWhereCondition(leftTableName,toSelectTableFeilds,currentMastersKey,whereLeft,whereOperator,whereRight); |
|
|
|
} |
|
|
|
|
|
|
|
//修改查询代码 end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
replaceKeys(leftTableDetail,toSelectTableFeildsMap); |
|
|
|
leftTableDetailMap.put(rightTableName,leftTableDetail); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 遍历
|
|
|
|
for (Map.Entry<String, ArrayList<HashMap<String, Object>>> entry : leftTableDetailMap.entrySet()) { |
|
|
|
//当前子表拼装结果
|
|
|
|
AsfTableFillResult afr = new AsfTableFillResult(); |
|
|
|
|
|
|
|
String keyx = entry.getKey(); |
|
|
|
ArrayList<HashMap<String, Object>> valueList = entry.getValue(); |
|
|
|
System.out.println("Key: " + keyx); |
|
|
|
afr.setTableName(keyx); |
|
|
|
afr.setTableDetail(valueList); |
|
|
|
resultList.add(afr); |
|
|
|
} |
|
|
|
System.out.println(1); |
|
|
|
//标准无筛选条件查询拼装代码块 ------------------------------------------------------------------ end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|