Forráskód Böngészése

质控核查分配核查任务--获取待分配核查任务列表接口改成分页

songxinlu 4 éve
szülő
commit
29c3c71c07

+ 45 - 15
src/main/java/com/diagbot/facade/MedCheckInfoFacade.java

@@ -3,6 +3,7 @@ package com.diagbot.facade;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.DeptCheckUserDTO;
@@ -146,13 +147,9 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
      * @Return java.util.Map<java.lang.String,java.util.List<com.diagbot.dto.CheckDeptDTO>>
      * @MethodName getCheckUserMap
      */
-    public List<CheckJobDTO> getUserCheckList(CheckJobVO checkJobVO) {
-        //非空校验
-        if(StringUtil.isBlank(checkJobVO.getStartTime())&&StringUtil.isBlank(checkJobVO.getEndTime())
-        &&StringUtil.isBlank(checkJobVO.getBehosDateStart())&&StringUtil.isBlank(checkJobVO.getBehosDateEnd()))
-        {
-            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "没有时间区间!");
-        }
+    public IPage<CheckJobDTO> getUserCheckList(CheckJobVO checkJobVO) {
+        //校验
+        userCheckPageSet(checkJobVO);
         //质控管理员要判断该角色是否是质控科
         //1.获取质控科id
         //获取人员id 和 该人员的医院id
@@ -167,11 +164,10 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
         List<Long> roleIds = sysUserRoleFacade.list(new QueryWrapper<SysUserRole>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("user_id", principleId)
-                .in("role_id",checkRoleIds)
         ).stream().distinct().map(SysUserRole::getRoleId).collect(Collectors.toList());
         List<Long> searchRoleIds = new ArrayList<>();
         //当前用户是监管人员或者是超级管理员
-        if(roleIds.contains(-1))
+        if(roleIds.contains(-1L))
         {
             searchRoleIds.addAll(checkRoleIds);
         }
@@ -203,7 +199,7 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
             //3.判断这个人是否在质控科
             if(deptIds.contains(zkkDeptId))
             {
-                return baseMapper.getCheckList(checkJobVO);
+                return getCheckList(checkJobVO);
             }
         }
         //临床科室监管人员
@@ -218,7 +214,7 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
             if(deptIds.isEmpty()){
                 checkJobVO.setDeptList(deptIds);
             }
-            return baseMapper.getCheckList(checkJobVO);
+            return getCheckList(checkJobVO);
         }
         //院级监管人员
         else if(searchRoleIds.contains(6L)&&"1".equals(checkJobVO.getJobType()))
@@ -244,14 +240,49 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
                     checkJobVO.setDeptList(deptIds);
                 }
             }
-            return baseMapper.getCheckList(checkJobVO);
+            return getCheckList(checkJobVO);
         }
         else
         {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该用户的角色和任务类型不对应!");
         }
-       return new ArrayList<>();
+       return null;
+    }
+    /**
+     * @Author songxl
+     * @Description 待分配列表页面校验
+     * @Date  2021/5/18
+     * @Param [checkJobVO]
+     * @Return void
+     * @MethodName userCheckPageSet
+     */
+    private void userCheckPageSet(CheckJobVO checkJobVO) {
+        if(StringUtil.isBlank(checkJobVO.getStartTime())&&StringUtil.isBlank(checkJobVO.getEndTime())
+                &&StringUtil.isBlank(checkJobVO.getBehosDateStart())&&StringUtil.isBlank(checkJobVO.getBehosDateEnd()))
+        {
+            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "没有时间区间!");
+        }
+        if(StringUtil.isBlank(checkJobVO.getJobType()))
+        {
+            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "没有任务类型!");
+        }
+        if(StringUtil.isNotBlank(checkJobVO.getBehosDateStart())&&StringUtil.isNotBlank(checkJobVO.getBehosDateEnd()))
+        {
+            if (DateUtil.after(DateUtil.parseDate(checkJobVO.getBehosDateStart()),
+                    DateUtil.parseDate(checkJobVO.getBehosDateEnd()))) {
+                throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "出院时间的开始时间必须小于结束时间!");
+            }
+        }
+        if(StringUtil.isNotBlank(checkJobVO.getStartTime())&&StringUtil.isNotBlank(checkJobVO.getEndTime()))
+        {
+            if (DateUtil.after(DateUtil.parseDate(checkJobVO.getStartTime()),
+                    DateUtil.parseDate(checkJobVO.getEndTime()))) {
+                throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "任务生成的开始时间必须小于结束时间!");
+            }
+        }
+
     }
