Parcourir la source

[ManagerSetting]
1. EMS 프로토콜 사용 추가(2세대 대체품 시, EMS가 안붙은 원격검침을 사용하기 때문에 필요) - DB만 추가
[WallPadAPI]
1. EMS 프로토콜 사용 여부 가져오는 API 추가(DB에 따른 처리)

jglee il y a 3 ans
Parent
commit
cbcb11be36

+ 7 - 0
ManagerSetting/src/main/java/com/artncore/managersetting/dao/MainDatabaseManager.java

@@ -173,6 +173,7 @@ public class MainDatabaseManager {
     public static final int SETTING_ITEM_SUB_DEVICE_CONSTRUCTION_SPECIAL_FUNC   = SETTING_ITEM_TYPE_BASE + 220; //건설사특화기능
     public static final int SETTING_ITEM_SUB_DEVICE_MAIN_GUI_CTRL_USE           = SETTING_ITEM_TYPE_BASE + 221; //제어기능
     public static final int SETTING_ITEM_SUB_DEVICE_KITCHEN_EM_CTRL_OPTION      = SETTING_ITEM_TYPE_BASE + 222; //각실EM제어옵션
+    public static final int SETTING_ITEM_SUB_DEVICE_EMS_PROTOCOL                  = SETTING_ITEM_TYPE_BASE + 223; //EMS 프로토콜(원격검침)
 
     public static final String[] SUB_DEVICE_ITEM_ID = {
             "가스밸브"
@@ -298,6 +299,7 @@ public class MainDatabaseManager {
             , "건설사특화기능"
             , "제어기능"
             , "각실EM제어옵션"
+            , "EMS프로토콜"
     };
 
 
@@ -1371,6 +1373,7 @@ public class MainDatabaseManager {
             case SETTING_ITEM_SUB_DEVICE_CONSTRUCTION_SPECIAL_FUNC:
             case SETTING_ITEM_SUB_DEVICE_MAIN_GUI_CTRL_USE:
             case SETTING_ITEM_SUB_DEVICE_KITCHEN_EM_CTRL_OPTION:
+            case SETTING_ITEM_SUB_DEVICE_EMS_PROTOCOL:
                 result = SUB_DEVICE_ITEM_ID[itemType - SETTING_ITEM_SUB_DEVICE_GAS];
                 break;
         }
@@ -2068,6 +2071,10 @@ public class MainDatabaseManager {
                     case SETTING_ITEM_SUB_DEVICE_KITCHEN_EM_CTRL_OPTION:
                         devInfo = "1(1:각실EM제어옵션(사용함)종류(순차제어))";
                         break;
+
+                    case SETTING_ITEM_SUB_DEVICE_EMS_PROTOCOL:
+                        devInfo = "1(1:EMS프로토콜(사용함))";
+                        break;
                 }
             }
         }

+ 33 - 0
ManagerSetting/src/main/java/com/artncore/managersetting/ui/fragments/SettingDetailFunctionFragment.java

@@ -158,6 +158,8 @@ public class SettingDetailFunctionFragment extends Fragment
     public final int DETAIL_TYPE_SMARTIOTCAM_FLIP =                               DETAIL_TYPE_BASE + 63;
     public final int DETAIL_TYPE_CONSTRUCTION_SPECIAL_FUNC =                      DETAIL_TYPE_BASE + 64;
 
+    public final int DETAIL_TYPE_EMS_PROTOCOL_USE =                               DETAIL_TYPE_BASE + 65;
+
     private Activity mActivity;
     private WallPadAPI mWallPadAPI;
     private MainDatabaseManager mMainDatabaseManager;
@@ -439,6 +441,9 @@ public class SettingDetailFunctionFragment extends Fragment
         init_SmartIOTCam_Flip();
         
         init_Construction_SpecialFunc();
+
+        //EMS 프로토콜
+        initEMSProtocolUseSet();
     }
 
     private void initEscapeLadderDownSend()
@@ -858,6 +863,29 @@ public class SettingDetailFunctionFragment extends Fragment
         switchButton.switchEnabled(initValue);
     }
 
