فهرست منبع

病历文书详情页原文书超链接是否显示配置

songxinlu 3 سال پیش
والد
کامیت
f7fc5dfa9f
2فایلهای تغییر یافته به همراه60 افزوده شده و 1 حذف شده
  1. 10 0
      doc/040.20211228_2.1.5/qc_initv2.1.5.sql
  2. 50 1
      src/main/java/com/diagbot/facade/QcModuleInfoFacade.java

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 10 - 0
doc/040.20211228_2.1.5/qc_initv2.1.5.sql


+ 50 - 1
src/main/java/com/diagbot/facade/QcModuleInfoFacade.java

@@ -1,5 +1,6 @@
 package com.diagbot.facade;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.GetModuleInfoOneDTO;
 import com.diagbot.dto.QcModuleDetailDTO;
@@ -13,6 +14,7 @@ import com.diagbot.service.impl.QcModuleInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
+import com.diagbot.util.StringUtil;
 import com.diagbot.vo.GetModuleInfoOneVO;
 import com.diagbot.vo.GetModuleMapVO;
 import com.diagbot.vo.QuestionIdsVO;
@@ -38,6 +40,8 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
     QcModuleDetailFacade qcModuleDetailFacade;
     @Autowired
     QcQuestionFacade qcQuestionFacade;
+    @Autowired
+    SysHospitalSetFacade sysHospitalSetFacade;
 
     /**
      * 根据id获取模板信息
@@ -95,10 +99,55 @@ public class QcModuleInfoFacade extends QcModuleInfoServiceImpl {
             return new HashMap<>();
         }
         GetModuleInfoOneVO getModuleInfoOneVO = new GetModuleInfoOneVO();
+        String pageShowFlag = sysHospitalSetFacade.getValue(getModuleMapVO.getHospitalId(), "page_show_flag");
+        String pageShowConfig = sysHospitalSetFacade.getValue(getModuleMapVO.getHospitalId(), "page_show_config");
         for (Long id : ids) {
             getModuleInfoOneVO.setModuleId(id);
-            res.put(id, getByIdFac(getModuleInfoOneVO));
+            GetModuleInfoOneDTO oneDTO = getByIdFac(getModuleInfoOneVO);
+            //原文书(超链接)配置
+            originalDocumentConfigure(oneDTO, pageShowFlag, pageShowConfig, getModuleMapVO.getHospitalId());
+            res.put(id, oneDTO);
         }
         return res;
     }
+
+    private void originalDocumentConfigure(GetModuleInfoOneDTO oneDTO, String pageShowFlag, String pageShowConfig, Long hospitalId) {
+        if (StringUtil.isNotEmpty(pageShowFlag) && StringUtil.isNotEmpty(pageShowConfig)) {
+            JSONObject pageShowFlagJSON = JSONObject.parseObject(pageShowFlag);
+            JSONObject pageShowConfigJSON = JSONObject.parseObject(pageShowConfig);
+            try {
+                if (pageShowFlagJSON.containsKey(oneDTO.getModeId().toString())) {
+                    if (pageShowFlagJSON.getBoolean(oneDTO.getModeId().toString())) {
+                        QcModuleDetailDTO qcModuleDetailDTO = createQcModuleDetailDTO(pageShowConfigJSON, hospitalId, oneDTO.getModeId());
+                        oneDTO.getModuleDetail().get(0).add(0,qcModuleDetailDTO);
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    private QcModuleDetailDTO createQcModuleDetailDTO(JSONObject pageShowConfigJSON, Long hospitalId, Long modeId) {
+        QcModuleDetailDTO qcModuleDetailDTO = new QcModuleDetailDTO();
+        QuestionDTO questionDTO = new QuestionDTO();
+        qcModuleDetailDTO.setQuestionId(modeId*-1);
+        qcModuleDetailDTO.setGroupId(pageShowConfigJSON.getInteger("groupId"));
+
+        questionDTO.setId(modeId*-1);
+        questionDTO.setName("");
+        questionDTO.setVal(pageShowConfigJSON.getString("val"));
+        questionDTO.setTagName("");
+        questionDTO.setControlType(pageShowConfigJSON.getInteger("controlType"));
+        questionDTO.setTagType(pageShowConfigJSON.getInteger("tagType"));
+        questionDTO.setHospitalId(hospitalId);
+        questionDTO.setModeId(modeId);
+        questionDTO.setRetract(pageShowConfigJSON.getInteger("retract"));
+        questionDTO.setAddLine(pageShowConfigJSON.getInteger("addLine"));
+        questionDTO.setMonoLine(pageShowConfigJSON.getInteger("monoLine"));
+        questionDTO.setBold(pageShowConfigJSON.getInteger("bold"));
+        questionDTO.setPosition(pageShowConfigJSON.getInteger("position"));
+        qcModuleDetailDTO.setQuestionDTO(questionDTO);
+        return qcModuleDetailDTO;
+    }
 }