Ver código fonte

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

rengb 4 anos atrás
pai
commit
94ddccd5b8

+ 8 - 1
src/main/java/com/diagbot/dto/CheckWorkDTO.java

@@ -97,7 +97,11 @@ public class CheckWorkDTO {
     private Date jobCreateTime;
 
     /**
-     * 核查员
+     * 核查任务生成人编号
+     */
+    private Long jobCreator;
+    /**
+     * 核查任务生成人
      */
     private String jobCreatorName;
 
@@ -112,4 +116,7 @@ public class CheckWorkDTO {
      */
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date jobDistributionTime;
+
+    //取消分配标志
+    private Boolean delFlag = false;
 }

+ 37 - 36
src/main/java/com/diagbot/facade/MedCheckInfoFacade.java

@@ -448,45 +448,46 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
         {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "科室质管科不存在!");
         }
-        //2.获取监管人员所在科室集合
-        List<String> deptIds = sysUserDeptFacade.list(new QueryWrapper<SysUserDept>()
+//        //2.获取监管人员所在科室集合
+//        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());
+//        //3.判断这个人是否在质控科
+//        if(deptIds.contains(zkkDeptId))
+//        {
+//
+//
+//        }
+        CheckUserVO checkUserVOS = new CheckUserVO();
+        //质管科人员角色
+        checkUserVOS.setRoleIds(Lists.newArrayList(CheckerRoleEnum.QUAT_GENERAL.getKey()*1l));
+        //质管科
+        checkUserVOS.setDeptStations(Lists.newArrayList("质管"));
+        checkUserVOS.setDeptIds(Lists.newArrayList(zkkDeptId));
+        checkUserVOS.setHospitalId(hospitalId);
+        List<CheckUserDTO> checkUserDTOS = baseMapper.getCheckUser(checkUserVOS);
+        //2.1获取科室详情
+        Map<String,String> deptMap = basDeptInfoFacade.list(new QueryWrapper<BasDeptInfo>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("hospital_id",hospitalId)
-                .eq("user_id",principleId)
-        ).stream().map(SysUserDept::getDeptId).collect(Collectors.toList());
-        //3.判断这个人是否在质控科
-        if(deptIds.contains(zkkDeptId))
+                .in("dept_id",Lists.newArrayList(zkkDeptId))).stream()
+                .collect(Collectors.toMap(BasDeptInfo::getDeptId,BasDeptInfo::getDeptName, (v1, v2) -> v2));
+        if(deptMap!=null&&!deptMap.isEmpty())
         {
-            CheckUserVO checkUserVOS = new CheckUserVO();
-            //质管科人员角色
-            checkUserVOS.setRoleIds(Lists.newArrayList(CheckerRoleEnum.QUAT_GENERAL.getKey()*1l));
-            //质管科
-            checkUserVOS.setDeptStations(Lists.newArrayList("质管"));
-            checkUserVOS.setDeptIds(Lists.newArrayList(zkkDeptId));
-            checkUserVOS.setHospitalId(hospitalId);
-            List<CheckUserDTO> checkUserDTOS = baseMapper.getCheckUser(checkUserVOS);
-            //2.1获取科室详情
-            Map<String,String> deptMap = basDeptInfoFacade.list(new QueryWrapper<BasDeptInfo>()
-                    .eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .eq("hospital_id",hospitalId)
-                    .in("dept_id",Lists.newArrayList(zkkDeptId))).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.QUAT_SUPERVISOR.getKey());
-                checkUserVO.setUserList(doctorIds);
-                checkUserVO.setDeptIds(Lists.newArrayList(zkkDeptId));
-                //通过核查人员id获取核查人员的核查任务数
-                List<DeptCheckUserDTO> userJobs = baseMapper.getJobNumByUserId(checkUserVO);
-                addCheckInfoMaps(checkRoleMap,deptMap,userJobs,checkUserDTOS,CheckerRoleEnum.QUAT_SUPERVISOR.getKey());
-            }
-            else {
-                checkRoleMap.put(CheckerRoleEnum.QUAT_SUPERVISOR.getKey()+"",new ArrayList<>());
-            }
-
+            //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);
+            addCheckInfoMaps(checkRoleMap,deptMap,userJobs,checkUserDTOS,CheckerRoleEnum.QUAT_SUPERVISOR.getKey());
+        }
+        else {
+            checkRoleMap.put(CheckerRoleEnum.QUAT_SUPERVISOR.getKey()+"",new ArrayList<>());
         }
 
     }

+ 14 - 0
src/main/java/com/diagbot/facade/MedCheckWorkFacade.java

@@ -34,6 +34,7 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 
@@ -94,6 +95,11 @@ public class MedCheckWorkFacade {
                 throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL, "存在未生成核查任务!");
             }
 
+            Set<Long> creaters = list.stream().map(MedCheckInfo::getJobCreator).collect(Collectors.toSet());
+            if(creaters!=null&&!creaters.contains(principleId)||creaters!=null&&creaters.size()>1)
+            {
+                throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL, "只能取消本人生成任务!");
+            }
             int i = medCheckInfoFacade.getBaseMapper().deleteBatchCodes(medCheckWorkVO.getBehospitalCodeList());
             if (i != 0) {
                 return true;
@@ -246,6 +252,14 @@ public class MedCheckWorkFacade {
             }
             i.setAge(age);
         });
+        //更新delFlag
+        Long principleId = Long.valueOf(SysUserUtils.getCurrentPrincipleID());
+        res.getRecords().stream().forEach(checkWorkDTO -> {
+            if(principleId.equals(checkWorkDTO.getJobCreator()))
+            {
+                checkWorkDTO.setDelFlag(true);
+            }
+        });
         return res;
     }
 

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

@@ -228,6 +228,7 @@
         WHEN mbt.behospital_type='输血病人' THEN '4' ELSE '0' END AS score,
         CASE WHEN ISNULL(mci.job_create_time) THEN '未生成' ELSE '已生成' END AS creatStatus,
         mci.job_create_time jobCreateTime,
+        mci.job_creator jobCreator,
         mci.job_creator_name jobCreatorName,
         mci.check_time checkTime,
         mci.job_distribution_time jobDistributionTime