md
This commit is contained in:
parent
73e9c67b88
commit
88c33e4e8d
@ -613,6 +613,11 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
|
||||
}
|
||||
}
|
||||
|
||||
// 已开票总金额
|
||||
BigDecimal hasOpenBillSumMoney=BigDecimal.ZERO;
|
||||
// 不开票总金额
|
||||
BigDecimal noOpenBillSumMoney=BigDecimal.ZERO;
|
||||
|
||||
// 获取账单运单列表,重新计算每一单的开票状态
|
||||
List<EmisSettleSubBill> subBillList=emisSettleSubBillMapper.selectSubBillListBySettleBillNo(settleBillNo);
|
||||
for (EmisSettleSubBill subBill:subBillList) {
|
||||
@ -621,6 +626,9 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
|
||||
sumMoney=hasOpenBillMap.get(subBill.getBillNo());
|
||||
}
|
||||
|
||||
// 已开票总金额累加
|
||||
hasOpenBillSumMoney=hasOpenBillSumMoney.add(sumMoney);
|
||||
|
||||
EmisSettleSubBill updEmisSettleSubBill=new EmisSettleSubBill();
|
||||
updEmisSettleSubBill.setBillCode(subBill.getBillCode());
|
||||
updEmisSettleSubBill.setInvoicedMoney(sumMoney);
|
||||
@ -644,7 +652,6 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
|
||||
// 更新每一单的开票状态
|
||||
emisSettleSubBillMapper.updateOpenBillStatus(updEmisSettleSubBill);
|
||||
|
||||
|
||||
}else{
|
||||
// 如果开票金额大于等于账单金额
|
||||
if (sumMoney.compareTo(subBill.getBillFee()) >= 0) {
|
||||
@ -652,6 +659,10 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
|
||||
updEmisSettleSubBill.setOpenBillStatus("1");
|
||||
// 更新每一单的开票状态
|
||||
emisSettleSubBillMapper.updateOpenBillStatus(updEmisSettleSubBill);
|
||||
}else{
|
||||
|
||||
// 不开票或开票完成金额累加
|
||||
noOpenBillSumMoney=noOpenBillSumMoney.add(subBill.getBillFee().subtract(sumMoney));
|
||||
}
|
||||
}
|
||||
|
||||
@ -676,13 +687,9 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
|
||||
Map noNeedOpenBillMap=emisSettleSubBillMapper.getNoNeedOpenBillSum(settleBillNo);
|
||||
BigDecimal totalNoNeedMoney=BigDecimal.ZERO;
|
||||
if(noNeedOpenBillMap!=null){
|
||||
totalNoNeedMoney=new BigDecimal(noNeedOpenBillMap.get("totalNoNeed").toString());
|
||||
totalAllMoney=totalAllMoney.add(totalMoney);
|
||||
Integer totalCnt=Integer.valueOf(noNeedOpenBillMap.get("totalCnt").toString());
|
||||
if(totalCnt>0){
|
||||
totalNoNeedMoney=BigDecimal.valueOf(Double.valueOf(noNeedOpenBillMap.get("totalNoNeed").toString()).doubleValue());
|
||||
totalAllMoney=totalAllMoney.add(totalNoNeedMoney);
|
||||
}
|
||||
|
||||
totalAllMoney=totalAllMoney.add(totalNoNeedMoney);
|
||||
}else{
|
||||
totalAllMoney=totalMoney;
|
||||
}
|
||||
|
||||
@ -438,7 +438,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<select id="getNoNeedOpenBillSum" parameterType="String" resultType="map">
|
||||
select
|
||||
round(sum(bill_fee-invoiced_money),2) as totalNoNeed,count(1) as totalCnt
|
||||
IFNULL(round(sum(bill_fee-invoiced_money),2),0) as totalNoNeed,count(1) as totalCnt
|
||||
from emis_settle_sub_bill
|
||||
where del_flag='0' and open_bill_status in('3','4') and `settle_bill_no`=#{settleBillNo}
|
||||
</select>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user