瀏覽代碼

业务变更临床医师质控使用统计逻辑修改

chengyao 3 年之前
父節點
當前提交
df32785936

+ 11 - 8
src/main/java/com/diagbot/dto/GetQcClickDTO.java

@@ -1,12 +1,8 @@
 package com.diagbot.dto;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
@@ -26,12 +22,19 @@ public class GetQcClickDTO implements Serializable {
     /**
      * 科室名称
      */
-    @Excel(name = "科室", width = 25d, orderNum = "1")
+    @Excel(name = "科室", width = 30d, orderNum = "1")
     private String deptName;
 
     /**
-     * 点击
+     * 模块质控按钮点击数
      */
-    @Excel(name = "使用AI质控次数", width = 18d,orderNum = "2")
-    private Integer clickNum;
+    @Excel(name = "模块质控按钮点击数", width = 20d,orderNum = "2")
+    private Integer singleModeNum;
+
+    /**
+     * 全病历质控按钮点击数
+     */
+    @Excel(name = "全病历质控按钮点击数", width = 20d,orderNum = "3")
+    private Integer totalModeNum;
+
 }

+ 10 - 4
src/main/java/com/diagbot/dto/GetQcClickInnerPageDTO.java

@@ -23,7 +23,7 @@ public class GetQcClickInnerPageDTO implements Serializable {
     /**
      * 科室名称
      */
-    @Excel(name = "科室", width = 25d, orderNum = "1")
+    @Excel(name = "科室", width = 30d, orderNum = "1")
     private String deptName;
 
     /**
@@ -39,8 +39,14 @@ public class GetQcClickInnerPageDTO implements Serializable {
     private String doctorName;
 
     /**
-     * 点击
+     * 模块质控按钮点击数
      */
-    @Excel(name = "使用AI质控次数", width = 18d,orderNum = "4")
-    private Integer clickNum;
+    @Excel(name = "模块质控按钮点击数", width = 20d,orderNum = "4")
+    private Integer singleModeNum;
+
+    /**
+     * 全病历质控按钮点击数
+     */
+    @Excel(name = "全病历质控按钮点击数", width = 20d,orderNum = "5")
+    private Integer totalModeNum;
 }

+ 13 - 12
src/main/java/com/diagbot/facade/DataAnalysisFacade.java

@@ -1,8 +1,6 @@
 package com.diagbot.facade;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.dto.BehospitalCodeInfo;
 import com.diagbot.dto.BehospitalInfoDTO;
@@ -14,7 +12,6 @@ import com.diagbot.dto.GetEntryDefectImproveDTO;
 import com.diagbot.dto.GetEntryInfoDTO;
 import com.diagbot.dto.GetQcClickDTO;
 import com.diagbot.dto.GetQcClickInnerPageDTO;
-import com.diagbot.dto.HomePageNumDTO;
 import com.diagbot.dto.QcResultDetailInfo;
 import com.diagbot.entity.BehospitalInfo;
 import com.diagbot.entity.MedClickInfo;
@@ -25,9 +22,7 @@ import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.MedQcresultClickService;
-import com.diagbot.service.QcresultDetailService;
 import com.diagbot.service.impl.MedClickInfoServiceImpl;
-import com.diagbot.service.impl.QcresultDetailServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.ExcelUtils;
@@ -56,7 +51,6 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -250,7 +244,6 @@ public class DataAnalysisFacade {
                 getEntryDefectImprove.setHandleNum(getEntryDefectImprove.getTotalNum()-getEntryDefectImprove.getImproveleNum());
                 getEntryDefectImproveDTO.add(getEntryDefectImprove);
             }
-            System.out.println("getEntryDefectImproveDTO = " + getEntryDefectImproveDTO);
         }
 
 
@@ -402,15 +395,23 @@ public class DataAnalysisFacade {
             }
 
             //缺陷总数
-            Integer clickTol = records
+            Integer singleMode = records
                     .stream()
-                    .map(GetQcClickDTO::getClickNum)
+                    .map(GetQcClickDTO::getSingleModeNum)
                     .reduce(0, Integer::sum);
-            if (clickTol == null) {
-                clickTol = 0;
+            if (singleMode == null) {
+                singleMode = 0;
+            }
+            Integer totalMode = records
+                    .stream()
+                    .map(GetQcClickDTO::getTotalModeNum)
+                    .reduce(0, Integer::sum);
+            if (totalMode == null) {
+                totalMode = 0;
             }
             item.setDeptName("全院");
-            item.setClickNum(clickTol);
+            item.setSingleModeNum(singleMode);
+            item.setTotalModeNum(totalMode);
             return item;
         }
 

+ 5 - 0
src/main/java/com/diagbot/vo/GetQcClickVO.java

@@ -52,4 +52,9 @@ public class GetQcClickVO{
     @NotNull(message = "请输入截止时间")
     private String endDate;
 
+    /**
+     * 0-单模块质控 1-全病历质控
+     */
+    private Long optType;
+
 }

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

@@ -50,7 +50,7 @@ public class DataAnalysisController {
     }
 
     /**
-     * 临床质控使用统计科室列表
+     * 临床质控使用统计科室列表返回
      *
      * @param
      * @return

+ 19 - 11
src/main/resources/mapper/MedClickInfoMapper.xml

@@ -57,11 +57,11 @@
     </resultMap>
 
     <select id="getQcClick" resultType="com.diagbot.dto.GetQcClickDTO">
-
         SELECT
-        a.dept_id as deptId,
-        a.dept_name as deptName,
-        count(*) as clickNum
+        a.dept_id AS deptId,
+        a.dept_name AS deptName,
+        sum(a.opt_type = 0) AS singleModeNum,
+        sum(a.opt_type = 1) AS totalModeNum
         FROM
         med_click_info a
         where
@@ -84,11 +84,19 @@
         group by
         a.dept_id,
         a.dept_name
-        <if test="asc == 'clickNum'">
-            order by clickNum
-        </if>
-        <if test="desc =='clickNum'">
-            order by clickNum desc
+        <if test="asc != null and asc !=''">
+        order by
+            <choose>
+                <when test='asc=="singleModeNum"'>singleModeNum asc</when>
+                <when test='asc=="totalModeNum"'>totalModeNum asc</when>
+            </choose>
+        </if>
+        <if test="desc != null and desc !=''">
+            order by
+            <choose>
+                <when test='desc=="singleModeNum"'>singleModeNum desc</when>
+                <when test='desc=="totalModeNum"'>totalModeNum desc</when>
+            </choose>
         </if>
     </select>
 
@@ -98,7 +106,8 @@
         a.dept_name as deptName,
         a.doctor_id AS doctorId,
         a.doctor_name AS doctorName,
-        count(*) as clickNum
+        count(case when a.opt_type = 0 then 1 end) AS singleModeNum,
+        count(case when a.opt_type = 1 then 1 end) AS totalModeNum
         FROM
         med_click_info a
         where
@@ -129,7 +138,6 @@
         a.dept_name,
         a.doctor_id,
         a.doctor_name
-        )t
     </select>
 
     <select id="getEntryInfo" resultType="com.diagbot.dto.GetEntryInfoDTO">