|
@@ -16,8 +16,10 @@ import com.jfireel.expression.node.impl.VariableNode;
|
|
import com.jfireel.expression.token.Token;
|
|
import com.jfireel.expression.token.Token;
|
|
import com.jfireel.expression.token.TokenType;
|
|
import com.jfireel.expression.token.TokenType;
|
|
import org.apache.commons.collections4.MapUtils;
|
|
import org.apache.commons.collections4.MapUtils;
|
|
|
|
+import org.apache.poi.ss.formula.functions.T;
|
|
import org.springblade.core.tool.utils.CollectionUtil;
|
|
import org.springblade.core.tool.utils.CollectionUtil;
|
|
import org.springblade.core.tool.utils.Func;
|
|
import org.springblade.core.tool.utils.Func;
|
|
|
|
+import org.springblade.core.tool.utils.StringPool;
|
|
import org.springblade.manager.dto.ElementData;
|
|
import org.springblade.manager.dto.ElementData;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
@@ -28,6 +30,7 @@ import java.time.LocalDateTime;
|
|
import java.time.LocalTime;
|
|
import java.time.LocalTime;
|
|
import java.time.ZoneId;
|
|
import java.time.ZoneId;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.function.BinaryOperator;
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Pattern;
|
|
import java.util.regex.Pattern;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -1048,6 +1051,55 @@ public class CustomFunction {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+ public static Object dateMax(Object d1 ,Object d2){
|
|
|
|
+ return dateCp(d1,d2,false);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static Object dateMin(Object d1 ,Object d2){
|
|
|
|
+ return dateCp(d1,d2,true);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private static Object dateCp(Object d1 ,Object d2,Boolean isAsc){
|
|
|
|
+ if(d1!=null&&d2!=null){
|
|
|
|
+ DateTime dt1 = new DateTime(d1.toString());
|
|
|
|
+ DateTime dt2 = new DateTime(d2.toString());
|
|
|
|
+ List<DateTime> list = new ArrayList<>();
|
|
|
|
+ list.add(dt1);
|
|
|
|
+ list.add(dt2);
|
|
|
|
+ if(isAsc){
|
|
|
|
+ return dcp(list,Comparator.naturalOrder());
|
|
|
|
+ }else{
|
|
|
|
+ return dcp(list,Comparator.reverseOrder());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return StringPool.EMPTY;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * @Description 时间比较获取
|
|
|
|
+ * @Param [list:时间集合, comparator 比较器 ]
|
|
|
|
+ * @return cn.hutool.core.date.DateTime
|
|
|
|
+ * @Author yangyj
|
|
|
|
+ * @Date 2022.11.10 10:47
|
|
|
|
+ **/
|
|
|
|
+ public static DateTime dcp(List<DateTime> list,Comparator<? super DateTime> comparator){
|
|
|
|
+ return list.stream().reduce((a, b) -> comparator.compare(a, b) <= 0 ? a : b).orElse(null);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ public static void main(String[] args) {
|
|
|
|
+ DateTime a =DateTime.now();
|
|
|
|
+ DateTime b =new DateTime("2022-12-10 10:10:10");
|
|
|
|
+ DateTime c =new DateTime("2022-12-11 10:10:10");
|
|
|
|
+ System.out.println(dateMax(b,c));
|
|
|
|
+ System.out.println(dateMin(b,c));
|
|
|
|
+// List<DateTime> list = new ArrayList<>();
|
|
|
|
+// list.add(a);
|
|
|
|
+// list.add(b);
|
|
|
|
+// list.add(c);
|
|
|
|
+// System.out.println(dcp(list, Comparator.reverseOrder()));
|
|
|
|
+ }
|
|
|
|
|
|
public static String dateToStr(Date date, String formatter) {
|
|
public static String dateToStr(Date date, String formatter) {
|
|
String value = null;
|
|
String value = null;
|
|
@@ -3384,6 +3436,7 @@ public class CustomFunction {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @Description String 转List
|
|
* @Description String 转List
|
|
* @Param [o, separator]
|
|
* @Param [o, separator]
|