public void sortSubTableStr(CgFormHeadEntity entity) {
if (entity == null)
return;
CgFormHeadEntity main = null;
List<CgFormFieldEntity> columns = entity.getColumns();
for (CgFormFieldEntity fieldE : columns) {
String mainT = fieldE.getMainTable();
String mainF = fieldE.getMainField();
if (!StringUtil.isEmpty(mainT) && !StringUtil.isEmpty(mainF)) {
CgFormHeadEntity mainE = this.getCgFormHeadByTableName(mainT);
if (mainE == null) {
continue;
}
main = mainE;
}
}
if(main==null){
return;
}
String subTableStr = main.getSubTableStr();
if(StringUtils.isNotEmpty(subTableStr)){
String [] subTables = subTableStr.split(",");
if (subTables.length <= 1)
return;
List<CgFormHeadEntity> subList = new ArrayList<CgFormHeadEntity>();
for(String subTable : subTables){
CgFormHeadEntity sub = this.getCgFormHeadByTableName(subTable);
subList.add(sub);
}
Collections.sort(subList, new Comparator<CgFormHeadEntity>() {
public int compare(CgFormHeadEntity arg0, CgFormHeadEntity arg1) {
Integer tabOrder0 = arg0.getTabOrder();
if (tabOrder0 == null) {
tabOrder0 = 0;
}
Integer tabOrder1 = arg1.getTabOrder();
if (tabOrder1 == null) {
tabOrder1 = 0;
}
return tabOrder0.compareTo(tabOrder1);
}
});
subTableStr = "";
for (CgFormHeadEntity sub : subList) {
subTableStr += sub.getTableName() + ",";
}
subTableStr = subTableStr.substring(0, subTableStr.length() - 1);
main.setSubTableStr(subTableStr);
this.updateTable(main, "sign");
}