|
@@ -54,6 +54,7 @@ import org.springblade.core.tool.node.ForestNodeMerger;
|
|
import org.springblade.core.tool.utils.DateUtil;
|
|
import org.springblade.core.tool.utils.DateUtil;
|
|
import org.springblade.core.tool.utils.*;
|
|
import org.springblade.core.tool.utils.*;
|
|
import org.springblade.manager.bean.TableInfo;
|
|
import org.springblade.manager.bean.TableInfo;
|
|
|
|
+import org.springblade.manager.dto.FormData;
|
|
import org.springblade.manager.entity.*;
|
|
import org.springblade.manager.entity.*;
|
|
import org.springblade.manager.enums.ExecuteType;
|
|
import org.springblade.manager.enums.ExecuteType;
|
|
import org.springblade.manager.formula.FormulaLog;
|
|
import org.springblade.manager.formula.FormulaLog;
|
|
@@ -401,10 +402,16 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
Long nodeId=tableInfo.getLong("nodeId");
|
|
Long nodeId=tableInfo.getLong("nodeId");
|
|
List<TableInfo> tableInfoList = this.getTableInfoList(dataArray);
|
|
List<TableInfo> tableInfoList = this.getTableInfoList(dataArray);
|
|
List<NodeTable> tableAll = createNodeTables(nodeId, tableInfoList.get(0).getContractId(), tableInfoList.get(0).getProjectId(), type);
|
|
List<NodeTable> tableAll = createNodeTables(nodeId, tableInfoList.get(0).getContractId(), tableInfoList.get(0).getProjectId(), type);
|
|
|
|
+ this.formulaService.getSqlList(
|
|
|
|
+ "select d.id,c.tab_ch_name tableChName,d.e_type eType,d.e_name eName,d.e_length eLength,d.e_allow_deviation eAllowDeviation,CONCAT(c.tab_en_name,':',d.e_key) code from m_table_info c join m_wbs_form_element d on c.id=d.f_id where d.is_deleted=0 and c.tab_en_name in(?)"
|
|
|
|
+ ,new Object[]{tableAll.stream().map(NodeTable::getInitTableName).distinct().collect(Collectors.joining(","))}
|
|
|
|
+ , FormData.class
|
|
|
|
+ );
|
|
List<KeyMapper> keyMappers = this.formulaService.getKeyMapperList(tableInfoList.stream().map(TableInfo::getPkeyId).filter(Func::isNotEmpty).map(Long::parseLong).collect(Collectors.toList()), tableInfoList.get(0).getProjectId(), String.valueOf(nodeId), type);
|
|
List<KeyMapper> keyMappers = this.formulaService.getKeyMapperList(tableInfoList.stream().map(TableInfo::getPkeyId).filter(Func::isNotEmpty).map(Long::parseLong).collect(Collectors.toList()), tableInfoList.get(0).getProjectId(), String.valueOf(nodeId), type);
|
|
if (Func.isNotEmpty(keyMappers) && Func.isNotEmpty(tableAll)) {
|
|
if (Func.isNotEmpty(keyMappers) && Func.isNotEmpty(tableAll)) {
|
|
Map<String, Map<String, String>> coordinateMap = createCoordinateMap(keyMappers, type);
|
|
Map<String, Map<String, String>> coordinateMap = createCoordinateMap(keyMappers, type);
|
|
List<Formula> formulas = this.formulaService.getFormulaList(keyMappers);
|
|
List<Formula> formulas = this.formulaService.getFormulaList(keyMappers);
|
|
|
|
+ /*判断哪些元素是可部分执行和整体执行*/
|
|
CurrentNode currentNode = null;
|
|
CurrentNode currentNode = null;
|
|
Long pKeyId = null;
|
|
Long pKeyId = null;
|
|
Long contractId = null;
|
|
Long contractId = null;
|
|
@@ -422,7 +429,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
projectId = Long.parseLong(wtp.getProjectId());
|
|
projectId = Long.parseLong(wtp.getProjectId());
|
|
}
|
|
}
|
|
if (currentNode != null) {
|
|
if (currentNode != null) {
|
|
- ElementConverter tec = new ElementConverter(tableInfoList, keyMappers, formulas, coordinateMap, currentNode, tableAll);
|
|
|
|
|
|
+ TableElementConverter tec = new TableElementConverter(tableInfoList, keyMappers, formulas, coordinateMap, currentNode, tableAll);
|
|
tec.setLog(log);
|
|
tec.setLog(log);
|
|
tec.setExecuteType(type);
|
|
tec.setExecuteType(type);
|
|
tec.setContractId(contractId);
|
|
tec.setContractId(contractId);
|