Browse Source

Merge branch 'master' into his/common

# Conflicts:
#	src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
#	src/main/resources/mapper/BehospitalInfoMapper.xml
lantone 5 years ago
parent
commit
8b00e0caef

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

@@ -0,0 +1,34 @@
+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, '数据报表明细(科室)-条目缺陷占比-条目缺陷占比质控详情页(科室)');
+
+
+ALTER TABLE `med_behospital_info` ADD INDEX `idx_beh_dept_id` (`beh_dept_id`) USING BTREE;
+
+-- 所有环境、技术服务部已经同步
+-- DROP INDEX advice_behospital_code_unique ON med_doctor_advice;
+-- ALTER TABLE med_doctor_advice ADD UNIQUE KEY `advice_behospital_code_unique` (`doctor_advice_id`,`hospital_id`,`behospital_code`) USING BTREE;

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

@@ -73,21 +73,72 @@ 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("/qc/data/sendDoctorInfos").permitAll()
+                .antMatchers("/qc/data/sendDeptInfos").permitAll()
+                .antMatchers("/qc/data/sendRecordTypes").permitAll()
+                .antMatchers("/qc/data/sendMrRecordIng").permitAll()
+                .antMatchers("/qc/data/sendMrContent").permitAll()
+                .antMatchers("/qc/data/sendMrRecord").permitAll()
+                .antMatchers("/qc/data/sendPatientInfo").permitAll()
+                .antMatchers("/qc/data/sendDoctorAdvice").permitAll()
+                .antMatchers("/qc/data/sendHomePageIng").permitAll()
+                .antMatchers("/qc/data/sendHomePage").permitAll()
+                .antMatchers("/qc/data/sendHomeDiagnose").permitAll()
+                .antMatchers("/qc/data/sendHomeOperation").permitAll()
+                .antMatchers("/qc/data/sendCrisis").permitAll()
                 .antMatchers("/**").authenticated();
-//                .antMatchers("/**").permitAll();
+        //                .antMatchers("/**").permitAll();
     }
 
 
@@ -117,4 +168,4 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
         log.info("Created jwtTokenEnhancerClient success");
         return converter;
     }
-}
+}

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

@@ -115,19 +115,6 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/qc/dataimport/test", request)
                 || matchers("/sys/user/pageset/getPageSet", request)
                 || matchers("/sys/user/pageset/savePageSet", request)
-                || matchers("/qc/data/sendDoctorInfos", request)
-                || matchers("/qc/data/sendDeptInfos", request)
-                || matchers("/qc/data/sendRecordTypes", request)
-                || matchers("/qc/data/sendMrRecordIng", request)
-                || matchers("/qc/data/sendMrContent", request)
-                || matchers("/qc/data/sendMrRecord", request)
-                || matchers("/qc/data/sendPatientInfo", request)
-                || matchers("/qc/data/sendDoctorAdvice", request)
-                || matchers("/qc/data/sendHomePageIng", request)
-                || matchers("/qc/data/sendHomePage", request)
-                || matchers("/qc/data/sendHomeDiagnose", request)
-                || matchers("/qc/data/sendHomeOperation", request)
-                || matchers("/qc/data/sendCrisis", request)
                 || matchers("/", request)) {
             return true;
         }

+ 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;
+}

+ 12 - 2
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -359,7 +359,12 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         //  调用质控接口
         Response<OutputInfo> response = qcServiceClient.extract(queryVo);
         if (response == null || response.getData() == null) {
-            throw new CommonException(CommonErrorCode.RPC_ERROR, "远程质控接口没有返回数据!【" + analyzeVO.getBehospitalCode() + "】");
+            if (null == response) {
+                throw new CommonException(CommonErrorCode.RPC_ERROR, "远程质控接口没有返回数据!【" + analyzeVO.getBehospitalCode() + "】");
+            } else {
+                throw new CommonException(CommonErrorCode.RPC_ERROR,
+                        "远程质控接口没有返回数据!【" + analyzeVO.getBehospitalCode() + "】错误原因:" + response.getMsg());
+            }
         }
         OutputInfo outputInfo = response.getData();
         //根据质控结果获取质控条目
