package cokr.xit.fims.sprt;

import cokr.xit.fims.cmmn.CmmnQuery;

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

	private static final long serialVersionUID = 1L;

	// ID
	private String[] cvlcptDscsnIds;											// 민원 상담 Ids
	private String cvlcptDscsnId;												// 민원 상담 ID
	private String crdnId;														// 단속 ID

	// 검색 조건
	private String schDscsnYmdFrom;												// 상담 일자 시작
	private String schDscsnYmdTo;												// 상담 일자 종료
	private String schVhrno;													// 차량번호
	private String schCvlprNm;													// 민원인 명
	private String schRtpyrNo;													// 납부자 번호
	// 상세 검색 조건

	// 동적 검색 조건
	private String inquiryCondition;
	private String cvlcptRcptSeCd;												// 민원 접수 구분 코드
	private String vhrno;														// 차량번호
	private String rtpyrNo;														// 납부자 번호
	private String dscsnYmd;													// 상담 일자
	private String weekNm;														// 요일 명
	private String cvlprNm;														// 민원인 명
	private String cvlprCttpc;													// 민원인 연락처
	private String dscsnCn;														// 상담 내용

	// ETC
	private String callPurpose;					// 자료 조회시 호출용도. (view 조회, create 등록, update 수정, refresh 재조회)
	private String delRsn;						// 삭제 사유

	public String getCvlcptDscsnId() {
		return ifEmpty(cvlcptDscsnId, () -> null);
	}

	public <T extends CvlcptDscsnQuery> T setCvlcptDscsnId(String cvlcptDscsnId) {
		this.cvlcptDscsnId = cvlcptDscsnId;
		return self();
	}

	public String[] getCvlcptDscsnIds() {
		return ifEmpty(cvlcptDscsnIds, () -> null);
	}

	public <T extends CvlcptDscsnQuery> T setCvlcptDscsnIds(String... cvlcptDscsnIds) {
		this.cvlcptDscsnIds = cvlcptDscsnIds;
		return self();
	}

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

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

	public String getSchDscsnYmdFrom() {
		return ifEmpty(schDscsnYmdFrom, () -> null);
	}

	public <T extends CvlcptDscsnQuery> T setSchDscsnYmdFrom(String schDscsnYmdFrom) {
		this.schDscsnYmdFrom = schDscsnYmdFrom;
		return self();
	}

	public String getSchDscsnYmdTo() {
		return ifEmpty(schDscsnYmdTo, () -> null);
	}

	public <T extends CvlcptDscsnQuery> T setSchDscsnYmdTo(String schDscsnYmdTo) {
		this.schDscsnYmdTo = schDscsnYmdTo;
		return self();
	}

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

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

	public String getSchCvlprNm() {
		return ifEmpty(schCvlprNm, () -> null);
	}

	public <T extends CvlcptDscsnQuery> T setSchCvlprNm(String schCvlprNm) {
		this.schCvlprNm = schCvlprNm;
		return self();
	}

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

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

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

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

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

	public <T extends CvlcptDscsnQuery> T setInquiryCondition(String inquiryCondition) {
		this.inquiryCondition = inquiryCondition;
		return self();
	}

	public String getCvlcptRcptSeCd() {
		return ifEmpty(cvlcptRcptSeCd, () -> null);
	}

	public <T extends CvlcptDscsnQuery> T setCvlcptRcptSeCd(String cvlcptRcptSeCd) {
		this.cvlcptRcptSeCd = cvlcptRcptSeCd;
		return self();
	}

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

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

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

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

	public String getDscsnYmd() {
		return ifEmpty(dscsnYmd, () -> null);
	}

	public <T extends CvlcptDscsnQuery> T setDscsnYmd(String dscsnYmd) {
		this.dscsnYmd = dscsnYmd;
		return self();
	}

	public String getWeekNm() {
		return ifEmpty(weekNm, () -> null);
	}

	public <T extends CvlcptDscsnQuery> T setWeekNm(String weekNm) {
		this.weekNm = weekNm;
		return self();
	}

	public String getCvlprNm() {
		return ifEmpty(cvlprNm, () -> null);
	}

	public <T extends CvlcptDscsnQuery> T setCvlprNm(String cvlprNm) {
		this.cvlprNm = cvlprNm;
		return self();
	}

	public String getCvlprCttpc() {
		return ifEmpty(cvlprCttpc, () -> null);
	}

	public <T extends CvlcptDscsnQuery> T setCvlprCttpc(String cvlprCttpc) {
		this.cvlprCttpc = cvlprCttpc;
		return self();
	}

	public String getDscsnCn() {
		return ifEmpty(dscsnCn, () -> null);
	}

	public <T extends CvlcptDscsnQuery> T setDscsnCn(String dscsnCn) {
		this.dscsnCn = dscsnCn;
		return self();
	}
	// 동적 검색 조건 ///////////////////////////////////////////////////////////////

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

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

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

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

}
