package com.diagbot.web;

import com.diagbot.annotation.SysLogger;
import com.diagbot.facade.ConsoleByDeptExportFacade;
import com.diagbot.facade.ConsoleExportFacade;
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;
    @Autowired
    private ConsoleExportFacade consoleExportFacade;

/**
     * 病案首页合格率占比科室-导出
     *
     * @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 filterOrderXYPageVO
     * @return
     */
    @ApiOperation(value = "病案首页合格率占比导出[by:gaodm]",
            notes = "type： 统计维度 1-本月，2-本年(必填)<br>" +
                    "level： 病历等级 <br>" +
                    "name： 科室名称 <br>" +
                    "asc： 排序（升序） <br>" +
                    "desc： 排序（降序） <br>" +
                    "isPlacefile： 是否归档（0：未归档，1：已归档） <br>")
    @PostMapping("/homePageLevelXYExportByDept")
    @SysLogger("homePageLevelXYExportByDept")
    public void homePageLevelXYExport(HttpServletResponse response, @RequestBody @Valid FilterOrderXYPageVO filterOrderXYPageVO) {
        consoleExportFacade.homePageLevelXYExport(response, filterOrderXYPageVO);
    }

    /**
     * 条目缺陷占比科室导出-湘雅
     *
     * @param filterPageVO
     * @return
     */
    @ApiOperation(value = "缺陷详情导出[by:gaodm]")
    @PostMapping("/entryCountGroupXYByExportDept")
    @SysLogger("entryCountGroupXYByExportDept")
    public void entryCountGroupXYByExportDept(HttpServletResponse response, @RequestBody @Valid FilterPageXYVO filterPageVO) {
        consoleExportFacade.entryCountGroupXYByEntryExport(response, filterPageVO);
    }

    /**
     * 缺陷详情质控评分页科室导出-湘雅
     *
     * @param qcResultShortPageVO
     * @return
     */
    @ApiOperation(value = "缺陷详情质控评分页导出[by:zhaops]")
    @PostMapping("/qcResultShortXYPageExportDept")
    @SysLogger("qcResultShortXYPageExportDept")
    public void qcResultShortXYPageExportDept(HttpServletResponse response, @RequestBody @Valid QcResultShortXYPageVO qcResultShortPageVO) {
        consoleExportFacade.qcResultShortXYPageExport(response, qcResultShortPageVO);
    }

    /**
     * 病案首页合格数病历详情页科室导出-XY
     *
     * @param qcResultShortPageVO
     * @return
     */
    @ApiOperation(value = "病案首页合格数病历详情页导出[by:cy]")
    @PostMapping("/badQualifiedLevelPageXYExportByDept")
    @SysLogger("badQualifiedLevelPageXYExportByDept")
    public void badQualifiedLevelPageXYExportByDept(HttpServletResponse response, @RequestBody @Valid QcResultShortXYPageVO qcResultShortPageVO) {
        consoleExportFacade.badLevelPageXYExport(response, qcResultShortPageVO);
    }

    /**
     * 病案首页不合格数病历详情页科室导出-XY
     *
     * @param qcResultShortPageVO
     * @return
     */
    @ApiOperation(value = "病案首页不合格数病历详情页导出[by:cy]")
    @PostMapping("/badUnQualifiedLevelPageXYExportByDept")
    @SysLogger("badUnQualifiedLevelPageXYExportByDept")
    public void badUnQualifiedLevelPageXYExportByDept(HttpServletResponse response, @RequestBody @Valid QcResultShortXYPageVO qcResultShortPageVO) {
        consoleExportFacade.badLevelPageXYExport(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>" +
                    "titleName： 是否合格数 <br>" +
                    "isPlacefile： 是否归档（0：未归档，1：已归档） <br>")
    @PostMapping("/homeQualifiedPageOrLevelExportByDept")
    @SysLogger("homeQualifiedPageOrLevelExportByDept")
    public void homeQualifiedPageOrLevelExportByDept(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
        consoleByDeptExportFacade.homePageOrLevelExportByDept(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>" +
                    "titleName： 是否合格数 <br>" +
                    "isPlacefile： 是否归档（0：未归档，1：已归档） <br>")
    @PostMapping("/homeUnQualifiedPageOrLevelExportByDept")
    @SysLogger("homeUnQualifiedPageOrLevelExportByDept")
    public void homeUnQualifiedPageOrLevelExportByDept(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
        consoleByDeptExportFacade.homePageOrLevelExportByDept(response, qcResultShortPageVO);
    }



    @ApiOperation(value = "缺陷详情内页-科室[by:cy]",
            notes = "type： 统计维度 1-本月，2-本年(必填)<br>" +
                    "name： 缺陷名称<br>" +
                    "deptName： 科室名称(必填)<br>" +
                    "casesId： 模块id：243=病案首页 <br>" +
                    "casesName： 模块名称<br>" +
                    "isReject： 单项否决 1-否决，0-非<br>" +
                    "ruleType： 规则类型 0：无，1：空项，2：错误<br>" +
                    "isPlacefile： 是否归档（0：未归档，1：已归档） <br>")
    @PostMapping("/entryGroupExportByDeptPage")
    @SysLogger("entryGroupExportByDeptPage")
    public void entryGroupExportByDeptPage(HttpServletResponse response,@RequestBody @Valid FilterPageByDeptVO filterPageByDeptVO) {
       consoleByDeptExportFacade.entryGroupExportByDeptPage(response,filterPageByDeptVO);
    }

    /**
     * 各模块缺陷占比导出-科室
     *
     * @param filterPageByDeptVO
     * @return
     */

    @ApiOperation(value = "各模块缺陷占比导出-科室[by:cy]",
            notes = "type： 统计维度 1-本月，2-本年(必填)<br>" +
                    "isPlacefile： 是否归档（0：未归档，1：已归档） <br>")
    @PostMapping("/entryGroupExportByDeptCase")
    @SysLogger("entryGroupExportByDeptCase")
    public void entryGroupExportByDeptCase(HttpServletResponse response, @RequestBody @Valid FilterPageByDeptVO filterPageByDeptVO) {
        consoleByDeptExportFacade.entryGroupExportByDeptCase(response, filterPageByDeptVO);
    }


/**
     * 条目缺陷占比（内页）-科室
     *
     * @param filterPageByDeptVO
     * @return
 */
    @ApiOperation(value = "条目缺陷占比（内页）-科室[by:cy]",
            notes = "type： 统计维度 1-本月，2-本年(必填)<br>" +
                    "isPlacefile： 是否归档（0：未归档，1：已归档） <br>")
    @PostMapping("/entryGroupExportByDeptEntry")
    @SysLogger("entryGroupExportByDeptEntry")
    public void entryGroupExportByDeptEntry(HttpServletResponse response, @RequestBody @Valid FilterPageByDeptVO filterPageByDeptVO) {
        consoleByDeptExportFacade.entryGroupByEntryDeptPage(response, filterPageByDeptVO);
    }

    /**
     * 缺陷详情质控评分页导出-科室
     *
     * @param qcResultShortPageVO
     * @return
     */

    @ApiOperation(value = "缺陷详情质控评分页导出-科室[by:cy]",
            notes = "behospitalCode： 病历号)<br>" +
                    "patName： 病人姓名 <br>" +
                    "casesEntryName： 条目名称 <br>" +
                    "casesEntryId： 条目id <br>" +
                    "behDeptName：科室名称 <br>" +
                    "doctorName：主治医生名称 <br>" +
                    "level： 病历等级 <br>" +
                    "diagnose： 主诊断 <br>" +
                    "isReject： 单项否决 1-否决，0-非<br>" +
                    "ruleType： 规则类型 0：无，1：空项，2：错误<br>" +
                    "startDate： 起始时间 <br>" +
                    "endDate： 截止时间 <br>" +
                    "isPlacefile： 是否归档（0：未归档，1：已归档） <br>")
    @PostMapping("/qcResultShortExportByDeptPage")
    @SysLogger("qcResultShortExportByDeptPage")
    public void qcResultShortExportByDeptPage(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
        consoleByDeptExportFacade.qcResultShortByDeptPageExport(response, qcResultShortPageVO);
    }

    /**
     * 各科室缺陷占比-科室（组合）
     *
     * @param filterOrderVO
     * @return
     */
    @ApiOperation(value = "各科室缺陷占比-科室 导出[by:cy]",
            notes = "type： 统计维度 1-本月，2-本年(必填)<br>" +
                    "level： 病历等级 <br>" +
                    "name： 科室名称 <br>" +
                    "asc： 排序（升序） <br>" +
                    "desc： 排序（降序） <br>" +
                    "isPlacefile： 是否归档（0：未归档，1：已归档） <br>")
    @PostMapping("/levelExportByDept")
    @SysLogger("levelExportByDept")
    public void levelExportByDept(HttpServletResponse response, @RequestBody @Valid FilterOrderVO filterOrderVO) {
        consoleByDeptExportFacade.levelByDeptExport(response, filterOrderVO);
    }

    /**
     * 关键条目缺陷占比统计导出-科室
     *
     * @param entryStatisticsVO
     * @return
     */
    @ApiOperation(value = "关键条目缺陷占比统计导出-科室[by:cy]",
            notes = "deptName：科室名称 <br>" +
                    "doctorName：主治医生 <br>" +
                    "asc： 排序（升序） <br>" +
                    "desc：排序（降序） <br>" +
                    "startDate： 起始时间 <br>" +
                    "endDate： 截止时间 <br>" +
                    "isPlacefile： 是否归档（0：未归档，1：已归档） <br>")
    @PostMapping("/entryStatisticsExportByDept")
    @SysLogger("entryStatisticsExportByDept")
    public void entryStatisticsExportByDept(HttpServletResponse response,@RequestBody @Valid EntryStatisticsVO entryStatisticsVO) {
         consoleByDeptExportFacade.entryStatisticsByDeptExport(response,entryStatisticsVO);
    }

    /**
     * 出院人数统计导出-科室
     *
     * @param qcResultShortPageVO
     * @return
     */
    @ApiOperation(value = "出院人数统计导出-科室[by:cy]",
            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("/leaveHosMrPageExportByDept")
    @SysLogger("leaveHosMrPageExportByDept")
    public void leaveHosMrPageExportByDept(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
        consoleByDeptExportFacade.leaveHosMrPageExportByDept(response, qcResultShortPageVO);
    }

    /**
     * 质控核查统计导出
     *
     * @param filterOrderVO
     * @return
     */
    @ApiOperation(value = "质控核查统计导出[by:cy]",
            notes = "name： 科室名称 <br>" +
                    "asc： 排序（升序） <br>" +
                    "desc：排序（降序） <br>" +
                    "startDate： 起始时间 <br>" +
                    "endDate： 截止时间 <br>" +
                    "isPlacefile： 是否归档（0：未归档，1：已归档） <br>")
    @PostMapping("/qcCheckStaExportByDept")
    @SysLogger("qcCheckStaExportByDept")
    public void qcCheckStaExportByDept(HttpServletResponse response, @RequestBody @Valid FilterOrderVO filterOrderVO) {
        consoleByDeptExportFacade.qcCheckStaExportByDept(response, filterOrderVO);
    }

    /**
     * 质控核查质控评分页导出-科室
     *
     * @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("/qcCheckMRPageExportByDept")
    @SysLogger("qcCheckMRPageExportByDept")
    public void qcCheckMRPageExportByDept(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
        consoleByDeptExportFacade.qcCheckMRPageExportByDept(response, qcResultShortPageVO);
    }

    /**
     * 病案首页改善率质控评分页导出-科室
     *
     * @param qcResultShortPageVO
     * @return
     */
    @ApiOperation(value = "病案首页改善率质控评分页导出[by:cy]",
            notes = "behospitalCode： 病历号<br>" +
                    "patName： 病人姓名 <br>" +
                    "deptName：科室名称 <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("/improveMRExportByDept")
    @SysLogger("improveMRExportByDept")
    public void improveMRExportByDept(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
        consoleByDeptExportFacade.improveMRExportByDept(response, qcResultShortPageVO);
    }

    /**
     * 未整改病历统计-科室 导出
     * 31天再入院统计-科室 导出
     *
     * @param reBeHosPageVO
     * @return
     */
    @ApiOperation(value = "31天再入院统计导出-科室 [by:cy]",
            notes = "name： 病人姓名 <br>" +
                    "fileCode： 病案号 <br>" +
                    "startDate： 起始时间 <br>" +
                    "endDate： 截止时间 <br>" +
                    "isPlacefile： 是否归档（0：未归档，1：已归档） <br>")
    @PostMapping("/reHos31DaysPageExportByDept")
    @SysLogger("reHos31DaysPageExportByDept")
    public void reHos31DaysPageExportByDept(HttpServletResponse response, @RequestBody @Valid ReBeHosPageVO reBeHosPageVO) {
        consoleByDeptExportFacade.reHos31DaysPageExportByDept(response, reBeHosPageVO);
    }

    /**
     * 未整改病历统计导出-科室
     *
     * @param filterUnModifyMRVO
     * @return
     */
    @ApiOperation(value = "未整改病历统计导出[by:cy]",
            notes = "name： 科室名称 <br>" +
                    "asc： 排序（升序） <br>" +
                    "desc：排序（降序） <br>" +
                    "startDate： 起始时间 <br>" +
                    "endDate： 截止时间 <br>" +
                    "isPlacefile： 是否归档（0：未归档，1：已归档） <br>")
    @PostMapping("/unModifyMRSExportByDept")
    @SysLogger("unModifyMRSExportByDept")
    public void unModifyMRSExportByDept(HttpServletResponse response, @RequestBody @Valid FilterUnModifyMRVO filterUnModifyMRVO) {
        consoleByDeptExportFacade.unModifyMRSExportByDept(response, filterUnModifyMRVO);
    }

    /**
     * 未整改病历详情页导出-科室
     *
     * @param qcResultShortPageVO
     * @return
     */
    @ApiOperation(value = "未整改病历详情页导出[by:cy]",
            notes = "behospitalCode： 病历号<br>" +
                    "patName： 病人姓名 <br>" +
                    "deptName：科室名称 <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("/unModifyMRPageExportByDept")
    @SysLogger("unModifyMRPageExportByDept")
    public void unModifyMRPageExportByDept(HttpServletResponse response, @RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
        consoleByDeptExportFacade.unModifyExportByDept(response, qcResultShortPageVO);
    }

    /**
     * 病历稽查统计导出-科室
     * @param filterVO
     * @return
     */
    @ApiOperation(value = "病历稽查导出-科室[by:cy]",
            notes =  "name： 科室名称 <br>" +
                    "startDate： 起始时间 <br>" +
                    "endDate： 截止时间 <br>" +
                    "isPlacefile： 是否归档（0：未归档，1：已归档） <br>")
    @PostMapping("/medicalCheckExportByDept")
    @SysLogger("medicalCheckExportByDept")
    public void medicalCheckExportByDept(HttpServletResponse response, @RequestBody @Valid FilterMedicalCheckVO filterVO) {
        consoleByDeptExportFacade.medicalCheckExportByDept(response, filterVO);
    }

    /**
     * 病历质控报表-科室-导出
     * @param behospitalPageVO
     * @return
     */
    @ApiOperation(value = "病历质控报表导出-科室[by:cy]",
            notes = "type： 统计维度 1-本月，2-本年(必填)<br>" +
                    "level： 病历等级 <br>" +
                    "name： 科室名称 <br>" +
                    "asc： 排序（升序） <br>" +
                    "desc： 排序（降序） <br>" +
                    "isPlacefile： 是否归档（0：未归档，1：已归档） <br>")
    @PostMapping("/qualityControlExportByDept")
    @SysLogger("qualityControlExportByDept")
    public void qualityControlExportByDept(HttpServletResponse response, @RequestBody @Valid BehospitalPageVO behospitalPageVO) {
        consoleByDeptExportFacade.qualityControlExportByDept(response, behospitalPageVO);
    }

/**
     * 病历稽查统计（首页）
     * @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 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>" +
                    "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);
    }*/
}