@@ -845,7 +850,12 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         //  调用质控接口
         Response<OutputInfo> response = qcServiceClient.extract(queryVo);
         if (response == null || response.getData() == null) {
-            throw new CommonException(CommonErrorCode.RPC_ERROR, "远程质控接口没有返回数据!");
+            if (null == response) {
+                throw new CommonException(CommonErrorCode.RPC_ERROR, "远程质控接口没有返回数据!【" + analyzeVO.getBehospitalCode() + "】");
+            } else {
+                throw new CommonException(CommonErrorCode.RPC_ERROR,
+                        "远程质控接口没有返回数据!【" + analyzeVO.getBehospitalCode() + "】错误原因:" + response.getMsg());
+            }
         }
         OutputInfo outputInfo = response.getData();
         //根据质控结果获取质控条目

+ 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

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

@@ -0,0 +1,65 @@
+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;
+
+    /**
+     * 单项否决
+     */
+    private Integer isReject;
+
+    /**
+     * 规则类型(0:无,1:空项,2:错误)
+     */
+    private Integer ruleType;
+}

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

@@ -149,13 +149,15 @@ public class BehospitalInfoController {
         return RespDTO.onSuc(qcresultInfoFacade.changeQcResult(qcresultVO));
     }
 
-    @ApiOperation(value = "对病历进行评分[by:zhoutg]",
+    @ApiOperation(value = "对病历进行评分【****************批量评分*************】[by:zhoutg]",
             notes = "参数内容清空:【所有医院】【未评分】病历数据<br>" +
                     "<br>" +
-                    "type:类型过滤(1:出院时间比当前时间早3天前的病历(例如:长兴病历))<br>" +
                     "hosptialIdList:医院列表id,1:长兴,3:台州,2:邵逸夫<br>" +
-                    "filterFlag: 筛选病历数据:0:未评分的病历,【推荐使用】;1:全部病历,【谨慎使用】<br>" +
-                    "useCrfCache: 是否使用crf缓存(true:使用crf缓存,false:不使用)")
+                    "useCrfCache: 是否使用crf缓存(true:使用crf缓存,false:不使用)<br>" +
+                    "【个性化需求】——默认即可<br>" +
+                    "filterFlag: 筛选病历数据:0:未评分的病历【推荐使用】;1:全部病历【谨慎使用】<br>" +
+                    "individuation:【1:近3天不含当天的病历强制评分更新】<br>" +
+                    "type:【1:出院时间比当前时间早3天前的病历(例如:长兴病历)】)<br>")
     @PostMapping("/execule")
     @SysLogger("execule")
     public RespDTO<Boolean> execule(@RequestBody TaskVO taskVO) {

+ 26 - 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,28 @@ 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>" +
+                    "isReject: 单项否决 1-否决,0-非<br>" +
+                    "ruleType: 规则类型 0:无,1:空项,2:错误<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 -----------------------内页接口结束------------------------------
 }

+ 25 - 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,27 @@ 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>" +
+                    "isReject: 单项否决 1-否决,0-非<br>" +
+                    "ruleType: 规则类型 0:无,1:空项,2:错误<br>" +
+                    "startDate: 起始时间 <br>" +
+                    "endDate: 截止时间 <br>")
+    @PostMapping("/qcResultShortPage")
+    @SysLogger("qcResultShortPage")
+    public RespDTO<IPage<QcResultShortDTO>> qcResultShortPage(@RequestBody @Valid QcResultShortPageVO qcResultShortPageVO) {
+        return RespDTO.onSuc(consoleFacade.qcResultShortPage(qcResultShortPageVO));
+    }
 }

+ 176 - 3
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -2494,6 +2494,182 @@
         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>
+        <if test="qcResultShortPageVO.isReject != null">
+            AND c.is_reject = #{qcResultShortPageVO.isReject}
+        </if>
+        <if test="qcResultShortPageVO.ruleType != null">
+            AND d.rule_type = #{qcResultShortPageVO.ruleType}
+        </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>
+        <if test="qcResultShortPageVO.isReject != null">
+            AND c.is_reject = #{qcResultShortPageVO.isReject}
+        </if>
+        <if test="qcResultShortPageVO.ruleType != null">
+            AND d.rule_type = #{qcResultShortPageVO.ruleType}
+        </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
@@ -2570,9 +2746,6 @@
                 <if test="item.placefileDate != null">
                     placefile_date = #{item.placefileDate},
                 </if>
-                <if test="item.directorDoctorName != null">
-                    director_doctor_name = #{item.directorDoctorName},
-                </if>
                 <if test="item.isPlacefile != null">
                     is_placefile = #{item.isPlacefile},
                 </if>

