가이드 ( Java API 사용 )

마스터코드

마스터코드는 각 시스템에서 유사한 의미를 사용하는 코드를 의미 중심으로 통합하여 단일화된 코드 명칭을 부여한 것입니다.

  1. 단순 코드
  2. 범위 코드

단순 코드(Simple Code)

사용구분 (예1)

이 예제는 사용구분을 마스터코드에 적용한 예제 입니다. 그리고 version 1, version 1.1의 API의 사용에 대해서도 같이 기술 하였습니다.

ID 항목명 Version
F 대기상태 Ver 1, Ver 1.1
N 종료 Ver 1, Ver 1.1
S 미완료 Ver 1, Ver 1.1
Y 사용중 Ver 1, Ver 1.1
R 대기진행중 Ver 1.1

마스터코드 목록 화면(version 1)

manager화면, 사용구분의 version 1에 대한 마스터코드 목록 등록 화면.

Image

마스터코드 목록 화면(version 1.1)

manager화면, 사용구분의 version 1.1에 대한 마스터코드 목록 등록 화면.

Image

마스터코드 항목 화면(version 1)

manager화면, 사용구분의 version 1에 대한 마스터코드 항목 등록 화면.

Image

마스터코드 항목 화면(version 1.1)

manager화면, 사용구분의 version 1.1에 대한 마스터코드 항목 등록 화면.

Image

API 사용 - 1 (버전 지정)

마스터코드 결과(PosCodeValueList,PosCodeValueInfo)를 취득한다.

PosCodeValueList MasterAccess.getCodeList(codeID 마스터코드ID, codeVer 마스터코드ver, category 카테고리);
PosCodeValueInfo MasterAccess.getCodeValueInfo(codeID 마스터코드ID, codeVer 마스터코드ver, category 카테고리, codeValue 코드값 );

PosCodeValueInfo 대한 메소드

메소드명 내용
String getCodeValue() 코드값의 반환.
String getCodeMean() 코드의 의미를 반환한다.
String getMinValue() 코드의 최소값을 반환 한다.
String getMaxValue() 코드의 최대값을 반환 한다.
String getSequence() 코드의 순서를 반환 한다.

예)

//마스터코드1
PosCodeValueList posCode1List = MasterAccess.getCodeList("USE_TP", "1" , "COMMON");
System.out.println("PosCodeValueList-----------------------------------------------");
for (int i = 0; i < posCode1List.size(); i++) {
PosCodeValueInfo codeInfo = posCode1List.get(i);
     System.out.println("마스터코드의 의미(String)   ["+ i + "] = "  + codeInfo.getCodeMean());
     System.out.println("마스터코드의 값(String)     ["+ i + "] = "  + codeInfo.getCodeValue());
     System.out.println("마스터코드의 최대값(String) ["+ i + "] = "  + codeInfo.getMaxValue() );
     System.out.println("마스터코드의 최소값(String) ["+ i + "] = "  + codeInfo.getMinValue() );
     System.out.println("마스터코드의 순서(String)   ["+ i + "] = "  + codeInfo.getSequence() );
     System.out.println("************************************************************");
}
String value = "S";
PosCodeValueInfo posCode1Info = MasterAccess.getCodeValueInfo( "USE_TP", "1" , "COMMON", value );
System.out.println("PosCodeValueInfo-----------------------------------------------");
System.out.println("마스터코드의 의미(String)   ["+ value + "] =" + posCode1Info.getCodeMean());
System.out.println("마스터코드의 값(String)     ["+ value + "] =" + posCode1Info.getCodeValue());
System.out.println("마스터코드의 최대값(String) ["+ value + "] =" + posCode1Info.getMaxValue() );
System.out.println("마스터코드의 최소값(String) ["+ value + "] =" + posCode1Info.getMinValue() );
System.out.println("마스터코드의 순서(String)   ["+ value + "] =" + posCode1Info.getSequence() );
System.out.println("---------------------------------------------------------------");

출력 결과

