Browse Source

核查任务列表

wangsy 4 năm trước cách đây
mục cha
commit
58eed60bdc

+ 91 - 0
src/main/java/com/diagbot/dto/CheckWorkDTO.java

@@ -0,0 +1,91 @@
+package com.diagbot.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @Description:
+ * @author: wangsy
+ * @time: 2021/5/13 15:00
+ */
+@Getter
+@Setter
+public class CheckWorkDTO {
+
+    /**
+     * 病人住院序号
+     */
+    private String behospitalCode;
+
+    /**
+     * 病人姓名
+     */
+    private String name;
+
+
+    /**
+     * 病案号
+     */
+    private String fileCode;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+    /**
+     * 年龄
+     */
+    private String age;
+
+    /**
+     * 科室
+     */
+    private String behospitalDept;
+
+    /**
+     * 出院日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date leaveHospitalDate;
+
+
+    /**
+     * 住院天数
+     */
+    private String behospitalDayNum;
+
+    /**
+     * 主管医生
+     */
+    private String attendingDoctor;
+
+    /**
+     * 病历等级
+     */
+    private String level;
+
+    /**
+     * 主诊断
+     */
+    private String diagnose;
+
+    /**
+     * 筛选分值
+     */
+    private String value;
+
+    /**
+     * 生成状态
+     */
+    private String creatStatus;
+
+    /**
+     * 生成日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date gmtCreate;
+}

+ 99 - 71
src/main/java/com/diagbot/facade/MedCheckWorkFacade.java

@@ -1,6 +1,8 @@
 package com.diagbot.facade;
 package com.diagbot.facade;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.CheckWorkDTO;
 import com.diagbot.dto.MedicalRecordDTO;
 import com.diagbot.dto.MedicalRecordDTO;
 import com.diagbot.entity.MedBehospitalType;
 import com.diagbot.entity.MedBehospitalType;
 import com.diagbot.entity.MedCheckWork;
 import com.diagbot.entity.MedCheckWork;
@@ -12,15 +14,11 @@ import com.diagbot.service.impl.MedicalRecordServiceImpl;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.SysUserUtils;
 import com.diagbot.util.SysUserUtils;
-import com.diagbot.vo.MedCheckWorkAddVO;
-import com.diagbot.vo.RecordContentVO;
-import com.diagbot.vo.RecordTypeVO;
-import com.diagbot.vo.TaskVO;
+import com.diagbot.vo.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 
 
@@ -32,15 +30,16 @@ import java.util.List;
 @Component
 @Component
 public class MedCheckWorkFacade extends MedCheckWorkServiceImpl {
 public class MedCheckWorkFacade extends MedCheckWorkServiceImpl {
     @Autowired
     @Autowired
-    private  MedCheckWorkServiceImpl medCheckWorkServiceImpl;
+    private MedCheckWorkServiceImpl medCheckWorkServiceImpl;
     @Autowired
     @Autowired
     private MedBehospitalTypeServiceImpl medBehospitalTypeServiceImpl;
     private MedBehospitalTypeServiceImpl medBehospitalTypeServiceImpl;
     @Autowired
     @Autowired
     private MedicalRecordServiceImpl medicalRecordServiceImpl;
     private MedicalRecordServiceImpl medicalRecordServiceImpl;
+
     /**
     /**
      * @Author songxl
      * @Author songxl
      * @Description 批量插入任务
      * @Description 批量插入任务
-     * @Date  2021/5/11
+     * @Date 2021/5/11
      * @Param [medCheckWorkVOList]
      * @Param [medCheckWorkVOList]
      * @Return java.lang.Boolean
      * @Return java.lang.Boolean
      * @MethodName addCheck
      * @MethodName addCheck
@@ -50,11 +49,10 @@ public class MedCheckWorkFacade extends MedCheckWorkServiceImpl {
         Long hospitalId = Long.parseLong(SysUserUtils.getCurrentHospitalID());
         Long hospitalId = Long.parseLong(SysUserUtils.getCurrentHospitalID());
         String create = SysUserUtils.getCurrentPrincipleID();
         String create = SysUserUtils.getCurrentPrincipleID();
         List<MedCheckWork> checkWorkList = new ArrayList<>();
         List<MedCheckWork> checkWorkList = new ArrayList<>();
-        for(MedCheckWorkAddVO medCheckWorkAddVO:medCheckWorkVOList)
-        {
+        for (MedCheckWorkAddVO medCheckWorkAddVO : medCheckWorkVOList) {
             //入参验证
             //入参验证
             if (StringUtil.isBlank(medCheckWorkAddVO.getBehospitalCode())
             if (StringUtil.isBlank(medCheckWorkAddVO.getBehospitalCode())
-                    ||StringUtil.isBlank(medCheckWorkAddVO.getWorkType())) {
+                    || StringUtil.isBlank(medCheckWorkAddVO.getWorkType())) {
                 throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "病历id或任务类型不能为空!");
                 throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "病历id或任务类型不能为空!");
             }
             }
             MedCheckWork medCheckWork = new MedCheckWork();
             MedCheckWork medCheckWork = new MedCheckWork();
@@ -67,12 +65,13 @@ public class MedCheckWorkFacade extends MedCheckWorkServiceImpl {
             medCheckWork.setId(Long.valueOf(medCheckWorkAddVO.getBehospitalCode()));
             medCheckWork.setId(Long.valueOf(medCheckWorkAddVO.getBehospitalCode()));
             checkWorkList.add(medCheckWork);
             checkWorkList.add(medCheckWork);
         }
         }
-        return medCheckWorkServiceImpl.saveBatch(checkWorkList,10);
+        return medCheckWorkServiceImpl.saveBatch(checkWorkList, 10);
     }
     }
+
     /**
     /**
      * @Author songxl
      * @Author songxl
      * @Description 获取每日住院患者的类型(出院、病危、抢救。。。)
      * @Description 获取每日住院患者的类型(出院、病危、抢救。。。)
-     * @Date  2021/5/11
+     * @Date 2021/5/11
      * @Param [param]
      * @Param [param]
      * @Return void
      * @Return void
      * @MethodName execute
      * @MethodName execute
@@ -87,105 +86,134 @@ public class MedCheckWorkFacade extends MedCheckWorkServiceImpl {
 
 
 
 
         //定义批量插入的集合
         //定义批量插入的集合
-        HashMap<String,MedBehospitalType> medBehospitalTypeMap = null;
+        HashMap<String, MedBehospitalType> medBehospitalTypeMap = null;
         //1.判断患者类型表是否有记录
         //1.判断患者类型表是否有记录
         int count = medBehospitalTypeServiceImpl.count();
         int count = medBehospitalTypeServiceImpl.count();
-        if(count>0)
-        {
+        if (count > 0) {
             medBehospitalTypeMap = new HashMap<>();
             medBehospitalTypeMap = new HashMap<>();
             //2.1获取最近指定归档时间间隔的患者
             //2.1获取最近指定归档时间间隔的患者
             RecordTypeVO recordContentVO = new RecordTypeVO();
             RecordTypeVO recordContentVO = new RecordTypeVO();
             recordContentVO.setHospitalId(hospiatlId);
             recordContentVO.setHospitalId(hospiatlId);
             recordContentVO.setModeList(new ArrayList<String>(typeValue.keySet()));
             recordContentVO.setModeList(new ArrayList<String>(typeValue.keySet()));
             recordContentVO.setIsPlacefile(1l);//获取已归档的患者
             recordContentVO.setIsPlacefile(1l);//获取已归档的患者
-            recordContentVO.setStartTime(DateUtil.formatDateTime(DateUtil.addMinutes(DateUtil.now(),-30)));
+            recordContentVO.setStartTime(DateUtil.formatDateTime(DateUtil.addMinutes(DateUtil.now(), -30)));
             recordContentVO.setEndTime(DateUtil.formatDateTime(DateUtil.now()));
             recordContentVO.setEndTime(DateUtil.formatDateTime(DateUtil.now()));
             getPatientRecordType(medBehospitalTypeMap,
             getPatientRecordType(medBehospitalTypeMap,
-                    medicalRecordServiceImpl.getMedicalRecord(recordContentVO),typeValue,typeName,hospiatlId);
-        }
-        else
-        {
-           //2.2添加今天之前所有患者的类型
-           //2.2.1获取所有数据数量
-           medBehospitalTypeMap = new HashMap<>();
-           RecordTypeVO recordContentVO = new RecordTypeVO();
-           recordContentVO.setHospitalId(hospiatlId);
-           recordContentVO.setModeList(new ArrayList<String>(typeValue.keySet()));
-           recordContentVO.setIsPlacefile(1l);//获取已归档的患者
-           int num =  medicalRecordServiceImpl.getRecordCount(recordContentVO);
-           if(num>0)
-           {
-
-               if(num<searchSize)
-               {
+                    medicalRecordServiceImpl.getMedicalRecord(recordContentVO), typeValue, typeName, hospiatlId);
+        } else {
+            //2.2添加今天之前所有患者的类型
+            //2.2.1获取所有数据数量
+            medBehospitalTypeMap = new HashMap<>();
+            RecordTypeVO recordContentVO = new RecordTypeVO();
+            recordContentVO.setHospitalId(hospiatlId);
+            recordContentVO.setModeList(new ArrayList<String>(typeValue.keySet()));
+            recordContentVO.setIsPlacefile(1l);//获取已归档的患者
+            int num = medicalRecordServiceImpl.getRecordCount(recordContentVO);
+            if (num > 0) {
+
+                if (num < searchSize) {
                     //执行一次
                     //执行一次
-                   recordContentVO.setStart(0L);
-                   recordContentVO.setEnd(num+0L);
-                   getPatientRecordType(medBehospitalTypeMap,
-                           medicalRecordServiceImpl.getMedicalRecord(recordContentVO),typeValue,typeName,hospiatlId);
-               }
-               int i = num/searchSize+1;
-               for(int j=0;j<i;j++)
-               {
-                   //5000个一次循环添加
-                   recordContentVO.setStart(j*searchSize*1L);
-                   recordContentVO.setEnd(searchSize*1L);
-                   getPatientRecordType(medBehospitalTypeMap,
-                           medicalRecordServiceImpl.getMedicalRecord(recordContentVO),typeValue,typeName,hospiatlId);
-               }
-
-           }
-
-           //3.批量执行插入操作
-            if(medBehospitalTypeMap.size()>0)
-            {
+                    recordContentVO.setStart(0L);
+                    recordContentVO.setEnd(num + 0L);
+                    getPatientRecordType(medBehospitalTypeMap,
+                            medicalRecordServiceImpl.getMedicalRecord(recordContentVO), typeValue, typeName, hospiatlId);
+                }
+                int i = num / searchSize + 1;
+                for (int j = 0; j < i; j++) {
+                    //5000个一次循环添加
+                    recordContentVO.setStart(j * searchSize * 1L);
+                    recordContentVO.setEnd(searchSize * 1L);
+                    getPatientRecordType(medBehospitalTypeMap,
+                            medicalRecordServiceImpl.getMedicalRecord(recordContentVO), typeValue, typeName, hospiatlId);
+                }
+
+            }
+
+            //3.批量执行插入操作
+            if (medBehospitalTypeMap.size() > 0) {
                 List<MedBehospitalType> medBehospitalTypeList = new ArrayList<>(medBehospitalTypeMap.values());
                 List<MedBehospitalType> medBehospitalTypeList = new ArrayList<>(medBehospitalTypeMap.values());
-                medBehospitalTypeServiceImpl.saveBatch(medBehospitalTypeList,batchSize);
+                medBehospitalTypeServiceImpl.saveBatch(medBehospitalTypeList, batchSize);
             }
             }
 
 
         }
         }
 
 
     }
     }
+
     /**
     /**
      * @Author songxl
      * @Author songxl
      * @Description 获取患者类型存入批量插入map
      * @Description 获取患者类型存入批量插入map
-     * @Date  2021/5/11
+     * @Date 2021/5/11
      * @Param [medBehospitalTypeMap, medicalRecordList, typeValue, typeName, hospiatlId]
      * @Param [medBehospitalTypeMap, medicalRecordList, typeValue, typeName, hospiatlId]
      * @Return void
      * @Return void
      * @MethodName getPatientRecordType
      * @MethodName getPatientRecordType
      */
      */
-    private void getPatientRecordType(HashMap<String,MedBehospitalType> medBehospitalTypeMap,
+    private void getPatientRecordType(HashMap<String, MedBehospitalType> medBehospitalTypeMap,
                                       List<MedicalRecordDTO> medicalRecordList,
                                       List<MedicalRecordDTO> medicalRecordList,
                                       JSONObject typeValue,
                                       JSONObject typeValue,
-                                      JSONObject typeName,Long hospiatlId) {
+                                      JSONObject typeName, Long hospiatlId) {
 
 
-        if(medicalRecordList==null || medicalRecordList.isEmpty()){return;}
+        if (medicalRecordList == null || medicalRecordList.isEmpty()) {
+            return;
+        }
         //1.遍历查询出来的结果
         //1.遍历查询出来的结果
-        for(MedicalRecordDTO medicalRecordDTO:medicalRecordList)
-        {
+        for (MedicalRecordDTO medicalRecordDTO : medicalRecordList) {
             //2.判断批量插入map中有没有这个患者
             //2.判断批量插入map中有没有这个患者
-            if(medBehospitalTypeMap.containsKey(medicalRecordDTO.getBehospitalCode()))
-            {
+            if (medBehospitalTypeMap.containsKey(medicalRecordDTO.getBehospitalCode())) {
                 //3.比较这两次的分值大小
                 //3.比较这两次的分值大小
                 int lval = medBehospitalTypeMap.get(medicalRecordDTO.getBehospitalCode()).getValue();
                 int lval = medBehospitalTypeMap.get(medicalRecordDTO.getBehospitalCode()).getValue();
-                int nval = typeValue.getInteger(medicalRecordDTO.getModeId()+"");
-                if(nval>lval)
-                {
+                int nval = typeValue.getInteger(medicalRecordDTO.getModeId() + "");
+                if (nval > lval) {
                     medBehospitalTypeMap.get(medicalRecordDTO.getBehospitalCode()).setValue(nval);
                     medBehospitalTypeMap.get(medicalRecordDTO.getBehospitalCode()).setValue(nval);
                     medBehospitalTypeMap.get(medicalRecordDTO.getBehospitalCode())
                     medBehospitalTypeMap.get(medicalRecordDTO.getBehospitalCode())
-                            .setBehospitalType(typeName.getString(medicalRecordDTO.getModeId()+""));
+                            .setBehospitalType(typeName.getString(medicalRecordDTO.getModeId() + ""));
                 }
                 }
-            }
-            else {
+            } else {
                 //4.获取分值记录这个患者
                 //4.获取分值记录这个患者
                 MedBehospitalType medBehospitalType = new MedBehospitalType();
                 MedBehospitalType medBehospitalType = new MedBehospitalType();
                 medBehospitalType.setBehospitalCode(medicalRecordDTO.getBehospitalCode());
                 medBehospitalType.setBehospitalCode(medicalRecordDTO.getBehospitalCode());
-                medBehospitalType.setBehospitalType(typeName.getString(medicalRecordDTO.getModeId()+""));
-                medBehospitalType.setValue(typeValue.getInteger(medicalRecordDTO.getModeId()+""));
+                medBehospitalType.setBehospitalType(typeName.getString(medicalRecordDTO.getModeId() + ""));
+                medBehospitalType.setValue(typeValue.getInteger(medicalRecordDTO.getModeId() + ""));
                 medBehospitalType.setCreateTime(DateUtil.now());
                 medBehospitalType.setCreateTime(DateUtil.now());
                 medBehospitalType.setHospitalId(hospiatlId);
                 medBehospitalType.setHospitalId(hospiatlId);
-                medBehospitalTypeMap.put(medicalRecordDTO.getBehospitalCode(),medBehospitalType);
+                medBehospitalTypeMap.put(medicalRecordDTO.getBehospitalCode(), medBehospitalType);
             }
             }
         }
         }
     }
     }
+
+
+    /**
+     * 分页
+     *
+     * @param checkWorkPageVO
+     * @return
+     */
+    public IPage<CheckWorkDTO> pageFac(CheckWorkPageVO checkWorkPageVO) {
+        checkWorkPageSet(checkWorkPageVO);
+        IPage<CheckWorkDTO> res = getCheckWorkPage(checkWorkPageVO);
+        return res;
+    }
+
+    private void checkWorkPageSet(CheckWorkPageVO checkWorkPageVO) {
+        //入参验证
+        //出院时间
+        if (null != checkWorkPageVO && null != checkWorkPageVO.getStartDate()) {
+            checkWorkPageVO.setStartDate(DateUtil.getFirstTimeOfDay(checkWorkPageVO.getStartDate()));
+        }
+        if (null != checkWorkPageVO && null != checkWorkPageVO.getEndDate()) {
+            checkWorkPageVO.setEndDate(DateUtil.getFirstTimeOfDay(DateUtil.addDay(checkWorkPageVO.getEndDate(), 1)));
+        }
+        if (null != checkWorkPageVO && null != checkWorkPageVO.getStartDate() && null != checkWorkPageVO.getEndDate()) {
+            if (DateUtil.after(checkWorkPageVO.getStartDate(), checkWorkPageVO.getEndDate())) {
+                throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "出院时间的开始时间必须小于结束时间!");
+            }
+        }
+        //住院天数
+        if (null != checkWorkPageVO && null != checkWorkPageVO.getSDay() && null != checkWorkPageVO.getLDay()) {
+            if (checkWorkPageVO.getSDay() > checkWorkPageVO.getLDay()) {
+                throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "住院天数区间有误!");
+            }
+        }
+        checkWorkPageVO.setHospitalId(Long.parseLong(SysUserUtils.getCurrentHospitalID()));
+    }
+
 }
 }

