This commit is contained in:
linfso 2025-05-06 13:13:11 +08:00
parent c60525ffcf
commit 513e82c36a
2 changed files with 60 additions and 0 deletions

View File

@ -94,6 +94,13 @@ public interface IEmisSettleBillService extends IDataAuditService
public int reCalcSettleBillFee(EmisSettleBill emisSettleBill) throws EmisBizError;
/**
* 重算账单账期
* @param settleBillNo
* @return
*/
public int reCalcBillMonthPayDueDate(String settleBillNo);
/**
* 修改结算总账单

View File

@ -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;
}
/**
* 修改账单加入运单号