package com.zy.common.model; 
 | 
  
 | 
import com.core.common.Cools; 
 | 
import com.zy.asrs.entity.OrderDetl; 
 | 
import com.zy.asrs.entity.OrderDetlPakin; 
 | 
import com.zy.asrs.entity.OrderDetlPakout; 
 | 
import lombok.Data; 
 | 
  
 | 
import java.util.List; 
 | 
import java.util.Set; 
 | 
  
 | 
/** 
 | 
 * Created by vincent on 2022/3/25 
 | 
 */ 
 | 
@Data 
 | 
public class DetlDto { 
 | 
  
 | 
    private String orderNo; 
 | 
  
 | 
    private String matnr; 
 | 
  
 | 
    private String maktx; 
 | 
  
 | 
    private String batch; 
 | 
  
 | 
    private String model; 
 | 
  
 | 
    private Double volume; 
 | 
  
 | 
    private String brand = ""; 
 | 
    private String standby1 = ""; 
 | 
    private String standby2 = ""; 
 | 
    private String standby3 = ""; 
 | 
  
 | 
    private Long lineNumber = 1L; 
 | 
  
 | 
    private String boxType1 = "1"; 
 | 
    private String boxType2 = "1"; 
 | 
    private String boxType3 = "1"; 
 | 
  
 | 
    private Double anfme; 
 | 
  
 | 
    public DetlDto() { 
 | 
    } 
 | 
  
 | 
    public DetlDto(String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3) { 
 | 
        this.matnr = matnr; 
 | 
        this.batch = batch; 
 | 
        this.brand = brand; 
 | 
        this.standby1 = standby1; 
 | 
        this.standby2 = standby2; 
 | 
        this.standby3 = standby3; 
 | 
        this.boxType1 = boxType1; 
 | 
        this.boxType2 = boxType2; 
 | 
        this.boxType3 = boxType3; 
 | 
    } 
 | 
  
 | 
    public DetlDto(String matnr, String batch, String brand, String standby1, String standby2, String standby3, Long lineNumber, String boxType1, String boxType2, String boxType3) { 
 | 
        this.matnr = matnr; 
 | 
        this.batch = batch; 
 | 
        this.brand = brand; 
 | 
        this.standby1 = standby1; 
 | 
        this.standby2 = standby2; 
 | 
        this.standby3 = standby3; 
 | 
        this.lineNumber = lineNumber; 
 | 
        this.boxType1 = boxType1; 
 | 
        this.boxType2 = boxType2; 
 | 
        this.boxType3 = boxType3; 
 | 
    } 
 | 
  
 | 
    public DetlDto(String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3, Double anfme) { 
 | 
        this.matnr = matnr; 
 | 
        this.batch = batch; 
 | 
        this.brand = brand; 
 | 
        this.standby1 = standby1; 
 | 
        this.standby2 = standby2; 
 | 
        this.standby3 = standby3; 
 | 
        this.boxType1 = boxType1; 
 | 
        this.boxType2 = boxType2; 
 | 
        this.boxType3 = boxType3; 
 | 
        this.anfme = anfme; 
 | 
    } 
 | 
  
 | 
    public DetlDto(String matnr, String batch, String brand, String standby1, String standby2, String standby3, Long lineNumber, String boxType1, String boxType2, String boxType3, Double anfme) { 
 | 
        this.matnr = matnr; 
 | 
        this.batch = batch; 
 | 
        this.brand = brand; 
 | 
        this.standby1 = standby1; 
 | 
        this.standby2 = standby2; 
 | 
        this.standby3 = standby3; 
 | 
        this.lineNumber = lineNumber; 
 | 
        this.boxType1 = boxType1; 
 | 
        this.boxType2 = boxType2; 
 | 
        this.boxType3 = boxType3; 
 | 
        this.anfme = anfme; 
 | 
    } 
 | 
  
