package cokr.xit.fims.mngt;

import java.util.List;

import cokr.xit.foundation.AbstractEntity;
import cokr.xit.foundation.Assert;
import lombok.Getter;
import lombok.Setter;

/**
 * 업무 정보
 * @author JoJH
 */
@Getter
@Setter
public class Task extends AbstractEntity {

	/**
	 * 시군구 코드
	 */
	private String sggCd;

	/**
	 * 업무 구분 코드
	 */
	private String taskSeCd;

	/**
	 * 업무 구분 명
	 */
	private String taskSeNm;

	/**
	 * 사전통지 일수
	 */
	private Integer advntceDayCnt;

	/**
	 * 사전통지 감경 율
	 */
	private String advntceRdcrt;

	/**
	 * 사회적약자 감경 율
	 */
	private String wksnRdcrt;

	/**
	 * 과태료 가산 일자
	 */
	private String ffnlgAdtnYmd;

	/**
	 * 과태료 가산 율
	 */
	private String ffnlgAdtnRt;

	/**
	 * 과태료 중가산 율
	 */
	private String ffnlgInadtnRt;

	/**
	 * 과태료 중가산 최대 수
	 */
	private Integer ffnlgInadtnMaxCnt;

	/**
	 * 세외수입 연계 구분 코드
	 */
	private String nxrpLinkSeCd;

	/**
	 * 세외수입 연계 구분 상세 순번
	 */
	private String nxrpLinkSeDtlSn;

	/**
	 * 위반내역 코드그룹
	 */
	private String vltnCdGrp;

	/**
	 * 기타 코드그룹. 여러개일 경우 컴마(,)로 구문
	 */
	private String extraCdGrps;

	/**
	 * 업무처리 Bean 이름. 지정하지 않으면 'taskProcessor'
	 */
	private String processorName;

	/**
	 * 위반 설정 목록
	 */
	private List<Vltn> vltnStngList;

	public String[] extraCodeGroups() {
		return !Assert.isEmpty(extraCdGrps) ? extraCdGrps.split(",") : null;
	}
}