public Map<String, Object> selectCompareAch(int start, int limit, String order, String sort, String conditions, String searchStr,String price) throws Exception { List<Compare> list = compareDao.selectCompareAch(start, limit, order, sort, conditions, searchStr,price); if(list!=null && list.size() > 0 ) { int t=0; Double sum=Double.valueOf(list.get(t).getPrice()); // if(list != null && list.size()>1){ for(int i=1; i<list.size(); i++){ Compare c1 = list.get(t); Compare c2 = list.get(i); if (c1.getModelName().equals(c2.getModelName())){ sum += Double.valueOf(list.get(i).getPrice()); } else { Double avg = Double.valueOf(sum)/(i-t); for( int j=t; j<i; j++){ list.get(j).setPrice(String.valueOf(avg)); } t=i; sum=Double.valueOf(c2.getPrice()); } } Double avg = Double.valueOf(sum)/(list.size()-t);//合并 for( int j=t; j<list.size(); j++){ list.get(j).setPrice(String.valueOf(avg)); } // } } int count = compareDao.countCompareAch(start, limit, order, sort, conditions, searchStr,price); Map<String, Object> map = new HashMap<String, Object>(); map.put("rows", list); map.put("total", count); return map; }
public Map<String, Object> selectCompareAch(int start, int limit,String order, String sort, String conditions, String searchStr,String price)throws Exception {List<Compare> list = compareDao.selectCompareAch(start, limit, order, sort, conditions, searchStr,price);if(list!=null && list.size() > 0 ) {int t=0;
Double sum=Double.valueOf(list.get(t).getPrice());//if(list != null && list.size()>1){for(int i=1; i<list.size(); i++){Compare c1 = list.get(t);Compare c2 = list.get(i);if (c1.getModelName().equals(c2.getModelName())){sum += Double.valueOf(list.get(i).getPrice());} else {Double avg = Double.valueOf(sum)/(i-t);for( int j=t; j<i; j++){list.get(j).setPrice(String.valueOf(avg));}t=i;sum=Double.valueOf(c2.getPrice());}}Double avg = Double.valueOf(sum)/(list.size()-t);for( int j=t; j<list.size(); j++){list.get(j).setPrice(String.valueOf(avg));}//}}int count = compareDao.countCompareAch(start, limit, order, sort, conditions, searchStr,price);//List<Compare> l = new ArrayList<Compare>();//int index=0;//for (int k=0; k<list.size(); k++){//String avg = list.get(k).getPrice();//if (Integer.valueOf(avg) <= Integer.valueOf(price)){//l.add(list.get(k));//index++;//}}Map<String, Object> map = new HashMap<String, Object>();map.put("rows", list);map.put("total", count);return map;}