소스 검색

七院核查相关功能提交

songxinlu 3 년 전
부모
커밋
fa1a240dc7
60개의 변경된 파일2020개의 추가작업 그리고 164개의 파일을 삭제
  1. 1 0
      src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  2. 1 0
      src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  3. 2 2
      src/main/java/com/diagbot/dto/CheckDeptDTO.java
  4. 16 0
      src/main/java/com/diagbot/dto/CheckJobDTO.java
  5. 23 0
      src/main/java/com/diagbot/dto/CheckMedoupDTO.java
  6. 18 2
      src/main/java/com/diagbot/dto/CheckUserDTO.java
  7. 23 0
      src/main/java/com/diagbot/dto/CheckWardDTO.java
  8. 22 0
      src/main/java/com/diagbot/dto/CheckWorkDTO.java
  9. 18 0
      src/main/java/com/diagbot/dto/CheckedRecordListDTO.java
  10. 17 0
      src/main/java/com/diagbot/dto/DeptCheckUserDTO.java
  11. 29 0
      src/main/java/com/diagbot/dto/MedoupDTO.java
  12. 22 0
      src/main/java/com/diagbot/dto/RegionDTO.java
  13. 23 0
      src/main/java/com/diagbot/dto/RegionMedoupDTO.java
  14. 146 0
      src/main/java/com/diagbot/entity/DeptMedoup.java
  15. 6 0
      src/main/java/com/diagbot/entity/MedQcresultCases.java
  16. 146 0
      src/main/java/com/diagbot/entity/Medoup.java
  17. 146 0
      src/main/java/com/diagbot/entity/MedoupUser.java
  18. 4 0
      src/main/java/com/diagbot/entity/QcresultDetail.java
  19. 224 0
      src/main/java/com/diagbot/entity/Region.java
  20. 81 0
      src/main/java/com/diagbot/entity/RegionDept.java
  21. 68 8
      src/main/java/com/diagbot/facade/BehospitalInfoFacade.java
  22. 211 78
      src/main/java/com/diagbot/facade/MedCheckInfoFacade.java
  23. 153 13
      src/main/java/com/diagbot/facade/MedCheckWorkFacade.java
  24. 38 14
      src/main/java/com/diagbot/facade/QcresultInfoFacade.java
  25. 7 5
      src/main/java/com/diagbot/facade/RecordCheckFacade.java
  26. 16 0
      src/main/java/com/diagbot/mapper/DeptMedoupMapper.java
  27. 1 1
      src/main/java/com/diagbot/mapper/MedCheckInfoMapper.java
  28. 16 0
      src/main/java/com/diagbot/mapper/MedoupMapper.java
  29. 16 0
      src/main/java/com/diagbot/mapper/MedoupUserMapper.java
  30. 16 0
      src/main/java/com/diagbot/mapper/RegionDeptMapper.java
  31. 16 0
      src/main/java/com/diagbot/mapper/RegionMapper.java
  32. 16 0
      src/main/java/com/diagbot/service/DeptMedoupService.java
  33. 16 0
      src/main/java/com/diagbot/service/MedoupService.java
  34. 16 0
      src/main/java/com/diagbot/service/MedoupUserService.java
  35. 16 0
      src/main/java/com/diagbot/service/RegionDeptService.java
  36. 16 0
      src/main/java/com/diagbot/service/RegionService.java
  37. 20 0
      src/main/java/com/diagbot/service/impl/DeptMedoupServiceImpl.java
  38. 20 0
      src/main/java/com/diagbot/service/impl/MedoupServiceImpl.java
  39. 20 0
      src/main/java/com/diagbot/service/impl/MedoupUserServiceImpl.java
  40. 20 0
      src/main/java/com/diagbot/service/impl/RegionDeptServiceImpl.java
  41. 20 0
      src/main/java/com/diagbot/service/impl/RegionServiceImpl.java
  42. 1 0
      src/main/java/com/diagbot/vo/AnalyzeVO.java
  43. 5 1
      src/main/java/com/diagbot/vo/CheckJobPageVO.java
  44. 5 0
      src/main/java/com/diagbot/vo/CheckUserVO.java
  45. 16 0
      src/main/java/com/diagbot/vo/CheckWorkPageVO.java
  46. 5 0
      src/main/java/com/diagbot/vo/CheckedRecordListVO.java
  47. 3 2
      src/main/java/com/diagbot/web/MedCheckInfoController.java
  48. 16 0
      src/main/java/com/diagbot/web/MedCheckWorkController.java
  49. 1 1
      src/main/resources/application-dev.yml
  50. 1 1
      src/main/resources/bootstrap.yml
  51. 3 0
      src/main/resources/mapper/BehospitalInfoMapper.xml
  52. 18 0
      src/main/resources/mapper/DeptMedoupMapper.xml
  53. 155 33
      src/main/resources/mapper/MedCheckInfoMapper.xml
  54. 1 0
      src/main/resources/mapper/MedQcresultCasesMapper.xml
  55. 18 0
      src/main/resources/mapper/MedoupMapper.xml
  56. 18 0
      src/main/resources/mapper/MedoupUserMapper.xml
  57. 1 0
      src/main/resources/mapper/QcresultDetailMapper.xml
  58. 20 0
      src/main/resources/mapper/RegionDeptMapper.xml
  59. 24 0
      src/main/resources/mapper/RegionMapper.xml
  60. 3 3
      src/test/java/com/diagbot/CodeGeneration.java

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

@@ -236,6 +236,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/print/export/medicalCheckExportByDept").permitAll()
                 .antMatchers("/consoleByDept/medicalCheckTitleKs").permitAll()
                 .antMatchers("/qc/medCheckInfo/createMedBeHospitalInfoType").permitAll()
+                .antMatchers("/qc/medCheckWork/getLocalRegionMedoup").permitAll()
                 .antMatchers("/**").authenticated();
         //                .antMatchers("/**").permitAll();
     }

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

@@ -280,6 +280,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/print/export/medicalCheckExportByDept", request)
                 || matchers("/consoleByDept/medicalCheckTitleKs", request)
                 || matchers("/qc/medCheckInfo/createMedBeHospitalInfoType", request)
+                || matchers("/qc/medCheckWork/getLocalRegionMedoup", request)
                 || matchers("/", request)) {
             return true;
         }

+ 2 - 2
src/main/java/com/diagbot/dto/CheckDeptDTO.java

@@ -18,6 +18,6 @@ public class CheckDeptDTO {
     private String deptId;
     //科室名称
     private String deptName;
-    //科室质控人员列表
-    private List<DeptCheckUserDTO> deptcheckUsers = new ArrayList<>();
+    //科室医疗组列表
+    private List<CheckMedoupDTO> checkMedoups = new ArrayList<>();
 }

+ 16 - 0
src/main/java/com/diagbot/dto/CheckJobDTO.java