+ 4 - 20
src/main/resources/mapper/QcresultInfoMapper.xml

@@ -1014,17 +1014,14 @@
             med_qcresult_info c,
         </if>
         med_qcresult_detail d,
-        qc_cases_entry e,
-        qc_cases_entry_hospital f
+        qc_cases_entry e
         WHERE
         a.is_deleted = 'N'
         AND c.is_deleted = 'N'
         AND d.is_deleted = 'N'
         and e.is_deleted='N'
-        and f.is_deleted='N'
         AND a.hospital_id = c.hospital_id
         and a.hospital_id = d.hospital_id
-        and a.hospital_id = f.hospital_id
         AND a.behospital_code = c.behospital_code
         AND a.behospital_code = d.behospital_code
         AND a.is_placefile = '1'
@@ -1033,7 +1030,6 @@
         </if>
         AND d.cases_id = e.cases_id
         AND d.cases_entry_id = e.id
-        and e.id = f.cases_entry_id
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="filterPageVO.casesId != null and filterPageVO.casesId != 0">
             AND d.cases_id = #{filterPageVO.casesId}
@@ -1074,17 +1070,14 @@
             med_qcresult_info c,
         </if>
         med_qcresult_detail d,
-        qc_cases_entry e,
-        qc_cases_entry_hospital f
+        qc_cases_entry e
         WHERE
         a.is_deleted = 'N'
         AND c.is_deleted = 'N'
         AND d.is_deleted = 'N'
         and e.is_deleted='N'
-        and f.is_deleted='N'
         AND a.hospital_id = c.hospital_id
         and a.hospital_id = d.hospital_id
-        and a.hospital_id = f.hospital_id
         AND a.behospital_code = c.behospital_code
         AND a.behospital_code = d.behospital_code
         AND a.is_placefile = '1'
@@ -1093,7 +1086,6 @@
         </if>
         AND d.cases_id = e.cases_id
         AND d.cases_entry_id = e.id
-        and e.id = f.cases_entry_id
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="filterPageVO.casesId != null and filterPageVO.casesId != 0">
             AND d.cases_id = #{filterPageVO.casesId}
@@ -1394,19 +1386,16 @@
         </if>
         med_qcresult_detail d,
         qc_cases_entry e,
-        sys_user_dept f,
-        qc_cases_entry_hospital g
+        sys_user_dept f
         WHERE
         a.is_deleted = 'N'
         AND c.is_deleted = 'N'
         AND d.is_deleted = 'N'
         AND e.is_deleted = 'N'
         AND f.is_deleted = 'N'
-        AND g.is_deleted = 'N'
         AND a.hospital_id = c.hospital_id
         AND a.hospital_id = d.hospital_id
         AND a.hospital_id = f.hospital_id
-        AND a.hospital_id = g.hospital_id
         AND a.behospital_code = c.behospital_code
         AND a.behospital_code = d.behospital_code
         AND a.is_placefile = '1'
@@ -1415,7 +1404,6 @@
         </if>
         AND d.cases_id = e.cases_id
         AND d.cases_entry_id = e.id
-        AND g.cases_entry_id = e.id
         AND a.beh_dept_id = f.dept_id
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="filterPageByDeptVO.casesId != null and filterPageByDeptVO.casesId != 0">
@@ -1469,19 +1457,16 @@
         </if>
         med_qcresult_detail d,
         qc_cases_entry e,
-        sys_user_dept f,
-        qc_cases_entry_hospital g
+        sys_user_dept f
         WHERE
         a.is_deleted = 'N'
         AND c.is_deleted = 'N'
         AND d.is_deleted = 'N'
         AND e.is_deleted = 'N'
         AND f.is_deleted = 'N'
-        AND g.is_deleted = 'N'
         AND a.hospital_id = c.hospital_id
         AND a.hospital_id = d.hospital_id
         AND a.hospital_id = f.hospital_id
-        AND a.hospital_id = g.hospital_id
         AND a.behospital_code = c.behospital_code
         AND a.behospital_code = d.behospital_code
         AND a.is_placefile = '1'
@@ -1490,7 +1475,6 @@
         </if>
         AND d.cases_id = e.cases_id
         AND d.cases_entry_id = e.id
-        AND g.cases_entry_id = e.id
         AND a.beh_dept_id = f.dept_id
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="filterPageByDeptVO.casesId != null and filterPageByDeptVO.casesId != 0">