|
@@ -132,7 +132,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
nodes=wpService.chain(contractId,one.getRelateId(),primaryKeyId,null);
|
|
|
}
|
|
|
if(Func.isEmpty(nodes)){
|
|
|
- this.tec.getLog().append("WBS信息缺失;");
|
|
|
+ this.tec.getLog().append("【WBS信息缺失】");
|
|
|
}
|
|
|
this.constantMap.put(CHAIN,nodes.stream().map(WbsTreeContract::getNodeName).collect(Collectors.toList()));
|
|
|
/*节点参数*/
|
|
@@ -197,7 +197,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
|
|
|
missingFill(missingList);
|
|
|
if(Func.isNotEmpty(missingList)){
|
|
|
- this.tec.getLog().append("无法识别的依赖:").append(missingList.stream().map(e->e.replaceAll("'","")).collect(Collectors.joining(",")));
|
|
|
+ this.tec.getLog().append("【没有能加载的跨节点数据:").append(missingList.stream().map(e->e.replaceAll("'","")).collect(Collectors.joining(","))).append("】");
|
|
|
}
|
|
|
if(Func.isNotEmpty(cki)){
|
|
|
/*检验内容*/
|
|
@@ -239,7 +239,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
public void missingFill(List<String> missingList){
|
|
|
/*数据池里面没有任何元素匹配和当前依赖匹配*/
|
|
|
if(Func.isNotEmpty(missingList)){
|
|
|
- StaticLog.info("缺失元素{}", String.join(";", missingList));
|
|
|
+ StaticLog.info("需要挂载的元素{}", String.join(";", missingList));
|
|
|
Map<String, Object> elementInfoMap=this.getElementInfoByCodes(String.join(",",missingList));
|
|
|
/*1从当前节点其它表格中查找匹配的元素*/
|
|
|
List<String> removeList=new ArrayList<>();
|
|
@@ -306,12 +306,9 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
this.tableDataMaps.put(tn,map);
|
|
|
String values= StringUtils.handleNull(map.get(key));
|
|
|
String r= tn+StringPool.COLON+key;
|
|
|
- if(StringUtils.isNotEmpty(values)){
|
|
|
- FormData tmp=createFormDataFast(name,r,values);
|
|
|
- if(tmp!=null){
|
|
|
- //removeList.add(r);
|
|
|
- this.formDataMap.put(r,tmp);
|
|
|
- }
|
|
|
+ FormData tmp=createFormDataFast(name,r,values);
|
|
|
+ if(tmp!=null){
|
|
|
+ this.formDataMap.put(r,tmp);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -319,40 +316,44 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
if(StringUtils.isNotEmpty(code,name)){
|
|
|
String[] arr=code.split(":");
|
|
|
String coords = tec.getCoordinateMap().get(arr[0]).get(arr[1]);
|
|
|
- List<Coords> coordsList = Stream.of(coords).flatMap(s -> Arrays.stream(s.split(";"))).map(s -> {
|
|
|
- String[] xy = s.split("_");
|
|
|
- return new Coords(xy[1], xy[0]);
|
|
|
- }).collect(Collectors.toList());
|
|
|
- List<ElementData> eds = new ArrayList<>();
|
|
|
- if(StringUtils.isNotEmpty(values)){
|
|
|
- String[] pages=values.split(";;");
|
|
|
- for(int index=0;index<pages.length;index++){
|
|
|
- String pg=pages[index];
|
|
|
- if(Func.isNotBlank(pg)){
|
|
|
- String[] val = pg.split("☆");
|
|
|
- Map<String,Object> tmpMap = new LinkedHashMap<>();
|
|
|
- for(String s:val){
|
|
|
- String[] t = s.split("_\\^_");
|
|
|
- String[] c =t[1].split("_");
|
|
|
- tmpMap.put(StringUtils.join(code,0,index,Func.toInt(c[1]),Func.toInt(c[0]),StringPool.AT),t[0]);
|
|
|
- }
|
|
|
- for(Coords c:coordsList){
|
|
|
- Object data = null;
|
|
|
- String key =StringUtils.join(code,0,index,c.getX(),c.getY(),StringPool.AT);
|
|
|
- if(tmpMap.containsKey(key)){
|
|
|
- data = tmpMap.get(key);
|
|
|
+ if(StringUtils.isNotEmpty(coords)) {
|
|
|
+ /*定位信息存在才合法*/
|
|
|
+ List<Coords> coordsList = Stream.of(coords).flatMap(s -> Arrays.stream(s.split(";"))).map(s -> {
|
|
|
+ String[] xy = s.split("_");
|
|
|
+ return new Coords(xy[1], xy[0]);
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ List<ElementData> eds = new ArrayList<>();
|
|
|
+ if (StringUtils.isNotEmpty(values)) {
|
|
|
+ String[] pages = values.split(";;");
|
|
|
+ for (int index = 0; index < pages.length; index++) {
|
|
|
+ String pg = pages[index];
|
|
|
+ if (Func.isNotBlank(pg)) {
|
|
|
+ String[] val = pg.split("☆");
|
|
|
+ Map<String, Object> tmpMap = new LinkedHashMap<>();
|
|
|
+ for (String s : val) {
|
|
|
+ String[] t = s.split("_\\^_");
|
|
|
+ String[] c = t[1].split("_");
|
|
|
+ tmpMap.put(StringUtils.join(code, 0, index, Func.toInt(c[1]), Func.toInt(c[0]), StringPool.AT), t[0]);
|
|
|
+ }
|
|
|
+ for (Coords c : coordsList) {
|
|
|
+ Object data = null;
|
|
|
+ String key = StringUtils.join(code, 0, index, c.getX(), c.getY(), StringPool.AT);
|
|
|
+ if (tmpMap.containsKey(key)) {
|
|
|
+ data = tmpMap.get(key);
|
|
|
+ }
|
|
|
+ eds.add(new ElementData(index, 0, data, c.getX(), c.getY()));
|
|
|
}
|
|
|
- eds.add(new ElementData(index,0,data,c.getX(),c.getY()));
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- }else{
|
|
|
- eds =coordsList.stream().map(c->new ElementData(0,0,null,c.getX(),c.getY())).collect(Collectors.toList());
|
|
|
+ } else {
|
|
|
+ eds = coordsList.stream().map(c -> new ElementData(0, 0, null, c.getX(), c.getY())).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ FormData one = new FormData(code, eds, null, coords);
|
|
|
+ one.setEName(name);
|
|
|
+ return one;
|
|
|
}
|
|
|
- FormData one= new FormData(code,eds, null,coords);
|
|
|
- one.setEName(name);
|
|
|
- return one;
|
|
|
+ this.tec.getLog().append("【").append(name).append(code).append("定位信息不存在】");
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
@@ -389,7 +390,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
logMap.put(p.getK(),p.getName());
|
|
|
}
|
|
|
}
|
|
|
- this.tec.getLog().append("本节点参数情况:").append(result.entrySet().stream().map(p->logMap.get(p.getKey())+":"+p.getValue()).collect(Collectors.joining(";")));
|
|
|
+ this.tec.getLog().append("【本节点参数情况:").append(result.entrySet().stream().map(p->logMap.get(p.getKey())+":"+p.getValue()).collect(Collectors.joining(";"))).append("】");
|
|
|
/*元素动态绑定*/
|
|
|
this.formDataMap.values().stream().filter(e->e.getIsCurrentNodeElement()&&e.getFormula()==null).forEach(e->{
|
|
|
/*执行列表里不存在,且元素的名称和节点参数名称匹配成功*/
|
|
@@ -481,7 +482,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
formulaStrategyFactory.get(fd).forEach(e -> e.execute(tec));
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
- tec.getLog().append("特殊公式:").append(fd.getEName()).append(fd.getFormula().getNumber()).append("执行异常;");
|
|
|
+ tec.getLog().append("【特殊公式:").append(fd.getEName()).append(fd.getFormula().getNumber()).append("执行异常】");
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
@@ -510,7 +511,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
}
|
|
|
});
|
|
|
if(ele.size()<relyList.size()){
|
|
|
- this.tec.getLog().append(fd.getEName()).append(fd.getFormula().getFormula().replaceAll("'", "")).append("不满足执行依赖;");
|
|
|
+ this.tec.getLog().append("【").append(fd.getEName()).append(fd.getFormula().getFormula().replaceAll("'", "")).append("不满足执行依赖】");
|
|
|
}
|
|
|
if(fd.getCoordsList().size()>1&&f.split("[/+\\-*]").length>1){
|
|
|
LinkedHashMap<String,FormData> fdMap =new LinkedHashMap<>();
|
|
@@ -562,7 +563,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
write(fd,data);
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
- tec.getLog().append(fd.getEName()).append("计算错误; ");
|
|
|
+ tec.getLog().append("【").append(fd.getEName()).append("计算错误】 ");
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -597,11 +598,14 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
} else {
|
|
|
this.wbsTreePrivateService.addWbsTreeContractInfo(this.tec.getCurrentNode().getPkId().toString(), sub.getPKeyId().toString(), tec.getContractId());
|
|
|
AppWbsTreeContractVO one = this.tec.getTableAll().get(0);
|
|
|
- WbsTreeContract wtc = this.wbsTreeContractService.getOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getParentId, one.getParentId()).eq(WbsTreeContract::getWbsId, one.getWbsId()).and(e->e.eq(WbsTreeContract::getNodeName, pd?"质量检验评定表(附表)":"质量检验表(附表)").or().eq(WbsTreeContract::getFullName, pd?"质量检验评定表(附表)":"质量检验表(附表)")));
|
|
|
+ WbsTreeContract wtc = this.wbsTreeContractService.getOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getParentId, one.getParentId()).eq(WbsTreeContract::getContractId,one.getContractId()).eq(WbsTreeContract::getWbsId, one.getWbsId()).and(e->e.eq(WbsTreeContract::getNodeName, pd?"质量检验评定表(附表)":"质量检验表(附表)").or().eq(WbsTreeContract::getFullName, pd?"质量检验评定表(附表)":"质量检验表(附表)")));
|
|
|
if (wtc != null) {
|
|
|
/*附表的顺序在检验单或者评定表之后*/
|
|
|
int sort=this.tec.getTableAll().stream().filter(e -> e.getNodeName().contains("检验单") || e.getNodeName().contains("评定表")).map(AppWbsTreeContractVO::getSort).max(Integer::compareTo).orElse(30);
|
|
|
- this.wbsTreeContractService.update(Wrappers.<WbsTreeContract>lambdaUpdate().set(WbsTreeContract::getSort,++sort).eq(WbsTreeContract::getPKeyId,wtc.getPKeyId()));
|
|
|
+ this.wbsTreeContractService.update(Wrappers.<WbsTreeContract>lambdaUpdate()
|
|
|
+ .set(WbsTreeContract::getSort,sort).set(WbsTreeContract::getContractType,-1).set(WbsTreeContract::getAncestors,one.getAncestors())
|
|
|
+ .set(WbsTreeContract::getIsCopeTab,2)
|
|
|
+ .eq(WbsTreeContract::getPKeyId,wtc.getPKeyId()));
|
|
|
/*只需要挂载一张*/
|
|
|
AppWbsTreeContractVO obj = BeanUtil.copy(wtc, AppWbsTreeContractVO.class);
|
|
|
this.tec.getTableAll().add(obj);
|
|
@@ -685,7 +689,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
}
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
- this.tec.getLog().append("|=|").append("附表异常").append("|=|");
|
|
|
+ this.tec.getLog().append("【").append("附表异常").append("】");
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|