Api.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <?php
  2. declare (strict_types=1);
  3. namespace app\zskk\controller;
  4. use app\common\controller\ApiController;
  5. use app\zskk\servies\EmpowerServies;
  6. use app\zskk\servies\HrServies;
  7. use app\zskk\servies\PatientServies;
  8. class Api extends ApiController
  9. {
  10. protected array $noAuth = ['getToken','getAllToken'];
  11. public function getToken(EmpowerServies $servies): void
  12. {
  13. $params = $this->request->post();
  14. $data = $servies->getInsToken($params['data']);
  15. $this->success($data['msg'], $data['data']);
  16. }
  17. public function getRecogToken(EmpowerServies $servies, PatientServies $patientServies): void
  18. {
  19. $params = $this->request->post();
  20. $params = $this->getDecryptData($params['data']);
  21. $params = $patientServies->makeMappingData($params,'0','getRecogToken');
  22. $data = $servies->getRecogToken($params);
  23. $data = $patientServies->makeMappingData($data,'0','getRecogToken',2);
  24. $data = $this->makeEncryptData($data);
  25. $this->success('', $data);
  26. }
  27. /**
  28. * 上传检查数据
  29. */
  30. public function postExamReport(PatientServies $servies): void
  31. {
  32. $params = $this->request->post();
  33. $params = $this->getDecryptData($params['data']);
  34. $params = $servies->makeMappingData($params,'0','postExamReport');
  35. $data = $servies->postExamReport($params);
  36. $this->success('', $data);
  37. }
  38. /**
  39. * 上传检验数据
  40. */
  41. public function postLabReport(PatientServies $servies): void
  42. {
  43. $params = $this->request->post();
  44. $params = $this->getDecryptData($params['data']);
  45. $params = $servies->makeMappingData($params,'0','postLabReport');
  46. $data = $servies->postLabReport($params);
  47. $this->success('', $data);
  48. }
  49. /**
  50. * 删除检查数据
  51. */
  52. public function delExamReport(PatientServies $servies)//: void
  53. {
  54. $params = $this->request->post();
  55. $params = $this->getDecryptData($params['data']);
  56. $tokenData = $this->tokenData;
  57. if(empty($tokenData))
  58. {
  59. $this->error('无效的token');
  60. }
  61. $params = $servies->makeMappingData($params,'0','delExamReport');
  62. $data = $servies->delExamReport($params,$tokenData['orgCode']);
  63. $this->success('');
  64. }
  65. /**
  66. * 删除检验数据
  67. */
  68. public function delLabReport(PatientServies $servies): void
  69. {
  70. $params = $this->request->post();
  71. $params = $this->getDecryptData($params['data']);
  72. $tokenData = $this->tokenData;
  73. if(empty($tokenData))
  74. {
  75. $this->error('无效的token');
  76. }
  77. $params = $servies->makeMappingData($params,'0','delLabReport');
  78. $data = $servies->delLabReport($params,$tokenData['orgCode']);
  79. $this->success('');
  80. }
  81. /**
  82. * 后台初始化请求
  83. * @return void
  84. * @throws Throwable
  85. */
  86. public function getRecogData(HrServies $servies,PatientServies $patientServies): void
  87. {
  88. $param = $this->request->post();
  89. $params = $this->getDecryptData($param['data']);
  90. $params = $patientServies->makeMappingData($params,'0','getRecogData');
  91. $ID_CARDNUM = $params['ID_CARDNUM'] ?? '';
  92. $ORGCODE = $params['ORGCODE'] ?? '';
  93. $ORGNAME = $params['ORGNAME'] ?? '';
  94. $DOCTORNAME = $params['DOCTORNAME'] ?? '';
  95. $DOCTORCODE = $params['DOCTORCODE'] ?? '';
  96. $data = $servies->getRecogData($ID_CARDNUM, $ORGCODE);
  97. // halt($data);
  98. $data = $patientServies->makeMappingData($data,'0','getRecogData',2);
  99. // halt($data);
  100. $data = $this->makeEncryptData($data);
  101. // halt($data);
  102. $this->success('', $data);
  103. }
  104. /**
  105. * @throws ModelNotFoundException
  106. * @throws DataNotFoundException
  107. * @throws DbException
  108. */
  109. public function saveRecogResult(HrServies $servies, PatientServies $patientServies): void
  110. {
  111. $params = $this->request->post();
  112. $params = $this->getDecryptData($params['data']);
  113. $params = $patientServies->makeMappingData($params,'0','saveRecogResult');
  114. $HR_RECORDS = $params['HR_RECORDS'] ?? array();
  115. $servies->saveRecogResult($HR_RECORDS);
  116. $this->success('');
  117. }
  118. public function getAllToken(EmpowerServies $servies, PatientServies $patientServies)
  119. {
  120. $params = $this->request->post();
  121. $data['clientid'] = '12371600494581158K'; //机构编码
  122. $data['clientsecret'] = '837ffb03803b72cd99a941770fb6b2be'; //授权码
  123. $data = $servies->getInsToken($data);
  124. $idCard = $patientServies->getIdCard($params['mpi']);
  125. $arr['ID_CARDNUM'] = $idCard;
  126. $arr['ORGCODE'] = '12371600494581158K';
  127. $arr['ORGNAME'] = '滨州市优抚医院';
  128. $arr['DOCTORNAME'] = '贝远';
  129. $arr['DOCTORCODE'] = '00010005';
  130. $return = $servies->getRecogToken($arr);
  131. $this->success('', $return);
  132. }
  133. }