+ 11 - 0
src/main/java/com/diagbot/mapper/MedCheckWorkMapper.java

@@ -1,7 +1,10 @@
 package com.diagbot.mapper;
 package com.diagbot.mapper;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.CheckWorkDTO;
 import com.diagbot.entity.MedCheckWork;
 import com.diagbot.entity.MedCheckWork;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.vo.CheckWorkPageVO;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -13,4 +16,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
  */
 public interface MedCheckWorkMapper extends BaseMapper<MedCheckWork> {
 public interface MedCheckWorkMapper extends BaseMapper<MedCheckWork> {
 
 
+    /**
+     * 核查任务列表
+     *
+     * @param checkWorkPageVO
+     * @return
+     */
+    public IPage<CheckWorkDTO> getCheckWorkPage(CheckWorkPageVO checkWorkPageVO);
+
 }
 }

+ 7 - 0
src/main/java/com/diagbot/service/impl/MedCheckWorkServiceImpl.java

@@ -1,9 +1,12 @@
 package com.diagbot.service.impl;
 package com.diagbot.service.impl;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.CheckWorkDTO;
 import com.diagbot.entity.MedCheckWork;
 import com.diagbot.entity.MedCheckWork;
 import com.diagbot.mapper.MedCheckWorkMapper;
 import com.diagbot.mapper.MedCheckWorkMapper;
 import com.diagbot.service.MedCheckWorkService;
 import com.diagbot.service.MedCheckWorkService;
