自动化立体仓库 - WMS系统
zc
1 天以前 48a341f0b97479b449cbac9f53faf56f08a5c7cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
package com.zy.common.model;
 
import com.core.common.Cools;
import com.zy.asrs.entity.OrderDetl;
import lombok.Data;
 
import java.util.List;
import java.util.Set;
 
/**
 * Created by vincent on 2022/3/25
 */
@Data
public class DetlDto {
 
    private String matnr; //物料编码
    private String maktx; //物料名称
    private String batch; //批次
    private Double anfme; //数量
    private String orderNo; //订单号
    private String fromOrderNo; //来源单号
    private String memo; //备注
    private String mark;
    private String customer = ""; //客户名称
    private String suppName = ""; //供应商
    private String temp1 = "";
    private String temp2 = "";
    private String temp3 = "";
    private String temp4 = "";
    private Double actulQty;
    private Integer danger;
    private Integer quality;
    private String batchNum;
    private String code;
    private String productionCode;
 
    public DetlDto() {
    }
 
    public DetlDto(String matnr, String batch, Double anfme, String fromOrderNo, String mark, String customer, String suppName, String temp1, String temp2, String temp3, String temp4) {
        this.matnr = matnr;
        this.batch = batch;
        this.anfme = anfme;
        this.fromOrderNo = fromOrderNo;
        this.mark = mark;
        this.customer = customer;
        this.suppName = suppName;
        this.temp1 = temp1;
        this.temp2 = temp2;
        this.temp3 = temp3;
        this.temp4 = temp4;
    }
 
    public DetlDto(String matnr, Double anfme) {
        this.matnr = matnr;
        this.anfme = anfme;
    }
 
    public DetlDto(String matnr, String batch) {
        this.matnr = matnr;
        this.batch = batch;
    }
 
    public DetlDto(String matnr, String batch, Double anfme) {
        this.matnr = matnr;
        this.batch = batch;
        this.anfme = anfme;
    }
 
    public DetlDto(String matnr, String batch, Double anfme, String mark) {
        this.matnr = matnr;
        this.batch = batch;
        this.anfme = anfme;
        this.mark = mark;
    }
 
    public DetlDto(String orderNo, String matnr, String batch, Double anfme) {
        this.orderNo = orderNo;
        this.matnr = matnr;
        this.batch = batch;
        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;
                    }
                }
            }
        }
        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()) && dto.getFromOrderNo().equals(detlDto.getFromOrderNo())) {
                return true;
            }
        }
        return false;
    }
 
    public static DetlDto find(List<DetlDto> detlDtos, String matnr, String batch) {
        if (Cools.isEmpty(matnr)) {
            return null;
        }
        for (DetlDto detlDto : detlDtos) {
            if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch())) {
                return detlDto;
            }
        }
        return null;
    }
 
    public static DetlDto find(List<DetlDto> detlDtos, String matnr, String batch, String threeCode) {
        if (Cools.isEmpty(matnr)) {
            return null;
        }
        if (Cools.isEmpty(threeCode)) {
            return null;
        }
        for (DetlDto detlDto : detlDtos) {
            if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch()) && threeCode.equals(detlDto.getFromOrderNo())) {
                return detlDto;
            }
        }
        return null;
    }
 
}