Ver código fonte

Merge remote-tracking branch 'origin/dev/20200513end_1.2.0' into debug

zhaops 5 anos atrás
pai
commit
2b1a91776b

+ 30 - 30
doc/003.20200515第3期/qc_init.sql

@@ -74,36 +74,36 @@ CREATE TABLE `sys_menu` (
 -- ----------------------------
 -- Records of sys_menu
 -- ----------------------------
-INSERT INTO `sys_menu` VALUES ('1', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '控制台', '-1', 'YH-KZT', '1', '1', '-10', '用户-控制台');
-INSERT INTO `sys_menu` VALUES ('2', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '基础数据维护', '-1', 'YH-JCSJWH', '1', '1', '2', '用户-基础数据维护');
-INSERT INTO `sys_menu` VALUES ('3', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '病案质控', '-1', 'YH-BLZK', '1', '1', '3', '用户-病历质控');
-INSERT INTO `sys_menu` VALUES ('4', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '统计分析', '-1', 'YH-TJFX', '1', '1', '4', '用户-统计分析');
-INSERT INTO `sys_menu` VALUES ('5', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '模块数据维护', '2', 'YH-JCSJWH-MKSJWH', '1', '1', '1', '用户-基础数据维护-模块数据维护');
-INSERT INTO `sys_menu` VALUES ('6', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '条目数据维护', '2', 'YH-JCSJWH-TMSJWH', '1', '1', '2', '用户-基础数据维护-条目数据维护');
-INSERT INTO `sys_menu` VALUES ('7', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '质控评分', '3', 'YH-BLZK-ZKPF', '1', '1', '1', '用户-病历质控-质控评分');
-INSERT INTO `sys_menu` VALUES ('8', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '基础功能', '-1', 'YH-QBYH-JCGN', '0', '1', '0', '用户-基础功能');
-INSERT INTO `sys_menu` VALUES ('9', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '质控评分(科室)', '3', 'YH-BLZK-ZKPFKS', '1', '1', '2', '用户-病历质控-质控评分(科室)');
-INSERT INTO `sys_menu` VALUES ('10', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '质控评分(个人)', '3', 'YH-BLZK-ZKPFGR', '1', '1', '3', '用户-病历质控-质控评分(个人)');
-INSERT INTO `sys_menu` VALUES ('12', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '权限管理', '-1', 'YH-QXGL', '1', '0', '5', '用户-权限管理');
-INSERT INTO `sys_menu` VALUES ('13', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户管理', '12', 'YH-QXGL-YHGL', '1', '0', '1', '用户-权限管理-用户管理');
-INSERT INTO `sys_menu` VALUES ('14', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '角色管理', '12', 'YH-QXGL-JSGL', '1', '0', '2', '用户-权限管理-角色管理');
-INSERT INTO `sys_menu` VALUES ('15', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '控制台-科室', '-1', 'YH-KZTKS', '1', '1', '-9', '用户-控制台(科室)');
-INSERT INTO `sys_menu` VALUES ('16', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '异常数据监控', '-1', 'YH-YCSJJK', '1', '0', '10', '用户-异常数据监控');
-INSERT INTO `sys_menu` VALUES ('17', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '质控科', '-1', 'YH-ZKK', '1', '1', '-8', '用户-质控科');
-INSERT INTO `sys_menu` VALUES ('18', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '科室主任', '-1', 'YH-KSZR', '1', '1', '-7', '用户-科室主任');
-INSERT INTO `sys_menu` VALUES ('19', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '各模块缺陷占比', '17', 'YH-ZKK-GMKQXZB_XQ', '1', '1', '2', '用户-质控科-各模块缺陷占比_详情');
-INSERT INTO `sys_menu` VALUES ('20', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '条目缺陷占比', '17', 'YH-ZKK-TMQXZB_XQ', '1', '1', '3', '用户-质控科-条目缺陷占比_详情');
-INSERT INTO `sys_menu` VALUES ('21', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '科室平均住院天数', '17', 'YH-ZKK-KSPJZYTS_XQ', '1', '1', '4', '用户-质控科-科室平均住院天数_详情');
-INSERT INTO `sys_menu` VALUES ('22', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '科室平均住院花费', '17', 'YH-ZKK-KSPJZYHF_XQ', '1', '1', '5', '用户-质控科-科室平均住院花费_详情');
-INSERT INTO `sys_menu` VALUES ('23', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '各科室质控平均分', '17', 'YH-ZKK-GKSZKPJF_XQ', '1', '1', '6', '用户-质控科-各科室质控平均分_详情');
-INSERT INTO `sys_menu` VALUES ('24', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '缺陷详情', '17', 'YH-ZKK-GKSQXZB', '1', '1', '7', '用户-质控科-各科室缺陷占比_详情');
-INSERT INTO `sys_menu` VALUES ('25', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '各科室甲级病历占比', '17', 'YH-ZKK-GKSJJBLZB_XQ', '1', '1', '8', '用户-质控科-各科室甲级病历占比_详情');
-INSERT INTO `sys_menu` VALUES ('26', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '各模块缺陷占比', '18', 'YH-KSZR-GMKQXZB_XQ', '1', '1', '2', '用户-科室主任-各模块缺陷占比_详情');
-INSERT INTO `sys_menu` VALUES ('27', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '条目缺陷占比', '18', 'YH-KSZR-TMQXZB_XQ', '1', '1', '3', '用户-科室主任-条目缺陷占比_详情');
-INSERT INTO `sys_menu` VALUES ('28', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '病案首页合格率占比', '17', 'YH-ZKK-BASYHGLZB_XQ', '1', '1', '1', '用户-质控科-病案首页合格率占比_详情');
-INSERT INTO `sys_menu` VALUES ('29', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '病案首页合格率占比', '18', 'YH-KSZR-BASYHGLZB_XQ', '1', '1', '1', '用户-科室主任-病案首页合格率占比_详情');
-INSERT INTO `sys_menu` VALUES ('30', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '科室缺陷占比', '18', 'YH-KSZR-KSQXZB_XQ', '1', '1', '4', '用户-科室主任-科室缺陷占比_详情');
-INSERT INTO `sys_menu` VALUES ('31', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '各科室缺陷占比', '17', 'YH-ZKK-GKSQXZB_XQ', '1', '1', '9', '用户-质控科-各科室缺陷占比_详情');
+INSERT INTO `sys_menu` VALUES (1, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '控制台', -1, 'YH-KZT', 1, 1, -10, '用户-控制台');
+INSERT INTO `sys_menu` VALUES (2, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '基础数据维护', -1, 'YH-JCSJWH', 1, 1, 2, '用户-基础数据维护');
+INSERT INTO `sys_menu` VALUES (3, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '病案质控', -1, 'YH-BLZK', 1, 1, 3, '用户-病历质控');
+INSERT INTO `sys_menu` VALUES (4, 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '统计分析', -1, 'YH-TJFX', 1, 1, 4, '用户-统计分析');
+INSERT INTO `sys_menu` VALUES (5, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '模块数据维护', 2, 'YH-JCSJWH-MKSJWH', 1, 1, 1, '用户-基础数据维护-模块数据维护');
+INSERT INTO `sys_menu` VALUES (6, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '条目数据维护', 2, 'YH-JCSJWH-TMSJWH', 1, 1, 2, '用户-基础数据维护-条目数据维护');
+INSERT INTO `sys_menu` VALUES (7, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '质控评分', 3, 'YH-BLZK-ZKPF', 1, 1, 1, '用户-病历质控-质控评分');
+INSERT INTO `sys_menu` VALUES (8, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '基础功能', -1, 'YH-QBYH-JCGN', 0, 1, 0, '用户-基础功能');
+INSERT INTO `sys_menu` VALUES (9, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '质控评分(科室)', 3, 'YH-BLZK-ZKPFKS', 1, 1, 2, '用户-病历质控-质控评分(科室)');
+INSERT INTO `sys_menu` VALUES (10, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '质控评分(个人)', 3, 'YH-BLZK-ZKPFGR', 1, 1, 3, '用户-病历质控-质控评分(个人)');
+INSERT INTO `sys_menu` VALUES (12, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '权限管理', -1, 'YH-QXGL', 1, 0, 5, '用户-权限管理');
+INSERT INTO `sys_menu` VALUES (13, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '用户管理', 12, 'YH-QXGL-YHGL', 1, 0, 1, '用户-权限管理-用户管理');
+INSERT INTO `sys_menu` VALUES (14, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '角色管理', 12, 'YH-QXGL-JSGL', 1, 0, 2, '用户-权限管理-角色管理');
+INSERT INTO `sys_menu` VALUES (15, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '控制台(科室)', -1, 'YH-KZTKS', 1, 1, -9, '用户-控制台(科室)');
+INSERT INTO `sys_menu` VALUES (16, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '异常数据监控', -1, 'YH-YCSJJK', 1, 0, 10, '用户-异常数据监控');
+INSERT INTO `sys_menu` VALUES (17, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '数据报表明细', -1, 'YH-ZKK', 1, 1, -8, '用户-质控科');
+INSERT INTO `sys_menu` VALUES (18, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '数据报表明细(科室)', -1, 'YH-KSZR', 1, 1, -7, '用户-科室主任');
+INSERT INTO `sys_menu` VALUES (19, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '各模块缺陷占比', 17, 'YH-ZKK-GMKQXZB_XQ', 1, 1, 2, '用户-质控科-各模块缺陷占比_详情');
+INSERT INTO `sys_menu` VALUES (20, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '条目缺陷占比', 17, 'YH-ZKK-TMQXZB_XQ', 1, 1, 3, '用户-质控科-条目缺陷占比_详情');
+INSERT INTO `sys_menu` VALUES (21, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '科室平均住院天数', 17, 'YH-ZKK-KSPJZYTS_XQ', 1, 1, 4, '用户-质控科-科室平均住院天数_详情');
+INSERT INTO `sys_menu` VALUES (22, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '科室平均住院花费', 17, 'YH-ZKK-KSPJZYHF_XQ', 1, 1, 5, '用户-质控科-科室平均住院花费_详情');
+INSERT INTO `sys_menu` VALUES (23, 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '各科室质控平均分', 17, 'YH-ZKK-GKSZKPJF_XQ', 1, 1, 6, '用户-质控科-各科室质控平均分_详情');
+INSERT INTO `sys_menu` VALUES (24, 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '缺陷详情', 17, 'YH-ZKK-GKSQXZB', 1, 1, 7, '用户-质控科-各科室缺陷占比_详情');
+INSERT INTO `sys_menu` VALUES (25, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '各科室甲级病历占比', 17, 'YH-ZKK-GKSJJBLZB_XQ', 1, 1, 8, '用户-质控科-各科室甲级病历占比_详情');
+INSERT INTO `sys_menu` VALUES (26, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '各模块缺陷占比', 18, 'YH-KSZR-GMKQXZB_XQ', 1, 1, 2, '用户-科室主任-各模块缺陷占比_详情');
+INSERT INTO `sys_menu` VALUES (27, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '条目缺陷占比', 18, 'YH-KSZR-TMQXZB_XQ', 1, 1, 3, '用户-科室主任-条目缺陷占比_详情');
+INSERT INTO `sys_menu` VALUES (28, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '病案首页合格率占比', 17, 'YH-ZKK-BASYHGLZB_XQ', 1, 1, 1, '用户-质控科-病案首页合格率占比_详情');
+INSERT INTO `sys_menu` VALUES (29, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '病案首页合格率占比', 18, 'YH-KSZR-BASYHGLZB_XQ', 1, 1, 1, '用户-科室主任-病案首页合格率占比_详情');
+INSERT INTO `sys_menu` VALUES (30, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '科室缺陷占比', 18, 'YH-KSZR-KSQXZB_XQ', 1, 1, 4, '用户-科室主任-科室缺陷占比_详情');
+INSERT INTO `sys_menu` VALUES (31, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '各科室缺陷占比', 17, 'YH-ZKK-GKSQXZB_XQ', 1, 1, 9, '用户-质控科-各科室缺陷占比_详情');
 
 -- ----------------------------
 -- Table structure for sys_menu_permission

+ 1 - 4
src/main/java/com/diagbot/facade/ConsoleByDeptFacade.java

@@ -506,10 +506,7 @@ public class ConsoleByDeptFacade {
         filterPageByDeptVO.setStartDate(startDate);
         filterPageByDeptVO.setEndDate(endDate);
         filterPageByDeptVO.setHospitalId(hospitalId);
-        if (filterPageByDeptVO.getGlobalType() == null
-                || !filterPageByDeptVO.getGlobalType().equals(1)) {
-            filterPageByDeptVO.setUserId(Long.valueOf(userId));
-        }
+        filterPageByDeptVO.setUserId(Long.valueOf(userId));
     }
 
     /**

+ 1 - 0
src/main/java/com/diagbot/facade/QcresultInfoFacade.java

@@ -206,6 +206,7 @@ public class QcresultInfoFacade extends QcresultInfoServiceImpl {
                 qcresultDetail.setCreator(useId.toString());
                 qcresultDetail.setGmtModified(now);
                 qcresultDetail.setModifier(useId.toString());
+                qcresultDetail.setInfo(StringUtil.isNotBlank(qcResultAlgVO.getInfo()) ? qcResultAlgVO.getInfo() : "");
                 qcresultDetailList.add(qcresultDetail);
             }
             qcresultDetailServiceImpl.saveBatch(qcresultDetailList);

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

@@ -25,5 +25,9 @@ public class FilterOrderVO extends FilterVO {
      * 排序(降序)
      */
     private String desc;
+
+    /**
+     * 科室名称/主管医生名称
+     */
     private String name;
 }

+ 0 - 11
src/main/java/com/diagbot/vo/FilterPageByDeptVO.java

@@ -11,19 +11,8 @@ import lombok.Setter;
 @Getter
 @Setter
 public class FilterPageByDeptVO extends FilterPageVO {
-    /**
-     * 科室名称
-     */
-    private String deptName;
-
     /**
      * 医生名称
      */
     private String doctorName;
-
-
-    /**
-     * 全局参数
-     */
-    private Integer globalType;
 }

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

@@ -42,4 +42,14 @@ public class FilterPageVO extends Page {
     @ApiModelProperty(hidden = true)
     private Long userId;
     private String name;
+
+    /**
+     * 科室名称
+     */
+    private String deptName;
+
+    /**
+     * 模块id:243=病案首页
+     */
+    private Long casesId;
 }

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

@@ -116,7 +116,7 @@ public class ConsoleByDeptController {
             notes = "type: 统计维度 1-本月,2-本年(必填)<br>" +
                     "name: 缺陷名称<br>" +
                     "deptName: 科室名称(必填)<br>"+
-                    "globalType: 全局参数 1-全局(必填)<br>")
+                    "casesId: 模块id:243=病案首页 <br>")
     @PostMapping("/entryCountGroupByEntryAndDeptPage")
     @SysLogger("entryCountGroupByEntryAndDeptPage")
     public RespDTO<IPage<DeptNumDTO>> entryCountGroupByEntryAndDeptPage(@RequestBody FilterPageByDeptVO filterPageByDeptVO) {

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

@@ -214,13 +214,15 @@ public class ConsoleController {
     }
 
     /**
-     * 各模块缺陷占比(分页)
+     * 条目缺陷占比(分页)
      *
      * @param filterPageVO
      * @return
      */
     @ApiOperation(value = "条目缺陷占比(分页)[by:zhaops]",
-            notes = "type: 统计维度 1-本月,2-本年(必填)<br>")
+            notes = "type: 统计维度 1-本月,2-本年(必填)<br>"+
+                    "deptName: 科室名称 <br>"+
+                    "casesId: 模块id:243=病案首页 <br>")
     @PostMapping("/entryCountGroupByEntryPage")
     @SysLogger("entryCountGroupByEntryPage")
     public RespDTO<IPage<NumDTO>> entryCountGroupByEntryPage(@RequestBody FilterPageVO filterPageVO) {

+ 274 - 32
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -881,13 +881,29 @@
         )t
     </select>
 
