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