Pārlūkot izejas kodu

配套医生机主机兼容总控机和豪华版,第一次提交

wangjk 5 gadi atpakaļ
vecāks
revīzija
9fb8d14d9a

BIN
.idea/caches/build_file_checksums.ser


+ 1 - 1
app/build.gradle

@@ -24,7 +24,7 @@ android {
         minSdkVersion 15
         targetSdkVersion 26
         versionCode 1
-        versionName "1.0"
+        versionName "1.42"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
         multiDexEnabled true
 

+ 9 - 0
app/src/main/java/com/wdkl/callingmainnurse/adapter/CallListAdapter.java

@@ -107,6 +107,15 @@ public class CallListAdapter extends RecyclerView.Adapter<CallListAdapter.MyView
                 holder.tvRoomNum.setText(list.get(position).getRoomNumber());
                 holder.tvName.setText(" 紧急呼叫 ");
                 break;
+            case Constants.MANAGER_CALL:
+                holder.llBed.setVisibility(View.GONE);
+                holder.llRoom.setVisibility(View.VISIBLE);
+
+                holder.ivLogo.setImageResource(R.mipmap.ic_manager);
+                holder.tvRoomNum.setText("总控制室");
+                holder.tvName.setText(" 呼叫 ");
+                holder.tvRoomNumTail.setVisibility(View.GONE);
+                break;
             case Constants.DOCTOR_CALL:
                 holder.llBed.setVisibility(View.GONE);
                 holder.llRoom.setVisibility(View.VISIBLE);

+ 4 - 3
app/src/main/java/com/wdkl/callingmainnurse/common/Constants.java

@@ -213,7 +213,7 @@ public class Constants {
 
     /**
      * 各种呼叫的机型
-     * type : 1门口机 2主机 3 子机  4请求增援 5卫生间 6总控机 7医生机 8护士主机转接给医生机  优先等级依次升高   12传统机
+     * type : 1门口机 2主机 3 子机  4请求增援 5卫生间 6总控机 7护士主机 8医生机 9护士主机转接给医生机  优先等级依次升高   12传统机
      */
     public static final String DOOR_CALL = "1";
     public static final String MAIN_CALL = "2";
@@ -221,8 +221,9 @@ public class Constants {
     public static final String ROOMHELP_CALL = "4";
     public static final String WSHROOM_CALL = "5";
     public static final String MANAGER_CALL = "6";
-    public static final String DOCTOR_CALL = "7";
-    public static final String MUlTITAP_CALL = "8";
+    public static final String NURSE_CALL = "7";
+    public static final String DOCTOR_CALL = "8";
+    public static final String MUlTITAP_CALL = "9";
     public static final String TRADITION_CALL = "12";
     public static String CallType = "";
     public static String DoctorMachineCallStatus = "0";//医生主机呼叫护士主机的状态

+ 55 - 5
app/src/main/java/com/wdkl/callingmainnurse/ui/fragment/CallingBedFragment.java

@@ -596,7 +596,11 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
             public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { //上滑删除item
                 upScrllPosition = viewHolder.getAdapterPosition();
                 UdpEntity upScrllUdpEntity = MyApplication.callEntityList.get(upScrllPosition);
-                if (Constants.DOCTOR_CALL.equals(upScrllUdpEntity.getType())) {
+
+                Log.e(TAG,"upScrllUdpEntity.getType() "+upScrllUdpEntity.getType());
+                if (Constants.MANAGER_CALL.equals(upScrllUdpEntity.getType())) {
+                    deleteManagerCallingItem(upScrllUdpEntity);
+                } else if (Constants.DOCTOR_CALL.equals(upScrllUdpEntity.getType())) {
                     deleteManagerCallingItem(upScrllUdpEntity);
                 } else {
                     deleteCallingItem(upScrllUdpEntity, 0);
@@ -1460,7 +1464,25 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
                             addCallList(udpEntity);//添加到转接给医生机集合
                         }
                         break;
-                    case "call_13": //医生主机呼叫护士主机
+                    case "call_12": //总控制室呼叫护士主机
+                        if (isMySelfMachine(nurseHostID)) {
+                            if (!PalyPhonetics.speakEntityList.contains(udpEntity) && Constants.CALL_STATE.equals(Constants.STANDBY)) {
+                                addPhonetics(udpEntity);
+                            }
+                            if (!MyApplication.callEntityList.contains(udpEntity)) {
+                                MyApplication.callEntityList.add(udpEntity);
+                                setPowerLed("2");//有电话过来就让电源灯闪 Waderson  20171221
+                                sortList();//在此执行排序 Waderson  20171031
+                                //sendCallWaitingNumber(MyApplication.callEntityList.size());
+                            }
+                            callListAdapter.notifyDataSetChanged();
+                            roomAdapter.notifyDataSetChanged();
+                        }
+                        break;
+                    case "call_12_hang_up": //总控制室主机取消呼叫 add by waderson 20191108
+                        deleteManagerCallingItem(udpEntity);
+                        break;
+                    case "call_14": //医生主机呼叫护士主机
                         Log.e("qqqq","nurseHostID "+nurseHostID);
                         if (isMySelfMachine(nurseHostID)) {
                             if (!PalyPhonetics.speakEntityList.contains(udpEntity) && Constants.CALL_STATE.equals(Constants.STANDBY)) {
@@ -1478,11 +1500,17 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
                         Constants.DoctorMachineCallStatus = Constants.IN_CALL;
 
                         break;
-                    case "call_13_hang_up": //医生主机取消呼叫 add by waderson 20191108
+                    case "call_14_hang_up": //医生主机取消呼叫 add by waderson 20191108
+                        Log.e(TAG,"call_14_hang_up...");
                         deleteManagerCallingItem(udpEntity);
                         Constants.DoctorMachineCallStatus = Constants.STANDBY;
                         break;
-                    case "call_14_doctor_hang_up_phone"://医生主机挂断电话,这时可以进行下一个床头分机的呼叫转移
+                    case "call_14_upremove"://医生主机上划删掉呼叫
+                        Log.e(TAG, "onMoonEvent。。。call_14_upremove");
+                        Constants.DoctorMachineCallStatus = Constants.STANDBY;
+                        Constants.CALL_STATE = Constants.STANDBY;
+                        break;
+                    case "call_15_doctor_hang_up_phone"://医生主机挂断电话,这时可以进行下一个床头分机的呼叫转移
                         transmitThreadBool = true;
                         break;
                     case "call_1_b1": //护士已经退出护理
@@ -1854,6 +1882,8 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
                     doorList.add(callList.get(i));
                 } else if (Constants.MANAGER_CALL.equals(callList.get(i).getType())) {
                     managerList.add(callList.get(i));
+                }else if (Constants.DOCTOR_CALL.equals(callList.get(i).getType())) {
+                    managerList.add(callList.get(i));
                 }
             }
             if (wcList.size() > 1) {
@@ -2047,6 +2077,10 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
                         resIdlist.add(R.raw.jinjihujiao);
                     }
                     break;
+                case Constants.MANAGER_CALL://总控机
+                    resIdlist.add(R.raw.manager);
+                    resIdlist.add(R.raw.hujiao);
+                    break;
                 case Constants.DOCTOR_CALL://医生主机
                     resIdlist.add(R.raw.doctor_host);
                     resIdlist.add(R.raw.hujiao);
@@ -2254,10 +2288,22 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
                 ivCallListPic.setVisibility(View.VISIBLE);
                 vRightPatientInfo.setVisibility(View.GONE);
                 vRightCallInfo.setVisibility(View.GONE);
+                tvCallListRoomMsg.setText("总控制室呼叫...");
+            }
+            return;
+        }
+        if (callingEntity.getType().equals(Constants.DOCTOR_CALL)) {
+            if (Constants.CALL_STATE.equals(Constants.STANDBY)) {
+                vRightCallListInfo.setVisibility(View.VISIBLE);
+                rightCallListInfomation.setVisibility(View.INVISIBLE);
+                ivCallListPic.setVisibility(View.VISIBLE);
+                vRightPatientInfo.setVisibility(View.GONE);
+                vRightCallInfo.setVisibility(View.GONE);
                 tvCallListRoomMsg.setText("医生主机呼叫...");
             }
             return;
         }
+
         if (Constants.CALL_STATE.equals(Constants.STANDBY)) {
             vRightCallListInfo.setVisibility(View.VISIBLE);
             rightCallListInfomation.setVisibility(View.VISIBLE);
@@ -2458,7 +2504,11 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
         if (null != udpEntity) {
             Log.e(TAG,"sendRemoveManagerCall...222");
             String hostId = ((MainFragmentActivity) getActivity()).getInitDataEntity().getDeviceHostingID();
-            UdpSendUtil.sendNotificationRemoveManagerCall(udpEntity, hostId);
+            if(Constants.MANAGER_CALL.equals(udpEntity.getType())){
+                UdpSendUtil.sendNotificationRemoveManagerCall(udpEntity, hostId);
+            }else if(Constants.DOCTOR_CALL.equals(udpEntity.getType())){
+                UdpSendUtil.sendNotificationRemoveDoctorCall(udpEntity, hostId);
+            }
         }
     }
 

+ 8 - 6
app/src/main/java/com/wdkl/callingmainnurse/ui/fragment/CallingHostFragment.java

@@ -370,7 +370,7 @@ public class CallingHostFragment extends BaseFragment implements DoctorHostAdapt
     public void doctorHostItemOnclick(View view, int position) {
         Log.e(TAG," Constants.CALL_STATE "+Constants.CALL_STATE);
 
-        if (!Constants.CALL_STATE.equals(Constants.STANDBY) && Constants.CallType.equals(Constants.MANAGER_CALL)) {
+        if (!Constants.CALL_STATE.equals(Constants.STANDBY) && Constants.CallType.equals(Constants.NURSE_CALL)) {
             ToastUtil.showToast("请先取消当前呼叫");
             return;
         } else if(!Constants.DoctorMachineCallStatus.equals(Constants.STANDBY)){
@@ -430,10 +430,10 @@ public class CallingHostFragment extends BaseFragment implements DoctorHostAdapt
             UdpSendUtil.sendNurseHostCall(hostId);
             Constants.CALL_STATE = Constants.IN_CALL;
             Constants.CALLING_HOST_ID = hostId;
-            Constants.CallType = Constants.MANAGER_CALL;
+            Constants.CallType = Constants.NURSE_CALL;
         } else {
             //主动挂断
-            if (Constants.CallType.equals(Constants.MANAGER_CALL)) {
+            if (Constants.CallType.equals(Constants.NURSE_CALL)) {
                 ((MainFragmentActivity) getActivity()).endCalled();
                 ivEndCalling.setBackgroundResource(R.mipmap.ic_calling_sickbed_right_calling);
                 nurse_CallStaus.setText("");
@@ -597,16 +597,18 @@ public class CallingHostFragment extends BaseFragment implements DoctorHostAdapt
                 String nurseHostID = udpEntity.getNurseHostID();
                 String headMachineID = udpEntity.getHeadMachineID();
                 switch (udpEntity.getIndexes()) {
-                    case "call_12_upremove":
+                    case "call_14_upremove"://医生主机上划删掉呼叫
+                        Log.e(TAG, "onMoonEvent。。。call_14_upremove");
                         ivEndCalling.setBackgroundResource(R.mipmap.ic_calling_sickbed_right_calling);
                         nurse_CallStaus.setText("");
                        Constants.DoctorMachineCallStatus = Constants.STANDBY;
+                        Constants.CALL_STATE = Constants.STANDBY;
                         break;
-                    case "call_13"://医生机呼叫护士主机
+                    case "call_14"://医生机呼叫护士主机
                         Constants.DoctorMachineCallStatus = Constants.IN_CALL;
                         Log.e(TAG, "onMoonEvent。。。EVENT_UDP医生机呼叫护士主机");
                         break;
-                    case "call_13_hang_up": //医生主机取消呼叫 add by waderson 20191108
+                    case "call_14_hang_up": //医生主机取消呼叫 add by waderson 20191108
                         Constants.DoctorMachineCallStatus = Constants.STANDBY;
                         break;
                 }

+ 74 - 34
app/src/main/java/com/wdkl/callingmainnurse/util/AnalysisUdpUtil.java

@@ -27,6 +27,7 @@ import static com.wdkl.callingmainnurse.common.Constants.TRUST_FLAG_VALUE;
 
 public class AnalysisUdpUtil {
 
+    public static String TAG = AnalysisUdpUtil.class.getSimpleName();
     public static boolean isOpen = true;//是否开启托管模式
     public static UdpEntity udpEntitys;//托管udp信息
     private static boolean isReset = false;
@@ -44,10 +45,10 @@ public class AnalysisUdpUtil {
             udpMsg = delHeadAndEnd(udpMsg, "$", "#");
             final String[] data = udpMsg.split(Character.toString((char) 3));
 
-            //总控制室主机呼叫
-            if (Constants.DOCTOR_CALL.equals(data[8])) {
+//总控制室主机呼叫
+            if (Constants.MANAGER_CALL.equals(data[8])) {
                 switch (data[0]) {
-                    case "call_13"://总控制室主机呼叫护士主机
+                    case "call_12"://总控制室主机呼叫护士主机
                         UdpEntity udpEntity = new UdpEntity();
                         udpEntity.setIndexes(data[0]);
                         udpEntity.setNurseHostID(data[1]);
@@ -63,7 +64,7 @@ public class AnalysisUdpUtil {
                         udpEntity.setShowText("总控制室主机呼叫护士主机");
                         EventBus.getDefault().post(new MessageEvent(udpEntity, Constants.EVENT_UDP));
                         break;
-                    case "call_13_hang_up": //总控制室主机取消呼叫
+                    case "call_12_hang_up": //总控制室主机取消呼叫
                         UdpEntity call_12_hang_up = new UdpEntity();
                         call_12_hang_up.setIndexes(data[0]);
                         call_12_hang_up.setNurseHostID(data[1]);
@@ -79,21 +80,60 @@ public class AnalysisUdpUtil {
                         call_12_hang_up.setShowText("总控制室主机取消呼叫");
                         EventBus.getDefault().post(new MessageEvent(call_12_hang_up, Constants.EVENT_UDP));
                         break;
-                    case "call_12_upremove": //主机上滑移除了呼叫列表中的一个条目
-                        UdpEntity call_12_upremove = new UdpEntity();
-                        call_12_upremove.setIndexes(data[0]);
-                        call_12_upremove.setNurseHostID(data[1]);
-                        call_12_upremove.setDoorwayMachineID(data[2]);
-                        call_12_upremove.setHeadMachineID(data[3]);
-                        call_12_upremove.setSipAddress(data[4]);
-                        call_12_upremove.setRoomNumber(data[5]);
-                        call_12_upremove.setBedNumber(data[6]);
-                        call_12_upremove.setLevel(data[7]);
-                        call_12_upremove.setType(data[8]);
-                        call_12_upremove.setName(data[9]);
-                        call_12_upremove.setDeviceMAC(data[10]);
-                        call_12_upremove.setShowText("主机上滑移除呼叫列表中的一个条目");
-                        EventBus.getDefault().post(new MessageEvent(call_12_upremove, Constants.EVENT_UDP));
+                }
+            }
+
+            //医生主机呼叫
+            if (Constants.DOCTOR_CALL.equals(data[8])) {
+                Log.e(TAG,"data[8] "+data[8]+" data[0] "+data[0]);
+                switch (data[0]) {
+                    case "call_14"://医生主机呼叫护士主机
+                        UdpEntity doctor_call_14_nurse_udpEntity = new UdpEntity();
+                        doctor_call_14_nurse_udpEntity.setIndexes(data[0]);
+                        doctor_call_14_nurse_udpEntity.setNurseHostID(data[1]);
+                        doctor_call_14_nurse_udpEntity.setDoorwayMachineID(data[2]);
+                        doctor_call_14_nurse_udpEntity.setHeadMachineID(data[3]);
+                        doctor_call_14_nurse_udpEntity.setSipAddress(data[4]);
+                        doctor_call_14_nurse_udpEntity.setRoomNumber(data[5]);
+                        doctor_call_14_nurse_udpEntity.setBedNumber(data[6]);
+                        doctor_call_14_nurse_udpEntity.setLevel(data[7]);
+                        doctor_call_14_nurse_udpEntity.setType(data[8]);
+                        doctor_call_14_nurse_udpEntity.setName(data[9]);
+                        doctor_call_14_nurse_udpEntity.setDeviceMAC(data[10]);
+                        doctor_call_14_nurse_udpEntity.setShowText("总控制室主机呼叫护士主机");
+                        EventBus.getDefault().post(new MessageEvent(doctor_call_14_nurse_udpEntity, Constants.EVENT_UDP));
+                        break;
+                    case "call_14_hang_up": //医生主机取消呼叫
+                        UdpEntity doctor_call_14_hang_up = new UdpEntity();
+                        doctor_call_14_hang_up.setIndexes(data[0]);
+                        doctor_call_14_hang_up.setNurseHostID(data[1]);
+                        doctor_call_14_hang_up.setDoorwayMachineID(data[2]);
+                        doctor_call_14_hang_up.setHeadMachineID(data[3]);
+                        doctor_call_14_hang_up.setSipAddress(data[4]);
+                        doctor_call_14_hang_up.setRoomNumber(data[5]);
+                        doctor_call_14_hang_up.setBedNumber(data[6]);
+                        doctor_call_14_hang_up.setLevel(data[7]);
+                        doctor_call_14_hang_up.setType(data[8]);
+                        doctor_call_14_hang_up.setName(data[9]);
+                        doctor_call_14_hang_up.setDeviceMAC(data[10]);
+                        doctor_call_14_hang_up.setShowText("总控制室主机取消呼叫");
+                        EventBus.getDefault().post(new MessageEvent(doctor_call_14_hang_up, Constants.EVENT_UDP));
+                        break;
+                    case "call_14_upremove": //医生主机上滑移除了呼叫列表中的一个条目
+                        UdpEntity call_13_upremove = new UdpEntity();
+                        call_13_upremove.setIndexes(data[0]);
+                        call_13_upremove.setNurseHostID(data[1]);
+                        call_13_upremove.setDoorwayMachineID(data[2]);
+                        call_13_upremove.setHeadMachineID(data[3]);
+                        call_13_upremove.setSipAddress(data[4]);
+                        call_13_upremove.setRoomNumber(data[5]);
+                        call_13_upremove.setBedNumber(data[6]);
+                        call_13_upremove.setLevel(data[7]);
+                        call_13_upremove.setType(data[8]);
+                        call_13_upremove.setName(data[9]);
+                        call_13_upremove.setDeviceMAC(data[10]);
+                        call_13_upremove.setShowText("医生主机上滑移除呼叫列表中的一个条目");
+                        EventBus.getDefault().post(new MessageEvent(call_13_upremove, Constants.EVENT_UDP));
                         break;
                 }
             }
@@ -227,22 +267,22 @@ public class AnalysisUdpUtil {
                 case "call_11":
                     //手表呼叫护士主机");
                     break;
-                case "call_14_doctor_hang_up_phone"://医生主机挂断电话
-                    UdpEntity udpEntity_14_doctor_hang_up_phone = new UdpEntity();
-                    udpEntity_14_doctor_hang_up_phone.setIndexes(data[0]);
-                    udpEntity_14_doctor_hang_up_phone.setNurseHostID(data[1]);
-                    udpEntity_14_doctor_hang_up_phone.setDoorwayMachineID(data[2]);
-                    udpEntity_14_doctor_hang_up_phone.setHeadMachineID(data[3]);
-                    udpEntity_14_doctor_hang_up_phone.setSipAddress(data[4]);
-                    udpEntity_14_doctor_hang_up_phone.setRoomNumber(data[5]);
-                    udpEntity_14_doctor_hang_up_phone.setBedNumber(data[6]);
-                    udpEntity_14_doctor_hang_up_phone.setLevel(data[7]);
-                    udpEntity_14_doctor_hang_up_phone.setType(data[8]);
-                    udpEntity_14_doctor_hang_up_phone.setName(data[9]);
-                    udpEntity_14_doctor_hang_up_phone.setDeviceMAC(data[10]);
-                    udpEntity_14_doctor_hang_up_phone.setShowText("医生主机挂断电话");
+                case "call_15_doctor_hang_up_phone"://医生主机挂断电话
+                    UdpEntity udpEntity_15_doctor_hang_up_phone = new UdpEntity();
+                    udpEntity_15_doctor_hang_up_phone.setIndexes(data[0]);
+                    udpEntity_15_doctor_hang_up_phone.setNurseHostID(data[1]);
+                    udpEntity_15_doctor_hang_up_phone.setDoorwayMachineID(data[2]);
+                    udpEntity_15_doctor_hang_up_phone.setHeadMachineID(data[3]);
+                    udpEntity_15_doctor_hang_up_phone.setSipAddress(data[4]);
+                    udpEntity_15_doctor_hang_up_phone.setRoomNumber(data[5]);
+                    udpEntity_15_doctor_hang_up_phone.setBedNumber(data[6]);
+                    udpEntity_15_doctor_hang_up_phone.setLevel(data[7]);
+                    udpEntity_15_doctor_hang_up_phone.setType(data[8]);
+                    udpEntity_15_doctor_hang_up_phone.setName(data[9]);
+                    udpEntity_15_doctor_hang_up_phone.setDeviceMAC(data[10]);
+                    udpEntity_15_doctor_hang_up_phone.setShowText("医生主机挂断电话");
                     //推向event
-                    EventBus.getDefault().post(new MessageEvent(udpEntity_14_doctor_hang_up_phone, Constants.EVENT_UDP));
+                    EventBus.getDefault().post(new MessageEvent(udpEntity_15_doctor_hang_up_phone, Constants.EVENT_UDP));
                     break;
 
 

+ 25 - 5
app/src/main/java/com/wdkl/callingmainnurse/util/UdpSendUtil.java

@@ -197,6 +197,26 @@ public class UdpSendUtil {
     }
 
     /**
+     * 医生机上滑移除后发UDP通知外面
+     *
+     * @param udpEntity
+     * @param hostId
+     */
+    public static void sendNotificationRemoveDoctorCall(UdpEntity udpEntity, String hostId) {
+        AnalysisUdpUtil.sendUdpData("call_13_upremove",
+                hostId,
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                Constants.NURSE_CALL, //呼叫类型
+                "",
+                "");
+    }
+
+    /**
      * 护士主机通知门口机当前房间无任何请求,请将门灯变白,筛选操作
      *
      * @param initdataentity
@@ -251,7 +271,7 @@ public class UdpSendUtil {
         if (TextUtils.isEmpty(hostId)) {
             return;
         }
-        AnalysisUdpUtil.sendUdpData("call_12",
+        AnalysisUdpUtil.sendUdpData("call_13",
                 hostId, //接收通话请求的护士主机id
                 "",
                 "",
@@ -259,7 +279,7 @@ public class UdpSendUtil {
                 "",
                 "",
                 "",
-                Constants.MANAGER_CALL, //呼叫类型
+                Constants.NURSE_CALL, //呼叫类型
                 "",
                 Constants.MAC_ADDRESS);
     }
@@ -268,7 +288,7 @@ public class UdpSendUtil {
      * 护士主机挂断通话,需要通知对方医生主机
      */
     public static void sendNurseHostHangUp(String hostId) {
-        AnalysisUdpUtil.sendUdpData("call_12_hang_up",
+        AnalysisUdpUtil.sendUdpData("call_13_hang_up",
                 hostId, //通话对方的护士主机id
                 "",
                 "",
@@ -276,7 +296,7 @@ public class UdpSendUtil {
                 "",
                 "",
                 "",
-                Constants.MANAGER_CALL, //呼叫类型
+                Constants.NURSE_CALL, //呼叫类型
                 "",
                 Constants.MAC_ADDRESS);
     }
@@ -381,7 +401,7 @@ public class UdpSendUtil {
      */
     public static void sendMultitapCall1(CallListEntity callListEntity) {
         if (null == callListEntity) return;
-        AnalysisUdpUtil.sendUdpData("call_14"
+        AnalysisUdpUtil.sendUdpData("call_15"
                 , callListEntity.getUdpEntity().getNurseHostID()
                 , callListEntity.getUdpEntity().getDoorwayMachineID()
                 , callListEntity.getUdpEntity().getHeadMachineID()