自动化立体仓库 - WMS系统
zwl
5 天以前 57f9a55581343a805cd589bbdc00e4d28a28aa97
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
138
139
140
141
142
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 {
 
    /**
     * 1:正常   0:关闭
     */
    private Integer sts;
 
    /**
     * 行号
     */
    private String model;
 
    /**
     * 物料编码
     */
    private String matnr;
 
    /**
     * 物料编码
     */
    private String maktx;
 
    /**
     * 特殊说明
     */
    private String batch;
 
    /**
     * 完成数量
     */
    private Double anfme;
 
    /**
     * 规格
     */
    private String specs;
 
    /**
     * 立库源货位(默认1-1)
     */
    private String sourceStaNo = "1-1";
 
    /**
     * 目标货位
     */
    private String locNo = "2-2";
 
    /**
     * 行主键
     */
    private String memo;
 
    private String orderNo;
 
 
    private Double units;
 
    public DetlDto() {
    }
 
    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, Double units) {
        this.matnr = matnr;
        this.batch = batch;
        this.anfme = anfme;
        this.units = units;
    }
 
    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())) {
                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;
    }
 
}