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