Просмотр исходного кода

数据模型加载\公式流程初始化阶段调整

yangyj 1 год назад
Родитель
Сommit
e8764a21a5

+ 3 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ConstructionSchedule.java

@@ -43,6 +43,9 @@ public class ConstructionSchedule implements  DataModel{
     /**合同金额*/
     @JSONField(name = "key_7",label="合同金额",ordinal = 7)
     private String contractMoney;
+    /**变更金额*/
+    @JSONField(name = "key_25",label="变更金额",ordinal = 8)
+    private String changeMoneyAll;
     /**变更后A金额*/
     @JSONField(name = "key_8",label="变更后A金额",ordinal = 8)
     private String changeMoney;

+ 47 - 33
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/DataModel.java

@@ -2,6 +2,7 @@ package org.springblade.manager.vo;
 import cn.hutool.log.StaticLog;
 import com.alibaba.fastjson.annotation.JSONField;
 import org.springblade.common.utils.BaseUtils;
+import org.springblade.common.utils.SystemUtils;
 import org.springblade.core.tool.utils.StringPool;
 
 import java.lang.reflect.Field;
@@ -14,17 +15,23 @@ import java.util.stream.Collectors;
  * @description 数据模型接口
  */
 public  interface DataModel {
+        /*生产环境*/
+        Boolean once= SystemUtils.isLinux();
+
         List<Class<?>> classes=new ArrayList<>();
-        /*扫描路径*/
+       LinkedHashMap<String,List<WbsFormElementVO>> tableElementMap = new LinkedHashMap<>();
+    /*扫描路径*/
         String PATH="org.springblade.manager.vo";
- /*       static void main(String[] args) {
-            List<Class<?>> classes = findClassesByInterface("org.springblade.manager.vo", DataModel.class);
-            Map<String,List<WbsFormElementVO>> MODEL_MAP = new LinkedHashMap<>();
-            classes.forEach(c->{
-                MODEL_MAP.put(getStaticFieldValue(c,"ID"),toElementVos(c));
-            });
-            System.out.println();
-        }*/
+
+        /*判断是否是数据模型表id*/
+    static boolean containsKey(String id){
+        return getTableElementsMap().containsKey(id);
+    }
+
+    /*根据模型ID,返回元素列表*/
+    static  List<WbsFormElementVO> getElements(String id){
+        return getTableElementsMap().getOrDefault(id,Collections.emptyList());
+    }
 
     String TBN_FN="TBN";
     /*把模型类转换成共识配置选项*/
@@ -49,35 +56,42 @@ public  interface DataModel {
         }
         return list;
     }
-      static LinkedHashMap<String,List<WbsFormElementVO>> getElements(){
-          LinkedHashMap<String,List<WbsFormElementVO>> map = new LinkedHashMap<>();
-          if(classes.size()==0) {
+      static LinkedHashMap<String,List<WbsFormElementVO>> getTableElementsMap(){
+        /*未初始化或者本地开发环境的时候每次都生成*/
+          if(tableElementMap.isEmpty()||!once){
+              tableElementMap.clear();
+              getClasses().forEach(c->{
+                  tableElementMap.put(getStaticFieldValue(c,"ID"),toElementVos(c));
+              });
+
+          }
+          return tableElementMap;
+      }
+
+      static  List<Class<?>> getClasses(){
+          if(classes.size()==0||!once) {
+              /*集合为空或者非生产环境*/
+              if(classes.size()!=0) classes.clear();
               classes.addAll(findClassesByInterface(PATH, DataModel.class));
           }
-          classes.forEach(c->{
-              map.put(getStaticFieldValue(c,"ID"),toElementVos(c));
-          });
-          return map;
+          return classes;
       }
 
         static List<TreeNodeVOByTabType> getTreeNodeList(){
-            if(classes.size()==0) {
-                classes.addAll(findClassesByInterface(PATH, DataModel.class));
-            }
-        return  classes.stream().map(c -> {
-               TreeNodeVOByTabType tn = new TreeNodeVOByTabType();
-               tn.setTitle(getStaticFieldValue(c,"TBN_CH"));
-               tn.setTabType(SelectorModel.NODE_NAME);
-               tn.setParentId(SelectorModel.ID);
-               String id=getStaticFieldValue(c,"ID");
-               assert id != null;
-               tn.setId(Long.parseLong(id));
-               tn.setPrimaryKeyId(id);
-               tn.setInitTableId(id);
-               tn.setHasChildren(false);
-               tn.setInitTableName(getStaticFieldValue(c,"TBN"));
-               return tn;
-           }).collect(Collectors.toList());
+            return  getClasses().stream().map(c -> {
+                TreeNodeVOByTabType tn = new TreeNodeVOByTabType();
+                tn.setTitle(getStaticFieldValue(c,"TBN_CH"));
+                tn.setTabType(SelectorModel.NODE_NAME);
+                tn.setParentId(SelectorModel.ID);
+                String id=getStaticFieldValue(c,"ID");
+                assert id != null;
+                tn.setId(Long.parseLong(id));
+                tn.setPrimaryKeyId(id);
+                tn.setInitTableId(id);
+                tn.setHasChildren(false);
+                tn.setInitTableName(getStaticFieldValue(c,"TBN"));
+                return tn;
+            }).collect(Collectors.toList());
         }
 
         /*获取静态变量值*/

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

@@ -31,8 +31,8 @@ public class MeterInfo {
     List<Material> materialsAll;
     /**合同段所有开工预付款信息*/
     List<StartPayForm> startPayFormAll;
-    /*变更令,按照计量清单*/
-    List<ChangeToken> changeTokenList;
+    /**变更令,按照计量清单  */
+    LinkedHashMap<String,List<ChangeToken>> changeTokenListMap;
     /**合同段所有支付项信息*/
     List<MidPayItem> midPayItemList;
 

+ 7 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeController.java

@@ -305,12 +305,12 @@ public class WbsTreeController extends BladeController {
          set.add(InterimMeter.ID);
          set.add(MaterialPriceDifferential.ID);
          set.add(MaterialsArrival.ID);*/
-         return MODEL_MAP.containsKey(id);
+         return DataModel.containsKey(id);
      };
 
-   public final static Map<String,List<WbsFormElementVO>> MODEL_MAP ;
+/*   public final static Map<String,List<WbsFormElementVO>> MODEL_MAP ;
     static {
-      /*  MODEL_MAP.put(BaseInfo.ID,FormulaUtils.toElementVos(BaseInfo.class));
+        MODEL_MAP.put(BaseInfo.ID,FormulaUtils.toElementVos(BaseInfo.class));
         MODEL_MAP.put(MeterPeriodInfo.ID,FormulaUtils.toElementVos(MeterPeriodInfo.class));
         MODEL_MAP.put(AdvancePaymentCertificate.ID,FormulaUtils.toElementVos(AdvancePaymentCertificate.class));
         MODEL_MAP.put(MaterialAdvancePayment.ID,FormulaUtils.toElementVos(MaterialAdvancePayment.class));
@@ -322,11 +322,12 @@ public class WbsTreeController extends BladeController {
         MODEL_MAP.put(InterimMeterPaySummary.ID,FormulaUtils.toElementVos(InterimMeterPaySummary.class));
         MODEL_MAP.put(InterimMeter.ID,FormulaUtils.toElementVos(InterimMeter.class));
         MODEL_MAP.put(MaterialPriceDifferential.ID,FormulaUtils.toElementVos(MaterialPriceDifferential.class));
-        MODEL_MAP.put(MaterialsArrival.ID,FormulaUtils.toElementVos(MaterialsArrival.class));*/
+        MODEL_MAP.put(MaterialsArrival.ID,FormulaUtils.toElementVos(MaterialsArrival.class));
         MODEL_MAP=DataModel.getElements();
-    }
+    }*/
+
     public List<WbsFormElementVO> dataModel(String id){
-          return MODEL_MAP.getOrDefault(id,Collections.emptyList());
+          return DataModel.getElements(id);
     }
 
     /**

+ 95 - 45
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/ExecutorInit.java

@@ -37,24 +37,41 @@ public class ExecutorInit extends FormulaExecutor {
     private Function<Long, List<Material>> materialFormFc;
     private Function<Long,List<MeterPeriodInfo>> interimMeterPeriodAllFc;
     private Function<Long, List<MidPayItem>> midPayItemListFc;
-
     private Function<Long,List<ChangeToken>> changeTokenFc;
     public static final String SZ="[ 一二三四五六七八九十]+";
 
 
     public void handle() {
+        /*合同段信息*/
+        addBaseInfo();
+        /*计量期信息*/
+        addPeriodInfo();
+    }
 
+    /*预处理计量单元树*/
+    private CompletableFuture<Map<Long, TreeNode<MeterTree>>> getMeterTreeMapAsync(Long contractId) {
+        return CompletableFuture.supplyAsync(() -> {
+            List<MeterTree> list = meterTreeFc.apply(contractId);
+            Function<MeterTree,TreeNode<MeterTree>> fc = m->{
+                TreeNode<MeterTree> treeNode = new TreeNode<>();
+                treeNode.setId(m.getId());
+                treeNode.setParentId(m.getParentId());
+                treeNode.setValue(m);
+                treeNode.setName(m.getNodeName());
+                treeNode.setSort(StringUtils.handObj2Integer(m.getSort()));
+                return treeNode;
+            };
+            return FormulaUtils.list2TreeNode(TreeNode::getId,list,fc,TreeNode::getParentId);
+        });
+    }
+    private void addBaseInfo(){
         /*加载合同数据*/
         BaseInfo baseInfo = baseInfoFc.apply(tec.getContractId());
-/*
-        baseInfo.setStartAmount(BaseUtils.str2BigDecimal(baseInfo.getContractAmount()).multiply(new BigDecimal(100)).divide(BaseUtils.str2BigDecimal(baseInfo.getStartRatio()),3, RoundingMode.HALF_UP).toString());
-*/
         baseInfo.setTotalAmount(baseInfo.getContractAmount());
-        tec.getConstantMap().put(BaseInfo.TBN,baseInfo);
         tec.meterInfo.setBaseInfo(baseInfo);
-        LinkedHashMap<String, FormData> baseMap =FormulaUtils.toFormDataMap(baseInfo);
-        tec.getRepeatKeys().addAll(baseMap.keySet());
-        tec.formDataMap.putAll(baseMap);
+        dataModel2FormData(baseInfo);
+    }
+    private void addPeriodInfo(){
         if(MeterType.MATERIAL.equals(tec.getMeterType())||MeterType.START.equals(tec.getMeterType())){
             /*加载计量期信息*/
             tec.periodInfo=meterPeriodFc.apply(tec.getReportId());
@@ -62,28 +79,23 @@ public class ExecutorInit extends FormulaExecutor {
             tec.meterInfo.setMaterialsAll(materialFormFc.apply(tec.getContractId()));
         }else if(MeterType.INTERIM.equals(tec.getMeterType())||MeterType.INTERIM_JL.equals(tec.getMeterType())){
             /*计量期*/
-            List<MeterPeriodInfo> meterPeriodInfoList = interimMeterPeriodAllFc.apply(tec.getContractId());
+            periodInfo();;
             /*支付项信息*/
             tec.meterInfo.setMidPayItemList(midPayItemListFc.apply(tec.getContractId()));
-            for(MeterPeriodInfo mpi:meterPeriodInfoList){
-                tec.meterInfo.getMeterPeriodInfoLinkedHashMap().put(mpi.getId(),mpi);
-            }
-            /*tec.periodInfo=interimMeterPeriodFc.apply(tec.getReportId());*/
-            tec.meterInfo.getMeterPeriodInfoLinkedHashMap().values().forEach(e->{
-                if(tec.getReportId().equals(e.getReportId())){
-                    tec.periodInfo=e;
-                }
-            });
-            tec.periodInfo.setPeriodName(tec.periodInfo.getPeriodNumber());
             /*计量单元树*/
             tec.meterInfo.setMeterTreeMap(getMeterTreeMapAsync(tec.getContractId()));
-            List<StartPayForm> startPayFormAll=stayPayFormFc.apply(tec.getContractId());
-            if(startPayFormAll!=null&&startPayFormAll.size()>0){
-                /*获取合同段所有的开工报告信息*/
-                tec.meterInfo.setStartPayFormAll(startPayFormAll);
-            }
+            /*开工报表*/
+            startInfo();
+            //变更令部分
+            changeToken();
         }
         tec.setPeriodId(tec.periodInfo.getId());
+        /*计量期编号格式化*/
+        periodNumberFormat();
+        dataModel2FormData(tec.periodInfo);
+    }
+
+    private void periodNumberFormat(){
         String periodNumber = tec.periodInfo.getPeriodNumber();
         if(!BaseUtils.isNumber(periodNumber)){
             periodNumber= RegexUtil.findResult(SZ,periodNumber);
@@ -94,32 +106,70 @@ public class ExecutorInit extends FormulaExecutor {
                 tec.periodInfo.setPeriodNumber(periodNumber);
             }
         }
-        LinkedHashMap<String, FormData> periodMap = FormulaUtils.toFormDataMap(tec.periodInfo);
+    }
 
-        //变更令部分
+    private void periodInfo(){
+        List<MeterPeriodInfo> meterPeriodInfoList = interimMeterPeriodAllFc.apply(tec.getContractId());
+        for(MeterPeriodInfo mpi:meterPeriodInfoList){
+            tec.meterInfo.getMeterPeriodInfoLinkedHashMap().put(mpi.getId(),mpi);
+        }
+        tec.meterInfo.getMeterPeriodInfoLinkedHashMap().values().forEach(e->{
+            if(tec.getReportId().equals(e.getReportId())){
+                tec.periodInfo=e;
+            }
+        });
+        tec.periodInfo.setPeriodName(tec.periodInfo.getPeriodNumber());
+    }
+
+    private void startInfo(){
+        List<StartPayForm> startPayFormAll=stayPayFormFc.apply(tec.getContractId());
+        if(startPayFormAll!=null&&startPayFormAll.size()>0){
+            /*获取合同段所有的开工报告信息*/
+            tec.meterInfo.setStartPayFormAll(startPayFormAll);
+        }
+    }
+
+    private void changeToken(){
         List<ChangeToken> changeTokenList = changeTokenFc.apply(tec.getContractId());
-        tec.meterInfo.setChangeTokenList(changeTokenList) ;
 
-        /*每页内容都一样*/
-        tec.getRepeatKeys().addAll(periodMap.keySet());
-        tec.formDataMap.putAll(periodMap);
+        LinkedHashMap<String,List<ChangeToken>>  map =new LinkedHashMap<>();
+        /* 本期变更 */
+        map.put("CUR",getFilteredChangeTokens(changeTokenList,tec.periodInfo,0));
+        /* 上期末变更 */
+        map.put("PRE",getFilteredChangeTokens(changeTokenList,tec.periodInfo,1));
+        /* 本期末变更 */
+        map.put("EDN",getFilteredChangeTokens(changeTokenList,tec.periodInfo,2));
+        tec.meterInfo.setChangeTokenListMap(map);
     }
 
-    /*预处理计量单元树*/
-    public CompletableFuture<Map<Long, TreeNode<MeterTree>>> getMeterTreeMapAsync(Long contractId) {
-        return CompletableFuture.supplyAsync(() -> {
-            List<MeterTree> list = meterTreeFc.apply(contractId);
-            Function<MeterTree,TreeNode<MeterTree>> fc = m->{
-                TreeNode<MeterTree> treeNode = new TreeNode<>();
-                treeNode.setId(m.getId());
-                treeNode.setParentId(m.getParentId());
-                treeNode.setValue(m);
-                treeNode.setName(m.getNodeName());
-                treeNode.setSort(StringUtils.handObj2Integer(m.getSort()));
-                return treeNode;
-            };
-            return FormulaUtils.list2TreeNode(TreeNode::getId,list,fc,TreeNode::getParentId);
-        });
+    /**
+     * type=0 返回本期
+     *  periodInfo.startDate   <  changeApprovalDate <= periodInfo.endDate  的changeTokenList
+     *
+     * type=1 返回上期末
+     *  changeApprovalDate < periodInfo.startDate 的changeTokenList
+     *
+     * type=2 返回本期末
+     * changeApprovalDate <= periodInfo.startDate  的changeTokenList
+     */
+    private   List<ChangeToken> getFilteredChangeTokens(List<ChangeToken> changeTokenList, MeterPeriodInfo periodInfo, int type) {
+        switch (type) {
+            case 0:
+                return changeTokenList.stream()
+                        .filter(token -> (periodInfo.getStartDate().isBefore(token.getChangeApprovalDate())
+                                && !periodInfo.getEndDate().isBefore(token.getChangeApprovalDate())))
+                        .collect(Collectors.toList());
+            case 1:
+                return changeTokenList.stream()
+                        .filter(token -> token.getChangeApprovalDate().isBefore(periodInfo.getStartDate()))
+                        .collect(Collectors.toList());
+            case 2:
+                return changeTokenList.stream()
+                        .filter(token -> !token.getChangeApprovalDate().isAfter(periodInfo.getEndDate()))
+                        .collect(Collectors.toList());
+            default:
+                throw new IllegalArgumentException("Unsupported type: " + type);
+        }
     }
 
 }

+ 14 - 38
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/ExecutorMeter.java

@@ -72,6 +72,11 @@ public class ExecutorMeter extends FormulaExecutor {
         return  aBd.multiply(new BigDecimal(100)).divide(bBd, 6, RoundingMode.HALF_UP).toString();
     };
 
+    /*减法*/
+    private BinaryOperator<String> subtractFc = (a,b)-> BaseUtils.str2BigDecimal(a).subtract(BaseUtils.str2BigDecimal(b)).toString();
+    /*乘法*/
+    private BinaryOperator<String> multiFc = (a,b)-> BaseUtils.str2BigDecimal(a).multiply(BaseUtils.str2BigDecimal(b)).toString();
+
    /**根据清单编号获取支付项目章节编号*/
     public String getPrefix(String fn){
         if(fn!=null) {
@@ -108,39 +113,7 @@ public class ExecutorMeter extends FormulaExecutor {
         return line;
     }
 
-    /**
-     * type=0 返回本期
-     *  periodInfo.startDate   <  changeApprovalDate <= periodInfo.endDate  的changeTokenList
-     *
-     * type=1 返回上期末
-     *  changeApprovalDate < periodInfo.startDate 的changeTokenList
-     *
-     * type=2 返回本期末
-     * changeApprovalDate <= periodInfo.startDate  的changeTokenList
-     * @param changeTokenList
-     * @param periodInfo
-     * @param type
-     * @return
-     */
-    public  List<ChangeToken> getFilteredChangeTokens(List<ChangeToken> changeTokenList, MeterPeriodInfo periodInfo, int type) {
-        switch (type) {
-            case 0:
-                return changeTokenList.stream()
-                        .filter(token -> (periodInfo.getStartDate().isBefore(token.getChangeApprovalDate())
-                                && !periodInfo.getEndDate().isBefore(token.getChangeApprovalDate())))
-                        .collect(Collectors.toList());
-            case 1:
-                return changeTokenList.stream()
-                        .filter(token -> token.getChangeApprovalDate().isBefore(periodInfo.getStartDate()))
-                        .collect(Collectors.toList());
-            case 2:
-                return changeTokenList.stream()
-                        .filter(token -> !token.getChangeApprovalDate().isAfter(periodInfo.getEndDate()))
-                        .collect(Collectors.toList());
-            default:
-                throw new IllegalArgumentException("Unsupported type: " + type);
-        }
-    }
+
 
     @Override
     public void handle() {
@@ -264,7 +237,7 @@ public class ExecutorMeter extends FormulaExecutor {
             /*本期,往期累计,本期累计*/
             double preTotal,total;
             if(Func.isNotEmpty(materials)){
-                BaseInfo baseInfo= (BaseInfo) tec.getConstantMap().get(BaseInfo.TBN);
+                BaseInfo baseInfo= tec.meterInfo.getBaseInfo();
                 int n=1;
                 for(Material m:materials){
                     m.setIndex(n++);
@@ -439,12 +412,13 @@ public class ExecutorMeter extends FormulaExecutor {
                 }
             }
 
+            LinkedHashMap<String,List<ChangeToken>> changeTokenListMap= tec.meterInfo.getChangeTokenListMap();
             /* 本期变更 */
-            List<ChangeToken> changeTokenList0 = getFilteredChangeTokens(tec.meterInfo.getChangeTokenList(),tec.periodInfo,0);
+            List<ChangeToken> changeTokenList0 = changeTokenListMap.get("CUR");
             /* 上期末变更 */
-            List<ChangeToken> changeTokenList1 = getFilteredChangeTokens(tec.meterInfo.getChangeTokenList(),tec.periodInfo,1);
+            List<ChangeToken> changeTokenList1 =changeTokenListMap.get("PRE");
             /* 本期末变更 */
-            List<ChangeToken> changeTokenList2 = getFilteredChangeTokens(tec.meterInfo.getChangeTokenList(),tec.periodInfo,2);
+            List<ChangeToken> changeTokenList2 =changeTokenListMap.get("END");
 
             Map<String,InterimPaymentCertificate> paymentCertificateMap = new LinkedHashMap<>();
              if(Func.isNotEmpty(paymentList)){
@@ -699,7 +673,6 @@ public class ExecutorMeter extends FormulaExecutor {
     @EqualsAndHashCode(callSuper = true)
     public  class SubIPaySum extends   BaseSpecial<SubprojectInterimPaymentSummary> implements Special{
         /*分项工程中期支付汇总表*/
-        /*施工进度表*/
         @Override
         public boolean ready() {
             return current.size()>0;
@@ -934,6 +907,9 @@ public class ExecutorMeter extends FormulaExecutor {
                 sis.setCurrentPayPercent(ratioFc.apply(sis.getCurrentPeriodPay(), sis.getChangeMoney()));
                 /* 本期末累计支付金额占合同比*/
                 sis.setPayPercent(ratioFc.apply(sis.getCurrentPeriodEndPay(),sis.getChangeMoney()));
+                /*变更金额*/
+                sis.setChangeMoneyAll(subtractFc.apply(sis.getChangeMoney(),sis.getContractMoney()));
+                /*变更金额*/
                 /* 根据月份来获取payment*/
                 Map<Long,List<Payment>> meterPaymentGroup = paymentGroup.get(sis.getFormNumber());
                 /* 当前月已经累计的*/

+ 15 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/FormulaExecutor.java

@@ -1,7 +1,12 @@
 package org.springblade.manager.formula.impl;
 
+import com.mixsmart.utils.FormulaUtils;
 import lombok.Data;
+import org.springblade.manager.dto.FormData;
 import org.springblade.manager.formula.FormulaHandleChain;
+import org.springblade.manager.vo.DataModel;
+
+import java.util.LinkedHashMap;
 import java.util.regex.Pattern;
 
 
@@ -30,4 +35,14 @@ public abstract  class   FormulaExecutor implements FormulaHandleChain {
     }
     public FormulaExecutor() {
     }
+    public void  dataModel2FormData(DataModel bean,Boolean repeat){
+        LinkedHashMap<String, FormData> baseMap = FormulaUtils.toFormDataMap(bean);
+        if(repeat) {
+            tec.getRepeatKeys().addAll(baseMap.keySet());
+        }
+        tec.formDataMap.putAll(baseMap);
+    }
+    public void  dataModel2FormData(DataModel bean){
+       dataModel2FormData(bean,true);
+    }
 }

+ 5 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreePrivateServiceImpl.java

@@ -256,10 +256,10 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
             data.add(baseInfo);
         }
     }
-   public static final List<TreeNodeVOByTabType> TN_TAB_LIST;
+  /* public static final List<TreeNodeVOByTabType> TN_TAB_LIST;
     static {
         TN_TAB_LIST=DataModel.getTreeNodeList();
-        /*Map<String, String[]> titleMap = new LinkedHashMap<>();
+        Map<String, String[]> titleMap = new LinkedHashMap<>();
         titleMap.put(BaseInfo.TBN_CH, new String[]{BaseInfo.TBN, BaseInfo.ID});
         titleMap.put(AdvancePaymentCertificate.TBN_CH, new String[]{AdvancePaymentCertificate.TBN, AdvancePaymentCertificate.ID});
         titleMap.put(MaterialAdvancePayment.TBN_CH, new String[]{MaterialAdvancePayment.TBN, MaterialAdvancePayment.ID});
@@ -283,12 +283,12 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
             tn.setHasChildren(false);
             tn.setInitTableName(kv.getValue()[0]);
             return tn;
-        }).collect(Collectors.toList());*/
+        }).collect(Collectors.toList());
     }
-
+*/
     @Cacheable(cacheNames = "data-model")
     public List<TreeNodeVOByTabType> baseList() {
-        return TN_TAB_LIST;
+        return DataModel.getTreeNodeList();
     }
 
     @Override