package cokr.xit.fims.excl;

import cokr.xit.fims.cmmn.CmmnQuery;

/**부과제외 대장 정보 조회 요청
*
* <p>상세 설명:
*
* <pre>
* ============ 변경 이력 ============
* 2023-06-23	JoJH 최초 작성
* ================================
* </pre>
*/
public class ExclQuery extends CmmnQuery {

	private static final long serialVersionUID = 1L;

	// ID
	private String crdnId;														// 단속 ID
	private String[] levyExclIDs;												// 부과제외 IDs
	private String levyExclId;													// 부과제외 ID
	private String[] opnnIDs;													// 의견제출 ID
	private String opnnId;														// 의견제출 ID
	private String[] reRegIDs;													// 재등록 IDs
	private String reRegId;														// 재등록 ID
	// 검색 조건
	private String schLevyExclYmdFrom;											// 부과제외_부과제외 일자 시작
	private String schLevyExclYmdTo;											// 부과제외_부과제외 일자 종료
	private String schLevyExclSeCd;												// 부과제외_부과제외 구분 코드
	private String schRcptYmdFrom;												// 의견제출_접수 일자 시작
	private String schRcptYmdTo;												// 의견제출_접수 일자 종료
	private String schAnsYmdFrom;												// 의견제출_답변 일자 시작
	private String schAnsYmdTo;													// 의견제출_답변 일자 종료
	private String schOpnnSbmsnSttsCd;											// 의견제출_의견 제출 상태 코드
	private String schSttrNm;													// 의견제출_진술자 명
	private String schReRegYmdFrom;												// 단속재등록_재등록 일자 시작
	private String schReRegYmdTo;												// 단속재등록_재등록 일자 종료
	private String schVhrno;													// 단속(TB_CRDN)_차량번호
	private String schCrdnYmdFrom;												// 단속(TB_CRDN)_단속 일자 시작
	private String schCrdnYmdTo;												// 단속(TB_CRDN)_단속 일자 종료
	private String schRtpyrNm;													// 납부자(TB_PAYER)_납부자 명
	// 동적 검색 조건
	private String levyExclSeCd;												// 부과제외_부과 제외 구분 코드
	private String levyExclSeNm;												// 부과제외_부과 제외 구분 명
	private String vhrno;														// 단속(TB_CRDN)_차량번호
	private String rtpyrNm;														// 납부자(TB_PAYER)_납부자 명
	// ETC
	private String callPurpose;													// 호출용도 필요시 사용(view, select, create, update)
	private String delYn;														// 삭제 여부
	private String delRsn;														// 삭제 사유
	private String ansRsnCd;													// 민원 답변 문구(TB_CVLCPT_ANS_WORDS) - 답변 사유 코드
	private String sndngRcvmtCd;												// 발송 수납 코드

	public String getCrdnId() {
		return ifEmpty(crdnId, () -> null);
	}

	public <T extends ExclQuery> T setCrdnId(String crdnId) {
		this.crdnId = crdnId;

		return self();
	}

	public String[] getLevyExclIDs() {
		return ifEmpty(levyExclIDs, () -> null);
	}

	public <T extends ExclQuery> T setLevyExclIDs(String... levyExclIDs) {
		this.levyExclIDs = levyExclIDs;

		return self();
	}

	public String getLevyExclId() {
		return ifEmpty(levyExclId, () -> null);
	}

	public <T extends ExclQuery> T setLevyExclId(String levyExclId) {
		this.levyExclId = levyExclId;

		return self();
	}

	public String[]  getOpnnIDs() {
		return ifEmpty(opnnIDs, () -> null);
	}

	public <T extends ExclQuery> T setOpnnIDs(String... opnnIDs) {
		this.opnnIDs = opnnIDs;

		return self();
	}

	public String getOpnnId() {
		return ifEmpty(opnnId, () -> null);
	}

	public <T extends ExclQuery> T setOpnnId(String opnnId) {
		this.opnnId = opnnId;

		return self();
	}

	public String[] getReRegIDs() {
		return ifEmpty(reRegIDs, () -> null);
	}

	public <T extends ExclQuery> T setReRegIDs(String... reRegIDs) {
		this.reRegIDs = reRegIDs;

		return self();
	}

	public String getReRegId() {
		return ifEmpty(reRegId, () -> null);
	}

	public <T extends ExclQuery> T setReRegId(String reRegId) {
		this.reRegId = reRegId;

		return self();
	}

	public String getSchLevyExclYmdFrom() {
		return ifEmpty(schLevyExclYmdFrom, () -> null);
	}

	public <T extends ExclQuery> T setSchLevyExclYmdFrom(String schLevyExclYmdFrom) {
		this.schLevyExclYmdFrom = schLevyExclYmdFrom;

		return self();
	}

	public String getSchLevyExclYmdTo() {
		return ifEmpty(schLevyExclYmdTo, () -> null);
	}

	public <T extends ExclQuery> T setSchLevyExclYmdTo(String schLevyExclYmdTo) {
		this.schLevyExclYmdTo = schLevyExclYmdTo;

		return self();
	}

	public String getSchLevyExclSeCd() {
		return ifEmpty(schLevyExclSeCd, () -> null);
	}

	public <T extends ExclQuery> T setSchLevyExclSeCd(String schLevyExclSeCd) {
		this.schLevyExclSeCd = schLevyExclSeCd;

		return self();
	}

	public String getSchRcptYmdFrom() {
		return ifEmpty(schRcptYmdFrom, () -> null);
	}

	public <T extends ExclQuery> T setSchRcptYmdFrom(String schRcptYmdFrom) {
		this.schRcptYmdFrom = schRcptYmdFrom;

		return self();
	}