+import com.diagbot.vo.CheckWorkPageVO;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 /**
 /**
@@ -17,4 +20,8 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class MedCheckWorkServiceImpl extends ServiceImpl<MedCheckWorkMapper, MedCheckWork> implements MedCheckWorkService {
 public class MedCheckWorkServiceImpl extends ServiceImpl<MedCheckWorkMapper, MedCheckWork> implements MedCheckWorkService {
 
 
+    public IPage<CheckWorkDTO> getCheckWorkPage(CheckWorkPageVO checkWorkPageVO) {
+        return baseMapper.getCheckWorkPage(checkWorkPageVO);
+    }
+
 }
 }

+ 89 - 0
src/main/java/com/diagbot/vo/CheckWorkPageVO.java

@@ -0,0 +1,89 @@
+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.Date;
+
+/**
+ * <p>
+ * 核查患者病历信息
+ * </p>
+ *
+ * @author wangsy
+ * @since 2021-05-13
+ */
+@Data
+public class CheckWorkPageVO extends Page implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 出院开始时间
+     */
+    private Date startDate;
+
+    /**
+     * 出院结束时间
+     */
+    private Date endDate;
+
+    /**
+     * 生成状态[0-未生成 1-已生成(默认未生成)]
+     */
+    private String creatStatus="0";
+
+    /**
+     * 医院ID
+     */
+    @ApiModelProperty(hidden = true)
+    private Long hospitalId;
+
+    /**
+     * 病人住院序号
+     */
+    private String behospitalCode;
+
+    /**
+     * 科室
+     */
+    private String department;
+
+    /**
+     * 病历等级
+     */
+    private String level;
+
+    /**
+     * 病人姓名
+     */
+    private String name;
+
+    /**
+     * 医生姓名
+     */
+    private String doctorName;
+
+    /**
+     * 主诊断
+     */
+    private String diagnose;
+
+    /**
+     * 最小天数
+     */
+    private Integer sDay;
+
+    /**
+     * 最大天数
+     */
+    private Integer lDay;
+
+    /**
+     * 是否归档(0:未归档,1:已归档)
+     */
+    private String isPlacefile = "1";
+
+}

