Browse Source

标准住院病历信息相关接口

wangfeng 5 years ago
parent
commit
f82bdc60e1
22 changed files with 681 additions and 54 deletions
  1. 75 0
      mrman-service/src/main/java/com/diagbot/dto/MedQcresultDetailAllDTO.java
  2. 65 0
      mrman-service/src/main/java/com/diagbot/dto/SthospitalInfoPageDTO.java
  3. 14 0
      mrman-service/src/main/java/com/diagbot/facade/MedBehospitalInfoFacade.java
  4. 27 0
      mrman-service/src/main/java/com/diagbot/facade/MedQcresultDetailFacade.java
  5. 101 0
      mrman-service/src/main/java/com/diagbot/facade/StdBehospitalInfoFacade.java
  6. 36 0
      mrman-service/src/main/java/com/diagbot/facade/StdQcresultDetailFacade.java
  7. 5 0
      mrman-service/src/main/java/com/diagbot/mapper/MedQcresultDetailMapper.java
  8. 4 0
      mrman-service/src/main/java/com/diagbot/mapper/StdBehospitalInfoMapper.java
  9. 5 0
      mrman-service/src/main/java/com/diagbot/service/MedQcresultDetailService.java
  10. 4 0
      mrman-service/src/main/java/com/diagbot/service/StdBehospitalInfoService.java
  11. 8 0
      mrman-service/src/main/java/com/diagbot/service/impl/MedQcresultDetailServiceImpl.java
  12. 7 0
      mrman-service/src/main/java/com/diagbot/service/impl/StdBehospitalInfoServiceImpl.java
  13. 25 0
      mrman-service/src/main/java/com/diagbot/vo/MedQcresultDetailAllVO.java
  14. 25 0
      mrman-service/src/main/java/com/diagbot/vo/StdQcresultDetailVO.java
  15. 46 0
      mrman-service/src/main/java/com/diagbot/vo/SthospitalInfoPageVO.java
  16. 21 0
      mrman-service/src/main/java/com/diagbot/vo/SthospitalInfoUpdataVO.java
  17. 4 0
      mrman-service/src/main/java/com/diagbot/web/MedBehospitalInfoController.java
  18. 23 2
      mrman-service/src/main/java/com/diagbot/web/MedQcresultDetailController.java
  19. 33 2
      mrman-service/src/main/java/com/diagbot/web/StdBehospitalInfoController.java
  20. 24 0
      mrman-service/src/main/java/com/diagbot/web/StdQcresultDetailController.java
  21. 61 19
      mrman-service/src/main/resources/mapper/MedQcresultDetailMapper.xml
  22. 68 31
      mrman-service/src/main/resources/mapper/StdBehospitalInfoMapper.xml

+ 75 - 0
mrman-service/src/main/java/com/diagbot/dto/MedQcresultDetailAllDTO.java

@@ -0,0 +1,75 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 16:09
+ */
+@Setter
+@Getter
+public class MedQcresultDetailAllDTO {
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+
+    /**
+     * 模块id
+     */
+    private Long casesId;
+
+    /**
+     * 模块总分
+     */
+    private BigDecimal casesScore;
+
+    /**
+     * 条目ID
+     */
+    private Long casesEntryId;
+
+    /**
+     * 人工修改分值
+     */
+    private BigDecimal score;
+
+    /**
+     * 提示信息
+     */
+    private String msg;
+
+    /**
+     * 质控返回提示信息
+     */
+    private String info;
+
+    /**
+     * 单项否决(1-单项否决 0-非)
+     */
+    private Integer isReject;
+
+    /**
+     * 初始类型(1:机器,2:人工)
+     */
+    private Integer gradeType;
+
+    /**
+     * 操作类型(1:新增,2:删除,3:修改)
+     */
+    private Integer optType;
+
+    /**
+     * 是否满足
+     */
+    private Integer satisfy;
+}

+ 65 - 0
mrman-service/src/main/java/com/diagbot/dto/SthospitalInfoPageDTO.java

