Browse Source

获取详情接口

zhoutg 5 years ago
parent
commit
d5b7daf5b7

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

@@ -36,7 +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("/qc/mode/getMenu").permitAll()
                 .antMatchers("/**").authenticated();
 //                .antMatchers("/**").permitAll();
     }

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

@@ -88,7 +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("/qc/mode/getMenu", request)
                 || matchers("/", request)) {
             return true;
         }

+ 86 - 0
src/main/java/com/diagbot/dto/BehosDTO.java

@@ -0,0 +1,86 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 住院病历信息
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-13
+ */
+@Data
+public class BehosDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 出生日期
+     */
+    private Date birthday;
+
+    /**
+     * 档案号
+     */
+    private String fileCode;
+
+    /**
+     * 病区名称
+     */
+    private String wardName;
+
+    /**
+     * 住院科室名称
+     */
+    private String behDeptName;
+
+    /**
+     * 床位号
+     */
+    private String bedCode;
+
+    /**
+     * 入院时间
+     */
+    private Date behospitalDate;
+
+    /**
+     * 出院时间
+     */
+    private Date leaveHospitalDate;
+
+    /**
+     * 疾病名称
+     */
+    private String diagnose;
+
+    /**
+     * 医生姓名
+     */
+    private String doctorName;
+
+    /**
+     * 年龄
+     */
+    private Integer age;
+
+}

+ 40 - 0
src/main/java/com/diagbot/dto/QcResultDTO.java

@@ -0,0 +1,40 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 质控评分结果信息
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2020-04-13
+ */
+@Data
+public class QcResultDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 等级
+     */
+    private String level;
+
+    /**
+     * 页面数据
+     */
+    private String pageData;
+
+    /**
+     * 评分类型(1:机器,2:人工)
+     */
+    private String gradeType;
+
+    /**
+     * 最后得分
+     */
+    private String scoreRes;
+
+}

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

@@ -5,13 +5,16 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.QcServiceClient;
 import com.diagbot.dto.AlgorithmDTO;
+import com.diagbot.dto.BehosDTO;
 import com.diagbot.dto.AnalyzeDTO;
 import com.diagbot.dto.BehospitalInfoDTO;
 import com.diagbot.dto.MsgDTO;
 import com.diagbot.dto.OutputInfo;
 import com.diagbot.dto.QcCasesEntryDTO;
+import com.diagbot.dto.QcResultDTO;
 import com.diagbot.dto.RecordContentDTO;
 import com.diagbot.dto.Response;
+import com.diagbot.entity.BehospitalInfo;
 import com.diagbot.entity.DoctorAdvice;
 import com.diagbot.entity.HomeDiagnoseInfo;
 import com.diagbot.entity.HomeOperationInfo;
@@ -28,6 +31,7 @@ import com.diagbot.util.SysUserUtils;
 import com.diagbot.vo.AlgorithmVO;
 import com.diagbot.vo.AnalyzeVO;
 import com.diagbot.vo.BehospitalPageVO;
+import com.diagbot.vo.GetDetailVO;
 import com.diagbot.vo.MedrecVo;
 import com.diagbot.vo.QcResultAlgQueryVO;
 import com.diagbot.vo.QcResultAlgVO;
@@ -89,6 +93,38 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         return res;
     }
 
