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) {