package cokr.xit.fims.cmmn;

import cokr.xit.foundation.component.QueryRequest;

public class CmmnQuery extends QueryRequest {

	private static final long serialVersionUID = 1L;

	private String mainOption;
	private String subOption;

	private String thisDay;

	private String sggCd;				// 시군구 코드
	private String taskSeCd; 			// 업무구분코드

	private String schDateOpt; 			// 검색 일자 구분
	private String schDateFrom; 		// 검색 일자 시작
	private String schDateTo; 			// 검색 일자 종료
	private String schRegDateOpt;		// 등록 일자 구분
	private String schRegDateFrom;		// 등록 일자 시작
	private String schRegDateTo;		// 등록 일자 종료
	private String schDetailDateOpt;	// 상세 검색 일자 구분
	private String schDetailDateFrom;	// 상세 검색 일자 시작
	private String schDetailDateTo;		// 상세 검색 일자 종료
	private String schDetailUserOpt;	// 상세 검색 사용자 구분
	private String schDetailUserNm;		// 상세 검색 사용자 명
	private String schDetailUserCd;		// 상세 검색 사용자 코드

	public String getMainOption() {
		return ifEmpty(mainOption, () -> null);
	}

	public <T extends CmmnQuery> T setMainOption(String mainOption) {
		this.mainOption = mainOption;
		return self();
	}

	public String getSubOption() {
		return ifEmpty(subOption, () -> null);
	}

	public <T extends CmmnQuery> T setSubOption(String subOption) {
		this.subOption = subOption;
		return self();
	}

	public String getThisDay() {
		return ifEmpty(thisDay, () -> null);
	}

	public <T extends CmmnQuery> T setThisDay(String thisDay) {
		this.thisDay = thisDay;
		return self();
	}

	public String getSggCd() {
		return ifEmpty(sggCd, () -> null);
	}

	public <T extends CmmnQuery> T setSggCd(String sggCd) {
		this.sggCd = sggCd;
		return self();
	}

	public String getTaskSeCd() {
		return ifEmpty(taskSeCd, () -> null);
	}

	public <T extends CmmnQuery> T setTaskSeCd(String taskSeCd) {
		this.taskSeCd = taskSeCd;
		return self();
	}

	public String getSchDateOpt() {
		return ifEmpty(schDateOpt, () -> null);
	}

	public <T extends CmmnQuery> T setSchDateOpt(String schDateOpt) {
		this.schDateOpt = schDateOpt;
		return self();
	}

	public String getSchDateFrom() {
		return ifEmpty(schDateFrom, () -> null);
	}

	public <T extends CmmnQuery> T setSchDateFrom(String schDateFrom) {
		this.schDateFrom = schDateFrom;
		return self();
	}

	public String getSchDateTo() {
		return ifEmpty(schDateTo, () -> null);
	}

	public <T extends CmmnQuery> T setSchDateTo(String schDateTo) {
		this.schDateTo = schDateTo;
		return self();
	}

	public String getSchRegDateOpt() {
		return ifEmpty(schRegDateOpt, () -> null);
	}

	public <T extends CmmnQuery> T setSchRegDateOpt(String schRegDateOpt) {
		this.schRegDateOpt = schRegDateOpt;
		return self();
	}

	public String getSchRegDateFrom() {
		return ifEmpty(schRegDateFrom, () -> null);
	}

	public <T extends CmmnQuery> T setSchRegDateFrom(String schRegDateFrom) {
		this.schRegDateFrom = schRegDateFrom;
		return self();
	}

	public String getSchRegDateTo() {
		return ifEmpty(schRegDateTo, () -> null);
	}

	public <T extends CmmnQuery> T setSchRegDateTo(String schRegDateTo) {
		this.schRegDateTo = schRegDateTo;
		return self();
	}

	public String getSchDetailDateOpt() {
		return ifEmpty(schDetailDateOpt, () -> null);
	}

	public <T extends CmmnQuery> T setSchDetailDateOpt(String schDetailDateOpt) {
		this.schDetailDateOpt = schDetailDateOpt;
		return self();
	}

	public String getSchDetailDateFrom() {
		return ifEmpty(schDetailDateFrom, () -> null);
	}

	public <T extends CmmnQuery> T setSchDetailDateFrom(String schDetailDateFrom) {
		this.schDetailDateFrom = schDetailDateFrom;
		return self();
	}

	public String getSchDetailDateTo() {
		return ifEmpty(schDetailDateTo, () -> null);
	}

	public <T extends CmmnQuery> T setSchDetailDateTo(String schDetailDateTo) {
		this.schDetailDateTo = schDetailDateTo;
		return self();
	}

	public String getSchDetailUserOpt() {
		return ifEmpty(schDetailUserOpt, () -> null);
	}

	public <T extends CmmnQuery> T setSchDetailUserOpt(String schDetailUserOpt) {
		this.schDetailUserOpt = schDetailUserOpt;
		return self();
	}

	public String getSchDetailUserNm() {
		return ifEmpty(schDetailUserNm, () -> null);
	}

	public <T extends CmmnQuery> T setSchDetailUserNm(String schDetailUserNm) {
		this.schDetailUserNm = schDetailUserNm;
		return self();
	}

	public String getSchDetailUserCd() {
		return ifEmpty(schDetailUserCd, () -> null);
	}

	public <T extends CmmnQuery> T setSchDetailUserCd(String schDetailUserCd) {
		this.schDetailUserCd = schDetailUserCd;
		return self();
	}

}