-
     <!-- 各科室缺陷占比(组合) -->
     <select id="levelStatistics" parameterType="com.diagbot.vo.FilterOrderVO" resultType="com.diagbot.dto.LevelStatisticsDTO">
+        SELECT
+        t1.deptId,
+        t1.deptName,
+        t2.entryNum,
+        t1.mrNum,
+        t1.totleValue,
+        t1.averageValue,
+        t1.firstLevelNum,
+        t1.secondLevelNum,
+        t1.thirdLevelNum,
+        t1.firstLevelPercent,
+        t1.secondLevelPercent,
+        t1.thirdLevelPercent,
+        t1.firstLevelPercentStr,
+        t1.secondLevelPercentStr,
+        t1.thirdLevelPercentStr
+        FROM
+        (
         SELECT
         a.beh_dept_id AS deptId,
         a.beh_dept_name AS deptName,
-        count( DISTINCT d.id ) AS entryNum,
         count( DISTINCT c.id ) AS mrNum,
         ROUND( sum( c.score_res ), 2 ) AS totleValue,
         ROUND( sum( c.score_res )/ count(*), 2 ) AS averageValue,
@@ -896,7 +912,7 @@
         COUNT( DISTINCT CASE WHEN c.`level` = '丙' THEN c.id END ) AS thirdLevelNum,
         ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '甲' THEN c.id END )/ count( DISTINCT c.id ), 4 ) AS firstLevelPercent,
         ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '乙' THEN c.id END )/ count( DISTINCT c.id ), 4 ) AS secondLevelPercent,
