BoxResult.java 1.8 KB
package com.neotel.webbox.capacitynew.bean;

import com.neotel.webbox.capacity.bean.ReelItem;
import com.neotel.webbox.capacitynew.box.Box;
import lombok.Getter;
import lombok.Setter;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

@Getter
@Setter
public class BoxResult {

    private List<Box> boxList;

    private List<RequestItem> requestList = new ArrayList<>();

    public List<ReelItem> getReelItemList() {
        List<ReelItem> reelItemList = initRequestNum(requestList);
        if (boxList != null) {
            for (Box box : boxList) {
                for (ReelItem boxReelItem : box.getCapacity().values()) {
                    reelItemList = addBoxCapacityToResult(reelItemList, boxReelItem);
                }
            }
        }
        return reelItemList;
    }


    private List<ReelItem> addBoxCapacityToResult(List<ReelItem> reelItemList, ReelItem boxReelItem) {
        for (ReelItem totalReelItem : reelItemList) {
            if (totalReelItem.getSizeStr().equals(boxReelItem.getSizeStr())) {
                totalReelItem.addCapacity(boxReelItem.getCapacity());
                return reelItemList;
            }
        }
        //未找到,新添加一个
        reelItemList.add(boxReelItem);
        return reelItemList;
    }


    private List<ReelItem> initRequestNum(Collection<RequestItem> requestList) {
        List<ReelItem> reelItemList = new ArrayList<>();
        for (RequestItem reelRequestItem : requestList) {
            ReelItem reelItem = new ReelItem();
            reelItem.setW(reelRequestItem.getReelData().getReelSize());
            reelItem.setH(reelRequestItem.getReelData().getReelHeight());
            reelItem.setNeedNum(reelRequestItem.getNum());
            reelItemList.add(reelItem);
        }
        return reelItemList;
    }
}