Explorar o código

解决由于申诉医生不是用户导致无法获取申诉人问题

songxinlu %!s(int64=3) %!d(string=hai) anos
pai
achega
3e73fcc843

+ 13 - 6
report-service/src/main/resources/mapper/AppealExamineInfoMapper.xml

@@ -5,7 +5,10 @@
 
     <select id="getComplaintRecord" resultType="com.lantone.report.dto.GetComplaintRecordDTO">
         SELECT
-        a.*, b.linkman AS claimant_name,
+        a.*,
+        CASE WHEN b.linkman IS NULL
+        THEN doctor.`name`
+        ELSE b.linkman END AS claimant_name,
         c.linkman AS check_name
         FROM
         (
@@ -109,10 +112,11 @@
             <![CDATA[ AND c.example_status = #{getComplaintRecordVO.state}]]>
         </if>
         ) a
-        LEFT JOIN sys_user b ON a.claimant_id = b.id
-        LEFT JOIN sys_user c ON a.check_id = c.id
-        WHERE b.is_deleted='N'
-        AND c.is_deleted='N'
+        LEFT JOIN sys_user b ON a.claimant_id = b.id AND b.is_deleted='N'
+        LEFT JOIN sys_user c ON a.check_id = c.id AND c.is_deleted='N'
+        LEFT JOIN bas_doctor_info doctor ON doctor.doctor_id = a.claimant_id AND a.hospital_id = doctor.hospital_id AND doctor.is_deleted='N'
+        WHERE
+         1=1
         <if test="getComplaintRecordVO.name != null and getComplaintRecordVO.name != '' ">
             <![CDATA[ AND c.linkman like concat('%',#{getComplaintRecordVO.name},'%')]]>
         </if>
@@ -120,7 +124,9 @@
 
     <select id="getAppealReview" resultType="com.lantone.report.dto.GetAppealReviewDTO">
         SELECT
-        a.*, b.linkman AS claimant_name,
+        a.*, CASE WHEN b.linkman IS NULL
+        THEN doctor.`name`
+        ELSE b.linkman END AS claimant_name,
         c.linkman AS check_name
         FROM
         (
@@ -217,6 +223,7 @@
         ) a
         LEFT JOIN sys_user b ON a.claimant_id = b.id AND b.is_deleted='N'
         LEFT JOIN sys_user c ON a.check_id = c.id
+        LEFT JOIN bas_doctor_info doctor ON doctor.doctor_id = a.claimant_id AND a.hospital_id = doctor.hospital_id AND doctor.is_deleted='N'
         WHERE c.is_deleted='N'
         <if test="getAppealReviewVO.name != null and getAppealReviewVO.name != '' ">
             <![CDATA[ AND b.linkman like concat('%',#{getAppealReviewVO.name},'%')]]>

+ 4 - 1
report-service/src/main/resources/mapper/AppealInfoMapper.xml

@@ -66,7 +66,9 @@
             mae.gmt_create appealExamineDate,
             mae.msg,
             mae.`value` score,
-            u.linkman claimantName,
+            CASE WHEN u.linkman IS NULL
+            THEN doctor.`name`
+            ELSE u.linkman END claimantName,
             u2.linkman checkName
         FROM
             med_appeal_info mai
@@ -75,6 +77,7 @@
         AND qce.is_deleted = "N"
         LEFT JOIN sys_user u ON mai.claimant_id = u.id
         LEFT JOIN sys_user u2 ON mai.check_id = u2.id
+        LEFT JOIN bas_doctor_info doctor ON doctor.doctor_id = mai.claimant_id AND mai.hospital_id = doctor.hospital_id AND doctor.is_deleted='N'
         WHERE
             1 = 1
         AND mai.work_flow_node_id != #{getAppealInfoVO.concelWorkFlowNode}