Browse Source

菜单接口

zhoutg 5 năm trước cách đây
mục cha
commit
5ba8271393

+ 1 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -36,6 +36,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/oauth/check_token").permitAll()
                 .antMatchers("/qc/behospitalInfo/analyze").permitAll()
                 .antMatchers("/cache/clear").permitAll()
+                .antMatchers("/qcMode/getMenu").permitAll()
                 .antMatchers("/**").authenticated();
 //                .antMatchers("/**").permitAll();
     }

+ 1 - 0
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -88,6 +88,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/oauth/check_token", request)
                 || matchers("/qc/behospitalInfo/analyze", request)
                 || matchers("/cache/clear", request)
+                || matchers("/qcMode/getMenu", request)
                 || matchers("/", request)) {
             return true;
         }

+ 26 - 0
src/main/java/com/diagbot/dto/MsgDTO.java

@@ -0,0 +1,26 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * @Description:
+ * @author: zhoutg
+ * @time: 2020/4/14 13:07
+ */
+@Getter
+@Setter
+public class MsgDTO {
+    //得分
+    private BigDecimal score;
+    //提示信息
+    private String msg;
+    //单项否决
+    private String isReject;
+    //模块名称
+    private String modelName;
+    // 条目ID
+    private Long casesEntryId;
+}

+ 41 - 0
src/main/java/com/diagbot/dto/QcModeDTO.java

@@ -0,0 +1,41 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 病历
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-15
+ */
+@Data
+public class QcModeDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 模块名称
+     */
+    private String name;
+
+    /**
+     * 模块名称
+     */
+    private Long parentId;
+
+    /**
+     * 子级模块
+     */
+    List<QcModeDTO> sonMode = new ArrayList<>();
+}

+ 68 - 0
src/main/java/com/diagbot/entity/QcMode.java

@@ -0,0 +1,68 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 病历
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-15
+ */
+@Data
+public class QcMode implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 病历
+     */
+    private String name;
+
+    /**
+     * 上级模块
+     */
+    private Long parentId;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 6 - 0
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.QcServiceClient;
 import com.diagbot.dto.AlgorithmDTO;
 import com.diagbot.dto.BehospitalInfoDTO;
+import com.diagbot.dto.MsgDTO;
 import com.diagbot.dto.OutputInfo;
 import com.diagbot.dto.QcCasesEntryDTO;
 import com.diagbot.dto.RecordContentDTO;
@@ -198,6 +199,11 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         String pageData = JSON.toJSONString(outputInfo.getPageData());
         qcresultInfoFacade.saveQcResult(algorithmDTO, algorithmVO, analyzeVO, pageData);
         res.put("pageData", pageData);
+
+        // 返回提示信息
+        List<MsgDTO> msgDTOList = getMsg(analyzeVO);
+        Map<String, List<MsgDTO>> msgMap = EntityUtil.makeEntityListMap(msgDTOList, "modelName");
+        res.put("msg", msgMap);
         return res;
     }
 

+ 40 - 0
src/main/java/com/diagbot/facade/QcModeFacade.java

@@ -0,0 +1,40 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.QcModeDTO;
+import com.diagbot.entity.QcMode;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.impl.QcModeServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.EntityUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @author: zhoutg
+ * @time: 2020/4/12 11:39
+ */
+@Component
+public class QcModeFacade extends QcModeServiceImpl {
+
+    public List<QcModeDTO> getMenu() {
+        List<QcMode> qcModeList = this.list(new QueryWrapper<QcMode>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .orderByAsc("parent_id", "order_no")
+        );
+        Map<Long, List<QcMode>> map = EntityUtil.makeEntityListMap(qcModeList, "parentId");
+        // 获取根节点
+        List<QcMode> root = map.get(-1L);
+        List<QcModeDTO> res = BeanUtil.listCopyTo(root, QcModeDTO.class);
+
+        for(QcModeDTO qcModeDTO : res) {
+            if (map.containsKey(qcModeDTO.getId())) {
+                qcModeDTO.setSonMode(BeanUtil.listCopyTo(map.get(qcModeDTO.getId()), QcModeDTO.class));
+            }
+        }
+        return res;
+    }
+}

+ 6 - 0
src/main/java/com/diagbot/mapper/BehospitalInfoMapper.java

@@ -3,9 +3,13 @@ package com.diagbot.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.BehospitalInfoDTO;
+import com.diagbot.dto.MsgDTO;
 import com.diagbot.entity.BehospitalInfo;
+import com.diagbot.vo.AnalyzeVO;
 import com.diagbot.vo.BehospitalPageVO;
 
+import java.util.List;
+
 /**
  * <p>
  * 住院病历信息 Mapper 接口
@@ -17,4 +21,6 @@ import com.diagbot.vo.BehospitalPageVO;
 public interface BehospitalInfoMapper extends BaseMapper<BehospitalInfo> {
 
     public IPage<BehospitalInfoDTO> getPage(BehospitalPageVO behospitalPageVO);
+
+    public List<MsgDTO> getMsg(AnalyzeVO analyzeVO);
 }

+ 16 - 0
src/main/java/com/diagbot/mapper/QcModeMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.QcMode;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 病历 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-15
+ */
+public interface QcModeMapper extends BaseMapper<QcMode> {
+
+}

