/**
 * @filename:/rderIncomeAssociation 2024-11-04
 * @project KJT v1.1.0 Copyright(c) 2024 wanglang Co. Ltd. All right reserved.
 */
package com.trade.service.finance.paymentcollection.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.trade.common.core.domain.BizBaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * @Description:订单与入账关联表实体类
 * @version: v1.1.0
 * @author: wanglang
 */
@Data
@EqualsAndHashCode(callSuper = false)
// @Accessors(chain = true)
public class OrderIncomeAssociation extends BizBaseEntity {

    private static final long serialVersionUID = 1730685328839L;
    @ApiModelProperty(name = "accountNumber", value = "收款银行账号")
    private String accountNumber;
    // B端贸易回款入账表id C端贸易回款出账表id
    @ApiModelProperty(name = "billingIncomeId", value = "入账表id")
    private Long billingIncomeId;
    @ApiModelProperty(name = "currency", value = "收款金额币种代码")
    private String currency = "USD";
    @ApiModelProperty(name = "customerUserId", value = "客户id")
    private Long customerUserId;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(name = "expectedPaymentDueDate", value = "预计付款日期")
    private LocalDate expectedPaymentDueDate;
    @ApiModelProperty(name = "fileIds", value = "文件id集合")
    private String fileIds;
    @ApiModelProperty(name = "orderInfo", value = "订单详情/订单id")
    private String orderInfo;
    @ApiModelProperty(name = "orderGoodsInfo", value = "订单商品id")
    private String orderGoodsInfo;
    @ApiModelProperty(name = "originalCurrency", value = "订单原有收款金额币种代码")
    private String originalCurrency = "USD";
    @ApiModelProperty(name = "originalReceivePayment", value = "订单原有收款金额/应收货款金额")
    private BigDecimal originalReceivePayment;
    @ApiModelProperty(name = "paymentType", value = "款项类型1出口退税款2贸易回款3预收货款4贸易融资款5技术服务费6出口退税服务费")
    private String paymentType;
    @ApiModelProperty(name = "receivePayment", value = "收款金额/实际收款金额")
    private BigDecimal receivePayment;
    @ApiModelProperty(name = "remark", value = "备注")
    private String remark;
    @ApiModelProperty(name = "saleContractId", value = "销售合同id")
    private Long saleContractId;
    @ApiModelProperty(name = "salesContractNo", value = "销售合同编号")
    private String salesContractNo;
    @ApiModelProperty(name = "voucherNo", value = "收款凭证号")
    private String voucherNo;
    @ApiModelProperty(name = "source", value = "来源1B端2C端")
    private Integer source;
    @ApiModelProperty(name = "businessBatchNumber", value = "业务批次号")
    private String businessBatchNumber;
    @ApiModelProperty(name = "promptReceivingCurrency", value = "提示收款币种")
    private String promptReceivingCurrency;
}
