Pārlūkot izejas kodu

平均分精度问题

zhaops 5 gadi atpakaļ
vecāks
revīzija
53af85ddca

+ 8 - 8
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -905,8 +905,8 @@
         a.beh_dept_id AS deptId,
         a.beh_dept_name AS deptName,
         count( DISTINCT c.id ) AS mrNum,
-        ROUND( sum( CAST(c.score_res as DECIMAL) ), 2 ) AS totleValue,
-        ROUND( sum( CAST(c.score_res as DECIMAL) )/ count(*), 2 ) AS averageValue,
+        ROUND( sum( CAST(c.score_res as DECIMAL ( 18, 2 )) ), 2 ) AS totleValue,
+        ROUND( sum( CAST(c.score_res as DECIMAL ( 18, 2 )) )/ 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,
         COUNT( DISTINCT CASE WHEN c.`level` = '丙' THEN c.id END ) AS thirdLevelNum,
@@ -1070,8 +1070,8 @@
         a.beh_dept_id AS deptId,
         a.beh_dept_name AS deptName,
         count( DISTINCT c.id ) AS mrNum,
-        ROUND( sum( CAST(c.score_res as DECIMAL) ), 2 ) AS totleValue,
-        ROUND( sum( CAST(c.score_res as DECIMAL) )/ count(*), 2 ) AS averageValue,
+        ROUND( sum( CAST(c.score_res as DECIMAL ( 18, 2 )) ), 2 ) AS totleValue,
+        ROUND( sum( CAST(c.score_res as DECIMAL ( 18, 2 )) )/ 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,
@@ -1229,8 +1229,8 @@
         a.doctor_id AS doctorId,
         a.doctor_name AS doctorName,
         count( DISTINCT c.id ) AS mrNum,
-        ROUND( sum( CAST(c.score_res as DECIMAL) ), 2 ) AS totleValue,
-        ROUND( sum( CAST(c.score_res as DECIMAL) )/ count(*), 2 ) AS averageValue,
+        ROUND( sum( CAST(c.score_res as DECIMAL ( 18, 2 )) ), 2 ) AS totleValue,
+        ROUND( sum( CAST(c.score_res as DECIMAL ( 18, 2 )) )/ 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,
         COUNT( DISTINCT CASE WHEN c.`level` = '丙' THEN c.id END ) AS thirdLevelNum,
@@ -1412,8 +1412,8 @@
         a.doctor_id AS doctorId,
         a.doctor_name AS doctorName,
         count( DISTINCT c.id ) AS mrNum,
-        ROUND( sum( CAST(c.score_res as DECIMAL) ), 2 ) AS totleValue,
-        ROUND( sum( CAST(c.score_res as DECIMAL) )/ count(*), 2 ) AS averageValue,
+        ROUND( sum( CAST(c.score_res as DECIMAL ( 18, 2 )) ), 2 ) AS totleValue,
+        ROUND( sum( CAST(c.score_res as DECIMAL ( 18, 2 )) )/ 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,

+ 6 - 6
src/main/resources/mapper/HomePageMapper.xml

@@ -515,8 +515,8 @@
         a.beh_dept_id AS id,
         a.beh_dept_name AS NAME,
         count(*) AS num,
-        round( sum( CAST( b.total_fee AS DECIMAL ))/ count(*), 2 ) AS averageValue,
-        round( sum( CAST( b.total_fee AS DECIMAL )), 2 ) AS totleValue
+        round( sum( CAST( b.total_fee AS DECIMAL ( 18, 2 ) ))/ count(*), 2 ) AS averageValue,
+        round( sum( CAST( b.total_fee AS DECIMAL ( 18, 2 ) )), 2 ) AS totleValue
         FROM
         med_behospital_info a,
         med_home_page b
@@ -548,8 +548,8 @@
         a.beh_dept_id AS id,
         a.beh_dept_name AS NAME,
         count(*) AS num,
-        round( sum( CAST( b.total_fee AS DECIMAL ))/ count(*), 2 ) AS lastAverageValue,
-        round( sum( CAST( b.total_fee AS DECIMAL )), 2 ) AS totleValue
+        round( sum( CAST( b.total_fee AS DECIMAL ( 18, 2 ) ))/ count(*), 2 ) AS lastAverageValue,
+        round( sum( CAST( b.total_fee AS DECIMAL ( 18, 2 ) )), 2 ) AS totleValue
         FROM
         med_behospital_info a,
         med_home_page b
@@ -581,8 +581,8 @@
         a.beh_dept_id AS id,
         a.beh_dept_name AS NAME,
         count(*) AS num,
-        round( sum( CAST( b.total_fee AS DECIMAL ))/ count(*), 2 ) AS lastYearAverageValue,
-        round( sum( CAST( b.total_fee AS DECIMAL )), 2 ) AS totleValue
+        round( sum( CAST( b.total_fee AS DECIMAL ( 18, 2 ) ))/ count(*), 2 ) AS lastYearAverageValue,
+        round( sum( CAST( b.total_fee AS DECIMAL ( 18, 2 ) )), 2 ) AS totleValue
         FROM
         med_behospital_info a,
         med_home_page b

+ 5 - 5
src/main/resources/mapper/QcresultInfoMapper.xml

@@ -215,8 +215,8 @@
         SELECT
         a.beh_dept_id AS id,
         a.beh_dept_name AS name,
-        ROUND( sum( CAST( c.score_res AS DECIMAL )), 2 ) AS totleValue,
-        ROUND( sum( CAST( c.score_res AS DECIMAL ))/ count(*), 2 ) AS averageValue,
+        ROUND( sum( CAST( c.score_res AS DECIMAL ( 18, 2 ) )), 2 ) AS totleValue,
+        ROUND( sum( CAST( c.score_res AS DECIMAL ( 18, 2 ) ))/ count(*), 2 ) AS averageValue,
         count(*) AS num
         FROM
         med_behospital_info a,
@@ -649,8 +649,8 @@
         (SELECT
         a.beh_dept_id AS id,
         a.beh_dept_name AS name,
-        ROUND( sum( CAST( c.score_res AS DECIMAL )), 2 ) AS totleValue,
-        ROUND( sum( CAST( c.score_res AS DECIMAL ))/ count(*), 2 ) AS averageValue,
+        ROUND( sum( CAST( c.score_res AS DECIMAL ( 18, 2 ) )), 2 ) AS totleValue,
+        ROUND( sum( CAST( c.score_res AS DECIMAL ( 18, 2 ) ))/ count(*), 2 ) AS averageValue,
         count(*) AS num
         FROM
         med_behospital_info a,
@@ -680,7 +680,7 @@
         GROUP BY
         a.beh_dept_id,
         a.beh_dept_name
-        ORDER BY ROUND( sum( CAST( c.score_res AS DECIMAL ))/ count(*), 2 ) DESC ) t
+        ORDER BY averageValue DESC ) t
     </select>
 
     <!-- 按科室统计质控病历数(分页) -->