瀏覽代碼

Merge remote-tracking branch 'origin/master'

zhoutg 5 年之前
父節點
當前提交
f89ee4f8ce

+ 2 - 2
src/main/java/com/diagbot/dto/AverageStatisticsDTO.java

@@ -11,7 +11,7 @@ import lombok.Setter;
 @Getter
 @Getter
 @Setter
 @Setter
 public class AverageStatisticsDTO {
 public class AverageStatisticsDTO {
-    private Long deptId;
+    private String deptId;
     private String deptName;
     private String deptName;
     private Double averageValue;
     private Double averageValue;
-}
+}

+ 48 - 52
src/main/java/com/diagbot/facade/ConsoleFacade.java

@@ -4,13 +4,13 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.AverageStatisticsDTO;
 import com.diagbot.dto.AverageStatisticsDTO;
 import com.diagbot.dto.ResultDetailDTO;
 import com.diagbot.dto.ResultDetailDTO;
 import com.diagbot.entity.BehospitalInfo;
 import com.diagbot.entity.BehospitalInfo;
-import com.diagbot.entity.QcresultInfo;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.SysUserUtils;
 import com.diagbot.util.SysUserUtils;
 import com.diagbot.vo.FilterVO;
 import com.diagbot.vo.FilterVO;
+import com.diagbot.vo.QcresultFilterVO;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
@@ -22,7 +22,6 @@ import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 
 /**
 /**
  * @Description:
  * @Description:
@@ -66,56 +65,53 @@ public class ConsoleFacade {
         behospitalInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
         behospitalInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("hospital_id", hospitalId)
                 .eq("hospital_id", hospitalId)
                 .ge("leave_hospital_date", startDate);
                 .ge("leave_hospital_date", startDate);
-        List<BehospitalInfo> behospitalInfoList = behospitalInfoFacade.list(behospitalInfoQueryWrapper);
-        if (ListUtil.isNotEmpty(behospitalInfoList)) {
-            //本月病历数
-            retMap.put("本月病历数", behospitalInfoList.size());
-        }
+        int behospitalInfoCount = behospitalInfoFacade.count(behospitalInfoQueryWrapper);
+        //本月病历数
+        retMap.put("本月病历数", behospitalInfoCount);
 
 
-        List<QcresultInfo> qcresultInfoList = qcresultInfoFacade.getQcresultSelectively(filterVO);
-        if (ListUtil.isNotEmpty(qcresultInfoList)) {
-            retMap.put("本月质控数-人工", qcresultInfoList
-                    .stream()
-                    .filter(i -> i.getGradeType().equals(2))
-                    .collect(Collectors.toList())
-                    .size());
-            retMap.put("本月质控数-机器", qcresultInfoList
-                    .stream()
-                    .filter(i -> i.getGradeType().equals(1))
-                    .collect(Collectors.toList())
-                    .size());
-            retMap.put("本月甲级病历-人工", qcresultInfoList
-                    .stream()
-                    .filter(i -> i.getGradeType().equals(2) && i.getLevel().equals("甲"))
-                    .collect(Collectors.toList())
-                    .size());
-            retMap.put("本月甲级病历-机器", qcresultInfoList
-                    .stream()
-                    .filter(i -> i.getGradeType().equals(1) && i.getLevel().equals("甲"))
-                    .collect(Collectors.toList())
-                    .size());
-            retMap.put("本月乙级病历-人工", qcresultInfoList
-                    .stream()
-                    .filter(i -> i.getGradeType().equals(2) && i.getLevel().equals("乙"))
-                    .collect(Collectors.toList())
-                    .size());
-            retMap.put("本月乙级病历-机器", qcresultInfoList
-                    .stream()
-                    .filter(i -> i.getGradeType().equals(1) && i.getLevel().equals("乙"))
-                    .collect(Collectors.toList())
-                    .size());
-            retMap.put("本月不合格病历-人工", qcresultInfoList
-                    .stream()
-                    .filter(i -> i.getGradeType().equals(2) && i.getLevel().equals("丙"))
-                    .collect(Collectors.toList())
-                    .size());
-            retMap.put("本月不合格病历-机器", qcresultInfoList
-                    .stream()
-                    .filter(i -> i.getGradeType().equals(1) && i.getLevel().equals("丙"))
-                    .collect(Collectors.toList())
-                    .size());
-        }
 
 
+        QcresultFilterVO qcresultFilterVO = new QcresultFilterVO();
+        BeanUtil.copyProperties(qcresultFilterVO, filterVO);
+        //本月质控数-人工
+        qcresultFilterVO.setGradeType(2);
+        qcresultFilterVO.setLevel("");
+        int qcresultByGradeType2Count = qcresultInfoFacade.getQcresultSelectively(qcresultFilterVO);
+        retMap.put("本月质控数-人工", qcresultByGradeType2Count);
+        //本月质控数-机器
+        qcresultFilterVO.setGradeType(1);
+        qcresultFilterVO.setLevel("");
+        int qcresultByGradeType1Count = qcresultInfoFacade.getQcresultSelectively(qcresultFilterVO);
+        retMap.put("本月质控数-机器", qcresultByGradeType1Count);
+        //本月甲级病历-人工
+        qcresultFilterVO.setGradeType(2);
+        qcresultFilterVO.setLevel("甲");
+        int qcresultByGradeType2AndLevel1Count = qcresultInfoFacade.getQcresultSelectively(qcresultFilterVO);
+        retMap.put("本月甲级病历-人工", qcresultByGradeType2AndLevel1Count);
+        //本月甲级病历-机器
+        qcresultFilterVO.setGradeType(1);
+        qcresultFilterVO.setLevel("甲");
+        int qcresultByGradeType1AndLevel1Count = qcresultInfoFacade.getQcresultSelectively(qcresultFilterVO);
+        retMap.put("本月甲级病历-机器", qcresultByGradeType1AndLevel1Count);
+        //本月乙级病历-人工
+        qcresultFilterVO.setGradeType(2);
+        qcresultFilterVO.setLevel("乙");
+        int qcresultByGradeType2AndLevel2Count = qcresultInfoFacade.getQcresultSelectively(qcresultFilterVO);
+        retMap.put("本月乙级病历-人工", qcresultByGradeType2AndLevel2Count);
+        //本月乙级病历-机器
+        qcresultFilterVO.setGradeType(1);
+        qcresultFilterVO.setLevel("乙");
+        int qcresultByGradeType1AndLevel2Count = qcresultInfoFacade.getQcresultSelectively(qcresultFilterVO);
+        retMap.put("本月乙级病历-机器", qcresultByGradeType1AndLevel2Count);
+        //本月乙级病历-人工
+        qcresultFilterVO.setGradeType(2);
+        qcresultFilterVO.setLevel("丙");
+        int qcresultByGradeType2AndLevel3Count = qcresultInfoFacade.getQcresultSelectively(qcresultFilterVO);
+        retMap.put("本月不合格病历-人工", qcresultByGradeType2AndLevel3Count);
+        //本月乙级病历-机器
+        qcresultFilterVO.setGradeType(1);
+        qcresultFilterVO.setLevel("丙");
+        int qcresultByGradeType1AndLevel3Count = qcresultInfoFacade.getQcresultSelectively(qcresultFilterVO);
+        retMap.put("本月不合格病历-机器", qcresultByGradeType1AndLevel3Count);
         return retMap;
         return retMap;
     }
     }
 
 
@@ -139,7 +135,7 @@ public class ConsoleFacade {
         List<ResultDetailDTO> results = behospitalInfoFacade.resultStatistics(filterVO);
         List<ResultDetailDTO> results = behospitalInfoFacade.resultStatistics(filterVO);
         if (ListUtil.isNotEmpty(results)) {
         if (ListUtil.isNotEmpty(results)) {
             results.forEach(result -> {
             results.forEach(result -> {
-                DecimalFormat df = new DecimalFormat("#.00");
+                DecimalFormat df = new DecimalFormat("#0.00");
                 String percentStr
                 String percentStr
                         = df.format(BigDecimal.valueOf(result.getPercent()).multiply(BigDecimal.valueOf(100))) + "%";
                         = df.format(BigDecimal.valueOf(result.getPercent()).multiply(BigDecimal.valueOf(100))) + "%";
                 result.setPercentStr(percentStr);
                 result.setPercentStr(percentStr);
@@ -271,7 +267,7 @@ public class ConsoleFacade {
                     num++;
                     num++;
                 }
                 }
             }
             }
-            averageValue = BigDecimal.valueOf(averageValue).divide(BigDecimal.valueOf(num)).doubleValue();
+            averageValue = BigDecimal.valueOf(averageValue).divide(BigDecimal.valueOf(num), 2).doubleValue();
             AverageStatisticsDTO retAverageStatistics = new AverageStatisticsDTO();
             AverageStatisticsDTO retAverageStatistics = new AverageStatisticsDTO();
             retAverageStatistics.setDeptName("其他");
             retAverageStatistics.setDeptName("其他");
             retAverageStatistics.setAverageValue(averageValue);
             retAverageStatistics.setAverageValue(averageValue);

+ 4 - 6
src/main/java/com/diagbot/mapper/QcresultInfoMapper.java

@@ -1,10 +1,8 @@
 package com.diagbot.mapper;
 package com.diagbot.mapper;
 
 
-import com.diagbot.entity.QcresultInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.diagbot.vo.FilterVO;
-
-import java.util.List;
+import com.diagbot.entity.QcresultInfo;
+import com.diagbot.vo.QcresultFilterVO;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -20,8 +18,8 @@ public interface QcresultInfoMapper extends BaseMapper<QcresultInfo> {
     /**
     /**
      * 筛选质控记录
      * 筛选质控记录
      *
      *
-     * @param filterVO
+     * @param qcresultFilterVO
      * @return
      * @return
      */
      */
