demand: TMS系统 - 统计报表 - 财务收款统计 - 逾期已收金额(60天)无法查看收款明细bug修复 TMS系统 - 客户账单管理 - 现金账单核销/月结账单核销 - 收款时更新发票状态时只更新运单对应发票的状态
This commit is contained in:
parent
5e3d62bcb1
commit
2a962d60d7
@ -1175,27 +1175,32 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
|
||||
|
||||
// 遍历每个发票记录,更新其收款状态
|
||||
for (EmisSettleInvoiceRecord invoiceRecord : invoiceRecordList) {
|
||||
String invoiceSettleBillNo = invoiceRecord.getSettleBillNo();
|
||||
if (StringUtils.isEmpty(invoiceSettleBillNo)) {
|
||||
String applySeqNo = invoiceRecord.getApplySeqNo();
|
||||
if (StringUtils.isEmpty(applySeqNo)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 通过申请序号获取发票关联的子账单列表
|
||||
List<EmisSettleInvoiceRel> invoiceRelList = emisSettleInvoiceRelMapper.selectListByApplySeqNo(applySeqNo);
|
||||
if (CollectionUtils.isEmpty(invoiceRelList)) {
|
||||
log.debug("updateInvoicePaymentStatus===>发票申请序号{}没有关联的子账单", applySeqNo);
|
||||
continue;
|
||||
}
|
||||
|
||||
// 解析发票对应的所有账单号(可能用逗号分隔)
|
||||
String[] billNoArray = invoiceSettleBillNo.split(",");
|
||||
BigDecimal totalRecedMoney = BigDecimal.ZERO;
|
||||
|
||||
// 遍历发票对应的每个账单号,计算每个账单的实际收款金额并累加
|
||||
for (String billNo : billNoArray) {
|
||||
billNo = billNo.trim();
|
||||
if (StringUtils.isEmpty(billNo)) {
|
||||
// 遍历发票关联的每个子账单,获取运单已收金额并累加
|
||||
for (EmisSettleInvoiceRel invoiceRel : invoiceRelList) {
|
||||
String subBillNo = invoiceRel.getBillNo();
|
||||
if (StringUtils.isEmpty(subBillNo)) {
|
||||
continue;
|
||||
}
|
||||
// 通过账单号查询emis_settle_bill获取reced_money作为已收金额
|
||||
EmisSettleBill bill = selectEmisSettleBillBySettleBillNo(billNo);
|
||||
BigDecimal billTotalHasPayMoney = (bill != null && bill.getRecedMoney() != null)
|
||||
? bill.getRecedMoney()
|
||||
: BigDecimal.ZERO;
|
||||
totalRecedMoney = totalRecedMoney.add(billTotalHasPayMoney);
|
||||
|
||||
// 通过子账单号查询子账单,获取运单已收金额
|
||||
EmisSettleSubBill subBill = emisSettleSubBillMapper.selectSettleSubBillBySubBillNo(subBillNo);
|
||||
if (subBill != null && subBill.getRecedMoney() != null) {
|
||||
totalRecedMoney = totalRecedMoney.add(subBill.getRecedMoney());
|
||||
}
|
||||
}
|
||||
|
||||
// 获取发票申请金额
|
||||
@ -1219,8 +1224,8 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
|
||||
updateInvoiceRecord.setRecedMoney(totalRecedMoney);
|
||||
emisSettleInvoiceRecordMapper.updateEmisSettleInvoiceRecord(updateInvoiceRecord);
|
||||
|
||||
log.debug("updateInvoicePaymentStatus===>发票申请序号:{}, 收款状态:{}, 已收金额:{}, 申请金额:{}, 对应账单号:{}",
|
||||
invoiceRecord.getApplySeqNo(), paymentStatus, totalRecedMoney, applyMoney, invoiceSettleBillNo);
|
||||
log.debug("updateInvoicePaymentStatus===>发票申请序号:{}, 收款状态:{}, 已收金额:{}, 申请金额:{}",
|
||||
invoiceRecord.getApplySeqNo(), paymentStatus, totalRecedMoney, applyMoney);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
|
||||
@ -575,6 +575,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
and b.trade_date <![CDATA[ > ]]> esb.payment_due_date
|
||||
and b.trade_date <![CDATA[ >= ]]> DATE_SUB( esb.payment_due_date, INTERVAL (esb.credit_period-60) DAY )
|
||||
)
|
||||
OR
|
||||
(
|
||||
( (esb.settle_type='2' and esb.credit_period <![CDATA[ < ]]> 30) or esb.settle_type='1' )
|
||||
and b.trade_date <![CDATA[ > ]]> esb.payment_due_date
|
||||
)
|
||||
)
|
||||
</if>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user