+ 6 - 0
src/main/java/com/diagbot/service/BehospitalInfoService.java

@@ -3,9 +3,13 @@ package com.diagbot.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.dto.BehospitalInfoDTO;
+import com.diagbot.dto.MsgDTO;
 import com.diagbot.entity.BehospitalInfo;
+import com.diagbot.vo.AnalyzeVO;
 import com.diagbot.vo.BehospitalPageVO;
 
+import java.util.List;
+
 /**
  * <p>
  * 住院病历信息 服务类
@@ -17,4 +21,6 @@ import com.diagbot.vo.BehospitalPageVO;
 public interface BehospitalInfoService extends IService<BehospitalInfo> {
 
     public IPage<BehospitalInfoDTO> getPage(BehospitalPageVO behospitalPageVO);
+
+    public List<MsgDTO> getMsg(AnalyzeVO analyzeVO);
 }

+ 16 - 0
src/main/java/com/diagbot/service/QcModeService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.QcMode;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 病历 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-15
+ */
+public interface QcModeService extends IService<QcMode> {
+
+}

+ 9 - 0
src/main/java/com/diagbot/service/impl/BehospitalInfoServiceImpl.java

@@ -3,12 +3,16 @@ package com.diagbot.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.dto.BehospitalInfoDTO;
+import com.diagbot.dto.MsgDTO;
 import com.diagbot.entity.BehospitalInfo;
 import com.diagbot.mapper.BehospitalInfoMapper;
 import com.diagbot.service.BehospitalInfoService;
+import com.diagbot.vo.AnalyzeVO;
 import com.diagbot.vo.BehospitalPageVO;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 住院病历信息 服务实现类
@@ -24,4 +28,9 @@ public class BehospitalInfoServiceImpl extends ServiceImpl<BehospitalInfoMapper,
     public IPage<BehospitalInfoDTO> getPage(BehospitalPageVO behospitalPageVO) {
         return baseMapper.getPage(behospitalPageVO);
     }
+
+    @Override
+    public List<MsgDTO> getMsg(AnalyzeVO analyzeVO) {
+        return baseMapper.getMsg(analyzeVO);
+    }
 }

+ 20 - 0
src/main/java/com/diagbot/service/impl/QcModeServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.QcMode;
+import com.diagbot.mapper.QcModeMapper;
+import com.diagbot.service.QcModeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 病历 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-15
+ */
+@Service
+public class QcModeServiceImpl extends ServiceImpl<QcModeMapper, QcMode> implements QcModeService {
+
+}

+ 41 - 0
src/main/java/com/diagbot/web/QcModeController.java

@@ -0,0 +1,41 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.QcModeDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.QcModeFacade;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 菜单 前端控制器
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-15
+ */
+@RestController
+@RequestMapping("/qcMode")
+@Api(value = "菜单相关API", tags = { "菜单相关API" })
+public class QcModeController {
+
+    @Autowired
+    QcModeFacade qcModeFacade;
+
+    @ApiOperation(value = "获取菜单信息[by:zhoutg]",
+            notes = "")
+    @PostMapping("/getMenu")
+    @SysLogger("getMenu")
+    public RespDTO<List<QcModeDTO> > getMenu() {
+        List<QcModeDTO> data = qcModeFacade.getMenu();
+        return RespDTO.onSuc(data);
+    }
+}

+ 10 - 0
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -61,4 +61,14 @@
         </if>
     </select>
 
+    <select id="getMsg" resultType="com.diagbot.dto.MsgDTO">
+        SELECT b.`name` model_name,c.score,c.msg,c.cases_entry_id,c.is_reject
+        FROM `qc_cases_entry` a, qc_mode b, med_qcresult_detail c
+        where a.is_deleted = 'N' and b.is_deleted = 'N' and c.is_deleted = 'N'
+        and a.id = c.cases_entry_id
+        and a.mode_id = b.id
+        and c.hospital_id = #{hospitalId}
+        and c.behospital_code = #{behospitalCode}
+    </select>
+
 </mapper>

+ 18 - 0
src/main/resources/mapper/QcModeMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.diagbot.mapper.QcModeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.QcMode">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="parent_id" property="parentId" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>

+ 2 - 2
src/test/java/com/diagbot/CodeGeneration.java

@@ -54,9 +54,9 @@ public class CodeGeneration {
 
         // 策略配置
         StrategyConfig strategy = new StrategyConfig();
-        strategy.setTablePrefix(new String[] { "med_" });// 此处可以修改为您的表前缀
+//        strategy.setTablePrefix(new String[] { "med_" });// 此处可以修改为您的表前缀
         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "med_qcresult_detail"}); // 需要生成的表
+        strategy.setInclude(new String[] { "qc_mode"}); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);