package com.bonus.material.order.domain;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @Author：liang.chao
 * @Date：2024/11/26 - 10:28
 */
@Data
public class OrderInfoDto {
    @ApiModelProperty(value = "主键id")
    private Integer orderId;

    @ApiModelProperty(value = "订单装备套数")
    private Integer maNumber;

    @ApiModelProperty(value = "退租时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date rentEndTime;

    @ApiModelProperty(value = "天数")
    private String days;

    @ApiModelProperty(value = "父id（续租原订单）")
    private Integer pId;

    @ApiModelProperty(value = "订单编号")
    private String code;

    @ApiModelProperty(value = "订单日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date orderTime;

    @ApiModelProperty(value = "开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startTime;

    @ApiModelProperty(value = "结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTime;

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

    @ApiModelProperty(value = "出租方订单状态")
    private String orderStatus;

    @ApiModelProperty(value = "承租方订单状态")
    private String czOrderStatus;

    @ApiModelProperty(value = " 装备名称")
    private String deviceName;

    @ApiModelProperty(value = "下单地址")
    private String address;

    @ApiModelProperty(value = "买方承租方用户id")
    private Integer buyerId;
    @ApiModelProperty(value = "买方承租方用户名字")
    private String buyerName;
    @ApiModelProperty(value = "卖方出租方用户名字")
    private String sellerName;

    @ApiModelProperty(value = "买方承租方公司id")
    private Integer buyerCompany;
    @ApiModelProperty(value = "卖方出租方公司id")
    private Integer sellerCompany;

    @ApiModelProperty(value = "卖方出租方用户id")
    private String sellerId;

    @ApiModelProperty(value = "创建人")
    private Long creater;

    @ApiModelProperty(value = "创建日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "修改人")
    private Long updater;

    @ApiModelProperty(value = "修改日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    private List<OrderDetailDto> detailsList;

    @ApiModelProperty(value = "承租方公司名称")
    private String companyName;

    @ApiModelProperty(value = "出租方公司名称")
    private String czcompanyName;

    @ApiModelProperty(value = "出租方联系人")
    private String person;

    @ApiModelProperty(value = "出租方联系电话")
    private String personPhone;

    @ApiModelProperty(value = "承租方联系人")
    private String nickName;

    @ApiModelProperty(value = "承租方联系电话")
    private String phoneNumber;

    @ApiModelProperty(value = "租金区间字段")
    private BigDecimal lowerBound;

    private BigDecimal upperBound;

    private String ids;

    @ApiModelProperty(value = "true:出租方  false:承租方")
    private boolean flag;

    @ApiModelProperty(value = "是否已填写退租检修内容（0 否，1 是）")
    private Integer isLeaseContent;

    @ApiModelProperty(value = "是否部分退租")
    private boolean isPartBacked;

    private Integer companyId;

    private BigDecimal totalRepairScrapLossPrice;

    private BigDecimal totalRentalPrice;

    private BigDecimal totalRealPrice;

    /**
     * 订单总数
     */
    private Integer orderCount = 0;

    /**
     * 租赁中订单总数
     */
    private Integer leaseOrderCount = 0;

    /**
     * 完成订单总数
     */
    private Integer completeOrderCount = 0;

    /**
     * 订单号查询
     */
    private String keyWord;

    private String deviceNames;

    @ApiModelProperty(value = "接单人")
    private String receivingUser;

    @ApiModelProperty(value = "接单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String receivingTime;

    @ApiModelProperty(value = "出库人")
    private String preOutboundUser;

    @ApiModelProperty(value = "出库时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String preOutboundTime;


    private String maIds;

    private String devType;

    @ApiModelProperty(value = "需求单位")
    private String useUnit;

    @ApiModelProperty(value = "项目编号")
    private String proCode;

    @ApiModelProperty(value = "使用项目")
    private String proName;

    @ApiModelProperty(value = "项目类型")
    private String proType;

    @ApiModelProperty(value = "电压等级")
    private String voltageLevel;

    @ApiModelProperty(value = "省")
    private String proProvince;

    @ApiModelProperty(value = "市")
    private String proCity;

    @ApiModelProperty(value = "区/县")
    private String proCounty;

    private String taskStatus;

    @ApiModelProperty(value = "买方所属公司")
    private Long buyerCompanyId;


    private String pageType;

}
