123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- import 'dart:convert';
- import 'package:fis_jsonrpc/services/completionRecord.m.dart';
- import 'package:fis_jsonrpc/services/patient.m.dart';
- import 'package:fis_jsonrpc/services/patientExtension.m.dart';
- import 'package:vitalapp/database/entities/patient.dart';
- import 'package:vitalapp/managers/interfaces/patient.dart';
- class PatientOfflineStoreAdapter implements IPatientStoreAdapter {
- @override
- Future<String?> create(CreatePatientRequest request) async {
- final dto = PatientDtoConverter.create2Dto(request);
- final dtoJson = dto.toJson();
- final entity = PatientEntity();
- entity.code = request.code!;
- entity.isValid = true;
- entity.dataJson = jsonEncode(dtoJson);
- return entity.code;
- }
- @override
- Future<bool> updatePatientAsync(UpdatePatientRequest request) {
- // TODO: implement updatePatientAsync
- throw UnimplementedError();
- }
- @override
- Future<PatientDTO?> getDetail(String code) {
- // TODO: implement getDetail
- throw UnimplementedError();
- }
- @override
- Future<bool> setCrowdLabelsAsync(
- String patientCode, List<String> carowLabels) {
- // TODO: implement setCrowdLabelsAsync
- throw UnimplementedError();
- }
- @override
- Future<PatientExtensionDTO?> getPatientExtensionDetailByCodeAndKeyAsync(
- GetPatientExtensionByCodeAndKeyRequest request) {
- // TODO: implement getPatientExtensionDetailByCodeAndKeyAsync
- throw UnimplementedError();
- }
- @override
- Future<String> createPatientExtensionAsync(
- CreatePatientExtensionRequest request) {
- // TODO: implement createPatientExtensionAsync
- throw UnimplementedError();
- }
- @override
- Future<bool> updatePatientExtensionAsync(
- UpdatePatientExtensionRequest request) {
- // TODO: implement updatePatientExtensionAsync
- throw UnimplementedError();
- }
- @override
- Future<PageCollection<PatientDTO>?> getPagedList(PatientPageRequest request) {
- throw UnimplementedError();
- }
- }
- abstract class PatientDtoConverter {
- /// 根据新建请求创建DTO
- static PatientDTO create2Dto(CreatePatientRequest request) {
- final dto = PatientDTO();
- dto.code = request.code;
- dto.patientName = request.patientName;
- dto.phone = request.phone;
- dto.cardNo = request.cardNo;
- dto.nationality = request.nationality;
- dto.birthday = request.birthday;
- dto.crowdLabels = request.crowdLabels;
- dto.cardType = request.cardType;
- dto.patientGender = request.patientGender;
- dto.patientAddress = request.patientAddress;
- dto.permanentResidenceAddress = request.permanentResidenceAddress;
- dto.teamRegionCode = request.teamRegionCode;
- dto.contractedDoctor = request.contractedDoctor;
- return dto;
- }
- /// 根据DTO创建新建请求
- static CreatePatientRequest dto2Create(PatientDTO dto) {
- final dtoJson = dto.toJson();
- final request = CreatePatientRequest.fromJson(dtoJson);
- return request;
- }
- /// 同步更新到DTO
- static void syncUpdate2Dto(PatientDTO dto, UpdatePatientRequest request) {
- dto.patientName = request.patientName;
- dto.phone = request.phone;
- dto.cardNo = request.cardNo;
- dto.nationality = request.nationality;
- dto.birthday = request.birthday;
- dto.crowdLabels = request.crowdLabels;
- if (request.cardType != null) {
- dto.cardType = request.cardType!;
- }
- if (request.patientGender != null) {
- dto.patientGender = request.patientGender!;
- }
- dto.patientAddress = request.patientAddress;
- dto.permanentResidenceAddress = request.permanentResidenceAddress;
- dto.teamRegionCode = request.teamRegionCode;
- dto.contractedDoctor = request.contractedDoctor;
- }
- /// 根据DTO创建更新请求
- static UpdatePatientRequest dto2Update(PatientDTO dto) {
- final dtoJson = dto.toJson();
- final request = UpdatePatientRequest.fromJson(dtoJson);
- return request;
- }
- }
- abstract class PatientExtDtoConverter {
- /// 根据新建请求创建DTO
- static PatientExtensionDTO create2Dto(CreatePatientExtensionRequest request) {
- final dto = PatientExtensionDTO();
- // dto.code = request.code;
- // dto.patientName = request.patientName;
- // dto.phone = request.phone;
- // dto.cardNo = request.cardNo;
- // dto.nationality = request.nationality;
- // dto.birthday = request.birthday;
- // dto.crowdLabels = request.crowdLabels;
- // dto.cardType = request.cardType;
- // dto.patientGender = request.patientGender;
- // dto.patientAddress = request.patientAddress;
- // dto.permanentResidenceAddress = request.permanentResidenceAddress;
- // dto.teamRegionCode = request.teamRegionCode;
- // dto.contractedDoctor = request.contractedDoctor;
- return dto;
- }
- /// 根据DTO创建新建请求
- static CreatePatientExtensionRequest dto2Create(PatientExtensionDTO dto) {
- final dtoJson = dto.toJson();
- final request = CreatePatientExtensionRequest.fromJson(dtoJson);
- return request;
- }
- /// 同步更新到DTO
- static void syncUpdate2Dto(
- PatientExtensionDTO dto, UpdatePatientExtensionRequest request) {}
- /// 根据DTO创建更新请求
- static UpdatePatientExtensionRequest dto2Update(PatientExtensionDTO dto) {
- final dtoJson = dto.toJson();
- final request = UpdatePatientExtensionRequest.fromJson(dtoJson);
- return request;
- }
- }
|