Przeglądaj źródła

QA 이슈 수정, 메뉴명 변경,

jslee(madeinlab) 3 lat temu
rodzic
commit
421a5b7441
28 zmienionych plików z 213 dodań i 218 usunięć
  1. BIN
      AutoPicture/libs/WallPadAPI.jar
  2. BIN
      LogOutputService/libs/WallPadAPI.jar
  3. BIN
      ManagerSetting/libs/WallPadAPI.jar
  4. BIN
      WallPadAPI/jar/WallPadAPI.jar
  5. 18 22
      WallPadAPI/src/main/java/com/artncore/WallPadDataMgr/wallpaddbmgr.java
  6. 1 0
      WallPadAPI/src/main/java/com/artncore/commons/define.java
  7. BIN
      WallPadAddService/libs/WallPadAPI.jar
  8. BIN
      WallPadCall/libs/WallPadAPI.jar
  9. BIN
      WallPadConfig/libs/WallPadAPI.jar
  10. BIN
      WallPadEmergency/libs/WallPadAPI.jar
  11. BIN
      WallPadEnergyCtrl/libs/WallPadAPI.jar
  12. 1 1
      WallPadEnergyCtrl/src/main/AndroidManifest.xml
  13. 9 6
      WallPadEnergyCtrl/src/main/java/kr/co/icontrols/wallpadenergyctrl/imap/iMAPRemotemeter.java
  14. 1 1
      WallPadEnergyCtrl/src/main/java/kr/co/icontrols/wallpadenergyctrl/screen/RemoteMeterMainScreen.java
  15. 2 2
      WallPadEnergyCtrl/src/main/java/kr/co/icontrols/wallpadenergyctrl/screen/VIPIcEnergyMgrScreen.java
  16. 86 122
      WallPadEnergyCtrl/src/main/java/kr/co/icontrols/wallpadenergyctrl/screen/VIPRemoteMeterMainScreen.java
  17. BIN
      WallPadGlobalButton/libs/WallPadAPI.jar
  18. BIN
      WallPadGlobalScreen/libs/WallPadAPI.jar
  19. BIN
      WallPadHomeCtrl/libs/WallPadAPI.jar
  20. 1 1
      WallPadHomeCtrl/src/main/AndroidManifest.xml
  21. 52 44
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_gas/HybridCookTopMainScreen.java
  22. 8 6
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/HybridCookTopTestScreen.java
  23. 33 12
      WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/ParkingDoorMainScreen.java
  24. BIN
      WallPadMain/libs/WallPadAPI.jar
  25. 1 1
      WallPadMain/src/main/AndroidManifest.xml
  26. BIN
      WallPadMultiControlService/libs/WallPadAPI.jar
  27. BIN
      WallPadOutmodeRun/libs/WallPadAPI.jar
  28. BIN
      WallPadSecurity/libs/WallPadAPI.jar

BIN
AutoPicture/libs/WallPadAPI.jar


BIN
LogOutputService/libs/WallPadAPI.jar


BIN
ManagerSetting/libs/WallPadAPI.jar


BIN
WallPadAPI/jar/WallPadAPI.jar


+ 18 - 22
WallPadAPI/src/main/java/com/artncore/WallPadDataMgr/wallpaddbmgr.java

