package cn.superdesk.uniorder.dto.param.invoice.customer;

import cn.superdesk.uniorder.common.enums.accounting.AccountingOrderTypeDimEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @Description: Java类作用描述
 * @Author: linjinyu
 * @CreateDate: 2021/7/12 上午11:17
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021/7/12 上午11:17
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Data
public class InvoiceApplyCustomerFocusUnifiedOpApplyForm implements Serializable {


//
//
//	//		orderGoodsObj
////		{
////			'goods_id' : "对映 接口 invoiceApplySelect 返回数据 .goods_id",
////			'order_id' : "对映 接口 invoiceApplySelect 返回数据 .id",
////			'accounting_order_id' : "对映 接口 invoiceApplySelect 返回数据 .accounting_order_id",
////		}

//	/**
//	 * 商品Id列表,','隔开 弃用 20200716 by linjinyu
//	 */
////		params.put("orderGoodIds", getString("orderGoodIds"));

	//		params.put("accountingOrderTypeDim", AccountingOrderTypeDimEnum.一般订单.getKey());
	@ApiModelProperty("对账单 类型:1-一般;2-积分;")
	private Integer accountingOrderTypeDim = AccountingOrderTypeDimEnum.一般订单.getKey();

	//		params.put("dimCreateBy", dimCreateBy);
//	@NonNull("对账单 创建维度:0-订单;1-商品;2-流水;")
	@ApiModelProperty("对账单 创建维度:0-订单;1-商品;2-流水;")
	private Integer dimCreateBy;

	//		params.put("orderGoodsObj", getString("orderGoodsObj"));
	@ApiModelProperty("orderGoodsObj")
//	private String orderGoodsObj;
	private List<InvoiceApplyOpCreateSelectedGoodsParams> orderGoodsObj;

	//		params.put("purchaseVirtId", getLong("purchaseVirtId"));
	@ApiModelProperty("添加一个 企业ID 20200716 by linjinyu 如果这个开票不是以企业维度开, 这个想法就是错的了")
	private Long purchaseVirtId;

	//		params.put("invoiceCompanyName", getString("invoiceCompanyName"));
	@ApiModelProperty("发票抬头")
	private String invoiceCompanyName;

	//		params.put("invoiceType", getString("invoiceType"));
	@ApiModelProperty("发票申请-发票信息-发票种类(关联表:表.invoice_type):1-增值税普票;2-增值税专票;")
	private Long invoiceType;

	//		params.put("remark", getString("remark"));
	@ApiModelProperty("备注")
	private String remark;

	//		params.put("taxRate", getString("taxRate"));
	@ApiModelProperty("税率Id")
	private String taxRate;

//      params.put("invoiceApplyAmount", getString("invoiceApplyAmount"));
//		params.put("freeAmount", getString("freeAmount"));
//		params.put("realAmount", getString("realAmount"));

	//	@NonNull("开票申请金额")
	@ApiModelProperty("开票申请金额: #公式= ∑(销售单价*商品数量)#-新添加 20210712-产品要求名为: 账单金额")
	private BigDecimal invoiceApplyAmount;
	//	@NonNull("减免金额")
	@ApiModelProperty("减免金额")
	private BigDecimal freeAmount;
	//	@NonNull("实际金额")
	@ApiModelProperty("实际金额(开票申请金额-减免金额)-产品要求名为: 开票申请金额")
	private BigDecimal realAmount;

}
