Browse Source

2-11 整改

yangyj 5 months ago
parent
commit
5300d2dc2a

+ 2 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/MaterialsArrival.java

@@ -14,6 +14,8 @@ public class MaterialsArrival implements  DataModel{
     public static final String TBN="MtAiv";
     public static final String TBN_CH="工程材料到达现场计量表";
 
+    @JSONField(name = "key_0",label="序列号",ordinal = 1)
+    private String sn;
     @JSONField(name = "key_1",label="期号",ordinal = 1)
     private String periodNumber;
     @JSONField(name = "key_2",label="材料名称",ordinal = 1)

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

@@ -108,8 +108,8 @@ public class ExecutorFormat extends FormulaExecutor {
         }
         return StringPool.EMPTY;
     };
-    /*2-17 小计合计*/
-   private   BiFunction<ElementData,ElementData,String> coordsFc217=(ea,eb)->{
+    /*2-11小计合计*/
+   private   BiFunction<ElementData,ElementData,String> coordsFc211 =(ea, eb)->{
        String name = eb.stringValue();
        if (("小计").equals(name) || ("合计").equals(name)) {
            return ea.getIndex() + "@" + ea.getX() + "@" + ea.getY() + "@" + (eb.getX() + 2) + "@" + eb.getY();
@@ -121,8 +121,8 @@ public class ExecutorFormat extends FormulaExecutor {
     public void mergeCell(){
         /*2-6中期支付证书清单号、项目名*/
         biColumnMerge("IPayCert:key_1","IPayCert:key_0","m_20240325154016_1772166597482381312",coordsFc26);
-        /*2-17 小计合计*/
-        biColumnMerge("MtAiv:key_1","MtAiv:key_2","m_20240222101754_1760489057181237248",coordsFc217);
+        /*2-11 小计合计*/
+      /*  biColumnMerge("MtAiv:key_1","MtAiv:key_2","m_20240222101754_1760489057181237248", coordsFc211);*/
 
     }
 

+ 9 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/ExecutorMeter.java

@@ -856,18 +856,24 @@ public class ExecutorMeter extends FormulaExecutor {
                             return ma;
                         }
                 ).collect(Collectors.toList());
-               list= new ArrayList<>(list.stream().collect(Collectors.toMap(fc,m->m,(v1,v2)->{
+              /*根据 m.getPeriodNumber()+m.getName()+m.getUnit()+m.getPrice()+m.getSource()+m.getInvoice()+m.getWarrantyNumber()+m.getSsr()合并同类的代码段;2024年8月26日 要求全部显示,不再合并,已经是反复几次了,如果再要求合并,放开注释
+                   list= new ArrayList<>(list.stream().collect(Collectors.toMap(fc,m->m,(v1,v2)->{
                    v1.setAmount(addFc.apply(v1.getAmount(),v2.getAmount()));
                    v1.setQuantity(addFc.apply(v1.getQuantity(),v2.getQuantity()));
                    return v1;
-               },LinkedHashMap::new)).values());
-               LinkedHashMap<String,List<MaterialsArrival>> group= list.stream().collect(Collectors.groupingBy(MaterialsArrival::getName, LinkedHashMap::new,Collectors.toList()));
+               },LinkedHashMap::new)).values());*/
+                AtomicInteger sn= new AtomicInteger(1);
+                LinkedHashMap<String,List<MaterialsArrival>> group= list.stream().collect(Collectors.groupingBy(MaterialsArrival::getName, LinkedHashMap::new,Collectors.toList()));
                int rowSize= capacity-1;
                group.forEach((k,v)->{
                    List<List<MaterialsArrival>> pages=BaseUtils.splitList(v,rowSize);
                    List<MaterialsArrival> tmp = new ArrayList<>();
                    for(int i=0;i<pages.size();i++){
                        List<MaterialsArrival> data = pages.get(i);
+                       data.forEach(ma->{
+                           /*排序*/
+                           ma.setSn( String.valueOf(sn.getAndIncrement()));
+                       });
                        tmp.addAll(data);
                        int over= rowSize-data.size();
                        if(i==pages.size()-1){