+ 24 - 0
src/main/java/com/diagbot/web/MedCheckWorkController.java

@@ -1,9 +1,12 @@
 package com.diagbot.web;
 package com.diagbot.web;
 
 
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.CheckWorkDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.MedCheckWorkFacade;
 import com.diagbot.facade.MedCheckWorkFacade;
+import com.diagbot.vo.CheckWorkPageVO;
 import com.diagbot.vo.MedCheckWorkAddVO;
 import com.diagbot.vo.MedCheckWorkAddVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
@@ -39,4 +42,25 @@ public class MedCheckWorkController {
         Boolean res = medCheckworkFacade.addCheck(medCheckWorkVOList);
         Boolean res = medCheckworkFacade.addCheck(medCheckWorkVOList);
         return RespDTO.onSuc(res);
         return RespDTO.onSuc(res);
     }
     }
+
+    @ApiOperation(value = "核查任务列表[by:wangsy]",
+            notes = "startDate:出院开始时间<br>" +
+                    "endDate:出院结束时间<br>" +
+                    "creatStatus:生成状态<br>" +
+                    "hospitalId: 医院ID<br>" +
+                    "behospitalCode:病人住院序号<br>" +
+                    "department:科室<br>" +
+                    "level:病历等级<br>" +
+                    "name:病人姓名<br>" +
+                    "doctorName:医生姓名<br>" +
+                    "diagnosis:主诊断<br>" +
+                    "sDay:最小天数<br>" +
+                    "lDay:最大天数<br>" +
+                    "isPlacefile:是否归档<br>")
+    @PostMapping("/getUserList")
+    @SysLogger("getUserList")
+    public RespDTO<IPage<CheckWorkDTO>> checkWorkPage(@RequestBody CheckWorkPageVO checkWorkPageVO) {
+        IPage<CheckWorkDTO> data = medCheckworkFacade.pageFac(checkWorkPageVO);
+        return RespDTO.onSuc(data);
+    }
 }
 }

