package org.dromara.work.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.work.domain.TpOrder;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 技术订单管理视图对象 tp_order
 *
 * @author Maosw
 * @date 2024-08-12
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TpOrder.class)
public class SkillOrderVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @ExcelProperty(value = "id")
    private Long id;

    /**
     * 订单编号
     */
    @ExcelProperty(value = "订单编号")
    private String orderId;

    /**
     * 订单客户
     */
    @ExcelProperty(value = "订单客户")
    private Long kid;

    /**
     * 订单风格
     */
    @ExcelProperty(value = "订单风格")
    private Long style;

    /**
     * 订单空间
     */
    @ExcelProperty(value = "订单空间")
    private String space;

    /**
     * 订单品质
     */
    @ExcelProperty(value = "订单品质")
    private Long quality;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 订单类型
     */
    @ExcelProperty(value = "订单类型")
    private Long type;

    /**
     * 状态(1录入订单，2上传小图，3上传大图，4已完成,5已评价)
     */
    @ExcelProperty(value = "状态(1录入订单，2上传小图，3上传大图，4已完成,5已评价)")
    private Long state;

    /**
     * 图纸数量
     */
    @ExcelProperty(value = "图纸数量")
    private Long num;

    /**
     * 接待客服
     */
    @ExcelProperty(value = "接待客服")
    private Long sid;


    /**
     * 接待客服名称
     */
    @ExcelProperty(value = "接待客服名称")
    private String sname;

    /**
     * 分图员名称
     */
    @ExcelProperty(value = "分图员名称")
    private String fname;

    /**
     * 表现师名称
     */
    @ExcelProperty(value = "表现师名称")
    private String bname;

    /**
     * 客户名称
     */
    @ExcelProperty(value = "客户名称")
    private String cname;

    /**
     * 分图人员
     */
    @ExcelProperty(value = "分图人员")
    private Long fid;

    /**
     * 表现师编号
     */
    @ExcelProperty(value = "表现师编号")
    private String bid;


    /**
     * 技术备注
     */
    @ExcelProperty(value = "技术备注")
    private String jsRemark;

    /**
     * 支付状态（1=待支付，2=尾款待支付，3=已支付）
     */
    @ExcelProperty(value = "支付状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1==待支付，2=尾款待支付，3=已支付")
    private Long payState;

    /**
     * 是否删除（1=未删除，2=已删除）
     */
    @ExcelProperty(value = "是否删除", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1==未删除，2=已删除")
    private Long isDel;

    /**
     * 下单时间
     */
    @ExcelProperty(value = "下单时间")
    private Date addTime;

    /**
     * 对图时间
     */
    @ExcelProperty(value = "对图时间")
    private Date dtTime;

    /**
     * 定金支付时间
     */
    @ExcelProperty(value = "定金支付时间")
    private Date djpTime;

    /**
     * 尾款支付时间
     */
    @ExcelProperty(value = "尾款支付时间")
    private Date endpTime;

    /**
     * 完成时间
     */
    @ExcelProperty(value = "完成时间")
    private Date finishTime;

    /**
     * 技术订单价格
     */
    @ExcelProperty(value = "技术订单价格")
    private BigDecimal jsPrice;

    /**
     * 技术已付款
     */
    @ExcelProperty(value = "技术已付款")
    private BigDecimal jsPayPrice;

}