@@ -2617,30 +2617,26 @@ public class wallpaddbmgr {
             InsertinitWidgetData(11, define.ICONS.MENUS.SETTING_CONFIG.getID());
         }
         else if(mModelType == Version.MODEL_TYPE.IHN_D101_I_LX2 || mModelType == Version.MODEL_TYPE.IHN_D101_I_OCF){
-            InsertinitWidgetData(0, define.ICONS.MENUS.TALK_NEIGHBOR.getID());
-            InsertinitWidgetData(1, define.ICONS.MENUS.TALK_FRONT.getID());
-            InsertinitWidgetData(2, define.ICONS.MENUS.TALK_CALLHISTORY.getID());
-            InsertinitWidgetData(3, define.ICONS.MENUS.TALK_VISITORPIC.getID());
-            InsertinitWidgetData(4, define.ICONS.MENUS.CTRL_HEATING.getID());
-            InsertinitWidgetData(5, define.ICONS.MENUS.CTRL_VENT.getID());
-            InsertinitWidgetData(6, define.ICONS.MENUS.CTRL_SYSTEMAIRCON.getID());
-            InsertinitWidgetData(7, define.ICONS.MENUS.CTRL_LIGHT.getID());   // 조명
-            InsertinitWidgetData(8, define.ICONS.MENUS.CTRL_GAS.getID());
-            InsertinitWidgetData(9, define.ICONS.MENUS.ENERGY_REMOTEMETER.getID());   // 원격검침
-            InsertinitWidgetData(10, define.ICONS.MENUS.ENERGY_ENERGYCONSUMPTION.getID());   // 에너지 사용량
-            InsertinitWidgetData(11, define.ICONS.MENUS.SETTING_CONFIG.getID());
+            InsertinitWidgetData(0, define.ICONS.MENUS.TALK_FRONT.getID());        //현관
+            InsertinitWidgetData(1, define.ICONS.MENUS.TALK_NEIGHBOR.getID());      //이웃
+            InsertinitWidgetData(2, define.ICONS.MENUS.TALK_CALLHISTORY.getID());   //통화내역
+            InsertinitWidgetData(3, define.ICONS.MENUS.TALK_VISITORPIC.getID());    //방문자 사진
+            InsertinitWidgetData(4, define.ICONS.MENUS.CTRL_LIGHT.getID());         // 조명
+            InsertinitWidgetData(5, define.ICONS.MENUS.CTRL_HEATING.getID());       //난방
+            InsertinitWidgetData(6, define.ICONS.MENUS.CTRL_GAS.getID());           //가스
+            InsertinitWidgetData(7, define.ICONS.MENUS.CTRL_SYSTEMAIRCON.getID());  //시스템에어컨
+            InsertinitWidgetData(8, define.ICONS.MENUS.CTRL_VENT.getID());          //환기
+            InsertinitWidgetData(9, define.ICONS.MENUS.CTRL_PARKINGDOOR.getID());   //주차출입문
+            InsertinitWidgetData(10, define.ICONS.MENUS.ADD_WEATHER.getID());      //날씨
+            InsertinitWidgetData(11, define.ICONS.MENUS.SETTING_CONFIG.getID());    //환경설정
         }
         else if(mModelType == Version.MODEL_TYPE.IHN_1010_I_LX2){
-            InsertinitWidgetData(0, define.ICONS.MENUS.TALK_NEIGHBOR.getID());
-            InsertinitWidgetData(1, define.ICONS.MENUS.TALK_FRONT.getID());
-            InsertinitWidgetData(2, define.ICONS.MENUS.TALK_CALLHISTORY.getID());
-            InsertinitWidgetData(3, define.ICONS.MENUS.TALK_VISITORPIC.getID());
-            InsertinitWidgetData(4, define.ICONS.MENUS.SETTING_CLREANSCREEN.getID());
-            InsertinitWidgetData(5, define.ICONS.MENUS.SETTING_CONFIG.getID());
-            InsertinitWidgetData(6, define.ICONS.MENUS.SETTING_CALENDAR.getID());
-            InsertinitWidgetData(7, define.ICONS.MENUS.ADD_WEATHER.getID());
-            InsertinitWidgetData(8, define.ICONS.MENUS.ENERGY_REMOTEMETER.getID());
-            InsertinitWidgetData(9, define.ICONS.MENUS.ENERGY_ENERGYCONSUMPTION.getID());
+            InsertinitWidgetData(0, define.ICONS.MENUS.TALK_FRONT.getID());         //현관
+            InsertinitWidgetData(1, define.ICONS.MENUS.TALK_NEIGHBOR.getID());      //이웃
+            InsertinitWidgetData(2, define.ICONS.MENUS.TALK_CALLHISTORY.getID());   //통화내역
+            InsertinitWidgetData(3, define.ICONS.MENUS.TALK_VISITORPIC.getID());    //방문자사진
+            InsertinitWidgetData(4, define.ICONS.MENUS.ADD_WEATHER.getID());        //날씨
+            InsertinitWidgetData(5, define.ICONS.MENUS.SETTING_CONFIG.getID());     //환경설정
         }
         else if (mModelType == Version.MODEL_TYPE.IHN_HS101 || mModelType == Version.MODEL_TYPE.IHN_HS101_I) {
             InsertinitWidgetData(0, define.ICONS.MENUS.MAIN_CALRENDAR.getID());   // 달력/시계

+ 1 - 0
WallPadAPI/src/main/java/com/artncore/commons/define.java

@@ -567,6 +567,7 @@ public class define {
 			CTRL_COOKTOPOUTLET(MENU_CTRL + 10, "쿡탑콘센트", "Cooktop\noutlet"),
 			CTRL_CURTAIN(MENU_CTRL + 11, "커튼", "Curtain"),
 			CTRL_SYSTEMAIRCON(MENU_CTRL + 12, "시스템에어컨", "System Aircon"),
+			CTRL_PARKINGDOOR(MENU_CTRL + 13, "주차출입문", "ParkingDoor"),
 
 			ADD_NOTICE(MENU_ADD + 1, "공지사항", "Notice"),
 			ADD_WEATHER(MENU_ADD + 2, "날씨", "Weather"),

BIN
WallPadAddService/libs/WallPadAPI.jar


BIN
WallPadCall/libs/WallPadAPI.jar


BIN
WallPadConfig/libs/WallPadAPI.jar


BIN
WallPadEmergency/libs/WallPadAPI.jar


BIN
WallPadEnergyCtrl/libs/WallPadAPI.jar


+ 1 - 1
WallPadEnergyCtrl/src/main/AndroidManifest.xml

@@ -1,7 +1,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="kr.co.icontrols.wallpadenergyctrl"
     android:versionCode="01"
-    android:versionName="2022.01.25.01">
+    android:versionName="2022.04.08.01">
 
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

+ 9 - 6
WallPadEnergyCtrl/src/main/java/kr/co/icontrols/wallpadenergyctrl/imap/iMAPRemotemeter.java

@@ -202,12 +202,13 @@ public class iMAPRemotemeter extends WallPadiMAPClient{
         
         return retXML;
     }
-    private String GetXMLGetRemoteMeterVIP(boolean isDistinguishYear, boolean kepco, boolean eleccar, boolean photovoltaics, boolean fuelcell, int year, int month)
+    private String GetXMLGetRemoteMeterVIP(boolean isDistinguishYear, boolean kepco, boolean eleccar1, boolean eleccar2, boolean photovoltaics, boolean fuelcell, int year, int month)
     {
         String retXML = null;
 
         String kepco_String = null;
-        String eleccar_String = null;
+        String eleccar1_String = null;
+        String eleccar2_String = null;
         String photovoltaics_String = null;
         String fuelcell_String = null;
 
@@ -218,7 +219,8 @@ public class iMAPRemotemeter extends WallPadiMAPClient{
         }
 
         kepco_String = kepco==true?"yes":"no";
-        eleccar_String = eleccar==true?"yes":"no";
+        eleccar1_String = eleccar1==true?"yes":"no";
+        eleccar2_String = eleccar2==true?"yes":"no";
         photovoltaics_String = photovoltaics==true?"yes":"no";
         fuelcell_String = fuelcell==true?"yes":"no";
 
@@ -226,7 +228,8 @@ public class iMAPRemotemeter extends WallPadiMAPClient{
                 "   <service type = \"request\" name= \"get_elec_metering\">\r\n"+
                 "      <guidemap distinguish=\""+isDistinguishYear_String+"\""
                 +" kepco=\""+kepco_String+"\""
-                +" eleccar=\""+eleccar_String+"\""
+                +" eleccar1=\""+eleccar1_String+"\""
+                +" eleccar2=\""+eleccar2_String+"\""
                 +" photovoltaics=\""+photovoltaics_String+"\""
                 +" fuelcell=\""+fuelcell_String+"\">\r\n"+
                 "         <datelist year=\""+year+ "\" month=\""+month+"\" />\r\n"+
@@ -352,10 +355,10 @@ public class iMAPRemotemeter extends WallPadiMAPClient{
         SendXMLDoc(GetXMLGetRemoteMeter(isDistinguishYear, elect, gas, water, hotwater, energy, carbon, support_ems, year, month), true);
     }
 
-    public void DoWorkVIP(boolean isDistinguishYear, boolean kepco, boolean eleccar, boolean photovoltaics, boolean fuelcell, int year, int month)
+    public void DoWorkVIP(boolean isDistinguishYear, boolean kepco, boolean eleccar1, boolean eleccar2, boolean photovoltaics, boolean fuelcell, int year, int month)
     {
         SetServerIPConfig(ServerIP, SvrPort);
-        SendXMLDoc(GetXMLGetRemoteMeterVIP(isDistinguishYear, kepco, eleccar, photovoltaics, fuelcell, year, month), true);
+        SendXMLDoc(GetXMLGetRemoteMeterVIP(isDistinguishYear, kepco, eleccar1, eleccar2, photovoltaics, fuelcell, year, month), true);
     }
 
     public void DoWDoWorkVIP_RealTime(boolean kepco, boolean eleccar, boolean photovoltaics, boolean fuelcell)

+ 1 - 1
WallPadEnergyCtrl/src/main/java/kr/co/icontrols/wallpadenergyctrl/screen/RemoteMeterMainScreen.java

@@ -2423,7 +2423,7 @@ public class RemoteMeterMainScreen extends WpadScreen{
 			{
 				case 0: //당월
 					//imapRemotemeter.DoWork(true, true, true, true, true, true, true, mEMS_Enable, year, month);
-					imapRemotemeter.DoWorkVIP(true, true, true, true, true, year, month);
+					imapRemotemeter.DoWorkVIP(true, true, true, true, true, true, year, month);
 					break;
 
 				case 1: //일별

+ 2 - 2
WallPadEnergyCtrl/src/main/java/kr/co/icontrols/wallpadenergyctrl/screen/VIPIcEnergyMgrScreen.java

@@ -3069,12 +3069,12 @@ public class VIPIcEnergyMgrScreen extends WpadScreen {
             switch (inputType) {
                 case 0: //당월
                     //imapRemotemeter.DoWork(true, true, true, true, true, true, true, mEMS_Enable, year, month);
-                    imapRemotemeter.DoWorkVIP(true, true, false, true, true, year, month);
+                    imapRemotemeter.DoWorkVIP(true, true, false, true, true,true, year, month);
                     break;
 
                 case 1: //일별
                     //imapRemotemeter.DoWork(false, true, true, true, true, true, false, false, year, month);
-                    imapRemotemeter.DoWorkVIP(false, true, true, true, true, year, month);
+                    imapRemotemeter.DoWorkVIP(false, true, true, true, true, true, year, month);
                     break;
 
                 case 2: //Real Time

+ 86 - 122
WallPadEnergyCtrl/src/main/java/kr/co/icontrols/wallpadenergyctrl/screen/VIPRemoteMeterMainScreen.java

@@ -58,7 +58,7 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
     WpadImageView Show_ListTypeBG; //리스트의 배경 그리기
     WpadImageView Show_EnergyListTypeBG; //에너지 선택 리스트의 배경 그리기
     WpadImageView Show_BG_Calendar; //달력 배경
-    WpadImageView Show_BG_Discription; //에너지 설명 배경(예, 전기 사용량을 작년 3개월과 ...)
+    WpadImageView Show_BG_Description; //에너지 설명 배경(예, 전기 사용량을 작년 3개월과 ...)
     WpadImageView Show_BG_Graph; //에너지 그래프 배경
     WpadImageView Show_Today;
     WpadImageView Show_Calendar_Item[] = new WpadImageView[31];
@@ -147,7 +147,7 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
     boolean mOpenListMonth = false;
     int mCalendarItemIndex = 0;
     MonthTableClass monthTableClass[] = new MonthTableClass[6];
-    MonthTableClass monthTableClassRight[] = new MonthTableClass[4];
+    MonthTableClass monthTableClassRight[] = new MonthTableClass[5];
     int mDrawRectIndex = 0;
     DrawRect drawRect[] = new DrawRect[478 * 6];
     int mDrawGraphValue = 0;
@@ -218,7 +218,8 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
     ArrayList<UsedValueArrayClass> arrayListGas = new ArrayList<UsedValueArrayClass>();
     ArrayList<UsedValueArrayClass> arrayListHotwater = new ArrayList<UsedValueArrayClass>();
     ArrayList<UsedValueArrayClass> arrayListEnergy = new ArrayList<UsedValueArrayClass>();
-    ArrayList<UsedValueArrayClass> arrayListElecCar = new ArrayList<UsedValueArrayClass>();
+    ArrayList<UsedValueArrayClass> arrayListElecCar1 = new ArrayList<UsedValueArrayClass>();
+    ArrayList<UsedValueArrayClass> arrayListElecCar2 = new ArrayList<UsedValueArrayClass>();
 
     // [Class]
     class CalendarClass {
@@ -523,12 +524,9 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
 
             if (TargetId == ID.RemoteMeterMainScreenID.text.TITLE) {
                 DebugLogOutput("onTouchEvent - ID: " + ID.RemoteMeterMainScreenID.text.TITLE);
-                //Sound().Play(SND.effect.TOUCH_LATCHED);
             }
 
             if (TargetId == ID.RemoteMeterMainScreenID.button.SHOW_TYPE) {
-                //Sound().Play(SND.effect.TOUCH_LATCHED);
-
                 if (mOpenList == false) //리스트 열기
                 {
                     mOpenList = true;
@@ -831,11 +829,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
      */
     private void LoadCalendarArray(int Year, int Month) {
         mCal.set(Year, Month, 1); //월(0~11, 0:1월):
-
-        //Log.d(TAG, "Year:"+ mCal.get(Calendar.YEAR));
-        //Log.d(TAG, "Month:"+ mCal.get(Calendar.MONTH));
-        //Log.d(TAG, "Day:"+ mCal.get(Calendar.DAY_OF_MONTH));
-
         arraylist.add(new CalendarClass(0, 0, 0));
         for (int Week = 0; Week < 6; Week++) {
             for (int i = 0; i < 7; i++) {
@@ -881,8 +874,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
 
         switch (ShowNowTypeIndex) {
             case 0: //당월
-                //RemoveMonthEnergy();
-                //ShowMonthEnergy();
                 //vip
                 RemoveVipMonthEnergy();
                 ShowVipMonthEnergy();
@@ -1201,7 +1192,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
         getLayout().removeView(NEW_SEL_02_Text);
         getLayout().removeView(NEW_SEL_03_Text);
 
-
         mShowListType = new WpadImageView(getContext(), TOUCH_KIND.BUTTON, 230, 55, R.drawable.but_title, R.drawable.but_title_p, ID.RemoteMeterMainScreenID.button.SHOW_TYPE);
         ViewRegistration(getLayout(), mShowListType, Common.ImgPosion.GetX(957), Common.ImgPosion.GetY(132));
         mShowListTypeText = new WpadTextView(getContext(), false, 230, 55, Gravity.CENTER, Color.WHITE, Common.fontsize._36, false, ID.RemoteMeterMainScreenID.text.TEXT_INFO);
@@ -1250,7 +1240,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
         } else {
             mListEnergy = new WpadImageView(getContext(), TOUCH_KIND.BUTTON, 230, 55, R.drawable.but_title_p, R.drawable.but_title, ID.RemoteMeterMainScreenID.button.SHOW_LIST_ENERGY_TYPE);
             ViewRegistration(getLayout(), mListEnergy, Common.ImgPosion.GetX(93), Common.ImgPosion.GetY(132));
-
         }
         //한글
         mShowListEnergyTypeText = new WpadTextView(getContext(), false, 200, 55, Gravity.LEFT, Color.WHITE, Common.fontsize._26_DEFAULT, true, ID.RemoteMeterMainScreenID.text.TEXT_INFO);
@@ -1299,7 +1288,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
     private void ShowMainPage() {
         switch (ShowNowTypeIndex) {
             case 0:
-                //ShowMonthEnergy();
                 //VIP용 당월
                 ShowVipMonthEnergy();
                 break;
@@ -1482,18 +1470,35 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
 
      */
     private void ShowMonthEnergyDataRight(int Margin_y) {
-        String tempMonthItem = "";
+        String eleccar1MonthItem = "";
+        String eleccar2MonthItem = "";
+        double total = 0;
         int TempMargin_y_ForEnergyNum2 = 0;
-        for (int i = 0; i < 3; i++) {
-            tempMonthItem = monthTableClassRight[1].Use;
+        eleccar1MonthItem = monthTableClassRight[1].Use;
+        eleccar2MonthItem = monthTableClassRight[4].Use;
 
-            Show_MonthTable_Item_Use_Text_RIGHT[i] = new WpadTextView(getContext(), false, 295, 90, Gravity.CENTER, Color.WHITE, Common.fontsize._26_DEFAULT, false, ID.RemoteMeterMainScreenID.text.TEXT_INFO);
-            ViewRegistration(getLayout(), Show_MonthTable_Item_Use_Text_RIGHT[i],
-                    Common.ImgPosion.GetX(312),
-                    Common.ImgPosion.GetY(293 + (i * Margin_y) + TempMargin_y_ForEnergyNum2));
-            if (Show_MonthTable_Item_Use_Text_RIGHT[i] != null)
-                Show_MonthTable_Item_Use_Text_RIGHT[i].setText(tempMonthItem);
-        }
+        total = Double.valueOf(eleccar1MonthItem) + Double.valueOf(eleccar2MonthItem);
+
+        Show_MonthTable_Item_Use_Text_RIGHT[0] = new WpadTextView(getContext(), false, 295, 90, Gravity.CENTER, Color.WHITE, Common.fontsize._26_DEFAULT, false, ID.RemoteMeterMainScreenID.text.TEXT_INFO);
+        ViewRegistration(getLayout(), Show_MonthTable_Item_Use_Text_RIGHT[0],
+                Common.ImgPosion.GetX(312),
+                Common.ImgPosion.GetY(293 + (0 * Margin_y) + TempMargin_y_ForEnergyNum2));
+        if (Show_MonthTable_Item_Use_Text_RIGHT[0] != null)
+            Show_MonthTable_Item_Use_Text_RIGHT[0].setText(eleccar1MonthItem);
+
+        Show_MonthTable_Item_Use_Text_RIGHT[1] = new WpadTextView(getContext(), false, 295, 90, Gravity.CENTER, Color.WHITE, Common.fontsize._26_DEFAULT, false, ID.RemoteMeterMainScreenID.text.TEXT_INFO);
+        ViewRegistration(getLayout(), Show_MonthTable_Item_Use_Text_RIGHT[0],
+                Common.ImgPosion.GetX(312),
+                Common.ImgPosion.GetY(293 + (1 * Margin_y) + TempMargin_y_ForEnergyNum2));
+        if (Show_MonthTable_Item_Use_Text_RIGHT[1] != null)
+            Show_MonthTable_Item_Use_Text_RIGHT[1].setText(eleccar2MonthItem);
+
+        Show_MonthTable_Item_Use_Text_RIGHT[2] = new WpadTextView(getContext(), false, 295, 90, Gravity.CENTER, Color.WHITE, Common.fontsize._26_DEFAULT, false, ID.RemoteMeterMainScreenID.text.TEXT_INFO);
+        ViewRegistration(getLayout(), Show_MonthTable_Item_Use_Text_RIGHT[0],
+                Common.ImgPosion.GetX(312),
+                Common.ImgPosion.GetY(293 + (2 * Margin_y) + TempMargin_y_ForEnergyNum2));
+        if (Show_MonthTable_Item_Use_Text_RIGHT[2] != null)
+            Show_MonthTable_Item_Use_Text_RIGHT[2].setText(total + "");
     }
 
     private void ShowMonthEnergyDataCenter(int Margin_x, int Margin_y) {
@@ -1534,17 +1539,13 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
      */
     private void ShowDayEnergy() {
         ShowListEnergy(false);
-
         Show_BG_Calendar = new WpadImageView(getContext(), TOUCH_KIND.NONE, 1094, 532, R.drawable.bg, 0, ID.RemoteMeterMainScreenID.image.BG_CALENDAR);
         ViewRegistration(getLayout(), Show_BG_Calendar, Common.ImgPosion.GetX(93), Common.ImgPosion.GetY(221));
 
-
         ShowCalendar();
         if (mSampleShow == Common.MODE_NOMAL) {
             LoadRemotemeterDataFromServer(ShowNowTypeIndex, CalendarYear, CalendarMonth, ShowNowEnergyIndex);
         }
-
-
     }
 
     /**
@@ -1554,9 +1555,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
         //setTopSetTargetBtnVisible(false);
         ShowListEnergy(false);
 
-        //Show_BG_Discription = new WpadImageView(getContext(), TOUCH_KIND.NONE, 645, 42, R.drawable.discription_bg, 0, ID.RemoteMeterMainScreenID.image.BG_DISCRIPTION);
-        //ViewRegistration(getLayout(), Show_BG_Discription, ImgPosion.GetX(337), ImgPosion.GetY(163));
-
         Show_BG_Graph = new WpadImageView(getContext(), TOUCH_KIND.NONE, 890, 482, R.drawable.graph_bg_year, 0, ID.RemoteMeterMainScreenID.image.BG_GRAPH);
         ViewRegistration(getLayout(), Show_BG_Graph, Common.ImgPosion.GetX(202), Common.ImgPosion.GetY(257));
 
@@ -1567,7 +1565,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
 
         Show_3Month_Discription_Text.setText(ShowListEnergyType_String[ShowNowEnergyIndex] + "사용량을 작년 3개월과 올해 3개월분 비교 데이터입니다.");
 
-
         if (mSampleShow == Common.MODE_BUSINESS_SAMPLE) {
             int MaxValue = 1801;
             int FirstValue[] = new int[2];
@@ -1592,7 +1589,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
 
             //최근 3개월 비교일때 point_x : 274,378,570,674,866,970 (x축 위치)
             //전년비 비교 or 최근 6개월 비교일때 252 시작으로 148씩 더하면 됨
-
             DrawGraphAfterCalc((float) MaxValue, FirstValue[0], true, 252, true, "2013.01");
             DrawGraphAfterCalc((float) MaxValue, FirstValue[1], false, 252 + (148 * 1), true, "2014.01");
 
@@ -1608,7 +1604,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
 
             //Get Data from Server
             LoadRemotemeterDataFromServer(ShowNowTypeIndex, CalendarYear, -1, ShowNowEnergyIndex);
-
         }
     }
 
@@ -1623,7 +1618,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
         LoadCalendarArray(CalendarYear, CalendarMonth);
 
         for (int i = 1; i <= mCal.getActualMaximum(Calendar.DATE); i++) {
-
             if ((i + mCal.get(Calendar.DAY_OF_WEEK) - 1) % 7 == 1) {
                 DayOfWeekColor = Color.RED;
             } else if ((i + mCal.get(Calendar.DAY_OF_WEEK) - 1) % 7 == 0) {
@@ -1643,7 +1637,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                         Common.ImgPosion.GetX(arraylist.get(i + mCal.get(Calendar.DAY_OF_WEEK) - 1).getStart_X() + 36), //요일(1~7, 1:일요일)
                         Common.ImgPosion.GetY(arraylist.get(i + mCal.get(Calendar.DAY_OF_WEEK) - 1).getStart_Y()));
             }
-
         }
 
         if ((TodayYear == CalendarYear) && (TodayMonth == CalendarMonth)) {
@@ -1694,9 +1687,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
         //setTopSetTargetBtnVisible(false);
         ShowListEnergy(false);
 
-        //Show_BG_Discription = new WpadImageView(getContext(), TOUCH_KIND.NONE, 645, 42, R.drawable.discription_bg, 0, ID.RemoteMeterMainScreenID.image.BG_DISCRIPTION);
-        //ViewRegistration(getLayout(), Show_BG_Discription, ImgPosion.GetX(337), ImgPosion.GetY(163));
-
         Show_BG_Graph = new WpadImageView(getContext(), TOUCH_KIND.NONE, 890, 482, R.drawable.graph_bg, 0, ID.RemoteMeterMainScreenID.image.BG_GRAPH);
         ViewRegistration(getLayout(), Show_BG_Graph, Common.ImgPosion.GetX(202), Common.ImgPosion.GetY(257));
 
@@ -1778,8 +1768,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
             //Get Data from Server
             LoadRemotemeterDataFromServer(ShowNowTypeIndex, CalendarYear, -1, ShowNowEnergyIndex);
         }
-
-
     }
 
     //아래 날짜 기준
@@ -1789,7 +1777,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                 Common.ImgPosion.GetX(254 + (number * 296)),
                 Common.ImgPosion.GetY(746));
         Show_BottomGraphValue3Month_Text[number].setText(text);
-
     }
 
     /**
@@ -1826,7 +1813,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
             } else {
                 drawRect[i] = new DrawRect(getContext(), point_x, (737 - (i)), 1);
             }
-
             getLayout().addView(drawRect[i]);
         }
         //그래프 위에 그래프값 Text입력
@@ -1879,7 +1865,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
     private void RemoveListEnergy() {
         getLayout().removeView(mListEnergy);
         getLayout().removeView(mShowListEnergyTypeText);
-
     }
 
     /**
@@ -1924,7 +1909,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
     private void RemoveMainPage() {
         switch (ShowNowTypeIndex) {
             case 0:
-                //RemoveMonthEnergy();
                 //vip
                 RemoveVipMonthEnergy();
                 break;
@@ -1956,7 +1940,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
         getLayout().removeView(Show_MonthTableRow1);
         getLayout().removeView(Show_MonthTableEnergy);
 
-
         for (int i = 0; i < mNumberOfEnergy; i++) {
             getLayout().removeView(Show_MonthTable_Item_Use_Text_LEFT[i]);
         }
@@ -1971,7 +1954,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
         getLayout().removeView(Show_MonthVipTableEnergy2);
         getLayout().removeView(Show_MonthVipTableEnergy3);
 
-
         for (int i = 0; i < mNumberOfEnergy; i++) {
             getLayout().removeView(Show_MonthTable_Item_Use_Text_LEFT[i]);
         }
@@ -1996,7 +1978,7 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
     private void Remove3MonthEnergy() {
         RemoveListEnergy();
 
-        getLayout().removeView(Show_BG_Discription);
+        getLayout().removeView(Show_BG_Description);
         getLayout().removeView(Show_BG_Graph);
         getLayout().removeView(Show_3Month_Discription_Text);
 
@@ -2011,7 +1993,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
         }
         mDrawBottomGraphValue3Month_Text = 0;
 
-
         getLayout().removeView(Show_Discription_SamePyung);
         getLayout().removeView(Show_Discription_Myhome);
         getLayout().removeView(Show_Discription_SamePyung_Text);
@@ -2025,7 +2006,7 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
      */
     private void RemoveYearEnergy() {
         RemoveListEnergy();
-        getLayout().removeView(Show_BG_Discription);
+        getLayout().removeView(Show_BG_Description);
         getLayout().removeView(Show_BG_Graph);
         getLayout().removeView(Show_3Month_Discription_Text);
 
@@ -2047,7 +2028,8 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
         arrayListGas.removeAll(arrayListGas);
         arrayListHotwater.removeAll(arrayListHotwater);
         arrayListEnergy.removeAll(arrayListEnergy);
-        arrayListElecCar.removeAll(arrayListElecCar);
+        arrayListElecCar1.removeAll(arrayListElecCar1);
+        arrayListElecCar2.removeAll(arrayListElecCar2);
     }
 
     final int DEFAULT_METERING_COUNT = 5;
@@ -2164,7 +2146,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                     LogUtil.errorLogInfo("", TAG, e);
                 }
             } else {
-
             }
 
             if (mEMS_Enable == false) {
@@ -2197,34 +2178,28 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                     imapRemotemeter.DoWork(true, true, true, true, true, true, true, mEMS_Enable, year, month);
                     break;
                 case 100: //당월(전기차)
-                    imapRemotemeter.DoWorkVIP(true, true, true, true, true, year, month);
+                    imapRemotemeter.DoWorkVIP(true, true, true, true, true, true, year, month);
                     break;
 
                 case 1: //일별
                     switch (energy) {
                         case 0: //전기차1
-                            //imapRemotemeter.DoWork(false, true, false, false, false, false, false, false, year, month);
-                            imapRemotemeter.DoWorkVIP(false, false, true, false, false, year, month);
+                            imapRemotemeter.DoWorkVIP(false, false, true, false,false, false, year, month);
                             break;
                         case 1: //전기차2
-                            //imapRemotemeter.DoWork(false, false, false, true, false, false, false, false, year, month);
-                            imapRemotemeter.DoWorkVIP(false, false, true, false, false, year, month);
+                            imapRemotemeter.DoWorkVIP(false, false, false, true,false, false, year, month);
                             break;
                         case 2: //태양광
-                            //imapRemotemeter.DoWork(false, false, true, false, false, false, false, false, year, month);
-                            imapRemotemeter.DoWorkVIP(false, false, false, true, false, year, month);
+                            imapRemotemeter.DoWorkVIP(false, false, false, false, true, false, year, month);
                             break;
                         case 3: //연료전지
-                            //imapRemotemeter.DoWork(false, false, false, false, true, false, false, false, year, month);
-                            imapRemotemeter.DoWorkVIP(false, false, false, false, true, year, month);
+                            imapRemotemeter.DoWorkVIP(false, false, false, false,false, true, year, month);
                             break;
                         case 4: //전기차
-                            //imapRemotemeter.DoWork(false, false, false, false, false, true, false, false, year, month);
-                            imapRemotemeter.DoWorkVIP(false, false, true, false, false, year, month);
+                            imapRemotemeter.DoWorkVIP(false, false, true, false, false,false, year, month);
                             break;
                         case 5: //전기차
-                            //imapRemotemeter.DoWork(false, false, false, false, false, false, true, false, year, month);
-                            imapRemotemeter.DoWorkVIP(false, false, true, false, false, year, month);
+                            imapRemotemeter.DoWorkVIP(false, false, true, false, false,false, year, month);
                             break;
                         default:
                             break;
@@ -2235,28 +2210,22 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                 case 3: //전년비
                     switch (energy) {
                         case 0: //전기차1
-                            //imapRemotemeter.DoWork(true, true, false, false, false, false, false, mEMS_Enable, year, month);
-                            imapRemotemeter.DoWorkVIP(true, false, true, false, false, year, month);
+                            imapRemotemeter.DoWorkVIP(true, false, true, false, false,false, year, month);
                             break;
                         case 1: //전기차2
-                            //imapRemotemeter.DoWork(true, false, false, true, false, false, false, mEMS_Enable, year, month);
-                            imapRemotemeter.DoWorkVIP(true, false, true, false, false, year, month);
+                            imapRemotemeter.DoWorkVIP(true, false, false, true, false,false, year, month);
                             break;
                         case 2: //태양광
-                            //imapRemotemeter.DoWork(true, false, true, false, false, false, false, mEMS_Enable, year, month);
-                            imapRemotemeter.DoWorkVIP(true, false, false, true, false, year, month);
+                            imapRemotemeter.DoWorkVIP(true, false, false, false,true, false, year, month);
                             break;
                         case 3: //연료전지
-                            //imapRemotemeter.DoWork(true, false, false, false, true, false, false, mEMS_Enable, year, month);
-                            imapRemotemeter.DoWorkVIP(true, false, false, false, true, year, month);
+                            imapRemotemeter.DoWorkVIP(true, false, false, false,false, true, year, month);
                             break;
                         case 4: //전기차
-                            //imapRemotemeter.DoWork(true, false, false, false, false, true, false, mEMS_Enable, year, month);
-                            imapRemotemeter.DoWorkVIP(true, false, true, false, false, year, month);
+                            imapRemotemeter.DoWorkVIP(true, false, true, false,false, false, year, month);
                             break;
                         case 5: //전기차
-                            //imapRemotemeter.DoWork(true, false, false, false, false, false, true, mEMS_Enable, year, month);
-                            imapRemotemeter.DoWorkVIP(true, false, true, false, false, year, month);
+                            imapRemotemeter.DoWorkVIP(true, false, true, false,false, false, year, month);
                             break;
                         default:
                             break;
@@ -2268,7 +2237,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
             }
 
             imapRemotemeter.SetRetCtr(new RetProci() {
-
                 @Override
                 public void ProcSuccess() {
                     String TempString = null;
@@ -2477,7 +2445,7 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                                             && (Integer.parseInt(imapRemotemeter.GetAttributeVal(i, "year")) == (CalendarYear))) {
                                         result = true;
                                         //일단 kepco="yes" photovoltaics="yes" fuelcell="yes" eleccar="yes" 4개
-                                        int Temp_mNumberOfEnergy = 4;
+                                        int Temp_mNumberOfEnergy = 5;
                                         for (int j = 0; j < Temp_mNumberOfEnergy; j++) {
                                             monthTableClassRight[j] = new MonthTableClass("", "", "");
                                         }
@@ -2485,8 +2453,8 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                                             TempString = imapRemotemeter.GetAttributeVal(i, "kepco_used");
                                             monthTableClassRight[0].Use = TempString;
                                         }
-                                        if (imapRemotemeter.GetAttributeVal(i, "eleccar_used") != null) {
-                                            TempString = imapRemotemeter.GetAttributeVal(i, "eleccar_used");
+                                        if (imapRemotemeter.GetAttributeVal(i, "eleccar1_used") != null) {
+                                            TempString = imapRemotemeter.GetAttributeVal(i, "eleccar1_used");
                                             monthTableClassRight[1].Use = TempString;
                                         }
                                         if (imapRemotemeter.GetAttributeVal(i, "photovoltaics_used") != null) {
@@ -2497,6 +2465,10 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                                             TempString = imapRemotemeter.GetAttributeVal(i, "fuelcell_used");
                                             monthTableClassRight[3].Use = TempString;
                                         }
+                                        if (imapRemotemeter.GetAttributeVal(i, "eleccar2_used") != null) {
+                                            TempString = imapRemotemeter.GetAttributeVal(i, "eleccar2_used");
+                                            monthTableClassRight[4].Use = TempString;
+                                        }
                                     }
                                 }
 
@@ -2521,18 +2493,18 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                                         DebugLogOutput("day " + imapRemotemeter.GetAttributeVal(i, "day"));
                                         switch (ShowNowEnergyIndex) {
                                             case 0: // 전기차1
-                                                TempString = imapRemotemeter.GetAttributeVal(i, "eleccar_used");
+                                                TempString = imapRemotemeter.GetAttributeVal(i, "eleccar1_used");
                                                 if (TempString.equals("1000000") == false) {
                                                     CalendarItemShow(mCalendarItemIndex, (Integer.parseInt(imapRemotemeter.GetAttributeVal(i, "day"))),
-                                                            imapRemotemeter.GetAttributeVal(i, "eleccar_used"));
+                                                            imapRemotemeter.GetAttributeVal(i, "eleccar1_used"));
                                                 }
                                                 break;
 
                                             case 1: // 전기차2
-                                                TempString = imapRemotemeter.GetAttributeVal(i, "eleccar_used");
+                                                TempString = imapRemotemeter.GetAttributeVal(i, "eleccar2_used");
                                                 if (TempString.equals("1000000") == false) {
                                                     CalendarItemShow(mCalendarItemIndex, (Integer.parseInt(imapRemotemeter.GetAttributeVal(i, "day"))),
-                                                            imapRemotemeter.GetAttributeVal(i, "eleccar_used"));
+                                                            imapRemotemeter.GetAttributeVal(i, "eleccar2_used"));
                                                 }
                                                 break;
 
@@ -2575,9 +2547,7 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
 
                         case 2: // 3개월 or 6개월
                         case 3: // 전년비
-
                             int NumberOfValuelist2 = imapRemotemeter.SetItem("valuelist");
-
                             if (NumberOfValuelist2 != 0) {
                                 for (int i = 0; i < NumberOfValuelist2; i++) {
                                     DebugLogOutput("NumberOfValuelist " + Integer.toString(NumberOfValuelist2));
@@ -2589,29 +2559,29 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
 
                                     switch (ShowNowEnergyIndex) {
                                         case 0: // 전기차1
-                                            if (imapRemotemeter.GetAttributeVal(i, "eleccar_used") != null) {
-                                                if (imapRemotemeter.GetAttributeVal(i, "eleccar_used").equals("1000000") == false) {
-                                                    Temp_Myhome = Float.parseFloat(imapRemotemeter.GetAttributeVal(i, "eleccar_used"));
+                                            if (imapRemotemeter.GetAttributeVal(i, "eleccar1_used") != null) {
+                                                if (imapRemotemeter.GetAttributeVal(i, "eleccar1_used").equals("1000000") == false) {
+                                                    Temp_Myhome = Float.parseFloat(imapRemotemeter.GetAttributeVal(i, "eleccar1_used"));
                                                 }
                                             }
-                                            arrayListElecCar.add(new UsedValueArrayClass(Integer.parseInt(imapRemotemeter.GetAttributeVal(i, "year")), Integer
+                                            arrayListElecCar1.add(new UsedValueArrayClass(Integer.parseInt(imapRemotemeter.GetAttributeVal(i, "year")), Integer
                                                     .parseInt(imapRemotemeter.GetAttributeVal(i, "month")), Temp_Myhome, 0));
 
-                                            DebugLogOutput("arrayListElecCar " + arrayListElecCar.size());
-                                            DebugLogOutput("arrayListElecCar used " + arrayListElecCar.get(i).UsedValue_Myhome);
+                                            DebugLogOutput("arrayListElecCar1 " + arrayListElecCar1.size());
+                                            DebugLogOutput("arrayListElecCar1 used " + arrayListElecCar1.get(i).UsedValue_Myhome);
                                             break;
 
                                         case 1: // 전기차2
-                                            if (imapRemotemeter.GetAttributeVal(i, "eleccar_used") != null) {
-                                                if (imapRemotemeter.GetAttributeVal(i, "eleccar_used").equals("1000000") == false) {
-                                                    Temp_Myhome = Float.parseFloat(imapRemotemeter.GetAttributeVal(i, "eleccar_used"));
+                                            if (imapRemotemeter.GetAttributeVal(i, "eleccar2_used") != null) {
+                                                if (imapRemotemeter.GetAttributeVal(i, "eleccar2_used").equals("1000000") == false) {
+                                                    Temp_Myhome = Float.parseFloat(imapRemotemeter.GetAttributeVal(i, "eleccar2_used"));
                                                 }
                                             }
-                                            arrayListElecCar.add(new UsedValueArrayClass(Integer.parseInt(imapRemotemeter.GetAttributeVal(i, "year")), Integer
+                                            arrayListElecCar2.add(new UsedValueArrayClass(Integer.parseInt(imapRemotemeter.GetAttributeVal(i, "year")), Integer
                                                     .parseInt(imapRemotemeter.GetAttributeVal(i, "month")), Temp_Myhome, 0));
 
-                                            DebugLogOutput("arrayListElecCar " + arrayListElecCar.size());
-                                            DebugLogOutput("arrayListElecCar used " + arrayListElecCar.get(i).UsedValue_Myhome);
+                                            DebugLogOutput("arrayListElecCar2 " + arrayListElecCar2.size());
+                                            DebugLogOutput("arrayListElecCar2 used " + arrayListElecCar2.get(i).UsedValue_Myhome);
                                             break;
 
                                         case 2: // 태양광
@@ -2665,11 +2635,11 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                                                     Temp_Myhome = Float.parseFloat(imapRemotemeter.GetAttributeVal(i, "eleccar_used"));
                                                 }
                                             }
-                                            arrayListElecCar.add(new UsedValueArrayClass(Integer.parseInt(imapRemotemeter.GetAttributeVal(i, "year")), Integer
+                                            arrayListElecCar1.add(new UsedValueArrayClass(Integer.parseInt(imapRemotemeter.GetAttributeVal(i, "year")), Integer
                                                     .parseInt(imapRemotemeter.GetAttributeVal(i, "month")), Temp_Myhome, 0));
 
-                                            DebugLogOutput("arrayListElecCar " + arrayListElecCar.size());
-                                            DebugLogOutput("arrayListElecCar used " + arrayListElecCar.get(i).UsedValue_Myhome);
+                                            DebugLogOutput("arrayListElecCar1 " + arrayListElecCar1.size());
+                                            DebugLogOutput("arrayListElecCar1 used " + arrayListElecCar1.get(i).UsedValue_Myhome);
                                             break;
                                     }
                                 }
@@ -2704,11 +2674,11 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
 
                                 switch (ShowNowEnergyIndex) {
                                     case 0: // 전기차1
-                                        Show3MonthEnergy_inRetProci(arrayListElecCar);
+                                        Show3MonthEnergy_inRetProci(arrayListElecCar1);
                                         break;
 
                                     case 1: // 전기차2
-                                        Show3MonthEnergy_inRetProci(arrayListElecCar);
+                                        Show3MonthEnergy_inRetProci(arrayListElecCar2);
                                         break;
 
                                     case 2: // 태양광
@@ -2719,12 +2689,12 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                                         Show3MonthEnergy_inRetProci(arrayListFuelcell);
                                         break;
 
-                                    case 4: // 열량
-                                        Show3MonthEnergy_inRetProci(arrayListElecCar);
+                                    case 4: // 예비용
+                                        Show3MonthEnergy_inRetProci(arrayListElecCar1);
                                         break;
 
-                                    case 5: // 전기차
-                                        Show3MonthEnergy_inRetProci(arrayListElecCar);
+                                    case 5: // 예비용
+                                        Show3MonthEnergy_inRetProci(arrayListElecCar1);
                                         break;
 
                                     default:
@@ -2734,11 +2704,11 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                                 //전년비
                                 switch (ShowNowEnergyIndex) {
                                     case 0: // 전기차1
-                                        ShowYearEnergy_inRetProci(arrayListElecCar);
+                                        ShowYearEnergy_inRetProci(arrayListElecCar1);
                                         break;
 
                                     case 1: // 전기차2
-                                        ShowYearEnergy_inRetProci(arrayListElecCar);
+                                        ShowYearEnergy_inRetProci(arrayListElecCar2);
                                         break;
 
                                     case 2: // 태양광
@@ -2749,12 +2719,12 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                                         ShowYearEnergy_inRetProci(arrayListFuelcell);
                                         break;
 
-                                    case 4: // 열량
-                                        ShowYearEnergy_inRetProci(arrayListElecCar);
+                                    case 4: // 예비용
+                                        ShowYearEnergy_inRetProci(arrayListElecCar1);
                                         break;
 
-                                    case 5: // 탄소
-                                        ShowYearEnergy_inRetProci(arrayListElecCar);
+                                    case 5: // 예비용
+                                        ShowYearEnergy_inRetProci(arrayListElecCar1);
                                         break;
 
                                     default:
@@ -2802,7 +2772,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                 DBMGR.closeDB();
             }
         }
-
     }
 
     private void ShowYearEnergy_inRetProci(ArrayList<UsedValueArrayClass> TempArray) {
@@ -2833,7 +2802,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
         //전년비 비교 or 최근 6개월 비교일때 375 시작으로 107씩 더하면 됨
         //전년비 비교 or 최근 6개월 비교일때 252 시작으로 148씩 더하면 됨(2017.11)
 
-
         for (int i = 0; i < TempArray.size(); i++) {
             if ((CalendarMonth + 1) == 2) //2월인 경우
             {
@@ -2873,7 +2841,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                     DrawGraphAfterCalc(Temp_MaxValue, TempArray.get(i).UsedValue_Myhome, false,
                             (252 + (148 * 1)), true, "" + TempArray.get(i).Year + "." + TempArray.get(i).Month);
                 }
-
                 if ((TempArray.get(i).Year == CalendarYear - 2) && (TempArray.get(i).Month == 12)) {
                     DrawGraphAfterCalc(Temp_MaxValue, TempArray.get(i).UsedValue_Myhome, true,
                             (252 + (148 * 2)), true, "" + TempArray.get(i).Year + "." + TempArray.get(i).Month);
@@ -2882,7 +2849,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                     DrawGraphAfterCalc(Temp_MaxValue, TempArray.get(i).UsedValue_Myhome, false,
                             (252 + (148 * 3)), true, "" + TempArray.get(i).Year + "." + TempArray.get(i).Month);
                 }
-
                 if ((TempArray.get(i).Year == (CalendarYear - 1)) && (TempArray.get(i).Month == 1)) {
                     DrawGraphAfterCalc(Temp_MaxValue, TempArray.get(i).UsedValue_Myhome, true,
                             (252 + (148 * 4)), true, "" + TempArray.get(i).Year + "." + TempArray.get(i).Month);
@@ -2900,7 +2866,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                     DrawGraphAfterCalc(Temp_MaxValue, TempArray.get(i).UsedValue_Myhome, false,
                             (252 + (148 * 1)), true, "" + TempArray.get(i).Year + "." + TempArray.get(i).Month);
                 }
-
                 if ((TempArray.get(i).Year == (CalendarYear - 1)) && (TempArray.get(i).Month == (CalendarMonth + 1) - 1)) {
                     DrawGraphAfterCalc(Temp_MaxValue, TempArray.get(i).UsedValue_Myhome, true,
                             (252 + (148 * 2)), true, "" + TempArray.get(i).Year + "." + TempArray.get(i).Month);
@@ -2909,7 +2874,6 @@ public class VIPRemoteMeterMainScreen extends WpadScreen {
                     DrawGraphAfterCalc(Temp_MaxValue, TempArray.get(i).UsedValue_Myhome, false,
                             (252 + (148 * 3)), true, "" + TempArray.get(i).Year + "." + TempArray.get(i).Month);
                 }
-
                 if ((TempArray.get(i).Year == (CalendarYear - 1)) && (TempArray.get(i).Month == (CalendarMonth + 1))) {
                     DrawGraphAfterCalc(Temp_MaxValue, TempArray.get(i).UsedValue_Myhome, true,
                             (252 + (148 * 4)), true, "" + TempArray.get(i).Year + "." + TempArray.get(i).Month);

BIN
WallPadGlobalButton/libs/WallPadAPI.jar


BIN
WallPadGlobalScreen/libs/WallPadAPI.jar


BIN
WallPadHomeCtrl/libs/WallPadAPI.jar


+ 1 - 1
WallPadHomeCtrl/src/main/AndroidManifest.xml

@@ -1,7 +1,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="kr.co.icontrols.wallpadhomectrl"
     android:versionCode="17"
-    android:versionName="2022.01.25.01">
+    android:versionName="2022.04.06.01">
 
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

+ 52 - 44
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_gas/HybridCookTopMainScreen.java

@@ -56,6 +56,7 @@ public class HybridCookTopMainScreen extends WpadScreen {
 
     // [Text]
     private WpadTextView TXT_PAGE_NO;
+    private WpadTextView AlarmText;
 
     private int UX_MODE = -1; // UX 모드 (0: 일반 / 1: 간편모드)
 
@@ -347,7 +348,14 @@ public class HybridCookTopMainScreen extends WpadScreen {
         DebugLogOutput("[HeatingV2MainScreen] - Step2 : Device API Load & Update");
         if (OPERATION_MODE == Common.MODE_NOMAL) {
             DebugLogOutput("OPERATION_MODE = MODE_NOMAL");
-            if (Device_ApiLoad(wpapi) >= 0) Device_Update(false, Common.INDEX_ALL);
+            if (Device_ApiLoad(wpapi) >= 0) {
+                Device_Update(false, Common.INDEX_ALL);
+            } else{
+                //현장 2층에만 쿡탑 연결. 문구로 표시.
+                AlarmText = new WpadTextView(getContext(), false, 1280, 110, Gravity.CENTER, Color.WHITE, Common.fontsize._36, false, 0);
+                ViewRegistration(getLayout(), AlarmText, 0, Common.ImgPosion.GetY(375));
+                AlarmText.setText("쿡탑제어기가 연결이 되어 있지 않습니다.");
+            }
         }
         else {
             Log.e(TAG, "OPERATION_MODE : " + OPERATION_MODE + " Out of range !!!");
@@ -359,63 +367,63 @@ public class HybridCookTopMainScreen extends WpadScreen {
         // 3. Image Create
         DebugLogOutput("[HybridCookTopMainScreen] - Step3 : Image Create");
 
-        nTotalPageNo = (cooktopAPI.data.DeviceCnt / ROOM_CNT) + (((cooktopAPI.data.DeviceCnt % ROOM_CNT) > 0) ? 1: 0);
-        Log.d(TAG, "[HybridCookTopMainScreen] CurrentPageNum [" + nCurrentPageNo + "], TotalPageNum [" + nTotalPageNo + "]");
+        if(AlarmText==null) {
 
-        BACKGROUND = new WpadImageView(context, WpadImageView.TOUCH_KIND.NONE, 820, 534, R.drawable.bg_1, 0, ID.HybridCookTopmain.image.BACKGROUND);
-        ViewRegistration(layout, BACKGROUND, Common.ImgPosion.GetX(93), Common.ImgPosion.GetY(169));
+            nTotalPageNo = (cooktopAPI.data.DeviceCnt / ROOM_CNT) + (((cooktopAPI.data.DeviceCnt % ROOM_CNT) > 0) ? 1 : 0);
+            Log.d(TAG, "[HybridCookTopMainScreen] CurrentPageNum [" + nCurrentPageNo + "], TotalPageNum [" + nTotalPageNo + "]");
 
-        // 4. Button Create
-        DebugLogOutput("[HybridCookTopMainScreen] - Step4 : Button Create");
+            BACKGROUND = new WpadImageView(context, WpadImageView.TOUCH_KIND.NONE, 820, 534, R.drawable.bg_1, 0, ID.HybridCookTopmain.image.BACKGROUND);
+            ViewRegistration(layout, BACKGROUND, Common.ImgPosion.GetX(93), Common.ImgPosion.GetY(169));
 
-        int nImgID_EntireOff_Normal = R.drawable.btn_all_close_normal;
-        int nImgID_EntireOff_Pressed = R.drawable.btn_all_close_pressed;
+            // 4. Button Create
+            DebugLogOutput("[HybridCookTopMainScreen] - Step4 : Button Create");
 
-        int[] mAllOffPos = {957, 169};
-        BTN_ENTIRE_OFF = new WpadImageView(context, WpadImageView.TOUCH_KIND.BUTTON, 230, 534, nImgID_EntireOff_Normal, nImgID_EntireOff_Pressed, ID.HybridCookTopmain.button.ALL_OFF);
-        ViewRegistration(layout, BTN_ENTIRE_OFF, Common.ImgPosion.GetX(mAllOffPos[0]), Common.ImgPosion.GetY(mAllOffPos[1]));
-        BTN_ENTIRE_OFF.setTouchDelayMs(Common.BTN_DELAY_DEVCTRL);
+            int nImgID_EntireOff_Normal = R.drawable.btn_all_close_normal;
+            int nImgID_EntireOff_Pressed = R.drawable.btn_all_close_pressed;
 
+            int[] mAllOffPos = {957, 169};
+            BTN_ENTIRE_OFF = new WpadImageView(context, WpadImageView.TOUCH_KIND.BUTTON, 230, 534, nImgID_EntireOff_Normal, nImgID_EntireOff_Pressed, ID.HybridCookTopmain.button.ALL_OFF);
+            ViewRegistration(layout, BTN_ENTIRE_OFF, Common.ImgPosion.GetX(mAllOffPos[0]), Common.ImgPosion.GetY(mAllOffPos[1]));
+            BTN_ENTIRE_OFF.setTouchDelayMs(Common.BTN_DELAY_DEVCTRL);
 
-        nRoomCnt = cooktopAPI.data.DeviceCnt;
-        Log.i(TAG, "nRoomCnt = " + nRoomCnt);
-        Heating_Manual_Str += "Room:" + nRoomCnt + "/";
-        Log.d(TAG, "[HeatingV2MainScreen] nRoomCnt [" + nRoomCnt + "]");
+            nRoomCnt = cooktopAPI.data.DeviceCnt;
+            Log.i(TAG, "nRoomCnt = " + nRoomCnt);
+            Heating_Manual_Str += "Room:" + nRoomCnt + "/";
+            Log.d(TAG, "[HeatingV2MainScreen] nRoomCnt [" + nRoomCnt + "]");
 
-        // 5. RoomClass Create
-        DebugLogOutput("[HybridCookTopMainScreen] - Step5 : RoomClass Create");
-        BTN_PAGE_UP =  new WpadImageView(getContext(), WpadImageView.TOUCH_KIND.BUTTON, 110, 110, R.drawable.btn_left_normal, R.drawable.btn_left_pressed, ID.HybridCookTopmain.button.LEFT_MOVE_BTN );
-        ViewRegistration(getLayout(), BTN_PAGE_UP, Common.ImgPosion.GetX(262), Common.ImgPosion.GetY(670));
+            // 5. RoomClass Create
+            DebugLogOutput("[HybridCookTopMainScreen] - Step5 : RoomClass Create");
+            BTN_PAGE_UP = new WpadImageView(getContext(), WpadImageView.TOUCH_KIND.BUTTON, 110, 110, R.drawable.btn_left_normal, R.drawable.btn_left_pressed, ID.HybridCookTopmain.button.LEFT_MOVE_BTN);
+            ViewRegistration(getLayout(), BTN_PAGE_UP, Common.ImgPosion.GetX(262), Common.ImgPosion.GetY(670));
 
-        BTN_PAGE_DOWN =  new WpadImageView(getContext(), WpadImageView.TOUCH_KIND.BUTTON, 110, 110, R.drawable.btn_right_normal, R.drawable.btn_right_pressed, ID.HybridCookTopmain.button.RIGHT_MOVE_BTN );
-        ViewRegistration(getLayout(), BTN_PAGE_DOWN, Common.ImgPosion.GetX(636), Common.ImgPosion.GetY(670));
+            BTN_PAGE_DOWN = new WpadImageView(getContext(), WpadImageView.TOUCH_KIND.BUTTON, 110, 110, R.drawable.btn_right_normal, R.drawable.btn_right_pressed, ID.HybridCookTopmain.button.RIGHT_MOVE_BTN);
+            ViewRegistration(getLayout(), BTN_PAGE_DOWN, Common.ImgPosion.GetX(636), Common.ImgPosion.GetY(670));
 
-        int[] mPageFontSize = {Common.fontsize._36, Common.fontsize._44};
-        TXT_PAGE_NO = new WpadTextView(getContext(), false, 264, 110, Gravity.CENTER, Color.WHITE, mPageFontSize[UX_MODE], false, ID.HybridCookTopmain.text.PAGE_TEXT);
-        ViewRegistration(getLayout(), TXT_PAGE_NO, Common.ImgPosion.GetX(372), Common.ImgPosion.GetY(670));
-        TXT_PAGE_NO.setText(nCurrentPageNo + "/" + nTotalPageNo);
+            int[] mPageFontSize = {Common.fontsize._36, Common.fontsize._44};
+            TXT_PAGE_NO = new WpadTextView(getContext(), false, 264, 110, Gravity.CENTER, Color.WHITE, mPageFontSize[UX_MODE], false, ID.HybridCookTopmain.text.PAGE_TEXT);
+            ViewRegistration(getLayout(), TXT_PAGE_NO, Common.ImgPosion.GetX(372), Common.ImgPosion.GetY(670));
+            TXT_PAGE_NO.setText(nCurrentPageNo + "/" + nTotalPageNo);
 
 
-        if((mData.DeviceCnt > 0) && (mData.DeviceCnt <= 15)) {
-            if(mData.DeviceCnt > 0)
-            {
-                roomView = new HybridCookTopMainScreen.RoomView[mData.Device[MainDeviceID].circuit.length];
-                astrRoomTitle = new String[mData.Device[MainDeviceID].circuit.length];
+            if ((mData.DeviceCnt > 0) && (mData.DeviceCnt <= 15)) {
+                if (mData.DeviceCnt > 0) {
+                    roomView = new HybridCookTopMainScreen.RoomView[mData.Device[MainDeviceID].circuit.length];
+                    astrRoomTitle = new String[mData.Device[MainDeviceID].circuit.length];
+                }
             }
-        }
 
-        nCurrentPageNo = 1;
-        drawCurrentPage(cooktopAPI.data, (nCurrentPageNo - 1) * ROOM_CNT);
+            nCurrentPageNo = 1;
+            drawCurrentPage(cooktopAPI.data, (nCurrentPageNo - 1) * ROOM_CNT);
 
-        //     6.3. update
-        try {
-            Draw_Update();
-        } catch (RuntimeException re) {
-            LogUtil.errorLogInfo("", TAG, re);
-        }
-        catch (Exception e) {
-            //e.printStackTrace();
-            LogUtil.errorLogInfo("", TAG, e);
+            //     6.3. update
+            try {
+                Draw_Update();
+            } catch (RuntimeException re) {
+                LogUtil.errorLogInfo("", TAG, re);
+            } catch (Exception e) {
+                //e.printStackTrace();
+                LogUtil.errorLogInfo("", TAG, e);
+            }
         }
 
         DebugLogOutput("[HybridCookTopMainScreen] Draw_Update ---");

+ 8 - 6
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/HybridCookTopTestScreen.java

@@ -47,7 +47,7 @@ public class HybridCookTopTestScreen extends WpadScreen {
 
     private final int MainDeviceID = 0;
 
-    private final String TAG = "HybridCookTopMainScreen";
+    private final String TAG = "HybCookTopMultiScreen";
 
     private final boolean DEBUG_LOG_ON = true;
     private void DebugLogOutput(String s) { if(DEBUG_LOG_ON) Log.d(TAG, s); }
@@ -71,6 +71,7 @@ public class HybridCookTopTestScreen extends WpadScreen {
 
     // [Text]
     private WpadTextView TXT_PAGE_NO;
+    private WpadTextView AlarmText;
 
     private int UX_MODE = 0; // UX 모드 (0: 일반 / 1: 간편모드)
 
@@ -404,6 +405,8 @@ public class HybridCookTopTestScreen extends WpadScreen {
                         roomView = new RoomView[mData.Device[MainDeviceID].circuit.length];
                         astrRoomTitle = new String[mData.Device[MainDeviceID].circuit.length];
                     }
+                    //연결이 안될 경우에 Alarm 문구 노출되는데, 연결된 경우 제거.
+                    AlarmText.setVisibility(View.GONE);
                 }
 
                 nCurrentPageNo = 1;
@@ -446,8 +449,6 @@ public class HybridCookTopTestScreen extends WpadScreen {
         try {
             //가스 전체 상태 조회. 조회한 다음 data에 대입해준다.
             requestMultiStatus(Common.JSON.KIND.All, Common.JSON.REASON.Status, Common.JSON.POSITION.All);
-            //가스 전체 상태 조회. 조회해서 data에 대입해준다.
-            //requestMultiCommand(Common.JSON.KIND.All, Common.JSON.REASON.Status,0, "",0,0);
         } catch (RuntimeException re) {
             LogUtil.errorLogInfo("", TAG, re);
         }
@@ -529,12 +530,13 @@ public class HybridCookTopTestScreen extends WpadScreen {
 
         mData = new Data();
 
-        // 2. Device API Load & Update
-        DebugLogOutput("[HeatingV2MainScreen] - Step2 : Device API Load & Update");
+        //현장 2층에만 쿡탑 연결. 문구로 표시.
+        AlarmText = new WpadTextView(getContext(), false, 1280, 110, Gravity.CENTER, Color.WHITE, Common.fontsize._36, false, 0);
+        ViewRegistration(getLayout(), AlarmText, 0, Common.ImgPosion.GetY(375));
+        AlarmText.setText("쿡탑제어기가 연결이 되어 있지 않습니다.");
 
         // 임시로 샘플 데이터를 통해 화면에 출력하도록 한다.
         //Sample_DataDefaultSetting();
-        Log.e(TAG, "OPERATION_MODE : " + OPERATION_MODE + " Out of range !!!");
 
         timer = new Timer();
         startRefreshTimer(500);

+ 33 - 12
WallPadHomeCtrl/src/main/java/kr/co/icontrols/wallpadhomectrl/screen/screen_multi/ParkingDoorMainScreen.java

@@ -5,6 +5,7 @@ import android.annotation.SuppressLint;
 import android.content.Context;
 import android.os.CountDownTimer;
 import android.os.Handler;
+import android.os.SystemClock;
 import android.util.Log;
 import android.view.MotionEvent;
 import android.view.View;
@@ -162,6 +163,10 @@ public class ParkingDoorMainScreen extends WpadScreen {
     /**
      * 본 클래스에서 등록한 [WpadImageView] [WpadTextView] 의 TouchEvent 가 있을시 호출됨
      */
+    private long mLastClickTimeFirst = 0;
+    private long mLastClickTimeSecond = 0;
+    private final long MIN_CLICK_INTERVAL = 5000;
+
     @Override
     protected void onTouchEvent(View v, MotionEvent event) {
         super.onTouchEvent(v, event);
@@ -171,18 +176,39 @@ public class ParkingDoorMainScreen extends WpadScreen {
 
         if (MoveEvent == MotionEvent.ACTION_UP) {
             if (TargetId == ID.ParkingDoorMainScreenID.button.OPEN_FIRST) {
-                DebugLogOutput("onTouchEvent [OPEN] BUTTON !!!");
-                if (OPERATION_MODE == Common.MODE_NOMAL) {
+                long currentClickTimeFirst = SystemClock.uptimeMillis();
+                long elapsedTimeFirst = currentClickTimeFirst - mLastClickTimeFirst;
+                mLastClickTimeFirst = currentClickTimeFirst;
+                if (elapsedTimeFirst > MIN_CLICK_INTERVAL) {
                     int ret = Device_DoorOpen(16);
                     if (ret >= 0) {
                         Sound().PlayMent(SND.mode.OPENDOOR);
+                        OpenFirstBtn.setButtonEventOffEnable();
+                        new Handler().postDelayed(new Runnable() {
+                            @Override
+                            public void run() {
+                                OpenFirstBtn.setButtonEventOffDisable();
+                            }
+                        }, MIN_CLICK_INTERVAL);
                     } else Sound().Play(SND.effect.TOUCH_UNLATCHED);
                 }
             } else if (TargetId == ID.ParkingDoorMainScreenID.button.OPEN_SECOND) {
-                int ret = Device_DoorOpen(17);
-                if (ret >= 0) {
-                    Sound().PlayMent(SND.mode.OPENDOOR);
-                } else Sound().Play(SND.effect.TOUCH_UNLATCHED);
+                long currentClickTimeSecond = SystemClock.uptimeMillis();
+                long elapsedTimeSecond = currentClickTimeSecond - mLastClickTimeSecond;
+                mLastClickTimeSecond = currentClickTimeSecond;
+                if (elapsedTimeSecond > MIN_CLICK_INTERVAL) {
+                    int ret = Device_DoorOpen(17);
+                    if (ret >= 0) {
+                        Sound().PlayMent(SND.mode.OPENDOOR);
+                        OpenSecondBtn.setButtonEventOffEnable();
+                        new Handler().postDelayed(new Runnable() {
+                            @Override
+                            public void run() {
+                                OpenSecondBtn.setButtonEventOffDisable();
+                            }
+                        }, MIN_CLICK_INTERVAL);
+                    } else Sound().Play(SND.effect.TOUCH_UNLATCHED);
+                }
             }
         }
     }
@@ -221,23 +247,18 @@ public class ParkingDoorMainScreen extends WpadScreen {
             return -2;
         }
 
-        // 3. Load API
-        DebugLogOutput("[Device_ApiLoad] - Step1 : DoorLock API Load...");
-
         try {
             dLockAPI = wpapi.Get_DLockController();
         } catch (RuntimeException re) {
             LogUtil.errorLogInfo("", TAG, re);
             return -100;
         } catch (Exception e) {
-            Log.e(TAG, "[Device_ApiLoad] - [Exception Error] wpapi.Get_DLockController");
-            Log.e(TAG, "[Device_ApiLoad] - " + e.toString());
             //e.printStackTrace();
             LogUtil.errorLogInfo("", TAG, e);
             return -100;
         }
         if (dLockAPI == null) {
-            Log.e(TAG, "[Device_ApiLoad] - dLockAPI is null");
+            Log.e(TAG, "[Device_ApiLoad] - API is null");
             return -4;
         }
 

BIN
WallPadMain/libs/WallPadAPI.jar


+ 1 - 1
WallPadMain/src/main/AndroidManifest.xml

@@ -1,7 +1,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="kr.co.icontrols.wallpadmain"
     android:versionCode="17"
-    android:versionName="2022.01.24.01">
+    android:versionName="2022.01.24.02">
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

BIN
WallPadMultiControlService/libs/WallPadAPI.jar


BIN
WallPadOutmodeRun/libs/WallPadAPI.jar


BIN
WallPadSecurity/libs/WallPadAPI.jar