Browse Source

增加重启电源板功能

weizhengliang 1 year ago
parent
commit
aa41ed6c98

+ 31 - 0
callingdoor/src/main/java/com/wdkl/app/ncs/callingdoor/activity/CallingdoorActivity.kt

@@ -47,6 +47,7 @@ import com.wdkl.ncs.android.middleware.model.vo.FrameBedVO
 import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
 import com.wdkl.ncs.android.middleware.tcp.TcpClient
 import com.wdkl.ncs.android.middleware.tcp.channel.DeviceChannel
+import com.wdkl.ncs.android.middleware.tcp.channel.DeviceUtil
 import com.wdkl.ncs.android.middleware.tcp.channel.OtherUtil
 import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
@@ -66,6 +67,7 @@ import kotlinx.android.synthetic.main.callingdoor_main_lay.room_action_nurse
 import kotlinx.android.synthetic.main.callingdoor_main_lay.room_action_support
 import kotlinx.android.synthetic.main.callingdoor_main_lay.room_cancel_call
 import kotlinx.android.synthetic.main.callingdoor_main_lay.room_action_language_set
+import kotlinx.android.synthetic.main.callingdoor_main_lay.room_action_power_reset
 import kotlinx.android.synthetic.main.callingdoor_main_lay.tv_room_name
 import kotlinx.android.synthetic.main.callingdoor_main_lay.view_flipper
 import kotlinx.android.synthetic.main.callingdoor_main_lay_rk3288.*
@@ -624,6 +626,26 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
             view_flipper.removeAllViews()
         }
 
+        room_action_power_reset.setOnClickListener {
+            room_action_power_reset.isEnabled = false
+
+            Thread {
+                try {
+                    //重启电源板
+                    val tcpModel = DeviceUtil.powerReset(Constant.DEVICE_ID)
+                    TcpClient.getInstance().sendMsg(tcpModel.toJson())
+
+                    Thread.sleep(5000)
+
+                    activity.runOnUiThread {
+                        room_action_power_reset.isEnabled = true
+                    }
+                } catch (ex: Exception) {
+                    //
+                }
+            }.start()
+        }
+
         app_version.setOnLongClickListener {
             AppInfoDialogHelper.showAppDialog(activity,
                 { dialog, which -> AppUpdateHelper.reboot(activity) },
@@ -940,6 +962,15 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
             if (partSetting.nursingColorRgb != null && partSetting.nursingColorRgb.length == 3 && TextUtils.isDigitsOnly(partSetting.nursingColorRgb)) {
                 Constant.nursingColor = partSetting.nursingColorRgb
             }
+
+            if (partSetting.powerControl != null) {
+                Constant.POWER_RESET = partSetting.powerControl
+            }
+
+            if (Constant.POWER_RESET) {
+                room_action_power_reset.visibility = View.VISIBLE
+            }
+
         } catch (ex: Exception) {
             showMessage(StringUtil.getResString(R.string.setting_params_error) + ex.message)
             ex.printStackTrace()

+ 28 - 0
callingdoor/src/main/java/com/wdkl/app/ncs/callingdoor/fragment/QrCodeFragment.kt

@@ -2,6 +2,7 @@ package com.wdkl.app.ncs.callingdoor.fragment
 
 import android.graphics.BitmapFactory
 import android.os.Build
+import android.view.View
 import com.enation.javashop.net.engine.model.NetState
 import com.wdkl.app.ncs.callingdoor.BuildConfig
 import com.wdkl.app.ncs.callingdoor.R
@@ -16,6 +17,8 @@ import com.wdkl.ncs.android.middleware.api.UrlManager
 import com.wdkl.ncs.android.middleware.common.Constant
 import com.wdkl.ncs.android.middleware.logic.contract.callingdoor.QrCodeFragmentContract
 import com.wdkl.ncs.android.middleware.logic.presenter.callingdoor.QrCodeFragmentPresenter
+import com.wdkl.ncs.android.middleware.tcp.TcpClient
+import com.wdkl.ncs.android.middleware.tcp.channel.DeviceUtil
 import kotlinx.android.synthetic.main.qr_code_lay.*
 import java.lang.StringBuilder
 
@@ -56,6 +59,7 @@ class QrCodeFragment : BaseFragment<QrCodeFragmentPresenter, QrCodeLayBinding>()
                 view_qr_code?.setImageBitmap(code)
             }
         }.start()
+
         val macAddr = NetHelper.getInstance().macAddress
         val ipAddr = NetHelper.getInstance().localIP
         val buildUrl = UrlManager.build()
