list2group
#function list2group($list, $fieldId)
#set($group = $vs.util.newMap())
#if($vs.util.isBlankOne($list, $fieldId))
return $group
#end
#foreach($item in $list)
#set($fieldValue = $item.get($fieldId))
#set($list = $group.get($fieldValue))
#if (!$vs.util.isList($list))
#set($list = $vs.util.newList())
$group.put($fieldValue, $list)
#end
$list.add($item)
#end
return $group
#end
#if ($vs.util.isNull($vs.stock.data))
#set($vs.stock.data = $vs.util.newMap())
#end
#set($vs.stock.data.list2group = @list2group)
group
#function group($data, $fieldIds)
#set($collect = $vs.util.newList())
#if($vs.util.isBlankOne($data, $fieldIds))
return $collect
#end
#set($list2 = $vs.util.newList($data))
#foreach ($fieldId in $fieldIds)
#set($collect = $vs.util.newList())
#foreach ($list1 in $list2)
#set($group = @list2group($list1, $fieldId))
#set($list = $vs.util.map2list($group))
$collect.addAll($list)
#end
#set($list2 = $collect)
#end
return $collect
#end
#if ($vs.util.isNull($vs.stock.data))
#set($vs.stock.data = $vs.util.newMap())
#end
#set($vs.stock.data.group = @group)
list2chunk
#function list2chunk ($list, $pageSize)
#if ($vs.util.isList($list) && $vs.util.isNumeric($pageSize))
#set($result = $vs.util.newList())
#set($size = $list.size())
#set($start = 0)
#while ($size > $start)
#set($end = $start + $pageSize)
#if ($end > $size)
#set($end = $size)
#end
$result.add($list.subList($start, $end))
#set($start = $start + $pageSize)
#end
return $result
#end
#end
#if ($vs.util.isNull($vs.stock.data))
#set($vs.stock.data = $vs.util.newMap())
#end
#set($vs.stock.data.list2chunk = @list2chunk )