+
+
+    // init EMS프로토콜 View(원격검침)
+    private void initEMSProtocolUseSet() {
+        int type = DETAIL_TYPE_EMS_PROTOCOL_USE;
+        String typeName = mActivity.getString(R.string.detail_function_ems_metering);
+
+        SwitchButton switchButton = (SwitchButton)mRootView.findViewById(R.id.btn_switch_ems_metering);
+        switchButton.setSwitchButtonChangedListener(this, type, typeName);
+
+
+        List<String> listString = new ArrayList<String>();
+        listString.add(mActivity.getString(R.string.do_used));
+        listString.add(mActivity.getString(R.string.do_not_used));
+
+        switchButton.setText(listString);
+
+        WallpadDeviceSet devset = new WallpadDeviceSet(getContext());
+
+        boolean initValue = mMainDatabaseManager.isUsedSettingDataSubDev(MainDatabaseManager.SETTING_ITEM_SUB_DEVICE_EMS_PROTOCOL);
+        switchButton.switchEnabled(initValue);
+    }
+
     // init RFDoorCamera View
     private void initRFDoorCamera() {
         int type = DETAIL_TYPE_RF_DOOR_CAMERA;
@@ -4230,6 +4258,10 @@ public class SettingDetailFunctionFragment extends Fragment
                 wdst.closeDB();
                 break;
 
+            case DETAIL_TYPE_EMS_PROTOCOL_USE:
+                mMainDatabaseManager.updateSetUsedToSubDeviceSwitchButtonOnOff(MainDatabaseManager.SETTING_ITEM_SUB_DEVICE_EMS_PROTOCOL, position);
+                break;
+
             default:
                 break;
         }
@@ -4278,6 +4310,7 @@ public class SettingDetailFunctionFragment extends Fragment
             case DETAIL_TYPE_SMARTIOTCAM_FLIP:
             case DETAIL_TYPE_CONSTRUCTION_SPECIAL_FUNC:
             case DETAIL_TYPE_ELEVATOR:
+            case DETAIL_TYPE_EMS_PROTOCOL_USE:
                 updateSetUsedToSubDevice(type, position, itemName);
 
                 MainApplication.getApplication().setReboot();

+ 30 - 0
ManagerSetting/src/main/res/layout/setting_detail_container_gle.xml

@@ -1983,6 +1983,36 @@ android:background="#EFEFEE"
                     />
             </RelativeLayout>
 
+
+            <!-- EMS 원격검침 추가 -->
+            <RelativeLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                >
+
+                <TextView
+                    android:id="@+id/tv_ems_metering"
+                    android:layout_width="wrap_content"
+                    android:layout_height="100dp"
+                    android:layout_alignParentTop="true"
+                    android:layout_marginLeft="10dp"
+                    android:gravity="center|left"
+                    android:textSize="30sp"
+                    android:textColor="#000000"
+                    android:text="@string/detail_function_ems_metering"
+                    android:maxLines="1"
+                    />
+
+                <com.artncore.managersetting.ui.SwitchButton
+                    android:id="@+id/btn_switch_ems_metering"
+                    android:layout_width="wrap_content"
+                    android:layout_height="100dp"
+                    android:layout_alignParentRight="true"
+                    android:layout_marginRight="20dp"
+                    android:gravity="center"
+                    />
+            </RelativeLayout>
+
             <RelativeLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"

+ 30 - 0
ManagerSetting/src/main/res/layout/setting_detail_container_sa.xml

@@ -2381,6 +2381,36 @@ android:background="#EFEFEE"
                     />
             </RelativeLayout>
 