-        1-ROUND ( COUNT( DISTINCT CASE WHEN c.`level` = '甲' THEN c.id END )/ count( DISTINCT c.id ), 4 ) - ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '乙' THEN c.id END )/ count( DISTINCT c.id ), 4 ) AS thirdLevelPercent,
+        ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '丙' THEN c.id END )/ count( DISTINCT c.id ), 4 ) AS thirdLevelPercent,
         concat(
         ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '甲' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 ),
         '%'
@@ -904,17 +920,53 @@
         concat(
         ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '乙' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 ),
         '%'
-        ) AS sencondLevelPercentStr,
+        ) AS secondLevelPercentStr,
         concat(
-        (
-        100-ROUND ( COUNT( DISTINCT CASE WHEN c.`level` = '甲' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 ) - ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '乙' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 )),
+        ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '丙' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 ),
         '%'
         ) AS thirdLevelPercentStr
         FROM
         med_behospital_info a,
         med_home_page b,
-        med_qcresult_info c,
-        med_qcresult_detail d
+        med_qcresult_info c
+        WHERE
+        a.is_deleted = 'N'
+        AND b.is_deleted = 'N'
+        AND c.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
+        <![CDATA[AND a.qc_type_id <>0 ]]>
+        <if test="hospitalId != null and hospitalId != ''">
+            AND a.hospital_id = #{hospitalId}
+        </if>
+        <if test="startDate != null and startDate != ''">
+            <![CDATA[ and a.leave_hospital_date >= DATE(#{startDate})]]>
+        </if>
+        <if test="endDate != null and endDate != ''">
+            <![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
+        </if>
+        <if test="level != null and level != ''">
+            and c.level = #{level}
+        </if>
+        <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
+        ) t1,
+        (
+        SELECT
+        a.beh_dept_id AS deptId,
+        a.beh_dept_name AS deptName,
+        count( * ) AS entryNum
+        FROM
+        med_behospital_info a,
+        med_home_page b,
+        med_qcresult_detail c,
+        qc_cases_entry d
         WHERE
         a.is_deleted = 'N'
         AND b.is_deleted = 'N'
@@ -922,10 +974,10 @@
         AND d.is_deleted = 'N'
         AND a.hospital_id = b.hospital_id
         AND a.hospital_id = c.hospital_id
-        AND a.hospital_id = d.hospital_id
         AND a.behospital_code = b.behospital_code
         AND a.behospital_code = c.behospital_code
-        AND a.behospital_code = d.behospital_code
+        AND c.cases_id = d.cases_id
+        AND c.cases_entry_id = d.id
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="hospitalId != null and hospitalId != ''">
             AND a.hospital_id = #{hospitalId}
@@ -945,6 +997,10 @@
         GROUP BY
         a.beh_dept_id,
         a.beh_dept_name
+        ) t2
+        WHERE
+        t1.deptId = t2.deptId
+        AND t1.deptName = t2.deptName
         <if test="asc != null and asc !=''">
             order by
             <choose>
@@ -991,30 +1047,82 @@
 
     <!-- 病案首页合格率占比 -->
     <select id="homePageLevelStatistics" parameterType="com.diagbot.vo.FilterOrderVO" resultType="com.diagbot.dto.LevelStatisticsDTO">
+        SELECT
+        t1.deptId,
+        t1.deptName,
+        t2.entryNum,
+        t1.mrNum,
+        t1.totleValue,
+        t1.averageValue,
+        t1.firstLevelNum,
+        t1.secondLevelNum,
+        t1.firstLevelPercent,
+        t1.secondLevelPercent,
+        t1.firstLevelPercentStr,
+        t1.secondLevelPercentStr
+        FROM
+        (
         SELECT
         a.beh_dept_id AS deptId,
         a.beh_dept_name AS deptName,
-        count( DISTINCT d.id ) AS entryNum,
         count( DISTINCT c.id ) AS mrNum,
         ROUND( sum( c.score_res ), 2 ) AS totleValue,
         ROUND( sum( c.score_res )/ count(*), 2 ) AS averageValue,
         COUNT( DISTINCT CASE WHEN c.`level` = '合格' THEN c.id END ) AS firstLevelNum,
         COUNT( DISTINCT CASE WHEN c.`level` = '不合格' THEN c.id END ) AS secondLevelNum,
         ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '合格' THEN c.id END )/ count( DISTINCT c.id ), 4 ) AS firstLevelPercent,
-        1-ROUND ( COUNT( DISTINCT CASE WHEN c.`level` = '合格' THEN c.id END )/ count( DISTINCT c.id ), 4 ) AS secondLevelPercent,
+        ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '合格' THEN c.id END )/ count( DISTINCT c.id ), 4 ) AS secondLevelPercent,
         concat(
         ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '合格' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 ),
         '%'
         ) AS firstLevelPercentStr,
         concat(
-        100-ROUND ( COUNT( DISTINCT CASE WHEN c.`level` = '合格' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 ),
+        ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '合格' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 ),
         '%'
         ) AS secondLevelPercentStr
         FROM
         med_behospital_info a,
         med_home_page b,
