Forráskód Böngészése

<修改床位分机列表数据获取流程>

weizhengliang 5 éve
szülő
commit
5bf075846d

+ 25 - 6
app/src/main/java/com/wdkl/callingmainnursemanager/ui/fragment/CallingBedFragment.java

@@ -742,6 +742,7 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
 
     //通过选定的partid获取对应护士主机的mac
     private void getData() {
+        Constants.DEVICE_ID = ""; //重置deviceId
         OkHttpUtils.post().url(Constants.URL + Constants.URL_END + Constants.CALLINGMAINNURSE_DEVICE_INFO)
                 .addParams("PartID", Constants.SelectedPartId)
                 .build()
@@ -765,7 +766,7 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
                                         Message msg = handler.obtainMessage();
                                         msg.what = GET_DEVICE_ID;
                                         msg.obj = deviceInfo.getDEVICE_ETH_MAC();
-                                        handler.sendMessage(msg);
+                                        handler.sendMessageDelayed(msg, 200);
                                         break;
                                     }
                                 }
@@ -778,6 +779,7 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
     }
 
     private void getDeviceId(String mac) {
+        Constants.DEVICE_ID = ""; //重置deviceId
         OkHttpUtils.post().url(Constants.URL + Constants.URL_END + Constants.CALLINGMAINNURSE_INIT)
                 .addParams("deviceMAC", mac)
                 .build()
@@ -803,7 +805,7 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
                                     Message msg = handler.obtainMessage();
                                     msg.what = GET_ROOM_INFO;
                                     msg.obj = initDataEntity.getId();
-                                    handler.sendMessage(msg);
+                                    handler.sendMessageDelayed(msg, 200);
                                 }
                             }
                         } catch (Exception e) {
@@ -993,6 +995,15 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
                 });
     }
 
+    private void resetData() {
+        wardInformationList.clear();
+        sickbedInformationList.clear();
+        RoomEntity.WardInformation callEntity = new RoomEntity.WardInformation();
+        wardInformationList.add(callEntity);
+        roomAdapter.updateList(wardInformationList);
+        bedAdapter.listUpdate(sickbedInformationList);
+    }
+
     /**
      * 获取系统设置信息
      */
@@ -1333,12 +1344,14 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
         }
     }
 
+    private static int selectPos;
     private void showPartSelectDialog() {
+        selectPos = 0;
         if (MyApplication.partInfoList.size() <= 0) {
+            ToastUtil.showToast("没有科室信息");
             return;
         }
         List<String> partItems = new ArrayList<>();
-        int selectPos = 0;
         for(int i = 0; i < MyApplication.partInfoList.size(); i++) {
             partItems.add(MyApplication.partInfoList.get(i).getPART_NAME());
             String id = MyApplication.partInfoList.get(i).getID();
@@ -1346,6 +1359,7 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
                 selectPos = i;
             }
         }
+        final int lastPos = selectPos;
 
         AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
         final AlertDialog dialog = builder.create();
@@ -1362,6 +1376,7 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                 Constants.SelectedPartId = MyApplication.partInfoList.get(position).getID();
                 Constants.SelectedPartName = MyApplication.partInfoList.get(position).getPART_NAME();
+                selectPos = position;
             }
 
             @Override
@@ -1372,10 +1387,14 @@ public class CallingBedFragment extends BaseFragment implements SicknessBedAdapt
         button.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                LogUtil.d("wzl", "lastPos: " + lastPos + ", selectPos: " + selectPos);
+                if (lastPos != selectPos) {
+                    updatePartName();
+                    resetData();
+                    getData();
+                    getHospitalData();
+                }
                 dialog.dismiss();
-                updatePartName();
-                getData();
-                getHospitalData();
             }
         });
         dialog.setView(dialogView);