이 예제는 구구단 수식을 계산수식의 단순수식에 적용한 경우의 예제 입니다. 그리고 version 1, version 1.1의 API의 사용에 대해서도 같이 기술 하였습니다.
manager화면, 구구단의 version 1, 1.1에 대한 입력 항목 화면.
그림 : 구구단 - 입력항목 화면(version 1, 1.1) |
해당 version에 대한 마스터의 결과(PosCalcValueInfo)를 취득한다.
PosCalcValueInfo MasterAccess.getCalcValueInfo(calcID 계산수식 ID, calcVer 계산수식 버전, inputParamList 입력값(배열)); |
PosCalcValueInfo 대한 메소드
메소드명 | 내용 |
---|---|
String getHeaderInfo() | 마스터 헤더 정보를 반환한다. |
String getFormula() | 계산수식 공식을 반환한다. |
MapString, String getInputValues() | 입력값 맵을 반환한다. |
BigDecimal getCalcResultValue() | 계산수식 결과를 반환한다. |
예)
//parameter 구성 List<String[]> inputParams = new ArrayList<String[]>(); inputParams.add( new String[] { "9" } ); inputParams.add( new String[] { "8" } ); // version 1의 계산 결과에 대한 출력 PosCalcValueInfo posCalc2 = MasterAccess.getCalcValueInfo( "CALFORM01", "1" ,inputParams ); System.out.println("-------------------------------------------------------------"); System.out.println("계산 헤드 정보(String) = " + posCalc2.getHeaderInfo()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 수식 공식(String) = " + posCalc2.getFormula()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 항목(Map<String, String>) = " + posCalc2.getInputValues()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 수식 결과값(BigDecimal) = " + posCalc2.getCalcResultValue()); System.out.println("-------------------------------------------------------------");
출력 결과(version 1)
------------------------------------------------------------- 계산 헤드 정보(String) = Master Type : Calculation Rule ID : CALFORM01 Version : 1 Master Name : 구구단 Detail Type : Simple Formula Expiration Period : 2014-03-07 00:00:00.0 ~ 2999-12-31 23:59:00.0 ------------------------------------------------------------- 계산 수식 공식(String) = V1-V2 ------------------------------------------------------------- 계산 항목(Map<String, String>) = {V2=8, V1=9} ------------------------------------------------------------- 계산 수식 결과값(BigDecimal) = 1 -------------------------------------------------------------
가장 최신 버전에 해당한 마스터 결과(PosCalcValueInfo)를 취득한다.
PosCalcValueInfo MasterAccess.getCalcValueInfo(calcID 계산수식 ID, inputParamList 입력값(배열)); |
PosCalcValueInfo 대한 메소드
메소드명 | 내용 |
---|---|
String getHeaderInfo() | 마스터 헤더 정보를 반환한다. |
String getFormula() | 계산수식 공식을 반환한다. |
MapString, String getInputValues() | 입력값 맵을 반환한다. |
BigDecimal getCalcResultValue() | 계산수식 결과를 반환한다. |
예)
//parameter 구성 List<String[]> inputParams = new ArrayList<String[]>(); inputParams.add( new String[] { "9" } ); inputParams.add( new String[] { "8" } ); // 가장 최신 version에 대해서 계산 결과에 대한 출력 PosCalcValueInfo posCalc = MasterAccess.getCalcValueInfo( "CALFORM01", inputParams ); System.out.println("-------------------------------------------------------------"); System.out.println("계산 헤드 정보(String) = " + posCalc.getHeaderInfo()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 수식 공식(String) = " + posCalc.getFormula()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 항목(Map<String, String>) = " + posCalc.getInputValues()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 수식 결과값(BigDecimal) = " + posCalc.getCalcResultValue()); System.out.println("-------------------------------------------------------------");
출력 결과(최신버전)
------------------------------------------------------------- 계산 헤드 정보(String) = Master Type : Calculation Rule ID : CALFORM01 Version : 1.1 Master Name : 구구단 Detail Type : Simple Formula Expiration Period : 2014-03-07 00:00:00.0 ~ 2999-12-31 23:59:00.0 ------------------------------------------------------------- 계산 수식 공식(String) = V1*V2 ------------------------------------------------------------- 계산 항목(Map<String, String>) = {V2=8, V1=9} ------------------------------------------------------------- 계산 수식 결과값(BigDecimal) = 72 -------------------------------------------------------------
이 예제는 불쾌지수를 계산수식의 단순수식에 적용한 경우의 예제 입니다.
해당한 마스터 결과(PosCalcValueInfo)를 취득한다.
PosCalcValueInfo MasterAccess.getCalcValueInfo (calcID 계산수식 ID, inputParamList 입력값(배열)); |
PosCalcValueInfo 대한 메소드
메소드명 | 내용 |
---|---|
String getHeaderInfo() | 마스터 헤더 정보를 반환한다. |
String getFormula() | 계산수식 공식을 반환한다. |
MapString, String getInputValues() | 입력값 맵을 반환한다. |
BigDecimal getCalcResultValue() | 계산수식 결과를 반환한다. |
예)
//계산수식2 //parameter 구성 List<String[]> inputParams2 = new ArrayList<String[]>(); inputParams2.add( new String[] { "15" } );//현재온도 inputParams2.add( new String[] { "0.5" } );//상대습도 // 계산 결과에 대한 출력 PosCalcValueInfo posCalc3 = MasterAccess.getCalcValueInfo( "CALFORM03", inputParams2 ); System.out.println("-------------------------------------------------------------"); System.out.println("계산 헤드 정보(String) = " + posCalc3.getHeaderInfo()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 수식 공식(String) = " + posCalc3.getFormula()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 항목(Map<String, String>) = " + posCalc3.getInputValues()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 수식 결과값(BigDecimal) = " + posCalc3.getCalcResultValue()); System.out.println("-------------------------------------------------------------");
출력 결과
------------------------------------------------------------- 계산 헤드 정보(String) = Master Type : Calculation Rule ID : CALFORM03 Version : 1 Master Name : 불쾌지수 Detail Type : Simple Formula Expiration Period : 2014-03-09 00:00:00.0 ~ 2999-12-31 23:59:00.0 ------------------------------------------------------------- 계산 수식 공식(String) = (9/5)*V1-0.55*(1-V2)*(9/5*V1-26)+32 ------------------------------------------------------------- 계산 항목(Map<String, String>) = {V2=0.5, V1=15} ------------------------------------------------------------- 계산 수식 결과값(BigDecimal) = 59 -------------------------------------------------------------
이 예제는 주택 취등록세 계산수식을 판단수식에 적용한 경우의 예제 입니다.
구분 | 취득세율 | 농특세율 | 교육세율 | 합계 | |
---|---|---|---|---|---|
6억이하 | 85㎡이하 | 1% | - | 0.1% | 1.1% |
85㎡초과 | 1% | 0.65% | 0.1% | 1.75% | |
9억이하 | 85㎡이하 | 2% | - | 0.2% | 2.2% |
85㎡초과 | 2% | 0.5% | 0.2% | 2.5% | |
9억초과 | 85㎡이하 | 3% | - | 0.3% | 3.3% |
85㎡초과 | 3% | 0.35% | 0.3% | 3.65% |
해당한 마스터 결과(PosCalcValueInfo)를 취득한다.
PosCalcValueInfo MasterAccess.getCalcValueInfo (calcID 계산수식 ID, inputParamList 입력값(배열)); |
PosCalcValueInfo 대한 메소드
메소드명 | 내용 |
---|---|
String getHeaderInfo() | 마스터 헤더 정보를 반환한다. |
String getFormula() | 계산수식 공식을 반환한다. |
MapString, String getInputValues() | 입력값 맵을 반환한다. |
BigDecimal getCalcResultValue() | 계산수식 결과를 반환한다. |
예)
//계산수식4 //parameter 구성 List<String[]> inputParams4 = new ArrayList<String[]>(); inputParams4.add( new String[] { "800000000" } );//금액 inputParams4.add( new String[] { "103" } );//면적 // 계산 결과에 대한 출력 PosCalcValueInfo posCalc4 = MasterAccess.getCalcValueInfo( "CALFORM04", inputParams4 ); System.out.println("-------------------------------------------------------------"); System.out.println("계산 헤드 정보(String) = " + posCalc4.getHeaderInfo()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 수식 공식(String) = " + posCalc4.getFormula()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 항목(Map<String, String>) = " + posCalc4.getInputValues()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 수식 결과값(BigDecimal) = " + posCalc4.getCalcResultValue()); System.out.println("-------------------------------------------------------------");
출력 결과
------------------------------------------------------------- 계산 헤드 정보(String) = Master Type : Calculation Rule ID : CALFORM04 Version : 1 Master Name : 취등록세 Detail Type : Conditional Formula Expiration Period : 2014-03-10 00:00:00.0 ~ 2999-12-31 23:59:00.0 ------------------------------------------------------------- 계산 수식 공식(String) = V1*(2+0.5+0.2)/100 ------------------------------------------------------------- 계산 항목(Map<String, String>) = {V2=103, V1=800000000} ------------------------------------------------------------- 계산 수식 결과값(BigDecimal) = 21600000 -------------------------------------------------------------
예제는 근로소득공제 금액을 계산수식을 판단수식에 적용한 경우의 예제 입니다.
해당한 마스터 결과(PosCalcValueInfo)를 취득한다.
PosCalcValueInfo MasterAccess.getCalcValueInfo (calcID 계산수식 ID, inputParamList 입력값(배열)); |
PosCalcValueInfo 대한 메소드
메소드명 | 내용 |
---|---|
String getHeaderInfo() | 마스터 헤더 정보를 반환한다. |
String getFormula() | 계산수식 공식을 반환한다. |
MapString, String getInputValues() | 입력값 맵을 반환한다. |
BigDecimal getCalcResultValue() | 계산수식 결과를 반환한다. |
예)
//계산수식5 //parameter 구성 List<String[]> inputParams5 = new ArrayList<String[]>(); inputParams5.add( new String[] { "50000000" } );//금액 // 계산 결과에 대한 출력 PosCalcValueInfo posCalc5 = MasterAccess.getCalcValueInfo( "CALFORM05", inputParams5 ); System.out.println("-------------------------------------------------------------"); System.out.println("계산 헤드 정보(String) = " + posCalc5.getHeaderInfo()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 수식 공식(String) = " + posCalc5.getFormula()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 항목(Map<String, String>) = " + posCalc5.getInputValues()); System.out.println("-------------------------------------------------------------"); System.out.println("계산 수식 결과값(BigDecimal) = " + posCalc5.getCalcResultValue()); System.out.println("-------------------------------------------------------------");
출력 결과
------------------------------------------------------------- 계산 헤드 정보(String) = Master Type : Calculation Rule ID : CALFORM05 Version : 1 Master Name : 근로소득공제 Detail Type : Conditional Formula Expiration Period : 2014-03-10 00:00:00.0 ~ 2999-12-31 23:59:00.0 ------------------------------------------------------------- 계산 수식 공식(String) = 12750000+(V1-45000000)*5/100 ------------------------------------------------------------- 계산 항목(Map<String, String>) = {V1=50000000} ------------------------------------------------------------- 계산 수식 결과값(BigDecimal) = 13000000 -------------------------------------------------------------