| @@ -629,8 +629,8 @@ public class WxFinanceServiceImpl implements WxFinanceService { | |||||
| if (moneyDecimal.compareTo(new BigDecimal(0)) <= 0 ) { | if (moneyDecimal.compareTo(new BigDecimal(0)) <= 0 ) { | ||||
| return ; | 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 ) { | 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(","); | sb.append(payway.getPayWayName()).append("收款").append(moneyDecimal.toPlainString()).append(","); | ||||
| BigDecimal remain = new BigDecimal(payway.getReceive()).subtract(moneyDecimal); | BigDecimal remain = new BigDecimal(payway.getReceive()).subtract(moneyDecimal); | ||||
| if (remain.compareTo(new BigDecimal(0))==0) { | if (remain.compareTo(new BigDecimal(0))==0) { | ||||
| receivePayWayList.remove(i); | |||||
| receivePayWayList.remove(0); | |||||
| }else { | }else { | ||||
| payway.setReceive(remain.toPlainString()); | payway.setReceive(remain.toPlainString()); | ||||
| } | } | ||||
| break; | |||||
| return; | |||||
| }else { | }else { | ||||
| //创建一个实收款单关联 | //创建一个实收款单关联 | ||||
| createFinanceReceiveBill(addreceive,bill,payway.getReceive(),null,payway.getPayWay()); | createFinanceReceiveBill(addreceive,bill,payway.getReceive(),null,payway.getPayWay()); | ||||
| sb.append(payway.getPayWayName()).append("收款").append(payway.getReceive()).append(","); | 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 ) { | if (moneyDecimal.compareTo(new BigDecimal(0)) <= 0 ) { | ||||
| return ; | 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 ) { | 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(","); | sb.append(payway.getPayWayName()).append("付款").append(moneyDecimal.toPlainString()).append(","); | ||||
| BigDecimal remain = new BigDecimal(payway.getReceive()).subtract(moneyDecimal); | BigDecimal remain = new BigDecimal(payway.getReceive()).subtract(moneyDecimal); | ||||
| if (remain.compareTo(new BigDecimal(0))==0) { | if (remain.compareTo(new BigDecimal(0))==0) { | ||||
| receivePayWayList.remove(i); | |||||
| receivePayWayList.remove(0); | |||||
| }else { | }else { | ||||
| payway.setReceive(remain.toPlainString()); | payway.setReceive(remain.toPlainString()); | ||||
| } | } | ||||
| break; | |||||
| return; | |||||
| }else { | }else { | ||||
| //创建一个实收款单关联 | //创建一个实收款单关联 | ||||
| createFinanceReceiveBill(addreceive,bill,null,payway.getReceive(),payway.getPayWay()); | createFinanceReceiveBill(addreceive,bill,null,payway.getReceive(),payway.getPayWay()); | ||||
| sb.append(payway.getPayWayName()).append("付款").append(payway.getReceive()).append(","); | 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())); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||