-    public List<QcresultInfo> getQcresultSelectively(FilterVO filterVO);
+    public int getQcresultSelectively(QcresultFilterVO qcresultFilterVO);
 }
 }

+ 4 - 6
src/main/java/com/diagbot/service/QcresultInfoService.java

@@ -1,10 +1,8 @@
 package com.diagbot.service;
 package com.diagbot.service;
 
 
-import com.diagbot.entity.QcresultInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.diagbot.vo.FilterVO;
-
-import java.util.List;
+import com.diagbot.entity.QcresultInfo;
+import com.diagbot.vo.QcresultFilterVO;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -20,8 +18,8 @@ public interface QcresultInfoService extends IService<QcresultInfo> {
     /**
     /**
      * 筛选质控记录
      * 筛选质控记录
      *
      *
-     * @param filterVO
+     * @param qcresultFilterVO
      * @return
      * @return
      */
      */
-    public List<QcresultInfo> getQcresultSelectively(FilterVO filterVO);
+    public int getQcresultSelectively(QcresultFilterVO qcresultFilterVO);
 }
 }

+ 4 - 6
src/main/java/com/diagbot/service/impl/QcresultInfoServiceImpl.java

@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.entity.QcresultInfo;
 import com.diagbot.entity.QcresultInfo;
 import com.diagbot.mapper.QcresultInfoMapper;
 import com.diagbot.mapper.QcresultInfoMapper;
 import com.diagbot.service.QcresultInfoService;
 import com.diagbot.service.QcresultInfoService;
