yangyj před 2 roky
rodič
revize
24d871c652

+ 49 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/Coords.java

@@ -0,0 +1,49 @@
+package org.springblade.manager.dto;
+
+import lombok.Data;
+import org.springblade.core.tool.utils.Func;
+
+import java.util.List;
+
+/**
+ * @author yangyj
+ * @Date 2022/9/9 11:08
+ * @description TODO
+ */
+@Data
+public class Coords {
+    /**开始单元格xy
+     * */
+    private Integer x;
+    private Integer y;
+    /**结束单元格xy
+     * */
+    private Integer x2;
+    private Integer y2;
+    /**无效坐标x*/
+    private List<Integer> ex;
+    /**无效坐标y*/
+    private List<Integer> ey;
+    /**读写方向*/
+    private Boolean horizontal=true;
+    public Coords(String x, String y, String x2, String y2) {
+        this.x = Integer.parseInt(x);
+        this.y = Integer.parseInt(y);
+        this.x2 = Integer.parseInt(x2);
+        this.y2 = Integer.parseInt(y2);
+    }
+
+    public Coords(String x, String y) {
+        this.x = Integer.parseInt(x);
+        this.y = Integer.parseInt(y);
+        this.x2 = this.x;
+        this.y2 = this.y;
+    }
+    public Coords(){
+
+    }
+    public Boolean hasMerge(){
+        return Func.isNotEmpty(ex)||Func.isNotEmpty(ey);
+    }
+
+}

+ 12 - 2
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/FormData.java

@@ -1,12 +1,18 @@
 package org.springblade.manager.dto;
 
+
+
 import lombok.Data;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringPool;
 import org.springblade.manager.entity.Formula;
 
