Browse Source

Merge remote-tracking branch 'origin/20211018_yw_check' into 20211018_yw_check

chengyao 3 years ago
parent
commit
7640694263

+ 6 - 77
src/main/java/com/diagbot/entity/BasDoctorInfo.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.util.Date;
@@ -14,6 +15,7 @@ import java.util.Date;
  * @author gaodm
  * @since 2020-04-17
  */
+@Data
 public class BasDoctorInfo implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -48,6 +50,10 @@ public class BasDoctorInfo implements Serializable {
      * 职业医师资格
      */
     private String occup;
+    /**
+     * 职业医师资格
+     */
+    private String groupId;
 
     /**
      * 是否删除,N:未删除,Y:删除
@@ -74,83 +80,6 @@ public class BasDoctorInfo implements Serializable {
      */
     private String modifier;
 
-    public String getDoctorId() {
-        return doctorId;
-    }
-
-    public void setDoctorId(String doctorId) {
-        this.doctorId = doctorId;
-    }
-    public Long getHospitalId() {
-        return hospitalId;
-    }
-
-    public void setHospitalId(Long hospitalId) {
-        this.hospitalId = hospitalId;
-    }
-    public String getDeptId() {
-        return deptId;
-    }
-
-    public void setDeptId(String deptId) {
-        this.deptId = deptId;
-    }
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-    public String getProfessor() {
-        return professor;
-    }
-
-    public void setProfessor(String professor) {
-        this.professor = professor;
-    }
-    public String getOccup() {
-        return occup;
-    }
-
-    public void setOccup(String occup) {
-        this.occup = occup;
-    }
-    public String getIsDeleted() {
-        return isDeleted;
-    }
-
-    public void setIsDeleted(String isDeleted) {
-        this.isDeleted = isDeleted;
-    }
-    public Date getGmtCreate() {
-        return gmtCreate;
-    }
-
-    public void setGmtCreate(Date gmtCreate) {
-        this.gmtCreate = gmtCreate;
-    }
-    public Date getGmtModified() {
-        return gmtModified;
-    }
-
-    public void setGmtModified(Date 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;
-    }
 
     @Override
     public String toString() {

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

@@ -1,146 +0,0 @@
-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 +
-        "}";
-    }
-}

+ 47 - 47
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -302,53 +302,53 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
             }
             //新增如果当前用户不是核查人员返回标志位用户核查按钮、修改、删除、隐藏显示
             //1.获取病历核查人员id,该操作只能是核查员操作
