package doumeemes.dao.business.model;
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
import doumeemes.core.annotation.excel.ExcelColumn;
|
import doumeemes.core.model.LoginUserInfo;
|
import doumeemes.core.utils.Constants;
|
import doumeemes.dao.ext.bean.WTransferWarehouse;
|
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_transfer`")
|
public class WTransfer 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")
|
private Date updateTime;
|
|
@ApiModelProperty(value = "备注")
|
@ExcelColumn(name="备注")
|
private String remark;
|
|
@ApiModelProperty(value = "主组织编码(关联department表根组织)", example = "1")
|
@ExcelColumn(name="主组织编码(关联department表根组织)")
|
private Integer rootDepartId;
|
|
@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生产工单 2其他 3申请单", example = "1")
|
@ExcelColumn(name="来源单据类型 0销售订单 1生产工单 2其他 3申请单")
|
private Integer originType;
|
|
@ApiModelProperty(value = "来源单据号码")
|
@ExcelColumn(name="来源单据号码")
|
private String originCode;
|
|
@ApiModelProperty(value = "来源单据ID(根据ORIGIN_TYPE确定关联关系)", example = "1")
|
@ExcelColumn(name="来源单据ID(根据ORIGIN_TYPE确定关联关系)")
|
private String originId;
|
|
@ApiModelProperty(value = "单据摘要信息")
|
@ExcelColumn(name="单据摘要信息")
|
private String abstracts;
|
|
@ApiModelProperty(value = "转出公司级组织编码(关联department表)", example = "1")
|
@ExcelColumn(name="转出公司级组织编码(关联department表)")
|
private Integer outDepartId;
|
|
@ApiModelProperty(value = "转出仓管员编码(关联system_user表)", example = "1")
|
@ExcelColumn(name="转出仓管员编码(关联system_user表)")
|
private Integer outUserId;
|
|
@ApiModelProperty(value = "转出仓库编码", example = "1")
|
@ExcelColumn(name="转出仓库编码")
|
private Integer outWarehouseId;
|
|
@ApiModelProperty(value = "计划转出时间")
|
@ExcelColumn(name="计划转出时间")
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
private Date outPlandate;
|
|
@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 = "转入仓管员编码(关联system_user表)", example = "1")
|
@ExcelColumn(name="转入仓管员编码(关联system_user表)")
|
private Integer inUserId;
|
|
@ApiModelProperty(value = "转入仓库编码", example = "1")
|
@ExcelColumn(name="转入仓库编码")
|
private Integer inWarehouseId;
|
|
@ApiModelProperty(value = "计划转入时间")
|
@ExcelColumn(name="计划转入时间")
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
private Date inPlandate;
|
|
@ApiModelProperty(value = "实际转入时间")
|
@ExcelColumn(name="实际转入时间")
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
private Date inActdate;
|
|
@ApiModelProperty(value = "单据状态 0已计划、1已转出、2已转入、3已取消、4已退回", example = "1")
|
@ExcelColumn(name="单据状态 0已计划、1已转出、2已转入、3已取消、4已退回")
|
private Integer status;
|
|
@ApiModelProperty(value = "1车间领料,3机台备料,2计划领料,4完工入库,5车间转库,6外协领料转库,7外协完工转库,8成品入库,9成品转库,10让步放行入库,11让步放行转库,12客返品返修领料,13客返返修入库,14跨组织转库,15工序报废,16客退品返修领料,17客退品返修入库", example = "1")
|
@ExcelColumn(name="类型")
|
private Integer type;
|
|
|
@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 = "返修申请单号(关联backorder表)", example = "1")
|
@ExcelColumn(name="返修申请单号(关联backorder表)")
|
private Integer backorderId;
|
|
@ApiModelProperty(value = "物料信息")
|
@TableField(exist = false)
|
private List<WTransferDetail> wTransferDetailList;
|
|
@ApiModelProperty(value = "转出组织名称")
|
@TableField(exist = false)
|
private String outDepartName;
|
|
@ApiModelProperty(value = "转出仓库名称")
|
@TableField(exist = false)
|
private String outWarehouseName;
|
|
@ApiModelProperty(value = "转出仓管员名称")
|
@TableField(exist = false)
|
private String outUserName;
|
|
@ApiModelProperty(value = "出库单号")
|
@TableField(exist = false)
|
private String outBillCode;
|
|
@ApiModelProperty(value = "转入组织名称")
|
@TableField(exist = false)
|
private String inDepartName;
|
|
@ApiModelProperty(value = "转入仓库名称")
|
@TableField(exist = false)
|
private String inWarehouseName;
|
|
@ApiModelProperty(value = "转入仓管员名称")
|
@TableField(exist = false)
|
private String inUserName;
|
|
@ApiModelProperty(value = "入库单号")
|
@TableField(exist = false)
|
private String inBillCode;
|
|
@ApiModelProperty(value = "取消人员名称")
|
@TableField(exist = false)
|
private String cancelUserName;
|
|
@ApiModelProperty(value = "取消人员名称")
|
@TableField(exist = false)
|
private String cancelUserMobile;
|
|
|
@ApiModelProperty(value = "明细仓库信息")
|
@TableField(exist = false)
|
private List<WTransferWarehouse> wTransferWarehouseList;
|
|
|
public WOutbound toWOutbound(Integer billType){
|
WOutbound wOutbound = new WOutbound();
|
wOutbound.setDeleted(Constants.ZERO);
|
wOutbound.setCreateTime(new Date());
|
wOutbound.setRootDepartId(this.getRootDepartId());
|
wOutbound.setOrigin(Constants.ONE);
|
wOutbound.setPlanDate(this.getOutPlandate());
|
wOutbound.setValidDate(new Date());
|
wOutbound.setType(billType);
|
wOutbound.setBillType(this.getType());
|
wOutbound.setOriginType(3);
|
wOutbound.setOriginCode(this.getCode());
|
wOutbound.setOriginId(this.getId());
|
wOutbound.setDealDate(new Date());
|
wOutbound.setStatus(Constants.ONE);
|
return wOutbound;
|
}
|
|
public WHistory toWHistory(LoginUserInfo userInfo){
|
WHistory wHistory = new WHistory();
|
wHistory.setCreateTime(new Date());
|
wHistory.setDeleted(Constants.ZERO);
|
wHistory.setCreateUser(userInfo.getId());
|
wHistory.setRootDepartId(this.getRootDepartId());
|
wHistory.setDepartId(userInfo.getComDepartment().getId());
|
wHistory.setOrderType(Constants.ZERO);
|
wHistory.setOrderId(this.getId());
|
wHistory.setUserId(userInfo.getId());
|
if(this.getStatus()==Constants.ZERO){
|
wHistory.setTitle("转库单创建");
|
wHistory.setInfo("转库单创建");
|
}else if(this.getStatus()==Constants.ONE){
|
wHistory.setTitle("转库单出库完成");
|
wHistory.setInfo("转库单出库完成");
|
}else if(this.getStatus()==Constants.TWO){
|
wHistory.setTitle("转库单入库完成");
|
wHistory.setInfo("转库单入库完成");
|
}else{
|
wHistory.setTitle("转库单已取消");
|
wHistory.setInfo("转库单已取消");
|
}
|
return wHistory;
|
}
|
}
|