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 wOutboundDetailsWait; @ApiModelProperty(value = "已出库物料明细信息") @TableField(exist = false) private List 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 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; } }