-            List<MedCheckInfo> medCheckInfos = medCheckInfoFacade.list(new QueryWrapper<MedCheckInfo>()
-                    .eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .eq("hospital_id", hospitalId)
-                    .eq("behospital_code", getDetailVO.getBehospitalCode()));
-            if (medCheckInfos.size() == 1 && medCheckInfos.get(0).getCheckId() != null
-                    && medCheckInfos.get(0).getCheckId().equals(Long.parseLong(SysUserUtils.getCurrentPrincipleID()))) {
-                //2.1获取核查类型,判断当前用户有没有对应核查类型的角色
-                int jobType = medCheckInfoFacade.list(new QueryWrapper<MedCheckInfo>()
-                        .eq("is_deleted", IsDeleteEnum.N.getKey())
-                        .eq("behospital_code", getDetailVO.getBehospitalCode())
-                        .eq("hospital_id", hospitalId)
-                        .eq("check_id", SysUserUtils.getCurrentPrincipleID())).get(0).getJobType();
-                //2.2获取用户角色
-                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());
-                switch (jobType) {
-                    case 0:
-                        if (roleIds.contains(CheckerRoleEnum.DEPT_GENERAL.getKey() * 1l)) {
-                            res.put("checkShow", 1);
-                        } else {
-                            res.put("checkShow", 0);
-                        }
-                        break;
-                    case 1:
-                        if (roleIds.contains(CheckerRoleEnum.QUAT_GENERAL.getKey() * 1l)) {
-                            res.put("checkShow", 1);
-                        } else {
-                            res.put("checkShow", 0);
-                        }
-                        break;
-                    case 2:
-                        if (roleIds.contains(CheckerRoleEnum.HOSP_GENERAL.getKey() * 1l)) {
-                            res.put("checkShow", 1);
-                        } else {
-                            res.put("checkShow", 0);
-                        }
-                        break;
-                    default:
-                        res.put("checkShow", 0);
-                        break;
-                }
-
-            } else {
-                res.put("checkShow", 0);
-            }
+//            List<MedCheckInfo> medCheckInfos = medCheckInfoFacade.list(new QueryWrapper<MedCheckInfo>()
+//                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+//                    .eq("hospital_id", hospitalId)
+//                    .eq("behospital_code", getDetailVO.getBehospitalCode()));
+//            if (medCheckInfos.size() == 1 && medCheckInfos.get(0).getCheckId() != null
+//                    && medCheckInfos.get(0).getCheckId().equals(Long.parseLong(SysUserUtils.getCurrentPrincipleID()))) {
+//                //2.1获取核查类型,判断当前用户有没有对应核查类型的角色
+//                int jobType = medCheckInfoFacade.list(new QueryWrapper<MedCheckInfo>()
+//                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+//                        .eq("behospital_code", getDetailVO.getBehospitalCode())
+//                        .eq("hospital_id", hospitalId)
+//                        .eq("check_id", SysUserUtils.getCurrentPrincipleID())).get(0).getJobType();
+//                //2.2获取用户角色
+//                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());
+//                switch (jobType) {
+//                    case 0:
+//                        if (roleIds.contains(CheckerRoleEnum.DEPT_GENERAL.getKey() * 1l)) {
+//                            res.put("checkShow", 1);
+//                        } else {
+//                            res.put("checkShow", 0);
+//                        }
+//                        break;
+//                    case 1:
+//                        if (roleIds.contains(CheckerRoleEnum.QUAT_GENERAL.getKey() * 1l)) {
+//                            res.put("checkShow", 1);
+//                        } else {
+//                            res.put("checkShow", 0);
+//                        }
+//                        break;
+//                    case 2:
+//                        if (roleIds.contains(CheckerRoleEnum.HOSP_GENERAL.getKey() * 1l)) {
+//                            res.put("checkShow", 1);
+//                        } else {
+//                            res.put("checkShow", 0);
+//                        }
+//                        break;
+//                    default:
+//                        res.put("checkShow", 0);
+//                        break;
+//                }
+//
+//            } else {
+//                res.put("checkShow", 0);
+//            }
             //获取用户角色,如果用户包含核查角色显示核查相关按钮(不管病历是否生成、分配,只要有质控角色就显示核查对应按钮)
             List<Long> roleIds = sysUserRoleFacade.list(new QueryWrapper<SysUserRole>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())

+ 32 - 19
src/main/java/com/diagbot/facade/MedCheckInfoFacade.java

@@ -6,12 +6,11 @@ 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.BasDoctorInfo;
 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;
@@ -24,7 +23,6 @@ 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;
@@ -72,7 +70,7 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
     @Autowired
     DeptMedoupServiceImpl deptMedoupService;
     @Autowired
