Browse Source

时效性报表导出接口

SGTY 10 months ago
parent
commit
8005af477a

+ 1 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -151,6 +151,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/console/export/levelExport").permitAll()
                 .antMatchers("/console/entryStatistics").permitAll()
                 .antMatchers("/console/export/levelExport_TZ").permitAll()
+                .antMatchers("/console/export/TimelinessReportExport").permitAll()
                 .antMatchers("/console/export/getAverageDayNumExport").permitAll()
                 .antMatchers("/console/export/getAverageFeeExport").permitAll()
                 .antMatchers("/console/export/levelPercentGroupByDeptExport").permitAll()

+ 1 - 0
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -227,6 +227,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/console/export/levelExport", request)
                 || matchers("/console/entryStatistics", request)
                 || matchers("/console/export/levelExport_TZ", request)
+                || matchers("/console/export/TimelinessReportExport", request)
                 || matchers("/console/export/getAverageDayNumExport", request)
                 || matchers("/console/export/getAverageFeeExport", request)
                 || matchers("/console/export/levelPercentGroupByDeptExport", request)

+ 48 - 0
src/main/java/com/diagbot/dto/ExportReportDetailaDTO.java

@@ -0,0 +1,48 @@
+package com.diagbot.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class ExportReportDetailaDTO {
+    /**
+     * 医院id
+     */
+    private String hospitalId;
+    @Excel(name = "病人住院序号", width = 20, orderNum = "1")
+    private String behospitalCode;
+    @Excel(name = "病人姓名", orderNum = "2")
+    private String name;
+    @Excel(name = "性别", orderNum = "3")
+    private String sex;
+    @Excel(name = "病案号", orderNum = "4")
+    private String fileCode;
+    @Excel(name = "主管医生", width = 20, orderNum = "5")
+    private String doctorName;
+    private String directorDoctorId;
+    /**
+     * 科室名称
+     */
+    @Excel(name = "住院科室", orderNum = "6")
+    private String behDeptName;
+    //病区code
+    private String ward_code;
+    private String wardName;
+    /**
+     * 科室编码
+     */
+    private String behDeptId;
+    @Excel(name = "规则名称", width = 40, orderNum = "7")
+    private String ruleName;
+    @Excel(name = "入院日期", format = "yyyy-MM-dd", width = 30, orderNum = "8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date behospitalDate;
+    @Excel(name = "入院记录创建时间", format = "yyyy-MM-dd", width = 30, orderNum = "9")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date behospitalGmtCreate;
+    @Excel(name = "是否归档", orderNum = "10")
+    private String isPlacefile;
+}

+ 47 - 0
src/main/java/com/diagbot/dto/ExportReportDetailbDTO.java

@@ -0,0 +1,47 @@
+package com.diagbot.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class ExportReportDetailbDTO {
+    /**
+     * 医院id
+     */
+    private String hospitalId;
+    @Excel(name = "病人住院序号", width = 20, orderNum = "1")
+    private String behospitalCode;
+    @Excel(name = "病人姓名", orderNum = "2")
+    private String name;
+    @Excel(name = "性别", orderNum = "3")
+    private String sex;
+    @Excel(name = "病案号", orderNum = "4")
+    private String fileCode;
+    @Excel(name = "主管医生", width = 20, orderNum = "5")
+    private String doctorName;
+    private String directorDoctorId;
+    /**
+     * 科室名称
+     */
+    @Excel(name = "住院科室", orderNum = "6")
+    private String behDeptName;
+    //病区code
+    private String ward_code;
+    private String wardName;
+    /**
+     * 科室编码
+     */
+    private String behDeptId;
+    @Excel(name = "规则名称", width = 40, orderNum = "7")
+    private String ruleName;
+    @Excel(name = "备注", width = 40, orderNum = "8")
+    private String remark;
+    @Excel(name = "入院日期", format = "yyyy-MM-dd", width = 30, orderNum = "9")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date behospitalDate;
+    @Excel(name = "是否归档", orderNum = "10")
+    private String isPlacefile;
+}

+ 35 - 5
src/main/java/com/diagbot/facade/ConsoleExportFacade.java

@@ -1,10 +1,6 @@
 package com.diagbot.facade;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
@@ -147,6 +143,40 @@ public class ConsoleExportFacade {
         ExcelUtils.exportExcel(records, null, "sheet1", LevelStatisticsTZDTO.class, fileName, response, 12.8f);
     }
 
+
+    /**
+     * 时效性报表导出-杭州七院
+     */
+    public void TimelinessReportExport(HttpServletResponse response, QcResultShortPageVO qcResultShortPageVO) {
+        String hospitalId = SysUserUtils.getCurrentHospitalID();
+        qcResultShortPageVO.setHospitalId(hospitalId);
+        if (StringUtil.isNotBlank(qcResultShortPageVO.getDeptName())
+                && qcResultShortPageVO.getDeptName().equals("全部")) {
+            qcResultShortPageVO.setDeptName("");
+        }
+        Date startDate = qcResultShortPageVO.getStartDate();
+        Date endDate = qcResultShortPageVO.getEndDate();
+        //时间间隔7天
+        long interval = 90 * 24l * 60l * 60l * 1000l;
+        if (endDate.getTime() < startDate.getTime()) {
+            throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+        }
+        if (endDate.getTime() - startDate.getTime() > interval) {
+            throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于90天");
+        }
+
+        qcResultShortPageVO.setCurrent(1L);
+        qcResultShortPageVO.setSize(Long.MAX_VALUE);
+        qcResultShortPageVO.setSearchCount(false);
+
+        String fileName = "时效性报表.xls";
+
+        List<Map<String, Object>> sheetList = consoleFacade.TimelinessReportExport(qcResultShortPageVO);
+
+        ExcelUtils.exportExcel(sheetList, fileName, response);
+    }
+
+
     /**
      * 按科室统计平均住院天数导出
      *

+ 59 - 40
src/main/java/com/diagbot/facade/ConsoleFacade.java

@@ -10,20 +10,7 @@ import java.time.Instant;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.CopyOnWriteArraySet;
 import java.util.concurrent.ExecutionException;
@@ -32,6 +19,8 @@ import java.util.stream.Collectors;
 
 import javax.validation.Valid;
 
+import com.diagbot.dto.*;
+import cn.afterturn.easypoi.excel.entity.ExportParams;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.BeanUtils;
@@ -47,32 +36,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.aggregate.AverageStatisticsAggregate;
 import com.diagbot.aggregate.MrStatisticsAggregate;
 import com.diagbot.aggregate.ResultStatisticsAggregate;
-import com.diagbot.dto.AverageStatisticsDTO;
-import com.diagbot.dto.AverageStatisticsFeeDTO;
-import com.diagbot.dto.CaseScoreDTO;
-import com.diagbot.dto.ColumnDTO;
-import com.diagbot.dto.DeptNumDTO;
-import com.diagbot.dto.EntryNumDTO;
-import com.diagbot.dto.EntryNumGroupDTO;
-import com.diagbot.dto.EntryStatisticsDTO;
-import com.diagbot.dto.HomePageImproveDTO;
-import com.diagbot.dto.HomePageNumDTO;
-import com.diagbot.dto.LevelStatisticsDTO;
-import com.diagbot.dto.LevelStatisticsTZDTO;
-import com.diagbot.dto.MedManageParamsDTO;
-import com.diagbot.dto.MedicalCheckDTO;
-import com.diagbot.dto.MedicalCheckExportDTO;
-import com.diagbot.dto.NumDTO;
-import com.diagbot.dto.QcResultPercentDTO;
-import com.diagbot.dto.QcResultShortDTO;
-import com.diagbot.dto.QualityControlDTO;
-import com.diagbot.dto.QualityControlNullDTO;
-import com.diagbot.dto.ReBeHosDTO;
-import com.diagbot.dto.ReBeHosDetailDTO;
-import com.diagbot.dto.ReBeHosMergeDTO;
-import com.diagbot.dto.SjcfStatisticsDTO;
-import com.diagbot.dto.UnModifyMRDTO;
-import com.diagbot.dto.UnModifyMRDetailDTO;
 import com.diagbot.entity.BehospitalInfo;
 import com.diagbot.entity.MedIndexRelevance;
 import com.diagbot.entity.MedIndexResult;
@@ -2904,6 +2867,62 @@ public class ConsoleFacade {
         return item;
     }
 
+    /**
+     * 时效性报表导出-杭州七院
+     */
+    public List<Map<String, Object>> TimelinessReportExport(QcResultShortPageVO qcResultShortPageVO) {
+        List<Map<String, Object>> records = new LinkedList<>();
+        List<ExportReportDetailaDTO> unfinishedFirst = behospitalInfoFacade.getUnfinishedFirst_HZQY(qcResultShortPageVO);
+        List<ExportReportDetailaDTO> unfinishedIn = behospitalInfoFacade.getUnfinishedIn_HZQY(qcResultShortPageVO);
+        List<ExportReportDetailaDTO> unfinishedSuicide = behospitalInfoFacade.getUnfinishedSuicide_HZQY(qcResultShortPageVO);
+        List<ExportReportDetailbDTO> unfinishedThree = behospitalInfoFacade.getUnfinishedThree_HZQY(qcResultShortPageVO);
+        List<ExportReportDetailbDTO> unfinishedSix = behospitalInfoFacade.getUnfinishedSix_HZQY(qcResultShortPageVO);
+
+        Map<String, Object> map1 = new HashMap<>();
+        ExportParams empExportParams1 = new ExportParams();
+        empExportParams1.setSheetName("首次病程未在患者入院8小时内完成");
+        map1.put("title", empExportParams1);
+        map1.put("entity", ExportReportDetailaDTO.class);
+        map1.put("data", unfinishedFirst);
+
+        Map<String, Object> map2 = new HashMap<>();
+        ExportParams empExportParams2 = new ExportParams();
+        empExportParams2.setSheetName("入院记录未在患者入院24小时内完成");
+        map2.put("title", empExportParams2);
+        map2.put("entity", ExportReportDetailaDTO.class);
+        map2.put("data", unfinishedIn);
+
+        Map<String, Object> map3 = new HashMap<>();
+        ExportParams empExportParams3 = new ExportParams();
+        empExportParams3.setSheetName("自杀、冲动、猝死病历入院记录未在患者入院24小时内完成");
+        map3.put("title", empExportParams3);
+        map3.put("entity", ExportReportDetailaDTO.class);
+        map3.put("data", unfinishedSuicide);
+
+        Map<String, Object> map4 = new HashMap<>();
+        ExportParams empExportParams4 = new ExportParams();
+        empExportParams4.setSheetName("超过三天未书写病历");
+        map4.put("title", empExportParams4);
+        map4.put("entity", ExportReportDetailbDTO.class);
+        map4.put("data", unfinishedThree);
+
+        Map<String, Object> map5 = new HashMap<>();
+        ExportParams empExportParams5 = new ExportParams();
+        empExportParams5.setSheetName("超过六天未书写病历");
+        map5.put("title", empExportParams5);
+        map5.put("entity", ExportReportDetailbDTO.class);
+        map5.put("data", unfinishedSix);
+
+        records.add(map1);
+        records.add(map2);
+        records.add(map3);
+        records.add(map4);
+        records.add(map5);
+
+        return records;
+    }
+
+
     /**
      * 未整改病历统计
      *

+ 40 - 0
src/main/java/com/diagbot/mapper/BehospitalInfoMapper.java

@@ -284,6 +284,46 @@ public interface BehospitalInfoMapper extends BaseMapper<BehospitalInfo> {
 
     List<ExportExcelDTO> exportExcel();
 
+    /**
+     * 时效性报表-首次病程未在患者入院8小时内完成(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public List<ExportReportDetailaDTO> getUnfinishedFirst_HZQY(QcResultShortPageVO qcResultShortPageVO);
+
+    /**
+     * 时效性报表-入院记录未在患者入院24小时内完成(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public List<ExportReportDetailaDTO> getUnfinishedIn_HZQY(QcResultShortPageVO qcResultShortPageVO);
+
+    /**
+     * 时效性报表-自杀、冲动、猝死病历入院记录未在患者入院24小时内完成(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public List<ExportReportDetailaDTO> getUnfinishedSuicide_HZQY(QcResultShortPageVO qcResultShortPageVO);
+
+    /**
+     * 时效性报表-超过三天未书写病历(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public List<ExportReportDetailbDTO> getUnfinishedThree_HZQY(QcResultShortPageVO qcResultShortPageVO);
+
+    /**
+     * 时效性报表-超过六天未书写病历(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public List<ExportReportDetailbDTO> getUnfinishedSix_HZQY(QcResultShortPageVO qcResultShortPageVO);
+
     /**
      * 质控评分导出到excel
      *

+ 39 - 0
src/main/java/com/diagbot/service/BehospitalInfoService.java

@@ -287,6 +287,45 @@ public interface BehospitalInfoService extends IService<BehospitalInfo> {
 
     List<ExportExcelDTO> exportExcel();
 
+    /**
+     * 时效性报表-首次病程未在患者入院8小时内完成(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public List<ExportReportDetailaDTO> getUnfinishedFirst_HZQY(QcResultShortPageVO qcResultShortPageVO);
+
+    /**
+     * 时效性报表-入院记录未在患者入院24小时内完成(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public List<ExportReportDetailaDTO> getUnfinishedIn_HZQY(QcResultShortPageVO qcResultShortPageVO);
+
+    /**
+     * 时效性报表-自杀、冲动、猝死病历入院记录未在患者入院24小时内完成(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public List<ExportReportDetailaDTO> getUnfinishedSuicide_HZQY(QcResultShortPageVO qcResultShortPageVO);
+
+    /**
+     * 时效性报表-超过三天未书写病历(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public List<ExportReportDetailbDTO> getUnfinishedThree_HZQY(QcResultShortPageVO qcResultShortPageVO);
+
+    /**
+     * 时效性报表-超过六天未书写病历(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public List<ExportReportDetailbDTO> getUnfinishedSix_HZQY(QcResultShortPageVO qcResultShortPageVO);
     /**
      * 质控评分导出到excel
      *

+ 54 - 0
src/main/java/com/diagbot/service/impl/BehospitalInfoServiceImpl.java

@@ -350,6 +350,60 @@ public class BehospitalInfoServiceImpl extends ServiceImpl<BehospitalInfoMapper,
         return baseMapper.levelStatisticsByDeptClass_TZ(filterOrderVO);
     }
 
+    /**
+     * 时效性报表-首次病程未在患者入院8小时内完成(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    @Override
+    public List<ExportReportDetailaDTO> getUnfinishedFirst_HZQY(QcResultShortPageVO qcResultShortPageVO) {
+        return baseMapper.getUnfinishedFirst_HZQY(qcResultShortPageVO);
+    }
+
+    /**
+     * 时效性报表-入院记录未在患者入院24小时内完成(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    @Override
+    public List<ExportReportDetailaDTO> getUnfinishedIn_HZQY(QcResultShortPageVO qcResultShortPageVO) {
+        return baseMapper.getUnfinishedIn_HZQY(qcResultShortPageVO);
+    }
+
+    /**
+     * 时效性报表-自杀、冲动、猝死病历入院记录未在患者入院24小时内完成(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    @Override
+    public List<ExportReportDetailaDTO> getUnfinishedSuicide_HZQY(QcResultShortPageVO qcResultShortPageVO) {
+        return baseMapper.getUnfinishedSuicide_HZQY(qcResultShortPageVO);
+    }
+
+    /**
+     * 时效性报表-超过三天未书写病历(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    @Override
+    public List<ExportReportDetailbDTO> getUnfinishedThree_HZQY(QcResultShortPageVO qcResultShortPageVO) {
+        return baseMapper.getUnfinishedThree_HZQY(qcResultShortPageVO);
+    }
+
+    /**
+     * 时效性报表-超过六天未书写病历(杭州七院)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    @Override
+    public List<ExportReportDetailbDTO> getUnfinishedSix_HZQY(QcResultShortPageVO qcResultShortPageVO) {
+        return baseMapper.getUnfinishedSix_HZQY(qcResultShortPageVO);
+    }
 
     @Override
     public List<ExportExcelDTO> exportExcel() {

+ 30 - 0
src/main/java/com/diagbot/web/ConsoleExportController.java

@@ -126,6 +126,36 @@ public class ConsoleExportController {
         consoleExportFacade.levelExport_TZ(response, filterOrderVO);
     }
 
+    /**
+     * 时效性报表导出-杭州七院
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    @ApiOperation(value = "时效性报表导出-杭州七院",
+            notes = "behospitalCode: 病历号<br>" +
+                    "patName: 病人姓名 <br>" +
+                    "behDeptName:科室名称 <br>" +
+                    "doctorId:医生工号 <br>" +
+                    "doctorName:医生姓名 <br>" +
+                    "level: 病历等级 <br>" +
+                    "checkStatus: 核查状态(1:已核查,0:未核查) <br>" +
+                    "mrStatus: 首页核查状态(1:已核查,0:未核查) <br>" +
+                    "chName: 病历核查人员 <br>" +
+                    "mrName: 首页核查人员 <br>" +
+                    "chTimeStart: 病历核查起始时间 <br>" +
+                    "chTimeEnd: 病历核查截止时间 <br>" +
+                    "mrTimeStart: 首页核查起始时间 <br>" +
+                    "mrTimeEnd: 首页核查截止时间 <br>" +
+                    "startDate: 起始时间 <br>" +
+                    "endDate: 截止时间 <br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/TimelinessReportExport")
+    @SysLogger("TimelinessReportExport")
+    public void TimelinessReportExport(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
+        consoleExportFacade.TimelinessReportExport(response, qcResultShortPageVO);
+    }
+
     /**
      * 按科室统计平均住院天数导出
      *

+ 4 - 4
src/main/resources/application-local.yml

@@ -59,9 +59,9 @@ spring:
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.16.1.104:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
+      url: jdbc:mysql://173.18.12.194:3306/qc?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true
       username: root
-      password: lt@great
+      password: dsYun8!@#
       # 连接池的配置信息
       # 初始化大小,最小,最大
       initialSize: 5
@@ -111,9 +111,9 @@ spring:
     database:
       cache: 8 # cache索引
       token: 8 # Token索引
-    host: 192.16.1.104  #Redis服务器地址
+    host: 173.18.12.194  #Redis服务器地址
     port: 6379 # Redis服务器连接端口(本地环境端口6378,其他环境端口是6379)
-    password: lantone # Redis服务器连接密码(默认为空)
+    password:  # Redis服务器连接密码(默认为空)
     lettuce:
       pool:
         max-active: 8 # 连接池最大连接数(使用负值表示没有限制)

+ 242 - 0
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -3264,6 +3264,248 @@
         </if>
     </select>
 
+    <!-- 时效性报表-首次病程未在患者入院8小时内完成(杭州七院标准版) -->
+    <select id="getUnfinishedFirst_HZQY" parameterType="com.diagbot.vo.QcResultShortPageVO" resultType="com.diagbot.dto.ExportReportDetailaDTO">
+        SELECT DISTINCT
+            a.behospital_code AS hospitalId,
+            a.hospital_id AS behospitalCode,
+            a.`name` AS name,
+            a.sex AS sex,
+            a.file_code AS fileCode,
+            a.doctor_name AS doctorName,
+            a.beh_dept_name AS behDeptName,
+            b.msg AS ruleName,
+            a.behospital_date AS behospitalDate,
+            c.rec_date AS behospitalGmtCreate,
+            a.is_placefile AS isPlacefile
+        FROM
+            med_behospital_info a
+                JOIN med_qcresult_detail b ON a.behospital_code = b.behospital_code
+                JOIN
+            (
+                SELECT
+                    mode_id,
+                    rec_title,
+                    behospital_code,
+                    MIN(rec_date) as rec_date
+                FROM
+                    med_medical_record
+                WHERE
+                    mode_id = '2'
+                GROUP BY
+                    behospital_code
+            )c ON a.behospital_code = c.behospital_code
+        WHERE
+            a.is_deleted = 'N'
+          AND b.is_deleted = 'N'
+          AND b.cases_entry_id = '3241'
+        AND a.hospital_id = '14'
+        <if test="isPlacefile != null and isPlacefile == 0">
+            <if test="startDate != null ">
+                <![CDATA[ AND a.behospital_date >= #{startDate}]]>
+            </if>
+            <if test="endDate != null ">
+                <![CDATA[ AND a.behospital_date <= #{endDate}]]>
+            </if>
+        </if>
+        <if test="isPlacefile != null and isPlacefile == 1">
+            <if test="startDate != null ">
+                <![CDATA[ AND a.leave_hospital_date >= #{startDate}]]>
+            </if>
+            <if test="endDate != null ">
+                <![CDATA[ AND a.leave_hospital_date <= #{endDate}]]>
+            </if>
+        </if>
+    </select>
+
+    <!-- 时效性报表-入院记录未在患者入院24小时内完成(杭州七院) -->
+    <select id="getUnfinishedIn_HZQY" parameterType="com.diagbot.vo.QcResultShortPageVO" resultType="com.diagbot.dto.ExportReportDetailaDTO">
+        SELECT DISTINCT
+        a.behospital_code AS hospitalId,
+        a.hospital_id AS behospitalCode,
+        a.`name` AS name,
+        a.sex AS sex,
+        a.file_code AS fileCode,
+        a.doctor_name AS doctorName,
+        a.beh_dept_name AS behDeptName,
+        b.msg AS ruleName,
+        a.behospital_date AS behospitalDate,
+        c.rec_date AS behospitalGmtCreate,
+        a.is_placefile AS isPlacefile
+        FROM
+        med_behospital_info a
+        JOIN med_qcresult_detail b ON a.behospital_code = b.behospital_code
+        JOIN
+        (
+        SELECT
+        mode_id,
+        rec_title,
+        behospital_code,
+        MIN(rec_date) as rec_date
+        FROM
+        med_medical_record
+        WHERE
+        mode_id = '1'
+        GROUP BY
+        behospital_code
+        )c ON a.behospital_code = c.behospital_code
+        WHERE
+        a.is_deleted = 'N'
+        AND b.is_deleted = 'N'
+        AND b.cases_entry_id = '3242'
+        AND a.hospital_id = '14'
+        <if test="isPlacefile != null and isPlacefile == 0">
+            <if test="startDate != null ">
+                <![CDATA[ AND a.behospital_date >= #{startDate}]]>
+            </if>
+            <if test="endDate != null ">
+                <![CDATA[ AND a.behospital_date <= #{endDate}]]>
+            </if>
+        </if>
+        <if test="isPlacefile != null and isPlacefile == 1">
+            <if test="startDate != null ">
+                <![CDATA[ AND a.leave_hospital_date >= #{startDate}]]>
+            </if>
+            <if test="endDate != null ">
+                <![CDATA[ AND a.leave_hospital_date <= #{endDate}]]>
+            </if>
+        </if>
+    </select>
+
+    <!-- 时效性报表-自杀、冲动、猝死病历入院记录未在患者入院24小时内完成(杭州七院) -->
+    <select id="getUnfinishedSuicide_HZQY" parameterType="com.diagbot.vo.QcResultShortPageVO" resultType="com.diagbot.dto.ExportReportDetailaDTO">
+        SELECT DISTINCT
+        a.behospital_code AS hospitalId,
+        a.hospital_id AS behospitalCode,
+        a.`name` AS name,
+        a.sex AS sex,
+        a.file_code AS fileCode,
+        a.doctor_name AS doctorName,
+        a.beh_dept_name AS behDeptName,
+        b.msg AS ruleName,
+        a.behospital_date AS behospitalDate,
+        c.rec_date AS behospitalGmtCreate,
+        a.is_placefile AS isPlacefile
+        FROM
+        med_behospital_info a
+        JOIN med_qcresult_detail b ON a.behospital_code = b.behospital_code
+        JOIN
+        (
+        SELECT
+        mode_id,
+        rec_title,
+        behospital_code,
+        MIN(rec_date) as rec_date
+        FROM
+        med_medical_record
+        WHERE
+        mode_id = '1'
+        GROUP BY
+        behospital_code
+        )c ON a.behospital_code = c.behospital_code
+        WHERE
+        a.is_deleted = 'N'
+        AND b.is_deleted = 'N'
+        AND b.cases_entry_id = '3243'
+        AND a.hospital_id = '14'
+        <if test="isPlacefile != null and isPlacefile == 0">
+            <if test="startDate != null ">
+                <![CDATA[ AND a.behospital_date >= #{startDate}]]>
+            </if>
+            <if test="endDate != null ">
+                <![CDATA[ AND a.behospital_date <= #{endDate}]]>
+            </if>
+        </if>
+        <if test="isPlacefile != null and isPlacefile == 1">
+            <if test="startDate != null ">
+                <![CDATA[ AND a.leave_hospital_date >= #{startDate}]]>
+            </if>
+            <if test="endDate != null ">
+                <![CDATA[ AND a.leave_hospital_date <= #{endDate}]]>
+            </if>
+        </if>
+    </select>
+
+    <!-- 时效性报表-时效性报表-超过三天未书写病历(杭州七院) -->
+    <select id="getUnfinishedThree_HZQY" parameterType="com.diagbot.vo.QcResultShortPageVO" resultType="com.diagbot.dto.ExportReportDetailbDTO">
+        SELECT DISTINCT
+        a.behospital_code AS hospitalId,
+        a.hospital_id AS behospitalCode,
+        a.`name` AS name,
+        a.sex AS sex,
+        a.file_code AS fileCode,
+        a.doctor_name AS doctorName,
+        a.beh_dept_name AS behDeptName,
+        b.msg AS ruleName,
+        b.remark AS remark,
+        a.behospital_date AS behospitalDate,
+        a.is_placefile AS isPlacefile
+        FROM
+        med_behospital_info a
+        JOIN med_qcresult_detail b ON a.behospital_code = b.behospital_code
+        WHERE
+        a.is_deleted = 'N'
+        AND b.is_deleted = 'N'
+        AND b.cases_entry_id = '3240'
+        AND a.hospital_id = '14'
+        <if test="isPlacefile != null and isPlacefile == 0">
+            <if test="startDate != null ">
+                <![CDATA[ AND a.behospital_date >= #{startDate}]]>
+            </if>
+            <if test="endDate != null ">
+                <![CDATA[ AND a.behospital_date <= #{endDate}]]>
+            </if>
+        </if>
+        <if test="isPlacefile != null and isPlacefile == 1">
+            <if test="startDate != null ">
+                <![CDATA[ AND a.leave_hospital_date >= #{startDate}]]>
+            </if>
+            <if test="endDate != null ">
+                <![CDATA[ AND a.leave_hospital_date <= #{endDate}]]>
+            </if>
+        </if>
+    </select>
+
+    <!-- 时效性报表-超过六天未书写病历(杭州七院) -->
+    <select id="getUnfinishedSix_HZQY" parameterType="com.diagbot.vo.QcResultShortPageVO" resultType="com.diagbot.dto.ExportReportDetailbDTO">
+        SELECT DISTINCT
+        a.behospital_code AS hospitalId,
+        a.hospital_id AS behospitalCode,
+        a.`name` AS name,
+        a.sex AS sex,
+        a.file_code AS fileCode,
+        a.doctor_name AS doctorName,
+        a.beh_dept_name AS behDeptName,
+        b.msg AS ruleName,
+        b.remark AS remark,
+        a.behospital_date AS behospitalDate,
+        a.is_placefile AS isPlacefile
+        FROM
+        med_behospital_info a
+        JOIN med_qcresult_detail b ON a.behospital_code = b.behospital_code
+        WHERE
+        a.is_deleted = 'N'
+        AND b.is_deleted = 'N'
+        AND b.cases_entry_id = '3244'
+        AND a.hospital_id = '14'
+        <if test="isPlacefile != null and isPlacefile == 0">
+            <if test="startDate != null ">
+                <![CDATA[ AND a.behospital_date >= #{startDate}]]>
+            </if>
+            <if test="endDate != null ">
+                <![CDATA[ AND a.behospital_date <= #{endDate}]]>
+            </if>
+        </if>
+        <if test="isPlacefile != null and isPlacefile == 1">
+            <if test="startDate != null ">
+                <![CDATA[ AND a.leave_hospital_date >= #{startDate}]]>
+            </if>
+            <if test="endDate != null ">
+                <![CDATA[ AND a.leave_hospital_date <= #{endDate}]]>
+            </if>
+        </if>
+    </select>
+
     <!-- 病案首页合格率占比 -全院-->
     <select id="homePageLevelStatistics" parameterType="com.diagbot.vo.FilterOrderVO"
             resultType="com.diagbot.dto.HomePageNumDTO">