Browse Source

分配、核查列表页改为通过医生获取核查病历

songxinlu 3 years ago
parent
commit
2cc22698a6

+ 5 - 14
src/main/java/com/diagbot/facade/MedCheckInfoFacade.java

@@ -614,7 +614,7 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
             CheckUserVO checkUserVO = new CheckUserVO();
             checkUserVO.setJobType(CheckJobTypeEnum.DEPT_SUPERVISOR.getKey());
             checkUserVO.setUserList(doctorIds);
-            checkUserVO.setDeptIds(deptIds);
+//            checkUserVO.setDeptIds(deptIds);
             //通过核查人员id获取核查人员的核查任务数
             List<DeptCheckUserDTO> userJobs = baseMapper.getDeptJobNumByUserId(checkUserVO);
             componentCheckInfo(checkRoleMap, checkUserDTOS, userJobs);
@@ -643,16 +643,10 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
                             )
                     );
             //核查员任务数
-            Map<String, Map<String, Map<String, List<DeptCheckUserDTO>>>> checkUserJobMap = userJobs.stream()
+            Map<String, List<DeptCheckUserDTO>> checkUserJobMap = userJobs.stream()
                     .collect(
                             Collectors.groupingBy(
-                                    DeptCheckUserDTO::getWardCode, //通过病区分组
-                                    Collectors.groupingBy(
-                                            DeptCheckUserDTO::getDeptId, //通过科室分组
-                                            Collectors.groupingBy(
-                                                    DeptCheckUserDTO::getMedoupCode //通过医疗组分组
-                                            )
-                                    )
+                                    DeptCheckUserDTO::getDoctorId //通过医生分组
                             )
                     );
 
@@ -675,12 +669,9 @@ 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(deptCheckUserDTO.getDoctorId())) {
                                 //添加任务数
-                                checkUserJobMap.get(wardCode).get(deptId).get(medoupCode).forEach(userJob -> {
+                                checkUserJobMap.get(deptCheckUserDTO.getDoctorId()).forEach(userJob -> {
                                     //判断同一人
                                     if (deptCheckUserDTO.getDoctorId().equals(userJob.getDoctorId())) {
                                         if (userJob.getStatus() == 0) {

+ 2 - 5
src/main/resources/mapper/MedCheckInfoMapper.xml

@@ -93,9 +93,6 @@
     <!--核查人员通过id获取核查人员的核查任务数-->
     <select id="getDeptJobNumByUserId" resultType="com.diagbot.dto.DeptCheckUserDTO">
         SELECT
-        a.ward_code wardCode,
-        a.beh_dept_id deptId,
-        doctor.group_id medoupCode,
         b.check_id doctorId,
         count(*) AS jobNum,
         b.`status`
@@ -134,7 +131,7 @@
             </foreach>
         </if>
         <if test="jobType ==0">
-            GROUP BY a.ward_code,a.beh_dept_id,doctor.group_id,b.check_id,b.`status`
+            GROUP BY b.check_id,b.`status`
         </if>
         <if test="jobType ==1 or jobType ==2">
             GROUP BY b.check_id,b.`status`
@@ -565,7 +562,7 @@
             </foreach>
         </if>
         ) t1 left join med_qcresult_detail t2 on t1.behospitalCode=t2.behospital_code and t2.hospital_id=#{hospitalId} and t2.is_deleted='N'
-        where isDel>0
+
         group by t1.behospitalCode
     </select>