Explorar el Código

Merge branch 'dev/20210326_2.0.2' into test

# Conflicts:
#	src/main/java/com/diagbot/facade/BehospitalInfoFacade.java
chengyao hace 4 años
padre
commit
33d8ec8085

+ 79 - 4
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -15,10 +15,8 @@ import com.diagbot.util.*;
 import com.diagbot.vo.*;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
-
 import org.apache.commons.lang3.StringUtils;
 import org.apache.ibatis.annotations.Param;
-import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
@@ -612,6 +610,16 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
                 .eq("behospital_code", analyzeVO.getBehospitalCode()), false
         );
 
+        //知情同意书
+        List<MedicalRecord> recordList = medicalRecordFacade.list(new QueryWrapper<MedicalRecord>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("behospital_code", analyzeVO.getBehospitalCode())
+                .eq("hospital_id", hospitalId)
+                .in("mode_id", Arrays.asList(53,16))
+                .orderByAsc("rec_date")
+        );
+        List<MedicalRecordDTO> medicalRecordDTOList = BeanUtil.listCopyTo(recordList, MedicalRecordDTO.class);
+
         List<HomeDiagnoseInfo> homePageList = new ArrayList<>();
         List<HomeOperationInfo> homeOperationInfoList = new ArrayList<>();
         if (homePage != null) {
@@ -922,7 +930,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
 
         addData("日常病程录", recMap, medrecVoList);
 
-        addDataWithInnerKey("知情同意书", recMap, medrecVoList);
+        DataWithKey("知情同意书", medicalRecordDTOList, medrecVoList);
+        //addDataWithInnerKey("知情同意书", recMap, medrecVoList);
         addDataWithInnerKey("谈话告知书", recMap, medrecVoList);
 
         //==============文书====================
@@ -1228,6 +1237,38 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         }
     }
 
+    /**
+     * 知情同意书 单独传
+     *
+     * @param key
+     * @param recordList
+     * @param medrecVoList
+     */
+    public void DataWithKey(String key, List<MedicalRecordDTO> recordList, List<MedrecVo> medrecVoList) {
+        MedrecVo medrecVo = new MedrecVo();
+        medrecVo.setTitle(key);
+        Map<String, Object> listMap = new HashMap<>();
+        if (ListUtil.isNotEmpty(recordList)) {
+            Map<String, List<MedicalRecordDTO>> keyMap =
+                    EntityUtil.makeEntityListMap(recordList, "recTitle");
+            Set<String> keyList = keyMap.keySet();
+            for (String k : keyList) {
+                List<MedicalRecordDTO> recordContentDTOS = keyMap.get(k);
+                if(ListUtil.isNotEmpty(recordContentDTOS)){
+                    for (MedicalRecordDTO recordContentDTO : recordContentDTOS) {
+                        recordContentDTO.setIsParsed(0);
+                    }
+                }
+
+                if (ListUtil.isNotEmpty(recordContentDTOS)) {
+                    listMap.put(k,recordContentDTOS);
+                }
+            }
+            medrecVo.setContent(listMap);
+            medrecVoList.add(medrecVo);
+        }
+    }
+
     /**
      * 1.5.0拼接数据
      *
@@ -1438,7 +1479,7 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         Map<String, Object> content = new HashMap<>();
         try {
             Map<String, Object> objectMap = MapUtil.objectToMap(homePage);
-            List<String> firstPageDate = Arrays.asList("birthday", "behospitalDate", "leaveHospitalDate", "qcDate");
+            List<String> firstPageDate = Arrays.asList("birthday", "behospitalDate", "leaveHospitalDate", "qcDate","gmtCreate");
             for (String objKey : objectMap.keySet()) {
                 if (map.containsKey(objKey)) {
                     if (firstPageDate.contains(objKey)) {
@@ -2278,4 +2319,38 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         return ret;
     }
 
+
+    /**
+     * 手术费,抗菌药物,手术和病理费等含有人数
+     * @param filterVO
+     * @return
+     */
+    public Map<String,Long> selectOperationNum( FilterVO filterVO){
+        return   baseMapper.selectOperationNum(filterVO);
+    }
+    /**
+     * 触发规则人数
+     * @param filterVO
+     * @return
+     */
+    public Map<String,Long> triggeringRules( FilterVO filterVO){
+        return   baseMapper.triggeringRules(filterVO);
+    }
+
+    /**
+     * 病案首页关联的出院病历
+     * @param filterVO
+     * @return
+     */
+    public List<Map<String,String>> getMedicalRecords(@Param("filterVO") FilterVO filterVO){
+        return baseMapper.getMedicalRecords(filterVO);
+    }
+    /**
+     * 首页恶性肿瘤人数
+     * @param filterVO
+     * @return
+     */
+    public List<Map<String,String>> malignancy(@Param("filterVO") FilterVO filterVO){
+        return  baseMapper.malignancy(filterVO);
+    }
 }

+ 3 - 3
src/main/java/com/diagbot/facade/ConsoleFacade.java

@@ -2967,7 +2967,7 @@ public class ConsoleFacade {
             String doctorAdviceType = medManageParams.get(i).getDoctorAdviceType();
             String da_status = medManageParams.get(i).getDaStatus();
             for (String str : rescueDrugList) {
-                if(StringUtils.isNotEmpty(daItemName) && daItemName.contains(str) && StringUtils.isNotEmpty(doctorAdviceType) && doctorAdviceType.equals(QualityContent.STAT_ORDER) && (StringUtils.isEmpty(da_status) || (StringUtils.isNotEmpty(da_status) && ! doctorAdviceType.equals(QualityContent.CANCELLATION_ORDER)))){
+                if(StringUtils.isNotEmpty(daItemName) && daItemName.contains(str) && StringUtils.isNotEmpty(doctorAdviceType) && doctorAdviceType.equals(QualityContent.STAT_ORDER) && (StringUtils.isEmpty(da_status) || (StringUtils.isNotEmpty(da_status) && ! da_status.equals(QualityContent.CANCELLATION_ORDER)))){
                     manageList.add(medManageParams.get(i));
                 }
             }
@@ -2996,8 +2996,8 @@ public class ConsoleFacade {
         doctorAdviceList.parallelStream()
                 .filter(obj -> beCode.contains(obj.getBehospitalCode()) && obj.getDoctorAdviceType()
                         .equals(QualityContent.STAT_ORDER) && blood_list.contains(obj.getDaItemName()) &&
-                        (StringUtils.isEmpty(obj.getDaStatus())) || (StringUtils.isNotEmpty(obj.getDaStatus()) && ! obj.getDaStatus()
-                        .equals(QualityContent.CANCELLATION_ORDER)))
+                        (StringUtils.isEmpty(obj.getDaStatus()) || (StringUtils.isNotEmpty(obj.getDaStatus()) && ! obj.getDaStatus()
+                        .equals(QualityContent.CANCELLATION_ORDER))))
                 .distinct()
                 .map(obj -> manageList.add(obj.getBehospitalCode()))
                 .collect(Collectors.toList());