PosCodeValueList-----------------------------------------------
마스터코드의 의미(String)   [0] = 대기상태
마스터코드의 값(String)     [0] = F
마스터코드의 최대값(String) [0] = null
마스터코드의 최소값(String) [0] = null
마스터코드의 순서(String)   [0] = null
************************************************************
마스터코드의 의미(String)   [1] = 사용중
마스터코드의 값(String)     [1] = Y
마스터코드의 최대값(String) [1] = null
마스터코드의 최소값(String) [1] = null
마스터코드의 순서(String)   [1] = null
************************************************************
마스터코드의 의미(String)   [2] = 미완료
마스터코드의 값(String)     [2] = S
마스터코드의 최대값(String) [2] = null
마스터코드의 최소값(String) [2] = null
마스터코드의 순서(String)   [2] = null
************************************************************
마스터코드의 의미(String)   [3] = 종료
마스터코드의 값(String)     [3] = N
마스터코드의 최대값(String) [3] = null
마스터코드의 최소값(String) [3] = null
마스터코드의 순서(String)   [3] = null
************************************************************
PosCodeValueInfo-----------------------------------------------
마스터코드의 의미(String)   [S] = 미완료
마스터코드의 값(String)     [S] = S
마스터코드의 최대값(String) [S] = null
마스터코드의 최소값(String) [S] = null
마스터코드의 순서(String)   [S] = null
---------------------------------------------------------------

API 사용 - 2 (최신 버전)

마스터코드 결과(PosCodeValueList,PosCodeValueInfo)를 취득한다.

PosCodeValueList MasterAccess.getCodeList(codeID 마스터코드ID, category 카테고리);
PosCodeValueInfo MasterAccess.getCodeValueInfo(codeID 마스터코드ID, category 카테고리, codeValue 코드값);

PosCodeValueInfo 대한 메소드

메소드명 내용
String getCodeValue() 코드값의 반환.
String getCodeMean() 코드의 의미를 반환한다.
String getMinValue() 코드의 최소값을 반환 한다.
String getMaxValue() 코드의 최대값을 반환 한다.
String getSequence() 코드의 순서를 반환 한다.

예)

//마스터코드1-1
PosCodeValueList posCode1List = MasterAccess.getCodeList("USE_TP", "COMMON");
System.out.println("PosCodeValueList-----------------------------------------------");
for (int i = 0; i < posCode1List.size(); i++) {
    PosCodeValueInfo codeInfo = posCode1List.get(i);
    System.out.println("마스터코드의 의미(String)    ["+ i + "] = " + codeInfo.getCodeMean());
    System.out.println("마스터코드의 값(String)      ["+ i + "] = " + codeInfo.getCodeValue());
    System.out.println("마스터코드의 최대값(String)  ["+ i + "] = " + codeInfo.getMaxValue() );
    System.out.println("마스터코드의 최소값(String)  ["+ i + "] = " + codeInfo.getMinValue() );
    System.out.println("마스터코드의 순서(String)    ["+ i + "] = " + codeInfo.getSequence() );
    System.out.println("************************************************************");
}
String value = "R";
PosCodeValueInfo posCode1Info = MasterAccess.getCodeValueInfo("USE_TP", "COMMON", value );
System.out.println("PosCodeValueInfo-----------------------------------------------");
System.out.println("마스터코드의 의미(String)   ["+ value + "] ="   + posCode1Info.getCodeMean());
System.out.println("마스터코드의 값(String)     ["+ value + "] ="   + posCode1Info.getCodeValue());
System.out.println("마스터코드의 최대값(String) ["+ value + "] ="   + posCode1Info.getMaxValue() );
System.out.println("마스터코드의 최소값(String) ["+ value + "] ="   + posCode1Info.getMinValue() );
System.out.println("마스터코드의 순서(String)   ["+ value + "] ="   + posCode1Info.getSequence() );
System.out.println("---------------------------------------------------------------");

출력 결과(최신버전)

