package cokr.xit.fims.rcvm;

import cokr.xit.fims.cmmn.CmmnQuery;
import cokr.xit.fims.epst.EpostQuery;

/**수납 대장 정보 조회 요청
 *
 * <p>상세 설명:
 *
 * <pre>
 * ============ 변경 이력 ============
 * 2023-08-31	JoJH 최초 작성
 * ================================
 * </pre>
 */
public class RcvmtQuery extends CmmnQuery {

	private static final long serialVersionUID = 1L;

	// ID
	private String crdnId;														// 단속 ID
	private String levyId;														// 부과 ID
	private String[] rcvmtIds;													// 수납 Ids
	private String rcvmtId;														// 수납 ID
	// 검색 조건
	private String schAcntgYmdFrom;												// 수납(TB_RCVMT)_회계 일자 시작
	private String schAcntgYmdTo;												// 수납(TB_RCVMT)_회계 일자 종료
	private String schRcvmtYmdFrom;												// 수납(TB_RCVMT)_수납 일자 시작
	private String schRcvmtYmdTo;												// 수납(TB_RCVMT)_수납 일자 종료
	private String schTsfYmdFrom;												// 수납(TB_RCVMT)_이체 일자 시작
	private String schTsfYmdTo;													// 수납(TB_RCVMT)_이체 일자 종료
	private String schRcvmtSeCd;												// 수납(TB_RCVMT)_수납 구분 코드
	private String schPayMthdSeCd;												// 수납(TB_RCVMT)_납부 방법 구분 코드
	private String schCrdnYmdFrom;												// 단속(TB_CRDN)_단속 일자 시작
	private String schCrdnYmdTo;												// 단속(TB_CRDN)_단속 일자 종료
	private String schVhrno;													// 단속(TB_CRDN)_차량번호
	private String schRtpyrNo;													// 납부자(TB_PAYER)_납부자 번호
	private String schRtpyrNm;													// 납부자(TB_PAYER)_납부자 명
	// 상세 검색 조건

	// 동적 검색 조건
	private String rcvmtInptSeCd;												// 수납(TB_RCVMT)_수납 입력 구분 코드
	private String rcvmtRtrcnYn;												// 수납(TB_RCVMT)_수납 취소 여부
	private String spclBizCd;													// 수납(TB_RCVMT)_특별회계 사업 코드
	private String fyr;															// 수납(TB_RCVMT)_회계연도
	private String acntgSeCd;													// 수납(TB_RCVMT)_회계 구분 코드
	private String txitmCd;														// 수납(TB_RCVMT)_세목 코드
	private String operItemCd;													// 수납(TB_RCVMT)_운영 항목 코드
	private String levyNo;														// 수납(TB_RCVMT)_부과 번호
	private String ispySn;														// 수납(TB_RCVMT)_분납 번호
	private String rcvmtSn;														// 수납(TB_RCVMT)_수납 일련번호
	private String tsfYmd;														// 수납(TB_RCVMT)_이체 일자
	private String acntgYmd;													// 수납(TB_RCVMT)_회계 일자
	private String rcvmtYmd;													// 수납(TB_RCVMT)_수납 일자
	private String rcvmtAmt;													// 수납(TB_RCVMT)_수납 금액
	private String rcvmtPcptax;													// 수납(TB_RCVMT)_수납 본세
	private String rcvmtAdamt;													// 수납(TB_RCVMT)_수납 가산금
	private String rcvmtInt;													// 수납(TB_RCVMT)_수납 이자
	private String rcvmtBankNm;													// 수납(TB_RCVMT)_수납 은행 명
	private String payMthdSeCd;													// 수납(TB_RCVMT)_납부 방법 구분 코드
	private String rcvmtSeCd;													// 수납(TB_RCVMT)_수납 구분 코드
	private String rcvmtSttsCd;													// 수납(TB_RCVMT)_수납 상태 코드
	private String levyYmd;														// 부과(TB_LEVY)_부과 일자
	private String frstDudtYmd;													// 부과(TB_LEVY)_최초 납기 일자
	private String dudtYmd;														// 부과(TB_LEVY)_납기 일자
	private String levyPcptax;													// 부과(TB_LEVY)_부과 본세
	private String levyAdamt;													// 부과(TB_LEVY)_부과 가산금
	private String ispyInt;                                                    // 부과(TB_LEVY)_분납 이자
	private String szrYmd;														// 부과(TB_LEVY)_압류 일자
	private String szrThing;													// 부과(TB_LEVY)_압류 물건
	private String rpmSzrVhrno;													// 부과(TB_LEVY)_대체 압류 자동차등록번호
	private String szrRmvYmd;													// 부과(TB_LEVY)_압류 해제 일자
	private String crdnYmd;														// 단속(TB_CRDN)_단속 일자
	private String vhrno;														// 단속(TB_CRDN)_차량번호
	private String crdnStdgNm;													// 단속(TB_CRDN)_단속 법정동 명
	private String crdnPlc;														// 단속(TB_CRDN)_단속 장소
	private String crdnSttsCd;													// 단속(TB_CRDN)_단속 상태 코드
	private String rtpyrSeCd;													// 납부자(TB_PAYER)_납부자 구분 코드
	private String rtpyrNo;														// 납부자(TB_PAYER)_납부자 번호
	private String rtpyrNm;														// 납부자(TB_PAYER)_납부자 명
	private String rtpyrBrdt;													// 납부자(TB_PAYER)_납부자 생년월일
	private String rtpyrSttsCd;													// 납부자(TB_PAYER)_납부자 상태 코드
	// ETC
	private String callPurpose;													// infoDialog 호출 용도(view 조회, create 등록, update 수정, remove 삭제, refresh 재조회).
	private String delRsn;														// 삭제 사유
	private String crdnDelYn;													// 단속 삭제 여부

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

