chengyao vor 4 Jahren
Ursprung
Commit
cfccf13475

+ 3 - 2
src/main/java/com/diagbot/aggregate/HomePageStatisticsAggregate.java

@@ -1,6 +1,7 @@
 package com.diagbot.aggregate;
 
 import com.diagbot.dto.HomePageImproveDTO;
+import com.diagbot.dto.HomePageByDeptDTO;
 import com.diagbot.dto.HomePageNumDTO;
 import com.diagbot.dto.NumDTO;
 import com.diagbot.facade.BehospitalInfoFacade;
@@ -27,8 +28,8 @@ public class HomePageStatisticsAggregate {
     @DataProvider("setAllHomePage")
     public Map<String, Object> setAllHomePage(
             @InvokeParameter("filterVO") FilterVO filterVO,
-            @DataConsumer("getQcNumDTO") HomePageNumDTO qcNumDTO,
-            @DataConsumer("getEmptyNumDTO") HomePageNumDTO emptyNumDTO,
+            @DataConsumer("getQcNumDTO") HomePageByDeptDTO qcNumDTO,
+            @DataConsumer("getEmptyNumDTO") HomePageByDeptDTO emptyNumDTO,
             @DataConsumer("getImproveDTO") HomePageImproveDTO improveDTO) {
         Map<String, Object> retMap = new LinkedHashMap<>();
         retMap.put("合格率", null);

+ 118 - 0
src/main/java/com/diagbot/dto/HomePageByDeptDTO.java

@@ -0,0 +1,118 @@
+package com.diagbot.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:病案首页合格率占比返回结构
+ * @Author:zhaops
+ * @time: 2020/6/5 17:32
+ */
+@Getter
+@Setter
+public class HomePageByDeptDTO {
+    /**
+     * 科室id(科室编码)
+     */
+    private String deptId;
+    /**
+     * 科室名称
+     */
+    private String deptName;
+    /**
+     * 主管医生id
+     */
+    private String doctorId;
+    /**
+     * 主管医生名称
+     */
+    @Excel(name = "主管医生", width = 30, orderNum = "1")
+    private String doctorName;
+    /**
+     * 缺陷条目数
+     */
+    @Excel(name = "缺陷总数", orderNum = "2")
+    private Integer entryNum = 0;
+    /**
+     * 病案首页不合格病历数
+     */
+    @Excel(name = "不合格数", orderNum = "3")
+    private Integer secondLevelNum = 0;
+    /**
+     * 质控病历数
+     */
+    @Excel(name = "质控病历数", orderNum = "11")
+    private Integer mrNum = 0;
+    /**
+     * 质控评分(总分)
+     */
+    private Double totleValue = 0d;
+    /**
+     * 质控评分(平均分)
+     */
+    @Excel(name = "质控平均分", orderNum = "10")
+    private Double averageValue = 0d;
+    /**
+     * 病案首页合格病历数
+     */
+    @Excel(name = "合格数", orderNum = "4")
+    private Integer firstLevelNum = 0;
+    /**
+     * 病案首页合格病历占比
+     */
+    private Double firstLevelPercent = 0.00d;
+    /**
+     * 病案首页不合格病历占比
+     */
+    private Double secondLevelPercent = 0.00d;
+    /**
+     * 病案首页合格病历占比(百分比)
+     */
+    @Excel(name = "合格率", orderNum = "5")
+    private String firstLevelPercentStr = "0.00%";
+    /**
+     * 病案首页不合格病历占比(百分比)
+     */
+    private String secondLevelPercentStr = "0.00%";
+    /**
+     * 上级科室id(上级科室编码)
+     */
+    private String deptClassId;
+    /**
+     * 上级科室名称
+     */
+    private String deptClass;
+    /**
+     * 空项数
+     */
+    @Excel(name = "空项数", orderNum = "6")
+    private Integer emptyNum = 0;
+    /**
+     * 错误数
+     */
+    @Excel(name = "错误数", orderNum = "8")
+    private Integer errorNum = 0;
+    /**
+     * 完整率、完善率分母(质控病历数*病案首页条目数)
+     */
+    private Integer entryTotleNum = 0;
+    /**
+     * 完整率
+     */
+    private Double emptyPercent = 0.00d;
+    /**
+     * 完善率
+     */
+    private Double errorPercent = 0.00d;
+    /**
+     * 完整率(百分比)
+     */
+    @Excel(name = "完整率", orderNum = "7")
+    private String emptyPercentStr = "0.00%";
+    /**
+     * 完善率(百分比)
+     */
+    @Excel(name = "完善率", orderNum = "9")
+    private String errorPercentStr = "0.00%";
+}

+ 44 - 0
src/main/java/com/diagbot/facade/BasDoctorInfoFacade.java

@@ -0,0 +1,44 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.BasDeptInfoDTO;
+import com.diagbot.entity.BasDoctorInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.impl.BasDoctorInfoServiceImpl;
+import com.diagbot.util.SysUserUtils;
+import com.diagbot.vo.BasDeptInfoVO;
+import com.diagbot.vo.data.BasDoctorInfoVO;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: cy
+ * @time: 2020/12/24 14:38
+ */
+@Component
+public class BasDoctorInfoFacade extends BasDoctorInfoServiceImpl {
+
+    /**
+     * 获取医院医生下拉列表信息
+     *
+     * @param basDoctorInfoVO
+     * @return 医院医生下拉列表信息
+     */
+    public List<BasDoctorInfo> getDoctorByDept(BasDoctorInfoVO basDoctorInfoVO) {
+        basDoctorInfoVO.setHospitalId(Long.valueOf(SysUserUtils.getCurrentHospitalID()));
+        QueryWrapper<BasDoctorInfo> QueryWrapper = new QueryWrapper<>();
+        QueryWrapper.eq("hospital_id",basDoctorInfoVO.getHospitalId());
+        QueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        QueryWrapper.eq("dept_id",basDoctorInfoVO.getDeptId());
+        if(StringUtils.isNotEmpty(basDoctorInfoVO.getInputStr())){
+            QueryWrapper.like("name",basDoctorInfoVO.getInputStr());
+        }
+        QueryWrapper.orderByAsc("name");
+        List<BasDoctorInfo> list = this.list(QueryWrapper);
+        return list;
+    }
+
+}

+ 586 - 0
src/main/java/com/diagbot/facade/ConsoleByDeptExportFacade.java

@@ -0,0 +1,586 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.*;
+import com.diagbot.util.*;
+import com.diagbot.vo.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * @Description: 报表导出装饰层
+ * @author: gaodm
+ * @time: 2020/6/18 10:41
+ */
+@Component
+public class ConsoleByDeptExportFacade {
+
+    @Autowired
+    private ConsoleByDeptFacade consoleByDeptFacade;
+    @Autowired
+    private BehospitalInfoFacade behospitalInfoFacade;
+    @Autowired
+    private SysHospitalSetFacade sysHospitalSetFacade;
+    @Autowired
+    private FilterFacade filterFacade;
+
+    /**
+     * 病案首页合格率占比
+     *
+     * @param filterOrderByDeptVO
+     * @return
+     */
+    public void homePageLevelExportByDept(HttpServletResponse response, FilterOrderByDeptVO filterOrderByDeptVO) {
+        List<HomePageByDeptDTO> res = consoleByDeptFacade.homePageLevelStatisticsByDept(filterOrderByDeptVO);
+        String fileName = "病案首页合格率占比.xls";
+        ExcelUtils.exportExcel(res, null, "sheet1", HomePageByDeptDTO.class, fileName, response, 12.8f);
+    }
+/*
+    *//**
+     * 条目缺陷占比(内页)
+     *
+     * @param filterPageVO
+     * @return
+     *//*
+    public void entryGroupByEntryExport(HttpServletResponse response, FilterPageVO filterPageVO) {
+        filterPageVO.setCurrent(1L);
+        filterPageVO.setSize(Long.MAX_VALUE);
+        filterPageVO.setSearchCount(false);
+        IPage<EntryNumDTO> page = consoleFacade.entryGroupByEntryInnerPage(filterPageVO);
+        String fileName = "条目缺陷占比.xls";
+        ExcelUtils.exportExcel(page.getRecords(), null, "sheet1", EntryNumDTO.class, fileName, response, 12.8f);
+    }
+
+    *//**
+     * 稽查统计导出(首页)
+     *
+     * @param filterVO
+     * @return
+     *//*
+    public void medicalCheckExport(HttpServletResponse response, FilterMedicalCheckVO filterVO) {
+        filterVO.setCurrent(1L);
+        filterVO.setSize(Long.MAX_VALUE);
+        filterVO.setSearchCount(false);
+        String fileName = null;
+        if ( "1".equals(filterVO.getIsPlacefile())) {
+            fileName = "终末病历稽查表.xls";
+        } else {
+            fileName = "运行病历稽查表.xls";
+        }
+        List<MedicalCheckExportDTO> records = consoleFacade.medicalCheckExport(filterVO);
+        ExcelUtils.exportExcel(records, null, "sheet1", MedicalCheckExportDTO.class, fileName, response, 15.8f);
+    }
+
+    *//**
+     * 各科室缺陷占比(组合)
+     *
+     * @param filterOrderVO
+     * @return
+     *//*
+    public void levelExport(HttpServletResponse response, FilterOrderVO filterOrderVO) {
+        List<LevelStatisticsDTO> records = consoleFacade.levelStatisticsStr(filterOrderVO);
+        String fileName = "各科室缺陷占比.xls";
+        ExcelUtils.exportExcel(records, null, "sheet1", LevelStatisticsDTO.class, fileName, response, 12.8f);
+    }
+
+    *//**
+     * 各科室缺陷占比(组合)-台州-导出
+     *
+     * @param filterOrderVO
+     * @return
+     *//*
+    public void levelExport_TZ(HttpServletResponse response, FilterOrderVO filterOrderVO) {
+        List<LevelStatisticsTZDTO> records = consoleFacade.levelStatisticsByDeptStr_TZ(filterOrderVO);
+        String fileName = "各科室缺陷占比-台州.xls";
+        ExcelUtils.exportExcel(records, null, "sheet1", LevelStatisticsTZDTO.class, fileName, response, 12.8f);
+    }
+
+    *//**
+     * 按科室统计平均住院天数导出
+     *
+     * @param filterPageByAverageVO
+     * @return
+     *//*
+    public void getAverageDayNumExport(HttpServletResponse response, FilterPageByAverageVO filterPageByAverageVO) {
+        filterPageByAverageVO.setCurrent(1L);
+        filterPageByAverageVO.setSize(Long.MAX_VALUE);
+        filterPageByAverageVO.setSearchCount(false);
+        IPage<AverageStatisticsDTO> page = consoleFacade.getAverageDayNumPage(filterPageByAverageVO);
+        String fileName = " 按科室统计平均住院天数.xls";
+
+        if (filterPageByAverageVO.getType() == 2) {
+            ExcelUtils.exportExcel(page.getRecords(), null, "sheet1", AverageStatisticsDTO.class, fileName, response, 12.8f);
+        }
+        if (filterPageByAverageVO.getType() == 1) {
+            List<AverageStatisticsMonthDTO> list = BeanUtil.listCopyTo(page.getRecords(), AverageStatisticsMonthDTO.class);
+            ExcelUtils.exportExcel(list, null, "sheet1", AverageStatisticsMonthDTO.class, fileName, response, 12.8f);
+        }
+
+    }
+
+    *//**
+     * 按科室统计平均住院费用导出
+     *
+     * @param filterPageByAverageVO
+     * @return
+     *//*
+    public void getAverageFeeExport(HttpServletResponse response, FilterPageByAverageVO filterPageByAverageVO) {
+        filterPageByAverageVO.setCurrent(1L);
+        filterPageByAverageVO.setSize(Long.MAX_VALUE);
+        filterPageByAverageVO.setSearchCount(false);
+        IPage<AverageStatisticsFeeDTO> page = consoleFacade.getAverageFeePage(filterPageByAverageVO);
+        String fileName = " 按科室统计平均住院费用.xls";
+
+        if (filterPageByAverageVO.getType() == 2) {
+            ExcelUtils.exportExcel(page.getRecords(), null, "sheet1", AverageStatisticsFeeDTO.class, fileName, response, 12.8f);
+        }
+        if (filterPageByAverageVO.getType() == 1) {
+            List<AverageStatisticsFeeMonthDTO> list = BeanUtil.listCopyTo(page.getRecords(), AverageStatisticsFeeMonthDTO.class);
+            ExcelUtils.exportExcel(list, null, "sheet1", AverageStatisticsFeeMonthDTO.class, fileName, response, 12.8f);
+        }
+    }
+
+    *//**
+     * 各科室甲级病历占比排行导出
+     *
+     * @param filterPageVO
+     * @return
+     *//*
+    public void levelPercentGroupByDeptExport(HttpServletResponse response, FilterPageVO filterPageVO) {
+        filterPageVO.setCurrent(1L);
+        filterPageVO.setSize(Long.MAX_VALUE);
+        filterPageVO.setSearchCount(false);
+        IPage<QcResultPercentDTO> page = consoleFacade.levelPercentGroupByDeptPage(filterPageVO);
+        String fileName = " 各科室甲级病历占比排行.xls";
+        ExcelUtils.exportExcel(page.getRecords(), null, "sheet1", QcResultPercentDTO.class, fileName, response, 12.8f);
+    }
+
+    *//**
+     * 缺陷详情导出
+     *
+     * @param filterPageVO
+     * @return
+     *//*
+    public void entryCountGroupByEntryExport(HttpServletResponse response, FilterPageVO filterPageVO) {
+        filterPageVO.setCurrent(1L);
+        filterPageVO.setSize(Long.MAX_VALUE);
+        filterPageVO.setSearchCount(false);
+        IPage<EntryNumGroupDTO> page = consoleFacade.entryCountGroupByEntryPage(filterPageVO);
+        String fileName = "缺陷详情.xls";
+        ExcelUtils.exportExcel(page.getRecords(), null, "sheet1", EntryNumGroupDTO.class, fileName, response, 12.8f);
+    }
+
+
+    *//**
+     * 各模块缺陷占比导出
+     *
+     * @param filterPageVO
+     * @return
+     *//*
+    public void entryCountGroupByCaseExport(HttpServletResponse response, FilterPageVO filterPageVO) {
+        filterPageVO.setCurrent(1L);
+        filterPageVO.setSize(Long.MAX_VALUE);
+        filterPageVO.setSearchCount(false);
+        IPage<NumDTO> page = consoleFacade.entryCountGroupByCasePage(filterPageVO);
+        String fileName = "缺陷详情.xls";
+        ExcelUtils.exportExcel(page.getRecords(), null, "sheet1", NumDTO.class, fileName, response, 12.8f);
+    }
+
+    *//**
+     * 关键条目缺陷占比统计
+     *
+     * @param entryStatisticsVO
+     * @return
+     *//*
+    public void entryStatisticsExport(HttpServletResponse response, EntryStatisticsVO entryStatisticsVO) {
+        List<EntryStatisticsDTO> records = consoleFacade.entryStatistics(entryStatisticsVO);
+        String fileName = "关键条目缺陷占比统计.xls";
+        ExcelUtils.exportExcel(records, null, "sheet1", EntryStatisticsDTO.class, fileName, response, 12.8f);
+    }
+
+    *//**
+     * 缺陷详情质控评分页导出
+     *
+     * @param qcResultShortPageVO
+     * @return
+     *//*
+    public void qcResultShortPageExport(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();
+        //时间间隔90天
+        long interval = 90l * 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);
+        List<ExportExcelDTO> record = behospitalInfoFacade.qcResultShortPageExport(qcResultShortPageVO);
+        String fileName = "缺陷详情质控评分页.xls";
+        ExcelUtils.exportExcelUser(record, null, "sheet1", ExportExcelDTO.class, fileName, response);
+    }
+
+    *//**
+     * 出院人数统计导出
+     *
+     * @param qcResultShortPageVO
+     * @return
+     *//*
+    public void leaveHosMrPageExport(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_7 = 7 * 24 * 60 * 60 * 1000;
+        long interval_90 = 90l * 24 * 60 * 60 * 1000;
+
+        if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            //时间间隔7天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_7) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+            }
+        }else{
+            //时间间隔90天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_90) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于90天");
+            }
+        }
+
+        qcResultShortPageVO.setCurrent(1L);
+        qcResultShortPageVO.setSize(Long.MAX_VALUE);
+        qcResultShortPageVO.setSearchCount(false);
+        List<ExportExcelDTO> records = behospitalInfoFacade.leaveHosMRPageExport(qcResultShortPageVO);
+        List<ExportWideExcelDTO> resWide = new ArrayList<ExportWideExcelDTO>();
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            resWide = transList(records, resWide);
+        }
+        String fileName = "出院人数统计.xls";
+          if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(records, null, "sheet1", ExportExcelDTO.class, fileName, response);
+        }
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(resWide, null, "sheet1", ExportWideExcelDTO.class, fileName, response);
+        }
+    }
+
+    public List<ExportWideExcelDTO> transList(List<ExportExcelDTO>res, List<ExportWideExcelDTO>resWide){
+        if(ListUtil.isNotEmpty(res)){
+            res.forEach(exportExcelDTO->{
+                ExportWideExcelDTO exportWideExcelDTO = new ExportWideExcelDTO();
+                exportWideExcelDTO.setAvgScore(exportExcelDTO.getAvgScore());
+                exportWideExcelDTO.setBehDeptName(exportExcelDTO.getBehDeptName());
+                List<ExportExcelBehospitalDTO> excelBehospitalDTOS = exportExcelDTO.getExcelBehospitalDTOS();
+                List<ExportExcelWideBehospitalDTO> exportExcelWideBehospitalDTOs = new ArrayList<>();
+                excelBehospitalDTOS.forEach(exportExcelBehospitalDTO->{
+                    ExportExcelWideBehospitalDTO exportExcelWideBehospitalDTO = new ExportExcelWideBehospitalDTO();
+                    exportExcelWideBehospitalDTO.setBehDoctorName(exportExcelBehospitalDTO.getBehDoctorName());
+                    exportExcelWideBehospitalDTO.setBehospitalCode(exportExcelBehospitalDTO.getBehospitalCode());
+                    exportExcelWideBehospitalDTO.setBehospitalDate(exportExcelBehospitalDTO.getBehospitalDate());
+                    exportExcelWideBehospitalDTO.setLeaveHospitalDate(exportExcelBehospitalDTO.getLeaveHospitalDate());
+                    exportExcelWideBehospitalDTO.setPatName(exportExcelBehospitalDTO.getPatName());
+                    exportExcelWideBehospitalDTO.setScore(exportExcelBehospitalDTO.getScore());
+                    exportExcelWideBehospitalDTO.setScoreBn(exportExcelBehospitalDTO.getScoreBn());
+                    exportExcelWideBehospitalDTOs.add(exportExcelWideBehospitalDTO);
+                });
+                exportWideExcelDTO.setExcelBehospitalDTOS(exportExcelWideBehospitalDTOs);
+                resWide.add(exportWideExcelDTO);
+            });
+        }
+        return resWide;
+    }
+
+    *//**
+     * 质控核查统计导出
+     *
+     * @param filterOrderVO
+     * @return
+     *//*
+    public void qcCheckStatisticsExport(HttpServletResponse response, FilterOrderVO filterOrderVO) {
+        List<HomePageImproveDTO> records = consoleFacade.qcCheckStatistics(filterOrderVO);
+        String fileName = "质控核查统计.xls";
+        ExcelUtils.exportExcel(records, null, "sheet1", HomePageImproveDTO.class, fileName, response, 12.8f);
+    }
+
+    *//**
+     * 未整改病历详情页导出
+     *
+     * @param qcResultShortPageVO
+     * @return
+     *//*
+    public void unModifyMRPageExport(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 = 90l * 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);
+        List<ExportExcelDTO> records = behospitalInfoFacade.unModifyMRPageExport(qcResultShortPageVO);
+        String fileName = "未整改病历详情页.xls";
+        ExcelUtils.exportExcelUser(records, null, "sheet1", ExportExcelDTO.class, fileName, response);
+    }
+
+    *//**
+     * 病案首页不合格/合格数
+     *
+     * @param qcResultShortPageVO
+     * @return
+     *//*
+    public void badLevelPagePageExport(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_7 = 7 * 24 * 60 * 60 * 1000;
+        long interval_90 = 90l * 24 * 60 * 60 * 1000;
+
+        if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            //时间间隔7天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_7) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+            }
+        }else{
+            //时间间隔90天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_90) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于90天");
+            }
+        }
+
+        qcResultShortPageVO.setCurrent(1L);
+        qcResultShortPageVO.setSize(Long.MAX_VALUE);
+        qcResultShortPageVO.setSearchCount(false);
+        List<ExportExcelDTO> records = behospitalInfoFacade.badLevelPagePageExport(qcResultShortPageVO);
+        List<ExportWideExcelDTO> resWide = new ArrayList<ExportWideExcelDTO>();
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            resWide = transList(records, resWide);
+        }
+        String fileName = null;
+        if("不合格数".equals(qcResultShortPageVO.getTitleName())){
+            fileName = "病案首页不合格数病历详情页.xls";
+        }else{
+            fileName = "病案首页合格数病历详情页.xls";
+        }
+        if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(records, null, "sheet1", ExportExcelDTO.class, fileName, response);
+        }
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(resWide, null, "sheet1", ExportWideExcelDTO.class, fileName, response);
+        }
+   }
+
+    *//**
+     * 未整改病历统计导出
+     *
+     * @param response
+     * @param filterUnModifyMRVO
+     *//*
+    public void unModifyMRStatisticsExport(HttpServletResponse response, FilterUnModifyMRVO filterUnModifyMRVO) {
+        filterFacade.filterUnModifyMRVOSet(filterUnModifyMRVO);
+        List<ExcelExportEntity> colList = Lists.newLinkedList();
+        ExcelExportEntity deptNameCol = new ExcelExportEntity("科室", "deptName");
+        deptNameCol.setWidth(50);
+        colList.add(deptNameCol);
+
+        QueryWrapper<SysHospitalSet> hospitalSetQueryWrapper = new QueryWrapper<>();
+        hospitalSetQueryWrapper.eq("is_deleted", 'N')
+                .eq("hospital_id", filterUnModifyMRVO.getHospitalId())
+                .eq("code", "unmodify_mr_entry");
+        SysHospitalSet hospitalSet = sysHospitalSetFacade.getOne(hospitalSetQueryWrapper);
+        //缺陷条目未维护
+        if (hospitalSet == null || StringUtil.isBlank(hospitalSet.getValue())) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "未整改病历条目未设置");
+        }
+
+        List<String> columnSet = Arrays.asList(hospitalSet.getValue().split(","));
+        for (String valueStr : columnSet) {
+            if (StringUtil.isBlank(valueStr)) {
+                continue;
+            }
+            String[] keyValue = valueStr.split("--");
+            if (keyValue != null || keyValue.length > 1) {
+                ExcelExportEntity entryCol = new ExcelExportEntity(keyValue[1], "entry_" + keyValue[0] + "_num");
+                entryCol.setWidth(20);
+                colList.add(entryCol);
+            }
+        }
+        UnModifyMRDTO unModifyMRDTO = consoleFacade.unModifyMRStatistics(filterUnModifyMRVO);
+        List<Object> data = Lists.newLinkedList();
+        if (unModifyMRDTO != null && ListUtil.isNotEmpty(unModifyMRDTO.getData())) {
+            data = unModifyMRDTO.getData();
+        }
+        String fileName = "未整改病历统计.xls";
+        ExcelUtils.exportExcelDynamicCol(colList, data, null, "sheet1", fileName, response);
+    }
+
+    *//**
+     * 31天再入院统计导出
+     *
+     * @param reBeHosPageVO
+     * @return
+     *//*
+    public void reHos31DaysPageExport(HttpServletResponse response, ReBeHosPageVO reBeHosPageVO) {
+        reBeHosPageVO.setCurrent(1L);
+        reBeHosPageVO.setSize(Long.MAX_VALUE);
+        reBeHosPageVO.setSearchCount(false);
+        IPage<ReBeHosDTO> page = consoleFacade.reHos31DaysPage(reBeHosPageVO);
+        List<ReBeHosDTO> records = page.getRecords();
+        String fileName = "31天再入院统计详情.xls";
+        ExcelUtils.exportExcel(records, null, "sheet1", ReBeHosDTO.class, fileName, response);
+    }
+
+    *//**
+     * 病案首页改善率质控评分页导出
+     *
+     * @param qcResultShortPageVO
+     * @return
+     *//*
+    public void hmImproveMRPageExport(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_7 = 7 * 24 * 60 * 60 * 1000;
+        long interval_90 = 90l * 24 * 60 * 60 * 1000;
+
+        if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            //时间间隔7天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_7) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+            }
+        }else{
+            //时间间隔90天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_90) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于90天");
+            }
+        }
+
+        qcResultShortPageVO.setCurrent(1L);
+        qcResultShortPageVO.setSize(Long.MAX_VALUE);
+        qcResultShortPageVO.setSearchCount(false);
+        List<ExportExcelDTO> records = behospitalInfoFacade.hmImproveMRPageExport(qcResultShortPageVO);
+        List<ExportWideExcelDTO> resWide = new ArrayList<ExportWideExcelDTO>();
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            resWide = transList(records, resWide);
+        }
+        String fileName = "病案首页改善率评分病历导出.xls";
+        if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(records, null, "sheet1", ExportExcelDTO.class, fileName, response);
+        }
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(resWide, null, "sheet1", ExportWideExcelDTO.class, fileName, response);
+        }
+    }
+
+    *//**
+     * 质控核查质控评分页导出
+     *
+     * @param qcResultShortPageVO
+     * @return
+     *//*
+    public void qcCheckMRPageExport(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_7 = 7 * 24 * 60 * 60 * 1000;
+        long interval_90 = 90l * 24 * 60 * 60 * 1000;
+
+        if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            //时间间隔7天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_7) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于7天");
+            }
+        }else{
+            //时间间隔90天
+            if (endDate.getTime() < startDate.getTime()) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
+            }
+            if (endDate.getTime() - startDate.getTime() > interval_90) {
+                throw new CommonException(CommonErrorCode.PARAM_ERROR, "统计区间不能大于90天");
+            }
+        }
+
+        qcResultShortPageVO.setCurrent(1L);
+        qcResultShortPageVO.setSize(Long.MAX_VALUE);
+        qcResultShortPageVO.setSearchCount(false);
+        List<ExportExcelDTO> records = behospitalInfoFacade.qcCheckMRPageExport(qcResultShortPageVO);
+        List<ExportWideExcelDTO> resWide = new ArrayList<ExportWideExcelDTO>();
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            resWide = transList(records, resWide);
+        }
+        String fileName = "质控核查病历导出.xls";
+        if("1".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(records, null, "sheet1", ExportExcelDTO.class, fileName, response);
+        }
+        if("2".equals(qcResultShortPageVO.getRadioCheck())){
+            ExcelUtils.exportExcelUser(resWide, null, "sheet1", ExportWideExcelDTO.class, fileName, response);
+        }
+    }*/
+}

+ 17 - 0
src/main/java/com/diagbot/facade/FilterFacade.java

@@ -393,6 +393,23 @@ public class FilterFacade {
         /*long interval = qcResultShortPageVO.getEndDate().getTime() + 1000;
         qcResultShortPageVO.setEndDate(new Date(Long.valueOf(interval)));*/
     }
+    /**
+     * 全科合格/不合格数病历号入参拼接
+     *
+     * @param qcResultPageVO
+     */
+    public void OrGoodLevelPageVOSet(QcResultPageVO qcResultPageVO) {
+        String hospitalId = SysUserUtils.getCurrentHospitalID();
+        String userId = SysUserUtils.getCurrentPrincipleID();
+        qcResultPageVO.setHospitalId(hospitalId);
+        qcResultPageVO.setUserId(Long.valueOf(userId));
+        if (StringUtils.isNotEmpty(qcResultPageVO.getDeptClass())) {
+            qcResultPageVO.setDoctorName("");
+        }
+        /*long interval = qcResultShortPageVO.getEndDate().getTime() + 1000;
+        qcResultShortPageVO.setEndDate(new Date(Long.valueOf(interval)));*/
+    }
+
 
     /**
      * 关键条目缺陷占比入参拼接

+ 1 - 1
src/main/java/com/diagbot/vo/FilterOrderByDeptVO.java

@@ -11,7 +11,7 @@ import lombok.Setter;
 @Getter
 @Setter
 public class FilterOrderByDeptVO extends FilterOrderVO {
-    private String deptName;
+//    private String deptName;
     //医生姓名
     private String name;
 }

+ 10 - 0
src/main/java/com/diagbot/vo/FilterOrderVO.java

@@ -30,6 +30,16 @@ public class FilterOrderVO extends FilterVO {
      * 科室名称
      */
     private String deptName;
+
+    /**
+     * 医生名称
+     */
+    private String doctorName;
+    /**
+     * 医生Id
+     */
+    private String doctorId;
+
     /**
      * 去年同期起始时间
      */

+ 5 - 0
src/main/java/com/diagbot/vo/QcResultPageVO.java

@@ -61,6 +61,11 @@ public class QcResultPageVO extends Page {
      * 科室名称
      */
     private String deptName;
+    /**
+     * 科室id
+     */
+    private String deptClass;
+
     /**
      * 医生姓名
      */

+ 25 - 0
src/main/java/com/diagbot/vo/data/BasDoctorInfoVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo.data;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: cy
+ * @time: 2020/12/24 11:28
+ */
+@Getter
+@Setter
+public class BasDoctorInfoVO {
+    /**
+     * 搜索参数
+     */
+    private String inputStr;
+   // private String deptName;
+    private String deptId;
+    @ApiModelProperty(hidden = true)
+    private Long hospitalId;
+    @ApiModelProperty(hidden = true)
+    private Long userId;
+}

+ 43 - 0
src/main/java/com/diagbot/web/BasDoctorInfoController.java

@@ -0,0 +1,43 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.BasDeptInfoDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.BasDoctorInfoFacade;
+import com.diagbot.vo.BasDeptInfoVO;
+import com.diagbot.vo.data.BasDoctorInfoVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 医院医生信息 前端控制器
+ * </p>
+ *
+ * @author cy
+ * @since 2020-12-24
+ */
+@RestController
+@RequestMapping("/bas/doctor")
+@Api(value = "医院医生API", tags = { "医院医生API" })
+@SuppressWarnings("unchecked")
+public class BasDoctorInfoController {
+    @Autowired
+    private BasDoctorInfoFacade basDoctorInfoFacade;
+
+    @ApiOperation(value = "获取病历质控一览下医院医生下拉列表信息[by:cy]",
+            notes = "inputStr: 搜索参数")
+    @PostMapping("/getList")
+    @SysLogger("getList")
+    public RespDTO<List<BasDeptInfoDTO>> getList(@RequestBody BasDoctorInfoVO basDoctorInfoVO) {
+        return RespDTO.onSuc(basDoctorInfoFacade.getDoctorByDept(basDoctorInfoVO));
+    }
+}

+ 519 - 0
src/main/java/com/diagbot/web/ConsoleByDeptExportController.java

@@ -0,0 +1,519 @@
+package com.diagbot.web;
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.facade.ConsoleByDeptExportFacade;
+import com.diagbot.vo.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+
+/**
+ * @Description:
+ * @Author:cy
+ * @time: 2020/12/24 16:45
+ */
+
+@RequestMapping("/print/export")
+@RestController
+@Api(value = "数据报表明细导出(科室)相关API", tags = { "数据报表明细导出(科室)相关API" })
+@SuppressWarnings("unchecked")
+public class ConsoleByDeptExportController {
+
+    @Autowired
+    private ConsoleByDeptExportFacade consoleByDeptExportFacade;
+
+/**
+     * 病案首页合格率占比科室-导出
+     *
+     * @param filterOrderByDeptVO
+     * @return
+     */
+
+    @ApiOperation(value = "病案首页合格率占比导出[by:cy]",
+            notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
+                    "level: 病历等级 <br>" +
+                    "deptName: 科室名称 <br>" +
+                    "doctorName: 医生名称 <br>" +
+                    "asc: 排序(升序) <br>" +
+                    "desc: 排序(降序) <br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/homePageLevelExportByDept")
+    @SysLogger("homePageLevelExportByDept")
+    public void homePageLevelExport(HttpServletResponse response, @RequestBody @Valid FilterOrderByDeptVO filterOrderByDeptVO) {
+        consoleByDeptExportFacade.homePageLevelExportByDept(response, filterOrderByDeptVO);
+    }
+
+
+/**
+     * 条目缺陷占比(内页)
+     *
+     * @param filterPageVO
+     * @return
+
+    @ApiOperation(value = "条目缺陷占比导出[by:gaodm]",
+            notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/entryGroupByEntryExport")
+    @SysLogger("entryGroupByEntryExport")
+    public void entryGroupByEntryExport(HttpServletResponse response, @RequestBody @Valid FilterPageVO filterPageVO) {
+        consoleExportFacade.entryGroupByEntryExport(response, filterPageVO);
+    }
+
+*//**
+     * 病历稽查统计(首页)
+     * @param filterVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "病历稽查导出[by:cy]",
+            notes =  "name: 科室名称 <br>" +
+                    "startDate: 起始时间 <br>" +
+                    "endDate: 截止时间 <br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/medicalCheckExport")
+    @SysLogger("medicalCheckExport")
+    public void medicalCheckExport(HttpServletResponse response, @RequestBody @Valid FilterMedicalCheckVO filterVO) {
+        consoleExportFacade.medicalCheckExport(response, filterVO);
+    }
+
+*//**
+     * 各科室缺陷占比(组合)
+     *
+     * @param filterOrderVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "各科室缺陷占比(组合)导出[by:gaodm]",
+            notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
+                    "level: 病历等级 <br>" +
+                    "name: 科室名称 <br>" +
+                    "asc: 排序(升序) <br>" +
+                    "desc: 排序(降序) <br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/levelExport")
+    @SysLogger("levelExport")
+    public void levelExport(HttpServletResponse response, @RequestBody @Valid FilterOrderVO filterOrderVO) {
+        consoleExportFacade.levelExport(response, filterOrderVO);
+    }
+
+*//**
+     * 各科室缺陷占比(组合)
+     *
+     * @param filterOrderVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "各科室缺陷占比(组合)导出-台州[by:gaodm]",
+            notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
+                    "level: 病历等级 <br>" +
+                    "name: 科室名称 <br>" +
+                    "asc: 排序(升序) <br>" +
+                    "desc: 排序(降序) <br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/levelExport_TZ")
+    @SysLogger("levelExport_TZ")
+    public void levelExport_TZ(HttpServletResponse response, @RequestBody @Valid FilterOrderVO filterOrderVO) {
+        consoleExportFacade.levelExport_TZ(response, filterOrderVO);
+    }
+
+*//**
+     * 按科室统计平均住院天数导出
+     *
+     * @param filterPageByAverageVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "按科室统计平均住院天数导出[by:gaodm]",
+            notes = "type: 统计维度 1-本月,2-本年<br>" +
+                    "dateType: 时间类型 1-本月/本年,2-上月/去年,3-去年本月/去年<br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/getAverageDayNumExport")
+    @SysLogger("getAverageDayNumExport")
+    public void getAverageDayNumExport(HttpServletResponse response, @RequestBody FilterPageByAverageVO filterPageByAverageVO) {
+        consoleExportFacade.getAverageDayNumExport(response, filterPageByAverageVO);
+    }
+
+*//**
+     * 按科室统计平均住院费用导出
+     *
+     * @param filterPageByAverageVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "按科室统计平均住院费用导出[by:gaodm]",
+            notes = "type: 统计维度 1-本月,2-本年<br>" +
+                    "dateType: 时间类型 1-本月/本年,2-上月/去年,3-去年本月/去年<br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/getAverageFeeExport")
+    @SysLogger("getAverageFeeExport")
+    public void getAverageFeeExport(HttpServletResponse response, @RequestBody FilterPageByAverageVO filterPageByAverageVO) {
+        consoleExportFacade.getAverageFeeExport(response, filterPageByAverageVO);
+    }
+
+*//**
+     * 各科室甲级病历占比排行导出
+     *
+     * @param filterPageVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "各科室甲级病历占比排行导出[by:gaodm]",
+            notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/levelPercentGroupByDeptExport")
+    @SysLogger("levelPercentGroupByDeptExport")
+    public void levelPercentGroupByDeptExport(HttpServletResponse response, @RequestBody @Valid FilterPageVO filterPageVO) {
+        consoleExportFacade.levelPercentGroupByDeptExport(response, filterPageVO);
+    }
+
+*//**
+     * 条目缺陷占比导出
+     *
+     * @param filterPageVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "缺陷详情导出[by:gaodm]",
+            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("/entryCountGroupByEntryExport")
+    @SysLogger("entryCountGroupByEntryExport")
+    public void entryCountGroupByEntryExport(HttpServletResponse response, @RequestBody @Valid FilterPageVO filterPageVO) {
+        consoleExportFacade.entryCountGroupByEntryExport(response, filterPageVO);
+    }
+
+*//**
+     * 各模块缺陷占比导出
+     *
+     * @param filterPageVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "各模块缺陷占比导出[by:gaodm]",
+            notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/entryCountGroupByCaseExport")
+    @SysLogger("entryCountGroupByCaseExport")
+    public void entryCountGroupByCaseExport(HttpServletResponse response, @RequestBody @Valid FilterPageVO filterPageVO) {
+        consoleExportFacade.entryCountGroupByCaseExport(response, filterPageVO);
+    }
+
+*//**
+     * 关键条目缺陷占比统计导出
+     *
+     * @param entryStatisticsVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "关键条目缺陷占比统计导出[by:gaodm]",
+            notes = "deptName:科室名称 <br>" +
+                    "asc: 排序(升序) <br>" +
+                    "desc:排序(降序) <br>" +
+                    "startDate: 起始时间 <br>" +
+                    "endDate: 截止时间 <br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/entryStatisticsExport")
+    @SysLogger("entryStatisticsExport")
+    public void entryStatisticsExport(HttpServletResponse response, @RequestBody @Valid EntryStatisticsVO entryStatisticsVO) {
+        consoleExportFacade.entryStatisticsExport(response, entryStatisticsVO);
+    }
+
+*//**
+     * 缺陷详情质控评分页导出
+     *
+     * @param qcResultShortPageVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "缺陷详情质控评分页导出[by:zhaops]",
+            notes = "behospitalCode: 病历号<br>" +
+                    "patName: 病人姓名 <br>" +
+                    "casesEntryName: 条目名称 <br>" +
+                    "casesEntryId: 条目id <br>" +
+                    "casesName: 模块名称 <br>" +
+                    "casesId: 模块id <br>" +
+                    "behDeptName:科室名称 <br>" +
+                    "doctorId:医生工号 <br>" +
+                    "doctorName:医生姓名 <br>" +
+                    "level: 病历等级 <br>" +
+                    "beHosGT31Days: 住院超过31日标志 <br>" +
+                    "isReject: 单项否决 1-否决,0-非<br>" +
+                    "ruleType: 规则类型 0:无,1:空项,2:错误<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("/qcResultShortPageExport")
+    @SysLogger("qcResultShortPageExport")
+    public void qcResultShortPageExport(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
+        consoleExportFacade.qcResultShortPageExport(response, qcResultShortPageVO);
+    }
+
+*//**
+     * 出院人数统计导出
+     *
+     * @param qcResultShortPageVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "出院人数统计导出[by:zhaops]",
+            notes = "behospitalCode: 病历号<br>" +
+                    "patName: 病人姓名 <br>" +
+                    "behDeptName:科室名称 <br>" +
+                    "doctorId:医生工号 <br>" +
+                    "doctorName:医生姓名 <br>" +
+                    "level: 病历等级 <br>" +
+                    "leaveHosType: 离院人员类型(0/null:总人数,1:死亡人数,2:新生儿,3:手术病人数,4:非医嘱离院病人,5:31日再入院病人) <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("/leaveHosMrPageExport")
+    @SysLogger("leaveHosMrPageExport")
+    public void leaveHosMrPageExport(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
+        consoleExportFacade.leaveHosMrPageExport(response, qcResultShortPageVO);
+    }
+
+*//**
+     * 质控核查统计导出
+     *
+     * @param filterOrderVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "质控核查统计导出[by:zhaops]",
+            notes = "name: 科室名称 <br>" +
+                    "asc: 排序(升序) <br>" +
+                    "desc:排序(降序) <br>" +
+                    "startDate: 起始时间 <br>" +
+                    "endDate: 截止时间 <br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/qcCheckStatisticsExport")
+    @SysLogger("qcCheckStatisticsExport")
+    public void qcCheckStatisticsExport(HttpServletResponse response, @RequestBody @Valid FilterOrderVO filterOrderVO) {
+        consoleExportFacade.qcCheckStatisticsExport(response, filterOrderVO);
+    }
+
+*//**
+     * 未整改病历详情页导出
+     *
+     * @param qcResultShortPageVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "未整改病历详情页导出[by:zhaops]",
+            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("/unModifyMRPageExport")
+    @SysLogger("unModifyMRPageExport")
+    public void unModifyMRPageExport(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
+        consoleExportFacade.unModifyMRPageExport(response, qcResultShortPageVO);
+    }
+
+*//**
+     * 病案首页不合格/合格数病历详情页导出
+     *
+     * @param qcResultShortPageVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "病案首页不合格/合格数病历详情页导出[by:cy]",
+            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("/badLevelPagePageExport")
+    @SysLogger("badLevelPagePageExport")
+    public void badLevelPagePageExport(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
+        consoleExportFacade.badLevelPagePageExport(response, qcResultShortPageVO);
+    }
+
+
+*//**
+     * 稽查病历详情页导出
+     *
+     * @param qcResultShortPageVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "稽查病历详情页导出[by:cy]",
+            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("/medicalCheckInnerExport")
+    @SysLogger("medicalCheckInnerExport")
+    public void medicalCheckInnerExport(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
+        consoleExportFacade.unModifyMRPageExport(response, qcResultShortPageVO);
+    }
+
+*//**
+     * 未整改病历统计导出
+     *
+     * @param filterUnModifyMRVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "未整改病历统计导出[by:zhaops]",
+            notes = "name: 科室名称 <br>" +
+                    "asc: 排序(升序) <br>" +
+                    "desc:排序(降序) <br>" +
+                    "startDate: 起始时间 <br>" +
+                    "endDate: 截止时间 <br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/unModifyMRStatisticsExport")
+    @SysLogger("unModifyMRStatisticsExport")
+    public void unModifyMRStatisticsExport(HttpServletResponse response, @RequestBody @Valid FilterUnModifyMRVO filterUnModifyMRVO) {
+        consoleExportFacade.unModifyMRStatisticsExport(response, filterUnModifyMRVO);
+    }
+
+*//**
+     * 未整改病历统计导出
+     * 31天再入院统计导出
+     *
+     * @param reBeHosPageVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "31天再入院统计导出[by:zhaops]",
+            notes = "name: 病人姓名 <br>" +
+                    "fileCode: 病案号 <br>" +
+                    "startDate: 起始时间 <br>" +
+                    "endDate: 截止时间 <br>" +
+                    "isPlacefile: 是否归档(0:未归档,1:已归档) <br>")
+    @PostMapping("/reHos31DaysPageExport")
+    @SysLogger("reHos31DaysPageExport")
+    public void reHos31DaysPageExport(HttpServletResponse response, @RequestBody @Valid ReBeHosPageVO reBeHosPageVO) {
+        consoleExportFacade.reHos31DaysPageExport(response, reBeHosPageVO);
+    }
+
+*//**
+     * 病案首页改善率质控评分页导出
+     *
+     * @param qcResultShortPageVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "病案首页改善率质控评分页导出[by:zhaops]",
+            notes = "behospitalCode: 病历号<br>" +
+                    "patName: 病人姓名 <br>" +
+                    "behDeptName:科室名称 <br>" +
+                    "doctorId:医生工号 <br>" +
+                    "doctorName:医生姓名 <br>" +
+                    "level: 病历等级 <br>" +
+                    "improveType: 改善标志(1:病案首页改善病历,2:病案首页改善至合格病历,3:病案首页改善至满分病历) <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("/hmImproveMRPageExport")
+    @SysLogger("hmImproveMRPageExport")
+    public void hmImproveMRPageExport(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
+        consoleExportFacade.hmImproveMRPageExport(response, qcResultShortPageVO);
+    }
+
+*//**
+     * 质控核查质控评分页导出
+     *
+     * @param qcResultShortPageVO
+     * @return
+     *//*
+
+    @ApiOperation(value = "质控核查质控评分页导出[by:zhaops]",
+            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("/qcCheckMRPageExport")
+    @SysLogger("qcCheckMRPageExport")
+    public void qcCheckMRPageExport(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
+        consoleExportFacade.qcCheckMRPageExport(response, qcResultShortPageVO);
+    }*/
+}