@@ -0,0 +1,65 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 10:58
+ */
+@Setter
+@Getter
+public class SthospitalInfoPageDTO  {
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+    private String hospitalName;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 性别(男,女)
+     */
+    private String sex;
+
+
+    /**
+     * 住院科室ID
+     */
+    private String deptId;
+
+    /**
+     * 住院科室名称
+     */
+    private String deptName;
+
+    /**
+     * 入院时间
+     */
+    private Date behospitalDate;
+
+    /**
+     * 出院时间
+     */
+    private Date leaveHospitalDate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+
+}

+ 14 - 0
mrman-service/src/main/java/com/diagbot/facade/MedBehospitalInfoFacade.java

@@ -0,0 +1,14 @@
+package com.diagbot.facade;
+
+import com.diagbot.service.impl.MedBehospitalInfoServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 10:23
+ */
+@Component
+public class MedBehospitalInfoFacade extends MedBehospitalInfoServiceImpl {
+
+}

+ 27 - 0
mrman-service/src/main/java/com/diagbot/facade/MedQcresultDetailFacade.java

@@ -0,0 +1,27 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.MedQcresultDetailAllDTO;
+import com.diagbot.service.MedQcresultDetailService;
+import com.diagbot.service.impl.MedQcresultDetailServiceImpl;
+import com.diagbot.vo.MedQcresultDetailAllVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 10:51
+ */
+@Component
+public class MedQcresultDetailFacade extends MedQcresultDetailServiceImpl {
+    @Autowired
+    MedQcresultDetailService medQcresultDetailService;
+
+
+    public List<MedQcresultDetailAllDTO> getMedQcresultDetail(MedQcresultDetailAllVO medQcresultDetailAllVO) {
+        List<MedQcresultDetailAllDTO> data = medQcresultDetailService.getMedDetail(medQcresultDetailAllVO);
+        return  data;
+    }
+}

+ 101 - 0
mrman-service/src/main/java/com/diagbot/facade/StdBehospitalInfoFacade.java

