111
k94314517
2023-10-24 60b3a617617ae46ba72bc04cee50c67ddf30a76c
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
package doumeemes.dao.business.model;
 
import com.baomidou.mybatisplus.annotation.TableField;
import doumeemes.core.annotation.excel.ExcelColumn;
import doumeemes.core.utils.Constants;
import doumeemes.dao.ext.vo.WStockExtListVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
 
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
 
/**
 * 仓库管理-换库单信息表
 * @author 江蹄蹄
 * @date 2022/04/20 09:37
 */
@Data
@ApiModel("仓库管理-换库单信息表")
@TableName("`w_transfer_detail`")
public class WTransferDetail implements Serializable {
     @TableId(value = "id",type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
    @ExcelColumn(name="主键")
    private Integer id;
 
    @ApiModelProperty(value = "是否已删除 0未删除 1已删除", example = "1")
    @ExcelColumn(name="是否已删除 0未删除 1已删除")
    private Integer deleted;
 
    @ApiModelProperty(value = "创建人编码", example = "1")
    @ExcelColumn(name="创建人编码")
    private Integer createUser;
 
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createTime;
 
    @ApiModelProperty(value = "更新人编码", example = "1")
    @ExcelColumn(name="更新人编码")
    private Integer updateUser;
 
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date updateTime;
 
    @ApiModelProperty(value = "备注")
    @ExcelColumn(name="备注")
    private String remark;
 
    @ApiModelProperty(value = "主组织编码(关联department表根组织)", example = "1")
    @ExcelColumn(name="主组织编码(关联department表根组织)")
    private Integer rootDepartId;
 
    @ApiModelProperty(value = "转库单编码(关联w_transfer表)", example = "1")
    @ExcelColumn(name="转库单编码(关联w_transfer表)")
    private Integer transferId;
 
    @ApiModelProperty(value = "物料编码(关联material_distribute表)", example = "1")
    @ExcelColumn(name="物料编码(关联material_distribute表)")
    private Integer materialId;
 
    @ApiModelProperty(value = "单位编码(关联unit_distribute表)", example = "1")
    @ExcelColumn(name="单位编码(关联unit_distribute表)")
    private Integer unitId;
 
    @ApiModelProperty(value = "转出公司级组织编码(关联department表)", example = "1")
    @ExcelColumn(name="转出公司级组织编码(关联department表)")
    private Integer outDepartId;
 
    @ApiModelProperty(value = "转出仓库编码(关联warehouse表)", example = "1")
    @ExcelColumn(name="转出仓库编码(关联warehouse表)")
    private Integer outWarehouseId;
 
    @ApiModelProperty(value = "转出货位编码(关联warehouse_location表)", example = "1")
    @ExcelColumn(name="转出货位编码(关联warehouse_location表)")
    private Integer outLocationId;
 
    @ApiModelProperty(value = "批次号")
    @ExcelColumn(name="批次号")
    private String batch;
 
    @ApiModelProperty(value = "计划转出数量", example = "1")
    @ExcelColumn(name="计划转出数量")
    private BigDecimal outPlannum;
 
    @ApiModelProperty(value = "实际转出数量", example = "1")
    @ExcelColumn(name="实际转出数量")
    private BigDecimal outActnum;
 
    @ApiModelProperty(value = "实际转出时间")
    @ExcelColumn(name="实际转出时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date outActdate;
 
    @ApiModelProperty(value = "转入公司级组织编码(关联department表)", example = "1")
    @ExcelColumn(name="转入公司级组织编码(关联department表)")
    private Integer inDepartId;
 
    @ApiModelProperty(value = "转入仓库编码(关联warehouse表)", example = "1")
    @ExcelColumn(name="转入仓库编码(关联warehouse表)")
    private Integer inWarehouseId;
 
    @ApiModelProperty(value = "转入货位编码(关联warehouse_location表)", example = "1")
    @ExcelColumn(name="转入货位编码(关联warehouse_location表)")
    private Integer inLcoationId;
 
    @ApiModelProperty(value = "实际转入数量", example = "1")
    @ExcelColumn(name="实际转入数量")
    private BigDecimal inActnum;
 
    @ApiModelProperty(value = "实际转入时间")
    @ExcelColumn(name="实际转入时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date inActdate;
 
    @ApiModelProperty(value = "工序编码")
    private Integer procedureId;
 
    @ApiModelProperty(value = "工序名称")
    @TableField(exist = false)
    private String procedureName;
 
    @ApiModelProperty(value = "产品质量属性 0合格 1不良 2报废")
    private Integer qualityType;
 
 
    @ApiModelProperty(value = "物料名称")
    @TableField(exist = false)
    private String materialName;
 
    @ApiModelProperty(value = "物料编编号")
    @TableField(exist = false)
    private String materialCode;
 
    @ApiModelProperty(value = "单位描述")
    @TableField(exist = false)
    private String unitName;
 
    @ApiModelProperty(value = "规格")
    @TableField(exist = false)
    private String attr;
 
    @ApiModelProperty(value = "出库仓库名称")
    @TableField(exist = false)
    private String outWarehouseName;
 
    @ApiModelProperty(value = "入库仓库名称")
    @TableField(exist = false)
    private String inWarehouseName;
 
    @ApiModelProperty(value = "入库仓位名称")
    @TableField(exist = false)
    private String inLocationName;
 
    @ApiModelProperty(value = "出库仓位名称")
    @TableField(exist = false)
    private String outLocationName;
 
    @ApiModelProperty(value = "库存信息")
    @TableField(exist = false)
    private List<WStockExtListVO> wStockExtListVOList;
 
    public WOutboundDetail toWOutboundDetail(Integer billType){
        WOutboundDetail wOutboundDetail = new WOutboundDetail();
        wOutboundDetail.setDeleted(Constants.ZERO);
        wOutboundDetail.setCreateTime(new Date());
        wOutboundDetail.setMaterialId(this.getMaterialId());
        wOutboundDetail.setUnitId(this.getUnitId());
        wOutboundDetail.setBatch(this.getBatch());
        if(billType == Constants.ZERO){
            wOutboundDetail.setWarehouseId(this.getOutWarehouseId());
            wOutboundDetail.setLocationId(this.getOutLocationId());
            wOutboundDetail.setNum(this.getOutActnum());
            wOutboundDetail.setDoneNum(this.getOutActnum());
        }else{
            wOutboundDetail.setWarehouseId(this.getInWarehouseId());
            wOutboundDetail.setLocationId(this.getInLcoationId());
            wOutboundDetail.setNum(this.getInActnum());
            wOutboundDetail.setDoneNum(this.getInActnum());
        }
        wOutboundDetail.setStatus(Constants.ONE);
        return wOutboundDetail;
    }
 
}