//package com.prolog.eis.dto.buildwave;
//
//import lombok.Getter;
//import lombok.Setter;
//
//import java.util.ArrayList;
//import java.util.HashSet;
//import java.util.List;
//
//@Getter
//@Setter
//public class PObOrderGroupDto {
//    private String yunDanSPKey;
//    private HashSet<String> spIdHS = new HashSet<>();
//    private List<PObOrderDto> YunDanList = new ArrayList<>();
//
//    //距离时效最小的小时数（取该分组下所有订单最小值）
//    private int minPeriodHour;
//    //距离时效最大的小时数（取该分组下所有订单最大值）
//    private int maxPeriodHour;
//
//    //匹配数量
//    private int matchCount;
//    //不匹配数量
//    private int notMatchCount;
//
//    public void recomputePeriodHour() {
//        int minHour = 10000;
//        int maxHour = -10000;
//        for (PObOrderDto yd : this.getYunDanList()) {
//            if (yd.getPeriodHour() < minHour)
//                minHour = yd.getPeriodHour();
//
//            if (yd.getPeriodHour() > maxHour)
//                maxHour = yd.getPeriodHour();
//        }
//        this.setMinPeriodHour(minHour);
//        this.setMaxPeriodHour(maxHour);
//
//        //将订单按照时效近、体积小排序
//        this.YunDanList.sort((r1, r2) -> {
//            if (r1.getPeriodHour() < r2.getPeriodHour()) {
//                return -1;
//            } else if (r1.getPeriodHour() > r2.getPeriodHour()) {
//                return 1;
//            } else {
//                if (r1.getVolume().compareTo(r2.getVolume()) < 0)
//                    return -1;
//                else if (r1.getVolume().compareTo(r2.getVolume()) > 0)
//                    return 1;
//                else
//                    return 0;
//            }
//        });
//    }
//
//    public void initSPIdHS(PObOrderDto yd) {
//        this.yunDanSPKey = yd.getYunDanSPKey();
//        for (PObOrderDetailDto sp : yd.getDetailList()) {
//            if (!this.spIdHS.contains(sp.getItemNo()))
//                this.spIdHS.add(sp.getItemNo());
//        }
//    }
//}