@@ -17,6 +17,22 @@ public class CheckJobDTO {
     private String behospitalCode;
     //病人姓名
     private String name;
+    /**
+     * 病区code
+     */
+    private String wardCode;
+    /**
+     * 病区名称
+     */
+    private String wardName;
+    /**
+     * 医疗组Code
+     */
+    private String medoupCode;
+    /**
+     * 医疗组名称
+     */
+    private String medoupName;
     //科室
     private String behospitalDept;
     //主管医生

+ 23 - 0
src/main/java/com/diagbot/dto/CheckMedoupDTO.java

@@ -0,0 +1,23 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 核查医疗组输出类
+ * @Author:songxl
+ * @time: 2021/5/14 13:45
+ */
+@Getter
+@Setter
+public class CheckMedoupDTO {
+    //医疗组code
+    private String medoupCode;
+    //医疗组名称
+    private String medoupName;
+    //科室质控人员列表
+    private List<DeptCheckUserDTO> deptcheckUsers = new ArrayList<>();
+}

+ 18 - 2
src/main/java/com/diagbot/dto/CheckUserDTO.java

@@ -1,5 +1,6 @@
 package com.diagbot.dto;
 
+import lombok.Data;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -8,13 +9,28 @@ import lombok.Setter;
  * @Author:songxl
  * @time: 2021/5/14 13:45
  */
-@Getter
-@Setter
+@Data
 public class CheckUserDTO {
+    /**
+     * 病区code
+     */
+    private String wardCode;
+    /**
+     * 病区名称
+     */
+    private String wardName;
     //科室id
     private String deptId;
     //科室名称
     private String deptName;
+    /**
+     * 医疗组Code
+     */
+    private String medoupCode;
+    /**
+     * 医疗组名称
+     */
+    private String medoupName;
     //医生id
     private String doctorId;
     //医生名称

+ 23 - 0
src/main/java/com/diagbot/dto/CheckWardDTO.java

@@ -0,0 +1,23 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 核查病区输出类
+ * @Author:songxl
+ * @time: 2021/5/14 13:45
+ */
+@Getter
+@Setter
+public class CheckWardDTO {
+    //病区id
+    private String wardCode;
+    //病区名称
+    private String wardName;
+    //病区科室集合
+    private List<CheckDeptDTO> checkDepts = new ArrayList<>();
+}

+ 22 - 0
src/main/java/com/diagbot/dto/CheckWorkDTO.java

@@ -44,11 +44,33 @@ public class CheckWorkDTO {
     private String ageMon;
     private String ageDay;
 
+    /**
+     * 病区code
+     */
+    private String wardCode;
+    /**
+     * 病区名称
+     */
+    private String wardName;
+
+    /**
+     * 科室id
+     */
+    private String deptId;
     /**
      * 科室
      */
     private String behDeptName;
 
+    /**
+     * 医疗组Code
+     */
+    private String medoupCode;
+    /**
+     * 医疗组名称
+     */
+    private String medoupName;
+
     /**
      * 出院日期
      */

+ 18 - 0
src/main/java/com/diagbot/dto/CheckedRecordListDTO.java

@@ -41,6 +41,14 @@ public class CheckedRecordListDTO {
      */
     @ApiModelProperty("任务来源")
     private String jobTypeName;
+    /**
+     * 医疗组Code
+     */
+    private String medoupCode;
+    /**
+     * 医疗组名称
+     */
+    private String medoupName;
 
     /**
      * 科室
@@ -48,6 +56,16 @@ public class CheckedRecordListDTO {
     @ApiModelProperty("科室")
     private String behDeptName;
 
+    /**
+     * 病区code
+     */
+    private String wardCode;
+    /**
+     * 病区名称
+     */
+    private String wardName;
+
+
     /**
      * 病人姓名
      */

+ 17 - 0
src/main/java/com/diagbot/dto/DeptCheckUserDTO.java

@@ -11,10 +11,27 @@ import lombok.Setter;
 @Getter
 @Setter
 public class DeptCheckUserDTO {
+
+    /**
+     * 病区code
+     */
+    private String wardCode;
+    /**
+     * 病区名称
+     */
+    private String wardName;
     //科室id
     private String deptId;
     //科室名称
     private String deptName;
+    /**
+     * 医疗组Code
+     */
+    private String medoupCode;
+    /**
+     * 医疗组名称
+     */
+    private String medoupName;
     //医生id
     private String doctorId;
     //医生名称

+ 29 - 0
src/main/java/com/diagbot/dto/MedoupDTO.java

@@ -0,0 +1,29 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 医疗组表
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+@Data
+public class MedoupDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 医疗组代码
+     */
+    private String code;
+    /**
+     * 医疗组名称
+     */
+    private String name;
+
+}

+ 22 - 0
src/main/java/com/diagbot/dto/RegionDTO.java

@@ -0,0 +1,22 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+
+/**
+ * @Description:
+ * @author: wangsy
+ * @time: 2021/5/13 15:00
+ */
+@Data
+public class RegionDTO {
+
+    /**
+     * 病区code
+     */
+    private String code;
+    /**
+     * 病区名称
+     */
+    private String name;
+}

+ 23 - 0
src/main/java/com/diagbot/dto/RegionMedoupDTO.java

@@ -0,0 +1,23 @@
+package com.diagbot.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+ * @Description:病区、医疗组 对象
+ * @author: wangsy
+ * @time: 2021/5/13 15:00
+ */
+@Data
+public class RegionMedoupDTO {
+  @ApiModelProperty("病区集合")
+  List<RegionDTO> regions;
+  @ApiModelProperty("医疗组集合")
+  List<MedoupDTO> medoups;
+  @ApiModelProperty("医生医疗组")
+  String localMedoupCode;
+
+}

+ 146 - 0
src/main/java/com/diagbot/entity/DeptMedoup.java

@@ -0,0 +1,146 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 科室与医疗组关联表
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+@TableName("sys_dept_medoup")
+public class DeptMedoup implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 科室ID
+     */
+    private String deptId;
+
+    /**
+     * 医疗组Code
+     */
+    private String medoupCode;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getDeptId() {
+        return deptId;
+    }
+
+    public void setDeptId(String deptId) {
+        this.deptId = deptId;
+    }
+    public String getMedoupCode() {
+        return medoupCode;
+    }
+
+    public void setMedoupCode(String medoupCode) {
+        this.medoupCode = medoupCode;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public LocalDateTime getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(LocalDateTime gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public LocalDateTime getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(LocalDateTime gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "DeptMedoup{" +
+            "id=" + id +
+            ", deptId=" + deptId +
+            ", medoupCode=" + medoupCode +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", remark=" + remark +
+        "}";
+    }
+}

+ 6 - 0
src/main/java/com/diagbot/entity/MedQcresultCases.java

@@ -2,6 +2,7 @@ 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.math.BigDecimal;
@@ -15,6 +16,7 @@ import java.util.Date;
  * @author gaodm
  * @since 2020-05-19
  */
+@Data
 public class MedQcresultCases implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -26,6 +28,10 @@ public class MedQcresultCases implements Serializable {
      * 医院ID
      */
     private Long hospitalId;
+    /**
+     * 评分结果ID
+     */
+    private Long qcresultInfoId;
 
     /**
      * 病人住院ID

+ 146 - 0
src/main/java/com/diagbot/entity/Medoup.java

@@ -0,0 +1,146 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 医疗组表
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+@TableName("sys_medoup")
+public class Medoup implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 医疗组代码
+     */
+    private String code;
+
+    /**
+     * 医疗组名称
+     */
+    private String name;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public LocalDateTime getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(LocalDateTime gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public LocalDateTime getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(LocalDateTime gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "Medoup{" +
+            "id=" + id +
+            ", code=" + code +
+            ", name=" + name +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", remark=" + remark +
+        "}";
+    }
+}

+ 146 - 0
src/main/java/com/diagbot/entity/MedoupUser.java

@@ -0,0 +1,146 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 医疗组与医生关联表
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+@TableName("sys_medoup_user")
+public class MedoupUser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 医疗组ID
+     */
+    private String medoupCode;
+
+    /**
+     * 用户ID
+     */
+    private Long userId;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getMedoupCode() {
+        return medoupCode;
+    }
+
+    public void setMedoupCode(String medoupCode) {
+        this.medoupCode = medoupCode;
+    }
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public LocalDateTime getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(LocalDateTime gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public LocalDateTime getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(LocalDateTime gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "MedoupUser{" +
+            "id=" + id +
+            ", medoupCode=" + medoupCode +
+            ", userId=" + userId +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", remark=" + remark +
+        "}";
+    }
+}

+ 4 - 0
src/main/java/com/diagbot/entity/QcresultDetail.java

@@ -31,6 +31,10 @@ public class QcresultDetail implements Serializable {
      * 医院ID
      */
     private Long hospitalId;
+    /**
+     * 评分结果ID
+     */
+    private Long qcresultInfoId;
 
     /**
      * 病人住院ID

+ 224 - 0
src/main/java/com/diagbot/entity/Region.java

@@ -0,0 +1,224 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 病区表
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+@TableName("sys_region")
+public class Region implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 组织机构ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 医院名称
+     */
+    private String hospitalName;
+
+    /**
+     * 病区代码
+     */
+    private String code;
+
+    /**
+     * 病区名称
+     */
+    private String name;
+
+    /**
+     * 首字母拼音
+     */
+    private String spell;
+
+    /**
+     * 区域类别
+     */
+    private String station;
+
+    /**
+     * 排序
+     */
+    private String orderNo;
+
+    /**
+     * 状态 0:禁用,1:启用
+     */
+    private String status;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public Long getHospitalId() {
+        return hospitalId;
+    }
+
+    public void setHospitalId(Long hospitalId) {
+        this.hospitalId = hospitalId;
+    }
+    public String getHospitalName() {
+        return hospitalName;
+    }
+
+    public void setHospitalName(String hospitalName) {
+        this.hospitalName = hospitalName;
+    }
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+    public String getSpell() {
+        return spell;
+    }
+
+    public void setSpell(String spell) {
+        this.spell = spell;
+    }
+    public String getStation() {
+        return station;
+    }
+
+    public void setStation(String station) {
+        this.station = station;
+    }
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+    public LocalDateTime getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(LocalDateTime gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+    public LocalDateTime getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(LocalDateTime gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "Region{" +
+            "id=" + id +
+            ", hospitalId=" + hospitalId +
+            ", hospitalName=" + hospitalName +
+            ", code=" + code +
+            ", name=" + name +
+            ", spell=" + spell +
+            ", station=" + station +
+            ", orderNo=" + orderNo +
+            ", status=" + status +
+            ", isDeleted=" + isDeleted +
+            ", gmtCreate=" + gmtCreate +
+            ", gmtModified=" + gmtModified +
+            ", creator=" + creator +
+            ", modifier=" + modifier +
+            ", remark=" + remark +
+        "}";
+    }
+}

+ 81 - 0
src/main/java/com/diagbot/entity/RegionDept.java

@@ -0,0 +1,81 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 病区与科室关联表
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+@TableName("sys_region_dept")
+@Data
+public class RegionDept implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 组织机构ID
+     */
+    private Long hospitalId;
+
+    /**
+     * 病区code
+     */
+    private String regionCode;
+
+    /**
+     * 科室ID
+     */
+    private Long deptId;
+
+    /**
+     * 排序
+     */
+    private String orderNo;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private LocalDateTime gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private LocalDateTime gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 68 - 8
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -13,6 +13,7 @@ import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.BehospitalInfoServiceImpl;
+import com.diagbot.service.impl.MedQcresultDetailServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EncrypDES;
@@ -173,6 +174,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
     QcCasesRelevanceEntryFacade qcCasesRelevanceEntryFacade;
     @Autowired
     SysUserRoleFacade sysUserRoleFacade;
+    @Autowired
+    MedQcresultDetailServiceImpl medQcresultDetailService;
 
 
     /**
@@ -346,13 +349,40 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
             } else {
                 res.put("checkShow", 0);
             }
+            //获取用户角色,如果用户包含核查角色显示核查相关按钮(不管病历是否生成、分配,只要有质控角色就显示核查对应按钮)
+            List<Long> roleIds = sysUserRoleFacade.list(new QueryWrapper<SysUserRole>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("user_id", SysUserUtils.getCurrentPrincipleID())
+            ).stream().distinct().map(SysUserRole::getRoleId).collect(Collectors.toList());
+            if (roleIds.contains(CheckerRoleEnum.DEPT_GENERAL.getKey() * 1l)) {
+                res.put("checkShow", 1);
+            } else if (roleIds.contains(CheckerRoleEnum.QUAT_GENERAL.getKey() * 1l)) {
+                res.put("checkShow", 1);
+            } else if (roleIds.contains(CheckerRoleEnum.HOSP_GENERAL.getKey() * 1l)) {
+                res.put("checkShow", 1);
+            } else {
+                res.put("checkShow", 0);
+            }
         }
 
         // 获取提示信息
         if (ListUtil.isEmpty(paramList) || paramList.contains("msg")) {
             AnalyzeVO analyzeVO = new AnalyzeVO();
             BeanUtil.copyProperties(getDetailVO, analyzeVO);
+            QcresultInfo qcresultInfo = qcresultInfoFacade.getOne(new QueryWrapper<QcresultInfo>()
+                    .eq("hospital_id", analyzeVO.getHospitalId())
+                    .eq("behospital_code", analyzeVO.getBehospitalCode())
+                    .eq("is_deleted", IsDeleteEnum.N.getKey()));
+            if (qcresultInfo != null && qcresultInfo.getId() != null){
+                analyzeVO.setQcresultInfoId(qcresultInfo.getId());
+            }
             List<MsgDTO> msgDTOList = getMsg(analyzeVO);
+
+            if (ListUtil.isEmpty(msgDTOList)) {
+                analyzeVO.setQcresultInfoId(null);
+                msgDTOList = getMsg(analyzeVO);
+            }
+
             if (ListUtil.isNotEmpty(msgDTOList)) {
                 // 从qc_question_info的cases_entry_ids获取
                 Map<String, Object> paramMap = new HashMap<>();
@@ -1069,14 +1099,14 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         QueryVo queryVo = dealCommonData(hospitalId, analyzeVO);
         queryVo.setUseCrfCache(analyzeVO.isUseCrfCache());
         //已核查抛出以评分
-        List<MedCheckInfo> medCheckInfos = medCheckInfoFacade.list(new QueryWrapper<MedCheckInfo>()
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("hospital_id", analyzeVO.getHospitalId())
-                .eq("behospital_code", analyzeVO.getBehospitalCode()));
-        Set<Integer> status = medCheckInfos.stream().map(MedCheckInfo::getStatus).collect(Collectors.toSet());
-        if (medCheckInfos.size() >= 1 && status.contains(CheckStatusEnum.Enable.getKey()) && analyzeVO.getCheckFlag()) {
-            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该病例已经核查无需评分!");
-        }
+//        List<MedCheckInfo> medCheckInfos = medCheckInfoFacade.list(new QueryWrapper<MedCheckInfo>()
+//                .eq("is_deleted", IsDeleteEnum.N.getKey())
+//                .eq("hospital_id", analyzeVO.getHospitalId())
+//                .eq("behospital_code", analyzeVO.getBehospitalCode()));
+//        Set<Integer> status = medCheckInfos.stream().map(MedCheckInfo::getStatus).collect(Collectors.toSet());
+//        if (medCheckInfos.size() >= 1 && status.contains(CheckStatusEnum.Enable.getKey()) && analyzeVO.getCheckFlag()) {
+//            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该病例已经核查无需评分!");
+//        }
         //  调用质控接口
         Response<OutputInfo> response = qcServiceClient.extract(queryVo);
         if (response == null || response.getData() == null) {
@@ -2272,6 +2302,9 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
                                                String isPlacefile) {
         Long hospitalId = analyzeVO.getHospitalId();
         List<QcResultAlgVO> qcResultAlgVOList = new ArrayList<>();
+        //获取本用户原手动添加的扣分条目
+        addQcDetailHistory(analyzeVO, codeList);
+
         if (ListUtil.isNotEmpty(codeList)) {
             // 根据质控结果获取质控条目
             QcResultAlgQueryVO qcResultAlgQueryVO = new QcResultAlgQueryVO();
@@ -2345,6 +2378,33 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         return map;
     }
 
+    /**
+     * @param analyzeVO
+     * @param codeList
+     * @Description添加原手动扣分分值条目
+     * @Return void
+     */
+    private void addQcDetailHistory(AnalyzeVO analyzeVO, List<String> codeList) {
+        try {
+            List<Long> qcDetailIDHistory = medQcresultDetailService.list(new QueryWrapper<MedQcresultDetail>()
+                    .eq("hospital_id", analyzeVO.getHospitalId())
+                    .eq("behospital_code", analyzeVO.getBehospitalCode())
+                    .eq("grade_type", "2")
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())).stream().map(MedQcresultDetail::getCasesEntryId).collect(Collectors.toList());
+            if (ListUtil.isNotEmpty(qcDetailIDHistory)) {
+                List<String> codes = qcCasesEntryFacade.list(new QueryWrapper<QcCasesEntry>()
+                        .select("code")
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .in("id", qcDetailIDHistory)).stream().map(QcCasesEntry::getCode).collect(Collectors.toList());
+                if (ListUtil.isNotEmpty(codes)) {
+                    codeList.addAll(codes);
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
     /**
      * cds访问质控接口
      *

+ 211 - 78
src/main/java/com/diagbot/facade/MedCheckInfoFacade.java

@@ -5,10 +5,14 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.CheckDeptDTO;
 import com.diagbot.dto.CheckJobDTO;
+import com.diagbot.dto.CheckMedoupDTO;
 import com.diagbot.dto.CheckUserDTO;
+import com.diagbot.dto.CheckWardDTO;
 import com.diagbot.dto.DeptCheckUserDTO;
 import com.diagbot.entity.BasDeptInfo;
 import com.diagbot.entity.MedCheckInfo;
+import com.diagbot.entity.MedoupUser;
+import com.diagbot.entity.RegionDept;
 import com.diagbot.entity.SysRole;
 import com.diagbot.entity.SysUser;
 import com.diagbot.entity.SysUserDept;
@@ -18,7 +22,10 @@ import com.diagbot.enums.CheckerRoleEnum;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
+import com.diagbot.service.impl.DeptMedoupServiceImpl;
 import com.diagbot.service.impl.MedCheckInfoServiceImpl;
+import com.diagbot.service.impl.MedoupUserServiceImpl;
+import com.diagbot.service.impl.RegionDeptServiceImpl;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
@@ -60,6 +67,12 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
     BasDoctorInfoFacade basDoctorInfoFacade;
     @Autowired
     BasDeptInfoFacade basDeptInfoFacade;
+    @Autowired
+    RegionDeptServiceImpl regionDeptService;
+    @Autowired
+    DeptMedoupServiceImpl deptMedoupService;
+    @Autowired
+    MedoupUserServiceImpl medoupUserService;
 
 
     /**
@@ -210,22 +223,38 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
             if (checkJobVO.getDeptList() == null || checkJobVO.getDeptList().isEmpty()) {
                 //科室获取待分配任务所在科室集合
                 if (CheckJobTypeEnum.DEPT_SUPERVISOR.getKey() == Integer.parseInt(checkJobVO.getJobType())) {
+                    //获取当前用户科室
                     List<String> deptIds = sysUserDeptFacade.list(new QueryWrapper<SysUserDept>()
                             .eq("is_deleted", IsDeleteEnum.N.getKey())
                             .eq("hospital_id", hospitalId)
                             .eq("user_id", principleId)
                     ).stream().map(SysUserDept::getDeptId).collect(Collectors.toList());
-
-                    if (deptIds != null && !deptIds.isEmpty()) {
+                    if (ListUtil.isNotEmpty(deptIds)) {
                         checkJobVO.setDeptList(deptIds);
-                        return getCheckList(checkJobVO);
-                    } else {
-                        return new CheckJobPageVO();
                     }
+                    //获取病区集合
+                    List<String> wards = regionDeptService.list(new QueryWrapper<RegionDept>()
+                            .eq("is_deleted", IsDeleteEnum.N.getKey())
+                            .eq("hospital_id", hospitalId)
+                            .in(ListUtil.isNotEmpty(deptIds),"dept_id", deptIds)
+                    ).stream().map(RegionDept::getRegionCode).collect(Collectors.toList());
+                    if (ListUtil.isNotEmpty(wards)){
+                        checkJobVO.setWardList(wards);
+                    }
+                    //医疗组
+                    List<String> medoups = medoupUserService.list(new QueryWrapper<MedoupUser>()
+                            .eq("is_deleted", IsDeleteEnum.N.getKey())
+                            .eq("user_id", principleId)
+                    ).stream().map(MedoupUser::getMedoupCode).collect(Collectors.toList());
+                    if (ListUtil.isNotEmpty(medoups)){
+                        checkJobVO.setMedoupList(medoups);
+                    }
+
+                    return getCheckList(checkJobVO);
                 }
                 //院区获取
                 if (CheckJobTypeEnum.HOSP_SUPERVISOR.getKey() == Integer.parseInt(checkJobVO.getJobType())) {
-//                    //获取管理员所在科室
+                    //获取管理员所在科室
 //                    List<String> deptIds = sysUserDeptFacade.list(new QueryWrapper<SysUserDept>()
 //                            .eq("is_deleted", IsDeleteEnum.N.getKey())
 //                            .eq("hospital_id",hospitalId)
@@ -292,7 +321,7 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
      * @Return java.util.Map<java.lang.String, java.util.List < com.diagbot.dto.CheckDeptDTO>>
      * @MethodName getCheckUserMap
      */
-    public Map<String, List<CheckDeptDTO>> getCheckUserMap() {
+    public Map<String, List<CheckWardDTO>> getCheckUserMap() {
 
         //1.获取当前用户对应的管理员角色
         //获取人员id 和 该人员的医院id
@@ -319,7 +348,7 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该用户不是核查监管人员!");
         }
         //2.获取相应角色对应的科室以及核查人员
-        Map<String, List<CheckDeptDTO>> checkUserMap = getCheckRoleMap(searchRoleIds, hospitalId, principleId);
+        Map<String, List<CheckWardDTO>> checkUserMap = getCheckRoleMap(searchRoleIds, hospitalId, principleId);
         return checkUserMap;
     }
 
@@ -332,8 +361,8 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
      * @MethodName getCheckRoleMap
      */
 
-    private Map<String, List<CheckDeptDTO>> getCheckRoleMap(List<Long> searchRoleIds, Long hospitalId, Long principleId) {
-        Map<String, List<CheckDeptDTO>> checkRoleMap = new HashMap<>();
+    private Map<String, List<CheckWardDTO>> getCheckRoleMap(List<Long> searchRoleIds, Long hospitalId, Long principleId) {
+        Map<String, List<CheckWardDTO>> checkRoleMap = new HashMap<>();
         for (Long id : searchRoleIds) {
             try {
                 //不同角色不同查询方式
@@ -344,11 +373,13 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
                         break;
                     //质控科监管人员
                     case 5:
-                        getZKKCheckInfo(checkRoleMap, hospitalId, principleId);
+//                        getZKKCheckInfo(checkRoleMap, hospitalId, principleId);
+                        checkRoleMap.put(CheckerRoleEnum.QUAT_SUPERVISOR.getKey() + "", new ArrayList<>());
                         break;
                     //院级监管人员
                     case 6:
-                        getYQCheckInfo(checkRoleMap, hospitalId, principleId);
+//                        getYQCheckInfo(checkRoleMap, hospitalId, principleId);
+                        checkRoleMap.put(CheckerRoleEnum.HOSP_SUPERVISOR.getKey() + "", new ArrayList<>());
                         break;
                     default:
                         break;
@@ -375,7 +406,7 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
         checkUserVOS.setRoleIds(Lists.newArrayList(CheckerRoleEnum.HOSP_GENERAL.getKey() * 1l));
         checkUserVOS.setDeptStations(Lists.newArrayList("住院"));
         checkUserVOS.setHospitalId(hospitalId);
-        List<CheckUserDTO> checkUserDTOS = baseMapper.getCheckUser(checkUserVOS);
+        List<DeptCheckUserDTO> checkUserDTOS = baseMapper.getCheckUser(checkUserVOS);
         //2.用户科室整合
         margeDept(checkRoleMap, checkUserDTOS, CheckerRoleEnum.HOSP_SUPERVISOR.getKey() + "");
         if (!ListUtil.isEmpty(checkRoleMap.get(CheckerRoleEnum.HOSP_SUPERVISOR.getKey() + ""))) {
@@ -399,11 +430,11 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
      * @Return void
      * @MethodName margeDept
      */
-    private void margeDept(Map<String, List<CheckDeptDTO>> checkRoleMap, List<CheckUserDTO> checkUserDTOS, String roleId) {
+    private void margeDept(Map<String, List<CheckDeptDTO>> checkRoleMap, List<DeptCheckUserDTO> checkUserDTOS, String roleId) {
         if (ListUtil.isEmpty(checkUserDTOS)) {
             return;
         }
-        Set<String> userIds = checkUserDTOS.stream().map(CheckUserDTO::getDoctorId).collect(Collectors.toSet());
+        Set<String> userIds = checkUserDTOS.stream().map(DeptCheckUserDTO::getDoctorId).collect(Collectors.toSet());
         try {
             List<CheckDeptDTO> tempDepts = new ArrayList<>();
             //全部
@@ -444,23 +475,23 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
                 deptCheckUserDTO.setDeptName(deptName);
                 AtomicBoolean hasFlag = new AtomicBoolean(false);
                 //全部处理
-                if (ListUtil.isEmpty(allCheckDept.getDeptcheckUsers())) {
-                    allCheckDept.getDeptcheckUsers().add(deptCheckUserDTO);
-                }
-                allCheckDept.getDeptcheckUsers().forEach(oneDeptCheckUser -> {
-                    if (!userId.equals(oneDeptCheckUser.getDoctorId())) {
-                        hasFlag.set(true);
-                    }
-                });
-                if (hasFlag.get()) {
-                    allCheckDept.getDeptcheckUsers().add(deptCheckUserDTO);
-                }
-
-                tempDepts.stream().forEach(checkDeptDTO -> {
-                    if (deptId.contains(checkDeptDTO.getDeptId())) {
-                        checkDeptDTO.getDeptcheckUsers().add(deptCheckUserDTO);
-                    }
-                });
+//                if (ListUtil.isEmpty(allCheckDept.getDeptcheckUsers())) {
+//                    allCheckDept.getDeptcheckUsers().add(deptCheckUserDTO);
+//                }
+//                allCheckDept.getDeptcheckUsers().forEach(oneDeptCheckUser -> {
+//                    if (!userId.equals(oneDeptCheckUser.getDoctorId())) {
+//                        hasFlag.set(true);
+//                    }
+//                });
+//                if (hasFlag.get()) {
+//                    allCheckDept.getDeptcheckUsers().add(deptCheckUserDTO);
+//                }
+//
+//                tempDepts.stream().forEach(checkDeptDTO -> {
+//                    if (deptId.contains(checkDeptDTO.getDeptId())) {
+//                        checkDeptDTO.getDeptcheckUsers().add(deptCheckUserDTO);
+//                    }
+//                });
             });
             tempDepts.add(0, allCheckDept);
             checkRoleMap.put(roleId + "", tempDepts);
@@ -506,7 +537,7 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
         checkUserVOS.setDeptStations(Lists.newArrayList("质管"));
         checkUserVOS.setDeptIds(Lists.newArrayList(deptInfo.getDeptId()));
         checkUserVOS.setHospitalId(hospitalId);
-        List<CheckUserDTO> checkUserDTOS = baseMapper.getCheckUser(checkUserVOS);
+        List<DeptCheckUserDTO> checkUserDTOS = baseMapper.getCheckUser(checkUserVOS);
         //2.1获取科室详情
         Map<String, String> deptMap = basDeptInfoFacade.list(new QueryWrapper<BasDeptInfo>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -515,7 +546,7 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
                 .collect(Collectors.toMap(BasDeptInfo::getDeptId, BasDeptInfo::getDeptName, (v1, v2) -> v2));
         if (deptMap != null && !deptMap.isEmpty()) {
             //2.3获取质控科核查人员的核查数
-            List<String> doctorIds = checkUserDTOS.stream().map(CheckUserDTO::getDoctorId).collect(Collectors.toList());
+            List<String> doctorIds = checkUserDTOS.stream().map(DeptCheckUserDTO::getDoctorId).collect(Collectors.toList());
             CheckUserVO checkUserVO = new CheckUserVO();
             checkUserVO.setJobType(CheckJobTypeEnum.QUAT_SUPERVISOR.getKey());
             checkUserVO.setUserList(doctorIds);
@@ -539,7 +570,7 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
      * @Return void
      * @MethodName getDeptCheckInfo
      */
-    private void getDeptCheckInfo(Map<String, List<CheckDeptDTO>> checkRoleMap, Long hospitalId, Long principleId) {
+    private void getDeptCheckInfo(Map<String, List<CheckWardDTO>> checkRoleMap, Long hospitalId, Long principleId) {
 
         //1.获取监管人员所在科室集合
         List<String> deptIds = sysUserDeptFacade.list(new QueryWrapper<SysUserDept>()
@@ -567,7 +598,19 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
         checkUserVOS.setDeptIds(deptIds);
         checkUserVOS.setDeptStations(Lists.newArrayList("住院"));
         checkUserVOS.setHospitalId(hospitalId);
-        List<CheckUserDTO> checkUserDTOS = baseMapper.getCheckUser(checkUserVOS);
+        //1.3添加筛选的病区、医疗组
+        //1.3.1通过科室获取病区
+        List<String> regionCodes = regionDeptService.list(new QueryWrapper<RegionDept>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .in("dept_id", deptIds)).stream().map(RegionDept::getRegionCode).collect(Collectors.toList());
+        checkUserVOS.setRegion(regionCodes);
+        //1.3.1获取当前登录用户所在的医疗组
+        List<String> medoupCodes = medoupUserService.list(new QueryWrapper<MedoupUser>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .in("user_id", principleId)).stream().map(MedoupUser::getMedoupCode).collect(Collectors.toList());
+        checkUserVOS.setMedoup(medoupCodes);
+        //获取所有的科室核查人员
+        List<DeptCheckUserDTO> checkUserDTOS = baseMapper.getCheckUser(checkUserVOS);
         //2.1获取科室详情
         Map<String, String> deptMap = basDeptInfoFacade.list(new QueryWrapper<BasDeptInfo>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -576,14 +619,15 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
                 .collect(Collectors.toMap(BasDeptInfo::getDeptId, BasDeptInfo::getDeptName, (v1, v2) -> v2));
         if (deptMap != null && !deptMap.isEmpty()) {
             //2.3获取所有医生信息的核查数
-            List<String> doctorIds = checkUserDTOS.stream().map(CheckUserDTO::getDoctorId).collect(Collectors.toList());
+            List<String> doctorIds = checkUserDTOS.stream().map(DeptCheckUserDTO::getDoctorId).collect(Collectors.toList());
             CheckUserVO checkUserVO = new CheckUserVO();
             checkUserVO.setJobType(CheckJobTypeEnum.DEPT_SUPERVISOR.getKey());
             checkUserVO.setUserList(doctorIds);
             checkUserVO.setDeptIds(deptIds);
             //通过核查人员id获取核查人员的核查任务数
             List<DeptCheckUserDTO> userJobs = baseMapper.getDeptJobNumByUserId(checkUserVO);
-            addCheckInfoMaps(checkRoleMap, deptMap, userJobs, checkUserDTOS, CheckerRoleEnum.DEPT_SUPERVISOR.getKey(), CheckJobTypeEnum.DEPT_SUPERVISOR.getKey());
+            componentCheckInfo(checkRoleMap, checkUserDTOS, userJobs);
+//            addCheckInfoMaps(checkRoleMap, deptMap, userJobs, checkUserDTOS, CheckerRoleEnum.DEPT_SUPERVISOR.getKey(), CheckJobTypeEnum.DEPT_SUPERVISOR.getKey());
         } else {
             checkRoleMap.put(CheckerRoleEnum.DEPT_SUPERVISOR.getKey() + "", new ArrayList<>());
         }
@@ -591,6 +635,95 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
 
     }
 
+    private void componentCheckInfo(Map<String, List<CheckWardDTO>> checkRoleMap, List<DeptCheckUserDTO> checkUserDTOS, List<DeptCheckUserDTO> userJobs) {
+        if (ListUtil.isNotEmpty(checkUserDTOS)) {
+            List<CheckWardDTO> outCheckWards = new ArrayList<>();
+            //核查员map
+            Map<String, Map<String, Map<String, List<DeptCheckUserDTO>>>> checkUserMap = checkUserDTOS.stream()
+                    .collect(
+                            Collectors.groupingBy(
+                                    DeptCheckUserDTO::getWardCode, //通过病区分组
+                                    Collectors.groupingBy(
+                                            DeptCheckUserDTO::getDeptId, //通过科室分组
+                                            Collectors.groupingBy(
+                                                    DeptCheckUserDTO::getMedoupCode //通过医疗组分组
+                                            )
+                                    )
+                            )
+                    );
+            //核查员任务数
+            Map<String, Map<String, Map<String, List<DeptCheckUserDTO>>>> checkUserJobMap = userJobs.stream()
+                    .collect(
+                            Collectors.groupingBy(
+                                    DeptCheckUserDTO::getWardCode, //通过病区分组
+                                    Collectors.groupingBy(
+                                            DeptCheckUserDTO::getDeptId, //通过科室分组
+                                            Collectors.groupingBy(
+                                                    DeptCheckUserDTO::getMedoupCode //通过医疗组分组
+                                            )
+                                    )
+                            )
+                    );
+
+            checkUserMap.keySet().forEach(wardCode -> {
+                //创建病区
+                CheckWardDTO checkWard = new CheckWardDTO();
+                checkWard.setWardCode(wardCode);
+                checkWard.setCheckDepts(new ArrayList<>());
+
+                checkUserMap.get(wardCode).keySet().forEach(deptId -> {
+                    //创建科室
+                    CheckDeptDTO checkDept = new CheckDeptDTO();
+                    checkDept.setDeptId(deptId);
+                    checkDept.setCheckMedoups(new ArrayList<>());
+
+                    checkUserMap.get(wardCode).get(deptId).keySet().forEach(medoupCode -> {
+                        //创建医疗组
+                        CheckMedoupDTO checkMedoup = new CheckMedoupDTO();
+                        checkMedoup.setMedoupCode(medoupCode);
+                        checkMedoup.setDeptcheckUsers(new ArrayList<>());
+
+                        checkUserMap.get(wardCode).get(deptId).get(medoupCode).forEach(deptCheckUserDTO -> {
+                            if(checkUserJobMap.keySet().contains(wardCode)
+                                    &&checkUserJobMap.get(wardCode).keySet().contains(deptId)
+                                    &&checkUserJobMap.get(wardCode).get(deptId).keySet().contains(medoupCode)
+                                    ){
+                                //添加任务数
+                                checkUserJobMap.get(wardCode).get(deptId).get(medoupCode).forEach(userJob -> {
+                                    //判断同一人
+                                    if (deptCheckUserDTO.getDoctorId().equals(userJob.getDoctorId())) {
+                                        if (userJob.getStatus() == 0) {
+                                            deptCheckUserDTO.setJobNum(userJob.getJobNum());
+                                        }
+                                        if (userJob.getStatus() == 1) {
+                                            deptCheckUserDTO.setCheckNum(userJob.getJobNum());
+                                        }
+                                    }
+                                });
+                            }
+                            //返回结果拼装
+                            //病区名称
+                            checkWard.setWardName(deptCheckUserDTO.getWardName());
+                            //科室名称
+                            checkDept.setDeptName(deptCheckUserDTO.getDeptName());
+                            //医疗组名称
+                            checkMedoup.setMedoupName(deptCheckUserDTO.getMedoupName());
+                            checkMedoup.getDeptcheckUsers().add(deptCheckUserDTO);
+                        });
+                        checkDept.getCheckMedoups().add(checkMedoup);
+                    });
+                    //添加科室
+                    checkWard.getCheckDepts().add(checkDept);
+                });
+                //添加病区
+                outCheckWards.add(checkWard);
+            });
+            checkRoleMap.put(CheckerRoleEnum.DEPT_SUPERVISOR.getKey() + "", outCheckWards);
+        } else {
+            checkRoleMap.put(CheckerRoleEnum.DEPT_SUPERVISOR.getKey() + "", new ArrayList<>());
+        }
+    }
+
     /**
      * @Author songxl
      * @Description 拼装科室、核查人员、任务数对象
@@ -600,7 +733,7 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
      * @MethodName addCheckInfoMap
      */
     private void addCheckInfoMaps(Map<String, List<CheckDeptDTO>> checkRoleMap, Map<String, String> deptMap,
-                                  List<DeptCheckUserDTO> userJobs, List<CheckUserDTO> checkUserDTOS, int roleId, int jobType) {
+                                  List<DeptCheckUserDTO> userJobs, List<DeptCheckUserDTO> checkUserDTOS, int roleId, int jobType) {
         //非院区任务
         if (CheckJobTypeEnum.HOSP_SUPERVISOR.getKey() != jobType) {
             if (deptMap.isEmpty() || checkUserDTOS.isEmpty()) {
@@ -613,9 +746,9 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
                 CheckDeptDTO checkDeptDTO = new CheckDeptDTO();
                 checkDeptDTO.setDeptId(deptId);
                 checkDeptDTO.setDeptName(deptMap.get(deptId));
-                checkDeptDTO.setDeptcheckUsers(new ArrayList<DeptCheckUserDTO>());
+//                checkDeptDTO.setDeptcheckUsers(new ArrayList<DeptCheckUserDTO>());
                 //遍历医生
-                for (CheckUserDTO checkUserDTO : checkUserDTOS) {
+                for (DeptCheckUserDTO checkUserDTO : checkUserDTOS) {
                     //同一科室
                     if (checkDeptDTO.getDeptId().equals(checkUserDTO.getDeptId())) {
                         DeptCheckUserDTO deptCheckUserDTO = new DeptCheckUserDTO();
@@ -623,49 +756,49 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
                         deptCheckUserDTO.setDeptName(checkUserDTO.getDeptName());
                         deptCheckUserDTO.setDoctorId(checkUserDTO.getDoctorId());
                         deptCheckUserDTO.setDoctorName(checkUserDTO.getDoctorName());
-                        checkDeptDTO.getDeptcheckUsers().add(deptCheckUserDTO);
-                    }
-                }
-                for (DeptCheckUserDTO deptCheckUserDTO : checkDeptDTO.getDeptcheckUsers()) {
-                    //遍历数量
-                    for (DeptCheckUserDTO jobNumDto : userJobs) {
-                        //这个科室有这个人
-                        if (deptCheckUserDTO.getDeptId().equals(jobNumDto.getDeptId())) {
-                            if (deptCheckUserDTO.getDoctorId().equals(jobNumDto.getDoctorId())) {
-                                if (jobNumDto.getStatus() == 0) {
-                                    deptCheckUserDTO.setJobNum(jobNumDto.getJobNum());
-                                }
-                                if (jobNumDto.getStatus() == 1) {
-
-                                    deptCheckUserDTO.setCheckNum(jobNumDto.getJobNum());
-                                }
-                            }
-
-                        }
+//                        checkDeptDTO.getDeptcheckUsers().add(deptCheckUserDTO);
                     }
                 }
+//                for (DeptCheckUserDTO deptCheckUserDTO : checkDeptDTO.getDeptcheckUsers()) {
+//                    //遍历数量
+//                    for (DeptCheckUserDTO jobNumDto : userJobs) {
+//                        //这个科室有这个人
+//                        if (deptCheckUserDTO.getDeptId().equals(jobNumDto.getDeptId())) {
+//                            if (deptCheckUserDTO.getDoctorId().equals(jobNumDto.getDoctorId())) {
+//                                if (jobNumDto.getStatus() == 0) {
+//                                    deptCheckUserDTO.setJobNum(jobNumDto.getJobNum());
+//                                }
+//                                if (jobNumDto.getStatus() == 1) {
+//
+//                                    deptCheckUserDTO.setCheckNum(jobNumDto.getJobNum());
+//                                }
+//                            }
+//
+//                        }
+//                    }
+//                }
                 checkRoleMap.get(roleId + "").add(checkDeptDTO);
             }
         }
         //院区任务不是同一科室的人员数量增加
-        else if (CheckJobTypeEnum.HOSP_SUPERVISOR.getKey() == jobType) {
-            checkRoleMap.get(roleId + "").stream().forEach(checkDeptDTO -> {
-                if (!ListUtil.isEmpty(checkDeptDTO.getDeptcheckUsers())) {
-                    checkDeptDTO.getDeptcheckUsers().stream().forEach(deptCheckUser -> {
-                        userJobs.stream().forEach(userJob -> {
-                            if (deptCheckUser.getDoctorId().equals(userJob.getDoctorId())) {
-                                if (userJob.getStatus() == 0) {
-                                    deptCheckUser.setJobNum(userJob.getJobNum());
-                                }
-                                if (userJob.getStatus() == 1) {
-                                    deptCheckUser.setCheckNum(userJob.getJobNum());
-                                }
-                            }
-                        });
-                    });
-                }
-            });
-        }
+//        else if (CheckJobTypeEnum.HOSP_SUPERVISOR.getKey() == jobType) {
+//            checkRoleMap.get(roleId + "").stream().forEach(checkDeptDTO -> {
+//                if (!ListUtil.isEmpty(checkDeptDTO.getDeptcheckUsers())) {
+//                    checkDeptDTO.getDeptcheckUsers().stream().forEach(deptCheckUser -> {
+//                        userJobs.stream().forEach(userJob -> {
+//                            if (deptCheckUser.getDoctorId().equals(userJob.getDoctorId())) {
+//                                if (userJob.getStatus() == 0) {
+//                                    deptCheckUser.setJobNum(userJob.getJobNum());
+//                                }
+//                                if (userJob.getStatus() == 1) {
+//                                    deptCheckUser.setCheckNum(userJob.getJobNum());
+//                                }
+//                            }
+//                        });
+//                    });
+//                }
+//            });
+//        }
     }
 
 

+ 153 - 13
src/main/java/com/diagbot/facade/MedCheckWorkFacade.java

@@ -7,17 +7,33 @@ import com.diagbot.dto.BasDeptInfoDTO;
 import com.diagbot.dto.BehospitalInfoAgeDTO;
 import com.diagbot.dto.CheckWorkDTO;
 import com.diagbot.dto.MedicalRecordDTO;
+import com.diagbot.dto.MedoupDTO;
+import com.diagbot.dto.RegionDTO;
+import com.diagbot.dto.RegionMedoupDTO;
+import com.diagbot.entity.BasDoctorInfo;
+import com.diagbot.entity.DeptMedoup;
 import com.diagbot.entity.MedBehospitalType;
 import com.diagbot.entity.MedCheckInfo;
+import com.diagbot.entity.Medoup;
+import com.diagbot.entity.MedoupUser;
+import com.diagbot.entity.Region;
+import com.diagbot.entity.RegionDept;
 import com.diagbot.entity.SysTaskCron;
 import com.diagbot.entity.SysUser;
 import com.diagbot.enums.CheckJobTypeEnum;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
+import com.diagbot.service.DeptMedoupService;
+import com.diagbot.service.impl.BasDoctorInfoServiceImpl;
+import com.diagbot.service.impl.DeptMedoupServiceImpl;
 import com.diagbot.service.impl.MedBehospitalTypeServiceImpl;
 import com.diagbot.service.impl.MedCheckInfoServiceImpl;
 import com.diagbot.service.impl.MedicalRecordServiceImpl;
+import com.diagbot.service.impl.MedoupServiceImpl;
+import com.diagbot.service.impl.MedoupUserServiceImpl;
+import com.diagbot.service.impl.RegionDeptServiceImpl;
+import com.diagbot.service.impl.RegionServiceImpl;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
@@ -28,6 +44,8 @@ import com.diagbot.vo.RecordTypeVO;
 import com.diagbot.vo.SysUserBaseVO;
 import com.google.common.collect.Lists;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.SystemUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -61,6 +79,18 @@ public class MedCheckWorkFacade {
     private SysTaskCronFacade sysTaskCronFacade;
     @Autowired
     private BehospitalInfoFacade behospitalInfoFacade;
+    @Autowired
+    private RegionDeptServiceImpl regionDeptService;
+    @Autowired
+    private RegionServiceImpl regionService;
+    @Autowired
+    private DeptMedoupServiceImpl deptMedoupService;
+    @Autowired
+    private MedoupServiceImpl medoupService;
+    @Autowired
+    private MedoupUserServiceImpl medoupUserService;
+    @Autowired
+    private BasDoctorInfoFacade basDoctorInfoFacade;
 
     /**
      * @Author songxl
@@ -272,22 +302,38 @@ public class MedCheckWorkFacade {
             }
         }
         checkWorkPageVO.setHospitalId(Long.parseLong(SysUserUtils.getCurrentHospitalID()));
-
+        //科室任务-获取本科室的用户(改为登录用户科室所在医疗组,通过医疗组获取医生再获取医生的患者)
         if (StringUtil.isNotBlank(checkWorkPageVO.getJobType()) && (CheckJobTypeEnum.DEPT_SUPERVISOR.getKey() + "").equals(checkWorkPageVO.getJobType())) {
-            SysUserBaseVO sysUserBaseVO = new SysUserBaseVO();
-            sysUserBaseVO.setUserId(Long.parseLong(SysUserUtils.getCurrentPrincipleID()));
-            List<String> deptIds = Lists.newArrayList();
-            List<BasDeptInfoDTO> selDepts = sysUserFacade.getUserDepts(sysUserBaseVO).getSelDepts();
-            if (ListUtil.isNotEmpty(selDepts)) {
-                deptIds = selDepts.stream().map(i -> i.getDeptId()).collect(Collectors.toList());
+//            SysUserBaseVO sysUserBaseVO = new SysUserBaseVO();
+//            sysUserBaseVO.setUserId(Long.parseLong(SysUserUtils.getCurrentPrincipleID()));
+//            List<String> deptIds = Lists.newArrayList();
+//            List<BasDeptInfoDTO> selDepts = sysUserFacade.getUserDepts(sysUserBaseVO).getSelDepts();
+//            if (ListUtil.isNotEmpty(selDepts)) {
+//                deptIds = selDepts.stream().map(i -> i.getDeptId()).collect(Collectors.toList());
+//            }
+//            if (ListUtil.isNotEmpty(checkWorkPageVO.getDepartment())) {
+//                deptIds.retainAll(checkWorkPageVO.getDepartment());
+//            }
+//            if (ListUtil.isEmpty(deptIds)) {
+//                deptIds.add("999999999999");
+//            }
+//            checkWorkPageVO.setDepartment(deptIds);
+            //如果没有添加医疗组筛选条件默认筛选自身医疗组
+            List<String> codes = null;
+            if(ListUtil.isEmpty(checkWorkPageVO.getMedoup())){
+                List<MedoupUser> medoups =  medoupUserService.list(new QueryWrapper<MedoupUser>()
+                        .eq("user_id", SysUserUtils.getCurrentPrincipleID())
+                        .eq("is_deleted", IsDeleteEnum.N.getKey()));
+                codes = medoups.stream().map(MedoupUser::getMedoupCode).collect(Collectors.toList());
+            }else {
+                codes = checkWorkPageVO.getMedoup();
             }
-            if (ListUtil.isNotEmpty(checkWorkPageVO.getDepartment())) {
-                deptIds.retainAll(checkWorkPageVO.getDepartment());
+            if(ListUtil.isNotEmpty(codes)){
+                List<BasDoctorInfo> basDoctorInfos = basDoctorInfoFacade.list(new QueryWrapper<BasDoctorInfo>()
+                        .in("group_id",codes)
+                        .eq("is_deleted",IsDeleteEnum.N.getKey()));
+                checkWorkPageVO.setDoctorIds(basDoctorInfos.stream().map(BasDoctorInfo::getDoctorId).collect(Collectors.toList()));
             }
-            if (ListUtil.isEmpty(deptIds)) {
-                deptIds.add("999999999999");
-            }
-            checkWorkPageVO.setDepartment(deptIds);
         }
     }
 
@@ -307,4 +353,98 @@ public class MedCheckWorkFacade {
         }
         return false;
     }
+
+    /**
+     * @param
+     * @Description获取当前用户的病区信息
+     * @Return java.util.List<com.diagbot.dto.RegionDTO>
+     */
+    public RegionMedoupDTO getLocalRegionMedoup() {
+
+        RegionMedoupDTO regionMedoup = new RegionMedoupDTO();
+        SysUserBaseVO sysUserBaseVO = new SysUserBaseVO();
+        sysUserBaseVO.setUserId(Long.parseLong(SysUserUtils.getCurrentPrincipleID()));
+        //获取当前登录用户的科室信息
+        List<BasDeptInfoDTO> selDepts = sysUserFacade.getUserDepts(sysUserBaseVO).getSelDepts();
+        //获取科室关联的病区
+        List<RegionDTO> regions = getLocalRegion(selDepts);
+        if (ListUtil.isEmpty(regions)) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该用户无病区关联信息");
+        }
+        regionMedoup.setRegions(regions);
+        //获取科室关联的医疗组
+        List<MedoupDTO> medoups = getLocalMdeoup(selDepts);
+        if (ListUtil.isEmpty(medoups)) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "当前用户所属科室无医疗组关联信息");
+        }
+        regionMedoup.setMedoups(medoups);
+        //获取当前用户的医疗组信息
+//        MedoupUser medoupUser = medoupUserService.getOne(new QueryWrapper<MedoupUser>()
+//                .eq("user_id", SysUserUtils.getCurrentPrincipleID())
+//                .eq("is_deleted", IsDeleteEnum.N.getKey()));
+//        if (medoupUser == null || medoupUser.getMedoupCode() == null) {
+//            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该用户无医疗组关联信息");
+//        }
+//        regionMedoup.setLocalMedoupCode(medoupUser.getMedoupCode());
+        return regionMedoup;
+    }
+
+    private List<MedoupDTO> getLocalMdeoup(List<BasDeptInfoDTO> selDepts) {
+        List<MedoupDTO> medoups = new ArrayList<>();
+        if (ListUtil.isNotEmpty(selDepts)) {
+            List<String> deptIds = selDepts.stream().map(BasDeptInfoDTO::getDeptId).collect(Collectors.toList());
+            //获取本人科室关联的医疗组code
+//            List<DeptMedoup> deptMedoups = deptMedoupService.list(new QueryWrapper<DeptMedoup>()
+//                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+//                    .in("dept_id", deptIds));
+            List<MedoupUser> medoupUsers = medoupUserService.list(new QueryWrapper<MedoupUser>()
+                    .eq("user_id", SysUserUtils.getCurrentPrincipleID())
+                    .eq("is_deleted", IsDeleteEnum.N.getKey()));
+            if (ListUtil.isNotEmpty(medoupUsers)) {
+                List<String> medoupCodes = medoupUsers.stream().map(MedoupUser::getMedoupCode).collect(Collectors.toList());
+                //通过code获取医疗组详情
+                if (ListUtil.isNotEmpty(medoupCodes)) {
+                    List<Medoup> medoupTemps = medoupService.list(new QueryWrapper<Medoup>()
+                            .in("code", medoupCodes)
+                            .eq("is_deleted", IsDeleteEnum.N.getKey()));
+                    if (ListUtil.isNotEmpty(medoupTemps)) {
+                        medoupTemps.stream().forEach(medoup -> {
+                            MedoupDTO MedoupDTOTemp = new MedoupDTO();
+                            BeanUtils.copyProperties(medoup, MedoupDTOTemp);
+                            medoups.add(MedoupDTOTemp);
+                        });
+                    }
+                }
+            }
+        }
+        return medoups;
+    }
+
+    private List<RegionDTO> getLocalRegion(List<BasDeptInfoDTO> selDepts) {
+        List<RegionDTO> regions = new ArrayList<>();
+        if (ListUtil.isNotEmpty(selDepts)) {
+            List<String> deptIds = selDepts.stream().map(BasDeptInfoDTO::getDeptId).collect(Collectors.toList());
+            List<RegionDept> regionDepts = regionDeptService.list(new QueryWrapper<RegionDept>()
+                    .eq("hospital_id", SysUserUtils.getCurrentHospitalID())
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("dept_id", deptIds));
+            if (ListUtil.isNotEmpty(regionDepts)) {
+                List<String> regionCodes = regionDepts.stream().map(RegionDept::getRegionCode).collect(Collectors.toList());
+                if (ListUtil.isNotEmpty(regionCodes)) {
+                    List<Region> regionTemps = regionService.list(new QueryWrapper<Region>()
+                            .in("code", regionCodes)
+                            .eq("is_deleted", IsDeleteEnum.N.getKey())
+                            .eq("hospital_id", SysUserUtils.getCurrentHospitalID()));
+                    if (ListUtil.isNotEmpty(regionTemps)) {
+                        regionTemps.stream().forEach(region -> {
+                            RegionDTO RegionDTOTemp = new RegionDTO();
+                            BeanUtils.copyProperties(region, RegionDTOTemp);
+                            regions.add(RegionDTOTemp);
+                        });
+                    }
+                }
+            }
+        }
+        return regions;
+    }
 }

+ 38 - 14
src/main/java/com/diagbot/facade/QcresultInfoFacade.java

@@ -154,7 +154,6 @@ public class QcresultInfoFacade extends QcresultInfoServiceImpl {
             }
         }
         Date now = DateUtil.now();
-        //逻辑删除记录
         this.update(new UpdateWrapper<QcresultInfo>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("hospital_id", analyzeVO.getHospitalId())
@@ -192,16 +191,38 @@ public class QcresultInfoFacade extends QcresultInfoServiceImpl {
         qcresultInfo.setGmtModified(now);
         qcresultInfo.setModifier(useId.toString());
         this.save(qcresultInfo);
+        Long newId = qcresultInfo.getId();
         //更新质控评分明细信息
         switch (algorithmVO.getType()) {
             //自动评分
             case 0:
                 //删除记录
-                qcresultDetailServiceImpl.remove(new QueryWrapper<QcresultDetail>()
+//                qcresultDetailServiceImpl.remove(new QueryWrapper<QcresultDetail>()
+//                        .eq("hospital_id", analyzeVO.getHospitalId())
+//                        .eq("behospital_code", analyzeVO.getBehospitalCode()));
+                //1.获取原来人工添加的缺陷
+                List<QcresultDetail> oldQcresultDetails = qcresultDetailServiceImpl.list(new QueryWrapper<QcresultDetail>()
                         .eq("hospital_id", analyzeVO.getHospitalId())
+                        .eq("grade_type","2")
                         .eq("behospital_code", analyzeVO.getBehospitalCode()));
+
+                qcresultDetailServiceImpl.update(new UpdateWrapper<QcresultDetail>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("hospital_id", analyzeVO.getHospitalId())
+                        .eq("behospital_code", analyzeVO.getBehospitalCode())
+                        .set("is_deleted", IsDeleteEnum.Y.getKey())
+                        .set("modifier", useId)
+                        .set("gmt_modified", now));
+                //
                 //批量插入新的数据
                 List<QcresultDetail> qcresultDetailList = new ArrayList<>();
+                if(ListUtil.isNotEmpty(oldQcresultDetails)){
+                    qcresultDetailList.addAll(oldQcresultDetails);
+                    qcresultDetailList.forEach(qcresultDetail -> {
+                        //原手动添加缺陷绑定新机器评分id
+                        qcresultDetail.setQcresultInfoId(newId);
+                    });
+                }
                 List<QcResultAlgVO> qcResultAlgVORes = algorithmVO.getQcResultAlgVOList();
                 if (ListUtil.isNotEmpty(qcResultAlgVORes)) {
                     for (QcResultAlgVO qcResultAlgVO : qcResultAlgVORes) {
@@ -216,6 +237,7 @@ public class QcresultInfoFacade extends QcresultInfoServiceImpl {
                         qcresultDetail.setGmtModified(now);
                         qcresultDetail.setModifier(useId.toString());
                         qcresultDetail.setInfo(StringUtil.isNotBlank(qcResultAlgVO.getInfo()) ? qcResultAlgVO.getInfo() : "");
+                        qcresultDetail.setQcresultInfoId(newId);
                         qcresultDetailList.add(qcresultDetail);
                     }
                     qcresultDetailServiceImpl.saveBatch(qcresultDetailList);
@@ -233,6 +255,7 @@ public class QcresultInfoFacade extends QcresultInfoServiceImpl {
                 qcresultDetailAdd.setCreator(useId.toString());
                 qcresultDetailAdd.setGmtModified(now);
                 qcresultDetailAdd.setModifier(useId.toString());
+                qcresultDetailAdd.setQcresultInfoId(newId);
                 qcresultDetailServiceImpl.save(qcresultDetailAdd);
                 break;
             case 2:
@@ -261,18 +284,18 @@ public class QcresultInfoFacade extends QcresultInfoServiceImpl {
                 break;
             case 4:
                 //获取病历核查人员id,该操作只能是核查员操作
-                Long checkId = medCheckInfoFacade.getOne(new QueryWrapper<MedCheckInfo>()
-                        .eq("is_deleted", IsDeleteEnum.N.getKey())
-                        .eq("hospital_id", analyzeVO.getHospitalId())
-                        .eq("behospital_code", analyzeVO.getBehospitalCode())).getCheckId();
-                if(checkId==null)
-                {
-                    throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "病历没有分配核查人员");
-                }
-                if(!checkId.equals(useId))
-                {
-                    throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "当前用户不是分配的核查人员");
-                }
+//                Long checkId = medCheckInfoFacade.getOne(new QueryWrapper<MedCheckInfo>()
+//                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+//                        .eq("hospital_id", analyzeVO.getHospitalId())
+//                        .eq("behospital_code", analyzeVO.getBehospitalCode())).getCheckId();
+//                if(checkId==null)
+//                {
+//                    throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "病历没有分配核查人员");
+//                }
+//                if(!checkId.equals(useId))
+//                {
+//                    throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "当前用户不是分配的核查人员");
+//                }
                 //逻辑删除质控明细 0删除
                 if(analyzeVO.getDelStatus()==0)
                 {
@@ -337,6 +360,7 @@ public class QcresultInfoFacade extends QcresultInfoServiceImpl {
                 medQcresultCases.setCreator(useId.toString());
                 medQcresultCases.setGmtModified(now);
                 medQcresultCases.setModifier(useId.toString());
+                medQcresultCases.setQcresultInfoId(newId);
                 medQcresultCasesList.add(medQcresultCases);
             }
             medQcresultCasesService.saveBatch(medQcresultCasesList);

+ 7 - 5
src/main/java/com/diagbot/facade/RecordCheckFacade.java

@@ -78,9 +78,7 @@ public class RecordCheckFacade {
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("hospital_id", hospitalId)
                 .eq("station", "质管"));
-        if (deptInfo == null || deptInfo.getDeptId() == null) {
-            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "科室质管科不存在,请联系管理员!");
-        }
+
         List<Long> userIds = Lists.newArrayList();
         List<String> JobTypes = Lists.newArrayList();
         roleIds.forEach(roleId -> {
@@ -91,13 +89,17 @@ public class RecordCheckFacade {
             } else if (roleId.intValue() == CheckerRoleEnum.QUAT_SUPERVISOR.getKey()
                     && (ListUtil.isEmpty(checkedRecordListVO.getCheckJobTypes()) || checkedRecordListVO.getCheckJobTypes().contains(CheckJobTypeEnum.QUAT_SUPERVISOR.getKey() + ""))) {
                 //添加质管科人员
-                deptIds.add(deptInfo.getDeptId());
+                if (deptInfo != null || deptInfo.getDeptId() != null) {
+                    deptIds.add(deptInfo.getDeptId());
+                }
                 userIds.addAll(getUserIdsOfRoleId(hospitalId, deptIds, CheckerRoleEnum.QUAT_GENERAL.getKey()));
                 JobTypes.add(CheckJobTypeEnum.QUAT_SUPERVISOR.getKey() + "");
             } else if (roleId.intValue() == CheckerRoleEnum.DEPT_SUPERVISOR.getKey() && ListUtil.isNotEmpty(deptIds)
                     && (ListUtil.isEmpty(checkedRecordListVO.getCheckJobTypes()) || checkedRecordListVO.getCheckJobTypes().contains(CheckJobTypeEnum.DEPT_SUPERVISOR.getKey() + ""))) {
                 //移除质管科人员
-                deptIds.remove(deptInfo.getDeptId());
+                if (deptInfo != null || deptInfo.getDeptId() != null) {
+                    deptIds.remove(deptInfo.getDeptId());
+                }
                 JobTypes.add(CheckJobTypeEnum.DEPT_SUPERVISOR.getKey() + "");
                 userIds.addAll(getUserIdsOfRoleId(hospitalId, deptIds, CheckerRoleEnum.DEPT_GENERAL.getKey()));
             } else if ((roleId.intValue() == CheckerRoleEnum.DEPT_GENERAL.getKey() && ListUtil.isNotEmpty(deptIds))

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

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.DeptMedoup;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 科室与医疗组关联表 Mapper 接口
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+public interface DeptMedoupMapper extends BaseMapper<DeptMedoup> {
+
+}

+ 1 - 1
src/main/java/com/diagbot/mapper/MedCheckInfoMapper.java

@@ -38,5 +38,5 @@ public interface MedCheckInfoMapper extends BaseMapper<MedCheckInfo> {
 
     IPage<CheckedRecordListDTO> checkedRecordList(CheckedRecordListVO checkedRecordListVO);
     //获取核查人员用户科室、姓名、角色
-    List<CheckUserDTO> getCheckUser(CheckUserVO checkUserVOS);
+    List<DeptCheckUserDTO> getCheckUser(CheckUserVO checkUserVOS);
 }

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

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.Medoup;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 医疗组表 Mapper 接口
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+public interface MedoupMapper extends BaseMapper<Medoup> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.MedoupUser;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 医疗组与医生关联表 Mapper 接口
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+public interface MedoupUserMapper extends BaseMapper<MedoupUser> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.RegionDept;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 病区与科室关联表 Mapper 接口
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+public interface RegionDeptMapper extends BaseMapper<RegionDept> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.Region;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 病区表 Mapper 接口
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+public interface RegionMapper extends BaseMapper<Region> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.DeptMedoup;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 科室与医疗组关联表 服务类
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+public interface DeptMedoupService extends IService<DeptMedoup> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.Medoup;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 医疗组表 服务类
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+public interface MedoupService extends IService<Medoup> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.MedoupUser;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 医疗组与医生关联表 服务类
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+public interface MedoupUserService extends IService<MedoupUser> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.RegionDept;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 病区与科室关联表 服务类
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+public interface RegionDeptService extends IService<RegionDept> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.Region;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 病区表 服务类
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+public interface RegionService extends IService<Region> {
+
+}

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

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.DeptMedoup;
+import com.diagbot.mapper.DeptMedoupMapper;
+import com.diagbot.service.DeptMedoupService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 科室与医疗组关联表 服务实现类
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+@Service
+public class DeptMedoupServiceImpl extends ServiceImpl<DeptMedoupMapper, DeptMedoup> implements DeptMedoupService {
+
+}

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

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.Medoup;
+import com.diagbot.mapper.MedoupMapper;
+import com.diagbot.service.MedoupService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 医疗组表 服务实现类
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+@Service
+public class MedoupServiceImpl extends ServiceImpl<MedoupMapper, Medoup> implements MedoupService {
+
+}

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

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.MedoupUser;
+import com.diagbot.mapper.MedoupUserMapper;
+import com.diagbot.service.MedoupUserService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 医疗组与医生关联表 服务实现类
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+@Service
+public class MedoupUserServiceImpl extends ServiceImpl<MedoupUserMapper, MedoupUser> implements MedoupUserService {
+
+}

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

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.RegionDept;
+import com.diagbot.mapper.RegionDeptMapper;
+import com.diagbot.service.RegionDeptService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 病区与科室关联表 服务实现类
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+@Service
+public class RegionDeptServiceImpl extends ServiceImpl<RegionDeptMapper, RegionDept> implements RegionDeptService {
+
+}

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

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.Region;
+import com.diagbot.mapper.RegionMapper;
+import com.diagbot.service.RegionService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 病区表 服务实现类
+ * </p>
+ *
+ * @author zhanghang
+ * @since 2021-10-20
+ */
+@Service
+public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements RegionService {
+
+}

+ 1 - 0
src/main/java/com/diagbot/vo/AnalyzeVO.java

@@ -12,6 +12,7 @@ import lombok.Data;
 public class AnalyzeVO {
 
     private String behospitalCode; // 病历id
+    private Long qcresultInfoId; // 病历主表id
     @ApiModelProperty(hidden = true)
     private Long hospitalId; //医院ID
     @ApiModelProperty(hidden = true)

+ 5 - 1
src/main/java/com/diagbot/vo/CheckJobPageVO.java

@@ -43,8 +43,12 @@ public class CheckJobPageVO extends Page implements Serializable {
     @ApiModelProperty("主诊断医生")
     private String doctorName;
     //科室id集合
-    @ApiModelProperty(hidden = true)
+    @ApiModelProperty("科室id集合")
     private List<String> deptList;
+    @ApiModelProperty("病区集合")
+    private List<String> wardList;
+    @ApiModelProperty("医疗组集合")
+    private List<String> medoupList;
     //筛选分值集合
     @ApiModelProperty("筛选分值集合")
     private List<String> values;

+ 5 - 0
src/main/java/com/diagbot/vo/CheckUserVO.java

@@ -1,5 +1,6 @@
 package com.diagbot.vo;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.List;
@@ -19,6 +20,10 @@ public class CheckUserVO {
     private List<Long> roleIds;
     //用户科室集合
     private List<String> deptIds;
+    @ApiModelProperty("病区编号集合")
+    private List<String> region;
+    @ApiModelProperty("医疗组编号集合")
+    private List<String> medoup;
     //医院
     private Long hospitalId;
     //核查状态 0未核查1核查

+ 16 - 0
src/main/java/com/diagbot/vo/CheckWorkPageVO.java

@@ -57,11 +57,21 @@ public class CheckWorkPageVO extends Page implements Serializable {
     @ApiModelProperty("病人住院序号")
     private String behospitalCode;
 
+    /**
+     * 病区编号集合
+     */
+    @ApiModelProperty("病区编号集合")
+    private List<String> region;
     /**
      * 科室编号集合
      */
     @ApiModelProperty("科室编号集合")
     private List<String> department;
+    /**
+     * 医疗组编号集合
+     */
+    @ApiModelProperty("医疗组编号集合")
+    private List<String> medoup;
     /**
      * 病人住院序号集合
      */
@@ -80,6 +90,12 @@ public class CheckWorkPageVO extends Page implements Serializable {
     @ApiModelProperty("病人姓名")
     private String name;
 
+    /**
+     * 医生id
+     */
+    @ApiModelProperty("医生id")
+    private List<String> doctorIds;
+
     /**
      * 医生姓名
      */

+ 5 - 0
src/main/java/com/diagbot/vo/CheckedRecordListVO.java

@@ -89,6 +89,11 @@ public class CheckedRecordListVO extends Page implements Serializable {
     @ApiModelProperty(hidden = true)
     private String currentDeptIds;
 
+    @ApiModelProperty("病区编号")
+    private String regionCode;
+
+    @ApiModelProperty("医疗组编号")
+    private String medoupCode;
     /**
      * 当前用户下级普通质控员Id集合
      */

+ 3 - 2
src/main/java/com/diagbot/web/MedCheckInfoController.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.CheckDeptDTO;
 import com.diagbot.dto.CheckJobDTO;
+import com.diagbot.dto.CheckWardDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.MedCheckInfoFacade;
 import com.diagbot.facade.MedCheckWorkFacade;
@@ -59,8 +60,8 @@ public class MedCheckInfoController {
             notes = "获取核查人员列表")
     @PostMapping("/getCheckUserMap")
     @SysLogger("getCheckUserMap")
-    public RespDTO<Map<String, List<CheckDeptDTO>>> getCheckUserMap() {
-        Map<String, List<CheckDeptDTO>> userInfoMap = medCheckInfoFacade.getCheckUserMap();
+    public RespDTO<Map<String, List<CheckWardDTO>>> getCheckUserMap() {
+        Map<String, List<CheckWardDTO>> userInfoMap = medCheckInfoFacade.getCheckUserMap();
         return RespDTO.onSuc(userInfoMap);
     }
 

+ 16 - 0
src/main/java/com/diagbot/web/MedCheckWorkController.java

@@ -4,6 +4,8 @@ package com.diagbot.web;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.CheckWorkDTO;
+import com.diagbot.dto.RegionDTO;
+import com.diagbot.dto.RegionMedoupDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.MedCheckWorkFacade;
 import com.diagbot.vo.CheckWorkPageVO;
@@ -17,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  *
  * @author songxl
@@ -50,7 +54,9 @@ public class MedCheckWorkController {
                     "jobType:核查任务类型(0-科室任务 1-质控科 2-院级) <br>" +
                     "hospitalId: 医院ID<br>" +
                     "behospitalCode:病人住院序号<br>" +
+                    "region:病区<br>" +
                     "departments:科室<br>" +
+                    "medoup:医疗组<br>" +
                     "level:病历等级<br>" +
                     "name:病人姓名<br>" +
                     "doctorName:医生姓名<br>" +
@@ -64,4 +70,14 @@ public class MedCheckWorkController {
         IPage<CheckWorkDTO> data = medCheckworkFacade.pageFac(checkWorkPageVO);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "获取当前用户所属病区医疗组信息[by:wangsy]",
+            notes = "")
+    @PostMapping("/getLocalRegionMedoup")
+    @SysLogger("getLocalRegionMedoup")
+    public RespDTO<RegionMedoupDTO> getLocalRegionMedoup() {
+        RegionMedoupDTO data = medCheckworkFacade.getLocalRegionMedoup();
+        return RespDTO.onSuc(data);
+    }
+
 }

+ 1 - 1
src/main/resources/application-dev.yml

@@ -59,7 +59,7 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.236:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      url: jdbc:mysql://192.168.2.237:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
       username: root
       password: lantone
       # 连接池的配置信息

+ 1 - 1
src/main/resources/bootstrap.yml

@@ -2,7 +2,7 @@ spring:
   application:
     name: mrqc-sys
   profiles:
-    active: test
+    active: dev
   main:
     allow-bean-definition-overriding: true
 

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

@@ -693,6 +693,9 @@
         and a.id = c.cases_entry_id and a.mode_id = b.id
         AND c.cases_id = d.cases_id and c.hospital_id = d.hospital_id
         and c.hospital_id = #{hospitalId}
+        <if test="qcresultInfoId != null">
+            AND c.qcresult_info_id = #{qcresultInfoId}
+        </if>
         and c.behospital_code = #{behospitalCode}
         order by b.order_no, c.grade_type desc, a.order_no) a
         LEFT JOIN sys_user u  on u.id = a.modifier  and u.is_deleted = 'N'

+ 18 - 0
src/main/resources/mapper/DeptMedoupMapper.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.DeptMedoupMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.DeptMedoup">
+        <id column="id" property="id" />
+        <result column="dept_id" property="deptId" />
+        <result column="medoup_code" property="medoupCode" />
+        <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>

+ 155 - 33
src/main/resources/mapper/MedCheckInfoMapper.xml

@@ -26,7 +26,14 @@
         <result column="job_distribution_time" property="jobDistributionTime" />
     </resultMap>
     <!--获取核查人员用户科室、姓名、角色-->
-    <select id="getCheckUser" resultType="com.diagbot.dto.CheckUserDTO">
+    <select id="getCheckUser" resultType="com.diagbot.dto.DeptCheckUserDTO">
+        SELECT DISTINCT
+        a.*, r.`code` wardCode,
+        r.`name` wardName,
+        m.`code` medoupCode,
+        m.`name` medoupName
+        FROM
+        (
         SELECT DISTINCT
         a.id doctorId,
         a.linkman doctorName,
@@ -57,16 +64,46 @@
             </foreach>
         </if>
         order by c.dept_id
+        ) a
+        LEFT JOIN sys_region_dept rd ON rd.dept_id = a.deptId
+        AND rd.is_deleted = 'N'
+        LEFT JOIN sys_region r ON r.`code` = rd.region_code
+        AND r.is_deleted = 'N'
+        LEFT JOIN sys_medoup_user mu ON mu.user_id = a.doctorId
+        AND mu.is_deleted = 'N'
+        LEFT JOIN sys_medoup m ON m.`code` = mu.medoup_code
+        AND m.is_deleted = 'N'
+        WHERE
+        1 = 1
+        <if test="region !=null and region.size()!=0 ">
+            AND r.`code` IN
+            <foreach collection="region" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="medoup !=null and medoup.size()!=0 ">
+            AND m.`code` IN
+            <foreach collection="medoup" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+
     </select>
     <!--核查人员通过id获取核查人员的核查任务数-->
     <select id="getDeptJobNumByUserId" resultType="com.diagbot.dto.DeptCheckUserDTO">
         SELECT
-        a.beh_dept_id deptId ,
+        a.ward_code wardCode,
+        a.beh_dept_id deptId,
+        u.medoup_code medoupCode,
         b.check_id doctorId,
-        count(*) as jobNum,
+        count(*) AS jobNum,
         b.`status`
-        from
-        med_behospital_info a LEFT JOIN med_check_info b on a.behospital_code = b.behospital_code and a.hospital_id = b.hospital_id
+        FROM
+        med_behospital_info a
+        LEFT JOIN bas_doctor_info d ON d.doctor_id = a.doctor_id AND d.hospital_id = a.hospital_id AND d.is_deleted = 'N'
+        LEFT JOIN med_check_info b ON a.behospital_code = b.behospital_code
+        AND a.hospital_id = b.hospital_id
+        LEFT JOIN sys_medoup_user u ON u.user_id = b.check_id AND u.is_deleted = 'N'
         where b.is_deleted = 'N' and a.is_deleted = 'N' and b.job_distribution_name is not null  and b.`status` is not null
         <if test="jobType != null ">
             and b.job_type = #{jobType}
@@ -91,7 +128,7 @@
             </foreach>
         </if>
         <if test="jobType ==0">
-            GROUP BY a.beh_dept_id,b.check_id,b.`status`
+            GROUP BY a.ward_code,a.beh_dept_id,u.medoup_code,b.check_id,b.`status`
         </if>
         <if test="jobType ==1 or jobType ==2">
             GROUP BY b.check_id,b.`status`
@@ -110,7 +147,11 @@
         b.`value`,
         a.id,
         a.beh_dept_id behospitalDeptId,
-        a.job_create_time jobCreateTime
+        a.job_create_time jobCreateTime,
+        a.wardCode,
+        a.wardName,
+        a.medoupCode,
+        a.medoupName
         from
         (select
             a.behospital_code,
@@ -121,9 +162,17 @@
             a.hospital_id,
             a.beh_dept_id,
             b.job_create_time,
-            b.id
+            b.id,
+            a.ward_code wardCode,
+            a.ward_name wardName,
+            m.`code` medoupCode,
+            m.`name` medoupName
             from
             med_behospital_info a ,med_check_info b
+            LEFT JOIN sys_medoup_user mu ON mu.user_id = b.job_creator
+            AND mu.is_deleted = 'N'
+            LEFT JOIN sys_medoup m ON m.`code` = mu.medoup_code
+            AND m.is_deleted = 'N'
               where a.behospital_code = b.behospital_code and a.hospital_id = b.hospital_id and a.is_deleted = 'N'
                 and b.is_deleted = 'N' and b.job_distribution_name is NULL  and b.`status` = 0
                 <if test="jobType !=null and jobType != ''">
@@ -157,6 +206,18 @@
                         #{item}
                     </foreach>
                 </if>
+                <if test="wardList !=null and wardList.size()!=0 ">
+                    AND a.ward_code in
+                    <foreach collection="wardList" item="item" open="(" close=")" separator=",">
+                        #{item}
+                    </foreach>
+                </if>
+                <if test="medoupList !=null and medoupList.size()!=0 ">
+                    AND mu.medoup_code in
+                    <foreach collection="medoupList" item="item" open="(" close=")" separator=",">
+                        #{item}
+                    </foreach>
+                </if>
         ) a  JOIN med_behospital_type b on a.behospital_code = b.behospital_code
         and a.hospital_id = b.hospital_id and b.is_deleted = 'N' and  b.`value` is not null
         <if test="values !=null and values.size()!=0 ">
@@ -236,42 +297,74 @@
         mbi.`name`,
         mbi.file_code fileCode,
         mbi.sex,
-        TIMESTAMPDIFF(day,ifnull(mhp.birthday,mbi.birthday),mbi.behospital_date) as birthday,
+        TIMESTAMPDIFF(
+        DAY,
+        ifnull(mhp.birthday, mbi.birthday),
+        mbi.behospital_date
+        ) AS birthday,
         mhp.age,
+        mbi.ward_code wardCode,
+        mbi.ward_name wardName,
+        mbi.beh_dept_id deptId,
         mbi.beh_dept_name behDeptName,
         mbi.leave_hospital_date leaveHospitalDate,
-        mhp.behospital_day_num+0 behospitalDayNum,
+        mhp.behospital_day_num + 0 behospitalDayNum,
+        mbi.doctor_id doctorId,
         mbi.doctor_name doctorName,
         mqi.score_res scoreRes,
         mqi.`level`,
         mbi.diagnose,
-        CASE WHEN mbt.behospital_type='出院病人' THEN '6'
-        WHEN mbt.behospital_type='死亡病人' THEN '6'
-        WHEN mbt.behospital_type='危重病人' THEN '4'
-        WHEN mbt.behospital_type='抢救病人' THEN '5'
-        WHEN mbt.behospital_type='手术病人' THEN '2'
-        WHEN mbt.behospital_type='疑难病人' THEN '3'
-        WHEN mbt.behospital_type='输血病人' THEN '4' ELSE '0' END AS score,
-        CASE WHEN ISNULL(mci.job_create_time) THEN '未生成' ELSE '已生成' END AS creatStatus,
+        CASE
+        WHEN mbt.behospital_type = '出院病人' THEN
+        '6'
+        WHEN mbt.behospital_type = '死亡病人' THEN
+        '6'
+        WHEN mbt.behospital_type = '危重病人' THEN
+        '4'
+        WHEN mbt.behospital_type = '抢救病人' THEN
+        '5'
+        WHEN mbt.behospital_type = '手术病人' THEN
+        '2'
+        WHEN mbt.behospital_type = '疑难病人' THEN
+        '3'
+        WHEN mbt.behospital_type = '输血病人' THEN
+        '4'
+        ELSE
+        '0'
+        END AS score,
+        CASE
+        WHEN ISNULL(mci.job_create_time) THEN
+        '未生成'
+        ELSE
+        '已生成'
+        END AS creatStatus,
         mci.job_create_time jobCreateTime,
         mci.job_creator jobCreator,
         mci.job_creator_name jobCreatorName,
         mci.check_time checkTime,
-        mci.job_distribution_time jobDistributionTime
+        mci.job_distribution_time jobDistributionTime,
+        medoup.`code` medoupCode,
+        medoup.`name` medoupName
         FROM
         med_behospital_info mbi
-        LEFT JOIN med_home_page mhp
-        ON mbi.behospital_code=mhp.behospital_code
-        AND mbi.hospital_id = mhp.hospital_id AND mhp.is_deleted = 'N'
-        LEFT JOIN med_check_info mci
-        ON mbi.behospital_code = mci.behospital_code
-        AND mbi.hospital_id = mci.hospital_id AND mci.is_deleted = 'N'
-        LEFT JOIN med_qcresult_info mqi
-        ON mbi.behospital_code = mqi.behospital_code
-        AND mbi.hospital_id = mqi.hospital_id AND mqi.is_deleted = 'N'
+        LEFT JOIN med_home_page mhp ON mbi.behospital_code = mhp.behospital_code
+        AND mbi.hospital_id = mhp.hospital_id
+        AND mhp.is_deleted = 'N'
+        LEFT JOIN bas_doctor_info doctor ON doctor.doctor_id = mbi.beh_doctor_id
+        AND doctor.is_deleted = 'N'
+        LEFT JOIN sys_medoup medoup ON medoup.`code` = doctor.group_id
+        AND medoup.is_deleted = 'N'
+        LEFT JOIN med_check_info mci ON mbi.behospital_code = mci.behospital_code
+        AND mbi.hospital_id = mci.hospital_id
+        AND mci.is_deleted = 'N'
+        LEFT JOIN med_qcresult_info mqi ON mbi.behospital_code = mqi.behospital_code
+        AND mbi.hospital_id = mqi.hospital_id
+        AND mqi.is_deleted = 'N'
         JOIN med_behospital_type mbt ON mbi.behospital_code = mbt.behospital_code
-        AND mbi.hospital_id = mbt.hospital_id AND mbt.is_deleted = 'N'
-        WHERE mbi.hospital_id=#{hospitalId} AND mbi.is_deleted = 'N' and mqi.score_res is not null
+        AND mbi.hospital_id = mbt.hospital_id
+        AND mbt.is_deleted = 'N'
+        WHERE
+        mbi.hospital_id=#{hospitalId} AND mbi.is_deleted = 'N' and mqi.score_res is not null
         AND mci.check_id is null
         <if test="startDate != null">
             <![CDATA[ AND mbi.leave_hospital_date >= #{startDate}]]>
@@ -324,6 +417,18 @@
                 #{item}
             </foreach>
         </if>
+        <if test="doctorIds !=null and doctorIds.size > 0">
+            and mbi.doctor_id IN
+            <foreach collection="doctorIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="region !=null and region.size > 0">
+            AND mbi.ward_code IN
+            <foreach collection="region" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
     </select>
 
     <!--通过住院号,取消核查任务-->
@@ -341,8 +446,12 @@
         (select
         b.behospital_code as behospitalCode,
         a.`status` as status,
-        b.beh_dept_id as behDeptId,
-        b.beh_dept_name as behDeptName,
+        b.ward_code wardCode,
+        b.ward_name wardName,
+        b.beh_dept_id AS behDeptId,
+        b.beh_dept_name AS behDeptName,
+        medoup.`code` medoupCode,
+        medoup.`name` medoupName,
         b.`name` as name,
         b.file_code as fileCode,
         b.doctor_name as doctorName,
@@ -361,7 +470,11 @@
         case when a.job_type='0' and FIND_IN_SET(b.beh_dept_id,#{currentDeptIds})=0 then 0 else 1 end as isDel
         from med_check_info a join med_behospital_info b on a.hospital_id=b.hospital_id and
         a.behospital_code=b.behospital_code
-        join med_qcresult_info c on b.hospital_id=c.hospital_id and b.behospital_code=c.behospital_code and
+        LEFT JOIN bas_doctor_info doctor ON doctor.doctor_id = b.beh_doctor_id
+        AND doctor.is_deleted = 'N'
+        LEFT JOIN sys_medoup medoup ON medoup.`code` = doctor.group_id
+        AND medoup.is_deleted = 'N'
+        JOIN med_qcresult_info c on b.hospital_id=c.hospital_id and b.behospital_code=c.behospital_code and
         b.is_deleted='N' and c.is_deleted = 'N'
         where a.hospital_id=#{hospitalId} and a.is_deleted='N'
         and b.hospital_id=#{hospitalId} and b.is_deleted='N'
@@ -376,6 +489,15 @@
         <if test="behDeptId!=null and behDeptId!=''">
             and b.beh_dept_id=#{behDeptId}
         </if>
+        <if test="regionCode!=null and regionCode!=''">
+            and b.ward_code = #{regionCode}
+        </if>
+        <if test="regionCode!=null and regionCode!=''">
+            and b.ward_code = #{regionCode}
+        </if>
+        <if test="medoupCode!=null and medoupCode!=''">
+            and medoup.`code` = #{medoupCode}
+        </if>
         <if test="name!=null and name!=''">
             and b.`name` like concat('%',#{name},'%')
         </if>

+ 1 - 0
src/main/resources/mapper/MedQcresultCasesMapper.xml

@@ -7,6 +7,7 @@
         <id column="id" property="id" />
         <result column="hospital_id" property="hospitalId" />
         <result column="behospital_code" property="behospitalCode" />
+        <result column="qcresult_info_id" property="qcresultInfoId" />
         <result column="cases_id" property="casesId" />
         <result column="score_res" property="scoreRes" />
         <result column="level" property="level" />

+ 18 - 0
src/main/resources/mapper/MedoupMapper.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.MedoupMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.Medoup">
+        <id column="id" property="id" />
+        <result column="code" property="code" />
+        <result column="name" property="name" />
+        <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>

+ 18 - 0
src/main/resources/mapper/MedoupUserMapper.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.MedoupUserMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.MedoupUser">
+        <id column="id" property="id" />
+        <result column="medoup_code" property="medoupCode" />
+        <result column="user_id" property="userId" />
+        <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>

+ 1 - 0
src/main/resources/mapper/QcresultDetailMapper.xml

@@ -7,6 +7,7 @@
         <id column="id" property="id" />
         <result column="hospital_id" property="hospitalId" />
         <result column="behospital_code" property="behospitalCode" />
+        <result column="qcresult_info_id" property="qcresultInfoId" />
         <result column="cases_id" property="casesId" />
         <result column="cases_score" property="casesScore" />
         <result column="cases_entry_id" property="casesEntryId" />

+ 20 - 0
src/main/resources/mapper/RegionDeptMapper.xml

@@ -0,0 +1,20 @@
+<?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.RegionDeptMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.RegionDept">
+        <id column="id" property="id" />
+        <result column="hospital_id" property="hospitalId" />
+        <result column="region_id" property="regionCode" />
+        <result column="dept_id" property="deptId" />
+        <result column="order_no" property="orderNo" />
+        <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>

+ 24 - 0
src/main/resources/mapper/RegionMapper.xml

@@ -0,0 +1,24 @@
+<?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.RegionMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.Region">
+        <id column="id" property="id" />
+        <result column="hospital_id" property="hospitalId" />
+        <result column="hospital_name" property="hospitalName" />
+        <result column="code" property="code" />
+        <result column="name" property="name" />
+        <result column="spell" property="spell" />
+        <result column="station" property="station" />
+        <result column="order_no" property="orderNo" />
+        <result column="status" property="status" />
+        <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>

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

@@ -49,14 +49,14 @@ public class CodeGeneration {
         dsc.setDriverName("com.mysql.cj.jdbc.Driver");
         dsc.setUsername("root");
         dsc.setPassword("lantone");
-        dsc.setUrl("jdbc:mysql://192.168.2.236:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8");
+        dsc.setUrl("jdbc:mysql://192.168.2.237:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8");
         mpg.setDataSource(dsc);
 
         // 策略配置
         StrategyConfig strategy = new StrategyConfig();
-//        strategy.setTablePrefix(new String[] { "med_" });// 此处可以修改为您的表前缀
+        strategy.setTablePrefix(new String[] { "sys_" });// 此处可以修改为您的表前缀
         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "med_check_info"}); // 需要生成的表
+        strategy.setInclude(new String[] { "sys_medoup_user"}); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);