@@ -68,6 +72,10 @@ class QrCodeFragment : BaseFragment<QrCodeFragmentPresenter, QrCodeLayBinding>()
         tv_device_sn.text = "Identifier: " + Constant.DEVICE_SN
         tv_app_version.text = "Version: V" + BuildConfig.VERSION_NAME + "_" + BuildConfig.VERSION_CODE + "_" + Build.MODEL
         tv_mcu_version.text = "MCU: " + Constant.MCU_VERSION_NUMBER
+
+        if (Constant.POWER_RESET) {
+            tv_btn_power_reset.visibility = View.VISIBLE
+        }
     }
 
     override fun bindEvent() {
@@ -90,6 +98,26 @@ class QrCodeFragment : BaseFragment<QrCodeFragmentPresenter, QrCodeLayBinding>()
                 (activity as CallingdoorActivity).startTestMode()
             }
         }
+
+        tv_btn_power_reset.setOnClickListener {
+            tv_btn_power_reset.isEnabled = false
+
+            Thread {
+                try {
+                    //重启电源板
+                    val tcpModel = DeviceUtil.powerReset(Constant.DEVICE_ID)
+                    TcpClient.getInstance().sendMsg(tcpModel.toJson())
+
+                    Thread.sleep(5000)
+
+                    activity.runOnUiThread {
+                        tv_btn_power_reset.isEnabled = true
+                    }
+                } catch (ex: Exception) {
+                    //
+                }
+            }.start()
+        }
     }
 
     override fun destory() {

+ 17 - 2
callingdoor/src/main/res/layout/callingdoor_main_lay.xml

@@ -173,16 +173,31 @@
                     android:id="@+id/room_action_language_set"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:layout_marginBottom="10dp"
+                    android:layout_marginBottom="30dp"
                     android:background="@mipmap/bg_bottom_btn"
                     android:gravity="center"
                     android:padding="10dp"
                     android:singleLine="true"
                     android:ellipsize="end"
                     android:text="@string/language_set_title"
-                    android:textColor="@color/white"
+                    android:textColor="@drawable/selector_bottom_btn_text_color"
                     android:textSize="20sp" />
 
+                <TextView
+                    android:id="@+id/room_action_power_reset"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginBottom="10dp"
+                    android:background="@mipmap/bg_bottom_btn"
+                    android:gravity="center"
+                    android:padding="10dp"
+                    android:singleLine="true"
+                    android:ellipsize="end"
+                    android:text="@string/power_reset"
+                    android:textColor="@drawable/selector_bottom_btn_text_color"
+                    android:textSize="20sp"
+                    android:visibility="gone"/>
+
             </LinearLayout>
         </ScrollView>
 

+ 17 - 2
callingdoor/src/main/res/layout/callingdoor_main_lay_rk3288.xml

@@ -176,16 +176,31 @@
                     android:id="@+id/room_action_language_set"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:layout_marginBottom="10dp"
+                    android:layout_marginBottom="40dp"
                     android:background="@mipmap/bg_bottom_btn2"
                     android:gravity="center"
                     android:padding="12dp"
                     android:singleLine="true"
                     android:ellipsize="end"
                     android:text="@string/language_set_title"
-                    android:textColor="@color/white"
+                    android:textColor="@drawable/selector_bottom_btn_text_color"
                     android:textSize="40sp" />
 
+                <TextView
+                    android:id="@+id/room_action_power_reset"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginBottom="10dp"
+                    android:background="@mipmap/bg_bottom_btn2"
+                    android:gravity="center"
+                    android:padding="12dp"
+                    android:singleLine="true"
+                    android:ellipsize="end"
+                    android:text="@string/power_reset"
+                    android:textColor="@drawable/selector_bottom_btn_text_color"
+                    android:textSize="40sp"
+                    android:visibility="gone"/>
+
             </LinearLayout>
         </ScrollView>
 

+ 13 - 0
callingdoor/src/main/res/layout/qr_code_lay.xml

@@ -146,6 +146,19 @@
                     android:textSize="24sp" />
 
                 <TextView
+                    android:id="@+id/tv_btn_power_reset"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="20dp"
+                    android:background="@color/main_color"
+                    android:gravity="center_horizontal"
+                    android:padding="10dp"
+                    android:text="@string/power_reset"
+                    android:textColor="@drawable/selector_bottom_btn_text_color"
+                    android:textSize="24sp"
+                    android:visibility="gone"/>
+
+                <TextView
                     android:id="@+id/tv_device_test"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"

+ 2 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/common/Constant.java

@@ -130,6 +130,8 @@ public class Constant {
     public static boolean inNursing = false;
     //护理门灯颜色
     public static String nursingColor = "010";
+    //电源板重启开关
+    public static boolean POWER_RESET = false;
 
     //当前是否有紧急呼叫
     public static boolean sosOn = false;

+ 327 - 98
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/dos/PartSettingDO.java

@@ -7,11 +7,11 @@ import com.wdkl.ncs.android.middleware.model.annotation.Id;
 import com.wdkl.ncs.android.middleware.model.annotation.PrimaryKeyField;
 import com.wdkl.ncs.android.middleware.model.annotation.Table;
 
+import java.io.Serializable;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
-import java.io.Serializable;
-
 @Table(name = "ncs_part_setting")
 @ApiModel
 @JsonNaming(value = PropertyNamingStrategy.SnakeCaseStrategy.class)
@@ -208,25 +208,53 @@ public class PartSettingDO implements Serializable {
     @ApiModelProperty(value = "护士组长转接时长,单位:秒", required = false)
     private Integer transferDurationLeader;
     /**
-     *	linux分机的呼出声音音量
-     */	@Column(name = "linux_bed_volume_native" )
-    @ApiModelProperty(value="linux分机的呼出声音音量",required=false)
+     * linux分机的呼出声音音量
+     */
+    @Column(name = "linux_bed_volume_native")
+    @ApiModelProperty(value = "linux分机的呼出声音音量", required = false)
     private Integer linuxBedVolumeNative;
     /**
-     *	linux分机的呼出声音增益
-     */	@Column(name = "linux_bed_gain_size" )
-    @ApiModelProperty(value="linux分机的呼出声音增益",required=false)
+     * linux分机的呼出声音增益
+     */
+    @Column(name = "linux_bed_gain_size")
+    @ApiModelProperty(value = "linux分机的呼出声音增益", required = false)
     private Integer linuxBedGainSize;
     /**
-     *	linux门口机的呼出声音音量
-     */	@Column(name = "linux_door_volume_native" )
-    @ApiModelProperty(value="linux门口机的呼出声音音量",required=false)
+     * linux门口机的呼出声音音量
+     */
+    @Column(name = "linux_door_volume_native")
+    @ApiModelProperty(value = "linux门口机的呼出声音音量", required = false)
     private Integer linuxDoorVolumeNative;
     /**
-     *	linux门口机的呼出声音增益
-     */	@Column(name = "linux_door_gain_size" )
-    @ApiModelProperty(value="linux门口机的呼出声音增益",required=false)
+     * linux门口机的呼出声音增益
+     */
+    @Column(name = "linux_door_gain_size")
+    @ApiModelProperty(value = "linux门口机的呼出声音增益", required = false)
     private Integer linuxDoorGainSize;
+    /**
+     * 安卓分机的呼出声音音量
+     */
+    @Column(name = "android_bed_volume_native")
+    @ApiModelProperty(value = "安卓分机的呼出声音音量", required = false)
+    private Integer androidBedVolumeNative;
+    /**
+     * 安卓分机的呼出声音增益
+     */
+    @Column(name = "android_bed_gain_size")
+    @ApiModelProperty(value = "安卓分机的呼出声音增益", required = false)
+    private Integer androidBedGainSize;
+    /**
+     * 安卓门口机的呼出声音音量
+     */
+    @Column(name = "android_door_volume_native")
+    @ApiModelProperty(value = "安卓门口机的呼出声音音量", required = false)
+    private Integer androidDoorVolumeNative;
+    /**
+     * 安卓门口机的呼出声音增益
+     */
+    @Column(name = "android_door_gain_size")
+    @ApiModelProperty(value = "安卓门口机的呼出声音增益", required = false)
+    private Integer androidDoorGainSize;
 
 
     /**
@@ -266,67 +294,91 @@ public class PartSettingDO implements Serializable {
     @ApiModelProperty(value = "分机自定义呼叫角色按钮2要呼叫的角色ID", required = true)
     private Integer customizeRoleCallSecond;
     /**
-     *	分机自定义呼叫角色按钮3对应的角色id
-     */	@Column(name = "customize_role_call_third" )
-    @ApiModelProperty(value="分机自定义呼叫角色按钮3对应的角色id",required=false)
+     * 分机自定义呼叫角色按钮3对应的角色id
+     */
+    @Column(name = "customize_role_call_third")
+    @ApiModelProperty(value = "分机自定义呼叫角色按钮3对应的角色id", required = false)
     private Integer customizeRoleCallThird;
     /**
-     *	分机自定义呼叫角色按钮4对应的角色id
-     */	@Column(name = "customize_role_call_fourth" )
-    @ApiModelProperty(value="分机自定义呼叫角色按钮4对应的角色id",required=false)
+     * 分机自定义呼叫角色按钮4对应的角色id
+     */
+    @Column(name = "customize_role_call_fourth")
+    @ApiModelProperty(value = "分机自定义呼叫角色按钮4对应的角色id", required = false)
     private Integer customizeRoleCallFourth;
     /**
-     *	分机自定义呼叫角色按钮5对应的角色id
-     */	@Column(name = "customize_role_call_fifth" )
-    @ApiModelProperty(value="分机自定义呼叫角色按钮5对应的角色id",required=false)
+     * 分机自定义呼叫角色按钮5对应的角色id
+     */
+    @Column(name = "customize_role_call_fifth")
+    @ApiModelProperty(value = "分机自定义呼叫角色按钮5对应的角色id", required = false)
     private Integer customizeRoleCallFifth;
     /**
-     *	科室自定义呼叫医院级设备1的id
-     */	@Column(name = "customize_hospital_call_first" )
-    @ApiModelProperty(value="科室自定义呼叫医院级设备1的id",required=false)
+     * 科室自定义呼叫医院级设备1的id
+     */
+    @Column(name = "customize_hospital_call_first")
+    @ApiModelProperty(value = "科室自定义呼叫医院级设备1的id", required = false)
     private Integer customizeHospitalCallFirst;
     /**
-     *	科室自定义呼叫医院级设备1的名称
-     */	@Column(name = "customize_hospital_call_first_name" )
-    @ApiModelProperty(value="科室自定义呼叫医院级设备1的名称",required=false)
+     * 科室自定义呼叫医院级设备1的名称
+     */
+    @Column(name = "customize_hospital_call_first_name")
+    @ApiModelProperty(value = "科室自定义呼叫医院级设备1的名称", required = false)
     private String customizeHospitalCallFirstName;
     /**
-     *	科室自定义呼叫医院级设备2的id
-     */	@Column(name = "customize_hospital_call_second" )
-    @ApiModelProperty(value="科室自定义呼叫医院级设备2的id",required=false)
+     * 科室自定义呼叫医院级设备2的id
+     */
+    @Column(name = "customize_hospital_call_second")
+    @ApiModelProperty(value = "科室自定义呼叫医院级设备2的id", required = false)
     private Integer customizeHospitalCallSecond;
     /**
-     *	科室自定义呼叫医院级设备2的名称
-     */	@Column(name = "customize_hospital_call_second_name" )
-    @ApiModelProperty(value="科室自定义呼叫医院级设备2的名称",required=false)
+     * 科室自定义呼叫医院级设备2的名称
+     */
+    @Column(name = "customize_hospital_call_second_name")
+    @ApiModelProperty(value = "科室自定义呼叫医院级设备2的名称", required = false)
     private String customizeHospitalCallSecondName;
     /**
-     *	科室自定义呼叫医院级设备3的id
-     */	@Column(name = "customize_hospital_call_third" )
-    @ApiModelProperty(value="科室自定义呼叫医院级设备3的id",required=false)
+     * 科室自定义呼叫医院级设备3的id
+     */
+    @Column(name = "customize_hospital_call_third")
+    @ApiModelProperty(value = "科室自定义呼叫医院级设备3的id", required = false)
     private Integer customizeHospitalCallThird;
     /**
-     *	科室自定义呼叫医院级设备3的名称
+     * 科室自定义呼叫医院级设备3的名称
      */
-    @Column(name = "customize_hospital_call_third_name" )
-    @ApiModelProperty(value="科室自定义呼叫医院级设备3的名称",required=false)
+    @Column(name = "customize_hospital_call_third_name")
+    @ApiModelProperty(value = "科室自定义呼叫医院级设备3的名称", required = false)
     private String customizeHospitalCallThirdName;
 
     /**
-     *	用户名字是否隐藏,0就是不隐藏,1就是隐藏
+     * 分机用户名字是否隐藏,0就是不隐藏,1就是隐藏
      */
-    @Column(name = "customer_name_hidden" )
-    @ApiModelProperty(value="用户名字是否隐藏,0就是不隐藏,1就是隐藏",required=false)
+    @Column(name = "customer_name_hidden")
+    @ApiModelProperty(value = "用户名字是否隐藏,0就是不隐藏,1就是隐藏", required = false)
     private Integer customerNameHidden;
 
     /**
-     *	工作人员名字是否隐藏,0就是不隐藏,1就是隐藏
+     * 分机工作人员名字是否隐藏,0就是不隐藏,1就是隐藏
      */
-    @Column(name = "clerk_name_hidden" )
-    @ApiModelProperty(value="工作人员名字是否隐藏,0就是不隐藏,1就是隐藏",required=false)
+    @Column(name = "clerk_name_hidden")
+    @ApiModelProperty(value = "工作人员名字是否隐藏,0就是不隐藏,1就是隐藏", required = false)
     private Integer clerkNameHidden;
 
 
+    /**
+     * 门口机用户姓名是否隐藏,0就是不隐藏,1就是隐藏
+     */
+    @Column(name = "customer_name_hidden_on_door")
+    @ApiModelProperty(value = "工作人员名字是否隐藏,0就是不隐藏,1就是隐藏", required = false)
+    private Integer customerNameHiddenOnDoor;
+
+    /**
+     * 门口机工作人员名字是否隐藏,0就是不隐藏,1就是隐藏
+     */
+    @Column(name = "clerk_name_hidden_on_door")
+    @ApiModelProperty(value = "工作人员名字是否隐藏,0就是不隐藏,1就是隐藏", required = false)
+    private Integer clerkNameHiddenOnDoor;
+
+
+
     @Column(name = "doctor_title")
     @ApiModelProperty(value = "模拟分机医生标题", required = true)
     private String doctorTitle;
@@ -343,28 +395,28 @@ public class PartSettingDO implements Serializable {
     @ApiModelProperty(value = "是否显示模拟分机护士标题", required = true)
     private Integer nurseValid;
     /**
-     *	门口机呼叫护士的标题
+     * 门口机呼叫护士的标题
      */
-    @Column(name = "door_nurse_title" )
-    @ApiModelProperty(value="门口机呼叫护士的标题",required=false)
+    @Column(name = "door_nurse_title")
+    @ApiModelProperty(value = "门口机呼叫护士的标题", required = false)
     private String doorNurseTitle;
     /**
-     *	是否显示门口机呼叫护士的标题
+     * 是否显示门口机呼叫护士的标题
      */
-    @Column(name = "door_nurse_valid" )
-    @ApiModelProperty(value="是否显示门口机呼叫护士的标题",required=false)
+    @Column(name = "door_nurse_valid")
+    @ApiModelProperty(value = "是否显示门口机呼叫护士的标题", required = false)
     private Integer doorNurseValid;
     /**
-     *	门口机进入护理的标题
+     * 门口机进入护理的标题
      */
-    @Column(name = "door_nursing_title" )
-    @ApiModelProperty(value="门口机进入护理的标题",required=false)
+    @Column(name = "door_nursing_title")
+    @ApiModelProperty(value = "门口机进入护理的标题", required = false)
     private String doorNursingTitle;
     /**
-     *	是否显示进入护理的标题
+     * 是否显示进入护理的标题
      */
-    @Column(name = "door_nursing_valid" )
-    @ApiModelProperty(value="是否显示进入护理的标题",required=false)
+    @Column(name = "door_nursing_valid")
+    @ApiModelProperty(value = "是否显示进入护理的标题", required = false)
     private Integer doorNursingValid;
 
     @Column(name = "up_seconds")
@@ -380,60 +432,126 @@ public class PartSettingDO implements Serializable {
     private boolean boardShowEmptyBed;
 
     /**
-     *	事件是否开启转发
-     */	@Column(name = "event_forward" )
-    @ApiModelProperty(value="事件是否开启转发",required=false)
+     * 事件是否开启转发
+     */
+    @Column(name = "event_forward")
+    @ApiModelProperty(value = "事件是否开启转发", required = false)
     private Integer eventForward;
     /**
-     *	护理灯颜色
-     */	@Column(name = "nursing_color_rgb" )
-    @ApiModelProperty(value="护理门灯颜色",required=false)
+     * 护理灯颜色
+     */
+    @Column(name = "nursing_color_rgb")
+    @ApiModelProperty(value = "护理门灯颜色", required = false)
     private String nursingColorRgb;
     /**
-     *	是否开启双色门灯
-     */	@Column(name = "two_color_door_light_valid" )
-    @ApiModelProperty(value="是否开启双色门灯",required=false)
+     * 是否开启双色门灯
+     */
+    @Column(name = "two_color_door_light_valid")
+    @ApiModelProperty(value = "是否开启双色门灯", required = false)
     private Integer twoColorDoorLightValid;
     /**
-     *	图片地址
-     */	@Column(name = "qr_url" )
-    @ApiModelProperty(value="图片地址",required=false)
+     * 图片地址
+     */
+    @Column(name = "qr_url")
+    @ApiModelProperty(value = "图片地址", required = false)
     private String qrUrl;
     /**
-     *	群留言记录保留天数
-     */	@Column(name = "channel_im_history_store_days" )
-    @ApiModelProperty(value="群留言记录保留天数",required=false)
+     * 群留言记录保留天数
+     */
+    @Column(name = "channel_im_history_store_days")
+    @ApiModelProperty(value = "群留言记录保留天数", required = false)
     private Integer channelImHistoryStoreDays;
     /**
-     *	是否开启双色门灯
-     */	@Column(name = "record_enabled" )
-    @ApiModelProperty(value="是否开启录音录像功能",required=false)
+     * 是否开启双色门灯
+     */
+    @Column(name = "record_enabled")
+    @ApiModelProperty(value = "是否开启录音录像功能", required = false)
     private Integer recordEnabled;
     /**
-     *	是否点击按钮亮屏并触发功能,0为点击按钮只亮屏,1为点击按钮亮屏并且触发功能
-     */	@Column(name = "screen_light" )
-    @ApiModelProperty(value="是否点击按钮亮屏,0为点击按钮只亮屏,1为点击按钮亮屏并且触发功能",required=false)
+     * 是否点击按钮亮屏并触发功能,0为点击按钮只亮屏,1为点击按钮亮屏并且触发功能
+     */
+    @Column(name = "screen_light")
+    @ApiModelProperty(value = "是否点击按钮亮屏,0为点击按钮只亮屏,1为点击按钮亮屏并且触发功能", required = false)
     private Integer screenLight;
 
     /**
-     *	是否开启门口机呼叫床位的按钮,0为关闭,1为开启
-     */	@Column(name = "room_call_bed" )
-    @ApiModelProperty(value="是否开启门口机呼叫床位的按钮,0为关闭,1为开启",required=false)
+     * 是否开启门口机呼叫床位的按钮,0为关闭,1为开启
+     */
+    @Column(name = "room_call_bed")
+    @ApiModelProperty(value = "是否开启门口机呼叫床位的按钮,0为关闭,1为开启", required = false)
     private Integer roomCallBed;
 
     /**
-     *	呼叫时是否开启所有门口机呼显示,0不开启,1开启
-     */	@Column(name = "bool_all_door_status" )
-    @ApiModelProperty(value="呼叫时是否开启所有门口机呼显示,0不开启,1开启",required=false)
+     * 呼叫时是否开启所有门口机呼显示,0不开启,1开启
+     */
+    @Column(name = "bool_all_door_status")
+    @ApiModelProperty(value = "呼叫时是否开启所有门口机呼显示,0不开启,1开启", required = false)
     private Integer boolAllDoorStatus;
 
     /**
-     *	呼叫时是否开启所有门口机呼显示,0不开启,1开启
+     * 呼叫时是否开启所有门口机呼显示,0不开启,1开启
      */
-    @Column(name = "bool_door_light_always_on" )
-    @ApiModelProperty(value="门灯是否常亮,0否、1是",required=false)
+    @Column(name = "bool_door_light_always_on")
+    @ApiModelProperty(value = "门灯是否常亮,0否、1是", required = false)
     private Integer boolDoorLightAlwaysOn;
 
+    @Column(name = "bool_led_service")
+    @ApiModelProperty(value = "点阵屏是否由服务端控制", required = false)
+    private Boolean boolLedService;
+
+    /**
+     * 便民服务开关,开启是床头屏二维码显示便民服务二维码
+     */
+    @Column(name = "convenient_service_enabled")
+    @ApiModelProperty(value = "便民服务开关,开启是床头屏二维码显示便民服务二维码", required = false)
+    private Boolean convenientServiceEnabled;
+
+
+    /**
+     * 是否开启分机无人呼叫功能,0为不开启,1为开启
+     */
+    @Column(name = "empty_bed_call_enabled")
+    @ApiModelProperty(value = "是否开启分机无人呼叫功能,0为不开启,1为开启", required = false)
+    private Integer emptyBedCallEnabled;
+
+    /**
+     * iot设备产品id
+     */
+    @Column(name = "iot_product_id")
+    @ApiModelProperty(value = "iot设备产品id", required = false)
+    private String iotProductId;
+
+    /**
+     * iot设备产品id
+     */
+    @Column(name = "iot_product_key")
+    @ApiModelProperty(value = "iot设备产品Master-APIkey", required = false)
+    private String iotProductKey;
+
+    /**
+     * 是否开启自动定位
+     */
+    @Column(name = "auto_position")
+    @ApiModelProperty(value = "是否开启自动定位", required = false)
+    private Integer autoPosition;
+
+    /**
+     * 科主任姓名
+     */
+    @Column(name = "part_director")
+    @ApiModelProperty(value = "科主任姓名", required = false)
+    private String partDirector;
+
+    /**
+     * 科室护士长
+     */
+    @Column(name = "part_nurse_head")
+    @ApiModelProperty(value = "科室护士长姓名", required = false)
+    private String partNurseHead;
+
+    @ApiModelProperty(value = "是否开启电源线路控制", required = false)
+    private Boolean powerControl;
+
     @PrimaryKeyField
     public Integer getId() {
         return id;
@@ -721,6 +839,38 @@ public class PartSettingDO implements Serializable {
         this.linuxDoorGainSize = linuxDoorGainSize;
     }
 
+    public Integer getAndroidBedVolumeNative() {
+        return androidBedVolumeNative;
+    }
+
+    public void setAndroidBedVolumeNative(Integer androidBedVolumeNative) {
+        this.androidBedVolumeNative = androidBedVolumeNative;
+    }
+
+    public Integer getAndroidBedGainSize() {
+        return androidBedGainSize;
+    }
+
+    public void setAndroidBedGainSize(Integer androidBedGainSize) {
+        this.androidBedGainSize = androidBedGainSize;
+    }
+
+    public Integer getAndroidDoorVolumeNative() {
+        return androidDoorVolumeNative;
+    }
+
+    public void setAndroidDoorVolumeNative(Integer androidDoorVolumeNative) {
+        this.androidDoorVolumeNative = androidDoorVolumeNative;
+    }
+
+    public Integer getAndroidDoorGainSize() {
+        return androidDoorGainSize;
+    }
+
+    public void setAndroidDoorGainSize(Integer androidDoorGainSize) {
+        this.androidDoorGainSize = androidDoorGainSize;
+    }
+
     public Integer getCommunicationModeBed() {
         return communicationModeBed;
     }
@@ -978,9 +1128,6 @@ public class PartSettingDO implements Serializable {
     }
 
     public Integer getRecordEnabled() {
-        if (recordEnabled == null){
-            return 0;
-        }
         return recordEnabled;
     }
 
@@ -989,9 +1136,6 @@ public class PartSettingDO implements Serializable {
     }
 
     public Integer getScreenLight() {
-        if (screenLight == null) {
-            return 0;
-        }
         return screenLight;
     }
 
@@ -1008,9 +1152,6 @@ public class PartSettingDO implements Serializable {
     }
 
     public Integer getBoolAllDoorStatus() {
-        if (boolAllDoorStatus == null) {
-            return 0;
-        }
         return boolAllDoorStatus;
     }
 
@@ -1018,6 +1159,14 @@ public class PartSettingDO implements Serializable {
         this.boolAllDoorStatus = boolAllDoorStatus;
     }
 
+    public Boolean getBoolLedService() {
+        return boolLedService;
+    }
+
+    public void setBoolLedService(Boolean boolLedService) {
+        this.boolLedService = boolLedService;
+    }
+
     public Integer getBoolDoorLightAlwaysOn() {
         return boolDoorLightAlwaysOn;
     }
@@ -1026,6 +1175,86 @@ public class PartSettingDO implements Serializable {
         this.boolDoorLightAlwaysOn = boolDoorLightAlwaysOn;
     }
 
+    public Boolean getConvenientServiceEnabled() {
+        return convenientServiceEnabled;
+    }
+
+    public void setConvenientServiceEnabled(Boolean convenientServiceEnabled) {
+        this.convenientServiceEnabled = convenientServiceEnabled;
+    }
+
+    public Integer getEmptyBedCallEnabled() {
+        return emptyBedCallEnabled;
+    }
+
+    public void setEmptyBedCallEnabled(Integer emptyBedCallEnabled) {
+        this.emptyBedCallEnabled = emptyBedCallEnabled;
+    }
+
+    public String getIotProductId() {
+        return iotProductId;
+    }
+
+    public void setIotProductId(String iotProductId) {
+        this.iotProductId = iotProductId;
+    }
+
+    public String getIotProductKey() {
+        return iotProductKey;
+    }
+
+    public void setIotProductKey(String iotProductKey) {
+        this.iotProductKey = iotProductKey;
+    }
+
+    public Integer getAutoPosition() {
+        return autoPosition;
+    }
+
+    public void setAutoPosition(Integer autoPosition) {
+        this.autoPosition = autoPosition;
+    }
+
+    public String getPartDirector() {
+        return partDirector;
+    }
+
+    public void setPartDirector(String partDirector) {
+        this.partDirector = partDirector;
+    }
+
+    public String getPartNurseHead() {
+        return partNurseHead;
+    }
+
+    public void setPartNurseHead(String partNurseHead) {
+        this.partNurseHead = partNurseHead;
+    }
+
+    public Integer getCustomerNameHiddenOnDoor() {
+        return customerNameHiddenOnDoor;
+    }
+
+    public void setCustomerNameHiddenOnDoor(Integer customerNameHiddenOnDoor) {
+        this.customerNameHiddenOnDoor = customerNameHiddenOnDoor;
+    }
+
+    public Integer getClerkNameHiddenOnDoor() {
+        return clerkNameHiddenOnDoor;
+    }
+
+    public void setClerkNameHiddenOnDoor(Integer clerkNameHiddenOnDoor) {
+        this.clerkNameHiddenOnDoor = clerkNameHiddenOnDoor;
+    }
+
+    public Boolean getPowerControl() {
+        return powerControl;
+    }
+
+    public void setPowerControl(Boolean powerControl) {
+        this.powerControl = powerControl;
+    }
+
     @Override
     public String toString() {
         return "PartSettingDO{" +

+ 8 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/DeviceUtil.java

@@ -22,4 +22,12 @@ public class DeviceUtil {
         tcpModel.setData(connectDTO);
         return tcpModel;
     }
+
+    public static TcpModel powerReset(Integer fromId) {
+        TcpModel tcpModel = new TcpModel();
+        tcpModel.setType(TcpType.DEVICE);
+        tcpModel.setAction(TcpAction.DeviceAction.POWER_RESET);
+        tcpModel.setFromId(fromId);
+        return tcpModel;
+    }
 }

+ 1 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/enums/TcpAction.java

@@ -338,6 +338,7 @@ public interface TcpAction {
         DEVICE_CHANGE("设备更换"),
         USER_CHANGE("用户绑定"),
         SERVER_CHANGE("设备ip地址更换"),
+        POWER_RESET("3128电路复位"),
         S485_POWER_RESET("485控制版复位电路"),
         S485_POWER_RESET_SUCCESS("485控制版复位电路成功"),
         NO_MATCH("没有匹配");

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

@@ -135,6 +135,7 @@
     <string name="nurse_title">Enfermera</string>
     <string name="empty_title">good health</string>
     <string name="reboot_device">Reiniciar</string>
+    <string name="power_reset">Power reset</string>
     <string name="check_update">Comprobar actualización</string>
     <string name="server_config">Configuración del servidor</string>
     <string name="product_desc">Descripción del Producto:</string>

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

@@ -129,6 +129,7 @@
     <string name="nurse_title">Медсестра</string>
     <string name="empty_title">доброго здоровья</string>
     <string name="reboot_device">Перезагрузить</string>
+    <string name="power_reset">Power reset</string>
     <string name="check_update">Проверить обновление</string>
     <string name="server_config">Конфигурация сервера</string>
     <string name="product_desc">Продукт:</string>

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

@@ -135,6 +135,7 @@
     <string name="nurse_title">责任护士</string>
     <string name="empty_title">祝您安康</string>
     <string name="reboot_device">重启</string>
+    <string name="power_reset">重启电源</string>
     <string name="check_update">检查升级</string>
     <string name="server_config">服务器配置</string>
     <string name="product_desc">产品说明:</string>

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

@@ -134,6 +134,7 @@
     <string name="nurse_title">Nurse</string>
     <string name="empty_title">good health</string>
     <string name="reboot_device">Restart</string>
+    <string name="power_reset">Power reset</string>
     <string name="check_update">Check update</string>
     <string name="server_config">Server config</string>
     <string name="product_desc">Product:</string>