	public <T extends RcvmtQuery> T setCrdnId(String crdnId) {
		this.crdnId = crdnId;
		return self();
	}

	public String getLevyId() {
		return ifEmpty(levyId, () -> null);
	}

	public <T extends RcvmtQuery> T setLevyId(String levyId) {
		this.levyId = levyId;
		return self();
	}

	public String[] getRcvmtIds() {
		return ifEmpty(rcvmtIds, () -> null);
	}

	public <T extends RcvmtQuery> T setRcvmtIds(String... rcvmtIds) {
		this.rcvmtIds = rcvmtIds;
		return self();
	}

	public String getRcvmtId() {
		return ifEmpty(rcvmtId, () -> null);
	}

	public <T extends RcvmtQuery> T setRcvmtId(String rcvmtId) {
		this.rcvmtId = rcvmtId;
		return self();
	}

	public String getSchAcntgYmdFrom() {
		return ifEmpty(schAcntgYmdFrom, () -> null);
	}

	public <T extends RcvmtQuery> T setSchAcntgYmdFrom(String schAcntgYmdFrom) {
		this.schAcntgYmdFrom = schAcntgYmdFrom;
		return self();
	}

	public String getSchAcntgYmdTo() {
		return ifEmpty(schAcntgYmdTo, () -> null);
	}

	public <T extends RcvmtQuery> T setSchAcntgYmdTo(String schAcntgYmdTo) {
		this.schAcntgYmdTo = schAcntgYmdTo;
		return self();
	}

	public String getSchRcvmtYmdFrom() {
		return ifEmpty(schRcvmtYmdFrom, () -> null);
	}

	public <T extends RcvmtQuery> T setSchRcvmtYmdFrom(String schRcvmtYmdFrom) {
		this.schRcvmtYmdFrom = schRcvmtYmdFrom;
		return self();
	}

	public String getSchRcvmtYmdTo() {
		return ifEmpty(schRcvmtYmdTo, () -> null);
	}

	public <T extends RcvmtQuery> T setSchRcvmtYmdTo(String schRcvmtYmdTo) {
		this.schRcvmtYmdTo = schRcvmtYmdTo;
		return self();
	}

	public String getSchTsfYmdFrom() {
		return ifEmpty(schTsfYmdFrom, () -> null);
	}

	public <T extends RcvmtQuery> T setSchTsfYmdFrom(String schTsfYmdFrom) {
		this.schTsfYmdFrom = schTsfYmdFrom;
		return self();
	}

	public String getSchTsfYmdTo() {
		return ifEmpty(schTsfYmdTo, () -> null);
	}

	public <T extends RcvmtQuery> T setSchTsfYmdTo(String schTsfYmdTo) {
		this.schTsfYmdTo = schTsfYmdTo;
		return self();
	}

