|
@@ -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;
|
|
|
}
|