thesaurus_manager.dart 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. import 'package:fis_common/logger/logger.dart';
  2. import 'package:fis_jsonrpc/rpc.dart';
  3. import 'package:flutter/foundation.dart';
  4. import 'package:vitalapp/managers/interfaces/base_manager.dart';
  5. import 'package:vitalapp/rpc.dart';
  6. import 'package:vitalapp/store/store.dart';
  7. import 'interfaces/thesaurus.dart';
  8. class ThesaurusManager extends BaseManager implements IThesaurusManager {
  9. ///获取词条库分页
  10. @override
  11. Future<PageResult<ThesaurusDTO>?> getThesaurusPage({
  12. int pageIndex = 1,
  13. int pageSize = 100,
  14. String languageCode = "zh-CN",
  15. ThesaurusBusinessTypeEnum thesaurusBusinessType =
  16. ThesaurusBusinessTypeEnum.Electrocardiogram,
  17. }) async {
  18. PageResult<ThesaurusDTO>? result;
  19. try {
  20. result = await rpc.report.getThesaurusPageAsync(
  21. GetThesaurusPageRequest(
  22. token: token,
  23. pageIndex: pageIndex,
  24. pageSize: pageSize,
  25. thesaurusBusinessType: thesaurusBusinessType,
  26. languageCode: languageCode,
  27. ),
  28. );
  29. } catch (e) {
  30. logger.e("ThesaurusManager getThesaurusPage ex:", e);
  31. }
  32. return result;
  33. }
  34. ///获取词条项列表
  35. Future<List<ThesaurusItemDTO>> getThesaurusItems({
  36. required String thesaurusCode,
  37. String? keyword,
  38. }) async {
  39. List<ThesaurusItemDTO> result = [];
  40. try {
  41. result = await rpc.report.getThesaurusItemsAsync(
  42. GetThesaurusItemsRequest(
  43. thesaurusCode: thesaurusCode,
  44. keyword: keyword,
  45. token: token,
  46. ),
  47. );
  48. } catch (e) {
  49. logger.e("ThesaurusManager getThesaurusItems ex:", e);
  50. }
  51. return result;
  52. }
  53. ///添加词条库
  54. @override
  55. Future<bool> addThesaurus({
  56. required String thesaurusName,
  57. ThesaurusBusinessTypeEnum thesaurusBusinessType =
  58. ThesaurusBusinessTypeEnum.Electrocardiogram,
  59. String languageCode = "zh-CN",
  60. }) async {
  61. bool result = false;
  62. try {
  63. result = await rpc.report.addThesaurusAsync(AddThesaurusRequest(
  64. token: token,
  65. thesaurusBusinessType: thesaurusBusinessType,
  66. languageCode: languageCode,
  67. thesaurusName: thesaurusName,
  68. ));
  69. } catch (e) {
  70. logger.e("ThesaurusManager addThesaurusAsync ex:", e);
  71. }
  72. return result;
  73. }
  74. ///新增词条内容
  75. @override
  76. Future<bool> addThesaurusContent({
  77. required String thesaurusCode,
  78. String? thesaurusItemCode,
  79. String? thesaurusItemConclusion,
  80. }) async {
  81. bool result = false;
  82. try {
  83. result = await rpc.report.addThesaurusContentAsync(
  84. AddThesaurusContentRequest(
  85. token: token,
  86. thesaurusCode: thesaurusCode,
  87. thesaurusItemConclusion: thesaurusItemConclusion,
  88. parentItemCode: thesaurusCode,
  89. ),
  90. );
  91. } catch (e) {
  92. logger.e("ThesaurusManager updateThesaurusAsync ex:", e);
  93. }
  94. return result;
  95. }
  96. ///更新词条内容
  97. @override
  98. Future<bool> updateThesaurusContent({
  99. required String thesaurusCode,
  100. String? thesaurusItemCode,
  101. String? thesaurusItemConclusion,
  102. }) async {
  103. bool result = false;
  104. try {
  105. result = await rpc.report.updateThesaurusContentAsync(
  106. UpdateThesaurusContentRequest(
  107. token: token,
  108. thesaurusCode: thesaurusCode,
  109. thesaurusItemCode: thesaurusItemCode,
  110. thesaurusItemConclusion: thesaurusItemConclusion,
  111. ),
  112. );
  113. } catch (e) {
  114. logger.e("ThesaurusManager updateThesaurusAsync ex:", e);
  115. }
  116. return result;
  117. }
  118. }