Bladeren bron

Merge remote-tracking branch 'origin/dev/20200702_1.3.7' into dev/20200702_1.3.7

wangfeng 4 jaren geleden
bovenliggende
commit
7146baef29

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

@@ -128,6 +128,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/console/export/entryStatisticsExport").permitAll()
                 .antMatchers("/console/export/qcResultShortPageExport").permitAll()
                 .antMatchers("/console/export/leaveHosMrPageExport").permitAll()
+                .antMatchers("/console/export/qcCheckStatisticsExport").permitAll()
                 .antMatchers("/qc/data/sendDoctorInfos").permitAll()
                 .antMatchers("/qc/data/sendDeptInfos").permitAll()
                 .antMatchers("/qc/data/sendRecordTypes").permitAll()

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

@@ -171,6 +171,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/console/export/entryStatisticsExport", request)
                 || matchers("/console/export/qcResultShortPageExport", request)
                 || matchers("/console/export/leaveHosMrPageExport", request)
+                || matchers("/console/export/qcCheckStatisticsExport", request)
                 || matchers("/qc/data/sendDoctorInfos", request)
                 || matchers("/qc/data/sendDeptInfos", request)
                 || matchers("/qc/data/sendRecordTypes", request)

+ 59 - 1
src/main/java/com/diagbot/dto/HomePageImproveDTO.java

@@ -1,5 +1,6 @@
 package com.diagbot.dto;
 
+import cn.afterturn.easypoi.excel.annotation.Excel;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -11,20 +12,77 @@ import lombok.Setter;
 @Getter
 @Setter
 public class HomePageImproveDTO {
+    /**
+     * 科室编码
+     */
     private String deptId;
+    /**
+     * 科室
+     */
+    @Excel(name = "科室", width = 70, orderNum = "1")
     private String deptName;
+    /**
+     * 质控总数(总病历数)
+     */
+    @Excel(name = "质控总数", width = 30, orderNum = "2")
     private Integer mrNum = 0;
+    /**
+     * 核查数量
+     */
+    @Excel(name = "核查数量", width = 30, orderNum = "3")
     private Integer checkedNum = 0;
+    /**
+     * 核查占比
+     */
     private Double checkedPercent = 0d;
+    /**
+     * 核查占比(百分比)
+     */
     private String checkedPercentStr = "0.00%";
+    /**
+     * 有病案首页的病历数
+     */
     private Integer homePageMRNum = 0;
+    /**
+     * 已改善数量
+     */
+    @Excel(name = "已改善数量", width = 30, orderNum = "4")
     private Integer improveNum = 0;
+    /**
+     * 改善率
+     */
     private Double improvePercent = 0d;
+    /**
+     * 改善率(百分比)
+     */
+    @Excel(name = "改善率", width = 30, orderNum = "5")
     private String improvePercentStr = "0.00%";
+    /**
+     * 改善至合格数量
+     */
+    @Excel(name = "改善至合格数量", width = 30, orderNum = "6")
     private Integer improveToPassNum = 0;
+    /**
+     * 改善至合格率
+     */
     private Double improveToPassPercent = 0d;
+    /**
+     * 改善至合格率(百分比)
+     */
+    @Excel(name = "改善至合格率", width = 30, orderNum = "7")
     private String improveToPassPercentStr = "0.00%";
+    /**
+     * 改善至满分数量
+     */
+    @Excel(name = "改善至满分数量", width = 30, orderNum = "8")
     private Integer improveToFullNum = 0;
+    /**
+     * 改善至满分率
+     */
     private Double improveToFullPercent = 0d;
+    /**
+     * 改善至满分率(百分比)
+     */
+    @Excel(name = "改善至满分率", width = 30, orderNum = "9")
     private String improveToFullPercentStr = "0.00%";
-}
+}

+ 1 - 1
src/main/java/com/diagbot/dto/QcResultShortDTO.java

