| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.util.*; |
| | | |
| | | |
| | |
| | | String num6 = jsonObject.getString("num6"); |
| | | Double num7 = jsonObject.getDouble("num7"); |
| | | Double num8 = jsonObject.getDouble("num8"); |
| | | Double num9 = jsonObject.getDouble("num9"); |
| | | |
| | | String[] split = num6.split(" - "); |
| | | Integer time1 = Integer.valueOf(split[0].replace(":", "")); |
| | |
| | | BigDecimal multiply = BigDecimal.ZERO; |
| | | BigDecimal yt = BigDecimal.ZERO; |
| | | if (d > num8) { |
| | | multiply = new BigDecimal(d).subtract(new BigDecimal(num8)).multiply(new BigDecimal(num9)); |
| | | |
| | | if(null != mileageList){ |
| | | List<MileageObject> list = new ArrayList<>(); |
| | | for (int i = 0; i < mileageList.size(); i++) { |
| | | MileageObject mileageObject = mileageList.getObject(i, MileageObject.class); |
| | | list.add(mileageObject); |
| | | } |
| | | //根据配置的里程倒序排序 |
| | | list.sort(new Comparator<MileageObject>() { |
| | | @Override |
| | | public int compare(MileageObject o1, MileageObject o2) { |
| | | return o1.getMileage().compareTo(o2.getMileage()) * -1; |
| | | } |
| | | }); |
| | | //计算每个阶段的增加费用 |
| | | Double last = new BigDecimal(d).setScale(0, RoundingMode.DOWN).doubleValue(); |
| | | for (int i = 0; i < list.size(); i++) { |
| | | Double mileage = list.get(i).getMileage(); |
| | | Double price = list.get(i).getPrice(); |
| | | if(d > mileage){ |
| | | if(last <= num2){ |
| | | break; |
| | | } |
| | | multiply = multiply.add((new BigDecimal(last).subtract(new BigDecimal(mileage))).multiply(new BigDecimal(price))); |
| | | last = mileage; |
| | | } |
| | | } |
| | | } |
| | | if (d > num4) { |
| | | yt = new BigDecimal(d).subtract(new BigDecimal(num4)).multiply(new BigDecimal(num5)); |
| | | } |
| | |
| | | BigDecimal multiply = BigDecimal.ZERO; |
| | | BigDecimal yt = BigDecimal.ZERO; |
| | | if (d > num2) { |
| | | List<MileageObject> list = new ArrayList<>(); |
| | | for (int i = 0; i < mileageList.size(); i++) { |
| | | MileageObject mileageObject = mileageList.getObject(i, MileageObject.class); |
| | | list.add(mileageObject); |
| | | } |
| | | //根据配置的里程倒序排序 |
| | | list.sort(new Comparator<MileageObject>() { |
| | | @Override |
| | | public int compare(MileageObject o1, MileageObject o2) { |
| | | return o1.getMileage().compareTo(o2.getMileage()) * -1; |
| | | if(null != mileageList){ |
| | | List<MileageObject> list = new ArrayList<>(); |
| | | for (int i = 0; i < mileageList.size(); i++) { |
| | | MileageObject mileageObject = mileageList.getObject(i, MileageObject.class); |
| | | list.add(mileageObject); |
| | | } |
| | | }); |
| | | //计算每个阶段的增加费用 |
| | | Double last = d; |
| | | for (int i = 0; i < list.size(); i++) { |
| | | Double mileage = list.get(i).getMileage(); |
| | | Double price = list.get(i).getPrice(); |
| | | if(d > mileage){ |
| | | multiply = new BigDecimal(last).subtract(new BigDecimal(mileage)).multiply(new BigDecimal(price)); |
| | | last = mileage; |
| | | //根据配置的里程倒序排序 |
| | | list.sort(new Comparator<MileageObject>() { |
| | | @Override |
| | | public int compare(MileageObject o1, MileageObject o2) { |
| | | return o1.getMileage().compareTo(o2.getMileage()) * -1; |
| | | } |
| | | }); |
| | | //计算每个阶段的增加费用 |
| | | Double last = new BigDecimal(d).setScale(0, RoundingMode.DOWN).doubleValue(); |
| | | for (int i = 0; i < list.size(); i++) { |
| | | Double mileage = list.get(i).getMileage(); |
| | | Double price = list.get(i).getPrice(); |
| | | if(d > mileage){ |
| | | if(last <= num2){ |
| | | break; |
| | | } |
| | | multiply = multiply.add((new BigDecimal(last).subtract(new BigDecimal(mileage))).multiply(new BigDecimal(price))); |
| | | last = mileage; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (d > num4) { |
| | | yt = new BigDecimal(d).subtract(new BigDecimal(num4)).multiply(new BigDecimal(num5)); |
| | | } |