Переглянути джерело

Merge remote-tracking branch 'origin/dev/20200616_1.3.5' into test

zhaops 5 роки тому
батько
коміт
5bfbfd218c

+ 28 - 0
doc/010.20200617v1.3.5/qc_initv1.3.5.sql

@@ -0,0 +1,28 @@
+use `qc`;
+-- 技术服务部已执行
+-- ALTER TABLE `qc`.`bas_doctor_info` ADD COLUMN `group_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '小组id' AFTER `occup`;
+-- alter table `med_home_page` modify column `outpatient_emr_diagnose` varchar(500) DEFAULT NULL COMMENT '门急诊诊断';
+-- alter table `med_home_page` modify column `qc_nurse` varchar(255) DEFAULT NULL COMMENT '质控护士';
+-- alter table `med_home_page` modify column `encode_man` varchar(255) DEFAULT NULL COMMENT '编码员';
+-- alter table `med_home_page` modify column `dept_director` varchar(255) DEFAULT NULL COMMENT '科主任';
+-- alter table `med_home_page` modify column `cur_post_code` varchar(255) DEFAULT NULL COMMENT '现住址邮编';
+-- alter table `med_home_page` modify column `pathology_diagnose_id` varchar(255) DEFAULT NULL COMMENT '病理诊断编号';
+-- alter table `med_home_page` modify column `director_doctor` varchar(255) DEFAULT NULL COMMENT '主任医师';
+-- alter table `med_home_page` modify column `cur_phone` varchar(255) DEFAULT NULL COMMENT '现住址电话';
+-- alter table `med_home_page` modify column `leave_hospital_dept` varchar(255) DEFAULT NULL COMMENT '出院科别';
+-- alter table `med_home_page` modify column `response_nurse` varchar(255) DEFAULT NULL COMMENT '责任护士';
+
+-- UPDATE `sys_permission` SET is_deleted = 'Y' WHERE permissionUrl LIKE '/console%' AND is_deleted='N';
+
+-- UPDATE sys_menu_permission SET is_deleted='Y' where permission_id in(select id from  `sys_permission`  WHERE permissionUrl LIKE '/console%') AND is_deleted='N';
+
+-- UPDATE sys_role_permission SET is_deleted='Y'where permission_id in(select id from  `sys_permission`  WHERE permissionUrl LIKE '/console%') AND is_deleted='N';
+
+-- 新增权限
+INSERT INTO `sys_permission`(`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `name`, `code`, `permissionUrl`, `method`, `descritpion`, `remark`) VALUES (94, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '条目缺陷占比质控详情页(全院)', 'FUNC000094', '/console/qcResultShortPage', 'ALL', '数据报表明细-条目缺陷占比-条目缺陷占比质控详情页(全院)', NULL);
+INSERT INTO `sys_permission`(`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `name`, `code`, `permissionUrl`, `method`, `descritpion`, `remark`) VALUES (95, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '条目缺陷占比质控详情页(科室)', 'FUNC000095', '/consoleByDept/qcResultShortByDeptPage', 'ALL', '数据报表明细(科室)-条目缺陷占比-条目缺陷占比质控详情页(科室)', NULL);
+INSERT INTO `sys_role_permission`(`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `role_id`, `permission_id`, `remark`) VALUES (1623, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', -1, 94, '数据报表明细-条目缺陷占比-条目缺陷占比质控详情页(全院)');
+INSERT INTO `sys_role_permission`(`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `role_id`, `permission_id`, `remark`) VALUES (1624, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', -1, 95, '数据报表明细(科室)-条目缺陷占比-条目缺陷占比质控详情页(科室)');
+INSERT INTO `sys_menu_permission`(`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `menu_id`, `permission_id`, `remark`) VALUES (66, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 20, 94, '数据报表明细-条目缺陷占比-条目缺陷占比质控详情页(全院)');
+INSERT INTO `sys_menu_permission`(`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `menu_id`, `permission_id`, `remark`) VALUES (67, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 27, 95, '数据报表明细(科室)-条目缺陷占比-条目缺陷占比质控详情页(科室)');
+

+ 43 - 5
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -59,21 +59,59 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/bas/dept/getListUser").permitAll()
                 .antMatchers("/qc/behospitalInfo/page_dept").permitAll()
                 .antMatchers("/qc/behospitalInfo/page_person").permitAll()
-                .antMatchers("/consoleByDept/getDept").permitAll()
                 .antMatchers("/qc/casesEntryHospital/findQcCasesEntry").permitAll()
                 .antMatchers("/qc/behospitalInfo/exportExcel").permitAll()
                 .antMatchers("/qc/behospitalInfo/exportQcresult").permitAll()
                 .antMatchers("/qc/behospitalInfo/exportQcresultByDept").permitAll()
-                .antMatchers("/console/entryRejectPercent").permitAll()
                 .antMatchers("/qc/abnormal/getQcAnnormalMode").permitAll()
-                .antMatchers("/console/qcResultLevelPercent").permitAll()
                 .antMatchers("/qc/dataimport/import").permitAll()
                 .antMatchers("/qc/dataimport/dataimportPrepare").permitAll()
                 .antMatchers("/qc/dataimport/test").permitAll()
                 .antMatchers("/sys/user/pageset/getPageSet").permitAll()
                 .antMatchers("/sys/user/pageset/savePageSet").permitAll()
+                .antMatchers("/consoleByDept/getDept").permitAll()
+                .antMatchers("/console/entryRejectPercent").permitAll()
+                .antMatchers("/console/qcResultLevelPercent").permitAll()
+                .antMatchers("/console/averageStatistics").permitAll()
+                .antMatchers("/console/entryByDept").permitAll()
+                .antMatchers("/console/entryCountGroupByCase").permitAll()
+                .antMatchers("/console/entryCountGroupByCasePage").permitAll()
+                .antMatchers("/console/entryCountGroupByEntry").permitAll()
+                .antMatchers("/console/entryCountGroupByEntryPage").permitAll()
+                .antMatchers("/console/entryGroupByEntryInnerPage").permitAll()
+                .antMatchers("/console/getAverageDayNum").permitAll()
+                .antMatchers("/console/getAverageDayNumPage").permitAll()
+                .antMatchers("/console/getAverageFee").permitAll()
+                .antMatchers("/console/getAverageFeePage").permitAll()
+                .antMatchers("/console/getAverageScore").permitAll()
+                .antMatchers("/console/getAverageScoreByDeptClass").permitAll()
+                .antMatchers("/console/getAverageScoreByDeptPage").permitAll()
+                .antMatchers("/console/getLevelResultDept").permitAll()
+                .antMatchers("/console/homePageLevelLimit").permitAll()
+                .antMatchers("/console/homePageLevelStatistics").permitAll()
+                .antMatchers("/console/leaveHosCount").permitAll()
+                .antMatchers("/console/levelPercentGroupByDeptPage").permitAll()
+                .antMatchers("/console/levelStatistics").permitAll()
+                .antMatchers("/console/levelStatisticsByDeptClass").permitAll()
+                .antMatchers("/console/mrCount").permitAll()
+                .antMatchers("/console/mrStatistics").permitAll()
+                .antMatchers("/console/qcResultShortPage").permitAll()
+                .antMatchers("/console/resultStatistics").permitAll()
+                .antMatchers("/console/resultStatisticsByDeptPage").permitAll()
+                .antMatchers("/consoleByDept/entryCountGroupByCaseAndDept").permitAll()
+                .antMatchers("/consoleByDept/entryCountGroupByCaseAndDeptPage").permitAll()
+                .antMatchers("/consoleByDept/entryCountGroupByEntryAndDept").permitAll()
+                .antMatchers("/consoleByDept/entryCountGroupByEntryAndDeptPage").permitAll()
+                .antMatchers("/consoleByDept/entryGroupByEntryAndDeptInnerPage").permitAll()
+                .antMatchers("/consoleByDept/homePageLevelByDeptLimit").permitAll()
+                .antMatchers("/consoleByDept/homePageLevelStatisticsByDept").permitAll()
+                .antMatchers("/consoleByDept/leaveHosCountByDept").permitAll()
+                .antMatchers("/consoleByDept/levelStatisticsByDept").permitAll()
+                .antMatchers("/consoleByDept/mrCountByDept").permitAll()
+                .antMatchers("/consoleByDept/qcResultShortByDeptPage").permitAll()
+                .antMatchers("/consoleByDept/resultStatisticsByDeptAndDoctorPage").permitAll()
                 .antMatchers("/**").authenticated();
-//                .antMatchers("/**").permitAll();
+        //                .antMatchers("/**").permitAll();
     }
 
 
@@ -103,4 +141,4 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
         log.info("Created jwtTokenEnhancerClient success");
         return converter;
     }
-}
+}

+ 42 - 4
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -102,19 +102,57 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/bas/dept/getListUser", request)
                 || matchers("/qc/behospitalInfo/page_dept", request)
                 || matchers("/qc/behospitalInfo/page_person", request)
-                || matchers("/consoleByDept/getDept", request)
                 || matchers("/qc/casesEntryHospital/findQcCasesEntry", request)
                 || matchers("/qc/behospitalInfo/exportExcel", request)
                 || matchers("/qc/behospitalInfo/exportQcresult", request)
                 || matchers("/qc/behospitalInfo/exportQcresultByDept", request)
-                || matchers("/console/entryRejectPercent", request)
                 || matchers("/qc/abnormal/getQcAnnormalMode", request)
-                || matchers("/console/qcResultLevelPercent", request)
                 || matchers("/qc/dataimport/import", request)
                 || matchers("/qc/dataimport/dataimportPrepare", request)
                 || matchers("/qc/dataimport/test", request)
                 || matchers("/sys/user/pageset/getPageSet", request)
                 || matchers("/sys/user/pageset/savePageSet", request)
+                || matchers("/consoleByDept/getDept", request)
+                || matchers("/console/entryRejectPercent", request)
+                || matchers("/console/qcResultLevelPercent", request)
+                || matchers("/console/averageStatistics", request)
+                || matchers("/console/entryByDept", request)
+                || matchers("/console/entryCountGroupByCase", request)
+                || matchers("/console/entryCountGroupByCasePage", request)
+                || matchers("/console/entryCountGroupByEntry", request)
+                || matchers("/console/entryCountGroupByEntryPage", request)
+                || matchers("/console/entryGroupByEntryInnerPage", request)
+                || matchers("/console/getAverageDayNum", request)
+                || matchers("/console/getAverageDayNumPage", request)
+                || matchers("/console/getAverageFee", request)
+                || matchers("/console/getAverageFeePage", request)
+                || matchers("/console/getAverageScore", request)
+                || matchers("/console/getAverageScoreByDeptClass", request)
+                || matchers("/console/getAverageScoreByDeptPage", request)
+                || matchers("/console/getLevelResultDept", request)
+                || matchers("/console/homePageLevelLimit", request)
+                || matchers("/console/homePageLevelStatistics", request)
+                || matchers("/console/leaveHosCount", request)
+                || matchers("/console/levelPercentGroupByDeptPage", request)
+                || matchers("/console/levelStatistics", request)
+                || matchers("/console/levelStatisticsByDeptClass", request)
+                || matchers("/console/mrCount", request)
+                || matchers("/console/mrStatistics", request)
+                || matchers("/console/qcResultShortPage", request)
+                || matchers("/console/resultStatistics", request)
+                || matchers("/console/resultStatisticsByDeptPage", request)
+                || matchers("/consoleByDept/entryCountGroupByCaseAndDept", request)
+                || matchers("/consoleByDept/entryCountGroupByCaseAndDeptPage", request)
+                || matchers("/consoleByDept/entryCountGroupByEntryAndDept", request)
+                || matchers("/consoleByDept/entryCountGroupByEntryAndDeptPage", request)
+                || matchers("/consoleByDept/entryGroupByEntryAndDeptInnerPage", request)
+                || matchers("/consoleByDept/homePageLevelByDeptLimit", request)
+                || matchers("/consoleByDept/homePageLevelStatisticsByDept", request)
+                || matchers("/consoleByDept/leaveHosCountByDept", request)
+                || matchers("/consoleByDept/levelStatisticsByDept", request)
+                || matchers("/consoleByDept/mrCountByDept", request)
+                || matchers("/consoleByDept/qcResultShortByDeptPage", request)
+                || matchers("/consoleByDept/resultStatisticsByDeptAndDoctorPage", request)
                 || matchers("/", request)) {
             return true;
         }
@@ -128,4 +166,4 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
         }
         return false;
     }
-}
+}

+ 26 - 0
src/main/java/com/diagbot/dto/QcResultShortDTO.java

@@ -0,0 +1,26 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/6/16 16:54
+ */
+@Getter
+@Setter
+public class QcResultShortDTO {
+    private String hospitalId;
+    private String behospitalCode;
+    private String level;
+    private Double scoreRes;
+    private String patName;
+    private String sex;
+    private String behDeptId;
+    private String behDeptName;
+    private Long doctorId;
+    private String doctorName;
+    private String leaveHospitalDate;
+    private String age;
+}

+ 14 - 0
src/main/java/com/diagbot/facade/ConsoleByDeptFacade.java

@@ -7,6 +7,7 @@ import com.diagbot.dto.DeptNumDTO;
 import com.diagbot.dto.HomePageNumDTO;
 import com.diagbot.dto.LevelStatisticsDTO;
 import com.diagbot.dto.NumDTO;
+import com.diagbot.dto.QcResultShortDTO;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
@@ -15,6 +16,7 @@ import com.diagbot.util.SysUserUtils;
 import com.diagbot.vo.FilterOrderByDeptVO;
 import com.diagbot.vo.FilterPageByDeptVO;
 import com.diagbot.vo.FilterVO;
+import com.diagbot.vo.QcResultShortPageVO;
 import com.diagbot.vo.QcresultFilterVO;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -643,4 +645,16 @@ public class ConsoleByDeptFacade {
         item.setErrorPercentStr(errorPercentStr);
         return item;
     }
+
+    /**
+     * 条目缺陷质控评分页-科室(内页)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public IPage<QcResultShortDTO> qcResultShortByDeptPage(QcResultShortPageVO qcResultShortPageVO) {
+        filterFacade.qcResultShortPageVOSet(qcResultShortPageVO);
+        IPage<QcResultShortDTO> page = behospitalInfoFacade.qcResultShortByDeptPage(qcResultShortPageVO);
+        return page;
+    }
 }

+ 14 - 0
src/main/java/com/diagbot/facade/ConsoleFacade.java

@@ -11,6 +11,7 @@ import com.diagbot.dto.HomePageNumDTO;
 import com.diagbot.dto.LevelStatisticsDTO;
 import com.diagbot.dto.NumDTO;
 import com.diagbot.dto.QcResultPercentDTO;
+import com.diagbot.dto.QcResultShortDTO;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.util.ListUtil;
@@ -19,6 +20,7 @@ import com.diagbot.vo.FilterOrderVO;
 import com.diagbot.vo.FilterPageByAverageVO;
 import com.diagbot.vo.FilterPageVO;
 import com.diagbot.vo.FilterVO;
+import com.diagbot.vo.QcResultShortPageVO;
 import com.google.common.collect.Lists;
 import io.github.lvyahui8.spring.aggregate.facade.DataBeanAggregateQueryFacade;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -603,4 +605,16 @@ public class ConsoleFacade {
         item.setErrorPercentStr(errorPercentStr);
         return item;
     }
+
+    /**
+     * 条目缺陷质控评分页(内页)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public IPage<QcResultShortDTO> qcResultShortPage(QcResultShortPageVO qcResultShortPageVO) {
+        filterFacade.qcResultShortPageVOSet(qcResultShortPageVO);
+        IPage<QcResultShortDTO> page = behospitalInfoFacade.qcResultShortPage(qcResultShortPageVO);
+        return page;
+    }
 }

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

@@ -10,6 +10,7 @@ import com.diagbot.vo.FilterPageByAverageVO;
 import com.diagbot.vo.FilterPageByDeptVO;
 import com.diagbot.vo.FilterPageVO;
 import com.diagbot.vo.FilterVO;
+import com.diagbot.vo.QcResultShortPageVO;
 import org.springframework.stereotype.Component;
 
 import java.text.ParseException;
@@ -240,4 +241,18 @@ public class FilterFacade {
         filterPageByAverageVO.setLastYearStartDate(lastYearStartDate);
         filterPageByAverageVO.setLastYearEndDate(lastYearEndDate);
     }
+
+    /**
+     * 入参拼接
+     *
+     * @param qcResultShortPageVO
+     */
+    public void qcResultShortPageVOSet(QcResultShortPageVO qcResultShortPageVO) {
+        String hospitalId = SysUserUtils.getCurrentHospitalID();
+        String userId = SysUserUtils.getCurrentPrincipleID();
+        qcResultShortPageVO.setHospitalId(hospitalId);
+        qcResultShortPageVO.setUserId(Long.valueOf(userId));
+        long interval = qcResultShortPageVO.getEndDate().getTime() + 1000;
+        qcResultShortPageVO.setEndDate(new Date(Long.valueOf(interval)));
+    }
 }

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

@@ -9,6 +9,7 @@ import com.diagbot.dto.HomePageNumDTO;
 import com.diagbot.dto.LevelStatisticsDTO;
 import com.diagbot.dto.MsgDTO;
 import com.diagbot.dto.NumDTO;
+import com.diagbot.dto.QcResultShortDTO;
 import com.diagbot.entity.BehospitalInfo;
 import com.diagbot.vo.AnalyzeCodeVO;
 import com.diagbot.vo.AnalyzeVO;
@@ -19,6 +20,7 @@ import com.diagbot.vo.FilterOrderVO;
 import com.diagbot.vo.FilterPageByDeptVO;
 import com.diagbot.vo.FilterPageVO;
 import com.diagbot.vo.FilterVO;
+import com.diagbot.vo.QcResultShortPageVO;
 import com.diagbot.vo.TaskVO;
 import org.apache.ibatis.annotations.Param;
 
@@ -209,6 +211,22 @@ public interface BehospitalInfoMapper extends BaseMapper<BehospitalInfo> {
      */
     public List<ExportExcelDTO> exportQcresultByDept(ExportQcresultVO exportQcresultVO);
 
+    /**
+     * 条目缺陷质控评分页(内页)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public IPage<QcResultShortDTO> qcResultShortPage(@Param("qcResultShortPageVO") QcResultShortPageVO qcResultShortPageVO);
+
+    /**
+     * 条目缺陷质控评分页-科室(内页)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public IPage<QcResultShortDTO> qcResultShortByDeptPage(@Param("qcResultShortPageVO") QcResultShortPageVO qcResultShortPageVO);
+
     /**
      * 根据两个主键-批量修改
      * @param list

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

@@ -9,6 +9,7 @@ import com.diagbot.dto.HomePageNumDTO;
 import com.diagbot.dto.LevelStatisticsDTO;
 import com.diagbot.dto.MsgDTO;
 import com.diagbot.dto.NumDTO;
+import com.diagbot.dto.QcResultShortDTO;
 import com.diagbot.entity.BehospitalInfo;
 import com.diagbot.vo.AnalyzeCodeVO;
 import com.diagbot.vo.AnalyzeVO;
@@ -19,6 +20,7 @@ import com.diagbot.vo.FilterOrderVO;
 import com.diagbot.vo.FilterPageByDeptVO;
 import com.diagbot.vo.FilterPageVO;
 import com.diagbot.vo.FilterVO;
+import com.diagbot.vo.QcResultShortPageVO;
 import com.diagbot.vo.TaskVO;
 import org.apache.ibatis.annotations.Param;
 
@@ -208,4 +210,20 @@ public interface BehospitalInfoService extends IService<BehospitalInfo> {
      * @return
      */
     public List<ExportExcelDTO> exportQcresultByDept(ExportQcresultVO exportQcresultVO);
+
+    /**
+     * 条目缺陷质控评分页(内页)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public IPage<QcResultShortDTO> qcResultShortPage(@Param("qcResultShortPageVO") QcResultShortPageVO qcResultShortPageVO);
+
+    /**
+     * 条目缺陷质控评分页-科室(内页)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public IPage<QcResultShortDTO> qcResultShortByDeptPage(@Param("qcResultShortPageVO") QcResultShortPageVO qcResultShortPageVO);
 }

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

@@ -9,6 +9,7 @@ import com.diagbot.dto.HomePageNumDTO;
 import com.diagbot.dto.LevelStatisticsDTO;
 import com.diagbot.dto.MsgDTO;
 import com.diagbot.dto.NumDTO;
+import com.diagbot.dto.QcResultShortDTO;
 import com.diagbot.entity.BehospitalInfo;
 import com.diagbot.mapper.BehospitalInfoMapper;
 import com.diagbot.service.BehospitalInfoService;
@@ -21,6 +22,7 @@ import com.diagbot.vo.FilterOrderVO;
 import com.diagbot.vo.FilterPageByDeptVO;
 import com.diagbot.vo.FilterPageVO;
 import com.diagbot.vo.FilterVO;
+import com.diagbot.vo.QcResultShortPageVO;
 import com.diagbot.vo.TaskVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
@@ -282,6 +284,26 @@ public class BehospitalInfoServiceImpl extends ServiceImpl<BehospitalInfoMapper,
         return baseMapper.exportQcresultByDept(exportQcresultVO);
     }
 
+    /**
+     * 条目缺陷质控评分页(内页)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public IPage<QcResultShortDTO> qcResultShortPage(@Param("qcResultShortPageVO") QcResultShortPageVO qcResultShortPageVO) {
+        return baseMapper.qcResultShortPage(qcResultShortPageVO);
+    }
+
+    /**
+     * 条目缺陷质控评分页-科室(内页)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    public IPage<QcResultShortDTO> qcResultShortByDeptPage(@Param("qcResultShortPageVO") QcResultShortPageVO qcResultShortPageVO) {
+        return baseMapper.qcResultShortByDeptPage(qcResultShortPageVO);
+    }
+
     /**
      * 根据编码、医院编码批量更新
      * @param list

+ 55 - 0
src/main/java/com/diagbot/vo/QcResultShortPageVO.java

@@ -0,0 +1,55 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/6/16 17:00
+ */
+@Getter
+@Setter
+public class QcResultShortPageVO extends Page {
+    @ApiModelProperty(hidden = true)
+    private Long userId;
+    @ApiModelProperty(hidden = true)
+    private String hospitalId;
+    /**
+     * 病历号
+     */
+    private String behospitalCode;
+    /**
+     * 病人姓名
+     */
+    private String patName;
+    /**
+     * 条目名称
+     */
+    private String casesEntryName;
+    /**
+     * 条目id
+     */
+    private Long casesEntryId;
+    /**
+     * 科室名称
+     */
+    private String behDeptName;
+    /**
+     * 主治医生名称
+     */
+    private String doctorName;
+    /**
+     * 病历等级
+     */
+    private String level;
+    @NotNull(message = "请输入起始时间")
+    private Date startDate;
+    @NotNull(message = "请输入截止时间")
+    private Date endDate;
+}

+ 24 - 1
src/main/java/com/diagbot/web/ConsoleByDeptController.java

@@ -7,11 +7,13 @@ import com.diagbot.dto.DeptEntryNumDTO;
 import com.diagbot.dto.DeptNumDTO;
 import com.diagbot.dto.HomePageNumDTO;
 import com.diagbot.dto.LevelStatisticsDTO;
+import com.diagbot.dto.QcResultShortDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.ConsoleByDeptFacade;
 import com.diagbot.vo.FilterOrderByDeptVO;
 import com.diagbot.vo.FilterPageByDeptVO;
 import com.diagbot.vo.FilterVO;
+import com.diagbot.vo.QcResultShortPageVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -121,7 +123,7 @@ public class ConsoleByDeptController {
                     "name: 缺陷名称<br>" +
                     "deptName: 科室名称(必填)<br>" +
                     "casesId: 模块id:243=病案首页 <br>" +
-                    "casesName: 模块名称<br>"+
+                    "casesName: 模块名称<br>" +
                     "isReject: 单项否决 1-否决,0-非<br>" +
                     "ruleType: 规则类型 0:无,1:空项,2:错误<br>")
     @PostMapping("/entryCountGroupByEntryAndDeptPage")
@@ -201,5 +203,26 @@ public class ConsoleByDeptController {
         return RespDTO.onSuc(consoleByDeptFacade.homePageLevelStatisticsByDept(filterOrderByDeptVO));
     }
 
+    /**
+     * 条目缺陷质控评分页-科室(内页)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    @ApiOperation(value = "条目缺陷质控评分页-科室(内页)[by:zhaops]",
+            notes = "behospitalCode: 病历号)<br>" +
+                    "patName: 病人姓名 <br>" +
+                    "casesEntryName: 条目名称 <br>" +
+                    "casesEntryId: 条目id <br>" +
+                    "behDeptName:科室名称 <br>" +
+                    "doctorName:主治医生名称 <br>" +
+                    "level: 病历等级 <br>" +
+                    "startDate: 起始时间 <br>" +
+                    "endDate: 截止时间 <br>")
+    @PostMapping("/qcResultShortByDeptPage")
+    @SysLogger("qcResultShortByDeptPage")
+    public RespDTO<IPage<QcResultShortDTO>> qcResultShortByDeptPage(@RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
+        return RespDTO.onSuc(consoleByDeptFacade.qcResultShortByDeptPage(qcResultShortPageVO));
+    }
     //endregion -----------------------内页接口结束------------------------------
 }

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

@@ -8,12 +8,14 @@ import com.diagbot.dto.EntryNumDTO;
 import com.diagbot.dto.HomePageNumDTO;
 import com.diagbot.dto.LevelStatisticsDTO;
 import com.diagbot.dto.NumDTO;
+import com.diagbot.dto.QcResultShortDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.ConsoleFacade;
 import com.diagbot.vo.FilterOrderVO;
 import com.diagbot.vo.FilterPageByAverageVO;
 import com.diagbot.vo.FilterPageVO;
 import com.diagbot.vo.FilterVO;
+import com.diagbot.vo.QcResultShortPageVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -442,4 +444,25 @@ public class ConsoleController {
     public RespDTO<List<HomePageNumDTO>> homePageLevelLimit(@RequestBody @Valid FilterOrderVO filterOrderVO) {
         return RespDTO.onSuc(consoleFacade.homePageLevelLimit(filterOrderVO));
     }
+
+    /**
+     * 条目缺陷质控评分页(内页)
+     *
+     * @param qcResultShortPageVO
+     * @return
+     */
+    @ApiOperation(value = "条目缺陷质控评分页(内页)[by:zhaops]",
+            notes = "behospitalCode: 病历号)<br>" +
+                    "patName: 病人姓名 <br>" +
+                    "casesEntryName: 条目名称 <br>" +
+                    "casesEntryId: 条目id <br>" +
+                    "behDeptName:科室名称 <br>" +
+                    "level: 病历等级 <br>" +
+                    "startDate: 起始时间 <br>" +
+                    "endDate: 截止时间 <br>")
+    @PostMapping("/qcResultShortPage")
+    @SysLogger("qcResultShortPage")
+    public RespDTO<IPage<QcResultShortDTO>> qcResultShortPage(@RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
+        return RespDTO.onSuc(consoleFacade.qcResultShortPage(qcResultShortPageVO));
+    }
 }

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

@@ -2494,6 +2494,170 @@
         t1.caseName
     </select>
 
+    <!-- 条目缺陷质控评分页(内页)-->
+    <select id="qcResultShortPage" resultType="com.diagbot.dto.QcResultShortDTO">
+        SELECT
+        t1.hospital_id AS hospitalId,
+        t1.behospital_code AS behospitalCode,
+        t1.LEVEL AS level,
+        t1.score_res AS scoreRes,
+        t1.NAME AS patName,
+        t1.sex AS sex,
+        t1.beh_dept_id AS behDeptId,
+        t1.beh_dept_name AS behDeptName,
+        t1.leave_hospital_date AS leaveHospitalDate,
+        t2.age
+        FROM
+        (
+        SELECT DISTINCT
+        a.hospital_id,
+        a.behospital_code,
+        b.LEVEL,
+        b.score_res,
+        a.NAME,
+        a.sex,
+        a.beh_dept_id,
+        a.beh_dept_name,
+        DATE_FORMAT( a.leave_hospital_date, '%Y-%m-%d' ) AS leave_hospital_date
+        FROM
+        med_behospital_info a,
+        med_qcresult_info b,
+        med_qcresult_detail c,
+        qc_cases_entry d
+        WHERE
+        a.is_deleted = 'N'
+        AND b.is_deleted = 'N'
+        AND c.is_deleted = 'N'
+        AND d.is_deleted = 'N'
+        AND a.hospital_id = b.hospital_id
+        AND a.hospital_id = c.hospital_id
+        AND a.behospital_code = b.behospital_code
+        AND a.behospital_code = c.behospital_code
+        AND c.cases_id = d.cases_id
+        AND c.cases_entry_id = d.id
+        AND a.qc_type_id != 0
+        AND a.is_placefile = 1
+        <if test="qcResultShortPageVO.hospitalId != null and qcResultShortPageVO.hospitalId != ''">
+            AND a.hospital_id = #{qcResultShortPageVO.hospitalId}
+        </if>
+        <if test="qcResultShortPageVO.startDate != null">
+            <![CDATA[ AND a.leave_hospital_date >= DATE(#{qcResultShortPageVO.startDate})]]>
+        </if>
+        <if test="qcResultShortPageVO.endDate != null ">
+            <![CDATA[AND a.leave_hospital_date < DATE(#{qcResultShortPageVO.endDate})]]>
+        </if>
+        <if test="qcResultShortPageVO.behDeptName != null and qcResultShortPageVO.behDeptName != ''">
+            AND a.beh_dept_name = #{qcResultShortPageVO.behDeptName}
+        </if>
+        <if test="qcResultShortPageVO.level != null and qcResultShortPageVO.level != ''">
+            AND b.`level` = #{qcResultShortPageVO.level}
+        </if>
+        <if test="qcResultShortPageVO.behospitalCode != null and qcResultShortPageVO.behospitalCode != ''">
+            AND a.behospital_code LIKE CONCAT( '%', #{qcResultShortPageVO.behospitalCode}, '%' )
+        </if>
+        <if test="qcResultShortPageVO.patName != null and qcResultShortPageVO.patName != ''">
+            AND a.NAME LIKE CONCAT( '%', #{qcResultShortPageVO.patName}, '%' )
+        </if>
+        <if test="qcResultShortPageVO.casesEntryName != null and qcResultShortPageVO.casesEntryName != ''">
+            AND d.NAME LIKE CONCAT( '%', #{qcResultShortPageVO.casesEntryName}, '%' )
+        </if>
+        <if test="qcResultShortPageVO.casesEntryId != null and qcResultShortPageVO.casesEntryId != ''">
+            AND d.id = #{qcResultShortPageVO.casesEntryId}
+        </if>
+        ) t1
+        LEFT JOIN med_home_page t2 ON t1.hospital_id = t2.hospital_id
+        AND t1.behospital_code = t2.behospital_code
+        AND t2.is_deleted = 'N'
+    </select>
+
+    <!-- 条目缺陷质控评分页-科室(内页)-->
+    <select id="qcResultShortByDeptPage" resultType="com.diagbot.dto.QcResultShortDTO">
+        SELECT
+        t1.hospital_id AS hospitalId,
+        t1.behospital_code AS behospitalCode,
+        t1.LEVEL AS LEVEL,
+        t1.NAME AS patName,
+        t1.sex AS sex,
+        t1.beh_dept_id AS behDeptId,
+        t1.beh_dept_name AS behDeptName,
+        t1.doctor_id AS doctorId,
+        t1.doctor_name AS doctorName,
+        t1.leave_hospital_date AS leaveHospitalDate,
+        t2.age
+        FROM
+        (
+        SELECT DISTINCT
+        a.hospital_id,
+        a.behospital_code,
+        b.LEVEL,
+        a.NAME,
+        a.sex,
+        a.beh_dept_id,
+        a.beh_dept_name,
+        a.doctor_id,
+        a.doctor_name,
+        DATE_FORMAT( a.leave_hospital_date, '%Y-%m-%d' ) AS leave_hospital_date
+        FROM
+        med_behospital_info a,
+        med_qcresult_info b,
+        med_qcresult_detail c,
+        qc_cases_entry d,
+        sys_user_dept e
+        WHERE
+        a.is_deleted = 'N'
+        AND b.is_deleted = 'N'
+        AND c.is_deleted = 'N'
+        AND d.is_deleted = 'N'
+        AND e.is_deleted = 'N'
+        AND a.hospital_id = b.hospital_id
+        AND a.hospital_id = c.hospital_id
+        AND a.hospital_id = e.hospital_id
+        AND a.behospital_code = b.behospital_code
+        AND a.behospital_code = c.behospital_code
+        AND a.beh_dept_id = e.dept_id
+        AND c.cases_id = d.cases_id
+        AND c.cases_entry_id = d.id
+        AND a.qc_type_id != 0
+        AND a.is_placefile = 1
+        <if test="qcResultShortPageVO.userId != null and qcResultShortPageVO.userId != ''">
+            AND e.user_id = #{qcResultShortPageVO.userId}
+        </if>
+        <if test="qcResultShortPageVO.hospitalId != null and qcResultShortPageVO.hospitalId != ''">
+            AND a.hospital_id = #{qcResultShortPageVO.hospitalId}
+        </if>
+        <if test="qcResultShortPageVO.startDate != null">
+            <![CDATA[ AND a.leave_hospital_date >= DATE(#{qcResultShortPageVO.startDate})]]>
+        </if>
+        <if test="qcResultShortPageVO.endDate != null ">
+            <![CDATA[AND a.leave_hospital_date < DATE(#{qcResultShortPageVO.endDate})]]>
+        </if>
+        <if test="qcResultShortPageVO.behDeptName != null and qcResultShortPageVO.behDeptName != ''">
+            AND a.beh_dept_name = #{qcResultShortPageVO.behDeptName}
+        </if>
+        <if test="qcResultShortPageVO.doctorName != null and qcResultShortPageVO.doctorName != ''">
+            AND a.beh_dept_name = #{qcResultShortPageVO.doctorName}
+        </if>
+        <if test="qcResultShortPageVO.level != null and qcResultShortPageVO.level != ''">
+            AND b.`level` = #{qcResultShortPageVO.level}
+        </if>
+        <if test="qcResultShortPageVO.behospitalCode != null and qcResultShortPageVO.behospitalCode != ''">
+            AND a.behospital_code LIKE CONCAT( '%', #{qcResultShortPageVO.behospitalCode}, '%' )
+        </if>
+        <if test="qcResultShortPageVO.patName != null and qcResultShortPageVO.patName != ''">
+            AND a.NAME LIKE CONCAT( '%', #{qcResultShortPageVO.patName}, '%' )
+        </if>
+        <if test="qcResultShortPageVO.casesEntryName != null and qcResultShortPageVO.casesEntryName != ''">
+            AND d.NAME LIKE CONCAT( '%', #{qcResultShortPageVO.casesEntryName}, '%' )
+        </if>
+        <if test="qcResultShortPageVO.casesEntryId != null and qcResultShortPageVO.casesEntryId != ''">
+            AND d.id = #{qcResultShortPageVO.casesEntryId}
+        </if>
+        ) t1
+        LEFT JOIN med_home_page t2 ON t1.hospital_id = t2.hospital_id
+        AND t1.behospital_code = t2.behospital_code
+        AND t2.is_deleted = 'N'
+    </select>
+
     <update id="updateBatchByKey">
         <foreach collection="list" item="item"  separator=";">
             update med_behospital_info