-        med_qcresult_cases c,
-        med_qcresult_detail d
+        med_qcresult_cases c
+        WHERE
+        a.is_deleted = 'N'
+        AND b.is_deleted = 'N'
+        AND c.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 = 243
+        <![CDATA[AND a.qc_type_id <>0 ]]>
+        <if test="hospitalId != null and hospitalId != ''">
+            AND a.hospital_id = #{hospitalId}
+        </if>
+        <if test="startDate != null and startDate != ''">
+            <![CDATA[ and a.leave_hospital_date >= DATE(#{startDate})]]>
+        </if>
+        <if test="endDate != null and endDate != ''">
+            <![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
+        </if>
+        <if test="level != null and level != ''">
+            and c.level = #{level}
+        </if>
+        <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
+        ) t1,
+        (
+        SELECT
+        a.beh_dept_id AS deptId,
+        a.beh_dept_name AS deptName,
+        count( * ) AS entryNum
+        FROM
+        med_behospital_info a,
+        med_home_page b,
+        med_qcresult_detail c,
+        qc_cases_entry d
         WHERE
         a.is_deleted = 'N'
         AND b.is_deleted = 'N'
@@ -1022,11 +1130,10 @@
         AND d.is_deleted = 'N'
         AND a.hospital_id = b.hospital_id
         AND a.hospital_id = c.hospital_id
-        AND a.hospital_id = d.hospital_id
         AND a.behospital_code = b.behospital_code
         AND a.behospital_code = c.behospital_code
-        AND a.behospital_code = d.behospital_code
         AND c.cases_id = d.cases_id
+        AND c.cases_entry_id = d.id
         AND c.cases_id = 243
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="hospitalId != null and hospitalId != ''">
@@ -1047,6 +1154,10 @@
         GROUP BY
         a.beh_dept_id,
         a.beh_dept_name
+        ) t2
+        WHERE
+        t1.deptId = t2.deptId
+        AND t1.deptName = t2.deptName
         <if test="asc != null and asc !=''">
             order by
             <choose>
@@ -1087,10 +1198,27 @@
 
     <!-- 各科室缺陷占比(主任医生) -->
     <select id="levelStatisticsByDept" parameterType="com.diagbot.vo.FilterOrderByDeptVO" resultType="com.diagbot.dto.LevelStatisticsDTO">
+        SELECT
+        t1.doctorId,
+        t1.doctorName,
+        t2.entryNum,
+        t1.mrNum,
+        t1.totleValue,
+        t1.averageValue,
+        t1.firstLevelNum,
+        t1.secondLevelNum,
+        t1.thirdLevelNum,
+        t1.firstLevelPercent,
+        t1.secondLevelPercent,
+        t1.thirdLevelPercent,
+        t1.firstLevelPercentStr,
+        t1.secondLevelPercentStr,
+        t1.thirdLevelPercentStr
+        FROM
+        (
         SELECT
         a.doctor_id AS doctorId,
         a.doctor_name AS doctorName,
-        count( DISTINCT d.id ) AS entryNum,
         count( DISTINCT c.id ) AS mrNum,
         ROUND( sum( c.score_res ), 2 ) AS totleValue,
         ROUND( sum( c.score_res )/ count(*), 2 ) AS averageValue,
@@ -1099,7 +1227,7 @@
         COUNT( DISTINCT CASE WHEN c.`level` = '丙' THEN c.id END ) AS thirdLevelNum,
         ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '甲' THEN c.id END )/ count( DISTINCT c.id ), 4 ) AS firstLevelPercent,
         ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '乙' THEN c.id END )/ count( DISTINCT c.id ), 4 ) AS secondLevelPercent,
