vitalHealthExamBooking.m.dart 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642
  1. import 'notification.m.dart';
  2. import 'appletAPI.m.dart';
  3. import 'liveConsultation.m.dart';
  4. import 'package:fis_jsonrpc/utils.dart';
  5. enum BookingTypeEnum {
  6. Personal,
  7. Group,
  8. }
  9. enum BookingStatusEnum {
  10. UnSubmitted,
  11. Booked,
  12. Canceled,
  13. }
  14. class HealthExamPersonDTO {
  15. String? name;
  16. PatientGenderEnum gender;
  17. String? identityCard;
  18. String? phone;
  19. HealthExamPersonDTO({
  20. this.name,
  21. this.gender = PatientGenderEnum.NotFilled,
  22. this.identityCard,
  23. this.phone,
  24. });
  25. factory HealthExamPersonDTO.fromJson(Map<String, dynamic> map) {
  26. return HealthExamPersonDTO(
  27. name: map['Name'],
  28. gender: PatientGenderEnum.values.firstWhere((e) => e.index == map['Gender']),
  29. identityCard: map['IdentityCard'],
  30. phone: map['Phone'],
  31. );
  32. }
  33. Map<String, dynamic> toJson() {
  34. final map = Map<String, dynamic>();
  35. if (name != null) {
  36. map['Name'] = name;
  37. }
  38. map['Gender'] = gender.index;
  39. if (identityCard != null) {
  40. map['IdentityCard'] = identityCard;
  41. }
  42. if (phone != null) {
  43. map['Phone'] = phone;
  44. }
  45. return map;
  46. }
  47. }
  48. class HealthExamItemDTO {
  49. String? name;
  50. String? content;
  51. HealthExamItemDTO({
  52. this.name,
  53. this.content,
  54. });
  55. factory HealthExamItemDTO.fromJson(Map<String, dynamic> map) {
  56. return HealthExamItemDTO(
  57. name: map['Name'],
  58. content: map['Content'],
  59. );
  60. }
  61. Map<String, dynamic> toJson() {
  62. final map = Map<String, dynamic>();
  63. if (name != null) {
  64. map['Name'] = name;
  65. }
  66. if (content != null) {
  67. map['Content'] = content;
  68. }
  69. return map;
  70. }
  71. }
  72. class HealthExamBookingDTO extends BaseDTO{
  73. String? code;
  74. BookingTypeEnum bookingType;
  75. String? name;
  76. String? location;
  77. DateTime? startDate;
  78. DateTime? endDate;
  79. String? subject;
  80. String? description;
  81. String? initiatorCode;
  82. String? orgCode;
  83. BookingStatusEnum status;
  84. List<HealthExamPersonDTO>? persons;
  85. List<HealthExamItemDTO>? examItems;
  86. String? shareUrl;
  87. HealthExamBookingDTO({
  88. this.code,
  89. this.bookingType = BookingTypeEnum.Personal,
  90. this.name,
  91. this.location,
  92. this.startDate,
  93. this.endDate,
  94. this.subject,
  95. this.description,
  96. this.initiatorCode,
  97. this.orgCode,
  98. this.status = BookingStatusEnum.UnSubmitted,
  99. this.persons,
  100. this.examItems,
  101. this.shareUrl,
  102. DateTime? createTime,
  103. DateTime? updateTime,
  104. }) : super(
  105. createTime: createTime,
  106. updateTime: updateTime,
  107. );
  108. factory HealthExamBookingDTO.fromJson(Map<String, dynamic> map) {
  109. return HealthExamBookingDTO(
  110. code: map['Code'],
  111. bookingType: BookingTypeEnum.values.firstWhere((e) => e.index == map['BookingType']),
  112. name: map['Name'],
  113. location: map['Location'],
  114. startDate: map['StartDate'] != null ? DateTime.parse(map['StartDate']) : null,
  115. endDate: map['EndDate'] != null ? DateTime.parse(map['EndDate']) : null,
  116. subject: map['Subject'],
  117. description: map['Description'],
  118. initiatorCode: map['InitiatorCode'],
  119. orgCode: map['OrgCode'],
  120. status: BookingStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  121. persons: map['Persons'] != null ? (map['Persons'] as List).map((e)=>HealthExamPersonDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  122. examItems: map['ExamItems'] != null ? (map['ExamItems'] as List).map((e)=>HealthExamItemDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  123. shareUrl: map['ShareUrl'],
  124. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  125. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  126. );
  127. }
  128. Map<String, dynamic> toJson() {
  129. final map = super.toJson();
  130. if (code != null)
  131. map['Code'] = code;
  132. map['BookingType'] = bookingType.index;
  133. if (name != null)
  134. map['Name'] = name;
  135. if (location != null)
  136. map['Location'] = location;
  137. if (startDate != null)
  138. map['StartDate'] = JsonRpcUtils.dateFormat(startDate!);
  139. if (endDate != null)
  140. map['EndDate'] = JsonRpcUtils.dateFormat(endDate!);
  141. if (subject != null)
  142. map['Subject'] = subject;
  143. if (description != null)
  144. map['Description'] = description;
  145. if (initiatorCode != null)
  146. map['InitiatorCode'] = initiatorCode;
  147. if (orgCode != null)
  148. map['OrgCode'] = orgCode;
  149. map['Status'] = status.index;
  150. if (persons != null)
  151. map['Persons'] = persons;
  152. if (examItems != null)
  153. map['ExamItems'] = examItems;
  154. if (shareUrl != null)
  155. map['ShareUrl'] = shareUrl;
  156. return map;
  157. }
  158. }
  159. class GetHealthExamBookingPageRequest extends PageRequest{
  160. String? keyword;
  161. List<String>? orgCodes;
  162. GetHealthExamBookingPageRequest({
  163. this.keyword,
  164. this.orgCodes,
  165. int pageIndex = 0,
  166. int pageSize = 0,
  167. String? token,
  168. }) : super(
  169. pageIndex: pageIndex,
  170. pageSize: pageSize,
  171. token: token,
  172. );
  173. factory GetHealthExamBookingPageRequest.fromJson(Map<String, dynamic> map) {
  174. return GetHealthExamBookingPageRequest(
  175. keyword: map['Keyword'],
  176. orgCodes: map['OrgCodes']?.cast<String>().toList(),
  177. pageIndex: map['PageIndex'],
  178. pageSize: map['PageSize'],
  179. token: map['Token'],
  180. );
  181. }
  182. Map<String, dynamic> toJson() {
  183. final map = super.toJson();
  184. if (keyword != null)
  185. map['Keyword'] = keyword;
  186. if (orgCodes != null)
  187. map['OrgCodes'] = orgCodes;
  188. return map;
  189. }
  190. }
  191. class SaveHealthExamBookingRequest extends TokenRequest{
  192. String? code;
  193. BookingTypeEnum bookingType;
  194. String? name;
  195. String? location;
  196. DateTime? startDate;
  197. DateTime? endDate;
  198. String? subject;
  199. String? description;
  200. String? initiatorCode;
  201. String? orgCode;
  202. BookingStatusEnum status;
  203. List<HealthExamPersonDTO>? persons;
  204. List<HealthExamItemDTO>? examItems;
  205. SaveHealthExamBookingRequest({
  206. this.code,
  207. this.bookingType = BookingTypeEnum.Personal,
  208. this.name,
  209. this.location,
  210. this.startDate,
  211. this.endDate,
  212. this.subject,
  213. this.description,
  214. this.initiatorCode,
  215. this.orgCode,
  216. this.status = BookingStatusEnum.UnSubmitted,
  217. this.persons,
  218. this.examItems,
  219. String? token,
  220. }) : super(
  221. token: token,
  222. );
  223. factory SaveHealthExamBookingRequest.fromJson(Map<String, dynamic> map) {
  224. return SaveHealthExamBookingRequest(
  225. code: map['Code'],
  226. bookingType: BookingTypeEnum.values.firstWhere((e) => e.index == map['BookingType']),
  227. name: map['Name'],
  228. location: map['Location'],
  229. startDate: map['StartDate'] != null ? DateTime.parse(map['StartDate']) : null,
  230. endDate: map['EndDate'] != null ? DateTime.parse(map['EndDate']) : null,
  231. subject: map['Subject'],
  232. description: map['Description'],
  233. initiatorCode: map['InitiatorCode'],
  234. orgCode: map['OrgCode'],
  235. status: BookingStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  236. persons: map['Persons'] != null ? (map['Persons'] as List).map((e)=>HealthExamPersonDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  237. examItems: map['ExamItems'] != null ? (map['ExamItems'] as List).map((e)=>HealthExamItemDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  238. token: map['Token'],
  239. );
  240. }
  241. Map<String, dynamic> toJson() {
  242. final map = super.toJson();
  243. if (code != null)
  244. map['Code'] = code;
  245. map['BookingType'] = bookingType.index;
  246. if (name != null)
  247. map['Name'] = name;
  248. if (location != null)
  249. map['Location'] = location;
  250. if (startDate != null)
  251. map['StartDate'] = JsonRpcUtils.dateFormat(startDate!);
  252. if (endDate != null)
  253. map['EndDate'] = JsonRpcUtils.dateFormat(endDate!);
  254. if (subject != null)
  255. map['Subject'] = subject;
  256. if (description != null)
  257. map['Description'] = description;
  258. if (initiatorCode != null)
  259. map['InitiatorCode'] = initiatorCode;
  260. if (orgCode != null)
  261. map['OrgCode'] = orgCode;
  262. map['Status'] = status.index;
  263. if (persons != null)
  264. map['Persons'] = persons;
  265. if (examItems != null)
  266. map['ExamItems'] = examItems;
  267. return map;
  268. }
  269. }
  270. class GetHealthExamBookingRequest extends TokenRequest{
  271. String? code;
  272. GetHealthExamBookingRequest({
  273. this.code,
  274. String? token,
  275. }) : super(
  276. token: token,
  277. );
  278. factory GetHealthExamBookingRequest.fromJson(Map<String, dynamic> map) {
  279. return GetHealthExamBookingRequest(
  280. code: map['Code'],
  281. token: map['Token'],
  282. );
  283. }
  284. Map<String, dynamic> toJson() {
  285. final map = super.toJson();
  286. if (code != null)
  287. map['Code'] = code;
  288. return map;
  289. }
  290. }
  291. class DeleteHealthExamBookingRequest extends TokenRequest{
  292. String? code;
  293. DeleteHealthExamBookingRequest({
  294. this.code,
  295. String? token,
  296. }) : super(
  297. token: token,
  298. );
  299. factory DeleteHealthExamBookingRequest.fromJson(Map<String, dynamic> map) {
  300. return DeleteHealthExamBookingRequest(
  301. code: map['Code'],
  302. token: map['Token'],
  303. );
  304. }
  305. Map<String, dynamic> toJson() {
  306. final map = super.toJson();
  307. if (code != null)
  308. map['Code'] = code;
  309. return map;
  310. }
  311. }
  312. class SignUpHealthExamBookingRequest extends TokenRequest{
  313. String? code;
  314. String? name;
  315. PatientGenderEnum gender;
  316. String? identityCard;
  317. String? phone;
  318. SignUpHealthExamBookingRequest({
  319. this.code,
  320. this.name,
  321. this.gender = PatientGenderEnum.NotFilled,
  322. this.identityCard,
  323. this.phone,
  324. String? token,
  325. }) : super(
  326. token: token,
  327. );
  328. factory SignUpHealthExamBookingRequest.fromJson(Map<String, dynamic> map) {
  329. return SignUpHealthExamBookingRequest(
  330. code: map['Code'],
  331. name: map['Name'],
  332. gender: PatientGenderEnum.values.firstWhere((e) => e.index == map['Gender']),
  333. identityCard: map['IdentityCard'],
  334. phone: map['Phone'],
  335. token: map['Token'],
  336. );
  337. }
  338. Map<String, dynamic> toJson() {
  339. final map = super.toJson();
  340. if (code != null)
  341. map['Code'] = code;
  342. if (name != null)
  343. map['Name'] = name;
  344. map['Gender'] = gender.index;
  345. if (identityCard != null)
  346. map['IdentityCard'] = identityCard;
  347. if (phone != null)
  348. map['Phone'] = phone;
  349. return map;
  350. }
  351. }
  352. class GetExamBookingByIDCardRequest extends TokenRequest{
  353. String? iDCardNo;
  354. String? operatorCode;
  355. GetExamBookingByIDCardRequest({
  356. this.iDCardNo,
  357. this.operatorCode,
  358. String? token,
  359. }) : super(
  360. token: token,
  361. );
  362. factory GetExamBookingByIDCardRequest.fromJson(Map<String, dynamic> map) {
  363. return GetExamBookingByIDCardRequest(
  364. iDCardNo: map['IDCardNo'],
  365. operatorCode: map['OperatorCode'],
  366. token: map['Token'],
  367. );
  368. }
  369. Map<String, dynamic> toJson() {
  370. final map = super.toJson();
  371. if (iDCardNo != null)
  372. map['IDCardNo'] = iDCardNo;
  373. if (operatorCode != null)
  374. map['OperatorCode'] = operatorCode;
  375. return map;
  376. }
  377. }
  378. class AddRegiterInfoRequest {
  379. String? iDCardNo;
  380. String? name;
  381. String? sex;
  382. String? age;
  383. String? phone;
  384. String? adress;
  385. String? orgUniqueCode;
  386. String? organizationCode;
  387. AddRegiterInfoRequest({
  388. this.iDCardNo,
  389. this.name,
  390. this.sex,
  391. this.age,
  392. this.phone,
  393. this.adress,
  394. this.orgUniqueCode,
  395. this.organizationCode,
  396. });
  397. factory AddRegiterInfoRequest.fromJson(Map<String, dynamic> map) {
  398. return AddRegiterInfoRequest(
  399. iDCardNo: map['IDCardNo'],
  400. name: map['Name'],
  401. sex: map['Sex'],
  402. age: map['Age'],
  403. phone: map['Phone'],
  404. adress: map['Adress'],
  405. orgUniqueCode: map['OrgUniqueCode'],
  406. organizationCode: map['OrganizationCode'],
  407. );
  408. }
  409. Map<String, dynamic> toJson() {
  410. final map = Map<String, dynamic>();
  411. if (iDCardNo != null) {
  412. map['IDCardNo'] = iDCardNo;
  413. }
  414. if (name != null) {
  415. map['Name'] = name;
  416. }
  417. if (sex != null) {
  418. map['Sex'] = sex;
  419. }
  420. if (age != null) {
  421. map['Age'] = age;
  422. }
  423. if (phone != null) {
  424. map['Phone'] = phone;
  425. }
  426. if (adress != null) {
  427. map['Adress'] = adress;
  428. }
  429. if (orgUniqueCode != null) {
  430. map['OrgUniqueCode'] = orgUniqueCode;
  431. }
  432. if (organizationCode != null) {
  433. map['OrganizationCode'] = organizationCode;
  434. }
  435. return map;
  436. }
  437. }
  438. class UpdateRegiterInfoRequest extends AddRegiterInfoRequest{
  439. String? code;
  440. UpdateRegiterInfoRequest({
  441. this.code,
  442. String? iDCardNo,
  443. String? name,
  444. String? sex,
  445. String? age,
  446. String? phone,
  447. String? adress,
  448. String? orgUniqueCode,
  449. String? organizationCode,
  450. }) : super(
  451. iDCardNo: iDCardNo,
  452. name: name,
  453. sex: sex,
  454. age: age,
  455. phone: phone,
  456. adress: adress,
  457. orgUniqueCode: orgUniqueCode,
  458. organizationCode: organizationCode,
  459. );
  460. factory UpdateRegiterInfoRequest.fromJson(Map<String, dynamic> map) {
  461. return UpdateRegiterInfoRequest(
  462. code: map['Code'],
  463. iDCardNo: map['IDCardNo'],
  464. name: map['Name'],
  465. sex: map['Sex'],
  466. age: map['Age'],
  467. phone: map['Phone'],
  468. adress: map['Adress'],
  469. orgUniqueCode: map['OrgUniqueCode'],
  470. organizationCode: map['OrganizationCode'],
  471. );
  472. }
  473. Map<String, dynamic> toJson() {
  474. final map = super.toJson();
  475. if (code != null)
  476. map['Code'] = code;
  477. return map;
  478. }
  479. }
  480. enum ExamStateEnum {
  481. Unchecked,
  482. Invalid,
  483. Inspected,
  484. }
  485. class RegisterInfoDTO extends BaseDTO{
  486. String? code;
  487. String? physicalExamNumber;
  488. String? iDCardNo;
  489. String? name;
  490. String? sex;
  491. String? age;
  492. String? phone;
  493. String? adress;
  494. ExamStateEnum state;
  495. String? organizationCode;
  496. RegisterInfoDTO({
  497. this.code,
  498. this.physicalExamNumber,
  499. this.iDCardNo,
  500. this.name,
  501. this.sex,
  502. this.age,
  503. this.phone,
  504. this.adress,
  505. this.state = ExamStateEnum.Unchecked,
  506. this.organizationCode,
  507. DateTime? createTime,
  508. DateTime? updateTime,
  509. }) : super(
  510. createTime: createTime,
  511. updateTime: updateTime,
  512. );
  513. factory RegisterInfoDTO.fromJson(Map<String, dynamic> map) {
  514. return RegisterInfoDTO(
  515. code: map['Code'],
  516. physicalExamNumber: map['PhysicalExamNumber'],
  517. iDCardNo: map['IDCardNo'],
  518. name: map['Name'],
  519. sex: map['Sex'],
  520. age: map['Age'],
  521. phone: map['Phone'],
  522. adress: map['Adress'],
  523. state: ExamStateEnum.values.firstWhere((e) => e.index == map['State']),
  524. organizationCode: map['OrganizationCode'],
  525. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  526. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  527. );
  528. }
  529. Map<String, dynamic> toJson() {
  530. final map = super.toJson();
  531. if (code != null)
  532. map['Code'] = code;
  533. if (physicalExamNumber != null)
  534. map['PhysicalExamNumber'] = physicalExamNumber;
  535. if (iDCardNo != null)
  536. map['IDCardNo'] = iDCardNo;
  537. if (name != null)
  538. map['Name'] = name;
  539. if (sex != null)
  540. map['Sex'] = sex;
  541. if (age != null)
  542. map['Age'] = age;
  543. if (phone != null)
  544. map['Phone'] = phone;
  545. if (adress != null)
  546. map['Adress'] = adress;
  547. map['State'] = state.index;
  548. if (organizationCode != null)
  549. map['OrganizationCode'] = organizationCode;
  550. return map;
  551. }
  552. }
  553. class GetRegiterInfoPageRequest extends PageRequest{
  554. String? keyword;
  555. String? operatorCode;
  556. GetRegiterInfoPageRequest({
  557. this.keyword,
  558. this.operatorCode,
  559. int pageIndex = 0,
  560. int pageSize = 0,
  561. String? token,
  562. }) : super(
  563. pageIndex: pageIndex,
  564. pageSize: pageSize,
  565. token: token,
  566. );
  567. factory GetRegiterInfoPageRequest.fromJson(Map<String, dynamic> map) {
  568. return GetRegiterInfoPageRequest(
  569. keyword: map['Keyword'],
  570. operatorCode: map['OperatorCode'],
  571. pageIndex: map['PageIndex'],
  572. pageSize: map['PageSize'],
  573. token: map['Token'],
  574. );
  575. }
  576. Map<String, dynamic> toJson() {
  577. final map = super.toJson();
  578. if (keyword != null)
  579. map['Keyword'] = keyword;
  580. if (operatorCode != null)
  581. map['OperatorCode'] = operatorCode;
  582. return map;
  583. }
  584. }