@
zifangsky 随便给你看下插入小计的位置的代码
public void getInsertPosition(int levelFlag, List<List<Integer>> groupOrderInfoNumCollection,
List<OrderInfo> orderInfoList, int len, List<List<Integer>> nodeIndexList, List<List<Integer>> nestOrderInfoRepeatCollection)
{
int insertPos = 0;
int position = 0;
int[] listLen = new int[levelFlag];
if (levelFlag >= 1)
{
int[] index = new int[levelFlag];
for (int i = 0; i < levelFlag - 1; i++)
{
index[i] = groupOrderInfoNumCollection.get(i + 1).get(0);
}
for (Integer integer : groupOrderInfoNumCollection.get(0))
{
position += len * integer;
orderInfoList.remove(position);
insertPos += integer;
nodeIndexList.get(0).add(insertPos);
if(integer == 1){
nestOrderInfoRepeatCollection.get(0).add(insertPos);
}
for (int i = 0; i < levelFlag - 1; i++)
{
if (insertPos == index[i])
{
nodeIndexList.get(i + 1).add(insertPos);
orderInfoList.remove(insertPos * len);
listLen[i]++;
if (listLen[i] < groupOrderInfoNumCollection.get(i + 1).size())
{
index[i] += groupOrderInfoNumCollection.get(i + 1).get(listLen[i]);
}
}
}
}
if(orderInfoList.size() > 1){
orderInfoList.remove(orderInfoList.size() - 1);
}
}
}