diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java index 9e7692aa7..a5a80ab1a 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java @@ -11,6 +11,9 @@ package com.xdadan.erp.emis.service.impl; import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; @@ -150,6 +153,9 @@ public class EmisSettlePayRecordServiceImpl extends EmisBaseService implements I } } + // 校验交易日期不能晚于当天 + checkTradeDate(emisSettlePayRecord); + emisSettlePayRecord.setSettleBillNo(WaybillHelper.formatQueryValue(emisSettlePayRecord.getSettleBillNo())); // 多账单合并收款 String [] settleBillNoArr = emisSettlePayRecord.getSettleBillNo().split(","); @@ -232,6 +238,19 @@ public class EmisSettlePayRecordServiceImpl extends EmisBaseService implements I return 1; } + private static void checkTradeDate(EmisSettlePayRecord emisSettlePayRecord) throws EmisBizError { + if (emisSettlePayRecord.getTradeDate() != null) { + LocalDate tradeDate = emisSettlePayRecord.getTradeDate().toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDate(); + LocalDate today = LocalDate.now(); + if (tradeDate.isAfter(today)) { + throw new EmisBizError(EmisBizErrorType.FAIL, + "交易时间不能晚于当天(" + today.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + ")"); + } + } + } + /** * 收款退款 * @param id