|
@@ -85,7 +85,7 @@ public class FormulaTurnPoint implements FormulaStrategy {
|
|
|
/* 分组计算*/
|
|
|
List<List<TurnPoint>> result = total.stream().map(e->ITurnPointCalculator.create(e, configMap,info)).collect(Collectors.toList());
|
|
|
/*附加属性如:顶面和底面高程判断*/
|
|
|
- forG8(result.stream().flatMap(Collection::stream).collect(Collectors.toList()), (Map<String, Object>)tec.getConstantMap().computeIfAbsent("G8", k -> new HashMap<>()),tec);
|
|
|
+ forG8(cur,result, (Map<String, Object>)tec.getConstantMap().computeIfAbsent("G8", k -> new HashMap<>()),tec);
|
|
|
/*插值分页*/
|
|
|
List<Object> data = paginate(cur,result,configMap);
|
|
|
/*数据回写*/
|
|
@@ -173,7 +173,8 @@ public class FormulaTurnPoint implements FormulaStrategy {
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
- private void forG8(List<TurnPoint> data, Map<String, Object> g8,TableElementConverter tec) {
|
|
|
+ private void forG8(FormData cur,List<List<TurnPoint>> result, Map<String, Object> g8,TableElementConverter tec) {
|
|
|
+ List<TurnPoint> data=result.stream().flatMap(Collection::stream).collect(Collectors.toList());
|
|
|
g8.put("dx", data.stream().filter(e -> TurnPoint.CE.equals(e.getType())).map(tp -> CustomFunction.xN(tp.getDx(), 1000)).collect(Collectors.toList()));
|
|
|
g8.put("dxv", data.stream().filter(e -> TurnPoint.CE.equals(e.getType()) && e.getVertical()).map(tp -> CustomFunction.xN(tp.getDx(), 1000)).collect(Collectors.toList()));
|
|
|
g8.put("dxnv", data.stream().filter(e -> TurnPoint.CE.equals(e.getType()) && !e.getVertical()).map(tp -> CustomFunction.xN(tp.getDx(), 1000)).collect(Collectors.toList()));
|
|
@@ -188,9 +189,9 @@ public class FormulaTurnPoint implements FormulaStrategy {
|
|
|
g8.put("cdnv", data.stream().filter(e -> TurnPoint.CE.equals(e.getType()) && !e.getVertical()).map(TurnPoint::getName).collect(Collectors.toList()));
|
|
|
List<NodeTable> nodeTableList=tec.getTableAll();
|
|
|
/*c8.103*/
|
|
|
- c8103( data,nodeTableList, tec);
|
|
|
+ c8103(data,nodeTableList, tec);
|
|
|
/*统计*/
|
|
|
-
|
|
|
+ fh6n( cur, result, tec);
|
|
|
}
|
|
|
|
|
|
public void c8103(List<TurnPoint> data,List<NodeTable> nodeTableList,TableElementConverter tec){
|
|
@@ -238,6 +239,20 @@ public class FormulaTurnPoint implements FormulaStrategy {
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+ private void fh6n(FormData cur,List<List<TurnPoint>> result,TableElementConverter tec){
|
|
|
+ /*误差计算(mm):_∑h理=_fh允=±6√n=*/
|
|
|
+ tec.formDataMap.values().stream().filter(fd->fd.getTableName().equals(cur.getTableName())&&fd.getEName().contains("fh允")&&fd.getCoordsList().size()>0).findFirst().ifPresent(t->{
|
|
|
+ double rowSize=cur.getCoordsList().size();
|
|
|
+ List<Object> tmp=new ArrayList<>();
|
|
|
+ for(List<TurnPoint> list:result){
|
|
|
+ double n=list.size();
|
|
|
+ double x= Math.sqrt(list.stream().filter(s-> ZD.equals(s.getType())).count()+1)*6;
|
|
|
+ int m= (int) Math.ceil(n/rowSize);
|
|
|
+ tmp.addAll(Collections.nCopies(m,x));
|
|
|
+ }
|
|
|
+ FormulaUtils.write(t,tmp,false);
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
private String c(String name,List<String> args) {
|
|
|
if (Func.isNotEmpty(name) && Func.isNotEmpty(args)) {
|