+    public Map<String, Object> getByBehospitalCode(GetDetailVO getDetailVO) {
+        Map<String, Object> res = new HashMap<>(); // 返回结果
+        Long hospitalId = Long.parseLong(SysUserUtils.getCurrentHospitalID());
+        getDetailVO.setHospitalId(hospitalId);
+        // 获取病历信息
+        BehospitalInfo behospitalInfo = this.getOne(new QueryWrapper<BehospitalInfo>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_id", getDetailVO.getHospitalId())
+                .eq("behospital_code", getDetailVO.getBehospitalCode()), false
+        );
+        BehosDTO behosDTO = new BehosDTO();
+        if (behospitalInfo == null) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该病历已删除!");
+        }
+        BeanUtil.copyProperties(behospitalInfo, behosDTO);
+        res.put("beHospital", behosDTO);
+
+        // 获取主表信息
+        QcResultDTO qcResultDTO = qcresultInfoFacade.getByBehospitalCode(getDetailVO);
+        if (qcResultDTO == null) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该病历未评分!");
+        }
+        res.put("result", qcResultDTO);
+
+        // 获取提示信息
+        AnalyzeVO analyzeVO = new AnalyzeVO();
+        BeanUtil.copyProperties(getDetailVO, analyzeVO);
+        List<MsgDTO> msgDTOList = getMsg(analyzeVO);
+        Map<String, List<MsgDTO>> msgMap = EntityUtil.makeEntityListMap(msgDTOList, "modelName");
+        res.put("msg", msgMap);
+        return res;
+    }
 
     public AnalyzeDTO analyze(AnalyzeVO analyzeVO) {
         Map<String, Object> res = new HashMap<>(); // 返回结果

+ 24 - 0
src/main/java/com/diagbot/facade/QcresultInfoFacade.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.diagbot.dto.AlgorithmDTO;
 import com.diagbot.dto.AnalyzeDTO;
+import com.diagbot.dto.QcResultDTO;
 import com.diagbot.entity.QcresultDetail;
 import com.diagbot.entity.QcresultInfo;
 import com.diagbot.enums.IsDeleteEnum;
@@ -18,6 +19,7 @@ import com.diagbot.util.StringUtil;
 import com.diagbot.util.SysUserUtils;
 import com.diagbot.vo.AlgorithmVO;
 import com.diagbot.vo.AnalyzeVO;
+import com.diagbot.vo.GetDetailVO;
 import com.diagbot.vo.QcResultAlgVO;
 import com.diagbot.vo.QcresultVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -164,4 +166,26 @@ public class QcresultInfoFacade extends QcresultInfoServiceImpl {
         }
         return now;
     }
+
+
+    /**
+     * 获取评分主表信息
+     *
+     * @param getDetailVO
+     * @return
+     */
+    public QcResultDTO getByBehospitalCode(GetDetailVO getDetailVO) {
+        QcResultDTO res = new QcResultDTO();
+        QcresultInfo qcresultInfo = this.getOne(new QueryWrapper<QcresultInfo>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_id", getDetailVO.getHospitalId())
+                .eq("behospital_code", getDetailVO.getBehospitalCode()), false
+        );
+        if (qcresultInfo != null) {
+            BeanUtil.copyProperties(qcresultInfo, res);
+        } else {
+            return null;
+        }
+        return res;
+    }
 }

+ 17 - 0
src/main/java/com/diagbot/vo/GetDetailVO.java

@@ -0,0 +1,17 @@
+package com.diagbot.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: zhoutg
+ * @time: 2020/4/13 18:31
+ */
+@Data
+public class GetDetailVO {
+
+    private String behospitalCode; // 病历id
+    @ApiModelProperty(hidden = true)
+    private Long hospitalId; //医院ID
+}

+ 11 - 0
src/main/java/com/diagbot/web/BehospitalInfoController.java

@@ -9,6 +9,7 @@ import com.diagbot.facade.BehospitalInfoFacade;
 import com.diagbot.facade.QcresultInfoFacade;
 import com.diagbot.vo.AnalyzeVO;
 import com.diagbot.vo.BehospitalPageVO;
+import com.diagbot.vo.GetDetailVO;
 import com.diagbot.vo.QcresultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -52,6 +53,16 @@ public class BehospitalInfoController {
         return RespDTO.onSuc(data);
     }
 
+    @ApiOperation(value = "根据病历id获取详情[by:zhoutg]",
+            notes = "")
+    @PostMapping("/getByBehospitalCode")
+    @SysLogger("getByBehospitalCode")
+    public RespDTO<Map<String, Object>> getByBehospitalCode(@RequestBody GetDetailVO getDetailVO) {
+        Map<String, Object> data = behospitalInfoFacade.getByBehospitalCode(getDetailVO);
+        return RespDTO.onSuc(data);
+    }
+
+
     @ApiOperation(value = "评分[by:zhoutg]",
             notes = "")
     @PostMapping("/analyze")

+ 2 - 1
src/main/java/com/diagbot/web/QcModeController.java

@@ -23,8 +23,9 @@ import java.util.List;
  * @since 2020-04-15
  */
 @RestController
-@RequestMapping("/qcMode")
+@RequestMapping("/qc/mode")
 @Api(value = "菜单相关API", tags = { "菜单相关API" })
+@SuppressWarnings("unchecked")
 public class QcModeController {
 
     @Autowired