|
|
@ -26,6 +26,7 @@ import org.apache.logging.log4j.Logger; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
import java.io.IOException; |
|
|
|
|
|
import java.lang.reflect.Array; |
|
|
import java.util.*; |
|
|
import java.util.*; |
|
|
|
|
|
|
|
|
@Service |
|
|
@Service |
|
|
@ -589,10 +590,12 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
String org = ""; |
|
|
String org = ""; |
|
|
String owner = ""; |
|
|
String owner = ""; |
|
|
String creater = ""; |
|
|
String creater = ""; |
|
|
|
|
|
HashMap<String,Object> filedMap = new HashMap<>(); |
|
|
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; |
|
|
for (String key : treeMap.keySet()) { |
|
|
for (String key : treeMap.keySet()) { |
|
|
if (key.equals("org")) { |
|
|
if (key.equals("org")) { |
|
|
containsOrg = true; |
|
|
containsOrg = true; |
|
|
@ -605,6 +608,13 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
for (String key : treeMap.keySet()) { |
|
|
|
|
|
if (key.equals("filedMap")) { |
|
|
|
|
|
containsFiledMap = true; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
if(containsOrg){ |
|
|
if(containsOrg){ |
|
|
org = treeMapx.get("org").toString(); |
|
|
org = treeMapx.get("org").toString(); |
|
|
} |
|
|
} |
|
|
@ -614,12 +624,14 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
if(containsCreater){ |
|
|
if(containsCreater){ |
|
|
creater = treeMapx.get("creater").toString(); |
|
|
creater = treeMapx.get("creater").toString(); |
|
|
} |
|
|
} |
|
|
|
|
|
if(containsFiledMap){ |
|
|
|
|
|
filedMap = (HashMap<String, Object>) treeMapx.get("filedMap"); |
|
|
|
|
|
} |
|
|
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")){ |
|
|
if(key.toString().equals("org")||key.toString().equals("owner")||key.toString().equals("creater")||key.toString().equals("filedMap")){ |
|
|
|
|
|
|
|
|
}else{ |
|
|
}else{ |
|
|
labelBuilder.append(value.toString()).append(" "); |
|
|
labelBuilder.append(value.toString()).append(" "); |
|
|
@ -627,7 +639,13 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
String label = labelBuilder.toString().substring(0, labelBuilder.length() - 1); |
|
|
String label = labelBuilder.toString().substring(0, labelBuilder.length() - 1); |
|
|
return new CustomerFormTableSingleFieldValue(lastValue, label,"","",owner,org,creater); |
|
|
|
|
|
|
|
|
if(containsFiledMap){ |
|
|
|
|
|
return new CustomerFormTableSingleFieldValue(lastValue, label,"","",owner,org,creater,filedMap); |
|
|
|
|
|
}else{ |
|
|
|
|
|
return new CustomerFormTableSingleFieldValue(lastValue, label,"","",owner,org,creater); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
//数据标题截取最后一个空格
|
|
|
//数据标题截取最后一个空格
|
|
|
public static String removeAfterLastSpace(String str) { |
|
|
public static String removeAfterLastSpace(String str) { |
|
|
@ -643,9 +661,10 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
}*/ |
|
|
}*/ |
|
|
/* |
|
|
/* |
|
|
关联表单组件下拉数据标题选项获取(已经可以解析数据范围条件) |
|
|
关联表单组件下拉数据标题选项获取(已经可以解析数据范围条件) |
|
|
|
|
|
|
|
|
*/ |
|
|
*/ |
|
|
@Override |
|
|
@Override |
|
|
public ArrayList<CustomerFormTableSingleFieldValue> getAsfDataTitles(String key, String token,String formId, String dataTitle,String rangeFormula, String rangeString, String hideFormula, String hideString,String masterOnField) { |
|
|
public ArrayList<CustomerFormTableSingleFieldValue> getAsfDataTitles(String key, String token,String formId, String dataTitle,String rangeFormula, String rangeString, String hideFormula, String hideString,String masterOnField, String fillFieldsMaster, JSONArray fillFieldsChild) { |
|
|
//关联表单的id
|
|
|
//关联表单的id
|
|
|
String AsfFormId = formId; |
|
|
String AsfFormId = formId; |
|
|
//根据formId(cfid)查询关联表单表名
|
|
|
//根据formId(cfid)查询关联表单表名
|
|
|
@ -678,6 +697,14 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
dataTitleMapList = getDataTitles(asfFormName,toSelectDataTitles); |
|
|
dataTitleMapList = getDataTitles(asfFormName,toSelectDataTitles); |
|
|
//System.out.println(dataTitleMapList);
|
|
|
//System.out.println(dataTitleMapList);
|
|
|
}else{ |
|
|
}else{ |
|
|
|
|
|
/*数据填充start*/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*数据填充end*/ |
|
|
HashMap<String,String> leftOperatorsAndRight = splitString(rangeFormula); |
|
|
HashMap<String,String> leftOperatorsAndRight = splitString(rangeFormula); |
|
|
if(null!=leftOperatorsAndRight){ |
|
|
if(null!=leftOperatorsAndRight){ |
|
|
String left = leftOperatorsAndRight.get("left"); |
|
|
String left = leftOperatorsAndRight.get("left"); |
|
|
@ -1532,10 +1559,58 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
return 1; |
|
|
return 1; |
|
|
} else if (key2.equals("owner")) { |
|
|
} else if (key2.equals("owner")) { |
|
|
return -1; |
|
|
return -1; |
|
|
|
|
|
}else if (key1.equals("filedMap")) { |
|
|
|
|
|
return 1; |
|
|
|
|
|
} else if (key2.equals("filedMap")) { |
|
|
|
|
|
return -1; |
|
|
} |
|
|
} |
|
|
return 0; |
|
|
return 0; |
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//数据填充规则数据字段准备 start
|
|
|
|
|
|
ArrayList<String> masterFillRoleFields = new ArrayList<>(); |
|
|
|
|
|
if(fillFieldsMaster.length()>0){ |
|
|
|
|
|
fillFieldsMaster = fillFieldsMaster.substring(0, fillFieldsMaster.length() - 1); |
|
|
|
|
|
String[] masterFillRoleFieldsArray = fillFieldsMaster.split(";"); |
|
|
|
|
|
for(String masterFillRoleField :masterFillRoleFieldsArray){ |
|
|
|
|
|
System.out.println("############################################################################################################################"); |
|
|
|
|
|
System.out.println(masterFillRoleField); |
|
|
|
|
|
Map<String, String> masterFillRoleFieldMap = convert(masterFillRoleField); |
|
|
|
|
|
System.out.println(1); |
|
|
|
|
|
masterFillRoleFields.add(masterFillRoleFieldMap.get("left").split(":")[2]); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
ArrayList<String> masterIds = new ArrayList<>(); |
|
|
|
|
|
for(TreeMap<String,Object> toSortTreeMap : dataTitleMapList){ |
|
|
|
|
|
|
|
|
|
|
|
masterIds.add(toSortTreeMap.get("value").toString()); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//asfFormName 关联表单的表名
|
|
|
|
|
|
//关联表单子表名数组
|
|
|
|
|
|
if(masterIds.size()>0){ |
|
|
|
|
|
List<HashMap<String, Object>> asfDetailList = fieldRecordMapper.getAsfDetail(asfFormName, masterFillRoleFields, masterIds); |
|
|
|
|
|
System.out.println(asfDetailList); |
|
|
|
|
|
for(TreeMap<String,Object> toSortTreeMap : dataTitleMapList){ |
|
|
|
|
|
for(HashMap<String, Object> map :asfDetailList){ |
|
|
|
|
|
if(map.get("value").toString().equals(toSortTreeMap.get("value").toString())){ |
|
|
|
|
|
System.out.println(toSortTreeMap); |
|
|
|
|
|
System.out.println(1); |
|
|
|
|
|
toSortTreeMap.put("filedMap",map); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//数据填充规则数据字段准备 end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 进行排序
|
|
|
@ -1566,7 +1641,18 @@ public class CustomerFormServiceImpl implements CustomerFormService { |
|
|
return toReturnSortedDataTitleList; |
|
|
return toReturnSortedDataTitleList; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static Map<String, String> convert(String str) { |
|
|
|
|
|
String[] parts = str.split("_"); |
|
|
|
|
|
if (parts.length == 3) { |
|
|
|
|
|
Map<String, String> map = new HashMap<>(); |
|
|
|
|
|
map.put("id", parts[0]); |
|
|
|
|
|
map.put("left", parts[1]); |
|
|
|
|
|
map.put("right", parts[2]); |
|
|
|
|
|
return map; |
|
|
|
|
|
} else { |
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
public static boolean isNumeric(String str) { |
|
|
public static boolean isNumeric(String str) { |
|
|
try { |
|
|
try { |
|
|
|