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) {
|
for (EmisSettleInvoiceRecord invoiceRecord : invoiceRecordList) {
|
||||||
String invoiceSettleBillNo = invoiceRecord.getSettleBillNo();
|
String applySeqNo = invoiceRecord.getApplySeqNo();
|
||||||
if (StringUtils.isEmpty(invoiceSettleBillNo)) {
|
if (StringUtils.isEmpty(applySeqNo)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 通过申请序号获取发票关联的子账单列表
|
||||||
|
List<EmisSettleInvoiceRel> invoiceRelList = emisSettleInvoiceRelMapper.selectListByApplySeqNo(applySeqNo);
|
||||||
|
if (CollectionUtils.isEmpty(invoiceRelList)) {
|
||||||
|
log.debug("updateInvoicePaymentStatus===>发票申请序号{}没有关联的子账单", applySeqNo);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 解析发票对应的所有账单号(可能用逗号分隔)
|
|
||||||
String[] billNoArray = invoiceSettleBillNo.split(",");
|
|
||||||
BigDecimal totalRecedMoney = BigDecimal.ZERO;
|
BigDecimal totalRecedMoney = BigDecimal.ZERO;
|
||||||
|
|
||||||
// 遍历发票对应的每个账单号,计算每个账单的实际收款金额并累加
|
// 遍历发票关联的每个子账单,获取运单已收金额并累加
|
||||||
for (String billNo : billNoArray) {
|
for (EmisSettleInvoiceRel invoiceRel : invoiceRelList) {
|
||||||
billNo = billNo.trim();
|
String subBillNo = invoiceRel.getBillNo();
|
||||||
if (StringUtils.isEmpty(billNo)) {
|
if (StringUtils.isEmpty(subBillNo)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// 通过账单号查询emis_settle_bill获取reced_money作为已收金额
|
|
||||||
EmisSettleBill bill = selectEmisSettleBillBySettleBillNo(billNo);
|
// 通过子账单号查询子账单,获取运单已收金额
|
||||||
BigDecimal billTotalHasPayMoney = (bill != null && bill.getRecedMoney() != null)
|
EmisSettleSubBill subBill = emisSettleSubBillMapper.selectSettleSubBillBySubBillNo(subBillNo);
|
||||||
? bill.getRecedMoney()
|
if (subBill != null && subBill.getRecedMoney() != null) {
|
||||||
: BigDecimal.ZERO;
|
totalRecedMoney = totalRecedMoney.add(subBill.getRecedMoney());
|
||||||
totalRecedMoney = totalRecedMoney.add(billTotalHasPayMoney);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取发票申请金额
|
// 获取发票申请金额
|
||||||
@ -1219,8 +1224,8 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
|
|||||||
updateInvoiceRecord.setRecedMoney(totalRecedMoney);
|
updateInvoiceRecord.setRecedMoney(totalRecedMoney);
|
||||||
emisSettleInvoiceRecordMapper.updateEmisSettleInvoiceRecord(updateInvoiceRecord);
|
emisSettleInvoiceRecordMapper.updateEmisSettleInvoiceRecord(updateInvoiceRecord);
|
||||||
|
|
||||||
log.debug("updateInvoicePaymentStatus===>发票申请序号:{}, 收款状态:{}, 已收金额:{}, 申请金额:{}, 对应账单号:{}",
|
log.debug("updateInvoicePaymentStatus===>发票申请序号:{}, 收款状态:{}, 已收金额:{}, 申请金额:{}",
|
||||||
invoiceRecord.getApplySeqNo(), paymentStatus, totalRecedMoney, applyMoney, invoiceSettleBillNo);
|
invoiceRecord.getApplySeqNo(), paymentStatus, totalRecedMoney, applyMoney);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} 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[ > ]]> esb.payment_due_date
|
||||||
and b.trade_date <![CDATA[ >= ]]> DATE_SUB( esb.payment_due_date, INTERVAL (esb.credit_period-60) DAY )
|
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>
|
</if>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user