package com.wms.entity.app.request;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.wms.entity.app.dto.extend.TaskDetailInfo;
import com.wms.entity.table.TaskRecord;
import com.wms.utils.StringUtils;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 任务记录查询
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class TaskRecordQuery extends PageQuery {
    /**
     * 任务类型
     */
    @JsonProperty("taskType")
    private Integer taskType;
    /**
     * 载具号
     */
    @JsonProperty("vehicleId")
    private String vehicleId;
    /**
     * 物料编号
     */
    @JsonProperty("goodsId")
    private String goodsId;
    /**
     * 物料名称
     */
    @JsonProperty("goodsName")
    private String goodsName;

    /**
     * 根据客户端查询生成数据库查询条件
     * @return 数据库PO
     */
    public TaskRecord toTaskRecordPO() {
        TaskRecord recordPO = new TaskRecord();
        recordPO.setTaskType(taskType);// 任务类型
        recordPO.setVehicleId(vehicleId);// 载具号
        if (StringUtils.isNotEmpty(goodsId) || StringUtils.isNotEmpty(goodsName)) {// 包含物料详细信息
            TaskDetailInfo goodsRelatedPO = new TaskDetailInfo();
            goodsRelatedPO.setGoodsId(goodsId);
            goodsRelatedPO.setGoodsName(goodsName);
            recordPO.setGoodsRelated(goodsRelatedPO);
        }

        return recordPO;
    }
}
