From 513e82c36afe5aa2bd12fbe73c4a10eb9446e7d9 Mon Sep 17 00:00:00 2001 From: linfso Date: Tue, 6 May 2025 13:13:11 +0800 Subject: [PATCH] md --- .../emis/service/IEmisSettleBillService.java | 7 +++ .../impl/EmisSettleBillServiceImpl.java | 53 +++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettleBillService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettleBillService.java index d9f641ce4..b66f83e19 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettleBillService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettleBillService.java @@ -94,6 +94,13 @@ public interface IEmisSettleBillService extends IDataAuditService public int reCalcSettleBillFee(EmisSettleBill emisSettleBill) throws EmisBizError; + /** + * 重算账单账期 + * @param settleBillNo + * @return + */ + public int reCalcBillMonthPayDueDate(String settleBillNo); + /** * 修改结算总账单 diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java index 51ab17ce2..9637934a0 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java @@ -311,6 +311,59 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS return emisSettleBillMapper.insertEmisSettleBill(emisSettleBill); } + /** + * 重新计算账期 + * @param settleBillNo + * @return + */ + public int reCalcBillMonthPayDueDate(String settleBillNo){ + + EmisSettleBill oldEmisSettleBill=emisSettleBillMapper.selectSettleBillBySettleBillNo(settleBillNo); + if(oldEmisSettleBill!=null) { + + if( "2".equals(oldEmisSettleBill.getSettleType()) ) { + EmisCustomerUser monthUser = getCustomerUserByMonthlyPayCode(oldEmisSettleBill.getCustNo()); + if (monthUser != null) { + + EmisSettleBill updBill = new EmisSettleBill(); + updBill.setId(oldEmisSettleBill.getId()); + + + // 默认30天,从1号开始 + BigDecimal creditPeriod = BigDecimal.valueOf(30D); + Integer settleDay = 1; + + if (monthUser.getCreditPeriod() != null) { + creditPeriod = monthUser.getCreditPeriod(); + } + + if (monthUser.getSettleDay() != null) { + settleDay = monthUser.getSettleDay(); + } + + // 现金账期从寄件开始10天 + updBill.setCreditPeriodType("1"); + updBill.setCreditPeriod(creditPeriod); + updBill.setSettleDay(settleDay); + + Date billMonthDate = DateUtils.parseDate(oldEmisSettleBill.getBillMonth() + "-" + settleDay); + Date paymentDueDate = DateUtils.addMonths(billMonthDate, 1); + paymentDueDate = DateUtils.addDays(paymentDueDate, creditPeriod.intValue()); + + // 最后付款时间 + updBill.setPaymentDueDate(paymentDueDate); + + emisSettleBillMapper.updateEmisSettleBill(updBill); + } + } + else if( "1".equals(oldEmisSettleBill.getSettleType()) ) { + // 现金不用计算,默认10天 + } + } + + return 1; + } + /** * 修改账单加入运单号