@@ -0,0 +1,101 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.MedQcresultDetailAllDTO;
+import com.diagbot.dto.SthospitalInfoPageDTO;
+import com.diagbot.entity.MedBehospitalInfo;
+import com.diagbot.entity.StdBehospitalInfo;
+import com.diagbot.entity.StdQcresultDetail;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.StdBehospitalInfoService;
+import com.diagbot.service.impl.StdBehospitalInfoServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.vo.MedQcresultDetailAllVO;
+import com.diagbot.vo.StdQcresultDetailVO;
+import com.diagbot.vo.SthospitalInfoPageVO;
+import com.diagbot.vo.SthospitalInfoUpdataVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 10:49
+ */
+@Component
+public class StdBehospitalInfoFacade extends StdBehospitalInfoServiceImpl {
+    @Autowired
+    StdBehospitalInfoService stdBehospitalInfoService;
+    @Autowired
+    MedBehospitalInfoFacade medBehospitalInfoFacade;
+    @Autowired
+    MedQcresultDetailFacade medQcresultDetailFacade;
+    @Autowired
+    StdQcresultDetailFacade stdQcresultDetailFacade;
+
+    public IPage<SthospitalInfoPageDTO> getSthospitalInfoPages(SthospitalInfoPageVO sthospitalInfoPageVO) {
+        return stdBehospitalInfoService.getStdPage(sthospitalInfoPageVO);
+    }
+
+    public Boolean updataSthospitalInfos(SthospitalInfoUpdataVO sthospitalInfoUpdataVO) {
+        boolean res = false;
+        //先去原始表里找
+        QueryWrapper<MedBehospitalInfo> medbeHQuery = new QueryWrapper<>();
+        medbeHQuery.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("behospital_code", sthospitalInfoUpdataVO.getBehospitalCode())
+                .eq("hospital_id", sthospitalInfoUpdataVO.getHospitalId());
+        MedBehospitalInfo medBehospitalInfo = medBehospitalInfoFacade.getOne(medbeHQuery);
+        if (medBehospitalInfo == null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该病例没有找到");
+        }
+        if (medBehospitalInfo != null) {
+            String behospitalCode = medBehospitalInfo.getBehospitalCode();
+            Long hospitalId = medBehospitalInfo.getHospitalId();
+            MedQcresultDetailAllVO detailAllVO = new MedQcresultDetailAllVO();
+            detailAllVO.setBehospitalCode(behospitalCode);
+            detailAllVO.setHospitalId(hospitalId);
+            //取出该病例最新评分的扣分项及补全所有扣分明细
+            List<MedQcresultDetailAllDTO> medQcresultDetail = medQcresultDetailFacade.getMedQcresultDetail(detailAllVO);
+            if (medQcresultDetail.size() == 0) {
+                throw new CommonException(CommonErrorCode.NOT_EXISTS, "该病例没有扣分项");
+            }
+            StdBehospitalInfo sthospitalInfo = new StdBehospitalInfo();
+            BeanUtil.copyProperties(medBehospitalInfo, sthospitalInfo);
+            Date date = DateUtil.now();
+            sthospitalInfo.setGmtCreate(date);
+            sthospitalInfo.setGmtModified(date);
+            //先删除原数据,再保存病例到标准病例表里
+            QueryWrapper<StdBehospitalInfo> stdBehospitalInfoQuery = new QueryWrapper<>();
+            stdBehospitalInfoQuery
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("hospital_id", hospitalId)
+                    .eq("behospital_code", behospitalCode);
+            this.remove(stdBehospitalInfoQuery);
+            res = stdBehospitalInfoService.save(sthospitalInfo);
+
+            List<StdQcresultDetail> medBew = new ArrayList<>();
+            medBew = BeanUtil.listCopyTo(medQcresultDetail, StdQcresultDetail.class);
+            if (ListUtil.isNotEmpty(medBew)) {
+                StdQcresultDetailVO data = new StdQcresultDetailVO();
+                data.setHospitalId(hospitalId);
+                data.setBehospitalCode(behospitalCode);
+                data.setQcresultDetail(medBew);
+                //保存病例评分明细到标准评分明细表
+                res = stdQcresultDetailFacade.addSthospitalInfos(data);
+            }
+
+        }
+
+        return res;
+    }
+}

+ 36 - 0
mrman-service/src/main/java/com/diagbot/facade/StdQcresultDetailFacade.java

@@ -0,0 +1,36 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.CasesEntryHospital;
+import com.diagbot.entity.StdQcresultDetail;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.StdQcresultDetailService;
+import com.diagbot.service.impl.StdQcresultDetailServiceImpl;
+import com.diagbot.vo.StdQcresultDetailVO;
+import com.diagbot.vo.SthospitalInfoUpdataVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 10:50
+ */
+@Component
+public class StdQcresultDetailFacade extends StdQcresultDetailServiceImpl {
+    @Autowired
+    StdQcresultDetailService stdQcresultDetailService;
+
+    public Boolean addSthospitalInfos(StdQcresultDetailVO StdQcresultDetailVO) {
+        //先删除原来的数据,再插入新的数据
+        QueryWrapper<StdQcresultDetail> stdQcresultDetailQuery = new QueryWrapper<>();
+        stdQcresultDetailQuery
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_id",StdQcresultDetailVO.getHospitalId())
+                .eq("behospital_code",StdQcresultDetailVO.getBehospitalCode());
+        boolean res = this.remove(stdQcresultDetailQuery);
+        return stdQcresultDetailService.saveBatch(StdQcresultDetailVO.getQcresultDetail());
+    }
+}

+ 5 - 0
mrman-service/src/main/java/com/diagbot/mapper/MedQcresultDetailMapper.java

@@ -1,7 +1,11 @@
 package com.diagbot.mapper;
 
