package com.storlead.sales.pojo.vo.customer;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.storlead.framework.mybatis.entity.SysBaseField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @program: sp-sales-platform
 * @description:
 * @author: chenkq
 * @create: 2024-07-04 10:01
 */
@Data
public class OrderMessageVO extends SysBaseField {

    /**
     * 订单标题、关联客户、关联商机、关联报价、订单总金额、付款币种、订单类型、签单日期、预计生产日期、预计发货日期、归属人员、新增时间、创建人员、转移时间、操作人员、转移类型
     * 、任务创建人、跟进时间、跟进内容、紧要程度、逾期时长
     */

    private Long id;

    @ApiModelProperty(value = "订单标题")
    private String title;

    @ApiModelProperty(value = "关联客户")
    private String customerName;

    @ApiModelProperty(value = "关联商机")
    private String businessName;

    @ApiModelProperty(value = "关联报价")
    private String quoteName;

//    @ApiModelProperty(value = "订单总金额")
//    private String totalAmount;

    @ApiModelProperty(value = "订单总金额")
    private BigDecimal totalOrderAmt;

    @ApiModelProperty(value = "付款币种")
    private String currencyName;

    @ApiModelProperty(value = "订单类型")
    private String orderTypeName;

    @ApiModelProperty(value = "签单日期")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private LocalDateTime signedDate;

    @ApiModelProperty(value = "预计生产日期")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private LocalDateTime expectedProductionDate;

    @ApiModelProperty(value = "预计发货日期")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private LocalDateTime expectedDeliveryDate;

    @ApiModelProperty(value = "归属人员")
    private String ownerByName;

    @ApiModelProperty(value = "创建人员")
    private String createByName;

    @ApiModelProperty(value = "删除时间")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime deleteTime;

    @ApiModelProperty(value = "删除人员")
    private String deleteByName;

    @ApiModelProperty(value = "变更时间")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime changeTime;

    @ApiModelProperty(value = "变更字段")
    private String changeField;

    @ApiModelProperty(value = "变更字段值")
    private String changeFieldValue;

    @ApiModelProperty(value = "变更字段原值")
    private String changeFieldOriginalValue;

    @ApiModelProperty(value = "操作时间")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime operateTime;

    @ApiModelProperty(value = "操作人")
    private String operateByName;

    @ApiModelProperty(value = "评论时间")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime commentTime;

    @ApiModelProperty(value = "评论内容")
    private String commentContent;

    @ApiModelProperty(value = "订单状态")
    private String orderStatusName;

    @ApiModelProperty(value = "转移时间")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime transferTime;

    @ApiModelProperty(value = "转移类型")
    private String transferType;

    @ApiModelProperty(value = "转移人")
    private String transferByName;

    @ApiModelProperty(value = "紧要程度")
    private String urgentLevelName;

    @ApiModelProperty(value = "逾期时长")
    private String overdueDuration;

}