 | 
//    public DetlDto(String orderNo, String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3, Double anfme) { 
 | 
//        this.orderNo = orderNo; 
 | 
//        this.matnr = matnr; 
 | 
//        this.batch = batch; 
 | 
//        this.brand = brand; 
 | 
//        this.standby1 = standby1; 
 | 
//        this.standby2 = standby2; 
 | 
//        this.standby3 = standby3; 
 | 
//        this.boxType1 = boxType1; 
 | 
//        this.boxType2 = boxType2; 
 | 
//        this.boxType3 = boxType3; 
 | 
//        this.anfme = anfme; 
 | 
//    } 
 | 
  
 | 
    public DetlDto(String orderNo, String matnr, String batch, String brand, String standby1, String standby2, String standby3, Long lineNumber, String boxType1, String boxType2, String boxType3, Double anfme) { 
 | 
        this.orderNo = orderNo; 
 | 
        this.matnr = matnr; 
 | 
        this.batch = batch; 
 | 
        this.brand = brand; 
 | 
        this.standby1 = standby1; 
 | 
        this.standby2 = standby2; 
 | 
        this.standby3 = standby3; 
 | 
        this.lineNumber = lineNumber; 
 | 
        this.boxType1 = boxType1; 
 | 
        this.boxType2 = boxType2; 
 | 
        this.boxType3 = boxType3; 
 | 
        this.anfme = anfme; 
 | 
    } 
 | 
  
 | 
    public static boolean hasList(Set<DetlDto> detlDtos, OrderDetl orderDetl) { 
 | 
        for (DetlDto dto : detlDtos) { 
 | 
//            if (Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(orderDetl.getBatch())) { 
 | 
//                if (dto.getMatnr().equals(orderDetl.getMatnr())) { 
 | 
//                    return true; 
 | 
//                } 
 | 
//            } else 
 | 
//            { 
 | 
//                if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(orderDetl.getBatch())) { 
 | 
//                    if (dto.getMatnr().equals(orderDetl.getMatnr()) && dto.getBatch().equals(orderDetl.getBatch())) { 
 | 
//                        return true; 
 | 
//                    } 
 | 
            if (dto.getMatnr().equals(orderDetl.getMatnr()) && Cools.eq(dto.getBatch(), orderDetl.getBatch()) 
 | 
                    && Cools.eq(dto.getBrand(), orderDetl.getBrand()) && Cools.eq(dto.getStandby1(), orderDetl.getStandby1()) 
 | 
                    && Cools.eq(dto.getStandby2(), orderDetl.getStandby2()) && Cools.eq(dto.getStandby3(), orderDetl.getStandby3()) 
 | 
                    && Cools.eq(dto.getBoxType1(), orderDetl.getBoxType1()) && Cools.eq(dto.getBoxType2(), orderDetl.getBoxType2()) 
 | 
                    && Cools.eq(dto.getBoxType3(), orderDetl.getBoxType3()) ) { 
 | 
                return true; 
 | 
            } 
 | 
//                } 
 | 
//            } 
 | 
        } 
 | 
        return false; 
 | 
    } 
 | 
  
 | 
    public static boolean hasListLineNumber(Set<DetlDto> detlDtos, OrderDetl orderDetl) { 
 | 
        for (DetlDto dto : detlDtos) { 
 | 
//            if (Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(orderDetl.getBatch())) { 
 | 
//                if (dto.getMatnr().equals(orderDetl.getMatnr())) { 
 | 
//                    return true; 
 | 
//                } 
 | 
//            } else 
 | 
//            { 
 | 
//                if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(orderDetl.getBatch())) { 
 | 
//                    if (dto.getMatnr().equals(orderDetl.getMatnr()) && dto.getBatch().equals(orderDetl.getBatch())) { 
 | 
//                        return true; 
 | 
//                    } 
 | 
            if (dto.getMatnr().equals(orderDetl.getMatnr()) && Cools.eq(dto.getBatch(), orderDetl.getBatch()) 
 | 
                    && Cools.eq(dto.getBrand(), orderDetl.getBrand()) && Cools.eq(dto.getStandby1(), orderDetl.getStandby1()) 
 | 
                    && Cools.eq(dto.getStandby2(), orderDetl.getStandby2()) && Cools.eq(dto.getStandby3(), orderDetl.getStandby3()) 
 | 
                    && dto.getLineNumber().equals(orderDetl.getLineNumber()) 
 | 
                    && Cools.eq(dto.getBoxType1(), orderDetl.getBoxType1()) && Cools.eq(dto.getBoxType2(), orderDetl.getBoxType2()) 
 | 
                    && Cools.eq(dto.getBoxType3(), orderDetl.getBoxType3()) ) { 
 | 
                return true; 
 | 
            } 
 | 
//                } 
 | 
//            } 
 | 
        } 
 | 
        return false; 
 | 
    } 
 | 
  
