|  |  |  | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private String matnr; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private String batch; | 
|---|
|  |  |  | private String batch = ""; | 
|---|
|  |  |  | 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, Double anfme) { | 
|---|
|  |  |  | 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 orderNo, String matnr, String batch, Double 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|