+
     /**
      * @Author songxl
      * @Description 获取操作用户的核查科室以及科室核查人员
@@ -275,11 +306,10 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
         List<Long> roleIds = sysUserRoleFacade.list(new QueryWrapper<SysUserRole>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("user_id", principleId)
-                .in("role_id",checkRoleIds)
         ).stream().distinct().map(SysUserRole::getRoleId).collect(Collectors.toList());
         List<Long> searchRoleIds = new ArrayList<>();
         //当前用户是监管人员或者是超级管理员
-        if(roleIds.contains(-1))
+        if(roleIds.contains(-1L))
         {
                searchRoleIds.addAll(checkRoleIds);
         }

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

@@ -21,10 +21,10 @@ import java.util.List;
  * @since 2020-07-06
  */
 public interface MedCheckInfoMapper extends BaseMapper<MedCheckInfo> {
+    //获取未分配的核查任务
+    IPage<CheckJobDTO> getCheckList(CheckJobVO checkJobVO);
     //通过核查人员id获取核查人员的核查任务数
     List<DeptCheckUserDTO> getJobNumByUserId(CheckUserVO checkUserVO);
-    //获取未分配的核查任务
-    List<CheckJobDTO> getCheckList(CheckJobVO checkJobVO);
     //核查任务列表
     IPage<CheckWorkDTO> getCheckWorkPage(CheckWorkPageVO checkWorkPageVO);
     //获取指定核查人员的核查任务

+ 2 - 0
src/main/java/com/diagbot/service/MedCheckInfoService.java

@@ -1,5 +1,6 @@
 package com.diagbot.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.CheckJobDTO;
 import com.diagbot.dto.DeptCheckUserDTO;
 import com.diagbot.entity.MedCheckInfo;
@@ -18,4 +19,5 @@ import java.util.List;
  * @since 2020-07-06
  */
 public interface MedCheckInfoService extends IService<MedCheckInfo> {
+    public IPage<CheckJobDTO> getCheckList(CheckJobVO checkJobVO);
 }

+ 6 - 0
src/main/java/com/diagbot/service/impl/MedCheckInfoServiceImpl.java

@@ -1,11 +1,13 @@
 package com.diagbot.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.CheckJobDTO;
 import com.diagbot.dto.CheckWorkDTO;
 import com.diagbot.entity.MedCheckInfo;
 import com.diagbot.mapper.MedCheckInfoMapper;
 import com.diagbot.service.MedCheckInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.vo.CheckJobVO;
 import com.diagbot.vo.CheckWorkPageVO;
 import org.springframework.stereotype.Service;
 
@@ -29,4 +31,8 @@ public class MedCheckInfoServiceImpl extends ServiceImpl<MedCheckInfoMapper, Med
     public int deleteBatchCodes(List<String> list){
         return baseMapper.deleteBatchCodes(list);
     }
+    @Override
+    public IPage<CheckJobDTO> getCheckList(CheckJobVO checkJobVO) {
+        return baseMapper.getCheckList(checkJobVO);
+    }
 }

+ 5 - 1
src/main/java/com/diagbot/vo/CheckJobVO.java

@@ -1,7 +1,10 @@
 package com.diagbot.vo;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.io.Serializable;
 import java.util.List;
 
 /**
@@ -10,7 +13,7 @@ import java.util.List;
  * @time: 2021/05/17
  */
 @Data
-public class CheckJobVO {
+public class CheckJobVO extends Page implements Serializable {
     //生成开始时间
     private String startTime;
     //生成任务结束时间
@@ -30,6 +33,7 @@ public class CheckJobVO {
     //主诊断医生
     private String doctorName;
     //科室id集合
+    @ApiModelProperty(hidden = true)
     private List<String> deptList;
 
 

+ 3 - 2
src/main/java/com/diagbot/web/MedCheckInfoController.java

@@ -1,6 +1,7 @@
 package com.diagbot.web;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.CheckDeptDTO;
 import com.diagbot.dto.CheckJobDTO;
@@ -69,8 +70,8 @@ public class MedCheckInfoController {
                     "jobType:核查任务类型 必填 0-科室任务 1-院级 2-质控科<br>" )
     @PostMapping("/getCheckList")
     @SysLogger("getCheckList")
-    public RespDTO<List<CheckJobDTO>> getCheckList(@RequestBody CheckJobVO checkJobVO) {
-        List<CheckJobDTO> userInfos = medCheckInfoFacade.getUserCheckList(checkJobVO);
+    public RespDTO<IPage<CheckJobDTO>> getCheckList(@RequestBody CheckJobVO checkJobVO) {
+        IPage<CheckJobDTO> userInfos = medCheckInfoFacade.getUserCheckList(checkJobVO);
         return RespDTO.onSuc(userInfos);
     }