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
196
197
198
199
200
201
202
203
204
205
206
207
208
package doumeemes.dao.business.model;
 
import com.baomidou.mybatisplus.annotation.TableField;
import doumeemes.core.annotation.excel.ExcelColumn;
import doumeemes.core.utils.Constants;
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.util.Date;
import java.util.List;
 
/**
 * 仓库管理-出入库单信息表
 * @author 江蹄蹄
 * @date 2022/04/20 09:37
 */
@Data
@ApiModel("仓库管理-出入库单信息表")
@TableName("`w_outbound`")
public class WOutbound 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 HH:mm:ss")
    private Date createTime;
 
    @ApiModelProperty(value = "更新人编码", example = "1")
    @ExcelColumn(name="更新人编码")
    private Integer updateUser;
 
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
 
    @ApiModelProperty(value = "备注")
    @ExcelColumn(name="备注")
    private String remark;
 
    @ApiModelProperty(value = "主组织编码(关联department表根组织)", example = "1")
    @ExcelColumn(name="主组织编码(关联department表根组织)")
    private Integer rootDepartId;
 
    @ApiModelProperty(value = "公司级组织编码(关联department表)", example = "1")
    @ExcelColumn(name="公司级组织编码(关联department表)")
    private Integer departId;
 
    @ApiModelProperty(value = "单据号码,系统自动编号")
    @ExcelColumn(name="单据号码,系统自动编号")
    private String code;
 
    @ApiModelProperty(value = "单据来源 0手工创建、1系统创建", example = "1")
    @ExcelColumn(name="单据来源 0手工创建、1系统创建")
    private Integer origin;
 
    @ApiModelProperty(value = "来源单据日期")
    @ExcelColumn(name="来源单据日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date validDate;
 
    @ApiModelProperty(value = "出入库类型 0出库单 1入库单", example = "1")
    @ExcelColumn(name="出入库类型 0出库单 1入库单")
    private Integer type;
 
    @ApiModelProperty(value = "来源单据类型 0采购订单、1生产工单、2销售订单、3转库单、4盘点单", example = "1")
    @ExcelColumn(name="来源单据类型 0采购订单、1生产工单、2销售订单、3转库单、4盘点单")
    private Integer originType;
 
    @ApiModelProperty(value = "来源单据号码")
    @ExcelColumn(name="来源单据号码")
    private String originCode;
 
    @ApiModelProperty(value = "来源单据ID(根据ORIGIN_TYPE确定关联关系)", example = "1")
    @ExcelColumn(name="来源单据ID(根据ORIGIN_TYPE确定关联关系)")
    private Integer originId;
 
    @ApiModelProperty(value = "单据摘要信息")
    @ExcelColumn(name="单据摘要信息")
    private String abstracts;
 
    @ApiModelProperty(value = "仓管员编码(关联system_user表)", example = "1")
    @ExcelColumn(name="仓管员编码(关联system_user表)")
    private Integer userId;
 
    @ApiModelProperty(value = "仓库编码(关联warehouse表)", example = "1")
    @ExcelColumn(name="仓库编码(关联warehouse表)")
    private Integer warehouseId;
 
    @ApiModelProperty(value = "处理时间")
    @ExcelColumn(name="处理时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date dealDate;
 
    @ApiModelProperty(value = "单据状态 0已生成、1已处理、2已取消", example = "1")
    @ExcelColumn(name="单据状态 0已生成、1已处理、2已取消")
    private Integer status;
 
    @ApiModelProperty(value = "计划出入库时间")
    @ExcelColumn(name="计划出入库时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date planDate;
 
    @ApiModelProperty(value = "工序编码(关联procedures表)", example = "1")
    @ExcelColumn(name="工序编码(关联procedures表)")
    private Integer procedureId;
 
    @ApiModelProperty(value = "取消人员编码(关联system_user表)", example = "1")
    @ExcelColumn(name="取消人员编码(关联system_user表)")
    private Integer cancelUserId;
 
    @ApiModelProperty(value = "取消时间")
    @ExcelColumn(name="取消时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date cancelDate;
 
    @ApiModelProperty(value = "取消备注")
    @ExcelColumn(name="取消备注")
    private String cancelInfo;
 
    @ApiModelProperty(value = "单据类型:1、车间领料;2、机台备料;3、 车间转库;4、完工入库;5、计划领料;6、外协领料  ;7、外协完工转库;8、成品入库  ;9、成品转库  ;10、让步放行入库 ;11、让步放行转库;12、客返返修领料;13、客返返修领料;14、客返返修领料;15、工单投料(出库),工单产出(入);16、销售出库;17、让步销售")
    @ExcelColumn(name="单据类型")
    private Integer billType;
 
    @ApiModelProperty(value = "待出库物料明细信息")
    @TableField(exist = false)
    private List<WOutboundDetail> wOutboundDetailsWait;
 
 
    @ApiModelProperty(value = "已出库物料明细信息")
    @TableField(exist = false)
    private List<WOutboundDetail> wOutboundDetailsOut;
 
    @ApiModelProperty(value = "仓库名称")
    @TableField(exist = false)
    private String warehouseName;
    @ApiModelProperty(value = "仓库编号")
    @TableField(exist = false)
    private String warehouseCode;
    @ApiModelProperty(value = "申领人名称")
    @TableField(exist = false)
    private String userName;
    @ApiModelProperty(value = "申领人部门")
    @TableField(exist = false)
    private String userDepartName;
    @ApiModelProperty(value = "创建人名称")
    @TableField(exist = false)
    private String createName;
    @ApiModelProperty(value = "最后操作人电话")
    @TableField(exist = false)
    private String updateMobile;
    @ApiModelProperty(value = "最后操作人电话")
    @TableField(exist = false)
    private String updateName;
    @ApiModelProperty(value = "工序名称")
    @TableField(exist = false)
    private String procedureName;
    @ApiModelProperty(value = "质量属性字典值编码",example = "0")
    @TableField(exist = false)
    private Integer warehouseQualityType;
    @ApiModelProperty(value = "明细集合",hidden = true)
    @TableField(exist = false)
    private List<WOutboundDetail> detailList;
 
 
    public WHistory toWHistory(Integer userId){
        WHistory wHistory = new WHistory();
        wHistory.setCreateTime(new Date());
        wHistory.setDeleted(Constants.ZERO);
        wHistory.setCreateUser(userId);
        wHistory.setRootDepartId(this.getRootDepartId());
        wHistory.setDepartId(this.getDepartId());
        wHistory.setOrderType(Constants.TWO);
        wHistory.setOrderId(this.getId());
        wHistory.setUserId(userId);
        if(this.getStatus()==Constants.ZERO){
            wHistory.setTitle("出入库单创建");
            wHistory.setInfo("出入库单创建");
        }else if(this.getStatus()==Constants.ONE){
            wHistory.setTitle("出入库单完成");
            wHistory.setInfo("出入库单完成");
        }else{
            wHistory.setTitle("出入库单已取消");
            wHistory.setInfo("出入库单已取消");
        }
        return wHistory;
    }
 
 
 
}