+import com.diagbot.dto.MedQcresultDetailAllDTO;
 import com.diagbot.entity.MedQcresultDetail;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.vo.MedQcresultDetailAllVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -14,4 +18,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface MedQcresultDetailMapper extends BaseMapper<MedQcresultDetail> {
 
+    List<MedQcresultDetailAllDTO> getMedDetail(MedQcresultDetailAllVO medQcresultDetailAllVO);
 }

+ 4 - 0
mrman-service/src/main/java/com/diagbot/mapper/StdBehospitalInfoMapper.java

@@ -1,7 +1,10 @@
 package com.diagbot.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.SthospitalInfoPageDTO;
 import com.diagbot.entity.StdBehospitalInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.vo.SthospitalInfoPageVO;
 
 /**
  * <p>
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface StdBehospitalInfoMapper extends BaseMapper<StdBehospitalInfo> {
 
+    IPage<SthospitalInfoPageDTO> getStdPage(SthospitalInfoPageVO sthospitalInfoPageVO);
 }

+ 5 - 0
mrman-service/src/main/java/com/diagbot/service/MedQcresultDetailService.java

@@ -1,7 +1,11 @@
 package com.diagbot.service;
 
+import com.diagbot.dto.MedQcresultDetailAllDTO;
 import com.diagbot.entity.MedQcresultDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.vo.MedQcresultDetailAllVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -14,4 +18,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface MedQcresultDetailService extends IService<MedQcresultDetail> {
 
+    List<MedQcresultDetailAllDTO> getMedDetail(MedQcresultDetailAllVO medQcresultDetailAllVO);
 }

+ 4 - 0
mrman-service/src/main/java/com/diagbot/service/StdBehospitalInfoService.java

@@ -1,7 +1,10 @@
 package com.diagbot.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.SthospitalInfoPageDTO;
 import com.diagbot.entity.StdBehospitalInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.vo.SthospitalInfoPageVO;
 
 /**
  * <p>
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface StdBehospitalInfoService extends IService<StdBehospitalInfo> {
 
+    IPage<SthospitalInfoPageDTO> getStdPage(SthospitalInfoPageVO sthospitalInfoPageVO);
 }

+ 8 - 0
mrman-service/src/main/java/com/diagbot/service/impl/MedQcresultDetailServiceImpl.java

@@ -1,11 +1,15 @@
 package com.diagbot.service.impl;
 
+import com.diagbot.dto.MedQcresultDetailAllDTO;
 import com.diagbot.entity.MedQcresultDetail;
 import com.diagbot.mapper.MedQcresultDetailMapper;
 import com.diagbot.service.MedQcresultDetailService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.vo.MedQcresultDetailAllVO;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 质控评分明细信息
@@ -18,4 +22,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class MedQcresultDetailServiceImpl extends ServiceImpl<MedQcresultDetailMapper, MedQcresultDetail> implements MedQcresultDetailService {
 
+    @Override
+    public List<MedQcresultDetailAllDTO> getMedDetail(MedQcresultDetailAllVO medQcresultDetailAllVO) {
+        return baseMapper.getMedDetail(medQcresultDetailAllVO);
+    }
 }

+ 7 - 0
mrman-service/src/main/java/com/diagbot/service/impl/StdBehospitalInfoServiceImpl.java

@@ -1,9 +1,12 @@
 package com.diagbot.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.SthospitalInfoPageDTO;
 import com.diagbot.entity.StdBehospitalInfo;
 import com.diagbot.mapper.StdBehospitalInfoMapper;
 import com.diagbot.service.StdBehospitalInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.vo.SthospitalInfoPageVO;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +20,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class StdBehospitalInfoServiceImpl extends ServiceImpl<StdBehospitalInfoMapper, StdBehospitalInfo> implements StdBehospitalInfoService {
 
+    @Override
+    public IPage<SthospitalInfoPageDTO> getStdPage(SthospitalInfoPageVO sthospitalInfoPageVO) {
+        return baseMapper.getStdPage(sthospitalInfoPageVO);
+    }
 }

+ 25 - 0
mrman-service/src/main/java/com/diagbot/vo/MedQcresultDetailAllVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 16:07
+ */
+@Setter
+@Getter
+public class MedQcresultDetailAllVO {
+
+    @NotNull(message = "请输入医院Id")
+    private Long hospitalId;
+    /**
+     * 病人住院ID
+     */
+    @NotBlank(message = "病人住院序号不能为空")
+    private String behospitalCode;
+}

