FAICS/src/main/java/kcg/faics/cmmn/service/CodeService.java

370 lines
9.4 KiB
Java

/**
* CommonService.java
* @author 임새미
* @since 2016. 10. 13.
*
* 수정일 수정자 수정내용
* ------------- -------- ---------------------------
* 2016. 10. 13. 임새미 최초생성
*
*/
package kcg.faics.cmmn.service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import kcg.faics.cmmn.vo.CodeVO;
/**
* 코드 관련 Service Interface.
*
* @author kimnomin
*
*/
public interface CodeService {
/**
* 목록 중 전체를 표현하는 값.
*/
String LIST_ALL_VAL = "ALL";
/**
* 목록 중 전체를 표현하는 문자열.
*/
String LIST_ALL_STR = "전체";
/**
* 권한 대분류코드.
*/
String CODE1_AUTH = "AUTH";
/**
* 소속 대분류코드.
*/
String CODE1_PLACE1 = "C001";
/**
* 계급 대분류 코드.
*/
String CODE1_POSITION = "C002";
/**
* 치안대상 업종 대분류코드.
*/
String CODE1_COPR = "CORP";
/**
* 교육과정 대분류 코드.
*/
String CODE1_EDU_COURSE = "EDUC";
/**
* 교육기관 대분류 코드.
*/
String CODE1_EDU_PLACE = "EDUP";
/**
* 소속 구조.
*/
Map<String, String[]> PLACE_CATEGORY = new TreeMap<String, String[]>(String.CASE_INSENSITIVE_ORDER) {
/**
* serialVersionUID.
*/
private static final long serialVersionUID = -8213220033671425747L;
{
//중부본부
put("ps90", new String[] { "PS14", "PS16", "PS05", "PS02", "PS50" });
//제주본부
put("PS91", new String[] { "PS13", "PS17" });
//서해본부
put("PS92", new String[] { "PS06", "PS07", "PS08", "PS09", "ps18" });
//남해본부
put("PS93", new String[] { "PS01", "PS11", "PS15", "PS12" });
//동해본부
//20171226 울진해양경찰서 추가(PS19)
put("PS94", new String[] { "PS03", "PS04", "PS10", "PS19" });
put("PS95", new String[] {});
put("PS96", new String[] {});
put("PS97", new String[] {});
put("PS99", new String[] {});
}
};
/**
* 외사대상목표 - 치안대상 그룹정보.
*/
HashMap<String, String> CORP_GROUP = new HashMap<String, String>() {
/**
* serialVersionUID.
*/
private static final long serialVersionUID = -4741380958901687806L;
{
put("01", "업무협조기관");
put("02", "해운.항만관련 협회");
put("03", "외사관련업체");
put("04", "외국인고용업체");
put("05", "외국인투자업체");
}
};
/**
* 해양경비안전서 코드목록.
*
* <pre>
* 서귀포해양경비안전서 코드가 변경되었는데 기존 PHP 소스에서는 수정하지 않고 그대로 사용한 듯 하여
* PS98 -> PS17 로 변경하였다.
*
* 20170330 서해5도특별단 추가(PS50)
* 20171226 울진해양경찰서 추가(PS19)
* </pre>
*/
String[] POLICE_STATION_LIST = { "PS01", "PS02", "PS03", "PS04", "PS05", "PS06",
"PS07", "PS08", "PS09", "PS10", "PS11", "PS12", "PS13", "PS14", "PS16", "PS17", "ps18", "PS19", "PS50" };
/**
* 코드 정보를 반환한다.
*
* @param code1
* 대분류 코드
* @param code2
* 중분류 코드
* @return 코드 정보
* @throws Exception
* 기본 예외 처리
*/
CodeVO getCodeValue(String code1, String code2) throws Exception;
/**
* 코드 목록을 반환한다.
*
* @param code1
* 대분류코드
* @param code2
* 중분류코드
* @return CodeVO 객체 리스트
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getCodeValues(String code1, String code2) throws Exception;
/**
* 소속 1 Detph를 반환한다.
*
* @param onlyCentral
* 중앙부처만 반환 - true, 모든 목록반환 - false
* @return 소속 1 목록
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getPlace1List(boolean onlyCentral) throws Exception;
/**
* 소속 1 Detph를 반환한다.
*
* @param onlyCentral
* 중앙부처만 반환 - true, 모든 목록반환 - false
* @param includeAll
* "전체" 포함여부
* @return 소속 1 목록
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getPlace1List(boolean onlyCentral, boolean includeAll) throws Exception;
/**
* codes에 해당하는 소속기관을 반환한다.
*
* @param codes 소속기관 CODE
* @return 소속기관 목록
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getPlace1List(String[] codes) throws Exception;
/**
* codes에 해당하는 소속기관을 반환한다.
*
* @param codes 소속기관 CODE
* @param includeAll "전체" 포함여부
* @return 소속기관 목록
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getPlace1List(String[] codes, boolean includeAll) throws Exception;
/**
* 소속 1 Depth 중 code1의 하위 기관을 반환한다. 기존 소스의 get_agency_list와 동일
*
* @param place1Code
* 소속 1 Depth Code
* @return 하위 기관 목록
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getPlace1SubList(String place1Code) throws Exception;
/**
* 소속1을 포함한 소속 1 Depth 중 code1의 하위 기관을 반환한다.
*
* @param place1Code
* 소속 1 Depth Code
* @return 하위 기관 목록
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getPlace1SubListWithMain(String place1Code) throws Exception;
/**
* 소속 1 Depth 중 code1의 상위 기관 코드를 반환한다. 기존 소스의 get_agency_code와 동일
*
* @param place1Code
* 소속 1 Depth Code
* @return 상위 기관 코드
* @throws Exception
* 기본 예외 처리
*/
String getPlace1HighCode(String place1Code) throws Exception;
/**
* 소속 기관명을 반환한다.
*
* @param placeCode 소속 코드
* @return 소속 기관명
* @throws Exception
* 기본 예외 처리
*/
String getPlace1Str(final String placeCode) throws Exception;
/**
* 소속 부서명을 반환한다.
*
* @param place1Code 소속 기관코드
* @param place2Code 소속 부서코드
* @return 소속 부서명
* @throws Exception 기본 예외 처리
*/
String getPlace2Str(final String place1Code, String place2Code) throws Exception;
/**
* 계급 명칭을 반환한다.
*
* @param positionCode 계급 코드
* @return 계급 명칭
* @throws Exception 기본 예외 처리
*/
String getPositionStr(final String positionCode) throws Exception;
/**
* 계급 코드 리스트를 반환한다.
* @return 계급 코드 리스트
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getPositionList() throws Exception;
/**
* 하위소속 코드 리스트를 반환한다.
* @param codeVO 상위소속 코드
* @return 소속 코드 리스트
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getPlace2List(CodeVO codeVO) throws Exception;
/**
* 세부소속 코드 리스트를 반환한다.
* @param codeVO 상위소속 코드
* @return 소속 코드 리스트
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getPlace3List(CodeVO codeVO) throws Exception;
/**
* 직위 코드 리스트를 반환한다.
* @return 직위 코드 리스트
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getDutiesList() throws Exception;
/**
* 직별 코드 리스트를 반환한다.
* @return 직별 코드 리스트
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getJobTypeList() throws Exception;
/**
* 학력 코드 리스트를 반환한다.
* @return 학력 코드 리스트
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getScholarshipList() throws Exception;
/**
* 외사대상 관련업체/기관 분류 목록을 반환한다.
*
* @return 외사대상 관련업체/기관 분류
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getCorpOrgList() throws Exception;
/**
* 교육과정 목록을 반환한다.
*
* @param includeAll
* "전체" 포함여부
* @return 교육과정 목록
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getEduCourse(final boolean includeAll) throws Exception;
/**
* 교육기관 목록을 반환한다.
*
* @param includeAll
* "전체" 포함여부
* @return 교육기관 목록
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getEduPlace(final boolean includeAll) throws Exception;
/**
* 권한 목록을 반환한다.
*
* @return 권한 목록
* @throws Exception
* 기본 예외 처리
*/
List<CodeVO> getAuthList() throws Exception;
/**
* code를 수정한다.
*
* @param codeVO CodeVO 객체
* @return 성공 - 1, 실패 - 0
* @throws Exception 기본 예외 처리
*/
int updateCode(final CodeVO codeVO) throws Exception;
/**
* code를 추가한다.
*
* @param codeVO CodeVO 객체
* @return 성공 - 1, 실패 - 0
* @throws Exception 기본 예외 처리
*/
int insertCode(final CodeVO codeVO) throws Exception;
/**
* code를 삭제한다.
*
* @param codeVO CodeVO 객체
* @return 성공 - 1, 실패 - 0
* @throws Exception 기본 예외 처리
*/
int deleteCode(final CodeVO codeVO) throws Exception;
}