|
@@ -347,7 +347,17 @@ public class BizCollectionServiceImpl extends ServiceImpl<BizCollectionMapper, B
|
|
if (i == contractDetails.size() - 1) {
|
|
if (i == contractDetails.size() - 1) {
|
|
detail.setArriveAmount(item.getAmount().subtract(remain));
|
|
detail.setArriveAmount(item.getAmount().subtract(remain));
|
|
} else {
|
|
} else {
|
|
- detail.setArriveAmount(item.getAmount().divide(detailSum, 4, RoundingMode.HALF_UP).multiply(l.getAmount()).setScale(2, RoundingMode.HALF_UP));
|
|
|
|
|
|
+ if(item.getAmount().equals(BigDecimal.ZERO) || detailSum.equals(BigDecimal.ZERO)) {
|
|
|
|
+ detail.setArriveAmount(BigDecimal.ZERO);
|
|
|
|
+ } else {
|
|
|
|
+ detail.setArriveAmount(item.getAmount().divide(detailSum, 4, RoundingMode.HALF_UP).multiply(l.getAmount()).setScale(2, RoundingMode.HALF_UP));
|
|
|
|
+ }
|
|
|
|
+// try {
|
|
|
|
+// detail.setArriveAmount(item.getAmount().divide(detailSum, 4, RoundingMode.HALF_UP).multiply(l.getAmount()).setScale(2, RoundingMode.HALF_UP));
|
|
|
|
+// } catch (ArithmeticException e) {
|
|
|
|
+// log.error(item.toString());
|
|
|
|
+// }
|
|
|
|
+
|
|
remain = remain.add(detail.getArriveAmount());
|
|
remain = remain.add(detail.getArriveAmount());
|
|
}
|
|
}
|
|
details.add(detail);
|
|
details.add(detail);
|