 | 
    public static boolean hasList(Set<DetlDto> detlDtos, OrderDetlPakin orderDetl) { 
 | 
        for (DetlDto dto : detlDtos) { 
 | 
            if (dto.getMatnr().equals(orderDetl.getMatnr()) && Cools.eq(dto.getBatch(), orderDetl.getBatch()) 
 | 
                    && Cools.eq(dto.getBrand(), orderDetl.getBrand()) && Cools.eq(dto.getStandby1(), orderDetl.getStandby1()) 
 | 
                    && Cools.eq(dto.getStandby2(), orderDetl.getStandby2()) && Cools.eq(dto.getStandby3(), orderDetl.getStandby3()) 
 | 
                    && Cools.eq(dto.getBoxType1(), orderDetl.getBoxType1()) && Cools.eq(dto.getBoxType2(), orderDetl.getBoxType2()) 
 | 
                    && Cools.eq(dto.getBoxType3(), orderDetl.getBoxType3()) ) { 
 | 
                return true; 
 | 
            } 
 | 
        } 
 | 
        return false; 
 | 
    } 
 | 
  
 | 
    public static boolean hasList(Set<DetlDto> detlDtos, OrderDetlPakout orderDetl) { 
 | 
        for (DetlDto dto : detlDtos) { 
 | 
            if (dto.getMatnr().equals(orderDetl.getMatnr()) && Cools.eq(dto.getBatch(), orderDetl.getBatch()) 
 | 
                    && Cools.eq(dto.getBrand(), orderDetl.getBrand()) && Cools.eq(dto.getStandby1(), orderDetl.getStandby1()) 
 | 
                    && Cools.eq(dto.getStandby2(), orderDetl.getStandby2()) && Cools.eq(dto.getStandby3(), orderDetl.getStandby3()) 
 | 
                    && Cools.eq(dto.getBoxType1(), orderDetl.getBoxType1()) && Cools.eq(dto.getBoxType2(), orderDetl.getBoxType2()) 
 | 
                    && Cools.eq(dto.getBoxType3(), orderDetl.getBoxType3()) ) { 
 | 
                return true; 
 | 
            } 
 | 
        } 
 | 
        return false; 
 | 
    } 
 | 
  