	public String getSchRcvmtSeCd() {
		return ifEmpty(schRcvmtSeCd, () -> null);
	}

	public <T extends RcvmtQuery> T setSchRcvmtSeCd(String schRcvmtSeCd) {
		this.schRcvmtSeCd = schRcvmtSeCd;
		return self();
	}

	public String getSchPayMthdSeCd() {
		return ifEmpty(schPayMthdSeCd, () -> null);
	}

	public <T extends RcvmtQuery> T setSchPayMthdSeCd(String schPayMthdSeCd) {
		this.schPayMthdSeCd = schPayMthdSeCd;
		return self();
	}

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

	public <T extends RcvmtQuery> T setSchCrdnYmdFrom(String schCrdnYmdFrom) {
		this.schCrdnYmdFrom = schCrdnYmdFrom;
		return self();
	}

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

	public <T extends RcvmtQuery> T setSchCrdnYmdTo(String schCrdnYmdTo) {
		this.schCrdnYmdTo = schCrdnYmdTo;
		return self();
	}

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

	public <T extends RcvmtQuery> T setSchVhrno(String schVhrno) {
		this.schVhrno = schVhrno;
		return self();
	}

	public String getSchRtpyrNo() {
		return ifEmpty(schRtpyrNo, () -> null);
	}

	public <T extends RcvmtQuery> T setSchRtpyrNo(String schRtpyrNo) {
		this.schRtpyrNo = schRtpyrNo;
		return self();
	}

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

	public <T extends RcvmtQuery> T setSchRtpyrNm(String schRtpyrNm) {
		this.schRtpyrNm = schRtpyrNm;
		return self();
	}

	// 상세 검색 조건 ///////////////////////////////////////////////////////////////

	// 상세 검색 조건 ///////////////////////////////////////////////////////////////

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

	public <T extends RcvmtQuery> T setRcvmtInptSeCd(String rcvmtInptSeCd) {
		this.rcvmtInptSeCd = rcvmtInptSeCd;
		return self();
	}

	public String getRcvmtRtrcnYn() {
		return ifEmpty(rcvmtRtrcnYn, () -> null);
	}

	public <T extends RcvmtQuery> T setRcvmtRtrcnYn(String rcvmtRtrcnYn) {
		this.rcvmtRtrcnYn = rcvmtRtrcnYn;
		return self();
	}

	public String getSpclBizCd() {
		return ifEmpty(spclBizCd, () -> null);
	}

	public <T extends RcvmtQuery> T setSpclBizCd(String spclBizCd) {
		this.spclBizCd = spclBizCd;
		return self();
	}

	public String getFyr() {
		return ifEmpty(fyr, () -> null);
	}

	public <T extends RcvmtQuery> T setFyr(String fyr) {
		this.fyr = fyr;
		return self();
	}

	public String getAcntgSeCd() {
		return ifEmpty(acntgSeCd, () -> null);
	}

	public <T extends RcvmtQuery> T setAcntgSeCd(String acntgSeCd) {
		this.acntgSeCd = acntgSeCd;
		return self();
	}

	public String getTxitmCd() {
		return ifEmpty(txitmCd, () -> null);
	}

	public <T extends RcvmtQuery> T setTxitmCd(String txitmCd) {
		this.txitmCd = txitmCd;
		return self();
	}

	public String getOperItemCd() {
		return ifEmpty(operItemCd, () -> null);
	}

	public <T extends RcvmtQuery> T setOperItemCd(String operItemCd) {
		this.operItemCd = operItemCd;
		return self();
	}

	public String getLevyNo() {
		return ifEmpty(levyNo, () -> null);
	}

	public <T extends RcvmtQuery> T setLevyNo(String levyNo) {
		this.levyNo = levyNo;
		return self();
	}

	public String getIspySn() {
		return ifEmpty(ispySn, () -> null);
	}

	public <T extends RcvmtQuery> T setIspySn(String ispySn) {
		this.ispySn = ispySn;
		return self();
	}

	public String getRcvmtSn() {
		return ifEmpty(rcvmtSn, () -> null);
	}

	public <T extends RcvmtQuery> T setRcvmtSn(String rcvmtSn) {
		this.rcvmtSn = rcvmtSn;
		return self();
	}

	public String getTsfYmd() {
		return ifEmpty(tsfYmd, () -> null);
	}

