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