diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/utils/ClaimAudit2Util.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/utils/ClaimAudit2Util.java
index 223418a7290a64e62b1924429a3473b4b3e68087..44eaa71a30143365e59d6de1ecd5b8bf27481bff 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/utils/ClaimAudit2Util.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/utils/ClaimAudit2Util.java
@@ -10,7 +10,10 @@ import reactor.util.function.Tuple3;
 import reactor.util.function.Tuples;
 
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -52,7 +55,58 @@ public class ClaimAudit2Util {
     }
 
     public static JsonObjectOrArrayEntity getJsonValueForMoMing(JsonObjectOrArrayEntity json, String rule) {
-        if (rule.startsWith("@join:")) {
+        if (rule.startsWith("@join0:")) {
+            rule = rule.substring(7);
+            String[] ruleArr = rule.split("\\+");
+            if (ruleArr.length >= 2) {
+                JsonObjectOrArrayEntity ret0 = getJsonValueForMoMingPrivate(json, ruleArr[0]);
+                JsonObjectOrArrayEntity ret1 = getJsonValueForMoMingPrivate(json, ruleArr[1]);
+                if (ret1.isEmpty()) {
+                    return ret0;
+                } else if (ret1.getValue().contains("-")) {
+                    String d1 = ret0.getValue() + " " + ret1.getValue().split("-")[0];
+                    String d2 = ret0.getValue() + " " + ret1.getValue().split("-")[1];
+                    if (d1.compareTo(d2) > 0) {
+                        try {
+                            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+                            Date date = formatter.parse(ret0.getValue());
+                            Calendar calendar = Calendar.getInstance();
+                            calendar.setTime(date);
+                            calendar.add(Calendar.DATE, -1);
+                            date = calendar.getTime();
+                            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                            d1 = sdf.format(date) + " " + ret1.getValue().split("-")[0];
+                        } catch (Exception ex) {
+                            ex.printStackTrace();
+                            log.info(ex.getMessage(), ex);
+                        }
+                    }
+                    return new JsonObjectOrArrayEntity(d1);
+                } else {
+                    return new JsonObjectOrArrayEntity(ret0.getValue() + " " + ret1.getValue());
+                }
+            } else {
+                return getJsonValueForMoMingPrivate(json, rule);
+            }
+        }
+        else if (rule.startsWith("@join1:")) {
+            rule = rule.substring(7);
+            String[] ruleArr = rule.split("\\+");
+            if (ruleArr.length >= 2) {
+                JsonObjectOrArrayEntity ret0 = getJsonValueForMoMingPrivate(json, ruleArr[0]);
+                JsonObjectOrArrayEntity ret1 = getJsonValueForMoMingPrivate(json, ruleArr[1]);
+                if (ret1.isEmpty()) {
+                    return ret0;
+                } else if (ret1.getValue().contains("-")) {
+                    return new JsonObjectOrArrayEntity(ret0.getValue() + " " + ret1.getValue().split("-")[1]);
+                } else {
+                    return new JsonObjectOrArrayEntity(ret0.getValue() + " " + ret1.getValue());
+                }
+            } else {
+                return getJsonValueForMoMingPrivate(json, rule);
+            }
+        }
+        else if (rule.startsWith("@join:")) {
             rule = rule.substring(6);
             String[] ruleArr = rule.split("\\+");
             if (ruleArr.length >= 2) {
diff --git a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/utils/ClaimAuditUtil.java b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/utils/ClaimAuditUtil.java
index 516532f361341a45e5eab8344d4b0d4295d6d98f..57484b8da0534a02ca1b1c23ba787bc682ffacbf 100644
--- a/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/utils/ClaimAuditUtil.java
+++ b/ServiceSite/src/main/java/com/seasky/seaskyocr/application/command/utils/ClaimAuditUtil.java
@@ -32,6 +32,7 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -478,7 +479,57 @@ public class ClaimAuditUtil {
     }
 
     public static String getJsonValueForMoMing(String json, String rule) {
-        if (rule.startsWith("@join:")) {
+        if (rule.startsWith("@join0:")) {
+            rule = rule.substring(7);
+            String[] ruleArr = rule.split("\\+");
+            if (ruleArr.length >= 2) {
+                String ret0 = getJsonValueForMoMingPrivate(json, ruleArr[0]);
+                String ret1 = getJsonValueForMoMingPrivate(json, ruleArr[1]);
+                if (ObjectUtil.isEmpty(ret1)) {
+                    return ret0;
+                } else if (ret1.contains("-")) {
+                    String d1 = ret0 + " " + ret1.split("-")[0];
+                    String d2 = ret0 + " " + ret1.split("-")[1];
+                    if(d1.compareTo(d2) > 0) {
+                        try {
+                            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+                            Date date = formatter.parse(ret0);
+                            Calendar calendar = Calendar.getInstance();
+                            calendar.setTime(date);
+                            calendar.add(Calendar.DATE, -1);
+                            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                            d1 = sdf.format(date) + " " + ret1.split("-")[0];
+                        } catch (Exception ex) {
+                            ex.printStackTrace();
+                            log.info(ex.getMessage(), ex);
+                        }
+                    }
+                    return d1;
+                } else {
+                    return ret0 + " " + ret1;
+                }
+            } else {
+                return getJsonValueForMoMingPrivate(json, rule);
+            }
+        }
+        else if (rule.startsWith("@join1:")) {
+            rule = rule.substring(7);
+            String[] ruleArr = rule.split("\\+");
+            if (ruleArr.length >= 2) {
+                String ret0 = getJsonValueForMoMingPrivate(json, ruleArr[0]);
+                String ret1 = getJsonValueForMoMingPrivate(json, ruleArr[1]);
+                if (ObjectUtil.isEmpty(ret1)) {
+                    return ret0;
+                } else if (ret1.contains("-")) {
+                    return ret0 + " " + ret1.split("-")[1];
+                } else {
+                    return ret0 + " " + ret1;
+                }
+            } else {
+                return getJsonValueForMoMingPrivate(json, rule);
+            }
+        }
+        else if (rule.startsWith("@join:")) {
             rule = rule.substring(6);
             String[] ruleArr = rule.split("\\+");
             if (ruleArr.length >= 2) {