+
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * @author yangyj
@@ -65,21 +71,25 @@ public class FormData {
     private Integer update=0;
     /**是否完成执行*/
     private Boolean finished=false;
+    public  List<Coords> coordsList= new ArrayList<>();
     public static final String CODE_REG="[^:]+:[^:]+";
 
+
     public FormData() {
     }
-    public FormData(String code, List<ElementData> values, Formula formula) {
+    public FormData(String code, List<ElementData> values, Formula formula,String coords) {
         this.code = code;
         this.values = values;
         this.formula = formula;
+        this.coordsList = Stream.of(coords).flatMap(e-> Arrays.stream(e.split(";"))).map(e->{String[] xy=e.split("_");return new Coords(xy[1],xy[0]);}).collect(Collectors.toList());
     }
 
-    public FormData(String code, Integer step, List<ElementData> values, Formula formula) {
+    public FormData(String code, Integer step, List<ElementData> values, Formula formula,String coords) {
         this.code = code;
         this.step = step;
         this.values = values;
         this.formula = formula;
+        this.coordsList = Stream.of(coords).flatMap(e-> Arrays.stream(e.split(";"))).map(e->{String[] xy=e.split("_");return new Coords(xy[1],xy[0]);}).collect(Collectors.toList());
     }
 
     public String getKey(){

+ 6 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/DatumPointService.java

@@ -1,5 +1,6 @@
 package org.springblade.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.apache.poi.hssf.usermodel.HSSFDataFormatter;
 import org.apache.poi.ss.usermodel.*;
@@ -23,8 +24,12 @@ import java.util.*;
 @Service
 public class DatumPointService extends BaseServiceImpl<DatumPointMapper, DatumPoint> {
 
+    public R<Object> site(Long contractId,String pkId,String key){
+          Map<String,String> result = new HashMap<>();
 
-
+          LambdaQueryWrapper<DatumPoint> wrapper = Wrappers.<DatumPoint>lambdaQuery().eq(DatumPoint::getContractId,contractId).eq(DatumPoint::getType,1);
+          return  R.data(result);
+    }
 
     public R importData(MultipartFile file, Long contractId, Long projectId, Integer dataType) throws Exception {
         List<String> level=new ArrayList<>();

+ 0 - 3
blade-service/blade-business/src/main/java/org/springblade/business/utils/FunctionMain.java

@@ -118,9 +118,6 @@ public class FunctionMain {
         }
     }
 
-    /*public static void main(String[] args) {
-        getToken();
-    }*/
     public static void createTable(Class<?> clazz,String remark) {
                String tableName=clazz.getAnnotation(TableName.class).value();
                StringBuilder sql = new StringBuilder( "DROP TABLE IF EXISTS `"+tableName+"`;\n");

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

@@ -264,7 +264,7 @@ public class FormulaController {
         if(obs!=null){
             list= Arrays.stream(obs).map(e->new ElementData(0,0,e)).collect(Collectors.toList());
         }
-        return new FormData(code, list,f);
+        return new FormData(code, list,f,"");
     }
 
 

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/FormulaClientImpl.java

@@ -42,6 +42,6 @@ public class FormulaClientImpl implements  FormulaClient{
         if(obs!=null){
             list= Arrays.stream(obs).map(e->new ElementData(0,0,e)).collect(Collectors.toList());
         }
-        return new FormData(code, list,f);
+        return new FormData(code, list,f,"");
     }
 }

+ 12 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/CompositeDataAccess.java

@@ -17,7 +17,10 @@ import java.util.stream.Collectors;
 public class CompositeDataAccess  {
     private  LinkedHashMap<String, FormData> fds =new LinkedHashMap<>();
     private int maxSize=1;
+    /**当前指针*/
     private int cursor=0;
+    /**下一个数据指针*/
+    private int next=0;
 
     public CompositeDataAccess(LinkedHashMap<String, FormData> fds) {
         if(fds!=null){
@@ -84,7 +87,7 @@ public class CompositeDataAccess  {
                     list.addAll(Collections.nCopies(cursor-list.size()+1,null));
                 }
                 /*动态增减的时候难以判定是否换页,暂时全部用1代替*/
-                list.add(cursor,data.getOrDefault(fd.getKey(),new ElementData(1,1,"")));
+                list.add(cursor,data.getOrDefault(fd.getKey(),new ElementData(cursor/fd.getValue().getCoordsList().size(),1,null)));
             }
         }
     }
@@ -97,7 +100,7 @@ public class CompositeDataAccess  {
             for(Map.Entry<String,ElementData> d:data.entrySet()){
                 List<ElementData> list = fds.get(d.getKey()).getValues();
                 /*向所有数据末尾追加*/
-                list.addAll(Collections.nCopies(maxSize-list.size(), null));
+                list.addAll(Collections.nCopies(maxSize-list.size(), new ElementData(cursor/fds.get(d.getKey()).getCoordsList().size(),1,null)));
                 list.add(maxSize,d.getValue());
             }
         }
@@ -105,7 +108,11 @@ public class CompositeDataAccess  {
 
 
     public Boolean hasNext(){
-        return (cursor<maxSize-1?++cursor:-1)>0;
+        /*是否存数据,有则设置钩子*/
+        if(next>cursor){
+            cursor=next;
+        }
+        return cursor<maxSize;
     }
     public Boolean isFirst(){
         return cursor==0;
@@ -116,10 +123,11 @@ public class CompositeDataAccess  {
     }
 
     public void close(){
-        this.cursor=this.maxSize-1;
+        this.cursor=this.maxSize;
     }
 
     public LinkedHashMap<String, ElementData> next(){
+        next++;
         return get(cursor);
     }
 

+ 2 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/TableElementConverter.java

@@ -92,7 +92,8 @@ public class TableElementConverter implements ITableElementConverter {
                         index.getAndIncrement();
                     });
                 });
-               this.fds.add(new FormData(codeAndId[0],eds,formulaMap.get(codeAndId[1])));
+                KeyMapper one = kms.get(0);
+               this.fds.add(new FormData(codeAndId[0],eds,formulaMap.get(codeAndId[1]),this.coordinateMap.get(one.getTableName()).get(one.getField())));
             });
         }
     }