Просмотр исходного кода

fix rent bug

release_toaliyun_real
zhengfangyuan 3 лет назад
Родитель
Сommit
87c36c5814
1 измененных файлов: 18 добавлений и 5 удалений
  1. +18
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java

+ 18
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java Просмотреть файл

@@ -1112,12 +1112,21 @@ public class WxRentContractServiceImpl implements WxRentContractService {
BigDecimal priceD = new BigDecimal(price);
String revenueYear = wxRentContract.getRevenueYear();
List<Long> revenueYears = JSONArray.parseArray(revenueYear, Long.class);
List<Long> revenueYears = null;
if (!StringUtils.isBlank(revenueYear)) {
revenueYears = JSONArray.parseArray(revenueYear, Long.class);
}else {
revenueYears = new ArrayList<Long>();
}
revenueYears.add(0,0L);
if (wxRentContract.getAdjustRatioWay().equals(EnumRentContractAdjustRatioWay.RATIO.getCode())) {
for (int i = 1; i < size; i++) {
BigDecimal divide = new BigDecimal(revenueYears.get(i)).multiply(new BigDecimal(integers.get(i))).divide(new BigDecimal(10000));
BigDecimal _p = priceD;
if (revenueYears.size() == size) {
_p = new BigDecimal(revenueYears.get(i));
}
BigDecimal divide = _p.multiply(new BigDecimal(integers.get(i))).divide(new BigDecimal(10000));
priceD = priceD.add(divide);
priceArrs[i] = priceD.setScale(0, RoundingMode.HALF_EVEN).longValue();
}
@@ -1142,17 +1151,21 @@ public class WxRentContractServiceImpl implements WxRentContractService {
}
}else if (wxRentContract.getAdjustRatioWay().equals(EnumRentContractAdjustRatioWay.FIX_RATIO.getCode())){
for (int i = 1; i < size; i++) {
BigDecimal _p = new BigDecimal(integers.get(i));
if (revenueYears.size() == size) {
_p = new BigDecimal(revenueYears.get(i)).multiply(_p);
}
if (wxRentContract.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode())) {
if (EnumMissTimeType.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())) {
priceArrs[i] = new BigDecimal(revenueYears.get(i)).multiply(new BigDecimal(integers.get(i))).multiply(new BigDecimal(12)).setScale(0, RoundingMode.HALF_EVEN).longValue();
priceArrs[i] = _p.multiply(new BigDecimal(12)).setScale(0, RoundingMode.HALF_EVEN).longValue();
continue;
}
if (EnumMissTimeType.PERIOD.getCode().equals(wxRentContract.getBusDiscountTime())) {
priceArrs[i] = new BigDecimal(revenueYears.get(i)).multiply(new BigDecimal(integers.get(i))).multiply(new BigDecimal(wxRentContract.getReceivePeriod())).setScale(0, RoundingMode.HALF_EVEN).longValue();
priceArrs[i] = _p.multiply(new BigDecimal(wxRentContract.getReceivePeriod())).setScale(0, RoundingMode.HALF_EVEN).longValue();
continue;
}
}
priceArrs[i] = new BigDecimal(revenueYears.get(i)).multiply(new BigDecimal(integers.get(i))).setScale(0, RoundingMode.HALF_EVEN).longValue();
priceArrs[i] = _p.setScale(0, RoundingMode.HALF_EVEN).longValue();
}
}
}


Загрузка…
Отмена
Сохранить