package com.zbf.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zbf.common.annotation.Excel;
import com.zbf.common.core.domain.BaseEntity;

/**
 * 出库对象 t_ck_orders
 *
 * @author tony
 * @date 2024-06-24
 */
@Data
@TableName(resultMap = "com.zbf.system.mapper.TCkOrdersMapper.TCkOrdersResult")
@Getter
@Setter
public class TCkOrders extends BaseEntity {
private static final long serialVersionUID = 1L;

    /** 主键 */
    @TableId(value = "id", type = IdType.INPUT)
    @Excel(name = "出库单",needMerge = true)
    private String id;

    /** 出库单号 */
    /*@Excel(name = "出库单号",needMerge = true)*/
    private String orderId;

    @Excel(name = "来源单号",needMerge = true)
    private String deliveryId;

    /** 仓库编号 */

    private String storageId;
    /** 仓库编号 */
    @Excel(name = "仓库名称",needMerge = true)
    private String storageShortName;

    /** 库区编号 */

    private String storageAreaId;

    /** 出库类型 */
    @Excel(name = "出库类型",needMerge = true)
    private String ckType;

    /** 出库方式 */
    private String deliveryMethod;



    /** 审核人 */
    @Excel(name = "审核人",needMerge = true)
    private String auditMan;
    @Excel(name = "审核意见",needMerge = true)
    private String rejectReason;
    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss",needMerge = true)
    private Date auditDate;



    /** 确认状态 */
    @Excel(name = "确认状态",needMerge = true)
    private String confirmStatus;

    /** 操作人 */
    @Excel(name = "操作人",needMerge = true)
    private String recordPerson;

    /** 申请人 */
    @Excel(name = "申请人",needMerge = true)
    private String applicant;

    /** 审核状态 */
    @Excel(name = "审核状态",needMerge = true)
    private String isAudit;


    /** 钉钉实例ID */
    @Excel(name = "钉钉实例ID",needMerge = true)
    private String instanceId;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss",needMerge = true)
    private Date recordDate;

    /** 生产订单号 */
/*
    @Excel(name = "生产订单号",needMerge = true)
*/
    private String productId;

    /** 工位 */
    private String stationId;

    /** 任务号 */
    private String taskId;
    /** 状态 */
    @Excel(name = "状态",needMerge = true)
    private String status;
    /** 订单来源 */
    @Excel(name = "订单来源",needMerge = true)
    private String orderSource;

    /** 站台 */
    private String outStand;

    /** 订单类型 */
    @Excel(name = "订单类型",needMerge = true)
    private String orderType;
    /** 下单时间 */
//    @Excel(name = "下单时间",needMerge = true)
    private String orderDate;

    private Long deptId;

    @Excel(name = "申请部门",needMerge = true)
    private String deptName;

    private String ctl;

    private BigDecimal sum;

    private int isAvgExec;
    /** 订单类型 */
    @Excel(name = "设备CODE",needMerge = true)
    private String code;
    /** 订单类型 */
    @Excel(name = "设备信息",needMerge = true)
    private String errMsg;

    @Excel(name = "审核原因",needMerge = true)
    private String why;

    /** 出库物料明细信息 */
    private List<TCkOrderdetail> tckOrderdetailList;

    //审核人
    private String auditPerson1;
    private String auditPerson2;
    private String auditPerson3;

    @Override
public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderId", getOrderId())
            .append("storageId", getStorageId())
            .append("storageAreaId", getStorageAreaId())
            .append("ckType", getCkType())
            .append("deliveryMethod", getDeliveryMethod())
            .append("remark", getRemark())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("isAudit", getIsAudit())
            .append("auditMan", getAuditMan())
            .append("auditDate", getAuditDate())
            .append("orderSource", getOrderSource())
            .append("outStand", getOutStand())
            .append("orderType", getOrderType())
            .append("confirmStatus", getConfirmStatus())
            .append("recordPerson", getRecordPerson())
            .append("applicant", getApplicant())
            .append("recordDate", getRecordDate())
            .append("productId", getProductId())
            .append("stationId", getStationId())
            .append("taskId", getTaskId())
            .append("orderDate", getOrderDate())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .append("tckOrderdetailList", getTckOrderdetailList())
        .toString();
        }
}


