PosCodeValueList-----------------------------------------------
마스터코드의 의미(String)   [0] = 대기상태
마스터코드의 값(String)     [0] = F
마스터코드의 최대값(String) [0] = null
마스터코드의 최소값(String) [0] = null
마스터코드의 순서(String)   [0] = null
************************************************************
마스터코드의 의미(String)   [1] = 사용중
마스터코드의 값(String)     [1] = Y
마스터코드의 최대값(String) [1] = null
마스터코드의 최소값(String) [1] = null
마스터코드의 순서(String)   [1] = null
************************************************************
마스터코드의 의미(String)   [2] = 미완료
마스터코드의 값(String)     [2] = S
마스터코드의 최대값(String) [2] = null
마스터코드의 최소값(String) [2] = null
마스터코드의 순서(String)   [2] = null
************************************************************
마스터코드의 의미(String)   [3] = 종료
마스터코드의 값(String)     [3] = N
마스터코드의 최대값(String) [3] = null
마스터코드의 최소값(String) [3] = null
마스터코드의 순서(String)   [3] = null
************************************************************
마스터코드의 의미(String)   [4] = 대기진행중
마스터코드의 값(String)     [4] = R
마스터코드의 최대값(String) [4] = null
마스터코드의 최소값(String) [4] = null
마스터코드의 순서(String)   [4] = null
************************************************************
PosCodeValueInfo-----------------------------------------------
마스터코드의 의미(String)   [R] = 대기진행중
마스터코드의 값(String)     [R] = R
마스터코드의 최대값(String) [R] = null
마스터코드의 최소값(String) [R] = null
마스터코드의 순서(String)   [R] = null
---------------------------------------------------------------

연차유형 (예2)

이 예제는 연차유형을 마스터코드에 적용한 예제 입니다.

메소드명 항목명
F 연차휴가 사용
M 연차반일사용(오전)
A 연차반일사용(오후)
PF 연차휴가 선사용
PM 연차반일선사용(오전)
PA 연차반일선사용(오후)

마스터코드 목록 화면

manager화면, 연차유형에 대한 마스터코드 목록 등록 화면.

Image

마스터코드 항목 화면

manager화면, 사용구분의 version 1.1에 대한 마스터코드 항목 등록 화면.

Image

API 사용

마스터코드의 코드 값 유효 여부 확인(Boolean)을 취득 및 마스터코드 정보 목록을 「값」으로 정렬 하는 하여(PosCodeValueList) 취득한다. 참고) 「값」이외의 「의미」, 「순서」별로 정렬 가능 하다.

Boolean MasterAccess.checkCodeValue(codeID 마스터코드ID, category 카테고리 , codevalue 코드값 );
PosCodeValueList MasterAccess.getCodeListOrderByValue(codeID 마스터코드ID, category 카테고리, isAsc 순정렬 여부);
PosCodeValueList MasterAccess.getCodeListOrderByMean(codeID 마스터코드ID, category 카테고리, isAsc 순정렬 여부);
PosCodeValueList MasterAccess.getCodeListOrderBySequence(codeID 마스터코드ID, category 카테고리, isAsc 순정렬 여부);

PosCodeValueInfo 대한 메소드

메소드명 내용
String getCodeValue() 코드값의 반환.
String getCodeMean() 코드의 의미를 반환한다.
String getMinValue() 코드의 최소값을 반환 한다.
String getMaxValue() 코드의 최대값을 반환 한다.
String getSequence() 코드의 순서를 반환 한다.

예)

//마스터코드2
String value = "A";
Boolean isCode3 = MasterAccess.checkCodeValue("OFF_TP", "COMMON", value); 
System.out.println("Boolean-------------------------------------------------------");
System.out.println("마스터코드의 유효 여부 (Boolean)  ["+ value + "] = " + isCode3 );
System.out.println("PosCodeValueList-----------------------------------------------");
PosCodeValueList posCode3List = MasterAccess.getCodeListOrderByValue("OFF_TP", "COMMON", true);
for (int i = 0; i < posCode3List.size(); i++) {
    PosCodeValueInfo codeInfo = posCode3List.get(i);
    System.out.println("마스터코드의 의미(String)   ["+i+"]  = " + codeInfo.getCodeMean());
    System.out.println("마스터코드의 값(String)     ["+i+"]  = " + codeInfo.getCodeValue());
    System.out.println("마스터코드의 최대값(String) ["+i+"]  = " + codeInfo.getMaxValue() );
    System.out.println("마스터코드의 최소값(String) ["+i+"]  = " + codeInfo.getMinValue() );
    System.out.println("마스터코드의 순서(String)   ["+i+"]  = " + codeInfo.getSequence() );
    System.out.println("************************************************************");
}

출력 결과

