yangyj 5 months ago
parent
commit
4d4658e68c

+ 4 - 3
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/MeterInfo.java

@@ -24,6 +24,8 @@ public class MeterInfo {
     public static Integer MB_GX=0;
     /**浙江计量模版*/
     public static Integer MB_ZJ=1;
+    /**万盛计量模版*/
+    public static Integer MB_WS=2;
     /**上期末*/
     public static Integer PRE=0;
     /**本期*/
@@ -47,13 +49,12 @@ public class MeterInfo {
     /**变更令,按照计量清单  */
     LinkedHashMap<Integer,List<ChangeToken>> changeTokenListMap=new LinkedHashMap<>();
     /**合同段材料调差信息*/
-    LinkedHashMap<Integer,List<MaterialAdjust>> MaterialAdjustListMap;
+    LinkedHashMap<Integer,List<MaterialAdjust>> materialAdjustListMap;
     /**合同段所有支付项信息*/
     List<MidPayItem> midPayItemList;
     /**支付章*/
     List<InventoryForm> chapters = new ArrayList<>();
     /**支付信息*/
-    /*List<Payment> paymentList;*/
     LinkedHashMap<Integer,List<Payment>> paymentListMap;
 
     /**本期*/
@@ -73,7 +74,7 @@ public class MeterInfo {
     private List<MeterApply> meterApplyList;
 
 
-    /*章节排序*/
+    /**章节排序*/
     private ToLongFunction<InventoryForm> paymentSortIndexFc= itf -> {
         long sort=Long.MAX_VALUE;
         String number = itf.getFormNumber();

+ 0 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/ExecutorInit.java

@@ -3,18 +3,15 @@ package org.springblade.manager.formula.impl;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.mixsmart.utils.FormulaUtils;
 import com.mixsmart.utils.StringUtils;
-import kotlin.ranges.IntRange;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.springblade.common.utils.BaseUtils;
-import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.RegexUtil;
 import org.springblade.manager.dto.FormData;
 import org.springblade.manager.dto.TreeNode;
 import org.springblade.manager.vo.*;
 import org.springblade.meter.entity.InterimPayCertificateItem;
 
-import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
@@ -22,8 +19,6 @@ import java.util.function.BiFunction;
 import java.util.function.Function;
 import java.util.function.Predicate;
 import java.util.function.ToIntFunction;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 

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

@@ -241,7 +241,9 @@ public class ExecutorMeter extends FormulaExecutor {
             this.specialList.add(new InterimPayCert());
             this.specialList.add(new InterimSum());
             /*分项工程中期支付汇总*/
+            /*this.specialList.add(new SubIMeterPaySw());*/
             this.specialList.add(new SubIPaySum());
+            this.specialList.add(new SubIPaySumSw());
             /*施工进度表*/
             this.specialList.add(new ConSchChapter());
             /*分项工程中期计量支付表*/
@@ -1072,7 +1074,7 @@ public class ExecutorMeter extends FormulaExecutor {
                          ipc.setCurrentPeriodEndChangeMoney(StringUtils.handleNullZero(sumChangeMoneyForChapter(changeTokenList2,ch)
                                  ,tec.getPayRadicScale()));
 
-                         /*由已知求未知*/
+                         /*计算其它属性值*/
                          ipc.calculate();
                          //dataList.add(ipc);
                          paymentCertificateMap.put(ch,ipc);
@@ -1083,7 +1085,7 @@ public class ExecutorMeter extends FormulaExecutor {
             interimPaymentCertificates= new ArrayList<>(paymentCertificateMap.values());
             /*合同段支付项*/
             List<MidPayItem> midPayItemList=tec.meterInfo.getMidPayItemList();
-            /*Map<InterimPaymentCertificate,Map<Function<InterimPaymentCertificate,String>,Consumer<String>>> summaryConfigMap = new HashMap<>();*/
+            /*表报编辑的支付项信息*/
             Map<Long,LinkedHashMap<String,InterimPayCertificateItem>>interimPayCertificateItemGroup=tec.meterInfo.getInterimPayCertificateItemGroup();
             LinkedHashMap<String,InterimPayCertificateItem> previousMap = new LinkedHashMap<>();
             if(tec.meterInfo.getPreviousPeriodInfo()!=null){
@@ -1496,7 +1498,22 @@ public class ExecutorMeter extends FormulaExecutor {
         }
     }
 
+    @Data
+    @EqualsAndHashCode(callSuper = true)
+    public  class SubIPaySumSw extends   BaseSpecial<SubprojectInterimPaymentSummary> implements Special{
 
+        @Override
+        public boolean ready() {
+            return MeterInfo.MB_WS.equals(tec.meterInfo.getTemplate());
+        }
+
+        @Override
+        public void parse() {
+            builderFormDatas(SubprojectInterimPaymentSummary.class);
+
+            putOut();
+        }
+    }
 
     @Data
     @EqualsAndHashCode(callSuper = true)
@@ -2055,13 +2072,33 @@ public class ExecutorMeter extends FormulaExecutor {
 
     }
 
+    @EqualsAndHashCode(callSuper = true)
+    @Data
+    public class SubIMeterPaySw extends  BaseSpecial<SubInterimMeterPaySummary> implements Special{
+
+        @Override
+        public boolean ready() {
+            return MeterInfo.MB_WS.equals(tec.meterInfo.getTemplate());
+        }
+
+        @Override
+        public void parse() {
+            /*生成模型元素*/
+            builderFormDatas(SubInterimMeterPaySummary.class);
+            SubInterimMeterPaySummary test =new SubInterimMeterPaySummary("测试");
+
+            dataList.add(test);
+            putOut();
+        }
+    }
+
     @Data
     @EqualsAndHashCode(callSuper = true)
     public class SubIMeterPay extends  BaseSpecial<SubInterimMeterPaySummary> implements Special{
           /*分项工程中期计量支付表,计量支付数量汇总表*/
         @Override
         public boolean ready() {
-            return current.size()>0;
+            return current.size()>0&&!MeterInfo.MB_WS.equals(tec.meterInfo.getTemplate());
         }
 
         /*分项工程名称*/

+ 3 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/TableElementConverter.java

@@ -379,6 +379,9 @@ public class TableElementConverter implements ITableElementConverter {
                   if("m_20240222111932_1760504568283660288".equals(nt.getInitTableName())||"m_20240222093331_1760477888294944768".equals(nt.getInitTableName())||"m_20240222110914_1760501976056987648".equals(nt.getInitTableName())||"m_20240222101436_1760488226289614848".equals(nt.getInitTableName())){
                       meterInfo.setTemplate(MeterInfo.MB_ZJ);
                       break;
+                  } else if("m_20240717141943_1813458542720450560".equals(nt.getInitTableName())){
+                      meterInfo.setTemplate(MeterInfo.MB_WS);
+                      break;
                   }
               }
             /*初始化元素单元格*/