package cokr.xit.fims.crdn;

import cokr.xit.fims.cmmn.CmmnQuery;

/**단속 대장 정보 조회 요청
*
* <p>상세 설명:
*
* <pre>
* ============ 변경 이력 ============
* 2023-06-23	leebj 최초 작성
* ================================
* </pre>
*/
public class CrdnQuery extends CmmnQuery {

	private static final long serialVersionUID = 1L;

	//조회유형
	private String gridType;
	private String inspectionDataType;

	//현재정보
	private String currentUserId;
	private String currentUserAcnt;
	private String currentInstitute;

	//ID
	private String crdnId;
	private String[] crdnIDs;
	private String amtDcsnCdGroupId;
	private String dtlAmtDcsnCdGroupId;

	//날짜
	private String aplcnYmd;
	private String schCvlcptRcptYmdFrom;
	private String schCvlcptRcptYmdTo;
	private String schRductYmdFrom;
	private String schRductYmdTo;
	private String schCrdnYmdFrom;
	private String schCrdnYmdTo;
	private String schDmndYmdFrom;
	private String schDmndYmdTo;

	//from, to
	private Integer schCrdnCntFrom;
	private Integer schCrdnCntTo;

	//코드
	private String amtDcsnCd;
	private String dtlAmtDcsnCd;
	private String crdnInptSeCd;
	private String cvlcptPrcsCd;
	private String crdnSttsCd;
	private String ansSeCd;
	private String ansRsnCd;

	//포함, 제외, 특정 자료
	private String schOnlySamePlace;
	private String schOnlyUnpay;
	private String schExclEnd;
	private String schExclOvtime;

	//YN
	private String dstrbncYn;
	private String towngYn;

	//기타
	private String vhrno;
	private String cvlcptPrcsPicNm;


	public String getGridType() {
		return ifEmpty(gridType, () -> null);
	}

	public <T extends CrdnQuery> T setGridType(String gridType) {
		this.gridType = gridType;
		return self();
	}

	public String getCurrentUserId() {
		return ifEmpty(currentUserId, () -> null);
	}

	public <T extends CrdnQuery> T setCurrentUserId(String currentUserId) {
		this.currentUserId = currentUserId;
		return self();
	}

	public String getCurrentUserAcnt() {
		return ifEmpty(currentUserAcnt, () -> null);
	}

	public <T extends CrdnQuery> T setCurrentUserAcnt(String currentUserAcnt) {
		this.currentUserAcnt = currentUserAcnt;
		return self();
	}

	public String getCurrentInstitute() {
		return ifEmpty(currentInstitute, () -> null);
	}

	public <T extends CrdnQuery> T setCurrentInstitute(String currentInstitute) {
		this.currentInstitute = currentInstitute;
		return self();
	}

	public String getInspectionDataType() {
		return ifEmpty(inspectionDataType, () -> null);
	}

	public <T extends CrdnQuery> T setInspectionDataType(String inspectionDataType) {
		this.inspectionDataType = inspectionDataType;
		return self();
	}

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

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

	public String[] getCrdnIDs() {
		return ifEmpty(crdnIDs, () -> null);
	}

	public <T extends CrdnQuery> T setCrdnIDs(String... crdnIDs) {
		this.crdnIDs = crdnIDs;
		return self();
	}

	public String getDstrbncYn() {
		return ifEmpty(dstrbncYn, () -> null);
	}

	public <T extends CrdnQuery> T setDstrbncYn(String dstrbncYn) {
		this.dstrbncYn = dstrbncYn;
		return self();
	}

	public String getTowngYn() {
		return ifEmpty(towngYn, () -> null);
	}

	public <T extends CrdnQuery> T setTowngYn(String towngYn) {
		this.towngYn = towngYn;
		return self();
	}

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

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

	public String getCvlcptPrcsPicNm() {
		return ifEmpty(cvlcptPrcsPicNm, () -> null);
	}

	public <T extends CrdnQuery> T setCvlcptPrcsPicNm(String cvlcptPrcsPicNm) {
		this.cvlcptPrcsPicNm = cvlcptPrcsPicNm;
		return self();
	}

	public String getSchCvlcptRcptYmdFrom() {
		return ifEmpty(schCvlcptRcptYmdFrom, () -> null);
	}

	public <T extends CrdnQuery> T setSchCvlcptRcptYmdFrom(String schCvlcptRcptYmdFrom) {
		this.schCvlcptRcptYmdFrom = schCvlcptRcptYmdFrom;
		return self();
	}

	public String getSchCvlcptRcptYmdTo() {
		return ifEmpty(schCvlcptRcptYmdTo, () -> null);
	}

	public <T extends CrdnQuery> T setSchCvlcptRcptYmdTo(String schCvlcptRcptYmdTo) {
		this.schCvlcptRcptYmdTo = schCvlcptRcptYmdTo;
		return self();
	}

	public String getSchRductYmdFrom() {
		return ifEmpty(schRductYmdFrom, () -> null);
	}

	public <T extends CrdnQuery> T setSchRductYmdFrom(String schRductYmdFrom) {
		this.schRductYmdFrom = schRductYmdFrom;
		return self();
	}

	public String getSchRductYmdTo() {
		return ifEmpty(schRductYmdTo, () -> null);
	}

