Przeglądaj źródła

表单相关:右键,定位信息

yangyj 2 lat temu
rodzic
commit
9250475c1d

+ 13 - 2
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/RangeInfo.java

@@ -15,7 +15,6 @@ import java.util.stream.Collectors;
  * @Date 2022/9/22 17:52
  * @Date 2022/9/22 17:52
  * @description TODO
  * @description TODO
  */
  */
-@Data
 public class RangeInfo {
 public class RangeInfo {
 
 
     @ApiModelProperty( value = "方向",required = true)
     @ApiModelProperty( value = "方向",required = true)
@@ -36,6 +35,7 @@ public class RangeInfo {
     private List<Integer> gSize;
     private List<Integer> gSize;
     @ApiModelProperty("偏差范围")
     @ApiModelProperty("偏差范围")
     private String dev;
     private String dev;
+    @JSONField(serialize = false)
     private List<String> gDev;
     private List<String> gDev;
     @ApiModelProperty(
     @ApiModelProperty(
             value = "表单key",
             value = "表单key",
@@ -46,15 +46,24 @@ public class RangeInfo {
     private Long pkId;
     private Long pkId;
     @ApiModelProperty("命名有误此字段应为:合格数量,也可以用百分比表示如2%")
     @ApiModelProperty("命名有误此字段应为:合格数量,也可以用百分比表示如2%")
     private String pass;
     private String pass;
+    @JSONField(serialize = false)
     private List<Integer> gPass;
     private List<Integer> gPass;
     @ApiModelProperty("容量")
     @ApiModelProperty("容量")
     private String capacity;
     private String capacity;
+    @JSONField(serialize = false)
     private List<Integer> gCapacity;
     private List<Integer> gCapacity;
 
 
     public Boolean verify() {
     public Boolean verify() {
         return Func.isNotBlank(design) && ((Func.isNotBlank(size)) || (Func.isNotBlank(capacity))) && Func.isNotBlank(key) && (Func.isNotEmpty(pkId) || Func.isNotBlank(dev));
         return Func.isNotBlank(design) && ((Func.isNotBlank(size)) || (Func.isNotBlank(capacity))) && Func.isNotBlank(key) && (Func.isNotEmpty(pkId) || Func.isNotBlank(dev));
     }
     }
 
 
+    public String getDirection() {
+        return direction;
+    }
+
+    public void setDirection(String direction) {
+        this.direction = direction;
+    }
 
 
     public String getDesign() {
     public String getDesign() {
         return design;
         return design;
@@ -101,6 +110,7 @@ public class RangeInfo {
         this.size = size;
         this.size = size;
     }
     }
 
 
+    @JSONField(serialize = false)
     public List<Integer> getSizeList() {
     public List<Integer> getSizeList() {
         return gSize;
         return gSize;
     }
     }
@@ -122,7 +132,7 @@ public class RangeInfo {
         this.dev = dev;
         this.dev = dev;
     }
     }
 
 
-
+    @JSONField(serialize = false)
     public List<String> getDevList() {
     public List<String> getDevList() {
         return gDev;
         return gDev;
     }
     }
@@ -157,6 +167,7 @@ public class RangeInfo {
         return gPass.size() > i ? gPass.get(i) : gPass.get(gPass.size() - 1);
         return gPass.size() > i ? gPass.get(i) : gPass.get(gPass.size() - 1);
     }
     }
 
 
+    @JSONField(serialize = false)
     public List<Integer> getPassList() {
     public List<Integer> getPassList() {
         return gPass;
         return gPass;
     }
     }

+ 11 - 9
blade-service/blade-manager/src/main/java/com/mixsmart/utils/FormulaUtils.java

@@ -556,18 +556,20 @@ public class FormulaUtils {
             e.printStackTrace();
             e.printStackTrace();
         }
         }
     }
     }
-
-    public static Map<String, String> getElementCell(String uri) {
+    public static Map<String, String> getElementCell(String uri){
+        return getElementCell(uri,null);
+    }
+    public static Map<String, String> getElementCell(String uri,String key) {
         try {
         try {
             InputStream inputStreamByUrl = FileUtils.getInputStreamByUrl(uri);
             InputStream inputStreamByUrl = FileUtils.getInputStreamByUrl(uri);
+            String filter=" el-input[keyname],el-date-picker[keyname]";
+            if(Func.isNotBlank(key)){
+                filter="el-input[keyname^="+key+"__],el-date-picker[keyname^="+key+"__]";
+            }
             Document document=Jsoup.parse(IoUtil.readToString(inputStreamByUrl));
             Document document=Jsoup.parse(IoUtil.readToString(inputStreamByUrl));
             Map<String,String> result= document
             Map<String,String> result= document
                     .select("table").first()
                     .select("table").first()
-                    .select("el-input[keyname]").stream()
-//                    .select("tr").stream()有缺漏的情况
-//                    .flatMap(tr -> tr.select("td").stream())
-//                    .filter(d -> !d.children().isEmpty())
-//                    .map(d -> d.children().get(0))
+                    .select(filter).stream()
                     .map(d -> d.attr("keyname")).filter(StringUtils::isNotEmpty).map(e -> e.split("__"))
                     .map(d -> d.attr("keyname")).filter(StringUtils::isNotEmpty).map(e -> e.split("__"))
                     .collect(
                     .collect(
                             Collectors.toMap(
                             Collectors.toMap(
@@ -589,8 +591,8 @@ public class FormulaUtils {
     }
     }
 
 
 /*    public static void main(String[] args) {
 /*    public static void main(String[] args) {
-        Map<String,String> map=getElementCell("/www/wwwroot/Users/hongchuangyanfa/Desktop/privateUrl/1645670856300429312.html");
-        System.out.println();
+        Map<String,String> map=getElementCell("/www/wwwroot/Users/hongchuangyanfa/Desktop//privateUrl/1578963584895942656.html","key_20");
+        System.out.println(map);
     }*/
     }*/
     /**
     /**
      * @Description  定位信息排序
      * @Description  定位信息排序

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

@@ -291,7 +291,12 @@ public class FormulaController {
             if (Func.isBlank(info.getPass())) {
             if (Func.isBlank(info.getPass())) {
                 info.setPass(info.getSize());
                 info.setPass(info.getSize());
             }
             }
-            Map<String, String> keymap = this.tabService.getTablbCols(info.getPkId().toString(), null);
+            WbsTreeContract wbsTreeContract = wbsTreeContractService.getBaseMapper().selectOne(Wrappers.<WbsTreeContract>query().lambda()
+                    .eq(WbsTreeContract::getPKeyId, info.getPkId()));
+            if(wbsTreeContract==null){
+                return R.fail("表流水号有误");
+            }
+            Map<String, String> keymap = FormulaUtils.getElementCell(wbsTreeContract.getHtmlUrl());
             if (!keymap.containsKey(info.getKey())) {
             if (!keymap.containsKey(info.getKey())) {
                 System.out.println("获取元素定位失败");
                 System.out.println("获取元素定位失败");
                 keymap.put(info.getKey(), bak);
                 keymap.put(info.getKey(), bak);

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

@@ -167,7 +167,8 @@ public class FormulaTurnPoint implements FormulaStrategy {
             });
             });
             if(tmpList.size()>0){
             if(tmpList.size()>0){
                 FormData[] fda= new FormData[]{dsbh,dmgcsj,dmgcsc,dmgcpc,sjgcsc};
                 FormData[] fda= new FormData[]{dsbh,dmgcsj,dmgcsc,dmgcpc,sjgcsc};
-                Map<Integer,List<Object>> group=tmpList.stream().collect(Collectors.groupingBy(e->tmpList.indexOf(e)/fda.length));
+                AtomicInteger ai = new AtomicInteger(0);
+                Map<Integer,List<Object>> group=tmpList.stream().collect(Collectors.groupingBy(e->ai.getAndIncrement()%fda.length));
                 for(int i=0;i<fda.length;i++){
                 for(int i=0;i<fda.length;i++){
                     FormData fd= fda[i];
                     FormData fd= fda[i];
                     FormulaUtils.write(fd,group.get(i),true);
                     FormulaUtils.write(fd,group.get(i),true);

+ 4 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -585,10 +585,10 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             if(wop.size()>0){
             if(wop.size()>0){
                 /*存在检验表*/
                 /*存在检验表*/
                 tec.getKeyMappers().stream().filter(e->wop.contains(e.getTableName())&&tec.formDataMap.containsKey(e.getCode())).forEach(k->{
                 tec.getKeyMappers().stream().filter(e->wop.contains(e.getTableName())&&tec.formDataMap.containsKey(e.getCode())).forEach(k->{
-                    /*包含的单元格超过三个就算实测项目*/
+                    /*包含的单元格超过三个就算实测项目部分实测值元素只有一个单元格,拼接写入全部数据*/
                     /*k.getEName().contains("实测值")&&k.getEName().contains("偏差值")*/
                     /*k.getEName().contains("实测值")&&k.getEName().contains("偏差值")*/
                     FormData ft=tec.formDataMap.get(k.getCode());
                     FormData ft=tec.formDataMap.get(k.getCode());
-                    if(ft.getCoordsList().size()>5){
+                    if(ft.getCoordsList().size()>5||(k.getEName().contains("实测值")&&!k.getEName().contains("设计值")&&!k.getEName().contains("合格率"))){
                         tec.checkItems.add(ft);
                         tec.checkItems.add(ft);
                     }else if(k.getEName().contains("检验日期")){
                     }else if(k.getEName().contains("检验日期")){
                         tec.checkDate.add(ft);
                         tec.checkDate.add(ft);
@@ -1071,8 +1071,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                                 targetItem.setDesigns(designList.getValues().stream().map(ElementData::getValue).flatMap(e -> CustomFunction.obj2ListNe(e).stream()).filter(StringUtils::isNumber).map(StringUtils::obj2Double).collect(Collectors.toList()));
                                 targetItem.setDesigns(designList.getValues().stream().map(ElementData::getValue).flatMap(e -> CustomFunction.obj2ListNe(e).stream()).filter(StringUtils::isNumber).map(StringUtils::obj2Double).collect(Collectors.toList()));
                             }
                             }
                             AtomicInteger index = new AtomicInteger();
                             AtomicInteger index = new AtomicInteger();
-                            int len = targetItem.getDesigns().size();
-                            if (len > 0) {
+                            if (targetItem.getDesigns()!=null) {
+                                int len = targetItem.getDesigns().size();
                                 targetItem.setData(new ArrayList<>(list.stream().map(StringUtils::obj2Double).collect(Collectors.groupingBy(k -> index.getAndIncrement() / len, LinkedHashMap::new, Collectors.toList())).values()));
                                 targetItem.setData(new ArrayList<>(list.stream().map(StringUtils::obj2Double).collect(Collectors.groupingBy(k -> index.getAndIncrement() / len, LinkedHashMap::new, Collectors.toList())).values()));
                             } else {
                             } else {
                                 targetItem.setData(Collections.singletonList(list.stream().map(StringUtils::obj2Double).collect(Collectors.toList())));
                                 targetItem.setData(Collections.singletonList(list.stream().map(StringUtils::obj2Double).collect(Collectors.toList())));