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