|
|
|
@@ -629,8 +629,8 @@ public class WxFinanceServiceImpl implements WxFinanceService { |
|
|
|
if (moneyDecimal.compareTo(new BigDecimal(0)) <= 0 ) { |
|
|
|
return ; |
|
|
|
} |
|
|
|
for (int i = 0 ; i < receivePayWayList.size(); i ++) { |
|
|
|
WxFinanceReceivePayway payway = receivePayWayList.get(i); |
|
|
|
while (receivePayWayList.size() > 0 ) { |
|
|
|
WxFinanceReceivePayway payway = receivePayWayList.get(0); |
|
|
|
//能够覆盖账单金额 |
|
|
|
if (moneyDecimal.compareTo(new BigDecimal(payway.getReceive())) <= 0 ) { |
|
|
|
//创建一个实收款单关联 |
|
|
|
@@ -638,18 +638,17 @@ public class WxFinanceServiceImpl implements WxFinanceService { |
|
|
|
sb.append(payway.getPayWayName()).append("收款").append(moneyDecimal.toPlainString()).append(","); |
|
|
|
BigDecimal remain = new BigDecimal(payway.getReceive()).subtract(moneyDecimal); |
|
|
|
if (remain.compareTo(new BigDecimal(0))==0) { |
|
|
|
receivePayWayList.remove(i); |
|
|
|
receivePayWayList.remove(0); |
|
|
|
}else { |
|
|
|
payway.setReceive(remain.toPlainString()); |
|
|
|
} |
|
|
|
break; |
|
|
|
return; |
|
|
|
}else { |
|
|
|
//创建一个实收款单关联 |
|
|
|
createFinanceReceiveBill(addreceive,bill,payway.getReceive(),null,payway.getPayWay()); |
|
|
|
sb.append(payway.getPayWayName()).append("收款").append(payway.getReceive()).append(","); |
|
|
|
receivePayWayList.remove(i); |
|
|
|
BigDecimal needlat = moneyDecimal.subtract(new BigDecimal(payway.getReceive())); |
|
|
|
calcuteReceiveMoney(sb,addreceive,bill,receivePayWayList,needlat); |
|
|
|
receivePayWayList.remove(0); |
|
|
|
moneyDecimal = moneyDecimal.subtract(new BigDecimal(payway.getReceive())); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@@ -875,8 +874,8 @@ public class WxFinanceServiceImpl implements WxFinanceService { |
|
|
|
if (moneyDecimal.compareTo(new BigDecimal(0)) <= 0 ) { |
|
|
|
return ; |
|
|
|
} |
|
|
|
for (int i = 0 ; i < receivePayWayList.size(); i ++) { |
|
|
|
WxFinanceReceivePayway payway = receivePayWayList.get(i); |
|
|
|
while (receivePayWayList.size() > 0 ) { |
|
|
|
WxFinanceReceivePayway payway = receivePayWayList.get(0); |
|
|
|
//能够覆盖账单金额 |
|
|
|
if (moneyDecimal.compareTo(new BigDecimal(payway.getReceive())) <= 0 ) { |
|
|
|
//创建一个实收款单关联 |
|
|
|
@@ -884,18 +883,17 @@ public class WxFinanceServiceImpl implements WxFinanceService { |
|
|
|
sb.append(payway.getPayWayName()).append("付款").append(moneyDecimal.toPlainString()).append(","); |
|
|
|
BigDecimal remain = new BigDecimal(payway.getReceive()).subtract(moneyDecimal); |
|
|
|
if (remain.compareTo(new BigDecimal(0))==0) { |
|
|
|
receivePayWayList.remove(i); |
|
|
|
receivePayWayList.remove(0); |
|
|
|
}else { |
|
|
|
payway.setReceive(remain.toPlainString()); |
|
|
|
} |
|
|
|
break; |
|
|
|
return; |
|
|
|
}else { |
|
|
|
//创建一个实收款单关联 |
|
|
|
createFinanceReceiveBill(addreceive,bill,null,payway.getReceive(),payway.getPayWay()); |
|
|
|
sb.append(payway.getPayWayName()).append("付款").append(payway.getReceive()).append(","); |
|
|
|
receivePayWayList.remove(i); |
|
|
|
BigDecimal needlat = moneyDecimal.subtract(new BigDecimal(payway.getReceive())); |
|
|
|
calcutePayMoney(sb,addreceive,bill,receivePayWayList,needlat); |
|
|
|
receivePayWayList.remove(0); |
|
|
|
moneyDecimal = moneyDecimal.subtract(new BigDecimal(payway.getReceive())); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|