Browse Source

0016553: 【APP】【居民列表】在线状态下,切换“未上传”状态的居民,实际未切换成功

finlay 1 year ago
parent
commit
a356c80442
1 changed files with 15 additions and 0 deletions
  1. 15 0
      lib/managers/patient.dart

+ 15 - 0
lib/managers/patient.dart

@@ -56,6 +56,21 @@ class PatientManager implements IPatientManager {
   Future<PatientDTO?> getDetail(String code) async {
     try {
       final request = GetPatientRequest(code: code, token: Store.user.token);
+      if (kIsOnline) {
+        //在线状态,先查询是否存在本体未提交数据
+        final entity = await db.repositories.patient
+            .singleByCode(code, Store.user.userCode!);
+        if (entity != null &&
+            entity.dataJson.isNotEmpty &&
+            entity.syncState != OfflineDataSyncState.success) {
+          logger.i("PatientManager query patient detail location exist.");
+          final jsonMap = jsonDecode(entity.dataJson);
+          final dto = PatientDTO.fromJson(jsonMap);
+          return dto;
+        } else {
+          logger.i("PatientManager query patient detail location not exist.");
+        }
+      }
       final result = await rpc.patient.getPatientDetailAsync(request);
       return result;
     } catch (e) {