+ 75 - 0
src/main/resources/mapper/MedCheckWorkMapper.xml

@@ -19,4 +19,79 @@
         <result column="is_deleted" property="isDeleted" />
         <result column="is_deleted" property="isDeleted" />
     </resultMap>
     </resultMap>
 
 
+
+    <select id="getCheckWorkPage" resultType="com.diagbot.dto.CheckWorkDTO">
+        SELECT
+        mbi.behospital_code,
+        mbi.name,
+        mbi.file_code,
+        mbi.sex,
+        mhp.age,
+        mbi.beh_dept_name,
+        mbi.leave_hospital_date,
+        mhp.behospital_day_num,
+        mbi.doctor_name,
+        mqi.level,
+        mbi.diagnose,
+        CASE WHEN mbt.behospital_type='出院病人' THEN '6'
+             WHEN mbt.behospital_type='死亡病人' THEN '6'
+             WHEN mbt.behospital_type='危重病人' THEN '4'
+             WHEN mbt.behospital_type='抢救病人' THEN '5'
+             WHEN mbt.behospital_type='手术病人' THEN '2'
+             WHEN mbt.behospital_type='疑难病人' THEN '3'
+             WHEN mbt.behospital_type='输血病人' THEN '4' ELSE '0' END AS score,
+        CASE WHEN ISNULL(mci.job_create_time) THEN '0' ELSE '1' END AS creatStatus,
+        mci.job_create_time
+        FROM
+        med_behospital_info mbi
+        LEFT JOIN med_home_page mhp
+        ON mbi.behospital_code=mhp.behospital_code
+        AND mbi.hospital_id = mhp.hospital_id
+        LEFT JOIN med_check_info mci
+        ON mbi.behospital_code = mci.behospital_code
+        AND mbi.hospital_id = mci.hospital_id AND mci.is_deleted = 'N'
+        LEFT JOIN med_qcresult_info mqi
+        ON mbi.behospital_code = mqi.behospital_code
+        AND mbi.hospital_id = mqi.hospital_id AND mqi.is_deleted = 'N'
+        LEFT JOIN med_behospital_type mbt ON mbi.behospital_code = mbt.behospital_code
+        AND mbi.hospital_id = mbt.hospital_id AND mbt.is_deleted = 'N'
+        WHERE mbi.is_deleted = 'N'
+        <if test="startDate != null">
+            <![CDATA[ AND mbi.behospital_date >= #{startDate}]]>
+        </if>
+        <if test="endDate != null">
+            <![CDATA[ AND mbi.behospital_date < #{endDate}]]>
+        </if>
+        <if test="creatStatus != null and creatStatus != ''">
+            AND mci.create_status = #{creatStatus}
+        </if>
+        <if test="name != null and name != ''">
+            AND mbi.name like CONCAT('%',#{name},'%')
+        </if>
+        <if test="behospitalCode != null and behospitalCode != ''">
+            AND mbi.behospital_code like CONCAT('%',#{behospitalCode},'%')
+        </if>
+        <if test="department != null and department != ''">
+            AND mbi.beh_dept_name like CONCAT('%',#{department},'%')
+        </if>
+        <if test="sDay != null">
+            <![CDATA[ AND mhp.behospital_day_num >= #{sDay}]]>
+        </if>
+        <if test="lDay != null">
+            <![CDATA[ AND hp.behospital_day_num < #{lDay}]]>
+        </if>
+        <if test="doctorName != null and doctorName != ''">
+            AND mbi.doctor_name LIKE CONCAT( '%', #{doctorName}, '%' )
+        </if>
+        <if test="diagnose != null and diagnose != ''">
+            AND mbi.diagnose LIKE CONCAT( '%', #{diagnose}, '%' )
+        </if>
+        <if test="level != null and level != ''">
+            AND mqi.level= #{level}
+        </if>
+        <if test="isPlacefile != null and isPlacefile != ''">
+            AND mbi.is_placefile = #{isPlacefile}
+        </if>
+    </select>
+
 </mapper>
 </mapper>