package com.gunshi.project.xyt.util; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; public class DataHandleUtil { /** * 判断BigDecimal的小数部分是否为0 * @param bigDecimal * @return */ public static long BigDecimalIntegerPart(BigDecimal bigDecimal) { BigDecimal integerPart = bigDecimal.setScale(0, RoundingMode.UP); return integerPart.longValue(); } public static BigDecimal calcData(BigDecimal rz, Map map,List list) { //库容曲线中最近的一组水位 BigDecimal lowerRz = new BigDecimal(0); BigDecimal upperRz = new BigDecimal(0); //库容曲线中最近的一组水位对应的库容 BigDecimal lowerW = new BigDecimal(0); BigDecimal upperW = new BigDecimal(0); for(int i=0;i= 0 && rz.compareTo(list.get(i+1)) <= 0) { lowerRz = list.get(i); upperRz = list.get(i+1); lowerW = map.get(lowerRz); upperW = map.get(upperRz); break; } } BigDecimal diff = rz.subtract(lowerRz); return lowerW.add(diff.multiply(upperW.subtract(lowerW)).divide(upperRz.subtract(lowerRz),2,RoundingMode.UP)); } public static List tableData( List> list){ List list2 = new ArrayList<>(); Collection values; for (int i = 0; i < list.size(); i++) { values = list.get(i).values(); List objects = new ArrayList<>(); for (Object value : values) { objects.add(value == null ? "" : value.toString()); } list2.add(objects); } return list2; } public static List paginate(List list, int pageNumber, int pageSize) { if (list == null || list.isEmpty()) { return new ArrayList(); } int totalSize = list.size(); int fromIndex = (pageNumber - 1) * pageSize; if (fromIndex >= totalSize || fromIndex < 0) { return new ArrayList(); } int toIndex = fromIndex + pageSize; if (toIndex > totalSize) { toIndex = totalSize; } return list.subList(fromIndex, toIndex); } }