chengyao 3 years ago
parent
commit
0b31ba3f1c

+ 6 - 9
src/main/java/com/diagbot/facade/ConsoleExportFacade.java

@@ -1,7 +1,6 @@
 package com.diagbot.facade;
 
 import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
@@ -13,8 +12,6 @@ import com.diagbot.util.*;
 import com.diagbot.vo.*;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.Lists;
-import com.google.gson.JsonObject;
-import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -53,14 +50,14 @@ public class ConsoleExportFacade {
     /**
      * 病案首页合格率占比-湘雅
      *
-     * @param filterOrderPageVO
+     * @param filterOrderXYPageVO
      * @return
      */
-    public void homePageLevelXYExport(HttpServletResponse response, FilterOrderPageVO filterOrderPageVO) {
-        filterOrderPageVO.setCurrent(1L);
-        filterOrderPageVO.setSize(Long.MAX_VALUE);
-        filterOrderPageVO.setSearchCount(false);
-        IPage<HomePageNumXYDTO> res = consoleFacade.homePageLevelStatisticsXY(filterOrderPageVO);
+    public void homePageLevelXYExport(HttpServletResponse response, FilterOrderXYPageVO filterOrderXYPageVO) {
+        filterOrderXYPageVO.setCurrent(1L);
+        filterOrderXYPageVO.setSize(Long.MAX_VALUE);
+        filterOrderXYPageVO.setSearchCount(false);
+        IPage<HomePageNumXYDTO> res = consoleFacade.homePageLevelStatisticsXY(filterOrderXYPageVO);
         String fileName = "病案首页合格率占比.xls";
         ExcelUtils.exportExcel(res.getRecords(), null, "sheet1", HomePageNumXYDTO.class, fileName, response, 12.8f);
     }

+ 21 - 10
src/main/java/com/diagbot/facade/ConsoleFacade.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.aggregate.AverageStatisticsAggregate;
-import com.diagbot.aggregate.LeaveHosStatisticsAggregate;
 import com.diagbot.aggregate.MrStatisticsAggregate;
 import com.diagbot.aggregate.ResultStatisticsAggregate;
 import com.diagbot.dto.*;
@@ -22,8 +21,6 @@ import com.google.common.collect.Lists;
 import io.github.lvyahui8.spring.aggregate.facade.DataBeanAggregateQueryFacade;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.ibatis.annotations.Param;
-import org.apache.poi.hssf.record.DVALRecord;
-import org.apache.poi.ss.formula.functions.Na;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
@@ -42,8 +39,6 @@ import java.util.*;
 import java.util.concurrent.*;
 import java.util.stream.Collectors;
 
-import static io.netty.util.internal.SystemPropertyUtil.contains;
-
 /**
  * @Description:
  * @Author:zhaops
@@ -1413,6 +1408,22 @@ public class ConsoleFacade {
         return page;
     }
 
+
+    /**
+     * 缺陷详情(分页)-湘雅
+     *
+     * @param filterPageXYVO
+     * @return
+     */
+    public IPage<EntryNumGroupDTO> entryCountGroupXYByEntryPage(FilterPageXYVO filterPageXYVO) {
+        String hospitalId = SysUserUtils.getCurrentHospitalID();
+        String userId = SysUserUtils.getCurrentPrincipleID();
+        filterPageXYVO.setHospitalId(hospitalId);
+        filterPageXYVO.setUserId(Long.valueOf(userId));
+        IPage<EntryNumGroupDTO> page = qcresultInfoFacade.getBaseMapper().entryCountGroupXYByEntryPage(filterPageXYVO);
+        return page;
+    }
+
     /**
      * 按科室统计平均住院天数(分页)
      *
@@ -2164,15 +2175,15 @@ public class ConsoleFacade {
     /**
      * 医师病案首页合格率占比 湘雅定制
      *
-     * @param filterOrderVO
+     * @param filterOrderXYPageVO
      * @return
      */
-    public IPage<HomePageNumXYDTO> homePageLevelStatisticsXY(FilterOrderPageVO filterOrderVO) {
+    public IPage<HomePageNumXYDTO> homePageLevelStatisticsXY(FilterOrderXYPageVO filterOrderXYPageVO) {
         String hospitalId = SysUserUtils.getCurrentHospitalID();
         String userId = SysUserUtils.getCurrentPrincipleID();
-        filterOrderVO.setHospitalId(hospitalId);
-        filterOrderVO.setUserId(Long.valueOf(userId));
-        IPage<HomePageNumXYDTO> records = behospitalInfoFacade.homePageLevelStatisticsXY(filterOrderVO);
+        filterOrderXYPageVO.setHospitalId(hospitalId);
+        filterOrderXYPageVO.setUserId(Long.valueOf(userId));
+        IPage<HomePageNumXYDTO> records = behospitalInfoFacade.homePageLevelStatisticsXY(filterOrderXYPageVO);
         return records;
     }
 

+ 3 - 21
src/main/java/com/diagbot/mapper/BehospitalInfoMapper.java

@@ -4,25 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.*;
 import com.diagbot.entity.BehospitalInfo;
-import com.diagbot.vo.AnalyzeCodeVO;
-import com.diagbot.vo.AnalyzeVO;
-import com.diagbot.vo.BehospitalPageVO;
-import com.diagbot.vo.CaseScoreVO;
-import com.diagbot.vo.EntryStatisticsVO;
-import com.diagbot.vo.ExportQcresultVO;
-import com.diagbot.vo.FilterMedicalCheckVO;
-import com.diagbot.vo.FilterOrderByDeptVO;
-import com.diagbot.vo.FilterOrderPageVO;
-import com.diagbot.vo.FilterOrderVO;
-import com.diagbot.vo.FilterPageByDeptVO;
-import com.diagbot.vo.FilterPageVO;
-import com.diagbot.vo.FilterUnModifyMRVO;
-import com.diagbot.vo.FilterVO;
-import com.diagbot.vo.MedIndexFilterVO;
-import com.diagbot.vo.QcResultPageVO;
-import com.diagbot.vo.QcResultShortPageVO;
-import com.diagbot.vo.ReBeHosPageVO;
-import com.diagbot.vo.TaskVO;
+import com.diagbot.vo.*;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -168,10 +150,10 @@ public interface BehospitalInfoMapper extends BaseMapper<BehospitalInfo> {
     /**
      * 医师病案首页合格率占比 湘雅定制
      *
-     * @param filterOrderVO
+     * @param filterOrderXYPageVO
      * @return
      */
-    public IPage<HomePageNumXYDTO> homePageLevelStatisticsXY(FilterOrderPageVO  filterOrderVO);
+    public IPage<HomePageNumXYDTO> homePageLevelStatisticsXY(FilterOrderXYPageVO filterOrderXYPageVO);
 
     /**
      * 病历质控报表--扣分项

+ 10 - 0
src/main/java/com/diagbot/mapper/QcresultInfoMapper.java

@@ -12,6 +12,7 @@ import com.diagbot.dto.QcResultPercentDTO;
 import com.diagbot.entity.QcresultInfo;
 import com.diagbot.vo.FilterPageByDeptVO;
 import com.diagbot.vo.FilterPageVO;
+import com.diagbot.vo.FilterPageXYVO;
 import com.diagbot.vo.FilterVO;
 import com.diagbot.vo.QcresultFilterVO;
 import org.apache.ibatis.annotations.Param;
@@ -120,6 +121,15 @@ public interface QcresultInfoMapper extends BaseMapper<QcresultInfo> {
      */
     public IPage<EntryNumGroupDTO> entryCountGroupByEntryPage(@Param("filterPageVO") FilterPageVO filterPageVO);
 
+
+    /**
+     * 缺陷详情(分页)-湘雅
+     *
+     * @param filterPageXYVO
+     * @return
+     */
+    public IPage<EntryNumGroupDTO> entryCountGroupXYByEntryPage(@Param("filterPageXYVO") FilterPageXYVO filterPageXYVO);
+
     /**
      * 各科室质控平均分(分页)
      *

+ 2 - 4
src/main/java/com/diagbot/service/BehospitalInfoService.java

@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.dto.*;
 import com.diagbot.entity.BehospitalInfo;
-import com.diagbot.entity.FilterRecordVO;
 import com.diagbot.vo.*;
 import org.apache.ibatis.annotations.Param;
 
-import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
 
@@ -187,10 +185,10 @@ public interface BehospitalInfoService extends IService<BehospitalInfo> {
     /**
      * 医师病案首页合格率占比 湘雅定制
      *
-     * @param filterOrderVO
+     * @param filterOrderXYPageVO
      * @return
      */
-    public IPage<HomePageNumXYDTO> homePageLevelStatisticsXY(FilterOrderPageVO filterOrderVO);
+    public IPage<HomePageNumXYDTO> homePageLevelStatisticsXY(FilterOrderXYPageVO filterOrderXYPageVO);
 
 
 

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

@@ -220,12 +220,12 @@ public class BehospitalInfoServiceImpl extends ServiceImpl<BehospitalInfoMapper,
     /**
      * 医师病案首页合格率占比 湘雅定制
      *
-     * @param filterOrderVO
+     * @param filterOrderXYPageVO
      * @return
      */
     @Override
-    public IPage<HomePageNumXYDTO> homePageLevelStatisticsXY(FilterOrderPageVO filterOrderVO) {
-        return baseMapper.homePageLevelStatisticsXY(filterOrderVO);
+    public IPage<HomePageNumXYDTO> homePageLevelStatisticsXY(FilterOrderXYPageVO filterOrderXYPageVO) {
+        return baseMapper.homePageLevelStatisticsXY(filterOrderXYPageVO);
     }
 
     /**

+ 8 - 2
src/main/java/com/diagbot/vo/FilterOrderPageVO.java

@@ -14,7 +14,7 @@ import javax.validation.constraints.NotBlank;
  */
 @Getter
 @Setter
-public class FilterOrderPageVO extends Page {
+public class FilterOrderXYPageVO extends Page {
     /**
      * 医院id
      */
@@ -30,6 +30,12 @@ public class FilterOrderPageVO extends Page {
      */
     private String deptName;
 
+    /**
+     * 科室id
+     */
+    private String deptId;
+
+
     /**
      * 医生名称
      */
@@ -41,7 +47,7 @@ public class FilterOrderPageVO extends Page {
     private String doctorId;
 
     /**
-     * 医生职称
+     * 医师类型-取自病案首页医师字段含义
      */
     private String professor;
     /**

+ 94 - 0
src/main/java/com/diagbot/vo/FilterPageXYVO.java

@@ -0,0 +1,94 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/5/14 14:57
+ */
+@Getter
+@Setter
+public class FilterPageXYVO extends Page {
+    /**
+     * 统计维度 1-本月,2-本年
+     */
+    private Integer type;
+    /**
+     * 起始时间
+     */
+    @NotBlank(message = "请输入起始时间")
+    private String startDate;
+    /**
+     * 结束时间
+     */
+    @NotBlank(message = "请输入结束时间")
+    private String endDate;
+    /**
+     * 医院id
+     */
+    @ApiModelProperty(hidden = true)
+    private String hospitalId;
+    /**
+     * 用户id
+     */
+    @ApiModelProperty(hidden = true)
+    private Long userId;
+
+    /**
+     * 缺陷名称
+     */
+    private String name;
+
+    /**
+     * 科室名称
+     */
+    private String deptName;
+
+    /**
+     * 科室id
+     */
+    private String deptId;
+
+
+
+    /**
+     * 医生姓名
+     */
+    private String doctorName;
+
+    /**
+     * 医师类别
+     */
+    private String professor;
+    /**
+     * 模块id:243=病案首页
+     */
+    private Long casesId;
+
+    /**
+     * 模块名称
+     */
+    private String casesName;
+
+    /**
+     * 单项否决
+     */
+    private Integer isReject;
+
+    /**
+     * 规则类型(0:无,1:空项,2:错误)
+     */
+    private Integer ruleType;
+
+    /**
+     * 是否归档(0:未归档,1:已归档)
+     */
+    private String isPlacefile = "1";
+
+}

+ 0 - 2
src/main/java/com/diagbot/vo/UserLoginVO.java

@@ -18,6 +18,4 @@ public class UserLoginVO {
     private String username;
     @NotBlank(message = "请输入密码!")
     private String password;
-   //验证码
-    private String captcha;
 }

+ 3 - 3
src/main/java/com/diagbot/web/ConsoleByDeptController.java

@@ -237,7 +237,7 @@ public class ConsoleByDeptController {
     /**
      * 医师病案首页合格率占比科室 湘雅定制
      *
-     * @param filterOrderPageVO
+     * @param filterOrderXYPageVO
      * @return
      */
     @ApiOperation(value = "病案首页合格率占比[by:zhaops]",
@@ -249,8 +249,8 @@ public class ConsoleByDeptController {
                     "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
     @PostMapping("/homePageLevelStatisticsXYByDept")
     @SysLogger("homePageLevelStatisticsXYByDept")
-    public RespDTO<IPage<HomePageNumXYDTO>> homePageLevelStatisticsXY(@RequestBody @Valid FilterOrderPageVO filterOrderPageVO) {
-        return RespDTO.onSuc(consoleFacade.homePageLevelStatisticsXY(filterOrderPageVO));
+    public RespDTO<IPage<HomePageNumXYDTO>> homePageLevelStatisticsXY(@RequestBody @Valid FilterOrderXYPageVO filterOrderXYPageVO) {
+        return RespDTO.onSuc(consoleFacade.homePageLevelStatisticsXY(filterOrderXYPageVO));
     }
 
     /**

+ 3 - 8
src/main/java/com/diagbot/web/ConsoleByDeptExportController.java

@@ -1,10 +1,6 @@
 package com.diagbot.web;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
-import com.diagbot.dto.DeptEntryNumDTO;
-import com.diagbot.dto.EntryStasByDeptDTO;
-import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.ConsoleByDeptExportFacade;
 import com.diagbot.facade.ConsoleExportFacade;
 import com.diagbot.vo.*;
@@ -18,7 +14,6 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
-import java.util.List;
 
 /**
  * @Description:
@@ -61,7 +56,7 @@ public class ConsoleByDeptExportController {
     /**
      * 病案首页合格率占比导出-湘雅-科室
      *
-     * @param filterOrderPageVO
+     * @param filterOrderXYPageVO
      * @return
      */
     @ApiOperation(value = "病案首页合格率占比导出[by:gaodm]",
@@ -73,8 +68,8 @@ public class ConsoleByDeptExportController {
                     "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
     @PostMapping("/homePageLevelXYExportByDept")
     @SysLogger("homePageLevelXYExportByDept")
-    public void homePageLevelXYExport(HttpServletResponse response, @RequestBody @Valid FilterOrderPageVO filterOrderPageVO) {
-        consoleExportFacade.homePageLevelXYExport(response, filterOrderPageVO);
+    public void homePageLevelXYExport(HttpServletResponse response, @RequestBody @Valid FilterOrderXYPageVO filterOrderXYPageVO) {
+        consoleExportFacade.homePageLevelXYExport(response, filterOrderXYPageVO);
     }
 
     /**

+ 23 - 4
src/main/java/com/diagbot/web/ConsoleController.java

@@ -3,7 +3,6 @@ package com.diagbot.web;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.*;
-import com.diagbot.entity.FilterRecordVO;
 import com.diagbot.facade.ConsoleFacade;
 import com.diagbot.vo.*;
 import io.swagger.annotations.Api;
@@ -323,6 +322,26 @@ public class ConsoleController {
         return RespDTO.onSuc(consoleFacade.entryCountGroupByEntryPage(filterPageVO));
     }
 
+    /**
+     * 条目缺陷占比(分页)-湘雅
+     *
+     * @param filterPageXYVO
+     * @return
+     */
+    @ApiOperation(value = "缺陷详情(分页)[by:zhaops]",
+            notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
+                    "deptName: 科室名称 <br>" +
+                    "casesId: 模块id:243=病案首页 <br>" +
+                    "casesName: 模块名称 <br>" +
+                    "isReject: 单项否决 1-否决,0-非<br>" +
+                    "ruleType: 规则类型 0:无,1:空项,2:错误<br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/entryCountGroupXYByEntryPage")
+    @SysLogger("entryCountGroupXYByEntryPage")
+    public RespDTO<IPage<EntryNumGroupDTO>> entryCountGroupXYByEntryPage(@RequestBody @Valid FilterPageXYVO filterPageXYVO) {
+        return RespDTO.onSuc(consoleFacade.entryCountGroupXYByEntryPage(filterPageXYVO));
+    }
+
     /**
      * 按科室统计平均住院天数(分页)
      *
@@ -477,7 +496,7 @@ public class ConsoleController {
     /**
      * 医师病案首页合格率占比 湘雅定制
      *
-     * @param filterOrderPageVO
+     * @param filterOrderXYPageVO
      * @return
      */
     @ApiOperation(value = "病案首页合格率占比[by:zhaops]",
@@ -489,8 +508,8 @@ public class ConsoleController {
                     "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
     @PostMapping("/homePageLevelStatisticsXY")
     @SysLogger("homePageLevelStatisticsXY")
-    public RespDTO<IPage<HomePageNumXYDTO>> homePageLevelStatisticsXY(@RequestBody @Valid FilterOrderPageVO filterOrderPageVO) {
-        return RespDTO.onSuc(consoleFacade.homePageLevelStatisticsXY(filterOrderPageVO));
+    public RespDTO<IPage<HomePageNumXYDTO>> homePageLevelStatisticsXY(@RequestBody @Valid FilterOrderXYPageVO filterOrderXYPageVO) {
+        return RespDTO.onSuc(consoleFacade.homePageLevelStatisticsXY(filterOrderXYPageVO));
     }
 
     /**

+ 3 - 6
src/main/java/com/diagbot/web/ConsoleExportController.java

@@ -1,9 +1,6 @@
 package com.diagbot.web;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
-import com.diagbot.dto.QcResultShortDTO;
-import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.ConsoleExportFacade;
 import com.diagbot.vo.*;
 import io.swagger.annotations.Api;
@@ -53,7 +50,7 @@ public class ConsoleExportController {
     /**
      * 病案首页合格率占比导出-湘雅
      *
-     * @param filterOrderPageVO
+     * @param filterOrderXYPageVO
      * @return
      */
     @ApiOperation(value = "病案首页合格率占比导出[by:gaodm]",
@@ -65,8 +62,8 @@ public class ConsoleExportController {
                     "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
     @PostMapping("/homePageLevelXYExport")
     @SysLogger("homePageLevelXYExport")
-    public void homePageLevelXYExport(HttpServletResponse response, @RequestBody @Valid FilterOrderPageVO filterOrderPageVO) {
-        consoleExportFacade.homePageLevelXYExport(response, filterOrderPageVO);
+    public void homePageLevelXYExport(HttpServletResponse response, @RequestBody @Valid FilterOrderXYPageVO filterOrderXYPageVO) {
+        consoleExportFacade.homePageLevelXYExport(response, filterOrderXYPageVO);
     }
 
 

+ 175 - 0
src/main/resources/mapper/QcresultInfoMapper.xml

@@ -1786,6 +1786,181 @@
         )t
     </select>
 
+    <!-- 缺陷详情(分页)湘雅 -->
+    <select id="entryCountGroupXYByEntryPage"  resultType="com.diagbot.dto.EntryNumGroupDTO">
+        SELECT
+        t.*
+        FROM
+        (
+        SELECT
+        t1.id,
+        t1.NAME,
+        t1.casesId,
+        t1.casesName,
+        t1.ruleType,
+        t1.isReject,
+        t1.num,
+        t2.totleNum,
+        ROUND( t1.num / t2.totleNum, 4 ) AS percent,
+        CONCAT( ROUND( t1.num / t2.totleNum * 100, 2 ), '%' ) AS percentStr
+        FROM
+        (
+        SELECT
+        tt2.id AS id,
+        tt2.NAME AS NAME,
+        tt2.cases_id AS casesId,
+        tt2.cases_name AS casesName,
+        tt1.num,
+        tt2.rule_type AS ruleType,
+        tt1.is_reject AS isReject
+        FROM
+        (
+        SELECT
+        d.cases_id,
+        d.cases_entry_id,
+        d.is_reject,
+        count(*) AS num
+        FROM
+        med_behospital_info a,
+        med_home_page b,
+        med_qcresult_detail d
+        WHERE
+        a.is_deleted = 'N'
+        AND b.is_deleted = 'N'
+        AND d.is_deleted = 'N'
+        AND a.hospital_id = b.hospital_id
+        AND a.hospital_id = d.hospital_id
+        AND a.behospital_code = b.behospital_code
+        AND a.behospital_code = d.behospital_code
+        <if test="filterPageVO.isPlacefile != null and filterPageVO.isPlacefile != ''">
+            and a.is_placefile = #{filterPageVO.isPlacefile}
+        </if>
+        AND a.qc_type_id != 0
+        <if test="filterPageVO.hospitalId != null and filterPageVO.hospitalId != ''">
+            AND a.hospital_id = #{filterPageVO.hospitalId}
+        </if>
+        <if test="filterPageVO.isPlacefile != null and filterPageVO.isPlacefile == 0">
+            <if test="filterPageVO.startDate != null and filterPageVO.startDate != ''">
+                <![CDATA[ AND a.behospital_date >= #{filterPageVO.startDate}]]>
+            </if>
+            <if test="filterPageVO.endDate != null and filterPageVO.endDate != ''">
+                <![CDATA[ AND a.behospital_date <= #{filterPageVO.endDate}]]>
+            </if>
+        </if>
+        <if test="filterPageVO.isPlacefile != null and filterPageVO.isPlacefile == 1">
+            <if test="filterPageVO.startDate != null and filterPageVO.startDate != ''">
+                <![CDATA[ AND a.leave_hospital_date >= #{filterPageVO.startDate}]]>
+            </if>
+            <if test="filterPageVO.endDate != null and filterPageVO.endDate != ''">
+                <![CDATA[ AND a.leave_hospital_date <= #{filterPageVO.endDate}]]>
+            </if>
+        </if>
+        <if test="filterPageVO.deptName != null and filterPageVO.deptName != ''">
+            AND a.beh_dept_name = #{filterPageVO.deptName}
+        </if>
+        <if test="filterPageVO.deptId != null and filterPageVO.deptId != ''">
+            AND a.beh_dept_id = #{filterPageVO.deptId}
+        </if>
+        <if test="filterPageVO.doctorName != null and filterPageVO.doctorName != ''">
+            AND (case
+            when a.doctor_id != '' and a.doctor_id is not null then a.doctor_id
+            when (a.doctor_id = '' or a.doctor_id is null) and
+            a.director_doctor_id != '' and a.director_doctor_id is not null
+            then a.director_doctor_id
+            when (a.doctor_id = '' or a.doctor_id is null) and
+            (a.director_doctor_id = '' or a.director_doctor_id is null) and
+            a.beh_doctor_id != '' and a.beh_doctor_id is not null
+            then a.beh_doctor_id end)= #{filterPageVO.doctorName}
+        </if>
+        <if test="filterPageVO.casesId != null and filterPageVO.casesId != 0">
+            AND d.cases_id = #{filterPageVO.casesId}
+        </if>
+        <if test="filterPageVO.isReject != null">
+            AND d.is_reject = #{filterPageVO.isReject}
+        </if>
+        GROUP BY
+        d.cases_entry_id,
+        d.cases_id
+        ) tt1,
+        qc_cases_entry tt2
+        WHERE
+        tt2.is_deleted = 'N'
+        AND tt1.cases_id = tt2.cases_id
+        AND tt1.cases_entry_id = tt2.id
+        <if test="filterPageVO.casesName != null and filterPageVO.casesName != ''">
+            AND tt2.cases_name like CONCAT('%', #{filterPageVO.casesName},'%')
+        </if>
+        <if test="filterPageVO.name != null and filterPageVO.name != ''">
+            AND tt2.name like CONCAT('%', #{filterPageVO.name},'%')
+        </if>
+        <if test="filterPageVO.ruleType != null">
+            AND tt2.rule_type = #{filterPageVO.ruleType}
+        </if>
+        ) t1,(
+        SELECT
+        count(*) AS totleNum
+        FROM
+        med_behospital_info a,
+        med_qcresult_detail d,
+        qc_cases_entry e
+        WHERE
+        a.is_deleted = 'N'
+        AND d.is_deleted = 'N'
+        AND e.is_deleted = 'N'
+        AND a.hospital_id = d.hospital_id
+        AND a.behospital_code = d.behospital_code
+        <if test="filterPageVO.isPlacefile != null and filterPageVO.isPlacefile != ''">
+            and a.is_placefile = #{filterPageVO.isPlacefile}
+        </if>
+        AND e.cases_id = d.cases_id
+        AND e.id = d.cases_entry_id
+        AND a.qc_type_id != 0
+        <if test="filterPageVO.hospitalId != null and filterPageVO.hospitalId != ''">
+            AND a.hospital_id = #{filterPageVO.hospitalId}
+        </if>
+        <if test="filterPageVO.isPlacefile != null and filterPageVO.isPlacefile == 0">
+            <if test="filterPageVO.startDate != null and filterPageVO.startDate != ''">
+                <![CDATA[ AND a.behospital_date >= #{filterPageVO.startDate}]]>
+            </if>
+            <if test="filterPageVO.endDate != null and filterPageVO.endDate != ''">
+                <![CDATA[ AND a.behospital_date <= #{filterPageVO.endDate}]]>
+            </if>
+        </if>
+        <if test="filterPageVO.isPlacefile != null and filterPageVO.isPlacefile == 1">
+            <if test="filterPageVO.startDate != null and filterPageVO.startDate != ''">
+                <![CDATA[ AND a.leave_hospital_date >= #{filterPageVO.startDate}]]>
+            </if>
+            <if test="filterPageVO.endDate != null and filterPageVO.endDate != ''">
+                <![CDATA[ AND a.leave_hospital_date <= #{filterPageVO.endDate}]]>
+            </if>
+        </if>
+        <if test="filterPageVO.doctorName != null and filterPageVO.doctorName != ''">
+            AND (case
+            when a.doctor_id != '' and a.doctor_id is not null then a.doctor_id
+            when (a.doctor_id = '' or a.doctor_id is null) and
+            a.director_doctor_id != '' and a.director_doctor_id is not null
+            then a.director_doctor_id
+            when (a.doctor_id = '' or a.doctor_id is null) and
+            (a.director_doctor_id = '' or a.director_doctor_id is null) and
+            a.beh_doctor_id != '' and a.beh_doctor_id is not null
+            then a.beh_doctor_id end)= #{filterPageVO.doctorName}
+        </if>
+        <if test="filterPageVO.deptName != null and filterPageVO.deptName != ''">
+            AND a.beh_dept_name  =  #{filterPageVO.deptName}
+        </if>
+        <if test="filterPageVO.deptId != null and filterPageVO.deptId != ''">
+            AND a.beh_dept_id = #{filterPageVO.deptId}
+        </if>
+        <if test="filterPageVO.isReject != null">
+            AND d.is_reject = #{filterPageVO.isReject}
+        </if>
+        <if test="filterPageVO.ruleType != null">
+            AND e.rule_type = #{filterPageVO.ruleType}
+        </if>
+        ) t2
+        )t
+    </select>
+
     <!-- 质控平均分按科室统计(分页) -->
     <select id="getAverageScoreByDeptPage"  resultType="com.diagbot.dto.AverageStatisticsDTO">
         SELECT t.*