浏览代码

公式相关:复制节点随机值重新生成优化

yangyj 1 年之前
父节点
当前提交
b09db82819

+ 11 - 3
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -1866,9 +1866,12 @@ public class InformationWriteQueryController extends BladeController {
                             List<String> result = new ArrayList<>();
                             for (String[] a : la) {
                                 String v = a[0];
-                                RangeJson best = rjs.stream().min(Comparator.comparingDouble(j -> Double.parseDouble(v) - Double.parseDouble(j.getDesign()))).orElse(rjs.get(0));
-                                int scale = Math.max(new StringBuilder(v).reverse().indexOf("."), 0);
-                                String sv = BaseUtils.rangeList(1, best.getDesign(), best.getDev(), 1, scale, 1).get(0).toString();
+                                String sv ;
+                                if(v.contains("、")){
+                                  sv= Arrays.stream(v.split("[、]")).map(e->imitate(e,rjs)).collect(Collectors.joining("、"));
+                                }else{
+                                  sv=imitate(v,rjs);
+                                }
                                 result.add(sv + "_^_" + a[1]);
                             }
                             return String.join("☆", result);
@@ -1881,6 +1884,11 @@ public class InformationWriteQueryController extends BladeController {
         }
         return value;
     }
+    public String imitate(String v,List<RangeJson> rjs){
+        RangeJson best = rjs.stream().min(Comparator.comparingDouble(j -> Double.parseDouble(v) - Double.parseDouble(j.getDesign()))).orElse(rjs.get(0));
+        int scale = Math.max(new StringBuilder(v).reverse().indexOf("."), 0);
+        return BaseUtils.rangeList(1, best.getDesign(), best.getDev(), 1, scale, 1).get(0).toString();
+    }
 
     /*元素情况,表字段,表单流水号,数据库表名*/
     private String reviseCols(Map<String, String> p2, String cols, Long pkeyId, String tableName) {

+ 0 - 10
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/FormulaController.java

@@ -364,16 +364,6 @@ public class FormulaController {
                     this.wbsTreeContractService.addTabInfoByRan(info, moreData, dw);
                 }
             }
-/*            TextdictInfo ti = this.textdictInfoService.getOne(Wrappers.<TextdictInfo>lambdaQuery().eq(TextdictInfo::getType, 8).eq(TextdictInfo::getTabId, info.getPkId()).eq(TextdictInfo::getColKey, info.getKey()));
-            if (ti == null) {
-                ti = new TextdictInfo();
-            }
-            ti.setTabId(Func.toStr(info.getPkId()));
-            ti.setType(8);
-            ti.setName("公式参数");
-            ti.setColKey(info.getKey());
-            ti.setColName(JSON.toJSONString(info));
-            this.textdictInfoService.saveOrUpdate(ti);*/
             this.formulaOptionService.saveOrUpdateOption(info,dw , start);
             return R.data(result);
         }

+ 6 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/ITurnPointCalculator.java

@@ -28,7 +28,7 @@ public interface ITurnPointCalculator {
             levelInfo.setDx(g8pcfw);
             List<TurnPoint> tmp = new ArrayList<>();
             /*是否尝试初步补充数据*/
-            boolean ckecked=true;
+            boolean checked=true;
             for (int i = 0; i < data.size(); i++) {
                 Map<String, Object> dm = data.get(i);
                 Map<String, Object> dataMap = new HashMap<>(configMap.size() * 2);
@@ -37,12 +37,12 @@ public interface ITurnPointCalculator {
                 tp.setVertical(StringUtils.isEquals(1, dm.get("vertical")));
                 /*属性赋值*/
                 property(configMap,dataMap,dm,tp);
-                if(ckecked) {
+                if(checked) {
                     boolean isHead = (i == 0);
                     boolean isTail = (i == data.size() - 1);
                     /*检验水准点数据合法性&节点定性&补充缺失闭合点*/
-                    ckecked = identifying(levelInfo, tmp, tp, isHead, isTail);
-                    if(!ckecked){
+                    checked = identifying(levelInfo, tmp, tp, isHead, isTail);
+                    if(!checked){
                         /*checked失败需要主动加入tmp,后续不执行identifying直接add*/
                         tmp.add(tp);
                     }
@@ -50,7 +50,7 @@ public interface ITurnPointCalculator {
                     tmp.add(tp);
                 }
             }
-            if(!ckecked){
+            if(!checked){
                 /*直接写入输出缓存,不作任何计算*/
                 tmp.forEach(ITurnPointCalculator::putCache);
                 return tmp;
@@ -78,7 +78,7 @@ public interface ITurnPointCalculator {
               tmp.setSightHeight(info.getSightHeight());
               for(TurnPoint tp:list){
                   if(CE.equals(tp.getType())||CLOSE.equals(tp.getType())){
-                     boolean pass=Func.isNotBlank(tp.getSc())&&Func.isNotBlank(tp.getQ());
+                     boolean pass;
                      if(BaseUtils.isNumber(tp.getSc())&&BaseUtils.isNumber(tp.getQ())){
                          pass=tmp.getSightHeight()-tp.getQ0L()==tp.getSc0L();
                      }else {