Boolean-------------------------------------------------------
마스터코드의 유효 여부 (Boolean)  [A] = true
PosCodeValueList-----------------------------------------------
마스터코드의 의미(String)    [0] = 연차반일사용(오후)
마스터코드의 값(String)      [0] = A
마스터코드의 최대값(String)  [0] = null
마스터코드의 최소값(String)  [0] = null
마스터코드의 순서(String)    [0] = 3
************************************************************
마스터코드의 의미(String)    [1] = 연차휴가 사용
마스터코드의 값(String)      [1] = F
마스터코드의 최대값(String)  [1] = null
마스터코드의 최소값(String)  [1] = null
마스터코드의 순서(String)    [1] = 1
************************************************************
마스터코드의 의미(String)    [2] = 연차반일사용(오전)
마스터코드의 값(String)      [2] = M
마스터코드의 최대값(String)  [2] = null
마스터코드의 최소값(String)  [2] = null
마스터코드의 순서(String)    [2] = 2
************************************************************
마스터코드의 의미(String)    [3] = 연차반일선사용(오후)
마스터코드의 값(String)      [3] = PA
마스터코드의 최대값(String)  [3] = null
마스터코드의 최소값(String)  [3] = null
마스터코드의 순서(String)    [3] = 6
************************************************************
마스터코드의 의미(String)    [4] = 연차휴가 선사용
마스터코드의 값(String)      [4] = PF
마스터코드의 최대값(String)  [4] = null
마스터코드의 최소값(String)  [4] = null
마스터코드의 순서(String)    [4] = 4
************************************************************
마스터코드의 의미(String)    [5] = 연차반일선사용(오전)
마스터코드의 값(String)      [5] = PM
마스터코드의 최대값(String)  [5] = null
마스터코드의 최소값(String)  [5] = null
마스터코드의 순서(String)    [5] = 5
************************************************************ 

범위 코드(Range Code)

재료코드 (예1)

이 예제는 재료코드를 마스터코드에 적용한 예제 입니다.

ID 항목명 최소값 최대값
LOV1 재료종류1 1 200
LOV2 재료종류2 201 400

마스터코드 목록 화면

manager화면, 재료코드에 대한 마스터코드 목록 등록 화면.

Image

마스터코드 항목 화면

manager화면, 재료코드에 대한 마스터코드 항목 등록 화면.

Image

API 사용

마스터코드의 코드값 범주 유효 여부 확인(Boolean)을 취득 및 마스터코드 정보 목록을 「값」으로 정렬 하는 하여(PosCodeValueList) 취득한다.

Boolean MasterAccess.isValidRangeValue(codeID 마스터코드ID, codeVer 마스터코드ver, String category 카테고리 );
PosCodeValueList MasterAccess.getCodeListOrderByValue(codeID 마스터코드ID, category 카테고리, isAsc 순정렬 여부);
PosCodeValueList MasterAccess.getCodeListOrderByMean(codeID 마스터코드ID, category 카테고리, isAsc 순정렬 여부);
PosCodeValueList MasterAccess.getCodeListOrderBySequence(codeID 마스터코드ID, category 카테고리, isAsc 순정렬 여부);

PosCodeValueInfo 대한 메소드

메소드명 내용
String getCodeValue() 코드값의 반환.
String getCodeMean() 코드의 의미를 반환한다.
String getMinValue() 코드의 최소값을 반환 한다.
String getMaxValue() 코드의 최대값을 반환 한다.
String getSequence() 코드의 순서를 반환 한다.

예)

//마스터코드3
String value = "LOV1";
int rangeValue = 101;
Boolean isCode4 = MasterAccess.isValidRangeValue("MATERIAL_CODE", "COMMON", value, rangeValue);
System.out.println("Boolean-------------------------------------------------------");
System.out.println("마스터코드의 범위 유효 여부 (Boolean)   ["+ value + "] = " + isCode4 );
System.out.println("PosCodeValueList-----------------------------------------------");
PosCodeValueList posCode4List = MasterAccess.getCodeListOrderByValue("MATERIAL_CODE", "COMMON", false);
for (int i = 0; i < posCode4List.size(); i++) {
    PosCodeValueInfo codeInfo = posCode4List.get(i);
    System.out.println("마스터코드의 의미(String)   ["+i+"] = " + codeInfo.getCodeMean());
    System.out.println("마스터코드의 값(String)     ["+i+"] = " + codeInfo.getCodeValue());
    System.out.println("마스터코드의 최대값(String) ["+i+"] = " + codeInfo.getMaxValue());
    System.out.println("마스터코드의 최소값(String) ["+i+"] = " + codeInfo.getMinValue());
    System.out.println("마스터코드의 순서(String)   ["+i+"] = " + codeInfo.getSequence());
    System.out.println("************************************************************");
}

