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