From 9fb6686e5b6afb78bffb15651b9209259a056cab Mon Sep 17 00:00:00 2001 From: lihao Date: Sat, 21 Jun 2025 16:09:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../material/baseinfo/BillDateCheckListener.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/uapbd/src/private/nc/impl/bd/material/baseinfo/BillDateCheckListener.java b/uapbd/src/private/nc/impl/bd/material/baseinfo/BillDateCheckListener.java index 3e4f338..3bc39c0 100644 --- a/uapbd/src/private/nc/impl/bd/material/baseinfo/BillDateCheckListener.java +++ b/uapbd/src/private/nc/impl/bd/material/baseinfo/BillDateCheckListener.java @@ -83,11 +83,25 @@ public class BillDateCheckListener implements IBusinessListener { Calendar maxDateCal = Calendar.getInstance(); maxDateCal.set(currentYear, currentMonth, 24); // 本月24号 maxDateCal.add(Calendar.DATE, 10); // 24号+10天 + maxDateCal.set(Calendar.HOUR_OF_DAY, 0); // 清除时间部分 + maxDateCal.set(Calendar.MINUTE, 0); // 确保时间为00:00:00.000 + maxDateCal.set(Calendar.SECOND, 0); + maxDateCal.set(Calendar.MILLISECOND, 0); // 2. 计算下个月1号的最小允许日期 Calendar minDateCal = Calendar.getInstance(); minDateCal.set(currentYear, currentMonth, 1); // 本月1号 minDateCal.add(Calendar.MONTH, 1); // 下个月1号 + minDateCal.set(Calendar.HOUR_OF_DAY, 0); // 清除时间部分 + minDateCal.set(Calendar.MINUTE, 0); // 确保时间为00:00:00.000 + minDateCal.set(Calendar.SECOND, 0); + minDateCal.set(Calendar.MILLISECOND, 0); + + // 3. 清除billCal的时间部分 + billCal.set(Calendar.HOUR_OF_DAY, 0); + billCal.set(Calendar.MINUTE, 0); + billCal.set(Calendar.SECOND, 0); + billCal.set(Calendar.MILLISECOND, 0); // 3. 检查单据日期是否在下个月范围内 boolean isNextMonth = billCal.get(Calendar.MONTH) == minDateCal.get(Calendar.MONTH) &&