This commit is contained in:
linfso 2024-12-25 07:08:53 +08:00
parent 6ff60da754
commit fb0aad1fb4
2 changed files with 15 additions and 8 deletions

View File

@ -100,7 +100,7 @@ public class EmisSettleSubBill extends BaseEntity
private String deductionReason;
/* 其他原因 */
private String otherReason;
/* 开票状态 0-未开票 1-已开票 2-部分开票 3-不开票 */
/* 开票状态 0-未开票 1-已开票 2-部分开票 3-不开票 4-开票完成 */
private String openBillStatus;
/* 付款状态 0-未付款 1-已付款 2-部分付款 */
private String paymentStatus;

View File

@ -494,15 +494,22 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
// 获取运单已经开票记录 // 查询关联的运单表
List<Map> listRel=emisSettleInvoiceRelMapper.selectHasOpenInvoiceMapList(settleBillNo);
if(!CollectionUtils.isEmpty(listRel)) {
for(Map item:listRel){
String billNo= MapUtils.getString(item,"billNo",null);
if(org.apache.commons.lang3.StringUtils.isEmpty(billNo)){
continue;
Map<String,BigDecimal> hasOpenBillMap = new HashMap<String,BigDecimal>();
// 已收款金额list转map
for (Map mapItem:listRel) {
String billNo= MapUtils.getString(mapItem,"billNo",null);
BigDecimal sumMoney = BigDecimal.valueOf(Double.valueOf(mapItem.get("sumMoney").toString()));
hasOpenBillMap.put(billNo,sumMoney);
}
// 获取账单运单列表,重新计算每一单的开票状态
List<EmisSettleSubBill> subBillList=emisSettleSubBillMapper.selectSubBillListBySettleBillNo(settleBillNo);
for (EmisSettleSubBill subBill:subBillList) {
BigDecimal sumMoney=BigDecimal.ZERO;
if(hasOpenBillMap.containsKey(subBill.getBillNo())){
sumMoney=hasOpenBillMap.get(subBill.getBillNo());
}
EmisSettleSubBill subBill = emisSettleSubBillMapper.selectSettleSubBillBySubBillNo(billNo);
BigDecimal sumMoney = BigDecimal.valueOf(Double.valueOf(item.get("sumMoney").toString()));
totalMoney = totalMoney.add(sumMoney);
EmisSettleSubBill updEmisSettleSubBill=new EmisSettleSubBill();
updEmisSettleSubBill.setBillCode(subBill.getBillCode());