	public <T extends RcvmtQuery> T setTsfYmd(String tsfYmd) {
		this.tsfYmd = tsfYmd;
		return self();
	}

	public String getAcntgYmd() {
		return ifEmpty(acntgYmd, () -> null);
	}

	public <T extends RcvmtQuery> T setAcntgYmd(String acntgYmd) {
		this.acntgYmd = acntgYmd;
		return self();
	}

	public String getRcvmtYmd() {
		return ifEmpty(rcvmtYmd, () -> null);
	}

	public <T extends RcvmtQuery> T setRcvmtYmd(String rcvmtYmd) {
		this.rcvmtYmd = rcvmtYmd;
		return self();
	}

	public String getRcvmtAmt() {
		return ifEmpty(rcvmtAmt, () -> null);
	}

	public <T extends RcvmtQuery> T setRcvmtAmt(String rcvmtAmt) {
		this.rcvmtAmt = rcvmtAmt;
		return self();
	}

	public String getRcvmtPcptax() {
		return ifEmpty(rcvmtPcptax, () -> null);
	}

	public <T extends RcvmtQuery> T setRcvmtPcptax(String rcvmtPcptax) {
		this.rcvmtPcptax = rcvmtPcptax;
		return self();
	}

	public String getRcvmtAdamt() {
		return ifEmpty(rcvmtAdamt, () -> null);
	}

	public <T extends RcvmtQuery> T setRcvmtAdamt(String rcvmtAdamt) {
		this.rcvmtAdamt = rcvmtAdamt;
		return self();
	}

	public String getRcvmtInt() {
		return ifEmpty(rcvmtInt, () -> null);
	}

	public <T extends RcvmtQuery> T setRcvmtInt(String rcvmtInt) {
		this.rcvmtInt = rcvmtInt;
		return self();
	}

	public String getRcvmtBankNm() {
		return ifEmpty(rcvmtBankNm, () -> null);
	}

	public <T extends RcvmtQuery> T setRcvmtBankNm(String rcvmtBankNm) {
		this.rcvmtBankNm = rcvmtBankNm;
		return self();
	}

	public String getPayMthdSeCd() {
		return ifEmpty(payMthdSeCd, () -> null);
	}

	public <T extends RcvmtQuery> T setPayMthdSeCd(String payMthdSeCd) {
		this.payMthdSeCd = payMthdSeCd;
		return self();
	}

	public String getRcvmtSeCd() {
		return ifEmpty(rcvmtSeCd, () -> null);
	}

	public <T extends RcvmtQuery> T setRcvmtSeCd(String rcvmtSeCd) {
		this.rcvmtSeCd = rcvmtSeCd;
		return self();
	}

	public String getRcvmtSttsCd() {
		return ifEmpty(rcvmtSttsCd, () -> null);
	}

	public <T extends RcvmtQuery> T setRcvmtSttsCd(String rcvmtSttsCd) {
		this.rcvmtSttsCd = rcvmtSttsCd;
		return self();
	}

	public String getLevyYmd() {
		return ifEmpty(levyYmd, () -> null);
	}

	public <T extends RcvmtQuery> T setLevyYmd(String levyYmd) {
		this.levyYmd = levyYmd;
		return self();
	}

	public String getFrstDudtYmd() {
		return ifEmpty(frstDudtYmd, () -> null);
	}

	public <T extends RcvmtQuery> T setFrstDudtYmd(String frstDudtYmd) {
		this.frstDudtYmd = frstDudtYmd;
		return self();
	}

	public String getDudtYmd() {
		return ifEmpty(dudtYmd, () -> null);
	}

	public <T extends RcvmtQuery> T setDudtYmd(String dudtYmd) {
		this.dudtYmd = dudtYmd;
		return self();
	}

	public String getLevyPcptax() {
		return ifEmpty(levyPcptax, () -> null);
	}

	public <T extends RcvmtQuery> T setLevyPcptax(String levyPcptax) {
		this.levyPcptax = levyPcptax;
		return self();
	}

	public String getLevyAdamt() {
		return ifEmpty(levyAdamt, () -> null);
	}

	public <T extends RcvmtQuery> T setLevyAdamt(String levyAdamt) {
		this.levyAdamt = levyAdamt;
		return self();
	}

	public String getIspyInt() {
		return ifEmpty(ispyInt, () -> null);
	}

