Преглед на файлове

1、修复离线数据同步不正常的问题

guanxinyi преди 11 месеца
родител
ревизия
3ec8cf0caf
променени са 1 файла, в които са добавени 14 реда и са изтрити 2 реда
  1. 14 2
      lib/managers/data_sync.dart

+ 14 - 2
lib/managers/data_sync.dart

@@ -11,16 +11,17 @@ import 'package:vitalapp/database/entities/followup.dart';
 import 'package:vitalapp/database/entities/patient.dart';
 import 'package:vitalapp/managers/adapters/offline/patient.dart';
 import 'package:vitalapp/managers/interfaces/models/common.dart';
+import 'package:vitalapp/managers/interfaces/patient.dart';
 import 'package:vitalapp/rpc.dart';
 import 'package:vitalapp/store/store.dart';
 import 'interfaces/data_sync.dart';
 import 'package:fis_common/logger/logger.dart';
-
 import 'interfaces/record_data_cache.dart';
 
 class DataSyncManager implements IDataSyncManager {
   static const tcmKey = "HEITCMC";
   String get userCode => Store.user.userCode!;
+  final _patientManager = Get.find<IPatientManager>();
 
   @override
   Future<PagedDataCollection<PatientEntity>> getPatientPagedList(
@@ -399,8 +400,19 @@ class DataSyncManager implements IDataSyncManager {
     return result;
   }
 
+  /// 根据身份证号获取居民信息
+  Future<PatientDTO?> _getPatientByID(String idNum,
+      [bool isValidOperationDoctor = true]) async {
+    final patient = await _patientManager.getDetail(
+      idNum,
+      isValidOperationDoctor: isValidOperationDoctor,
+    );
+    return patient;
+  }
+
   Future<bool> _syncSingleDiagnosis(DiagnosisEntity entity) async {
-    final currPatient = Store.user.currentSelectPatientInfo;
+    final currPatient = await _getPatientByID(entity.patientCode);
+
     if (currPatient == null) {
       return false;
     }