package egovframework.com.cmm.util; import java.util.HashMap; /** * 길이, 부피, 넓이, 무게 환산 데이터를 생성하는 Service Class 구현 * @author 공통서비스 장동한 * @since 2010.06.16 * @version 1.0 * @see
 * 개정이력(Modification Information)
 *
 *   수정일      수정자           수정내용
 *  -------    --------    ---------------------------
 *   2010.06.16  장동한          최초 생성
 *
 * 
*/ public class EgovUnitCalcUtil { //길이 HashMap g_hmVt = new HashMap(); //부피 HashMap g_hmVl = new HashMap(); //넓이 HashMap g_hmAr = new HashMap(); //무게 HashMap g_hmWt = new HashMap(); /** * 생성자를 통하여 길이, 부피, 넓이, 무게 환산 데이터를 생성한다. */ public EgovUnitCalcUtil(){ //길이 g_hmVt.put("vt0", (double)0); g_hmVt.put("vt1", (double)1); g_hmVt.put("vt2", 0.01); g_hmVt.put("vt3", (1/2.54)); g_hmVt.put("vt4", (1/30.48)); g_hmVt.put("vt5", (1/91.44)); g_hmVt.put("vt6", (1/160934.4)); g_hmVt.put("vt7", 0.033); g_hmVt.put("vt8", (0.033/6)); g_hmVt.put("vt9", (0.033/360)); g_hmVt.put("vt10", (0.033/1296)); //부피 g_hmVl.put("vl0", (double)0); g_hmVl.put("vl1", (1/0.18039)); g_hmVl.put("vl2", (1/1.8039)); g_hmVl.put("vl3", (1/18.039)); g_hmVl.put("vl4", 10000.0); g_hmVl.put("vl5", 0.001); g_hmVl.put("vl6", (double)1); g_hmVl.put("vl7", (1000/16.387064)); g_hmVl.put("vl8", (1000/Math.pow(2.54*12,3))); g_hmVl.put("vl9", (1000/Math.pow(2.54*36,3))); g_hmVl.put("vl10", (1000/(Math.pow(2.54,3)*231))); //넓이 g_hmAr.put("ar0", (double)0); g_hmAr.put("ar1", (double)(1089/100)); g_hmAr.put("ar2", (double)(1089/3600)); g_hmAr.put("ar3", (double)(1089/1080000)); g_hmAr.put("ar4", (double)(1089/10800000)); g_hmAr.put("ar5", (double)1); g_hmAr.put("ar6", 0.01); g_hmAr.put("ar7", (1/Math.pow(2.54*12/100,2))); g_hmAr.put("ar8", (1/Math.pow(2.54*36/100,2))); g_hmAr.put("ar9", (1/(Math.pow(2.54*36/100,2)*4840))); g_hmAr.put("ar10", 0.0001); //무게 g_hmWt.put("wt0", (double)0); g_hmWt.put("wt1", (double)1); g_hmWt.put("wt2", (double)1000); g_hmWt.put("wt3", 0.001); g_hmWt.put("wt4", 0.000001); g_hmWt.put("wt5", (1/0.06479891)); g_hmWt.put("wt6", (16/453.59237)); g_hmWt.put("wt7", (1/453.59237)); g_hmWt.put("wt8", (1/3.75)); g_hmWt.put("wt9", (1/37.5)); g_hmWt.put("wt10", (double)(1/600)); g_hmWt.put("wt11", (double)(1/3750)); } /** * 길이단위를 환산하여 리턴한다. * @param nLength -길이 * @param sLengthUnit-길이 단위 * @param sLengthUnitAs-길이 환산 단위 * @return double -환산된 길이 */ public double convertLengthCalcUnit(double nLength, String sLengthUnit, String sLengthUnitAs){ double nSelAr = g_hmVt.get(sLengthUnit); double nSelArAs = g_hmVt.get(sLengthUnitAs); return (nSelArAs / nSelAr) * nLength; } /** * 부피단위를 환산하여 리턴한다. * @param nVolume -부피 * @param sVolumeUnit-부피 단위 * @param sVolumeUnitAs-부피 환산 단위 * @return double -환산된 부피 */ public double convertVolumeCalcUnit(double nVolume, String sVolumeUnit, String sVolumeUnitAs){ double nSelVl = g_hmVl.get(sVolumeUnit); double nSelVlAs = g_hmVl.get(sVolumeUnitAs); return (nSelVl / nSelVlAs) * nVolume; } /** * 무게단위를 환산하여 리턴한다. * @param nWeight -무게 * @param sWeightUnit -무게 단위 * @param sWeightUnitAs -무게 환산 단위 * @return double -환산된 무게 */ public double convertWeightCalcUnit(double nWeight, String sWeightUnit, String sWeightUnitAs){ double nSelWt = g_hmAr.get(sWeightUnit); double nSelWtAs = g_hmAr.get(sWeightUnitAs); return (nSelWt / nSelWtAs) * nWeight; } /** * 넓이단위를 환산하여 리턴한다. * @param nWidth -넓이 * @param sWidthUnit-넓이 단위 * @param sWidthUnitAs-넓이 환산 단위 * @return double -환산된 넓이 */ public double convertWidthCalcUnit(double nWidth, String sWidthUnit, String sWidthUnitAs){ double nSelAr = g_hmWt.get(sWidthUnit); double nSelArAs = g_hmWt.get(sWidthUnitAs); return (nSelAr / nSelArAs) * nWidth; } }