-import com.diagbot.vo.FilterVO;
+import com.diagbot.vo.QcresultFilterVO;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
-import java.util.List;
-
 /**
 /**
  * <p>
  * <p>
  * 质控评分结果信息
  * 质控评分结果信息
@@ -24,11 +22,11 @@ public class QcresultInfoServiceImpl extends ServiceImpl<QcresultInfoMapper, Qcr
     /**
     /**
      * 筛选质控记录
      * 筛选质控记录
      *
      *
-     * @param filterVO
+     * @param qcresultFilterVO
      * @return
      * @return
      */
      */
     @Override
     @Override
-    public List<QcresultInfo> getQcresultSelectively(FilterVO filterVO) {
-        return baseMapper.getQcresultSelectively(filterVO);
+    public int getQcresultSelectively(QcresultFilterVO qcresultFilterVO) {
+        return baseMapper.getQcresultSelectively(qcresultFilterVO);
     }
     }
 }
 }

+ 12 - 0
src/main/java/com/diagbot/util/BigDecimalUtil.java

@@ -1,6 +1,7 @@
 package com.diagbot.util;
 package com.diagbot.util;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.text.DecimalFormat;
 
 
 /**
 /**
  * @Description: 大数工具类
  * @Description: 大数工具类
@@ -58,4 +59,15 @@ public class BigDecimalUtil {
         }
         }
         return res;
         return res;
     }
     }
+
+    public static void main(String[] args) {
+        DecimalFormat df = new DecimalFormat("#.00");
+        DecimalFormat df2 = new DecimalFormat("#0.00");
+        BigDecimal a = new BigDecimal(0.55);
+        BigDecimal b = new BigDecimal(11.55);
+        System.out.println(df.format(a));
+        System.out.println(df2.format(a));
+        System.out.println(df.format(b));
+        System.out.println(df2.format(b));
+    }
 }
 }

+ 23 - 0
src/main/java/com/diagbot/vo/QcresultFilterVO.java

@@ -0,0 +1,23 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/4/17 16:21
+ */
+@Getter
+@Setter
+public class QcresultFilterVO extends FilterVO {
+    /**
+     * 等级
+     */
+    private String level;
+
+    /**
+     * 评分类型
+     */
+    private Integer gradeType;
+}

