XzModel.php 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. <?php
  2. namespace app\api\model\xz;
  3. use app\api\model\api\ApiModel;
  4. use app\api\model\bodypart\DictbodyModel;
  5. use app\api\model\doctor\DoctorModel;
  6. use app\api\model\exam\ExamModel;
  7. use app\api\model\image\ImageModel;
  8. use app\api\model\imagenode\ImagenodeModel;
  9. use app\api\model\institution\InstitutionModel;
  10. use app\api\model\moneywater\MoneywaterModel;
  11. use app\api\model\patient\PatientModel;
  12. use app\api\model\patientsearch\PatientsearchModel;
  13. use app\api\model\remote\RemoteModel;
  14. use app\api\model\report\ReportModel;
  15. use app\api\model\share\ShareModel;
  16. use app\api\model\speciallog\SpeciallogModel;
  17. use app\api\model\user\UserModel;
  18. use app\api\model\ZskkDefaultModel;
  19. use think\Exception;
  20. use think\facade\Log;
  21. use app\api\model\studies\StudiesModel;
  22. class XzModel extends ZskkDefaultModel {
  23. protected $table= 'xz';
  24. protected $logName = "XzModel";
  25. public function insertXz($data)
  26. {
  27. $info = $this->insert($data);
  28. return $info;
  29. }
  30. public function checkXz($where)
  31. {
  32. $data = $this->where($where)->find();
  33. return $data;
  34. }
  35. public function insertStudies($data)
  36. {
  37. $info = StudiesModel::insert($data);
  38. return $info;
  39. }
  40. public function insertPatient($data)
  41. {
  42. $info = PatientModel::insert($data);
  43. return $info;
  44. }
  45. public function insertExam($data)
  46. {
  47. $info = ExamModel::insert($data);
  48. return $info;
  49. }
  50. public function saveMoneyWater($data)
  51. {
  52. $info = MoneywaterModel::insert($data);
  53. return $info;
  54. }
  55. public function updateStatus($where,$status)
  56. {
  57. $info = $this->where($where)
  58. ->update(['exam_status'=>$status]);
  59. return $info;
  60. }
  61. public function getXzData($id)
  62. {
  63. $info = $this->where('exam_id',$id)
  64. ->find();
  65. return $info;
  66. }
  67. public function getExamData($id)
  68. {
  69. $info = ExamModel::where('id',$id)->select();
  70. return $info;
  71. }
  72. public function getExamDataById($id)
  73. {
  74. $info = ExamModel::where('id',$id)->find();
  75. return $info;
  76. }
  77. public function getReport($id)
  78. {
  79. $info = ReportModel::where('exam_id',$id)
  80. ->where('type',1)
  81. ->find();
  82. return $info;
  83. }
  84. public function getDoctorName($id)
  85. {
  86. $name = DoctorModel::where('id',$id)->value('realname');
  87. return $name;
  88. }
  89. public function updateStudies($id,$examId)
  90. {
  91. StudiesModel::where('id',$id)->update(['exam_id'=>$examId]);
  92. }
  93. public function updateXz($where,$updateXz)
  94. {
  95. $this->where($where)->update($updateXz);
  96. }
  97. public function getUid($id)
  98. {
  99. $uid = StudiesModel::where('exam_id',$id)->value('studyuid');
  100. return $uid;
  101. }
  102. public function getAccession($id)
  103. {
  104. $info = ExamModel::where('id',$id)->value('accession_num');
  105. return $info;
  106. }
  107. public function getWaterLog($examId,$insId)
  108. {
  109. $id = MoneywaterModel::where('exam_id',$examId)->where('institution_id',$insId)->value('id');
  110. return $id;
  111. }
  112. public function getPushInfo($id)
  113. {
  114. $ids = PatientsearchModel::where('exam_id',$id)->distinct(true)->column('patient_uid');
  115. return $ids;
  116. }
  117. public function getOpenId($ids)
  118. {
  119. $openids = UserModel::where('id','in',$ids)->column('wx_openid');
  120. return $openids;
  121. }
  122. public function check($studyId,$studyUid,$institution)
  123. {
  124. if(empty($studyUid))
  125. {
  126. $info = ExamModel::where('study_id',$studyId)->find();
  127. }else{
  128. $info = ExamModel::where('studyuid',$studyUid)->where('institution_id',$institution)->find();
  129. }
  130. return $info;
  131. }
  132. public function getInsFilmInfo($id)
  133. {
  134. $info = InstitutionModel::where('id',$id)->field('film_price,charge_mode')->find();
  135. return $info;
  136. }
  137. public function getBodyText($body)
  138. {
  139. $info = DictbodyModel::where('en',$body)->value('zh');
  140. return $info;
  141. }
  142. public function getExam($key,$value,$institutionId)
  143. {
  144. $id = ExamModel::where($key,$value)->where('institution_id',$institutionId)->find();
  145. return $id;
  146. }
  147. public function updateExam($data,$id)
  148. {
  149. $info = ExamModel::where('id',$id)->update($data);
  150. return $info;
  151. }
  152. public function getStudyUid($id)
  153. {
  154. $studyuid = StudiesModel::where('id',$id)->value('studyuid');
  155. return $studyuid;
  156. }
  157. public function getApiAction($id,$action)
  158. {
  159. $method = ApiModel::where('hid',$id)->where('action',$action)->value('method');
  160. return $method;
  161. }
  162. public function checkDoctor($name)
  163. {
  164. $id = DoctorModel::where('realname',$name)->value('id');
  165. return $id;
  166. }
  167. public function getApi($id)
  168. {
  169. $apiIds = InstitutionModel::where('id',$id)->value('api_ids');
  170. return $apiIds;
  171. }
  172. public function getInterface($ids)
  173. {
  174. $info = ApiModel::whereIn('id',$ids)->select();
  175. return $info;
  176. }
  177. public function getApis($institution,$action)
  178. {
  179. $data = ApiModel::where('hid',$institution)->where('action',$action)->find();
  180. return $data;
  181. }
  182. public function getInstitutionName($id)
  183. {
  184. $name = InstitutionModel::where('id',$id)->value('name');
  185. return $name;
  186. }
  187. public function getInsValue($id,$value)
  188. {
  189. $data = InstitutionModel::where('id',$id)->value($value);
  190. return $data;
  191. }
  192. public function getImageInfo($study)
  193. {
  194. $info = ImageModel::alias('i')
  195. ->join(['series'=>'s'],'s.id=i.series_id')
  196. ->where('s.study_id',$study)
  197. ->field(['i.id','i.url','i.sopUid','s.id AS series_id','s.study_id','i.sopUid'])
  198. ->select()
  199. ->toArray();
  200. return $info;
  201. }
  202. public function saveImageNode($data)
  203. {
  204. $info = ImagenodeModel::insertAll($data);
  205. return $info;
  206. }
  207. public function getImageNode($where)
  208. {
  209. $info = ImagenodeModel::where($where)->field('image_node,image_id,sop_uid')->select()->toArray();
  210. return $info;
  211. }
  212. public function getWjwData()
  213. {
  214. $data = ReportModel::alias('r')
  215. ->join(['exams'=>'e'],'e.id=r.exam_id')
  216. ->where('e.exam_status',9)
  217. ->where("DATEDIFF(r.createdAt,NOW())=-1")
  218. ->where("e.institution_id like '730900%'")
  219. ->where("r.impression is not null")
  220. ->field('r.*,e.studyuid,e.institution_id,e.name')
  221. ->select()
  222. ->toArray();
  223. return $data;
  224. }
  225. public function saveSms($data)
  226. {
  227. $info = ShareModel::insert($data);
  228. return $info;
  229. }
  230. public function insertSpecialLog($url, $diff)
  231. {
  232. return SpeciallogModel::insert(['url'=>$url,'timeDiff'=>$diff]);
  233. }
  234. public function getRemoteCount()
  235. {
  236. $num = RemoteModel::where("local_institution_id like '73090%'")->count();
  237. return $num;
  238. }
  239. public function getYjRemote($page,$num)
  240. {
  241. $report = RemoteModel::alias('a')
  242. ->join(['report'=>'r'],'r.remote_application_id=a.id','left')
  243. ->where("a.local_institution_id like '73090%'")
  244. ->page($page,$num)
  245. ->field('r.*,a.*,r.id AS rid')
  246. ->select()
  247. ->toArray();
  248. return $report;
  249. }
  250. public function getYjDoctor()
  251. {
  252. $data = DoctorModel::where("institution_id like '73090%'")->select();
  253. return $data;
  254. }
  255. }