package cn.superdesk.uniorder.dto.vo.accounting.unified.customer.notyet;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @Description: Java类作用描述
 * @Author: linjinyu
 * @CreateDate: 2021/4/1 下午12:16
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021/4/1 下午12:16
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Data
public class CustomerUnAccountingDimGoodsVo implements Serializable {

	// 非mapper产生 start
	private Long   accountingOrderId;
	private String accountingOrderSn;
	// 非mapper产生 end


	// uog.id as unified_order_goods_id,
	private Long   unifiedOrderGoodsId;
	// uo.id as unified_order_id,
	private Long   unifiedOrderId;
	private String orderSn;

	/****************************************** 订单表 start ******************************************/
	private BigDecimal orderAmount;
	private BigDecimal orderCostAmount;
	private BigDecimal orderTransportAmount;

	private Long   outOrgId;
	private String outOrgName;

	private Long   purchaseVirtId;
	private String purchaseVirtName;

	@ApiModelProperty("下单人Id")
	private Long   purchaseUserId;
	@ApiModelProperty("下单人姓名")
	private String purchaseUserName;
	@ApiModelProperty("下单人联系电话")
	private String purchasePhone;

	// uo.express_sn
	private String expressSn;
	// uo.express
	private String express;
	// uo.express_company
	private String expressCompany;

	private Integer orderState;
	private String  orderStateName;

	private Integer payType;
	private String  payTypeName;
	private Integer payState;
	private String  payStateName;

	private Long   saleId;
	private String saleName;

	@ApiModelProperty("弃用 改用定义 mark by linjinyu at 20220624")
	private String serviceName;
	private String serviceNo;
	private String serviceNoName;


	@ApiModelProperty("收货人Id 必须")
	private Long   recUserId;
	@ApiModelProperty("收货人姓名 必须")
	private String recUserName;
	@ApiModelProperty("收货人手机号 必须")
	private String recUserPhone;
	@ApiModelProperty("收货人地址 必须")
	private String recAddress;


	private Date updateTime;
	@ApiModelProperty("订单 下单时间")
	private Date createTime;
	@ApiModelProperty("订单 支付时间")
	private Date payTime;
	@ApiModelProperty("订单 发货时间")
	private Date sendTime;
	@ApiModelProperty("订单 完成时间")
	private Date finishTime;

	// uo.remarks
	private String remarks;

	/****************************************** 订单表   end ******************************************/

	/****************************************** 订单商品表 start ******************************************/

	private Long   goodsId;
	private Long   outSnapshotOrderGoodsId;
	private String goodsName;
	private String goodsAlias;

	private Long   cateIdLv1;
	private String cateNameLv1;
	private Long   cateIdLv2;
	private String cateNameLv2;
	private Long   cateIdLv3;
	private String cateNameLv3;

	private String selfOption;
	private String unit;


	//	<!-- 发票申请状态 是否已申请 0-未申请;1-已申请; -->
//	<!--		uoc.invoice_apply_status,-->
//	<result column="invoice_apply_status" property="invoiceApplyStatus" jdbcType="INTEGER"/>
//    private Integer invoiceApplyStatus;
//    private String  invoiceApplyStatusName;
	//	<!-- 开票状态 是否已登记开票 0-未登记;1-已登记; -->
//	<!--		uoc.invoice_make_status,-->
//	<result column="invoice_make_status" property="invoiceMakeStatus" jdbcType="INTEGER"/>
//    private Integer invoiceMakeStatus;
//    private String  invoiceMakeStatusName;
	//	<!-- 回款状态 是否回款 0-未回款;1-已回款; -->
//	<!--		uoc.back_status,-->
//	<result column="back_status" property="backStatus" jdbcType="INTEGER"/>
//    private Integer backStatus;
//    private String  backStatusName;


	// uog.price,
	private BigDecimal price;
	// uog.cost_price,
	private BigDecimal costPrice;
	// uog.quantity,
	private Integer    quantity;
	private BigDecimal goodsAmount;
	private BigDecimal goodsCostAmount;


	@ApiModelProperty("财务编码")
	private String     fiscalCode;
	@ApiModelProperty("老版税率 税率 取值范围(0-100)% eg : 16 代表 16%")
	private BigDecimal taxRate;
	@ApiModelProperty("老版税率 编码")
	private String     taxCode;

	@ApiModelProperty("商户税率 税率")
	private BigDecimal merchTaxRate;
	@ApiModelProperty("商户税率 编码")
	private String     merchTaxCode;
	@ApiModelProperty("商户税率 ID")
	private Long       merchTaxId;

	@ApiModelProperty("平台税率 税率")
	private BigDecimal operationTaxRate;
	@ApiModelProperty("平台税率 编码")
	private String     operationTaxCode;
	@ApiModelProperty("平台税率 ID")
	private Long       operationTaxId;


	// uoc.accounting_state_customer 客户对账:1-已对账;2-未对账
	private Integer accountingStateCustomer;
	private String  accountingStateCustomerName;
	// uoc.accounting_state_supplier 供应商对账:1-已对账;2-未对账
	private Integer accountingStateSupplier;
	private String  accountingStateSupplierName;
}