출력 결과

Boolean-------------------------------------------------------
마스터코드의 범위 유효 여부 (Boolean)   [LOV1] = true
PosCodeValueList-----------------------------------------------
마스터코드의 의미(String)    [0] = 재료종류2
마스터코드의 값(String)      [0] = LOV2
마스터코드의 최대값(String)  [0] = 400
마스터코드의 최소값(String)  [0] = 201
마스터코드의 순서(String)    [0] = null
************************************************************
마스터코드의 의미(String)    [1] = 재료종류1
마스터코드의 값(String)      [1] = LOV1
마스터코드의 최대값(String)  [1] = 200
마스터코드의 최소값(String)  [1] = 1
마스터코드의 순서(String)    [1] = null
************************************************************

바코드 예제 (예2)

이 예제는 단축형 바코드 8자리의 마스터코드에 적용한 예제 입니다.(체크디지트 제외)

Image

ID 항목명 최소값 최대값
880123 재조업체종류1 1 9
880124 재조업체종류2 1 9
885123 재조업체종류3 1 9

마스터코드 목록 화면

manager화면, 단축형 바코드에 대한 마스터코드 목록 등록 화면.

Image

마스터코드 항목 화면

manager화면, 단축형 바코드에 대한 마스터코드 항목 등록 화면.

Image

API 사용

마스터코드의 코드값 범주 유효 여부 확인(Boolean)을 취득 및 문자열로 시작하는 마스터코드 정보 목록(PosCodeValueList)을 취득한다.

PosCodeValueList MasterAccess.isValidRangeValue(codeID 마스터코드ID, codeVer 마스터코드ver, String category 카테고리 );
PosCodeValueList MasterAccess.getCodeListStarWith(codeID 마스터코드ID, category 카테고리, isAsc 순정렬 여부);

PosCalcValueInfo 대한 메소드

메소드명 내용
String getHeaderInfo() 마스터 헤더 정보를 반환한다.
String getFormula() 계산수식 공식을 반환한다.
Map<String, String> getInputValues() 입력값 맵을 반환한다.
BigDecimal getCalcResultValue() 계산수식 결과를 반환한다.

예)

//마스터코드5
String value = "888123";
int rangeValue = 10;
Boolean isCode5 = MasterAccess.isValidRangeValue("SHORT_BARCODE", "COMMON", value, rangeValue);
System.out.println("Boolean-------------------------------------------------------");
System.out.println("마스터코드의 범위 유효 여부 (Boolean)   ["+ value + "] = " + isCode5 );
System.out.println("PosCodeValueList-----------------------------------------------");
PosCodeValueList posCode5List = MasterAccess.getCodeListStartWith("SHORT_BARCODE", "COMMON", "880");
for (int i = 0; i < posCode5List.size(); i++) {
    PosCodeValueInfo codeInfo = posCode5List.get(i);
    System.out.println("마스터코드의 의미(String)   ["+i+"] = " + codeInfo.getCodeMean());
    System.out.println("마스터코드의 값(String)     ["+i+"] = " + codeInfo.getCodeValue());
    System.out.println("마스터코드의 최대값(String) ["+i+"] = " + codeInfo.getMaxValue());
    System.out.println("마스터코드의 최소값(String) ["+i+"] = " + codeInfo.getMinValue());
    System.out.println("마스터코드의 순서(String)   ["+i+"] = " + codeInfo.getSequence());
    System.out.println("************************************************************");
}

출력 결과

Boolean-------------------------------------------------------
마스터코드의 범위 유효 여부 (Boolean)   [888123] = false
PosCodeValueList-----------------------------------------------
마스터코드의 의미(String)    [0] = 제조업체종류1
마스터코드의 값(String)      [0] = 880123
마스터코드의 최대값(String)  [0] = 9
마스터코드의 최소값(String)  [0] = 1
마스터코드의 순서(String)    [0] = null
************************************************************
마스터코드의 의미(String)    [1] = 제조업체종류2
마스터코드의 값(String)      [1] = 880124
마스터코드의 최대값(String)  [1] = 9
마스터코드의 최소값(String)  [1] = 1
마스터코드의 순서(String)    [1] = null
************************************************************