+ 25 - 0
mrman-service/src/main/java/com/diagbot/vo/StdQcresultDetailVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import com.diagbot.entity.StdQcresultDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 16:36
+ */
+@Setter
+@Getter
+public class StdQcresultDetailVO {
+
+   @NotBlank(message = "病人住院序号不能为空")
+   private String behospitalCode;
+   @NotNull(message = "医院id不能为空")
+   private Long hospitalId;
+   List<StdQcresultDetail> qcresultDetail;
+}

+ 46 - 0
mrman-service/src/main/java/com/diagbot/vo/SthospitalInfoPageVO.java

@@ -0,0 +1,46 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 10:59
+ */
+@Setter
+@Getter
+public class SthospitalInfoPageVO extends Page {
+
+    private Long hospitalId;
+    /**
+     * 病人住院ID
+     */
+    private String behospitalCode;
+    /**
+     * 住院科室ID
+     */
+    private String deptId;
+
+/*    *//**
+     * 住院科室名称
+     *//*
+    private String deptName;*/
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 出院开始时间
+     */
+    private String leaveHosDateStart;
+
+    /**
+     * 出院结束时间
+     */
+    private String leaveHosDateEnd;
+}

+ 21 - 0
mrman-service/src/main/java/com/diagbot/vo/SthospitalInfoUpdataVO.java

@@ -0,0 +1,21 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author wangfeng
+ * @Description:
+ * @date 2020-06-10 15:05
+ */
+@Setter
+@Getter
+public class SthospitalInfoUpdataVO {
+    @NotBlank(message = "病人住院序号不能为空")
+    private String behospitalCode;
+    @NotNull(message = "医院id不能为空")
+    private Long hospitalId;
+}

+ 4 - 0
mrman-service/src/main/java/com/diagbot/web/MedBehospitalInfoController.java

@@ -1,7 +1,9 @@
 package com.diagbot.web;
 
 
+import com.diagbot.facade.MedBehospitalInfoFacade;
 import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.stereotype.Controller;
@@ -19,5 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/medBehospitalInfo")
 @Api(value = "病历数据相关接口", tags = { "病历数据相关接口" })
 public class MedBehospitalInfoController {
+    @Autowired
+    MedBehospitalInfoFacade medBehospitalInfoFacade;
 
 }

+ 23 - 2
mrman-service/src/main/java/com/diagbot/web/MedQcresultDetailController.java

@@ -1,12 +1,23 @@
 package com.diagbot.web;
 
 
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.MedQcresultDetailAllDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.MedQcresultDetailFacade;
+import com.diagbot.vo.MedQcresultDetailAllVO;
+import com.diagbot.vo.SthospitalInfoUpdataVO;
 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.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.validation.Valid;
