BoxResult.java 1.7 KB
package com.neotel.webbox.capacity.bean;

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

import java.util.*;

@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;
    }
}