yangyj 1 년 전
부모
커밋
ec4839e237

+ 1 - 1
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/InterimMeter.java

@@ -63,7 +63,7 @@ public class InterimMeter implements  DataModel{
     @JSONField(name = "key_13",label="申报数量")
     private List<String> completedList;
     /**第n页 共m页*/
-    @JSONField(name = "key_15",label="页码",ordinal = 101)
+    @JSONField(name = "key_15",label="页码" ,format="共$2,第$1页",ordinal = 101)
     private String pageCount;
 
 }

+ 1 - 1
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/InterimMeterPaySummary.java

@@ -30,7 +30,7 @@ public class InterimMeterPaySummary implements  DataModel{
     @JSONField(name = "key_7",label="备注",ordinal = 7)
     private String remark;
     /**第n页 共m页*/
-    @JSONField(name = "key_12",label="页码",ordinal = 101)
+    @JSONField(name = "key_12",label="页码",format="$2页,第$1页",ordinal = 101)
     private String pageCount;
 
     public InterimMeterPaySummary(String itemName) {

+ 19 - 0
blade-service/blade-manager/src/main/java/com/mixsmart/utils/FormulaUtils.java

@@ -65,6 +65,7 @@ import java.awt.geom.Ellipse2D;
 import java.awt.geom.Rectangle2D;
 import java.io.*;
 
+import java.lang.annotation.Annotation;
 import java.lang.reflect.Field;
 import java.nio.charset.StandardCharsets;
 import java.security.MessageDigest;
@@ -381,12 +382,30 @@ public class FormulaUtils {
         return StringPool.EMPTY;
     }
 
+    public static JSONField getJSONField(Class<?> clazz, String fieldName){
+        try {
+            Field field = clazz.getDeclaredField(fieldName);
+            String TBN = (String)  clazz.getField(TBN_FN).get(null);
+            JSONField jf = AnnotationUtils.findAnnotation(field, JSONField.class);
+            if (jf != null) {
+                return jf;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
 
     /*获取指定模型的页码元素*/
     public static String getPageCode(Class<?> clazz){
         return getEleKey(clazz,"pageCount");
     }
 
+    public static JSONField getPageFormat(Class<?> clazz){
+        return getJSONField(clazz,"pageCount");
+    }
+
     /*根据数据模型实例生成带数据的元素,用于修改*/
     public static <T> LinkedHashMap<String,FormData> toFormDataMap(T bean){
         LinkedHashMap<String,FormData> result = new LinkedHashMap<>();

+ 4 - 4
blade-service/blade-manager/src/main/java/com/mixsmart/utils/StringUtils.java

@@ -1324,14 +1324,14 @@ public class StringUtils {
         return max;
     }
 
-    public static void main(String[] args) {
-     /*   System.out.println(getScaleZero(152000,"±10.0"));
+  /*  public static void main(String[] args) {
+     *//*   System.out.println(getScaleZero(152000,"±10.0"));
         System.out.println(getScaleZero(152000,"-10.0,10"));
         System.out.println(getScaleZero(152000,"-10.0,10.0"));
         System.out.println(getScaleZero(Double.MAX_VALUE,"-10.0,10"));
-        System.out.println(getScaleZero(152000,"-10,10"));*/
+        System.out.println(getScaleZero(152000,"-10,10"));*//*
         System.out.println(getScale(152000,"1240.32563"));
-    }
+    }*/
 
     public static List<Object> scaleParam(Object ... number){
         return Arrays.stream(number).filter(StringUtils::isNotEmpty).flatMap(e-> CustomFunction.obj2ListNe(e).stream()).distinct().map(s->s.toString().replaceAll("±","")).filter(StringUtils::isNumber).map(e->{

+ 8 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/ExecutorMeter.java

@@ -1,6 +1,7 @@
 package org.springblade.manager.formula.impl;
 
 import cn.hutool.log.StaticLog;
+import com.alibaba.fastjson.annotation.JSONField;
 import com.mixsmart.utils.CustomFunction;
 import com.mixsmart.utils.FormulaUtils;
 import com.mixsmart.utils.StringUtils;
@@ -1339,7 +1340,13 @@ public class ExecutorMeter extends FormulaExecutor {
             FormData pageFd = fdm.get(FormulaUtils.getPageCode(clazz));
             if(pageFd!=null) {
                 int total = totalPage();
-                String pageTmp = "第$1页 共" + total + "页";
+                JSONField jf =FormulaUtils.getPageFormat(clazz);
+                String pageTmp;
+                if(jf != null&&jf.format().length()>0){
+                    pageTmp=jf.format().replace("$2",total+"");
+                }else{
+                    pageTmp = "第$1页 共" + total + "页";
+                }
                 pageFd.setValues(IntStream.rangeClosed(1, total).boxed().map(i -> new ElementData(pageTmp.replace("$1", i.toString()))).collect(Collectors.toList()));
             }
         }