Forráskód Böngészése

医院术语映射统计页面

zhaops 4 éve
szülő
commit
a0ab701c21

+ 23 - 0
cdssman-service/src/main/java/com/diagbot/dto/ConceptMappingDTO.java

@@ -0,0 +1,23 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/10/13 9:52
+ */
+@Getter
+@Setter
+public class ConceptMappingDTO {
+    private String name;
+    private Long hospitalId;
+    private Integer lisNum = 0;
+    private Integer deptNum = 0;
+    private Integer drugNum = 0;
+    private Integer pacsNum = 0;
+    private Integer diseaseNum = 0;
+    private Integer operationNum = 0;
+    private Integer transfusionNum = 0;
+}

+ 10 - 0
cdssman-service/src/main/java/com/diagbot/mapper/HospitalInfoMapper.java

@@ -2,11 +2,14 @@ package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.ConceptMappingDTO;
 import com.diagbot.entity.DiseaseConfig;
 import com.diagbot.entity.HospitalInfo;
 import com.diagbot.vo.HospitalInfoPageVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 医院信息表 Mapper 接口
@@ -23,4 +26,11 @@ public interface HospitalInfoMapper extends BaseMapper<HospitalInfo> {
      * @return
      */
     IPage<DiseaseConfig> getPage(@Param("hospitalInfoPageVO") HospitalInfoPageVO hospitalInfoPageVO);
+
+    /**
+     * 获取术语映射统计列表
+     *
+     * @return
+     */
+    List<ConceptMappingDTO> getMappingList();
 }

+ 11 - 1
cdssman-service/src/main/java/com/diagbot/service/HospitalInfoService.java

@@ -1,12 +1,15 @@
 package com.diagbot.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.ConceptMappingDTO;
 import com.diagbot.entity.DiseaseConfig;
 import com.diagbot.entity.HospitalInfo;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.vo.HospitalInfoPageVO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 医院信息表 服务类
@@ -23,4 +26,11 @@ public interface HospitalInfoService extends IService<HospitalInfo> {
      * @return
      */
     IPage<DiseaseConfig> getPage(@Param("hospitalInfoPageVO") HospitalInfoPageVO hospitalInfoPageVO);
+
+    /**
+     * 获取术语映射统计列表
+     *
+     * @return
+     */
+    List<ConceptMappingDTO> getMappingList();
 }

+ 12 - 0
cdssman-service/src/main/java/com/diagbot/service/impl/HospitalInfoServiceImpl.java

@@ -2,6 +2,7 @@ package com.diagbot.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.ConceptMappingDTO;
 import com.diagbot.entity.DiseaseConfig;
 import com.diagbot.entity.HospitalInfo;
 import com.diagbot.mapper.HospitalInfoMapper;
@@ -10,6 +11,8 @@ import com.diagbot.vo.HospitalInfoPageVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 医院信息表 服务实现类
@@ -29,4 +32,13 @@ public class HospitalInfoServiceImpl extends ServiceImpl<HospitalInfoMapper, Hos
     public IPage<DiseaseConfig> getPage(@Param("hospitalInfoPageVO") HospitalInfoPageVO hospitalInfoPageVO) {
         return baseMapper.getPage(hospitalInfoPageVO);
     }
+
+    /**
+     * 获取术语映射统计列表
+     *
+     * @return
+     */
+    public List<ConceptMappingDTO> getMappingList() {
+        return baseMapper.getMappingList();
+    }
 }

+ 14 - 0
cdssman-service/src/main/java/com/diagbot/web/HospitalInfoController.java

@@ -3,6 +3,7 @@ package com.diagbot.web;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.ConceptMappingDTO;
 import com.diagbot.dto.HospitalInfoDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.DiseaseConfig;
@@ -122,4 +123,17 @@ public class HospitalInfoController {
         IPage<DiseaseConfig> data = hospitalInfoFacade.getPage(hospitalInfoPageVO);
         return RespDTO.onSuc(data);
     }
+
+    /**
+     * 获取术语映射统计列表
+     *
+     * @return
+     */
+    @ApiOperation(value = "获取术语映射统计列表[by:zhaops]", notes = "")
+    @PostMapping("/getMappingList")
+    @SysLogger("getMappingList")
+    public RespDTO<ConceptMappingDTO> getMappingList() {
+        List<ConceptMappingDTO> data = hospitalInfoFacade.getMappingList();
+        return RespDTO.onSuc(data);
+    }
 }

+ 27 - 0
cdssman-service/src/main/resources/mapper/HospitalInfoMapper.xml

@@ -44,4 +44,31 @@
             and a.connect = #{hospitalInfoPageVO.connect}
         </if>
     </select>
+
+    <!-- 获取术语映射统计列表 -->
+    <select id="getMappingList" resultType="com.diagbot.dto.ConceptMappingDTO">
+        SELECT
+        a.`name`,
+        a.id AS hospitalId,
+        b.num AS lisNum,
+        c.num AS deptNum,
+        d.num AS drugNum,
+        e.num AS pacsNum,
+        f.num AS diseaseNum,
+        g.num AS operationNum,
+        h.num AS transfusionNum
+        FROM
+        tran_hospital_info a
+        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_lis_config WHERE is_deleted = 'N' GROUP BY hospital_id ) b ON a.id = b.hospital_id
+        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_dept_config WHERE is_deleted = 'N' GROUP BY hospital_id ) c ON a.id = c.hospital_id
+        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_drug_config WHERE is_deleted = 'N' GROUP BY hospital_id ) d ON a.id = d.hospital_id
+        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_pacs_config WHERE is_deleted = 'N' GROUP BY hospital_id ) e ON a.id = e.hospital_id
+        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_disease_config WHERE is_deleted = 'N' GROUP BY hospital_id ) f ON a.id = f.hospital_id
+        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_operation_config WHERE is_deleted = 'N' GROUP BY hospital_id ) g ON a.id = g.hospital_id
+        LEFT JOIN ( SELECT hospital_id, count(*) AS num FROM tran_transfusion_config WHERE is_deleted = 'N' GROUP BY hospital_id ) h ON a.id = h.hospital_id
+        WHERE
+        a.is_deleted = 'N'
+        ORDER BY
+        a.id
+    </select>
 </mapper>