package com.fjhx.mes.entity.production.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fjhx.mes.entity.bom.vo.BomDetailVo;
import com.fjhx.mes.entity.production.po.ProductionTaskDetail;
import com.fjhx.mes.entity.work.po.WorkOrderProductionProcesses;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;
import java.util.List;

/**
 * 生产任务明细列表查询返回值实体
 *
 * @author 
 * @since 2023-05-17
 */
@Getter
@Setter
public class ProductionTaskDetailVo extends ProductionTaskDetail {

    /**
     * 产品名
     */
    private String productName;

    /**
     * 工序名称
     */
    private String productionProcessesName;
    /**
     * 下一工序名称
     */
    private String nextProductionProcessesName;

    /**
     * 累计耗时
     */
    private String cumulativeTime;

    /**
     * 流转人名称
     */
    private String circulationUserName;

    /**
     * 产品编号
     */
    private String code;

    /**
     * 工单id
     */
    private Long workOrderId;

    /**
     * 前一道工序名称
     */
    private String previousProcessesName;

    /**
     * 负责人名称
     */
    private String personLiableName;

    /**
     * 任务操作记录明细
     */
    private List<ProductionTaskDetailRecordVo> productionTaskDetailRecordList;

    /**
     * 产品规格
     */
    private String productSpec;

    /**
     * 工序列表
     */
    private List<WorkOrderProductionProcesses> productionProcessesList;

    /**
     * 物料明细
     */
    List<BomDetailVo> bomDetailList;

    //-------------------生产进度--------------------------
    /**
     * 销售合同号
     */
    private String contractCode;
    /**
     * 工单号
     */
    private String workOrderCode;
    /**
     * 生产计划号
     */
    private String productionPlanCode;
    /**
     * 生产任务号
     */
    private String productionTaskCode;
    /**
     * 产品编号
     */
    private String productCode;
    /**
     * 任务完成期限
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date dueDate;
    /**
     * 当前工序名称
     */
    private String productionProcessesNames;

    /**
     * 产品备注
     */
    private String productRemark;

    /**
     * 产品id
     */
    private Long productId;

    /**
     * 工单是否定制
     */
    private String isCustomized;

    /**
     * 客户id
     */
    private Long customerId;
    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 合同交货期限
     */
    private String contractDeliveryDate;

    /**
     * 前一道工序记录id
     */
    private Long previousProcessesRecordId;
}
