package com.style24.persistence.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.style24.persistence.TscBaseDomain;

import lombok.Data;

/**
 * 상품정산 Domain
 *
 * @author gagamel
 * @since 2021. 7. 5
 */
@SuppressWarnings("serial")
@Data
public class GoodsSettle extends TscBaseDomain {

	private Integer ordNo;				// 주문번호
	private Integer ordDtlNo;			// 주문상세번호
	private String mallGb;				// 몰구분
	private String mallGbNm;			// 몰구분명
	private String extmallOrderId;		// 제휴몰주문번호
	private String extmallId;			// 제휴몰ID
	private String extmallNm;			// 제휴몰명
	private String supplyCompCd;		// 공급업체코드
	private String supplyCompNm;		// 공급업체명
	private String distributionGb;		// 유통구분
	private String distributionGbNm;	// 유통구분명
	private String settleDayNm;			// 정산주기명
	private String ordDt;				// 주문일시
	private String settleGb;			// 정산구분
	private String settleGbNm;			// 정산구분명
	private String occurDt;				// 발생(출고/회수)일시
	private String goodsCd;				// 상품코드
	private String goodsNm;				// 상품명
	private String brandCd;				// 브랜드코드
	private String brandEnm;			// 브랜드영문명
	private String mdId;				// 담당MD아이디
	private String mdNm;				// 담당MD명
	private String itemCd;				// 단품코드
	private String optCd1;				// 옵션코드1
	private String optCd2;				// 옵션코드2
	private int sellPrice;				// 판매가
	private int sellQty;				// 판매수량
	private double sellAmt;				// 판매금액(CPN1_DC_AMT가 빠진 금액이 들어가 있음)
	private double cpn1DcAmt;			// 즉시사용쿠폰금액
	private double goodsCpnDcAmt;		// 상품쿠폰사용금액
	private double cartCpnDcAmt;		// 주문서쿠폰사용금액
	private double pntDcAmt;			// 포인트사용금액
	private double tmtbDcAmt;			// 다다익선할인금액
	private double gfcdUseAmt;			// 상품권사용금액
	private double selfCpnDcAmt;		// 자사쿠폰분담액
	private double supplyCompCpnDcAmt;	// 입점쿠폰분담액
	private double realSellPrice;		// 실판매가
	private double realSellAmt;			// 실판매금액(=상품총액. 쿠폰과 다다익선만 차감. 상품권과 포인트는 포함)
	private double sellFeeRate;			// 판매수수료율
	private double sellFeeAmt;			// 수수료(실판매금액 * 판매수수료율)
	private double settleAmt;			// 정산대상액(실판매금액 - 수수료)

	// 검색조건
	private String salesStdt;			// 매출시작일자
	private String salesEddt;			// 매출종료일자
	private String supplyCompList;		// 공급업체코드목록
	private String brandList;			// 브랜드코드목록
	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
	private String[] multiBrand;
	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
	private String[] multiSupplyComp;

}
