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.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;
|
import java.util.Objects;
|
|
/**
|
* 仓库管理-出入库单明细表
|
* @author 江蹄蹄
|
* @date 2022/04/20 09:37
|
*/
|
@Data
|
@ApiModel("仓库管理-出入库单明细表")
|
@TableName("`w_outbound_detail`")
|
public class WOutboundDetail 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_outbound表)", example = "1")
|
@ExcelColumn(name="出入库单编码(关联w_outbound表)")
|
private Integer outboundId;
|
|
@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 = "批次号")
|
@ExcelColumn(name="批次号")
|
private String batch;
|
|
@ApiModelProperty(value = "数量", example = "1")
|
@ExcelColumn(name="数量")
|
private BigDecimal num;
|
|
@ApiModelProperty(value = "处理完成日期")
|
@ExcelColumn(name="处理完成日期")
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
private Date doneDate;
|
|
@ApiModelProperty(value = "已处理数量", example = "1")
|
@ExcelColumn(name="已处理数量")
|
private BigDecimal doneNum;
|
|
@ApiModelProperty(value = "仓库编码(关联warehouse表)", example = "1")
|
@ExcelColumn(name="仓库编码(关联warehouse表)")
|
private Integer warehouseId;
|
|
@ApiModelProperty(value = "仓位编码(关联warehouse表)", example = "1")
|
@ExcelColumn(name="仓位编码(关联warehouse表)")
|
private Integer locationId;
|
|
@ApiModelProperty(value = "处理状态 0待处理 1已处理", example = "1")
|
@ExcelColumn(name="处理状态 0待处理 1已处理")
|
private Integer status;
|
|
|
@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 locationName;
|
|
@ApiModelProperty(value = "库存信息")
|
@TableField(exist = false)
|
private List<WStockExtListVO> wStockExtListVOList;
|
|
@ApiModelProperty(value = "备料入库业务信息 入库记录数据")
|
@TableField(exist = false)
|
private List<WOutboundRecord> wOutboundRecordInList;
|
|
|
public WOutboundRecord toRecord(Appliances appliances,LoginUserInfo loginUserInfo){
|
WOutboundRecord record = new WOutboundRecord();
|
record.setCreateTime(new Date());
|
record.setCreateUser(loginUserInfo.getId());
|
record.setRootDepartId(this.getRootDepartId());
|
record.setOutboundId(this.getOutboundId());
|
record.setDetailId(this.getId());
|
record.setMaterialId(this.getMaterialId());
|
record.setUnitId(this.getUnitId());
|
record.setBatch(appliances.getBatch());
|
record.setNum(appliances.getNum());
|
record.setAppliancesId(appliances.getId());
|
record.setDeleted(Constants.ZERO);
|
record.setWarehouseId(this.getWarehouseId());
|
record.setOutboundId(this.getOutboundId());
|
record.setQualityType(appliances.getQualityType());
|
record.setProcedureId(this.getProcedureId());
|
if(!Objects.isNull(this.getLocationId())){
|
record.setLocationId(this.getLocationId());
|
}
|
return record;
|
}
|
|
|
public WOutboundRecord toRecord(LoginUserInfo loginUserInfo){
|
WOutboundRecord record = new WOutboundRecord();
|
record.setCreateTime(new Date());
|
record.setCreateUser(loginUserInfo.getId());
|
record.setRootDepartId(this.getRootDepartId());
|
record.setOutboundId(this.getOutboundId());
|
record.setDetailId(this.getId());
|
record.setMaterialId(this.getMaterialId());
|
record.setUnitId(this.getUnitId());
|
record.setBatch(this.getBatch());
|
record.setNum(this.getDoneNum());
|
record.setDeleted(Constants.ZERO);
|
record.setWarehouseId(this.getWarehouseId());
|
record.setOutboundId(this.getOutboundId());
|
record.setQualityType(this.getQualityType());
|
record.setProcedureId(this.getProcedureId());
|
if(!Objects.isNull(this.getLocationId())){
|
record.setLocationId(this.getLocationId());
|
}
|
return record;
|
}
|
|
|
}
|