浏览代码

Merge branch 'debug' into test

chengyao 4 年之前
父节点
当前提交
e7ba8e0a6a

+ 10 - 1
src/main/java/com/diagbot/mapper/BehospitalInfoMapper.java

@@ -33,6 +33,8 @@ import com.diagbot.vo.TaskVO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * <p>
@@ -301,6 +303,13 @@ public interface BehospitalInfoMapper extends BaseMapper<BehospitalInfo> {
     public IPage<QcResultShortDTO> leaveHosMRPage(@Param("qcResultShortPageVO") QcResultShortPageVO qcResultShortPageVO);
 
     /**
+ * 离院病人质控评分年龄单独查询详情页
+ *
+ * @param
+ * @return
+ */
+    List<Map<String,Object>>getAge(@Param("hospitalId")String hospitalId, @Param("behospitalCodes")Set<String> behospitalCodes);
+    /**
      * 改善率统计-全院(首页)
      *
      * @param filterVO
@@ -413,4 +422,4 @@ public interface BehospitalInfoMapper extends BaseMapper<BehospitalInfo> {
      * @return
      */
     public List<ExportExcelDTO> qcCheckMRPageExport(@Param("qcResultShortPageVO") QcResultShortPageVO qcResultShortPageVO);
-}
+}

+ 34 - 3
src/main/java/com/diagbot/service/impl/BehospitalInfoServiceImpl.java

@@ -32,10 +32,12 @@ import com.diagbot.vo.FilterVO;
 import com.diagbot.vo.QcResultShortPageVO;
 import com.diagbot.vo.ReBeHosPageVO;
 import com.diagbot.vo.TaskVO;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
+import java.util.*;
 
 /**
  * <p>
@@ -394,7 +396,36 @@ public class BehospitalInfoServiceImpl extends ServiceImpl<BehospitalInfoMapper,
      */
     @Override
     public IPage<QcResultShortDTO> leaveHosMRPage(@Param("qcResultShortPageVO") QcResultShortPageVO qcResultShortPageVO) {
-        return baseMapper.leaveHosMRPage(qcResultShortPageVO);
+        IPage<QcResultShortDTO> qcResultShortDTOIPage = baseMapper.leaveHosMRPage(qcResultShortPageVO);
+        List<QcResultShortDTO> records = qcResultShortDTOIPage.getRecords();
+        String hospitalId = qcResultShortPageVO.getHospitalId();
+        Set<String> behospitalCodes = new HashSet<String>();
+
+        if(CollectionUtils.isEmpty(records)){
+            return null;
+        }
+        for (QcResultShortDTO record : records) {
+            if(StringUtils.isEmpty( record.getAge())){
+                String behospitalCode = record.getBehospitalCode();
+                behospitalCodes.add(behospitalCode);
+            }
+        }
+        //目标数据个数与年龄数据为空个数对比,匹配上说明年龄字段从单独sql查出
+        if(records.size() == behospitalCodes.size()){
+            List<Map<String,Object>> mapLists = baseMapper.getAge(hospitalId, behospitalCodes);
+            for (Map<String, Object> mapList : mapLists) {
+                for (QcResultShortDTO record : records) {
+                    if(record.getBehospitalCode().equals(mapList.get("behospitalCode"))){
+                        record.setAge(String.valueOf(mapList.get("age")));
+                    }
+                }
+            }
+        }
+
+
+
+        return qcResultShortDTOIPage;
+
     }
 
     /**
@@ -550,4 +581,4 @@ public class BehospitalInfoServiceImpl extends ServiceImpl<BehospitalInfoMapper,
     public List<ExportExcelDTO> qcCheckMRPageExport(@Param("qcResultShortPageVO") QcResultShortPageVO qcResultShortPageVO) {
         return baseMapper.qcCheckMRPageExport(qcResultShortPageVO);
     }
-}
+}

+ 22 - 13
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -735,18 +735,14 @@
         FROM
         med_behospital_info a,
         med_medical_record b,
-        med_medical_record_content c,
-        med_home_page d
+        med_medical_record_content c
         WHERE
         a.is_deleted = 'N'
         AND b.is_deleted = 'N'
         AND c.is_deleted = 'N'
-        AND d.is_deleted = 'N'
         AND a.hospital_id = b.hospital_id
         AND a.hospital_id = c.hospital_id
         AND a.behospital_code = b.behospital_code
-        AND a.hospital_id = d.hospital_id
-        AND a.behospital_code = d.behospital_code
         AND b.rec_id = c.rec_id
         and b.mode_id = '24'
         <if test="isPlacefile != null and isPlacefile != ''">
@@ -4678,7 +4674,21 @@
         AND cases_id = 243
         ) h2
     </select>
-
+    <!-- 离院病人评分详情页-->
+    <select id="getAge" resultType="java.util.Map">
+    SELECT
+    a.behospital_code as behospitalCode,
+    a.age as age
+    FROM
+    med_home_page a
+    WHERE
+    a.is_deleted = 'N'
+    AND a.hospital_id = #{hospitalId}
+    AND a.behospital_code IN
+        <foreach collection="behospitalCodes" open="(" separator="," close=")" item="item">
+          '${item}'
+        </foreach>
+    </select>
     <!-- 离院病人评分详情页-->
     <select id="leaveHosMRPage" resultType="com.diagbot.dto.QcResultShortDTO">
         SELECT
@@ -4714,7 +4724,10 @@
         t1.mrName,
         t1.chTime,
         t1.mrTime,
-        t2.age,
+        <if test="qcResultShortPageVO.leaveHosType != null and qcResultShortPageVO.leaveHosType !=1">
+            t2.age,
+        </if>
+
         t1.file_code AS fileCode
         FROM
         (
@@ -4846,15 +4859,11 @@
             )
         </if>
         <if test="qcResultShortPageVO.leaveHosType != null and qcResultShortPageVO.leaveHosType ==1">
-            ,med_home_page t2,
-             med_medical_record b,
+            , med_medical_record b,
             med_medical_record_content c
             WHERE
-            t2.is_deleted = 'N'
-            and b.is_deleted = 'N'
+             b.is_deleted = 'N'
             and	c.is_deleted = 'N'
-            AND t1.hospital_id = t2.hospital_id
-            AND t1.behospital_code = t2.behospital_code
             and t1.hospital_id = b.hospital_id
             and t1.hospital_id = c.hospital_id
             AND t1.behospital_code = b.behospital_code