|
@@ -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());
|
|
|
+// }
|
|
|
+// }
|
|
|
+// });
|
|
|
+// });
|
|
|
+// }
|
|
|
+// });
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
|