+
+            <!-- EMS 원격검침 추가 -->
+            <RelativeLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                >
+
+                <TextView
+                    android:id="@+id/tv_ems_metering"
+                    android:layout_width="wrap_content"
+                    android:layout_height="100dp"
+                    android:layout_alignParentTop="true"
+                    android:layout_marginLeft="10dp"
+                    android:gravity="center|left"
+                    android:textSize="30sp"
+                    android:textColor="#000000"
+                    android:text="@string/detail_function_ems_metering"
+                    android:maxLines="1"
+                    />
+
+                <com.artncore.managersetting.ui.SwitchButton
+                    android:id="@+id/btn_switch_ems_metering"
+                    android:layout_width="wrap_content"
+                    android:layout_height="100dp"
+                    android:layout_alignParentRight="true"
+                    android:layout_marginRight="20dp"
+                    android:gravity="center"
+                    />
+            </RelativeLayout>
+
             <RelativeLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"

+ 1 - 0
ManagerSetting/src/main/res/values/strings.xml

@@ -650,6 +650,7 @@
 -->
 
     <string name="detail_function_kakao_home_set">카카오홈</string>
+    <string name="detail_function_ems_metering">EMS프로토콜사용</string>
     <!--
     <string name="detail_function_kakao_set">카카오홈 설정</string>
     -->

+ 42 - 0
WallPadAPI/src/main/java/com/artncore/WallPadDataMgr/WallpadDeviceSet.java

@@ -2234,6 +2234,48 @@ public class WallpadDeviceSet extends wallpaddbmgr {
 //		}
 //	}
 
+
+	/**
+	 * EMS 프로토콜 사용 여부
+	 * @return
+	 */
+	public boolean GetEMSProtocolUse()
+	{
+		if(mModelType == Version.MODEL_TYPE.IHN_1010GL_I_2443)
+		{
+			String[] GetData = GetSettingData(define.DEVICE_ID_EMS_PROTOCOL);
+			//기본값이 false이기 때문에 이렇게 설정
+			boolean returnData = false;
+			try
+			{
+				if (GetData == null) return returnData;
+				if (GetData[1].indexOf("사용함") > 0) returnData = true;
+				else
+				{
+					returnData = false;
+					return returnData;
+				}
+
+				return returnData;
+			}
+			catch (RuntimeException re) {
+				LogUtil.errorLogInfo("", TAG, re);
+				returnData = false;
+				return  returnData;
+			} catch (Exception e)
+			{
+				LogUtil.errorLogInfo("", TAG, e);
+				returnData = false;
+				return  returnData;
+			}
+		}
+		else {
+			return true;
+		}
+	}
+
+
+
 	/**
 	 * 단지서버 가져오기(1: 1.0, 2:2.0, 0:Blended)
 	 * @return

+ 2 - 1
WallPadAPI/src/main/java/com/artncore/WallPadDataMgr/wallpaddbmgr.java

@@ -461,7 +461,8 @@ public class wallpaddbmgr {
             {"1", "1", define.DEVICE_ID_REMOTECON, define.DEVICE_DISABLE, ""},
             {"1", "1", define.DEVICE_ID_IDLE_POWER_SAVING_SWITCH, define.DEVICE_DISABLE, "종류( 기본 )"},
             {"1", "1", define.DEVICE_ID_DEVICE_RELIEF_CALL, define.DEVICE_DISABLE, ""},   // 안심통화
-            {"1", "1", define.DEVICE_ID_BATCHLIGHT, define.DEVICE_DISABLE, ""}
+            {"1", "1", define.DEVICE_ID_EMS_PROTOCOL, define.DEVICE_DISABLE, ""}   // EMS 프로토콜
+
 //
 
 

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

@@ -699,6 +699,11 @@ public class define {
 	public static final String DEVICE_ID_KAKAO               = "카카오홈";
 	public static final String DEVICE_ID_KAKAO_SHOW               = "카카오홈보기";
 
+	/**
+	 * EMS 프로토콜 사용 여부
+	 */
+	public static final String DEVICE_ID_EMS_PROTOCOL               = "EMS프로토콜";
+
 	public static final String DEVICE_ID_REMOTECALLSVR_WEBPORT	  = "방문객원격통화WEB포트";
 	public static final String DEVICE_ID_VENTISERVICE_QR = "환기케어서비스QR";
 	public static final String DEVICE_ID_THEDISABLED_HOME = "장애인세대";