 | 
    public static boolean has(List<DetlDto> detlDtos, DetlDto detlDto) { 
 | 
        for (DetlDto dto : detlDtos) { 
 | 
            if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch()) 
 | 
                    && Cools.eq(dto.getBrand(), detlDto.getBrand()) && Cools.eq(dto.getStandby1(), detlDto.getStandby1()) 
 | 
                    && Cools.eq(dto.getStandby2(), detlDto.getStandby2()) && Cools.eq(dto.getStandby3(), detlDto.getStandby3()) 
 | 
                    && Cools.eq(dto.getBoxType1(), detlDto.getBoxType1()) && Cools.eq(dto.getBoxType2(), detlDto.getBoxType2()) 
 | 
                    && Cools.eq(dto.getBoxType3(), detlDto.getBoxType3()) ) { 
 | 
                return true; 
 | 
            } 
 | 
        } 
 | 
        return false; 
 | 
    } 
 | 
  
 | 
    public static boolean hasLineNumber(List<DetlDto> detlDtos, DetlDto detlDto) { 
 | 
        for (DetlDto dto : detlDtos) { 
 | 
            if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch()) 
 | 
                    && Cools.eq(dto.getBrand(), detlDto.getBrand()) && Cools.eq(dto.getStandby1(), detlDto.getStandby1()) 
 | 
                    && Cools.eq(dto.getStandby2(), detlDto.getStandby2()) && Cools.eq(dto.getStandby3(), detlDto.getStandby3()) 
 | 
                    && dto.getLineNumber().equals(detlDto.getLineNumber()) 
 | 
                    && Cools.eq(dto.getBoxType1(), detlDto.getBoxType1()) && Cools.eq(dto.getBoxType2(), detlDto.getBoxType2()) 
 | 
                    && Cools.eq(dto.getBoxType3(), detlDto.getBoxType3()) ) { 
 | 
                return true; 
 | 
            } 
 | 
        } 
 | 
        return false; 
 | 
    } 
 | 
  
 | 
    public static DetlDto find(List<DetlDto> detlDtos, String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3) { 
 | 
        if (Cools.isEmpty(matnr)) { 
 | 
            return null; 
 | 
        } 
 | 
        for (DetlDto detlDto : detlDtos) { 
 | 
            if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch()) 
 | 
                    && brand.equals(detlDto.getBrand()) && standby1.equals(detlDto.getStandby1()) 
 | 
                    && standby2.equals(detlDto.getStandby2()) && standby3.equals(detlDto.getStandby3()) 
 | 
                    && boxType1.equals(detlDto.getBoxType1()) && boxType2.equals(detlDto.getBoxType2()) 
 | 
                    && boxType3.equals(detlDto.getBoxType3())) { 
 | 
                return detlDto; 
 | 
            } 
 | 
        } 
 | 
        return null; 
 | 
    } 
 | 
  
 | 
    public static DetlDto findLineNumber(List<DetlDto> detlDtos, String matnr, String batch, String brand, String standby1, String standby2, String standby3,Long lineNumber, String boxType1, String boxType2, String boxType3) { 
 | 
        if (Cools.isEmpty(matnr)) { 
 | 
            return null; 
 | 
        } 
 | 
        for (DetlDto detlDto : detlDtos) { 
 | 
            if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch()) 
 | 
                    && brand.equals(detlDto.getBrand()) && standby1.equals(detlDto.getStandby1()) 
 | 
                    && standby2.equals(detlDto.getStandby2()) && standby3.equals(detlDto.getStandby3()) 
 | 
                    && lineNumber.equals(detlDto.getLineNumber()) 
 | 
                    && boxType1.equals(detlDto.getBoxType1()) && boxType2.equals(detlDto.getBoxType2()) 
 | 
                    && boxType3.equals(detlDto.getBoxType3())) { 
 | 
                return detlDto; 
 | 
            } 
 | 
        } 
 | 
        return null; 
 | 
    } 
 | 
  
 | 
    public static DetlDto findDto(List<DetlDto> detlDtos,DetlDto detlDtoB) { 
 | 
        if (Cools.isEmpty(detlDtoB)) { 
 | 
            return null; 
 | 
        } 
 | 
        for (DetlDto detlDto : detlDtos) { 
 | 
            if (detlDtoB.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(detlDtoB.getBatch(), detlDto.getBatch()) 
 | 
                    && detlDtoB.getBrand().equals(detlDto.getBrand()) && detlDtoB.getStandby1().equals(detlDto.getStandby1()) 
 | 
                    && detlDtoB.getStandby2().equals(detlDto.getStandby2()) && detlDtoB.getStandby3().equals(detlDto.getStandby3()) 
 | 
                    && detlDtoB.getBoxType1().equals(detlDto.getBoxType1()) && detlDtoB.getBoxType2().equals(detlDto.getBoxType2()) 
 | 
                    && detlDtoB.getBoxType3().equals(detlDto.getBoxType3())) { 
 | 
                return detlDto; 
 | 
            } 
 | 
        } 
 | 
        return null; 
 | 
    } 
 | 
  
 | 
} 
 |