Browse Source

公式相关:检验项目排序(先表后行)

yangyj 2 năm trước cách đây
mục cha
commit
079c9c8128

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

@@ -572,10 +572,10 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
         Optional<AppWbsTreeContractVO> aop=tec.getTableAll().stream().filter(e->e.getNodeName().contains("A15")).findAny();
         if(aop.isPresent()){
             /*存在监表,则需要收集检查项目和检查时间等元素*/
-            Optional<AppWbsTreeContractVO> wop=tec.getTableAll().stream().filter(e->e.getNodeName().contains("检验单")||e.getNodeName().contains("检验表")).findAny();
-            if(wop.isPresent()){
+            List<String> wop=tec.getTableAll().stream().filter(e->e.getNodeName().contains("检验单")||e.getNodeName().contains("检验表")).map(AppWbsTreeContractVO::getInitTableName).distinct().collect(Collectors.toList());
+            if(wop.size()>0){
                 /*存在检验表*/
-                tec.getKeyMappers().stream().filter(e->StringUtils.isEquals(wop.get().getInitTableName(),e.getTableName())&&this.formDataMap.containsKey(e.getCode())).forEach(k->{
+                tec.getKeyMappers().stream().filter(e->wop.contains(e.getTableName())&&this.formDataMap.containsKey(e.getCode())).forEach(k->{
                     if(k.getEName().contains("实测值")&&k.getEName().contains("偏差值")){
                         this.checkItems.add(this.formDataMap.get(k.getCode()));
                     }else if(k.getEName().contains("检验日期")){
@@ -596,6 +596,13 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
 
             }
         }
+        if(this.checkItems.size()>0){
+            /**排序*/
+            List<String> iniTableNames=tec.getTableAll().stream().map(AppWbsTreeContractVO::getInitTableName).distinct().collect(Collectors.toList());
+            this.checkItems= this.checkItems.stream().sorted(Comparator.comparingInt((FormData i)->iniTableNames.indexOf(i.getTableName())).thenComparingInt(FormData::getMaxRow)).collect(Collectors.toList());
+        }
+        System.out.println();
+
     }
 
     @Override