|
@@ -571,7 +571,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
}
|
|
}
|
|
|
|
|
|
/*###############################附表的处理##################################*/
|
|
/*###############################附表的处理##################################*/
|
|
- if(true) {
|
|
|
|
|
|
+ if(true) {//临时开关,稳定后移除
|
|
try {
|
|
try {
|
|
/*检验单附表处理*/
|
|
/*检验单附表处理*/
|
|
List<FormData> inspectionList = new ArrayList<>();
|
|
List<FormData> inspectionList = new ArrayList<>();
|
|
@@ -610,17 +610,21 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
/*找不到附表表单数据,则从数据库加载*/
|
|
/*找不到附表表单数据,则从数据库加载*/
|
|
JSONArray dataArray = new JSONArray();
|
|
JSONArray dataArray = new JSONArray();
|
|
for (WbsTreeContract data : subTabList) {
|
|
for (WbsTreeContract data : subTabList) {
|
|
|
|
+ /*自动挂载附表情况下,装配TableInfo数据*/
|
|
R bussDataInfo = this.getBussDataInfo(data.getPKeyId(), 1);
|
|
R bussDataInfo = this.getBussDataInfo(data.getPKeyId(), 1);
|
|
- Object data1 = bussDataInfo.getData();
|
|
|
|
|
|
+ Map<String, Object> data1 = (Map<String, Object>) bussDataInfo.getData();
|
|
|
|
+ data1.put("pkeyId",data.getPKeyId());
|
|
dataArray.add(data1);
|
|
dataArray.add(data1);
|
|
}
|
|
}
|
|
List<TableInfo> subTableInfo = FormulaUtils.getTableInfoList(dataArray);
|
|
List<TableInfo> subTableInfo = FormulaUtils.getTableInfoList(dataArray);
|
|
tec.getTableInfoList().addAll(subTableInfo);
|
|
tec.getTableInfoList().addAll(subTableInfo);
|
|
|
|
+ /*获取附表元素定位集*/
|
|
tec.getCoordinateMap().put(subTabList.get(0).getInitTableName(), CustomFunction.getElementCell(first.getHtmlUrl()));
|
|
tec.getCoordinateMap().put(subTabList.get(0).getInitTableName(), CustomFunction.getElementCell(first.getHtmlUrl()));
|
|
- List<Map<String, Object>> elementMaps = this.jdbcTemplate.queryForList("select b.e_name name , CONCAT(a.tab_en_name,':',b.e_key) code , b.e_key ekey ,b.id fieldId,a.tab_en_name tableName from m_table_info a join m_wbs_form_element b on a.id = b.f_id where a.tab_en_name='" + first.getInitTableName() + "' and b.is_deleted=0 ");
|
|
|
|
|
|
+ /*附表元素关键信息*/
|
|
|
|
+ List<Map<String, Object>> elementMaps = this.jdbcTemplate.queryForList("select b.e_name ename , CONCAT(a.tab_en_name,':',b.e_key) code , b.e_key ekey ,b.id fieldId,a.tab_en_name tableName from m_table_info a join m_wbs_form_element b on a.id = b.f_id where a.tab_en_name='" + first.getInitTableName() + "' and b.is_deleted=0 ");
|
|
if (Func.isNotEmpty(elementMaps)) {
|
|
if (Func.isNotEmpty(elementMaps)) {
|
|
elementMaps.forEach(e->{
|
|
elementMaps.forEach(e->{
|
|
- /*生成附表元素*/
|
|
|
|
|
|
+ /*装配元素*/
|
|
String values=subTableInfo.stream().map(TableInfo::getDataMap).map(m->m.get(StringUtils.handleNull(e.get("ekey")))).filter(StringUtils::isNotEmpty).collect(Collectors.joining(";;"));
|
|
String values=subTableInfo.stream().map(TableInfo::getDataMap).map(m->m.get(StringUtils.handleNull(e.get("ekey")))).filter(StringUtils::isNotEmpty).collect(Collectors.joining(";;"));
|
|
FormData tmp= createFormDataFast(StringUtils.handleNull(e.get("ename")),StringUtils.handleNull(e.get("code")),values);
|
|
FormData tmp= createFormDataFast(StringUtils.handleNull(e.get("ename")),StringUtils.handleNull(e.get("code")),values);
|
|
if(tmp!=null){
|
|
if(tmp!=null){
|
|
@@ -628,7 +632,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
this.formDataList.add(tmp);
|
|
this.formDataList.add(tmp);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
- /*生成元素数据*/
|
|
|
|
|
|
+ /*生成元素映射关系*/
|
|
subTabList.forEach(s->{
|
|
subTabList.forEach(s->{
|
|
elementMaps.forEach(e->{
|
|
elementMaps.forEach(e->{
|
|
KeyMapper km = new KeyMapper();
|
|
KeyMapper km = new KeyMapper();
|
|
@@ -642,20 +646,26 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- List<FormData> subTableFds=this.formDataList.stream().filter(e->StringUtils.isEquals(first.getInitTableName(),e.getTableName())).collect(Collectors.toList());
|
|
|
|
|
|
+ /*获取封装好的附表元素*/
|
|
|
|
+ List<FormData> subTableFds=this.formDataMap.values().stream().filter(e->StringUtils.isEquals(first.getInitTableName(),e.getTableName())).collect(Collectors.toList());
|
|
|
|
+ /*初始化附表对象*/
|
|
SubTable sta=new SubTable(subTableFds);
|
|
SubTable sta=new SubTable(subTableFds);
|
|
- /*检验单或者评定表存在超页数据*/
|
|
|
|
|
|
+
|
|
inspectionList.forEach(f -> {
|
|
inspectionList.forEach(f -> {
|
|
|
|
+ /*检验单或者评定表存的超页数据汇总到附表对象*/
|
|
List<ElementData> overList = f.getValues().stream().skip(f.getCoordsList().size()).collect(Collectors.toList());
|
|
List<ElementData> overList = f.getValues().stream().skip(f.getCoordsList().size()).collect(Collectors.toList());
|
|
|
|
+ f.setValues(f.getValues().stream().limit(f.getCoordsList().size()).collect(Collectors.toList()));
|
|
|
|
+ f.setAddPages(0);
|
|
String itemName=FormulaUtils.parseItemName(f.getEName());
|
|
String itemName=FormulaUtils.parseItemName(f.getEName());
|
|
String key=itemName.trim();
|
|
String key=itemName.trim();
|
|
- Optional<FormData> designFdOp= this.formDataMap.values().stream().filter(o->o.getTableName().equals(f.getTableName())&&StringUtils.isEquals(itemName,FormulaUtils.parseItemName(o.getEName()))).findAny();
|
|
|
|
|
|
+ Optional<FormData> designFdOp= this.formDataMap.values().stream().filter(o->o.getTableName().equals(f.getTableName())&&StringUtils.isEquals(itemName,FormulaUtils.parseItemName(o.getEName()))&&o.getEName().contains("设计值")).findAny();
|
|
if(designFdOp.isPresent()){
|
|
if(designFdOp.isPresent()){
|
|
key+="@"+designFdOp.get().getValues().stream().map(ElementData::stringValue).filter(StringUtils::isNotEmpty).findAny().orElse("");
|
|
key+="@"+designFdOp.get().getValues().stream().map(ElementData::stringValue).filter(StringUtils::isNotEmpty).findAny().orElse("");
|
|
}
|
|
}
|
|
sta.put(key,overList);
|
|
sta.put(key,overList);
|
|
});
|
|
});
|
|
if(sta.checked()){
|
|
if(sta.checked()){
|
|
|
|
+ /*把附表数据刷入对应的附表元素对象*/
|
|
sta.flush();
|
|
sta.flush();
|
|
}
|
|
}
|
|
}
|
|
}
|