Jelajahi Sumber

互认项目筛选

lgy 2 minggu lalu
induk
melakukan
5b25b2d472

+ 4 - 2
jcjyhr/app/zskk/controller/Api.php

@@ -174,7 +174,8 @@ class Api extends ApiController
         $DOCTORNAME = '';//params['DOCTORNAME'] ?? '';
         $DOCTORCODE = '';//$params['DOCTORCODE'] ?? '';
         $DEPARTMENT = '';//$params['DEPTNAME'] ?? '';
-        $data = $servies->getShareCheck($ID_CARDNUM, $ORGCODE,$DOCTORCODE,$DEPARTMENT,1);
+        $HR_ITEMCODE = $params['HR_ITEMCODE'] ?? '';
+        $data = $servies->getShareCheck($ID_CARDNUM, $ORGCODE,$DOCTORCODE,$DEPARTMENT,1,0,$HR_ITEMCODE);
         $data = $patientServies->makeMappingData(['RETURN'=>$data],'0','getShareCheck',2);
         // halt($data);
 //        $data = $this->makeEncryptData($data);
@@ -202,7 +203,8 @@ class Api extends ApiController
         $DOCTORNAME = '';//$params['DOCTORNAME'] ?? '';
         $DOCTORCODE = '';//$params['DOCTORCODE'] ?? '';
         $DEPARTMENT = '';//$params['DEPTNAME'] ?? '';
-        $data = $servies->getShareCheck($ID_CARDNUM, $ORGCODE,$DOCTORCODE,$DEPARTMENT,1,1);
+        $HR_ITEMCODE = $params['HR_ITEMCODE'] ?? '';
+        $data = $servies->getShareCheck($ID_CARDNUM, $ORGCODE,$DOCTORCODE,$DEPARTMENT,1,1,$HR_ITEMCODE);
         $data = $patientServies->makeMappingData(['RETURN'=>$data],'0','getShareCheck',2);
         // halt($data);
 //        $data = $this->makeEncryptData($data);

+ 4 - 4
jcjyhr/app/zskk/servies/HrServies.php

@@ -44,14 +44,14 @@ class HrServies
     
 
 
-    public function getShareCheck($ID_CARDNUM, $ORGCODE,$DOCTORCODE,$DEPART,$result,$all=0): bool|array
+    public function getShareCheck($ID_CARDNUM, $ORGCODE,$DOCTORCODE,$DEPART,$result,$all=0,$HR_ITEMCODE=[]): bool|array
     {
         $ID_CARDNUM = Gm::encrypt(Config::get('gm.key'),$ID_CARDNUM);
         $data = array();
         $patients = $this->patientModel->getPatientsByID_CARDNUM($ID_CARDNUM);
         $r = false;
         foreach($patients as $patient) {
-            $return = $this->getRecogViewDetails($patient['PATIENT_CODE'], $ORGCODE,$DOCTORCODE,$DEPART,$result,$all);
+            $return = $this->getRecogViewDetails($patient['PATIENT_CODE'], $ORGCODE,$DOCTORCODE,$DEPART,$result,$all,$HR_ITEMCODE);
             $data[] = $return;
             if($return)
             {
@@ -161,7 +161,7 @@ class HrServies
         return $data;
     }
 
-    public function getRecogViewDetails($PATIENT_CODE,$ORGCODE,$DOCTORCODE,$DEPART,$RESULT,$all): bool|array {
+    public function getRecogViewDetails($PATIENT_CODE,$ORGCODE,$DOCTORCODE,$DEPART,$RESULT,$all,$HR_ITEMCODE): bool|array {
         $data = null;
         $WHERE = [];
         if($ORGCODE)
@@ -176,7 +176,7 @@ class HrServies
         {
             $WHERE['DEPTNAME'] = $DEPART;
         }
-        $data = $this->patientServies->getPatientSign(['PATIENT_CODE'=> $PATIENT_CODE],$WHERE,$RESULT,$all);
+        $data = $this->patientServies->getPatientSign(['PATIENT_CODE'=> $PATIENT_CODE],$WHERE,$RESULT,$all,$HR_ITEMCODE);
         return $data;
     }
 

+ 10 - 3
jcjyhr/app/zskk/servies/PatientServies.php

@@ -700,8 +700,15 @@ class PatientServies
      * @throws DbException
      * @throws DataNotFoundException
      */
-    public function getPatientSign($where,$medicalWhere,$RESULT,$all ): bool|array
+    public function getPatientSign($where,$medicalWhere,$RESULT,$all ,$HR_ITEMCODE): bool|array
     {
+        $exam_report = [];
+        $inspect_report = [];
+        if(!empty($HR_ITEMCODE))
+        {
+            $exam_report[] = ['HR_ITEMNAME_CODE','in',array_filter(explode(';',$HR_ITEMCODE))];
+            $inspect_report[] = ['LAB_HR_ITEMNAME_CODE','in',array_filter(explode(';',$HR_ITEMCODE))];
+        }
         $patient = $this->patientModel->getPatient($where);
         if(empty($patient))
         {
@@ -719,12 +726,12 @@ class PatientServies
         {
             $examWhere = ['RECOG_STATUS'=>'*'];
         }
-        $exam = $this->patientModel->getExam($patient['PATIENT_CODE'],$examWhere);
+        $exam = $this->patientModel->getExam($patient['PATIENT_CODE'],$examWhere,$exam_report);
         if(!empty($exam) && $RESULT == 1)
         {
             return $exam;
         }
-        $inspect = $this->patientModel->getInspect($patient['PATIENT_CODE']);
+        $inspect = $this->patientModel->getInspect($patient['PATIENT_CODE'],$inspect_report);
 
         unset($patient['PATIENT_CODE']);
         $inspectData = [];