+import java.util.List;
+
 /**
  * <p>
  * 质控评分明细信息
@@ -20,5 +31,15 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/medQcresultDetail")
 @Api(value = "质控评分明细信息相关接口", tags = { "质控评分明细信息相关接口" })
 public class MedQcresultDetailController {
+    @Autowired
+    MedQcresultDetailFacade medQcresultDetailFacade;
 
+    @ApiOperation(value = "获取单份病例最新评分明细信息[by:wangfeng]",
+            notes = "获取单份病例最新评分明细信息")
+    @PostMapping("/getMedQcresultDetail")
+    @SysLogger("getMedQcresultDetail")
+    public RespDTO<List<MedQcresultDetailAllDTO>> getMedQcresultDetail(@RequestBody @Valid MedQcresultDetailAllVO medQcresultDetailAllVO) {
+        List<MedQcresultDetailAllDTO> data = medQcresultDetailFacade.getMedQcresultDetail(medQcresultDetailAllVO);
+        return RespDTO.onSuc(data);
+    }
 }

+ 33 - 2
mrman-service/src/main/java/com/diagbot/web/StdBehospitalInfoController.java

@@ -1,12 +1,24 @@
 package com.diagbot.web;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.SthospitalInfoPageDTO;
+import com.diagbot.facade.StdBehospitalInfoFacade;
+import com.diagbot.vo.SthospitalInfoPageVO;
+import com.diagbot.vo.SthospitalInfoUpdataVO;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.validation.Valid;
+
 /**
  * <p>
  * 标准住院病历信息 前端控制器
@@ -19,5 +31,24 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/stdBehospitalInfo")
 @Api(value = "标准住院病历信息相关接口", tags = { "标准住院病历信息相关接口" })
 public class StdBehospitalInfoController {
+    @Autowired
+    StdBehospitalInfoFacade stdBehospitalInfoFacade;
 
+    @ApiOperation(value = "分页获取所有标准病例[by:wangfeng]",
+            notes = "分页获取所有标准病例")
+    @PostMapping("/getSthospitalInfoPage")
+    @SysLogger("getSthospitalInfoPage")
+    public RespDTO<IPage<SthospitalInfoPageDTO>> getSthospitalInfoPage(@RequestBody SthospitalInfoPageVO sthospitalInfoPageVO) {
+        IPage<SthospitalInfoPageDTO> data = stdBehospitalInfoFacade.getSthospitalInfoPages(sthospitalInfoPageVO);
+        return RespDTO.onSuc(data);
+    }
+    @ApiOperation(value = "更新该条标准病例[by:wangfeng]",
+            notes = "更新该条标准病例")
+    @PostMapping("/updataSthospitalInfo")
+    @SysLogger("updataSthospitalInfo")
+    @Transactional
+    public RespDTO<Boolean> updataSthospitalInfo(@RequestBody @Valid SthospitalInfoUpdataVO SthospitalInfoUpdataVO) {
+        Boolean res = stdBehospitalInfoFacade.updataSthospitalInfos(SthospitalInfoUpdataVO);
+        return RespDTO.onSuc(res);
+    }
 }

+ 24 - 0
mrman-service/src/main/java/com/diagbot/web/StdQcresultDetailController.java

@@ -1,12 +1,25 @@
 package com.diagbot.web;
 
 
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.StdQcresultDetail;
+import com.diagbot.facade.StdQcresultDetailFacade;
+import com.diagbot.vo.StdQcresultDetailVO;
+import com.diagbot.vo.SthospitalInfoUpdataVO;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.validation.Valid;
+
 /**
  * <p>
  * 标准质控评分明细信息 前端控制器
@@ -20,5 +33,16 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/stdQcresultDetail")
 @Api(value = "标准质控评分明细信息相关接口", tags = { "标准质控评分明细信息相关接口" })
 public class StdQcresultDetailController {
+    @Autowired
+    StdQcresultDetailFacade stdQcresultDetailFacade;
 
+    @ApiOperation(value = "添加标准病例评分明细信息[by:wangfeng]",
+            notes = "添加标准病例评分明细信息")
+    @PostMapping("/addSthospitalInfo")
+    @SysLogger("addSthospitalInfo")
+    @Transactional
+    public RespDTO<Boolean> addSthospitalInfo(@RequestBody @Valid StdQcresultDetailVO stdQcresultDetailVO) {
+        Boolean res = stdQcresultDetailFacade.addSthospitalInfos(stdQcresultDetailVO);
+        return RespDTO.onSuc(res);
+    }
 }

+ 61 - 19
mrman-service/src/main/resources/mapper/MedQcresultDetailMapper.xml

@@ -4,24 +4,66 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.diagbot.entity.MedQcresultDetail">
-        <id column="id" property="id" />
-        <result column="hospital_id" property="hospitalId" />
-        <result column="behospital_code" property="behospitalCode" />
-        <result column="cases_id" property="casesId" />
-        <result column="cases_score" property="casesScore" />
-        <result column="cases_entry_id" property="casesEntryId" />
-        <result column="score" property="score" />
-        <result column="msg" property="msg" />
-        <result column="info" property="info" />
-        <result column="is_reject" property="isReject" />
-        <result column="grade_type" property="gradeType" />
-        <result column="opt_type" property="optType" />
-        <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" />
+        <id column="id" property="id"/>
+        <result column="hospital_id" property="hospitalId"/>
+        <result column="behospital_code" property="behospitalCode"/>
+        <result column="cases_id" property="casesId"/>
+        <result column="cases_score" property="casesScore"/>
+        <result column="cases_entry_id" property="casesEntryId"/>
+        <result column="score" property="score"/>
+        <result column="msg" property="msg"/>
+        <result column="info" property="info"/>
+        <result column="is_reject" property="isReject"/>
+        <result column="grade_type" property="gradeType"/>
+        <result column="opt_type" property="optType"/>
+        <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>
-
+    <select id="getMedDetail" parameterType="com.diagbot.vo.MedQcresultDetailAllVO"
+            resultType="com.diagbot.dto.MedQcresultDetailAllDTO">
+        SELECT
+        t1.hospitalId AS hospitalId,
+        t1.behospitalCode AS behospitalCode,
+        t1.casesId AS casesId,
+        t2.cases_score AS casesScore,
+        t1.casesEntryId AS casesEntryId,
+        t1.score AS score,
+        t1.msgs AS msg,
+        t2.info AS info,
+        t1.isUsed AS isUsed,
+        t2.grade_type AS gradeType,
+        t2.opt_type AS optType,
+        CASE WHEN ISNULL(t2.cases_entry_id) THEN 1 ELSE 0 END satisfy
+        FROM
+        (SELECT
+        a.hospital_id AS hospitalId,
+        b.cases_entry_id AS casesEntryId,
+        c.cases_id AS casesId,
+        b.score AS score,
+        b.msg AS msgs,
+        b.is_used AS isUsed,
+        a.behospital_code AS behospitalCode
+        FROM med_behospital_info a ,
+        qc_cases_entry_hospital b ,qc_cases_entry c
+        WHERE
+        a.is_deleted = "N"
+        AND b.is_deleted = "N"
+        AND c.is_deleted = "N"
+        AND a.hospital_id =b.hospital_id
+        AND b.cases_entry_id = c.id
+        <if test="hospitalId != null">
+            AND a.hospital_id =#{hospitalId}
+        </if>
+        <if test="behospitalCode !=null and behospitalCode !=''">
+            AND a.behospital_code =#{behospitalCode}
+        </if>
+        ) t1
+        LEFT JOIN med_qcresult_detail t2 ON t1.behospitalCode = t2.behospital_code
+        AND t1.casesEntryId = t2.cases_entry_id
+        AND t2.is_deleted = 'N'
+    </select>
 </mapper>

+ 68 - 31
mrman-service/src/main/resources/mapper/StdBehospitalInfoMapper.xml

@@ -4,37 +4,74 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.diagbot.entity.StdBehospitalInfo">
-        <id column="behospital_code" property="behospitalCode" />
-        <result column="hospital_id" property="hospitalId" />
-        <result column="name" property="name" />
-        <result column="sex" property="sex" />
-        <result column="birthday" property="birthday" />
-        <result column="file_code" property="fileCode" />
-        <result column="qc_type_id" property="qcTypeId" />
-        <result column="ward_code" property="wardCode" />
-        <result column="ward_name" property="wardName" />
-        <result column="beh_dept_id" property="behDeptId" />
-        <result column="beh_dept_name" property="behDeptName" />
-        <result column="bed_code" property="bedCode" />
-        <result column="bed_name" property="bedName" />
-        <result column="insurance_name" property="insuranceName" />
-        <result column="job_type" property="jobType" />
-        <result column="behospital_date" property="behospitalDate" />
-        <result column="leave_hospital_date" property="leaveHospitalDate" />
-        <result column="diagnose_icd" property="diagnoseIcd" />
-        <result column="diagnose" property="diagnose" />
-        <result column="doctor_id" property="doctorId" />
-        <result column="doctor_name" property="doctorName" />
-        <result column="beh_doctor_id" property="behDoctorId" />
-        <result column="beh_doctor_name" property="behDoctorName" />
-        <result column="director_doctor_id" property="directorDoctorId" />
-        <result column="director_doctor_name" property="directorDoctorName" />
-        <result column="is_placefile" property="isPlacefile" />
-        <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" />
+        <id column="behospital_code" property="behospitalCode"/>
+        <result column="hospital_id" property="hospitalId"/>
+        <result column="name" property="name"/>
+        <result column="sex" property="sex"/>
+        <result column="birthday" property="birthday"/>
+        <result column="file_code" property="fileCode"/>
+        <result column="qc_type_id" property="qcTypeId"/>
+        <result column="ward_code" property="wardCode"/>
+        <result column="ward_name" property="wardName"/>
+        <result column="beh_dept_id" property="behDeptId"/>
+        <result column="beh_dept_name" property="behDeptName"/>
+        <result column="bed_code" property="bedCode"/>
+        <result column="bed_name" property="bedName"/>
+        <result column="insurance_name" property="insuranceName"/>
+        <result column="job_type" property="jobType"/>
+        <result column="behospital_date" property="behospitalDate"/>
+        <result column="leave_hospital_date" property="leaveHospitalDate"/>
+        <result column="diagnose_icd" property="diagnoseIcd"/>
+        <result column="diagnose" property="diagnose"/>
+        <result column="doctor_id" property="doctorId"/>
+        <result column="doctor_name" property="doctorName"/>
+        <result column="beh_doctor_id" property="behDoctorId"/>
+        <result column="beh_doctor_name" property="behDoctorName"/>
+        <result column="director_doctor_id" property="directorDoctorId"/>
+        <result column="director_doctor_name" property="directorDoctorName"/>
+        <result column="is_placefile" property="isPlacefile"/>
+        <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"/>
     </resultMap>
 
+    <select id="getStdPage" parameterType="com.diagbot.vo.SthospitalInfoPageVO"
+            resultType="com.diagbot.dto.SthospitalInfoPageDTO">
+        SELECT
+        a.hospital_id AS hospitalId,
+        b.name AS hospitalName,
+        a.behospital_code AS behospitalCode,
+        a.beh_dept_id AS deptId,
+        a.beh_dept_name AS deptName,
+        a.name AS NAME,
+        a.sex AS sex,
+        a.behospital_date AS behospitalDate,
+        a.leave_hospital_date AS leaveHospitalDate,
+        a.gmt_modified AS gmtModified
+        FROM
+        std_behospital_info a,
+        bas_hospital_info b
+        WHERE a.is_deleted = "N"
+        AND b.is_deleted = "N"
+        AND a.hospital_id = b.id
+        <if test="behospitalCode !=null and behospitalCode !=''">
+            AND a.behospital_code LIKE CONCAT('%', #{behospitalCode}, '%')
+        </if>
+        <if test="deptId != null and deptId !=''">
+            AND a.beh_dept_id = #{deptId}
+        </if>
+        <if test="hospitalId != null">
+            AND a.hospital_id = #{hospitalId}
+        </if>
+        <if test="name">
+            AND a.name LIKE CONCAT('%', #{name}, '%')
+        </if>
+        <if test="leaveHosDateStart!=null and leaveHosDateEnd != null and leaveHosDateStart!=''and leaveHosDateEnd !='' ">
+            AND a.leave_hospital_date BETWEEN #{leaveHosDateStart}
+            AND #{leaveHosDateEnd}
+        </if>
+    </select>
+
 </mapper>