	public String getSchRcptYmdTo() {
		return ifEmpty(schRcptYmdTo, () -> null);
	}

	public <T extends ExclQuery> T setSchRcptYmdTo(String schRcptYmdTo) {
		this.schRcptYmdTo = schRcptYmdTo;

		return self();
	}

	public String getSchAnsYmdFrom() {
		return ifEmpty(schAnsYmdFrom, () -> null);
	}

	public <T extends ExclQuery> T setSchAnsYmdFrom(String schAnsYmdFrom) {
		this.schAnsYmdFrom = schAnsYmdFrom;

		return self();
	}

	public String getSchAnsYmdTo() {
		return ifEmpty(schAnsYmdTo, () -> null);
	}

	public <T extends ExclQuery> T setSchAnsYmdTo(String schAnsYmdTo) {
		this.schAnsYmdTo = schAnsYmdTo;

		return self();
	}

	public String getSchOpnnSbmsnSttsCd() {
		return ifEmpty(schOpnnSbmsnSttsCd, () -> null);
	}

	public <T extends ExclQuery> T setSchOpnnSbmsnSttsCd(String schOpnnSbmsnSttsCd) {
		this.schOpnnSbmsnSttsCd = schOpnnSbmsnSttsCd;

		return self();
	}

	public String getSchSttrNm() {
		return ifEmpty(schSttrNm, () -> null);
	}

	public <T extends ExclQuery> T setSchSttrNm(String schSttrNm) {
		this.schSttrNm = schSttrNm;

		return self();
	}

	public String getSchReRegYmdFrom() {
		return ifEmpty(schReRegYmdFrom, () -> null);
	}

	public <T extends ExclQuery> T setSchReRegYmdFrom(String schReRegYmdFrom) {
		this.schReRegYmdFrom = schReRegYmdFrom;

		return self();
	}

	public String getSchReRegYmdTo() {
		return ifEmpty(schReRegYmdTo, () -> null);
	}

	public <T extends ExclQuery> T setSchReRegYmdTo(String schReRegYmdTo) {
		this.schReRegYmdTo = schReRegYmdTo;

		return self();
	}

	public String getSchVhrno() {
		return ifEmpty(schVhrno, () -> null);
	}

	public <T extends ExclQuery> T setSchVhrno(String schVhrno) {
		this.schVhrno = schVhrno;

		return self();
	}

	public String getSchRtpyrNm() {
		return ifEmpty(schRtpyrNm, () -> null);
	}

	public <T extends ExclQuery> T setSchRtpyrNm(String schRtpyrNm) {
		this.schRtpyrNm = schRtpyrNm;

		return self();
	}

	public String getSchCrdnYmdFrom() {
		return ifEmpty(schCrdnYmdFrom, () -> null);
	}

	public <T extends ExclQuery> T setSchCrdnYmdFrom(String schCrdnYmdFrom) {
		this.schCrdnYmdFrom = schCrdnYmdFrom;

		return self();
	}

	public String getSchCrdnYmdTo() {
		return ifEmpty(schCrdnYmdTo, () -> null);
	}

	public <T extends ExclQuery> T setSchCrdnYmdTo(String schCrdnYmdTo) {
		this.schCrdnYmdTo = schCrdnYmdTo;

		return self();
	}

	// 동적 검색 조건 ///////////////////////////////////////////////////////////////
	public String getLevyExclSeNm() {
		return ifEmpty(levyExclSeNm, () -> null);
	}

	public <T extends ExclQuery> T setLevyExclSeNm(String levyExclSeNm) {
		this.levyExclSeNm = levyExclSeNm;

		return self();
	}

	public String getVhrno() {
		return ifEmpty(vhrno, () -> null);
	}

	public <T extends ExclQuery> T setVhrno(String vhrno) {
		this.vhrno = vhrno;

		return self();
	}

	public String getRtpyrNm() {
		return ifEmpty(rtpyrNm, () -> null);
	}

	public <T extends ExclQuery> T setRtpyrNm(String rtpyrNm) {
		this.rtpyrNm = rtpyrNm;

		return self();
	}

	public String getLevyExclSeCd() {
		return ifEmpty(levyExclSeCd, () -> null);
	}

	public <T extends ExclQuery> T setLevyExclSeCd(String levyExclSeCd) {
		this.levyExclSeCd = levyExclSeCd;

		return self();
	}
	// 동적 검색 조건 ///////////////////////////////////////////////////////////////

	// ETC /////////////////////////////////////////////////////////////////////
	public String getCallPurpose() {
		return ifEmpty(callPurpose, () -> null);
	}

	public <T extends ExclQuery> T setCallPurpose(String callPurpose) {
		this.callPurpose = callPurpose;

		return self();
	}

	public String getDelYn() {
		return ifEmpty(delYn, () -> null);
	}

	public <T extends ExclQuery> T setDelYn(String delYn) {
		this.delYn = delYn;

		return self();
	}

	public String getDelRsn() {
		return ifEmpty(delRsn, () -> null);
	}

	public <T extends ExclQuery> T setDelRsn(String delRsn) {
		this.delRsn = delRsn;

		return self();
	}

	public String getAnsRsnCd() {
		return ifEmpty(ansRsnCd, () -> null);
	}

	public <T extends ExclQuery> T setAnsRsnCd(String ansRsnCd) {
		this.ansRsnCd = ansRsnCd;

		return self();
	}

	public String getSndngRcvmtCd() {
		return ifEmpty(sndngRcvmtCd, () -> null);
	}

	public <T extends ExclQuery> T setSndngRcvmtCd(String sndngRcvmtCd) {
		this.sndngRcvmtCd = sndngRcvmtCd;

		return self();
	}
	// ETC /////////////////////////////////////////////////////////////////////

}
