123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- import 'package:fis_common/helpers/encrypt.dart';
- import 'package:fis_i18n/i18n.dart';
- import 'package:fis_jsonrpc/rpc.dart';
- import 'package:flyinsonolite/jsonrpc/fisLib/services/log.m.dart';
- import 'package:flyinsonolite/jsonrpc/jsonrpcclient.dart';
- import 'package:flyinsonolite/infrastructure/logger.dart';
- import 'package:flyinsonolite/managers/basemanager.dart';
- import 'package:flyinsonolite/managers/interfaces/ireportmanager.dart';
- import 'package:intl/intl.dart';
- class ReportManager extends BaseManager implements IReportManager {
- @override
- Future<List<ReportDTO>> findReportsAsync(String recordCode) async {
- try {
- var reportInfos = await jsonRpcProxy.report.findReportsAsync(
- FindReportsRequest(
- token: token,
- recordCode: recordCode,
- ),
- );
- return reportInfos;
- } catch (e) {
- await loggerAsyn(FISDeviceLogCategory.Error,
- 'ReportManager findReportsAsync ex: ${e.toString()}');
- return [];
- }
- }
- /// 格式化时间
- ///
- /// [time] 后端返回的时间
- @override
- String getTime(String time) {
- String stringTime = '';
- if (time.isNotEmpty) {
- stringTime = DateFormat("yyyy-MM-dd HH:mm:ss").format(
- DateTime.fromMillisecondsSinceEpoch(
- DateTime.tryParse(time)?.millisecondsSinceEpoch as int,
- ),
- );
- }
- return stringTime;
- }
- ///获取默认词条
- @override
- Future<ThesaurusAllDTO> getDefaultThesaurusContentAsync() async {
- var defaultThesaurus =
- await jsonRpcProxy.report.getDefaultThesaurusContentAsync(
- GetDefaultThesaurusContentRequest(
- token: token,
- languageCode: i18nBook.locale.toCodeString('-'),
- ),
- );
- return defaultThesaurus;
- }
- ///获取默认报告模板
- @override
- Future<ReportTemplateDTO?> getDefaultReportTemplateAsync() async {
- try {
- final result =
- await jsonRpcProxy.report.getDefaultReportTemplateContentAsync(
- GetDefaultReportTemplateContentRequest(
- token: token,
- languageCode: i18nBook.locale.toCodeString('-'),
- ),
- );
- return result;
- } catch (e) {
- await loggerAsyn(FISDeviceLogCategory.Error,
- 'ReportManager getDefaultReportTemplateAsync ex: $e');
- return null;
- }
- }
- ///新增报告
- @override
- Future<String?> addReportAsync(String consultationCode, String templateJson,
- String name, String reportInfoJson) async {
- final addRequest = AddReportRequest(
- token: token,
- recordCode: consultationCode,
- reportType: ReportTypeEnum.LiveConsultation,
- reportTemplateJson: templateJson,
- isReferral: false,
- reportDatasJson: reportInfoJson,
- platformLabels: ["Flyinsono", "Web", "Consultation"],
- patientName: FEncryptHelper.encodeBase64(name),
- );
- return await jsonRpcProxy.report.addReportAsync(addRequest);
- }
- ///修改报告
- @override
- Future<bool> modifyReportAsync(
- String reportCode,
- DiagnosisOrganEnum reportOrgan,
- String consultationCode,
- templateJson,
- String name,
- String reportInfoJson) async {
- final updateRequest = ModifyReportRequest(
- reportCode: reportCode,
- token: token,
- recordCode: consultationCode,
- reportType: ReportTypeEnum.LiveConsultation,
- reportTemplateJson: templateJson,
- platformLabels: ["Flyinsono", "Web", "Consultation"],
- patientName: FEncryptHelper.encodeBase64(name),
- reportDatasJson: reportInfoJson,
- reportOrgan: reportOrgan,
- );
- return await jsonRpcProxy.report.modifyReportAsync(updateRequest);
- }
- ///跟据reportCode获取报告详情
- @override
- Future<ReportDTO> findReportByCodeAsync(String reportCode) async {
- final reportInfo = await jsonRpcProxy.report.findReportByCodeAsync(
- FindReportByCodeRequest(
- token: token,
- reportCode: reportCode,
- language: i18nBook.locale.toCodeString('-'),
- ),
- );
- return reportInfo;
- }
- ///获取模板列表
- @override
- Future<PageResult<ReportTemplateDTO>> getReportTemplatePage({
- int pageIndex = 1,
- int pageSize = 100,
- String? keyword,
- bool? isDefault,
- }) async {
- var result = await jsonRpcProxy.report.getReportTemplatePageAsync(
- FindReportTemplatePagesRequest(
- token: token,
- languageCode: i18nBook.locale.toCodeString('-'),
- reportTemplateName: keyword,
- isDefault: isDefault,
- pageIndex: pageIndex,
- pageSize: pageSize,
- ),
- );
- return result;
- }
- ///获取指定模板
- @override
- Future<ReportTemplateDTO> findReportTemplateByCode({String code = ''}) async {
- final remportTemplateDTO = await jsonRpcProxy.report
- .findReportTemplateByCodeAsync(FindReportTemplateByCodeRequest(
- token: token,
- languageCode: i18nBook.locale.toCodeString('-'),
- reportTemplateCode: code,
- ));
- return remportTemplateDTO;
- }
- ///获取词条库分页
- @override
- Future<List<ThesaurusDTO>> getThesaurusPage({String keyword = ''}) async {
- final getThesaurusPage = await jsonRpcProxy.report.getThesaurusPageAsync(
- GetThesaurusPageRequest(
- token: token,
- pageIndex: 1,
- pageSize: 100,
- thesaurusName: keyword,
- languageCode: i18nBook.locale.toCodeString('-'),
- ),
- );
- return getThesaurusPage.pageData ?? <ThesaurusDTO>[];
- }
- @override
- Future<List<ThesaurusItemDTO>> getThesaurusItems({
- String? thesaurusCode,
- String? keyword,
- }) async {
- return await jsonRpcProxy.report
- .getThesaurusItemsAsync(GetThesaurusItemsRequest(
- thesaurusCode: thesaurusCode,
- keyword: keyword,
- token: token,
- ));
- }
- }
|