From ed17071e1db9208dbda562655f7fb541db4f2ea4 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 06 九月 2024 12:48:10 +0800
Subject: [PATCH] 考核积分bug,分保留一位小数
---
ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml | 19 +++++----
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java | 42 ++++++++++++---------
2 files changed, 34 insertions(+), 27 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
index 8f6ab0a..4a3be48 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
@@ -173,7 +173,9 @@
checkScores = scoreMapper.selectCheckScoreMap(checkScore);
}
}
- return checkScores.stream().collect(Collectors.groupingBy(CheckScore::getDeptId));
+ //鍒嗘暟淇濈暀涓�浣嶅皬鏁�
+ checkScores.stream().forEach(item ->item.setScore(item.getScore().setScale(1,RoundingMode.HALF_UP)));
+ return checkScores.stream().collect(Collectors.groupingBy(CheckScore::getDeptId));
}
private void getCheckScore(CheckScore checkScore, Calendar calendar) {
@@ -193,7 +195,7 @@
}
/**
- * 鏌ヨ鑰冩牳绉垎鍗$墖鍒楄〃
+ * 鏌ヨ鑰冩牳绉垎鍗$墖鎶樼嚎鍥�
*
* @param checkScore 鑰冩牳绉垎
* @return 鑰冩牳绉垎
@@ -217,6 +219,8 @@
checkScore.setDate(date);
}
List<CheckScore> checkScores = scoreMapper.selectCheckScoreList(checkScore);
+ //鍒嗘暟淇濈暀涓�浣嶅皬鏁�
+ checkScores.stream().forEach(item ->item.setScore(item.getScore().setScale(1,RoundingMode.HALF_UP)));
return checkScores.stream().collect(Collectors.groupingBy(CheckScore::getDeptId));
}
@@ -231,7 +235,9 @@
public List<CheckScore> page(CheckScore checkScore) {
//鍖哄幙鍙兘鐪嬪凡鍙戝竷
roleControl(checkScore);
- return scoreMapper.selectCheckScoreList(checkScore);
+ List<CheckScore> scoreList = scoreMapper.selectCheckScoreList(checkScore);
+ scoreList.stream().forEach(item ->item.setScore(item.getScore().setScale(1,RoundingMode.HALF_UP)));
+ return scoreList;
}
/**
@@ -291,24 +297,24 @@
*/
@Override
public void exportIndex(HttpServletResponse response, CheckResultExportDTO exportDTO) throws IOException {
- String date = exportDTO.getDate();
+// String date = exportDTO.getDate();
//濡傛灉璇锋眰鍙傛暟鏃堕棿涓虹┖锛屾煡杩欐潯璁板綍鐨勬椂闂�
- if (StringUtils.isEmpty(exportDTO.getDate()) && CollectionUtils.isEmpty(exportDTO.getQuarter())) {
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
- if (exportDTO.getId() != null) {
- CheckScore checkScore = getById(exportDTO.getId());
- Date createTime = checkScore.getCreateTime();
- date = formatter.format(createTime);
- } else {
- //闃叉鍗$墖椤甸潰瀵煎嚭涓嶄紶scoreId锛屽鑷存姤閿�
- date = formatter.format(new Date());
- }
- }
+// if (StringUtils.isEmpty(exportDTO.getDate()) && CollectionUtils.isEmpty(exportDTO.getQuarter())) {
+// SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
+// if (exportDTO.getId() != null) {
+// CheckScore checkScore = getById(exportDTO.getId());
+// Date createTime = checkScore.getCreateTime();
+// date = formatter.format(createTime);
+// } else {
+// //闃叉鍗$墖椤甸潰瀵煎嚭涓嶄紶scoreId锛屽鑷存姤閿�
+// date = formatter.format(new Date());
+// }
+// }
/** 瀵间笁寮爏heet */
//杞﹁締
CheckIndexCar checkIndexCar = new CheckIndexCar();
- checkIndexCar.setDate(date);
+// checkIndexCar.setDate(date);
checkIndexCar.setQuarter(exportDTO.getQuarter());
checkIndexCar.setDeptId(exportDTO.getDeptId());
checkIndexCar.setDeptIds(exportDTO.getDeptIds());
@@ -350,7 +356,7 @@
ExcelExp e1 = new ExcelExp("杞﹁締鑰冩牳鎸囨爣鏁版嵁", checkIndexCarVOS, CheckIndexCarVO.class);
//浜鸿劯
CheckIndexFace checkIndexFace = new CheckIndexFace();
- checkIndexFace.setDate(date);
+// checkIndexFace.setDate(date);
checkIndexFace.setQuarter(exportDTO.getQuarter());
checkIndexFace.setDeptId(exportDTO.getDeptId());
checkIndexFace.setDeptIds(exportDTO.getDeptIds());
@@ -392,7 +398,7 @@
ExcelExp e2 = new ExcelExp("浜鸿劯鑰冩牳鎸囨爣鏁版嵁", checkIndexFaceVOS, CheckIndexFaceVO.class);
//瑙嗛
CheckIndexVideo checkIndexVideo = new CheckIndexVideo();
- checkIndexVideo.setDate(date);
+// checkIndexVideo.setDate(date);
checkIndexVideo.setQuarter(exportDTO.getQuarter());
checkIndexVideo.setDeptId(exportDTO.getDeptId());
checkIndexVideo.setDeptIds(exportDTO.getDeptIds());
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml
index 201063c..0d89d89 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml
@@ -144,24 +144,25 @@
</insert>
<select id="selectCheckScoreMap" resultType="com.ycl.platform.domain.entity.CheckScore">
- SELECT
- id,
+ SELECT * FROM
+ (SELECT
+ tcs.id,
tcs.dept_id,
- examine_category,
- ROUND(AVG(score) OVER(PARTITION BY tcs.dept_id, examine_category), 2) AS score,
+ tcs.examine_category,
tcs.publish,
- tcs.create_time AS createTime
+ tcs.create_time,
+ ROW_NUMBER() OVER(PARTITION BY tcs.dept_id, tcs.examine_category ORDER BY tcs.create_time DESC) AS rn,
+ AVG(tcs.score) OVER(PARTITION BY tcs.dept_id, tcs.examine_category) AS score
FROM
t_check_score tcs
LEFT JOIN sys_dept d ON tcs.dept_id = d.dept_id
<where>
examine_tag = #{examineTag}
- AND DATE_FORMAT(tcs.create_time, '%Y-%m') BETWEEN DATE_FORMAT(#{startDate}, '%Y-%m') AND
- DATE_FORMAT(#{endDate}, '%Y-%m')
- <if test="params.publish != null and params.publish != ''">and publish = #{params.publish}</if>
+ AND DATE(tcs.create_time) BETWEEN DATE(#{startDate}) AND DATE(#{endDate})
+ <if test="params.publish != null and params.publish != ''">AND tcs.publish = #{params.publish}</if>
${params.dataScope}
</where>
- GROUP BY tcs.dept_id, tcs.examine_category, tcs.examine_tag
+ ) t where rn =1
</select>
<select id="getLast" resultType="com.ycl.platform.domain.entity.CheckScore">
--
Gitblit v1.8.0