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