Browse Source

Merge branch '20210512_yw_check' into test

rengb 4 years ago
parent
commit
5ec99d9a44

+ 12 - 19
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.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -97,12 +98,10 @@ public class MedCheckWorkFacade {
 
             //创建用户集合
             Set<Long> creaters = list.stream().map(MedCheckInfo::getJobCreator).collect(Collectors.toSet());
-            if(creaters!=null)
-            {
+            if (creaters != null) {
                 //移除当前用户如果还有其他用户
                 creaters.remove(principleId);
-                if(creaters.size()>0)
-                {
+                if (creaters.size() > 0) {
                     throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL, "无法取消他人生成任务!");
                 }
             }
@@ -234,19 +233,14 @@ public class MedCheckWorkFacade {
         if (res == null || ListUtil.isEmpty(res.getRecords())) {
             return res;
         }
-        List<String> behospitalCodes = res.getRecords().stream()
-                .map(CheckWorkDTO::getBehospitalCode).collect(Collectors.toList());
-        checkWorkPageVO.setBehospitalCodes(behospitalCodes);
-        List<CheckWorkDTO>  ageCheckWorkDTO = medCheckInfoFacade.getBaseMapper().getCheckWorkAgeByCodes(checkWorkPageVO);
-        res.getRecords().stream().forEach(checkWorkDTO -> {
-            ageCheckWorkDTO.stream().forEach(agecheckWork-> {
-                if(checkWorkDTO.getBehospitalCode().equals(agecheckWork.getBehospitalCode()))
-                {
-                    checkWorkDTO.setAgeYear(agecheckWork.getAgeYear());
-                    checkWorkDTO.setAgeMon(agecheckWork.getAgeMon());
-                    checkWorkDTO.setAgeDay(agecheckWork.getAgeDay());
-                }
-            });
+        List<String> behospitalCodes = res.getRecords().stream().map(CheckWorkDTO::getBehospitalCode).collect(Collectors.toList());
+        Map<String, CheckWorkDTO> ageMap = medCheckInfoFacade.getBaseMapper().getCheckWorkAgeByCodes(checkWorkPageVO.getHospitalId(), behospitalCodes).stream().collect(Collectors.toMap(i -> i.getBehospitalCode(), i -> i));
+        res.getRecords().stream().forEach(i -> {
+            if (ageMap.get(i.getBehospitalCode()) != null) {
+                i.setAgeYear(ageMap.get(i.getBehospitalCode()).getAgeYear());
+                i.setAgeMon(ageMap.get(i.getBehospitalCode()).getAgeMon());
+                i.setAgeDay(ageMap.get(i.getBehospitalCode()).getAgeDay());
+            }
         });
         res.getRecords().forEach(i -> {
             String age = "";
@@ -261,8 +255,7 @@ public class MedCheckWorkFacade {
         //更新delFlag
         Long principleId = Long.valueOf(SysUserUtils.getCurrentPrincipleID());
         res.getRecords().stream().forEach(checkWorkDTO -> {
-            if(principleId.equals(checkWorkDTO.getJobCreator()))
-            {
+            if (principleId.equals(checkWorkDTO.getJobCreator())) {
                 checkWorkDTO.setDelFlag(true);
             }
         });

+ 6 - 1
src/main/java/com/diagbot/facade/RecordCheckFacade.java

@@ -3,6 +3,7 @@ package com.diagbot.facade;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.CheckedRecordListDTO;
+import com.diagbot.dto.SysUserDeptDTO;
 import com.diagbot.entity.MedCheckInfo;
 import com.diagbot.entity.MedQcresultDetail;
 import com.diagbot.entity.SysUserDept;
@@ -53,7 +54,11 @@ public class RecordCheckFacade {
         SysUserBaseVO sysUserBaseVO = new SysUserBaseVO();
         sysUserBaseVO.setUserId(userId);
         List<Long> roleIds = sysUserFacade.getUserRoles(sysUserBaseVO).getSelRoles().stream().map(i -> i.getId()).collect(Collectors.toList());
-        List<String> deptIds = sysUserFacade.getUserDepts(sysUserBaseVO).getSelDepts().stream().map(i -> i.getDeptId()).collect(Collectors.toList());
+        List<String> deptIds = Lists.newArrayList();
+        SysUserDeptDTO sysUserDeptDTO = sysUserFacade.getUserDepts(sysUserBaseVO);
+        if (ListUtil.isNotEmpty(sysUserDeptDTO.getSelDepts())) {
+            deptIds.addAll(sysUserDeptDTO.getSelDepts().stream().map(i -> i.getDeptId()).collect(Collectors.toList()));
+        }
 
         List<Long> userIds = Lists.newArrayList();
         roleIds.forEach(roleId -> {

+ 1 - 1
src/main/java/com/diagbot/mapper/MedCheckInfoMapper.java

@@ -32,7 +32,7 @@ public interface MedCheckInfoMapper extends BaseMapper<MedCheckInfo> {
     //核查任务列表
     IPage<CheckWorkDTO> getCheckWorkPage(CheckWorkPageVO checkWorkPageVO);
     //获取核查任务年龄
-    List<CheckWorkDTO> getCheckWorkAgeByCodes(CheckWorkPageVO checkWorkPageVO);
+    List<CheckWorkDTO> getCheckWorkAgeByCodes(Long hospitalId, List<String> behospitalCodes);
     //获取指定核查人员的核查任务
     List<CheckJobDTO> getCheckListByUserId(CheckJobVO checkJobVO);
     //取消核查任务