+ 1 - 0
src/main/java/com/diagbot/web/QcModeController.java

@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/qc/mode")
 @RequestMapping("/qc/mode")
 @Api(value = "菜单相关API", tags = { "菜单相关API" })
 @Api(value = "菜单相关API", tags = { "菜单相关API" })
 @SuppressWarnings("unchecked")
 @SuppressWarnings("unchecked")
+@Deprecated
 public class QcModeController {
 public class QcModeController {
 
 
 //    @Autowired
 //    @Autowired

+ 8 - 2
src/main/resources/mapper/QcresultInfoMapper.xml

@@ -19,9 +19,9 @@
     </resultMap>
     </resultMap>
 
 
     <!-- 缺陷排行列表 -->
     <!-- 缺陷排行列表 -->
-    <select id="getQcresultSelectively"  parameterType="com.diagbot.vo.FilterVO" resultMap="BaseResultMap">
+    <select id="getQcresultSelectively"  parameterType="com.diagbot.vo.QcresultFilterVO" resultType="int">
         SELECT
         SELECT
-        b.*
+        count(*)
         FROM
         FROM
         med_behospital_info a,
         med_behospital_info a,
         med_qcresult_info b
         med_qcresult_info b
@@ -36,6 +36,12 @@
         <if test="startDate != null and startDate != ''">
         <if test="startDate != null and startDate != ''">
             <![CDATA[ and a.leave_hospital_date >= #{startDate}]]>
             <![CDATA[ and a.leave_hospital_date >= #{startDate}]]>
         </if>
         </if>
+        <if test="gradeType != null and gradeType != ''">
+            AND b.grade_type = #{gradeType}
+        </if>
+        <if test="level != null and level != ''">
+            AND b.level = #{level}
+        </if>
     </select>
     </select>
 
 
 </mapper>
 </mapper>