@@ -32,7 +32,7 @@ public class QcResultShortDTO {
     private Double scoreRes;
     @Excel(name = "病人住院序号", width = 40, orderNum = "3")
     private String behospitalCode;
-    @Excel(name = "核查状态", width = 20, orderNum = "4",replace = { "已核查_1", "未核查_0", "_null" })
+    //@Excel(name = "核查状态", width = 20, orderNum = "4",replace = { "已核查_1", "未核查_0", "_null" })
     private Integer checkStatus;
     @Excel(name = "病案号", width = 30, orderNum = "5")
     private String fileCode;

+ 13 - 0
src/main/java/com/diagbot/facade/ConsoleExportFacade.java

@@ -8,6 +8,7 @@ import com.diagbot.dto.AverageStatisticsMonthDTO;
 import com.diagbot.dto.EntryNumDTO;
 import com.diagbot.dto.EntryNumGroupDTO;
 import com.diagbot.dto.EntryStatisticsDTO;
+import com.diagbot.dto.HomePageImproveDTO;
 import com.diagbot.dto.HomePageNumDTO;
 import com.diagbot.dto.LevelStatisticsDTO;
 import com.diagbot.dto.LevelStatisticsTZDTO;
@@ -223,4 +224,16 @@ public class ConsoleExportFacade {
         String fileName = "出院人数统计.xls";
         ExcelUtils.exportExcel(page.getRecords(), null, "sheet1", QcResultShortDTO.class, fileName, response, 12.8f);
     }
+
+    /**
+     * 质控核查统计导出
+     *
+     * @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);
+    }
 }

+ 5 - 6
src/main/java/com/diagbot/facade/ConsoleFacade.java

@@ -25,7 +25,6 @@ import com.diagbot.vo.EntryStatisticsVO;
 import com.diagbot.vo.FilterOrderVO;
 import com.diagbot.vo.FilterPageByAverageVO;
 import com.diagbot.vo.FilterPageVO;
-import com.diagbot.vo.FilterQcCheckVO;
 import com.diagbot.vo.FilterVO;
 import com.diagbot.vo.QcResultShortPageVO;
 import com.google.common.collect.Lists;
@@ -851,14 +850,14 @@ public class ConsoleFacade {
     /**
      * 质控核查统计(内页)
      *
-     * @param filterQcCheckVO
+     * @param filterOrderVO
      * @return
      */
-    public List<HomePageImproveDTO> qcCheckStatistics(FilterQcCheckVO filterQcCheckVO) {
-        filterFacade.filterQcCheckVOSet(filterQcCheckVO);
-        List<HomePageImproveDTO> records = behospitalInfoFacade.qcCheckStatistics(filterQcCheckVO);
+    public List<HomePageImproveDTO> qcCheckStatistics(FilterOrderVO filterOrderVO) {
+        filterFacade.filterOrderVOSet(filterOrderVO);
+        List<HomePageImproveDTO> records = behospitalInfoFacade.qcCheckStatistics(filterOrderVO);
         //增加全院数据
-        if (StringUtil.isBlank(filterQcCheckVO.getDeptName()) || filterQcCheckVO.getDeptName().equals("全院")) {
+        if (StringUtil.isBlank(filterOrderVO.getName()) || filterOrderVO.getName().equals("全院")) {
             HomePageImproveDTO item = getGlobleRecord_improve(records);
             if (item != null) {
                 records.add(0, item);

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

@@ -23,7 +23,6 @@ import com.diagbot.vo.FilterOrderByDeptVO;
 import com.diagbot.vo.FilterOrderVO;
 import com.diagbot.vo.FilterPageByDeptVO;
 import com.diagbot.vo.FilterPageVO;
-import com.diagbot.vo.FilterQcCheckVO;
 import com.diagbot.vo.FilterVO;
 import com.diagbot.vo.QcResultShortPageVO;
 import com.diagbot.vo.TaskVO;
@@ -308,8 +307,8 @@ public interface BehospitalInfoMapper extends BaseMapper<BehospitalInfo> {
     /**
      * 质控核查统计(内页)
      *
-     * @param filterQcCheckVO
+     * @param filterOrderVO
      * @return
      */
-    public List<HomePageImproveDTO> qcCheckStatistics(FilterQcCheckVO filterQcCheckVO);
+    public List<HomePageImproveDTO> qcCheckStatistics(FilterOrderVO filterOrderVO);
 }

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

@@ -23,7 +23,6 @@ import com.diagbot.vo.FilterOrderByDeptVO;
 import com.diagbot.vo.FilterOrderVO;
 import com.diagbot.vo.FilterPageByDeptVO;
 import com.diagbot.vo.FilterPageVO;
-import com.diagbot.vo.FilterQcCheckVO;
 import com.diagbot.vo.FilterVO;
 import com.diagbot.vo.QcResultShortPageVO;
 import com.diagbot.vo.TaskVO;
@@ -301,8 +300,8 @@ public interface BehospitalInfoService extends IService<BehospitalInfo> {
     /**
      * 质控核查统计(内页)
      *
-     * @param filterQcCheckVO
+     * @param filterOrderVO
      * @return
      */
-    public List<HomePageImproveDTO> qcCheckStatistics(FilterQcCheckVO filterQcCheckVO);
+    public List<HomePageImproveDTO> qcCheckStatistics(FilterOrderVO filterOrderVO);
 }

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

@@ -25,7 +25,6 @@ import com.diagbot.vo.FilterOrderByDeptVO;
 import com.diagbot.vo.FilterOrderVO;
 import com.diagbot.vo.FilterPageByDeptVO;
 import com.diagbot.vo.FilterPageVO;
-import com.diagbot.vo.FilterQcCheckVO;
 import com.diagbot.vo.FilterVO;
 import com.diagbot.vo.QcResultShortPageVO;
 import com.diagbot.vo.TaskVO;
@@ -408,11 +407,11 @@ public class BehospitalInfoServiceImpl extends ServiceImpl<BehospitalInfoMapper,
     /**
      * 质控核查统计(内页)
      *
-     * @param filterQcCheckVO
+     * @param filterOrderVO
      * @return
      */
     @Override
-    public List<HomePageImproveDTO> qcCheckStatistics(FilterQcCheckVO filterQcCheckVO) {
-        return baseMapper.qcCheckStatistics(filterQcCheckVO);
+    public List<HomePageImproveDTO> qcCheckStatistics(FilterOrderVO filterOrderVO) {
+        return baseMapper.qcCheckStatistics(filterOrderVO);
     }
 }

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

@@ -12,4 +12,6 @@ import lombok.Setter;
 @Setter
 public class FilterQcCheckVO extends FilterVO {
     private String deptName;
+    private String asc;
+    private String desc;
 }

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

@@ -535,16 +535,18 @@ public class ConsoleController {
     /**
      * 质控核查统计
      *
-     * @param filterQcCheckVO
+     * @param filterOrderVO
      * @return
      */
     @ApiOperation(value = "质控核查统计[by:zhaops]",
-            notes = "deptName: 科室名称 <br>" +
+            notes = "name: 科室名称 <br>" +
+                    "asc: 排序(升序) <br>" +
+                    "desc:排序(降序) <br>" +
                     "startDate: 起始时间 <br>" +
                     "endDate: 截止时间 <br>")
     @PostMapping("/qcCheckStatistics")
     @SysLogger("qcCheckStatistics")
-    public RespDTO<List<HomePageImproveDTO>> qcCheckStatistics(@RequestBody @Valid FilterQcCheckVO filterQcCheckVO) {
-        return RespDTO.onSuc(consoleFacade.qcCheckStatistics(filterQcCheckVO));
+    public RespDTO<List<HomePageImproveDTO>> qcCheckStatistics(@RequestBody @Valid FilterOrderVO filterOrderVO) {
+        return RespDTO.onSuc(consoleFacade.qcCheckStatistics(filterOrderVO));
     }
 }

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

@@ -242,4 +242,22 @@ public class ConsoleExportController {
     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>")
+    @PostMapping("/qcCheckStatisticsExport")
+    @SysLogger("qcCheckStatisticsExport")
+    public void qcCheckStatisticsExport(HttpServletResponse response, @RequestBody @Valid FilterOrderVO filterOrderVO) {
+        consoleExportFacade.qcCheckStatisticsExport(response, filterOrderVO);
+    }
 }

+ 59 - 11
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -4054,8 +4054,11 @@
     </select>
 
     <!-- 质控核查统计(内页)-->
-    <select id="qcCheckStatistics" parameterType="com.diagbot.vo.FilterQcCheckVO" resultType="com.diagbot.dto.HomePageImproveDTO">
+    <select id="qcCheckStatistics" parameterType="com.diagbot.vo.FilterOrderVO" resultType="com.diagbot.dto.HomePageImproveDTO">
         SELECT
+        t.*
+        FROM
+        (SELECT
         mr.beh_dept_id AS deptId,
         mr.beh_dept_name AS deptName,
         IFNULL( mr.mrNum, 0 ) AS mrNum,
@@ -4097,8 +4100,8 @@
         <if test="endDate != null">
             <![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
         </if>
-        <if test="deptName != null and deptName != ''">
-            AND a.beh_dept_name like CONCAT('%',  #{deptName}, '%')
+        <if test="name != null and name != ''">
+            AND a.beh_dept_name like CONCAT('%', #{name}, '%')
         </if>
         GROUP BY
         a.beh_dept_id,
@@ -4133,8 +4136,8 @@
         <if test="endDate != null">
             <![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
         </if>
-        <if test="deptName != null and deptName != ''">
-            AND a.beh_dept_name like CONCAT('%',  #{deptName}, '%')
+        <if test="name != null and name != ''">
+            AND a.beh_dept_name like CONCAT('%', #{name}, '%')
         </if>
         GROUP BY
         a.beh_dept_id,
@@ -4169,8 +4172,8 @@
         <if test="endDate != null">
             <![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
         </if>
-        <if test="deptName != null and deptName != ''">
-            AND a.beh_dept_name like CONCAT('%',  #{deptName}, '%')
+        <if test="name != null and name != ''">
+            AND a.beh_dept_name like CONCAT('%', #{name}, '%')
         </if>
         GROUP BY
         a.beh_dept_id,
@@ -4219,8 +4222,8 @@
         <if test="endDate != null">
             <![CDATA[AND m1.leave_hospital_date < DATE(#{endDate})]]>
         </if>
-        <if test="deptName != null and deptName != ''">
-            AND m1.beh_dept_name like CONCAT('%',  #{deptName}, '%')
+        <if test="name != null and name != ''">
+            AND m1.beh_dept_name like CONCAT('%', #{name}, '%')
         </if>
         GROUP BY
         m1.behospital_code
@@ -4252,13 +4255,58 @@
         <if test="endDate != null">
             <![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
         </if>
-        <if test="deptName != null and deptName != ''">
-            AND a.beh_dept_name like CONCAT('%',  #{deptName}, '%')
+        <if test="name != null and name != ''">
+            AND a.beh_dept_name like CONCAT('%', #{name}, '%')
         </if>
         GROUP BY
         a.beh_dept_id,
         a.beh_dept_name
         ) improve_t ON mr.beh_dept_id = improve_t.beh_dept_id
         AND mr.beh_dept_name = improve_t.beh_dept_name
+        ) t
+        <if test="asc != null and asc !=''">
+            order by
+            <choose>
+                <when test='asc=="deptId"'>deptId asc</when>
+                <when test='asc=="deptName"'>deptName asc</when>
+                <when test='asc=="mrNum"'>mrNum asc</when>
+                <when test='asc=="checkedNum"'>checkedNum asc</when>
+                <when test='asc=="checkedPercent"'>checkedPercent asc</when>
+                <when test='asc=="checkedPercentStr"'>checkedPercent asc</when>
+                <when test='asc=="homePageMRNum"'>homePageMRNum asc</when>
+                <when test='asc=="improveNum"'>improveNum asc</when>
+                <when test='asc=="improvePercent"'>improvePercent asc</when>
+                <when test='asc=="improvePercentStr"'>improvePercent asc</when>
+                <when test='asc=="improveToPassNum"'>improveToPassNum asc</when>
+                <when test='asc=="improveToPassPercent"'>improveToPassPercent asc</when>
+                <when test='asc=="improveToPassPercentStr"'>improveToPassPercent asc</when>
+                <when test='asc=="improveToFullNum"'>improveToFullNum asc</when>
+                <when test='asc=="improveToFullPercent"'>improveToFullPercent asc</when>
+                <when test='asc=="improveToFullPercentStr"'>improveToFullPercent asc</when>
+                <otherwise>deptName asc</otherwise>
+            </choose>
+        </if>
+        <if test="desc != null and desc!=''">
+            order by
+            <choose>
+                <when test='desc=="deptId"'>deptId desc</when>
+                <when test='desc=="deptName"'>deptName desc</when>
+                <when test='desc=="mrNum"'>mrNum desc</when>
+                <when test='desc=="checkedNum"'>checkedNum desc</when>
+                <when test='desc=="checkedPercent"'>checkedPercent desc</when>
+                <when test='desc=="checkedPercentStr"'>checkedPercent desc</when>
+                <when test='desc=="homePageMRNum"'>homePageMRNum desc</when>
+                <when test='desc=="improveNum"'>improveNum desc</when>
+                <when test='desc=="improvePercent"'>improvePercent desc</when>
+                <when test='desc=="improvePercentStr"'>improvePercent desc</when>
+                <when test='desc=="improveToPassNum"'>improveToPassNum desc</when>
+                <when test='desc=="improveToPassPercent"'>improveToPassPercent desc</when>
+                <when test='desc=="improveToPassPercentStr"'>improveToPassPercent desc</when>
+                <when test='desc=="improveToFullNum"'>improveToFullNum desc</when>
+                <when test='desc=="improveToFullPercent"'>improveToFullPercent desc</when>
+                <when test='desc=="improveToFullPercentStr"'>improveToFullPercent desc</when>
+                <otherwise>deptName desc</otherwise>
+            </choose>
+        </if>
     </select>
 </mapper>