部分代码:
// 分页
PageHelper.startPage(tracePageDTO.getPageNum(),tracePageDTO.getPageSize());
List<TraceGoodsVO> traceGoodsVOS = traceMapper.getTraceGoodsList(tracePageDTO);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Map<String,List<TraceGoodsVO>> map = new HashMap<>();
for (TraceGoodsVO traceGoodsVO :traceGoodsVOS){
// 将日期转换为年月日格式
String time = sdf.format(DateUtil.convert2Date(traceGoodsVO.getCreateTime(),"yyyy-MM-dd"));
// 判断当前值是否已经存在map中
if(map.containsKey(time)){
List<TraceGoodsVO> goodsVOS = map.get(time);
// 对象拷贝
TraceGoodsVO goodsVO = new TraceGoodsVO();
BeanUtils.copyProperties(traceGoodsVO,goodsVO);
goodsVOS.add(goodsVO);
map.put(time,goodsVOS);
}else {
List<TraceGoodsVO> newGoodsVOS = new ArrayList<TraceGoodsVO>();
TraceGoodsVO goodsVOTarget = new TraceGoodsVO();
BeanUtil.copyProperties(traceGoodsVO,goodsVOTarget);
newGoodsVOS.add(goodsVOTarget);
map.put(time,newGoodsVOS);
}
}
//取出所有的重复的数据值,存入到maps中
List<Map<String,List<TraceGoodsVO>>> maps = new ArrayList<>();
for (Map.Entry<String, List<TraceGoodsVO>> entry : map.entrySet()) {
Map<String,List<TraceGoodsVO>> map1 = new HashMap<>();
map1.put(entry.getKey(),entry.getValue());
maps.add(map1);
}
PageInfo<Map<String,List<TraceGoodsVO>>> info = new PageInfo<Map<String,List<TraceGoodsVO>>>(maps);
return PageUtils.getPageResult(info);