|
@@ -207,11 +207,12 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
|
|
|
.eq("user_id",principleId)
|
|
|
).stream().map(SysUserDept::getDeptId).collect(Collectors.toList());
|
|
|
//3.判断这个人是否在质控科
|
|
|
- if(deptIds.contains(zkkDeptId))
|
|
|
- {
|
|
|
- //质控科任务分配列表是任务类型是质控科的任务与科室无关
|
|
|
- return getCheckList(checkJobVO);
|
|
|
- }
|
|
|
+// if(deptIds.contains(zkkDeptId))
|
|
|
+// {
|
|
|
+//
|
|
|
+// }
|
|
|
+ //质控科任务分配列表是任务类型是质控科的任务与科室无关
|
|
|
+ return getCheckList(checkJobVO);
|
|
|
}
|
|
|
//临床科室监管人员 或 院级监管人员
|
|
|
else if(searchRoleIds.contains(CheckerRoleEnum.DEPT_SUPERVISOR.getKey()*1l)
|
|
@@ -262,7 +263,6 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
|
|
|
{
|
|
|
throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该用户的角色和任务类型不对应!");
|
|
|
}
|
|
|
- return null;
|
|
|
}
|
|
|
/**
|
|
|
* @Author songxl
|
|
@@ -411,18 +411,29 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
|
|
|
Map<String,String> deptMap = basDeptInfoFacade.list(new QueryWrapper<BasDeptInfo>()
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
.eq("hospital_id",hospitalId)
|
|
|
+ .eq("station","住院")
|
|
|
.in("dept_id",deptIds)).stream()
|
|
|
.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());
|
|
|
- CheckUserVO checkUserVO = new CheckUserVO();
|
|
|
- checkUserVO.setJobType(CheckJobTypeEnum.HOSP_SUPERVISOR.getKey());
|
|
|
- checkUserVO.setUserList(doctorIds);
|
|
|
- checkUserVO.setDeptIds(new ArrayList<>(deptMap.keySet()));
|
|
|
- //通过核查人员id获取核查人员的核查任务数
|
|
|
- List<DeptCheckUserDTO> userJobs = baseMapper.getJobNumByUserId(checkUserVO);
|
|
|
+ List<DeptCheckUserDTO> userJobs = new ArrayList<>();
|
|
|
+ if(checkUserDTOS!=null&&!checkUserDTOS.isEmpty()){
|
|
|
+ checkUserDTOS.stream().forEach(checkUserDTO->{
|
|
|
+ CheckUserVO checkUserVO = new CheckUserVO();
|
|
|
+ checkUserVO.setJobType(CheckJobTypeEnum.HOSP_SUPERVISOR.getKey());
|
|
|
+ checkUserVO.setUserList(Lists.newArrayList(checkUserDTO.getDoctorId()));
|
|
|
+ checkUserVO.setDeptIds(Lists.newArrayList(checkUserDTO.getDeptId()));
|
|
|
+ //通过核查人员id获取核查人员的核查任务数
|
|
|
+ DeptCheckUserDTO temp = baseMapper.getOtherJobNumByUserId(checkUserVO);
|
|
|
+ if(temp!=null)
|
|
|
+ {
|
|
|
+ temp.setDeptId(checkUserDTO.getDeptId());
|
|
|
+ userJobs.add(temp);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
addCheckInfoMaps(checkRoleMap,deptMap,userJobs,checkUserDTOS,CheckerRoleEnum.HOSP_SUPERVISOR.getKey());
|
|
|
}
|
|
|
else {
|
|
@@ -478,12 +489,22 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
|
|
|
{
|
|
|
//2.3获取质控科核查人员的核查数
|
|
|
List<String> doctorIds = checkUserDTOS.stream().map(CheckUserDTO::getDoctorId).collect(Collectors.toList());
|
|
|
- CheckUserVO checkUserVO = new CheckUserVO();
|
|
|
- checkUserVO.setJobType(CheckJobTypeEnum.QUAT_SUPERVISOR.getKey());
|
|
|
- checkUserVO.setUserList(doctorIds);
|
|
|
- checkUserVO.setDeptIds(Lists.newArrayList(zkkDeptId));
|
|
|
- //通过核查人员id获取核查人员的核查任务数
|
|
|
- List<DeptCheckUserDTO> userJobs = baseMapper.getJobNumByUserId(checkUserVO);
|
|
|
+ List<DeptCheckUserDTO> userJobs = new ArrayList<>();
|
|
|
+ if(doctorIds!=null&&!doctorIds.isEmpty())
|
|
|
+ {
|
|
|
+ doctorIds.stream().forEach(userid->{
|
|
|
+ CheckUserVO checkUserVO = new CheckUserVO();
|
|
|
+ checkUserVO.setJobType(CheckJobTypeEnum.QUAT_SUPERVISOR.getKey());
|
|
|
+ checkUserVO.setUserList(Lists.newArrayList(userid));
|
|
|
+ //通过核查人员id获取核查人员的核查任务数
|
|
|
+ DeptCheckUserDTO temp = baseMapper.getOtherJobNumByUserId(checkUserVO);
|
|
|
+ if(temp!=null)
|
|
|
+ {
|
|
|
+ temp.setDeptId(zkkDeptId);
|
|
|
+ userJobs.add(temp);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
addCheckInfoMaps(checkRoleMap,deptMap,userJobs,checkUserDTOS,CheckerRoleEnum.QUAT_SUPERVISOR.getKey());
|
|
|
}
|
|
|
else {
|
|
@@ -536,7 +557,7 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
|
|
|
checkUserVO.setUserList(doctorIds);
|
|
|
checkUserVO.setDeptIds(deptIds);
|
|
|
//通过核查人员id获取核查人员的核查任务数
|
|
|
- List<DeptCheckUserDTO> userJobs = baseMapper.getJobNumByUserId(checkUserVO);
|
|
|
+ List<DeptCheckUserDTO> userJobs = baseMapper.getDeptJobNumByUserId(checkUserVO);
|
|
|
addCheckInfoMaps(checkRoleMap,deptMap,userJobs,checkUserDTOS,CheckerRoleEnum.DEPT_SUPERVISOR.getKey());
|
|
|
}
|
|
|
else {
|
|
@@ -648,10 +669,19 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
|
|
|
{
|
|
|
throw new CommonException(CommonErrorCode.PARAM_IS_NULL,"入参为空");
|
|
|
}
|
|
|
+ if(StringUtil.isNotBlank(distributionJobVO.getCheckDept())){
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL,"核查人科室(checkDept)为空");
|
|
|
+ }
|
|
|
+ if(distributionJobVO.getBehospitalDepts()==null
|
|
|
+ ||distributionJobVO.getBehospitalDepts().isEmpty()){
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL,"核查任务科室集合(behospitalDepts)为空");
|
|
|
+ }
|
|
|
+ if(StringUtil.isEmpty(distributionJobVO.getJobType()))
|
|
|
+ {
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL,"核查任务类型(jobType)为空");
|
|
|
+ }
|
|
|
//全院的话要判断院级核查人员和核查病历不是同一科室
|
|
|
- if(StringUtil.isNotBlank(distributionJobVO.getCheckDept())
|
|
|
- &&distributionJobVO.getBehospitalDepts()!=null
|
|
|
- &&!distributionJobVO.getBehospitalDepts().isEmpty()){
|
|
|
+ if(CheckJobTypeEnum.HOSP_SUPERVISOR.getKey()==Integer.parseInt(distributionJobVO.getJobType())){
|
|
|
if(distributionJobVO.getBehospitalDepts().contains(distributionJobVO.getCheckDept())){
|
|
|
throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,"院级核查人员和核查病历是同一科室");
|
|
|
}
|