|
@@ -8,6 +8,7 @@ import com.diagbot.client.AuthServiceClient;
|
|
|
import com.diagbot.dto.*;
|
|
|
import com.diagbot.entity.*;
|
|
|
import com.diagbot.enums.CheckStatusEnum;
|
|
|
+import com.diagbot.enums.CheckerRoleEnum;
|
|
|
import com.diagbot.enums.IsDeleteEnum;
|
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
|
import com.diagbot.exception.CommonException;
|
|
@@ -170,7 +171,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
|
|
|
SysHospitalSetFacade sysHospitalSetFacade;
|
|
|
@Autowired
|
|
|
QcCasesRelevanceEntryFacade qcCasesRelevanceEntryFacade;
|
|
|
-
|
|
|
+ @Autowired
|
|
|
+ SysUserRoleFacade sysUserRoleFacade;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -295,15 +297,43 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
|
|
|
} else {
|
|
|
res.put("mrStatus", 0);
|
|
|
}
|
|
|
- //新增如果当前用户不是核查人员返回标志位用户核查按钮隐藏显示
|
|
|
- //获取病历核查人员id,该操作只能是核查员操作
|
|
|
+ //新增如果当前用户不是核查人员返回标志位用户核查按钮、修改、删除、隐藏显示
|
|
|
+ //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()))) {
|
|
|
- res.put("checkShow", 1);
|
|
|
+ //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);
|
|
|
}
|