	public <T extends CrdnQuery> T setSchRductYmdTo(String schRductYmdTo) {
		this.schRductYmdTo = schRductYmdTo;
		return self();
	}

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

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

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

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

	public String getSchDmndYmdFrom() {
		return ifEmpty(schDmndYmdFrom, () -> null);
	}

	public <T extends CrdnQuery> T setSchDmndYmdFrom(String schDmndYmdFrom) {
		this.schDmndYmdFrom = schDmndYmdFrom;
		return self();
	}

	public String getSchDmndYmdTo() {
		return ifEmpty(schDmndYmdTo, () -> null);
	}

	public <T extends CrdnQuery> T setSchDmndYmdTo(String schDmndYmdTo) {
		this.schDmndYmdTo = schDmndYmdTo;
		return self();
	}

	public Integer getSchCrdnCntFrom() {
		return ifEmpty(schCrdnCntFrom, () -> null);
	}

	public <T extends CrdnQuery> T setSchCrdnCntFrom(Integer schCrdnCntFrom) {
		this.schCrdnCntFrom = schCrdnCntFrom;
		return self();
	}

	public Integer getSchCrdnCntTo() {
		return ifEmpty(schCrdnCntTo, () -> null);
	}

	public <T extends CrdnQuery> T setSchCrdnCntTo(Integer schCrdnCntTo) {
		this.schCrdnCntTo = schCrdnCntTo;
		return self();
	}

	public String getSchOnlySamePlace() {
		return ifEmpty(schOnlySamePlace, () -> null);
	}

	public <T extends CrdnQuery> T setSchOnlySamePlace(String schOnlySamePlace) {
		this.schOnlySamePlace = schOnlySamePlace;
		return self();
	}

	public String getSchOnlyUnpay() {
		return ifEmpty(schOnlyUnpay, () -> null);
	}

	public <T extends CrdnQuery> T setSchOnlyUnpay(String schOnlyUnpay) {
		this.schOnlyUnpay = schOnlyUnpay;
		return self();
	}

	public String getSchExclEnd() {
		return ifEmpty(schExclEnd, () -> null);
	}

	public <T extends CrdnQuery> T setSchExclEnd(String schExclEnd) {
		this.schExclEnd = schExclEnd;
		return self();
	}

	public String getSchExclOvtime() {
		return ifEmpty(schExclOvtime, () -> null);
	}

	public <T extends CrdnQuery> T setSchExclOvtime(String schExclOvtime) {
		this.schExclOvtime = schExclOvtime;
		return self();
	}

	public String getCrdnInptSeCd() {
		return ifEmpty(crdnInptSeCd, () -> null);
	}

	public <T extends CrdnQuery> T setCrdnInptSeCd(String crdnInptSeCd) {
		this.crdnInptSeCd = crdnInptSeCd;
		return self();
	}

	public String getCvlcptPrcsCd() {
		return ifEmpty(cvlcptPrcsCd, () -> null);
	}

	public <T extends CrdnQuery> T setCvlcptPrcsCd(String cvlcptPrcsCd) {
		this.cvlcptPrcsCd = cvlcptPrcsCd;
		return self();
	}

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

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

	public String getAnsSeCd() {
		return ifEmpty(ansSeCd, () -> null);
	}

	public <T extends CrdnQuery> T setAnsSeCd(String ansSeCd) {
		this.ansSeCd = ansSeCd;
		return self();
	}

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

	public <T extends CrdnQuery> T setAnsRsnCd(String ansRsnCd) {
		this.ansRsnCd = ansRsnCd;
		return self();
	}

	public String getAplcnYmd() {
		return ifEmpty(aplcnYmd, () -> null);
	}

	public <T extends CrdnQuery> T setAplcnYmd(String aplcnYmd) {
		this.aplcnYmd = aplcnYmd;
		return self();
	}

	public String getAmtDcsnCdGroupId() {
		return ifEmpty(amtDcsnCdGroupId, () -> null);
	}

	public <T extends CrdnQuery> T setAmtDcsnCdGroupId(String amtDcsnCdGroupId) {
		this.amtDcsnCdGroupId = amtDcsnCdGroupId;
		return self();
	}

	public String getAmtDcsnCd() {
		return ifEmpty(amtDcsnCd, () -> null);
	}

	public <T extends CrdnQuery> T setAmtDcsnCd(String amtDcsnCd) {
		this.amtDcsnCd = amtDcsnCd;
		return self();
	}

	public String getDtlAmtDcsnCdGroupId() {
		return ifEmpty(dtlAmtDcsnCdGroupId, () -> null);
	}

	public <T extends CrdnQuery> T setDtlAmtDcsnCdGroupId(String dtlAmtDcsnCdGroupId) {
		this.dtlAmtDcsnCdGroupId = dtlAmtDcsnCdGroupId;
		return self();
	}

	public String getDtlAmtDcsnCd() {
		return ifEmpty(dtlAmtDcsnCd, () -> null);
	}

	public <T extends CrdnQuery> T setDtlAmtDcsnCd(String dtlAmtDcsnCd) {
		this.dtlAmtDcsnCd = dtlAmtDcsnCd;
		return self();
	}

}
