From dc2ed575ac5236f5100baac236254a434dcae8b9 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 24 一月 2025 18:01:22 +0800
Subject: [PATCH] Merge branch '2.0.1' of http://139.186.142.91:10010/r/productDev/funingyunwei into 2.0.1
---
server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java b/server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java
index 37b9180..df82f83 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java
@@ -39,12 +39,15 @@
* 浠ュ勾涓哄崟浣嶇浉宸负锛�6骞�
* 浠ユ湀涓哄崟浣嶇浉宸负锛�73涓湀
* 浠ユ棩涓哄崟浣嶇浉宸负锛�2220澶�
- * @param fromDate
+ * @param toDateOrigin
* @return
*/
- public static DateCompare dayCompare(Date fromDate,Date toDateOrigin,Date freeStart,Date freeEnd){
+ public static DateCompare dayCompare(Date fromDateOrigin,Date toDateOrigin,Date freeStart,Date freeEnd){
//寮�濮嬫椂闂村線鍚庡欢浼革紝闄ゅ幓鏈夋晥鏃舵湡
- fromDate = DateUtil.addDaysToDate(fromDate,getIntersectingDays(fromDate,DateUtil.addDaysToDate(toDateOrigin,1),freeStart,DateUtil.addDaysToDate(freeEnd,1)));
+ Date fromDate = DateUtil.addDaysToDate(fromDateOrigin,getIntersectingDays(fromDateOrigin,DateUtil.addDaysToDate(toDateOrigin,1),
+ freeStart,
+ Objects.isNull(freeEnd)?null:DateUtil.addDaysToDate(freeEnd,1))
+ );
if(toDateOrigin.getTime()< fromDate.getTime()){
return DateCompare.builder().day(0).month(0).year(0).yearFloat(new BigDecimal(0)).monthFloat(new BigDecimal(0)).build();
}
@@ -76,7 +79,7 @@
}
yearFloat = yearFloat.add(new BigDecimal(1.0*yearDays).divide(new BigDecimal(365.0), 15,RoundingMode.HALF_UP));
}
- int monthDays = day - (DateUtil.daysBetweenDates(DateUtil.addMonthToDate(fromDate,month),fromDate)+1) ;
+ int monthDays = day - (DateUtil.daysBetweenDates(DateUtil.addMonthToDate(fromDate,month),fromDate)) ;
if(monthDays!=0){
if(monthDays <0){
month = month-1;
@@ -141,6 +144,9 @@
}
public static int getIntersectingDays(Date start1, Date end1, Date start2, Date end2) {
+ if(Objects.isNull(start2)||Objects.isNull(end2)){
+ return 0;
+ }
Date earlierStart = DateUtil.daysBetweenDates(start1,start2)>0? start1 : start2;
Date laterEnd = DateUtil.daysBetweenDates(end2,end1)>0 ? end1 : end2;
--
Gitblit v1.9.3