-    MedoupUserServiceImpl medoupUserService;
+    BasDoctorInfoFacade medoupUserService;
 
 
     /**
@@ -236,20 +234,26 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
                     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)
+                            .in(ListUtil.isNotEmpty(deptIds), "dept_id", deptIds)
                     ).stream().map(RegionDept::getRegionCode).collect(Collectors.toList());
-                    if (ListUtil.isNotEmpty(wards)){
+                    if (ListUtil.isNotEmpty(wards)) {
                         checkJobVO.setWardList(wards);
                     }
+
                     //医疗组
-                    List<String> medoups = medoupUserService.list(new QueryWrapper<MedoupUser>()
+                    List<String> doctorIds = sysUserFacade.list(new QueryWrapper<SysUser>()
                             .eq("is_deleted", IsDeleteEnum.N.getKey())
-                            .eq("user_id", principleId)
-                    ).stream().map(MedoupUser::getMedoupCode).collect(Collectors.toList());
-                    if (ListUtil.isNotEmpty(medoups)){
-                        checkJobVO.setMedoupList(medoups);
+                            .eq("id", principleId)
+                    ).stream().map(SysUser::getUsername).collect(Collectors.toList());
+                    if (ListUtil.isNotEmpty(doctorIds)) {
+                        List<String> medoups = medoupUserService.list(new QueryWrapper<BasDoctorInfo>()
+                                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                                .in("doctor_id", doctorIds)
+                        ).stream().map(BasDoctorInfo::getGroupId).collect(Collectors.toList());
+                        if (ListUtil.isNotEmpty(medoups)) {
+                            checkJobVO.setMedoupList(medoups);
+                        }
                     }
-
                     return getCheckList(checkJobVO);
                 }
                 //院区获取
@@ -605,10 +609,19 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
                 .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>()
+        List<String> userNames = sysUserFacade.list(new QueryWrapper<SysUser>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .in("user_id", principleId)).stream().map(MedoupUser::getMedoupCode).collect(Collectors.toList());
-        checkUserVOS.setMedoup(medoupCodes);
+                .eq("id", principleId)
+        ).stream().map(SysUser::getUsername).collect(Collectors.toList());
+        if (ListUtil.isNotEmpty(userNames)) {
+            List<String> medoups = medoupUserService.list(new QueryWrapper<BasDoctorInfo>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .in("doctor_id", userNames)
+            ).stream().map(BasDoctorInfo::getGroupId).collect(Collectors.toList());
+            if (ListUtil.isNotEmpty(medoups)) {
+                checkUserVOS.setMedoup(medoups);
+            }
+        }
         //获取所有的科室核查人员
         List<DeptCheckUserDTO> checkUserDTOS = baseMapper.getCheckUser(checkUserVOS);
         //2.1获取科室详情
@@ -684,10 +697,10 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
                         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)
-                                    ){
+                            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 -> {
                                     //判断同一人

+ 30 - 23
src/main/java/com/diagbot/facade/MedCheckWorkFacade.java

@@ -11,11 +11,9 @@ 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;
@@ -24,14 +22,11 @@ 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;
@@ -42,9 +37,7 @@ import com.diagbot.vo.CheckWorkPageVO;
 import com.diagbot.vo.MedCheckWorkAddVO;
 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;
@@ -88,7 +81,7 @@ public class MedCheckWorkFacade {
     @Autowired
     private MedoupServiceImpl medoupService;
     @Autowired
-    private MedoupUserServiceImpl medoupUserService;
+    private BasDoctorInfoFacade medoupUserService;
     @Autowired
     private BasDoctorInfoFacade basDoctorInfoFacade;
 
@@ -320,18 +313,24 @@ public class MedCheckWorkFacade {
 //            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 {
+            if (ListUtil.isEmpty(checkWorkPageVO.getMedoup())) {
+                List<String> doctorIds = sysUserFacade.list(new QueryWrapper<SysUser>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("id", SysUserUtils.getCurrentPrincipleID())
+                ).stream().map(SysUser::getUsername).collect(Collectors.toList());
+                if (ListUtil.isNotEmpty(doctorIds)) {
+                    codes = medoupUserService.list(new QueryWrapper<BasDoctorInfo>()
+                            .eq("is_deleted", IsDeleteEnum.N.getKey())
+                            .in("doctor_id", doctorIds)
+                    ).stream().map(BasDoctorInfo::getGroupId).collect(Collectors.toList());
+                }
+            } else {
                 codes = checkWorkPageVO.getMedoup();
             }
-            if(ListUtil.isNotEmpty(codes)){
+            if (ListUtil.isNotEmpty(codes)) {
                 List<BasDoctorInfo> basDoctorInfos = basDoctorInfoFacade.list(new QueryWrapper<BasDoctorInfo>()
-                        .in("group_id",codes)
-                        .eq("is_deleted",IsDeleteEnum.N.getKey()));
+                        .in("group_id", codes)
+                        .eq("is_deleted", IsDeleteEnum.N.getKey()));
                 checkWorkPageVO.setDoctorIds(basDoctorInfos.stream().map(BasDoctorInfo::getDoctorId).collect(Collectors.toList()));
             }
         }
@@ -392,16 +391,24 @@ public class MedCheckWorkFacade {
     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());
+//            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());
+            List<String> medoupCodes = null;
+            List<String> doctorIds = sysUserFacade.list(new QueryWrapper<SysUser>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("id", SysUserUtils.getCurrentPrincipleID())
+            ).stream().map(SysUser::getUsername).collect(Collectors.toList());
+            if (ListUtil.isNotEmpty(doctorIds)) {
+                medoupCodes = medoupUserService.list(new QueryWrapper<BasDoctorInfo>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .in("doctor_id", doctorIds)
+                ).stream().map(BasDoctorInfo::getGroupId).collect(Collectors.toList());
+            }
+
+            if (ListUtil.isNotEmpty(medoupCodes)) {
                 //通过code获取医疗组详情
                 if (ListUtil.isNotEmpty(medoupCodes)) {
                     List<Medoup> medoupTemps = medoupService.list(new QueryWrapper<Medoup>()

+ 40 - 3
src/main/java/com/diagbot/facade/RecordCheckFacade.java

@@ -8,6 +8,8 @@ import com.diagbot.dto.SysUserDeptDTO;
 import com.diagbot.entity.BasDeptInfo;
 import com.diagbot.entity.MedBehospitalType;
 import com.diagbot.entity.MedCheckInfo;
+import com.diagbot.entity.SysRole;
+import com.diagbot.entity.SysUser;
 import com.diagbot.entity.SysUserDept;
 import com.diagbot.entity.SysUserRole;
 import com.diagbot.enums.CheckJobTypeEnum;
@@ -29,6 +31,7 @@ import com.diagbot.vo.SysUserBaseVO;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.userdetails.User;
 import org.springframework.stereotype.Component;
 
 import java.util.HashMap;
@@ -51,6 +54,8 @@ public class RecordCheckFacade {
     @Autowired
     SysUserRoleFacade sysUserRoleFacade;
     @Autowired
+    SysRoleFacade sysRoleFacade;
+    @Autowired
     MedCheckInfoFacade medCheckInfoFacade;
     @Autowired
     MedQcresultDetailService medQcresultDetailService;
@@ -162,14 +167,46 @@ public class RecordCheckFacade {
         Long hospitalId = Long.parseLong(SysUserUtils.getCurrentHospitalID());
         Long userId = Long.parseLong(SysUserUtils.getCurrentPrincipleID());
 
+        //获取核查监管相关角色id
+        List<Long> checkRoleIds = sysRoleFacade.list(new QueryWrapper<SysRole>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .like("name", "质控人员")
+        ).stream().map(SysRole::getId).collect(Collectors.toList());
+        //查询该角色的所有角色id
+        List<Long> roleIds = sysUserRoleFacade.list(new QueryWrapper<SysUserRole>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("user_id", userId)
+        ).stream().distinct().map(SysUserRole::getRoleId).collect(Collectors.toList());
+        if (ListUtil.isNotEmpty(checkRoleIds)) {
+            checkRoleIds.retainAll(roleIds);
+        }
+
+        if (ListUtil.isEmpty(checkRoleIds)) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "您暂无核查权限,请联系管理员~");
+        }
+        //获取判断是否有生成分配的核查任务
         QueryWrapper<MedCheckInfo> medCheckInfoQueryWrapper = new QueryWrapper<>();
         medCheckInfoQueryWrapper.eq("behospital_code", recordCheckVO.getBehospitalCode());
         medCheckInfoQueryWrapper.eq("hospital_id", hospitalId);
-        medCheckInfoQueryWrapper.eq("check_id", userId);
-        medCheckInfoQueryWrapper.eq("check_type", CheckTypeEnum.ALL.getKey());
+//        medCheckInfoQueryWrapper.eq("check_id", userId);
+//        medCheckInfoQueryWrapper.eq("check_type", CheckTypeEnum.ALL.getKey());
         MedCheckInfo medCheckInfo = medCheckInfoFacade.getOne(medCheckInfoQueryWrapper);
         if (medCheckInfo == null) {
-            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该数据您暂无核查权限!");
+            MedCheckInfo insertCheckInfo = new MedCheckInfo();
+            insertCheckInfo.setBehospitalCode(recordCheckVO.getBehospitalCode());
+            insertCheckInfo.setCheckId(userId);
+            SysUser user = sysUserFacade.getOne(new QueryWrapper<SysUser>()
+                    .eq("id", userId)
+                    .eq("is_deleted", IsDeleteEnum.N.getKey()));
+            if (user != null) {
+                insertCheckInfo.setCheckName(user.getLinkman());
+            }
+            insertCheckInfo.setCheckType(CheckTypeEnum.ALL.getKey());
+            insertCheckInfo.setHospitalId(hospitalId);
+            insertCheckInfo.setStatus(1);
+            insertCheckInfo.setCheckTime(DateUtil.now());
+            return medCheckInfoFacade.save(insertCheckInfo);
+
         }
 
         medCheckInfo.setStatus(1);

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

@@ -1,16 +0,0 @@
-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> {
-
-}

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

@@ -1,16 +0,0 @@
-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> {
-
-}

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

@@ -1,20 +0,0 @@
-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 {
-
-}

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

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

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

@@ -10,6 +10,7 @@
         <result column="name" property="name" />
         <result column="professor" property="professor" />
         <result column="occup" property="occup" />
+        <result column="group_id" property="groupId" />
         <result column="is_deleted" property="isDeleted" />
         <result column="gmt_create" property="gmtCreate" />
         <result column="gmt_modified" property="gmtModified" />

+ 19 - 11
src/main/resources/mapper/MedCheckInfoMapper.xml

@@ -36,6 +36,7 @@
         (
         SELECT DISTINCT
         a.id doctorId,
+        a.username,
         a.linkman doctorName,
         c.dept_id deptId,
         d.dept_name deptName
@@ -69,9 +70,9 @@
         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
+        LEFT JOIN bas_doctor_info mu ON mu.doctor_id = a.username
         AND mu.is_deleted = 'N'
-        LEFT JOIN sys_medoup m ON m.`code` = mu.medoup_code
+        LEFT JOIN sys_medoup m ON m.`code` = mu.group_id
         AND m.is_deleted = 'N'
         WHERE
         1 = 1
@@ -94,16 +95,21 @@
         SELECT
         a.ward_code wardCode,
         a.beh_dept_id deptId,
-        u.medoup_code medoupCode,
+        doctor.group_id medoupCode,
         b.check_id doctorId,
         count(*) AS jobNum,
         b.`status`
         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 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'
+        LEFT JOIN sys_user u ON u.id = b.check_id
+        AND u.is_deleted = 'N'
+        LEFT JOIN bas_doctor_info doctor ON u.username = doctor.doctor_id
+        AND doctor.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}
@@ -128,7 +134,7 @@
             </foreach>
         </if>
         <if test="jobType ==0">
-            GROUP BY a.ward_code,a.beh_dept_id,u.medoup_code,b.check_id,b.`status`
+            GROUP BY a.ward_code,a.beh_dept_id,doctor.group_id,b.check_id,b.`status`
         </if>
         <if test="jobType ==1 or jobType ==2">
             GROUP BY b.check_id,b.`status`
@@ -169,9 +175,11 @@
             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
+            LEFT JOIN sys_user u ON u.id = b.job_creator AND
+            u.is_deleted = 'N'
+            LEFT JOIN bas_doctor_info mu ON mu.doctor_id = u.username
             AND mu.is_deleted = 'N'
-            LEFT JOIN sys_medoup m ON m.`code` = mu.medoup_code
+            LEFT JOIN sys_medoup m ON m.`code` = mu.group_id
             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
@@ -213,7 +221,7 @@
                     </foreach>
                 </if>
                 <if test="medoupList !=null and medoupList.size()!=0 ">
-                    AND mu.medoup_code in
+                    AND mu.group_id in
                     <foreach collection="medoupList" item="item" open="(" close=")" separator=",">
                         #{item}
                     </foreach>
@@ -350,7 +358,7 @@
         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
+        LEFT JOIN bas_doctor_info doctor ON doctor.doctor_id = mbi.doctor_id
         AND doctor.is_deleted = 'N'
         LEFT JOIN sys_medoup medoup ON medoup.`code` = doctor.group_id
         AND medoup.is_deleted = 'N'
@@ -470,7 +478,7 @@
         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
-        LEFT JOIN bas_doctor_info doctor ON doctor.doctor_id = b.beh_doctor_id
+        LEFT JOIN bas_doctor_info doctor ON doctor.doctor_id = b.doctor_id
         AND doctor.is_deleted = 'N'
         LEFT JOIN sys_medoup medoup ON medoup.`code` = doctor.group_id
         AND medoup.is_deleted = 'N'

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

@@ -1,18 +0,0 @@
-<?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>