|
@@ -17,10 +17,7 @@ import org.springblade.core.mp.base.BaseServiceImpl;
|
|
|
import org.springblade.core.tool.utils.*;
|
|
|
import org.springblade.manager.bean.TableInfo;
|
|
|
import org.springblade.manager.dto.*;
|
|
|
-import org.springblade.manager.entity.ContractInfo;
|
|
|
-import org.springblade.manager.entity.Formula;
|
|
|
-import org.springblade.manager.entity.WbsParam;
|
|
|
-import org.springblade.manager.entity.WbsTreeContract;
|
|
|
+import org.springblade.manager.entity.*;
|
|
|
import org.springblade.manager.formula.FormulaStrategyFactory;
|
|
|
import org.springblade.manager.formula.KeyMapper;
|
|
|
import org.springblade.manager.formula.impl.CompositeDataAccess;
|
|
@@ -57,6 +54,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
private final IProjectInfoService projectInfoService;
|
|
|
private final IWbsTreeContractService wbsTreeContractService;
|
|
|
private final JdbcTemplate jdbcTemplate;
|
|
|
+ private final IFormulaOptionService formulaOptionService;
|
|
|
/** private final Container env;*/
|
|
|
private TableElementConverter tec;
|
|
|
private Map<String,Object> constantMap;
|
|
@@ -71,12 +69,9 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
public final static String FC="FC.";
|
|
|
public final static String TABLE_LIST="TBL";
|
|
|
public final static String CHECK_ITEMS="CKI";
|
|
|
-
|
|
|
public static final Pattern AP=Pattern.compile("(E|WP)\\[([^]']+)]");
|
|
|
-
|
|
|
public static final String IF_REG= "(?<=T\\(com.mixsmart.utils.CustomFunction\\).ifelse\\()[^,]+(?=,)";
|
|
|
public static final Pattern IF = Pattern.compile(IF_REG);
|
|
|
-
|
|
|
public static final String ELE_CODE_REG= "(?<=E\\[)[^]]+(?=])";
|
|
|
public static final Pattern P = Pattern.compile(ELE_CODE_REG);
|
|
|
public static final Pattern P2= Pattern.compile("(?<=E\\[)[^];]+:[^];]+:[^];]+(?=])");
|
|
@@ -138,7 +133,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
Optional<AppWbsTreeContractVO> wop=tableList.stream().filter(e->e.getTableType()==1).findAny();
|
|
|
if(wop.isPresent()){
|
|
|
/*检验单或者监表的*/
|
|
|
- inspectionElementMaps= this.jdbcTemplate.queryForList("select c.e_name name ,c.init_table_name tableName,c.e_key ekey from m_wbs_tree_contract a INNER JOIN m_wbs_tree b on (a.id=b.id or a.old_id=b.id) INNER join m_wbs_form_element c on b.init_table_id=c.f_id where a.id=" + wop.get().getPKeyId());
|
|
|
+ inspectionElementMaps= this.jdbcTemplate.queryForList(" select c.e_name name ,b.tab_en_name tableName,c.e_key ekey from m_wbs_tree_contract a join m_table_info b on a.init_table_name=b.tab_en_name join m_wbs_form_element c on c.f_id= b.id where a.p_key_id=" + wop.get().getPKeyId());
|
|
|
}
|
|
|
List<String> missingList = new ArrayList<>();
|
|
|
List<Map<String, Object>> finalInspectionElementMaps = inspectionElementMaps;
|
|
@@ -217,7 +212,11 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
Map<String,List<Map<String,Object>>> tmap = textInfoMap.stream().collect(Collectors.groupingBy(m->m.get("code").toString()));
|
|
|
this.constantMap.put(TEXT_INFO_MAP,tmap);
|
|
|
}
|
|
|
- /*检查项目*/
|
|
|
+ /*公式参数*/
|
|
|
+ FormulaOption formulaOption = this.formulaOptionService.getOne(Wrappers.<FormulaOption>lambdaQuery().eq(FormulaOption::getParentId,one.getId()).eq(FormulaOption::getContractId,contractId));
|
|
|
+ if(formulaOption!=null){
|
|
|
+ LinkedHashMap linkedHashMap = JSON.parseObject(formulaOption.getVal(),LinkedHashMap.class);
|
|
|
+ }
|
|
|
return this;
|
|
|
}
|
|
|
|
|
@@ -313,6 +312,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
Document doc = Jsoup.parse(htmlString);
|
|
|
Element table = doc.select("table").first();
|
|
|
Elements trs = table.select("tr");
|
|
|
+ // trs.stream().flatMap(tr->tr.select("td").stream()).filter(d->!d.children().isEmpty()).reduce()
|
|
|
for (int i = 0; i <= trs.size() - 1; i++) {
|
|
|
Element tr = trs.get(i);
|
|
|
Elements tds = tr.select("td");
|