-        1-ROUND ( COUNT( DISTINCT CASE WHEN c.`level` = '甲' THEN c.id END )/ count( DISTINCT c.id ), 4 ) - ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '乙' THEN c.id END )/ count( DISTINCT c.id ), 4 ) AS thirdLevelPercent,
+        ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '丙' THEN c.id END )/ count( DISTINCT c.id ), 4 ) AS thirdLevelPercent,
         concat(
         ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '甲' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 ),
         '%'
@@ -1107,29 +1235,75 @@
         concat(
         ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '乙' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 ),
         '%'
-        ) AS sencondLevelPercentStr,
+        ) AS secondLevelPercentStr,
         concat(
-        (
-        100-ROUND ( COUNT( DISTINCT CASE WHEN c.`level` = '甲' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 ) - ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '乙' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 )),
+        ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '丙' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 ),
         '%'
         ) AS thirdLevelPercentStr
         FROM
         med_behospital_info a,
         med_home_page b,
         med_qcresult_info c,
-        med_qcresult_detail d,
+        sys_user_dept e
+        WHERE
+        a.is_deleted = 'N'
+        AND b.is_deleted = 'N'
+        AND c.is_deleted = 'N'
+        AND e.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 a.beh_dept_id = e.dept_id
+        <![CDATA[AND a.qc_type_id <>0 ]]>
+        <if test="hospitalId != null and hospitalId != ''">
+            AND a.hospital_id = #{hospitalId}
+        </if>
+        <if test="startDate != null and startDate != ''">
+            <![CDATA[ and a.leave_hospital_date >= DATE(#{startDate})]]>
+        </if>
+        <if test="endDate != null and endDate != ''">
+            <![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
+        </if>
+        <if test="level != null and level != ''">
+            and c.level = #{level}
+        </if>
+        <if test="name != null and name != ''">
+            and a.doctor_name like CONCAT('%',#{name},'%')
+        </if>
+        <if test="userId!=null and userId !=''">
+            AND e.user_id = #{userId}
+        </if>
+        <if test="deptName!=null and deptName !=''">
+            AND a.beh_dept_name = #{deptName}
+        </if>
+        GROUP BY
+        a.doctor_id,
+        a.doctor_name
+        ) t1,
+        (
+        SELECT
+        a.doctor_id AS doctorId,
+        a.doctor_name AS doctorName,
+        count( * ) AS entryNum
+        FROM
+        med_behospital_info a,
+        med_home_page 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 = d.hospital_id
         AND a.behospital_code = b.behospital_code
         AND a.behospital_code = c.behospital_code
-        AND a.behospital_code = d.behospital_code
+        AND c.cases_id = d.cases_id
+        AND c.cases_entry_id = d.id
         AND a.beh_dept_id = e.dept_id
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="hospitalId != null and hospitalId != ''">
@@ -1156,6 +1330,10 @@
         GROUP BY
         a.doctor_id,
         a.doctor_name
+        ) t2
+        WHERE
+        t1.doctorId = t2.doctorId
+        AND t1.doctorName = t2.doctorName
         <if test="asc != null and asc !=''">
             order by
             <choose>
@@ -1202,30 +1380,91 @@
 
     <!-- 病案首页合格率占比(主任医生) -->
     <select id="homePageLevelStatisticsByDept" parameterType="com.diagbot.vo.FilterOrderByDeptVO" resultType="com.diagbot.dto.LevelStatisticsDTO">
+        SELECT
+        t1.doctorId,
+        t1.doctorName,
+        t2.entryNum,
+        t1.mrNum,
+        t1.totleValue,
+        t1.averageValue,
+        t1.firstLevelNum,
+        t1.secondLevelNum,
+        t1.firstLevelPercent,
+        t1.secondLevelPercent,
+        t1.firstLevelPercentStr,
+        t1.secondLevelPercentStr
+        FROM
+        (
         SELECT
         a.doctor_id AS doctorId,
         a.doctor_name AS doctorName,
-        count( DISTINCT d.id ) AS entryNum,
         count( DISTINCT c.id ) AS mrNum,
         ROUND( sum( c.score_res ), 2 ) AS totleValue,
         ROUND( sum( c.score_res )/ count(*), 2 ) AS averageValue,
         COUNT( DISTINCT CASE WHEN c.`level` = '合格' THEN c.id END ) AS firstLevelNum,
         COUNT( DISTINCT CASE WHEN c.`level` = '不合格' THEN c.id END ) AS secondLevelNum,
         ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '合格' THEN c.id END )/ count( DISTINCT c.id ), 4 ) AS firstLevelPercent,
-        1-ROUND ( COUNT( DISTINCT CASE WHEN c.`level` = '合格' THEN c.id END )/ count( DISTINCT c.id ), 4 ) AS secondLevelPercent,
+        ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '合格' THEN c.id END )/ count( DISTINCT c.id ), 4 ) AS secondLevelPercent,
         concat(
         ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '合格' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 ),
         '%'
         ) AS firstLevelPercentStr,
         concat(
-        100-ROUND ( COUNT( DISTINCT CASE WHEN c.`level` = '合格' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 ),
+        ROUND( COUNT( DISTINCT CASE WHEN c.`level` = '合格' THEN c.id END )/ count( DISTINCT c.id )* 100, 2 ),
         '%'
         ) AS secondLevelPercentStr
         FROM
         med_behospital_info a,
         med_home_page b,
         med_qcresult_cases c,
-        med_qcresult_detail d,
+        sys_user_dept e
+        WHERE
+        a.is_deleted = 'N'
+        AND b.is_deleted = 'N'
+        AND c.is_deleted = 'N'
+        AND e.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 a.beh_dept_id = e.dept_id
+        AND c.cases_id = 243
+        <![CDATA[AND a.qc_type_id <>0 ]]>
+        <if test="hospitalId != null and hospitalId != ''">
+            AND a.hospital_id = #{hospitalId}
+        </if>
+        <if test="startDate != null and startDate != ''">
+            <![CDATA[ and a.leave_hospital_date >= DATE(#{startDate})]]>
+        </if>
+        <if test="endDate != null and endDate != ''">
+            <![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
+        </if>
+        <if test="level != null and level != ''">
+            and c.level = #{level}
+        </if>
+        <if test="name != null and name != ''">
+            and a.doctor_name like CONCAT('%',#{name},'%')
+        </if>
+        <if test="userId!=null and userId !=''">
+            AND e.user_id = #{userId}
+        </if>
+        <if test="deptName!=null and deptName !=''">
+            AND a.beh_dept_name = #{deptName}
+        </if>
+        GROUP BY
+        a.doctor_id,
+        a.doctor_name
+        ) t1,
+        (
+        SELECT
+        a.doctor_id AS doctorId,
+        a.doctor_name AS doctorName,
+        count( * ) AS entryNum
+        FROM
+        med_behospital_info a,
+        med_home_page b,
+        med_qcresult_detail c,
+        qc_cases_entry d,
         sys_user_dept e
         WHERE
         a.is_deleted = 'N'
@@ -1235,12 +1474,11 @@
         AND e.is_deleted = 'N'
         AND a.hospital_id = b.hospital_id
         AND a.hospital_id = c.hospital_id
-        AND a.hospital_id = d.hospital_id
         AND a.behospital_code = b.behospital_code
         AND a.behospital_code = c.behospital_code
-        AND a.behospital_code = d.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 c.cases_id = 243
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="hospitalId != null and hospitalId != ''">
@@ -1262,11 +1500,15 @@
             AND e.user_id = #{userId}
         </if>
         <if test="deptName!=null and deptName !=''">
-        AND a.beh_dept_name = #{deptName}
+            AND a.beh_dept_name = #{deptName}
         </if>
         GROUP BY
         a.doctor_id,
         a.doctor_name
+        ) t2
+        WHERE
+        t1.doctorId = t2.doctorId
+        AND t1.doctorName = t2.doctorName
         <if test="asc != null and asc !=''">
             order by
             <choose>

+ 2 - 1
src/main/resources/mapper/QcAbnormalMapper.xml

@@ -41,7 +41,8 @@
             <![CDATA[ and t1.gmt_create >= DATE(#{startDate})]]>
         </if>
         <if test="endDate != null and endDate != ''">
-            <![CDATA[AND t1.gmt_create < DATE(#{endDate})]]>
+            <![CDATA[ and t1.gmt_create < DATE(#{endDate})]]>
         </if>
+        order by t1.gmt_create desc
     </select>
 </mapper>

+ 33 - 3
src/main/resources/mapper/QcresultInfoMapper.xml

@@ -452,6 +452,9 @@
         <if test="filterPageVO.name != null and filterPageVO.name != ''">
             AND e.name like CONCAT('%', #{filterPageVO.name},'%')
         </if>
+        <if test="filterPageVO.deptName != null and filterPageVO.deptName != ''">
+            AND a.beh_dept_name like CONCAT('%', #{filterPageVO.deptName},'%')
+        </if>
         GROUP BY
         d.cases_id,
         e.`name`
@@ -481,6 +484,9 @@
         <if test="filterPageVO.endDate != null and filterPageVO.endDate != ''">
             <![CDATA[AND a.leave_hospital_date < DATE(#{filterPageVO.endDate})]]>
         </if>
+        <if test="filterPageVO.deptName != null and filterPageVO.deptName != ''">
+            AND a.beh_dept_name like CONCAT('%', #{filterPageVO.deptName},'%')
+        </if>
         ) t2,
         (
         SELECT
@@ -509,7 +515,7 @@
         ) t
     </select>
 
-    <!-- 条目缺陷分组统计(分页) -->
+    <!-- 条目缺陷占比(分页) -->
     <select id="entryCountGroupByEntryPage"  resultType="com.diagbot.dto.NumDTO">
         SELECT t.*
         FROM
@@ -540,6 +546,9 @@
         AND c.cases_id = d.cases_id
         AND c.cases_entry_id = d.id
         <![CDATA[AND a.qc_type_id <>0 ]]>
+        <if test="filterPageVO.casesId != null and filterPageVO.casesId != ''">
+            AND c.cases_id = #{filterPageVO.casesId}
+        </if>
         <if test="filterPageVO.hospitalId != null and filterPageVO.hospitalId != ''">
             AND a.hospital_id = #{filterPageVO.hospitalId}
         </if>
@@ -552,6 +561,9 @@
         <if test="filterPageVO.name != null and filterPageVO.name != ''">
             AND d.name like CONCAT('%', #{filterPageVO.name},'%')
         </if>
+        <if test="filterPageVO.deptName != null and filterPageVO.deptName != ''">
+            AND a.beh_dept_name like CONCAT('%', #{filterPageVO.deptName},'%')
+        </if>
         ) t1,(
         SELECT
         count(*) AS totleNum
@@ -572,6 +584,9 @@
         AND c.cases_id = d.cases_id
         AND c.cases_entry_id = d.id
         <![CDATA[AND a.qc_type_id <>0 ]]>
+        <if test="filterPageVO.casesId != null and filterPageVO.casesId != ''">
+            AND c.cases_id = #{filterPageVO.casesId}
+        </if>
         <if test="filterPageVO.hospitalId != null and filterPageVO.hospitalId != ''">
             AND a.hospital_id = #{filterPageVO.hospitalId}
         </if>
@@ -584,6 +599,9 @@
         <if test="filterPageVO.name != null and filterPageVO.name != ''">
             AND d.name like CONCAT('%', #{filterPageVO.name},'%')
         </if>
+        <if test="filterPageVO.deptName != null and filterPageVO.deptName != ''">
+            AND a.beh_dept_name like CONCAT('%', #{filterPageVO.deptName},'%')
+        </if>
         ) t2
         GROUP BY
         t1.id,
@@ -827,7 +845,7 @@
         ) t
     </select>
 
-    <!-- 条目缺陷分组统计-科室(分页) -->
+    <!-- 条目缺陷占比-科室(分页) -->
     <select id="entryCountGroupByEntryAndDeptPage"  resultType="com.diagbot.dto.DeptNumDTO">
         SELECT
         t.*
@@ -866,6 +884,9 @@
         AND c.cases_entry_id = d.id
         AND a.beh_dept_id = e.dept_id
         <![CDATA[AND a.qc_type_id <>0 ]]>
+        <if test="filterPageByDeptVO.casesId != null and filterPageByDeptVO.casesId != ''">
+            AND c.cases_id = #{filterPageByDeptVO.casesId}
+        </if>
         <if test="filterPageByDeptVO.userId!=null">
             AND e.user_id = #{filterPageByDeptVO.userId}
         </if>
@@ -884,6 +905,9 @@
         <if test="filterPageByDeptVO.deptName != null and filterPageByDeptVO.deptName != ''">
             AND a.beh_dept_name like CONCAT('%', #{filterPageByDeptVO.deptName},'%')
         </if>
+        <if test="filterPageByDeptVO.doctorName != null and filterPageByDeptVO.doctorName != ''">
+            AND a.doctor_name like CONCAT('%', #{filterPageByDeptVO.doctorName},'%')
+        </if>
         ) t1,(
         SELECT
         count(*) AS totleNum
@@ -908,6 +932,9 @@
         AND c.cases_entry_id = d.id
         AND a.beh_dept_id = e.dept_id
         <![CDATA[AND a.qc_type_id <>0 ]]>
+        <if test="filterPageByDeptVO.casesId != null and filterPageByDeptVO.casesId != ''">
+            AND c.cases_id = #{filterPageByDeptVO.casesId}
+        </if>
         <if test="filterPageByDeptVO.userId!=null">
             AND e.user_id = #{filterPageByDeptVO.userId}
         </if>
@@ -924,7 +951,10 @@
             AND d.name like CONCAT('%', #{filterPageByDeptVO.name},'%')
         </if>
         <if test="filterPageByDeptVO.deptName != null and filterPageByDeptVO.deptName != ''">
-            AND a.beh_dept_name = #{filterPageByDeptVO.deptName}
+            AND a.beh_dept_name like CONCAT('%', #{filterPageByDeptVO.deptName},'%')
+        </if>
+        <if test="filterPageByDeptVO.doctorName != null and filterPageByDeptVO.doctorName != ''">
+            AND a.doctor_name like CONCAT('%', #{filterPageByDeptVO.doctorName},'%')
         </if>
         ) t2
         GROUP BY