	public <T extends RcvmtQuery> T setIspyInt(String ispyInt) {
		this.ispyInt = ispyInt;
		return self();
	}

	public String getSzrYmd() {
		return ifEmpty(szrYmd, () -> null);
	}

	public <T extends RcvmtQuery> T setSzrYmd(String szrYmd) {
		this.szrYmd = szrYmd;
		return self();
	}

	public String getSzrThing() {
		return ifEmpty(szrThing, () -> null);
	}

	public <T extends RcvmtQuery> T setSzrThing(String szrThing) {
		this.szrThing = szrThing;
		return self();
	}

	public String getRpmSzrVhrno() {
		return ifEmpty(rpmSzrVhrno, () -> null);
	}

	public <T extends RcvmtQuery> T setRpmSzrVhrno(String rpmSzrVhrno) {
		this.rpmSzrVhrno = rpmSzrVhrno;
		return self();
	}

	public String getSzrRmvYmd() {
		return ifEmpty(szrRmvYmd, () -> null);
	}

	public <T extends RcvmtQuery> T setSzrRmvYmd(String szrRmvYmd) {
		this.szrRmvYmd = szrRmvYmd;
		return self();
	}

	public String getCrdnYmd() {
		return ifEmpty(crdnYmd, () -> null);
	}

	public <T extends RcvmtQuery> T setCrdnYmd(String crdnYmd) {
		this.crdnYmd = crdnYmd;
		return self();
	}

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

	public <T extends RcvmtQuery> T setVhrno(String vhrno) {
		this.vhrno = vhrno;
		return self();
	}

	public String getCrdnStdgNm() {
		return ifEmpty(crdnStdgNm, () -> null);
	}

	public <T extends RcvmtQuery> T setCrdnStdgNm(String crdnStdgNm) {
		this.crdnStdgNm = crdnStdgNm;
		return self();
	}

	public String getCrdnPlc() {
		return ifEmpty(crdnPlc, () -> null);
	}

	public <T extends RcvmtQuery> T setCrdnPlc(String crdnPlc) {
		this.szrRmvYmd = crdnPlc;
		return self();
	}

	public String getCrdnSttsCd() {
		return ifEmpty(crdnSttsCd, () -> null);
	}

	public <T extends RcvmtQuery> T setCrdnSttsCd(String crdnSttsCd) {
		this.crdnSttsCd = crdnSttsCd;
		return self();
	}

	public String getRtpyrSeCd() {
		return ifEmpty(rtpyrSeCd, () -> null);
	}

	public <T extends RcvmtQuery> T setRtpyrSeCd(String rtpyrSeCd) {
		this.rtpyrSeCd = rtpyrSeCd;
		return self();
	}

	public String getRtpyrNo() {
		return ifEmpty(rtpyrNo, () -> null);
	}

	public <T extends RcvmtQuery> T setRtpyrNo(String rtpyrNo) {
		this.rtpyrNo = rtpyrNo;
		return self();
	}

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

	public <T extends RcvmtQuery> T setRtpyrNm(String rtpyrNm) {
		this.rtpyrNm = rtpyrNm;
		return self();
	}

	public String getRtpyrBrdt() {
		return ifEmpty(rtpyrBrdt, () -> null);
	}

	public <T extends RcvmtQuery> T setRtpyrBrdt(String rtpyrBrdt) {
		this.rtpyrBrdt = rtpyrBrdt;
		return self();
	}

	public String getRtpyrSttsCd() {
		return ifEmpty(rtpyrSttsCd, () -> null);
	}

	public <T extends RcvmtQuery> T setRtpyrSttsCd(String rtpyrSttsCd) {
		this.rtpyrSttsCd = rtpyrSttsCd;
		return self();
	}
	// 동적 검색 조건 ///////////////////////////////////////////////////////////////

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

	public <T extends RcvmtQuery> T setCallPurpose(String callPurpose) {
		this.callPurpose = callPurpose;
		return self();
	}

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

	public <T extends RcvmtQuery> T setDelRsn(String delRsn) {
		this.delRsn = delRsn;
		return self();
	}

	public String getCrdnDelYn() {
		return ifEmpty(crdnDelYn, () -> null);
	}

	public <T extends EpostQuery> T setCrdnDelYn(String crdnDelYn) {
		this.crdnDelYn = crdnDelYn;
		return self();
	}
	// ETC /////////////////////////////////////////////////////////////////////

}
