From 9ca86187d65db0180f6d23b8efd13136b6db394c Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 20 九月 2024 11:45:40 +0800
Subject: [PATCH] 考核成绩导出优化
---
ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml | 16 ++++----
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java | 4 ++
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckIndexVideoVO.java | 2
ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java | 6 ++
ycl-server/src/main/java/com/ycl/platform/controller/CheckScoreController.java | 1
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java | 38 ++++++++++++++-----
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java | 8 +++-
ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml | 17 ++++----
ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml | 17 ++++----
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java | 4 ++
10 files changed, 74 insertions(+), 39 deletions(-)
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java b/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java
index 0b52092..b5394be 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java
@@ -43,11 +43,15 @@
@Excel(name = "寰楀垎")
@TableField(exist = false)
private BigDecimal score;
+ /** 璁惧鏁伴噺 */
+ @Excel(name = "璁惧鏁伴噺")
+ @TableField(exist = false)
+ private Integer num;
@TableField(exist = false)
public List<Integer> deptIds;
@TableField(exist = false)
- public List<Integer> examineTags;
+ public Integer examineTagQuery;
@TableField(exist = false)
public List<Integer> examineCategories;
/** 璇锋眰鍙傛暟 */
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java
index 3148832..1d31b48 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java
@@ -93,6 +93,7 @@
//杞崲鎴愬瓧绗︿覆鐢ㄤ簬excel瀵煎嚭
public static CheckIndexCarVO getExcelVo(@NonNull CheckIndexCar checkIndexCar) {
CheckIndexCarVO checkIndexCarVo = new CheckIndexCarVO();
+ checkIndexCarVo.setNum(checkIndexCar.getNum());
checkIndexCarVo.setScore(checkIndexCar.getScore().setScale(2,RoundingMode.HALF_UP));
checkIndexCarVo.setDeptName(checkIndexCar.getDeptName());
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
@@ -120,6 +121,7 @@
* 瀵煎嚭鏃剁敤浜庤绠楀钩鍧囧��
*/
public static CheckIndexCar calculateAverage(List<CheckIndexCar> checkIndexCars) {
+ Integer numSum = 0;
BigDecimal scoreSum = BigDecimal.ZERO;
BigDecimal viewConnectStabilitySum = BigDecimal.ZERO;
BigDecimal siteOnlineSum = BigDecimal.ZERO;
@@ -132,6 +134,7 @@
BigDecimal vehicleUrlAvailabilitySum = BigDecimal.ZERO;
BigDecimal vehiclePictureAvailabilitySum = BigDecimal.ZERO;
for (CheckIndexCar car : checkIndexCars) {
+ numSum = numSum + (car.getNum() == null? 0:car.getNum());
scoreSum = scoreSum.add(car.getScore() == null ? BigDecimal.ZERO : car.getScore());
viewConnectStabilitySum = viewConnectStabilitySum.add(car.getViewConnectStability());
siteOnlineSum = siteOnlineSum.add(car.getSiteOnline());
@@ -149,6 +152,7 @@
checkIndexCar.setDeptName(checkIndexCars.get(0).getDeptName());
checkIndexCar.setExamineTag(checkIndexCars.get(0).getExamineTag());
checkIndexCar.setScore(scoreSum.divide(new BigDecimal(checkIndexCars.size()), 2, RoundingMode.HALF_UP));
+ checkIndexCar.setNum(numSum/checkIndexCars.size());
checkIndexCar.setViewConnectStability(viewConnectStabilitySum.divide(new BigDecimal(checkIndexCars.size()), 2, RoundingMode.HALF_UP));
checkIndexCar.setSiteOnline(siteOnlineSum.divide(new BigDecimal(checkIndexCars.size()), 2, RoundingMode.HALF_UP));
checkIndexCar.setDeviceDirectoryConsistent(deviceDirectoryConsistentSum.divide(new BigDecimal(checkIndexCars.size()), 2, RoundingMode.HALF_UP));
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java
index 244f4f0..13e87b4 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java
@@ -83,6 +83,7 @@
//杞崲鎴愬瓧绗︿覆鐢ㄤ簬excel瀵煎嚭
public static CheckIndexFaceVO getExcelVo(@NonNull CheckIndexFace checkIndexFace) {
CheckIndexFaceVO checkIndexFaceVo = new CheckIndexFaceVO();
+ checkIndexFaceVo.setNum(checkIndexFace.getNum());
checkIndexFaceVo.setScore(checkIndexFace.getScore().setScale(2,RoundingMode.HALF_UP));
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//閬垮厤鍚堣琛屾姤閿�(鍚堣鏁版嵁 缂哄皯createTimeStr瀛楁 鐩存帴灏哻reateTimeStr璁剧疆涓�"鍚堣")
@@ -106,6 +107,7 @@
}
/** 鐢ㄤ簬瀵煎嚭璁$畻骞冲潎鍊� */
public static CheckIndexFace calculateAverage(List<CheckIndexFace> checkIndexFaces) {
+ Integer numSum = 0;
BigDecimal scoreSum = BigDecimal.ZERO;
BigDecimal totalViewConnectStability = BigDecimal.ZERO;
BigDecimal totalSiteOnline = BigDecimal.ZERO;
@@ -119,6 +121,7 @@
int count = checkIndexFaces.size();
for (CheckIndexFace indexFace : checkIndexFaces) {
+ numSum = numSum + (indexFace.getNum() == null? 0:indexFace.getNum());
scoreSum = scoreSum.add(indexFace.getScore() == null ? BigDecimal.ZERO : indexFace.getScore());
totalViewConnectStability = totalViewConnectStability.add(indexFace.getViewConnectStability());
totalSiteOnline = totalSiteOnline.add(indexFace.getSiteOnline());
@@ -133,6 +136,7 @@
result.setCreateTimeStr("鍚堣");
result.setDeptName(checkIndexFaces.get(0).getDeptName());
result.setExamineTag(checkIndexFaces.get(0).getExamineTag());
+ result.setNum(numSum/count);
result.setScore(scoreSum.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
result.setViewConnectStability(totalViewConnectStability.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
result.setSiteOnline(totalSiteOnline.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java
index 9fe3488..bed934e 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java
@@ -121,13 +121,14 @@
//杞崲鎴愬瓧绗︿覆鐢ㄤ簬excel瀵煎嚭
public static CheckIndexVideoVO getExcelVo(@NonNull CheckIndexVideo checkIndexVideo) {
CheckIndexVideoVO checkIndexVideoVO = new CheckIndexVideoVO();
- checkIndexVideoVO.setScore(checkIndexVideo.getScore().setScale(2,RoundingMode.HALF_UP));
+ checkIndexVideoVO.setNum(checkIndexVideo.getNum());
+ checkIndexVideoVO.setScore(checkIndexVideo.getScore().setScale(2, RoundingMode.HALF_UP));
checkIndexVideoVO.setDeptName(checkIndexVideo.getDeptName());
//閬垮厤鍚堣琛屾姤閿�(鍚堣鏁版嵁 缂哄皯createTimeStr瀛楁 鐩存帴灏哻reateTimeStr璁剧疆涓�"鍚堣")
if (StringUtils.isEmpty(checkIndexVideo.getCreateTimeStr())) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
checkIndexVideoVO.setCreateTimeStr(format.format(checkIndexVideo.getCreateTime()));
- }else {
+ } else {
checkIndexVideoVO.setCreateTimeStr(checkIndexVideo.getCreateTimeStr());
}
checkIndexVideoVO.setExamineTagStr(CheckConstants.Examine_Tag_Province.equals(checkIndexVideo.getExamineTag()) ? "鐪佸巺鑰冩牳" : "鍖哄幙鑰冩牳");
@@ -153,6 +154,7 @@
* 鐢ㄤ簬瀵煎嚭璁$畻骞冲潎鍊�
*/
public static CheckIndexVideo calculateAverage(List<CheckIndexVideo> videos) {
+ Integer numSum = 0;
BigDecimal scoreSum = BigDecimal.ZERO;
BigDecimal totalPlatformOnline = BigDecimal.ZERO;
BigDecimal totalMonitorQualification = BigDecimal.ZERO;
@@ -171,6 +173,7 @@
int count = videos.size();
for (CheckIndexVideo video : videos) {
+ numSum = numSum + (video.getNum() == null? 0:video.getNum());
scoreSum = scoreSum.add(video.getScore() == null ? BigDecimal.ZERO : video.getScore());
totalPlatformOnline = totalPlatformOnline.add(video.getPlatformOnline());
totalMonitorQualification = totalMonitorQualification.add(video.getMonitorQualification());
@@ -193,6 +196,7 @@
averageVideo.setCreateTimeStr("鍚堣");
averageVideo.setDeptName(videos.get(0).getDeptName());
averageVideo.setExamineTag(videos.get(0).getExamineTag());
+ averageVideo.setNum(numSum/count);
averageVideo.setScore(scoreSum.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
averageVideo.setPlatformOnline(totalPlatformOnline.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
averageVideo.setMonitorQualification(totalMonitorQualification.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckIndexVideoVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckIndexVideoVO.java
index 2e1c1c9..922346e 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckIndexVideoVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckIndexVideoVO.java
@@ -42,7 +42,7 @@
/**
* 褰曡薄鍙敤鐜�
*/
- @Excel(name = "褰曡薄鍙敤鐜�")
+ @Excel(name = "褰曞儚鍙敤鐜�")
private String videoAvailableText;
/**
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/CheckScoreController.java b/ycl-server/src/main/java/com/ycl/platform/controller/CheckScoreController.java
index 00d8fda..f73d7a5 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/CheckScoreController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/CheckScoreController.java
@@ -95,7 +95,6 @@
@Log(title = "璇︽儏椤靛鍑鸿�冩牳绉垎", businessType = BusinessType.EXPORT)
@PostMapping("/detailExport")
@PreAuthorize("@ss.hasPermi('check:result:detail:export')")
- //鍏辩敤鐨勪竴涓柟娉曠敤checkScore鎺ュ弬,new瀵硅薄鐨勬柟寮忛槻鎶ゃ��
public void detailExport(HttpServletResponse response, CheckScore checkScore) throws IOException {
CheckResultExportDTO exportDTO = new CheckResultExportDTO();
exportDTO.setDate(checkScore.getDate());
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 e8012fe..e05e86c 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
@@ -319,10 +319,16 @@
checkIndexCar.setQuarter(exportDTO.getQuarter());
checkIndexCar.setDeptId(exportDTO.getDeptId());
checkIndexCar.setDeptIds(exportDTO.getDeptIds());
- checkIndexCar.setExamineTags(exportDTO.getExamineTags());
//鏉冮檺鎺у埗 鍙兘鏌ョ湅宸插彂甯�
roleControl(checkIndexCar);
- List<CheckIndexCar> checkIndexCars = indexCarService.selectCheckIndexCarList(checkIndexCar);
+ List<CheckIndexCar> checkIndexCars = new ArrayList<>();
+ for (Integer examineTag : exportDTO.getExamineTags()) {
+ checkIndexCar.setExamineTag(Short.valueOf(examineTag+""));
+ if(examineTag ==0){
+ checkIndexCar.setExamineTagQuery(1);
+ }
+ checkIndexCars.addAll(indexCarService.selectCheckIndexCarList(checkIndexCar));
+ }
//璁$畻骞冲潎鍊兼斁鍦╡xcel鏈�鍚�
if (exportDTO.getAverage() != null && exportDTO.getAverage() && !CollectionUtils.isEmpty(checkIndexCars)) {
//鍏堝尯鍒嗚�冩牳鏍囩锛屽啀鍖哄垎鍖哄幙
@@ -361,10 +367,16 @@
checkIndexFace.setQuarter(exportDTO.getQuarter());
checkIndexFace.setDeptId(exportDTO.getDeptId());
checkIndexFace.setDeptIds(exportDTO.getDeptIds());
- checkIndexFace.setExamineTags(exportDTO.getExamineTags());
//鏉冮檺鎺у埗 鍙兘鏌ョ湅宸插彂甯�
roleControl(checkIndexFace);
- List<CheckIndexFace> checkIndexFaces = indexFaceService.selectCheckIndexFaceList(checkIndexFace);
+ List<CheckIndexFace> checkIndexFaces = new ArrayList<>();
+ for (Integer examineTag : exportDTO.getExamineTags()) {
+ checkIndexFace.setExamineTag(Short.valueOf(examineTag+""));
+ if(examineTag ==0){
+ checkIndexFace.setExamineTagQuery(1);
+ }
+ checkIndexFaces.addAll(indexFaceService.selectCheckIndexFaceList(checkIndexFace));
+ }
//璁$畻骞冲潎鍊兼斁鍦╡xcel鏈�鍚�
if (exportDTO.getAverage() != null && exportDTO.getAverage() && !CollectionUtils.isEmpty(checkIndexFaces)) {
//鍏堝尯鍒嗚�冩牳鏍囩锛屽啀鍖哄垎鍖哄幙
@@ -403,10 +415,16 @@
checkIndexVideo.setQuarter(exportDTO.getQuarter());
checkIndexVideo.setDeptId(exportDTO.getDeptId());
checkIndexVideo.setDeptIds(exportDTO.getDeptIds());
- checkIndexVideo.setExamineTags(exportDTO.getExamineTags());
//鏉冮檺鎺у埗 鍙兘鏌ョ湅宸插彂甯�
roleControl(checkIndexVideo);
- List<CheckIndexVideo> checkIndexVideos = indexVideoService.selectCheckIndexVideoList(checkIndexVideo);
+ List<CheckIndexVideo> checkIndexVideos = new ArrayList<>();
+ for (Integer examineTag : exportDTO.getExamineTags()) {
+ checkIndexVideo.setExamineTag(Short.valueOf(examineTag+""));
+ if(examineTag ==0){
+ checkIndexVideo.setExamineTagQuery(1);
+ }
+ checkIndexVideos.addAll(indexVideoService.selectCheckIndexVideoList(checkIndexVideo));
+ }
//璁$畻骞冲潎鍊兼斁鍦╡xcel鏈�鍚�
if (exportDTO.getAverage() != null && exportDTO.getAverage() && !CollectionUtils.isEmpty(checkIndexVideos)) {
//鍏堝尯鍒嗚�冩牳鏍囩锛屽啀鍖哄垎鍖哄幙
@@ -517,14 +535,14 @@
for (CheckScore checkScore : dashboard) {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
- map.put("value",checkScore.getScore());
- if(dashboardQuery.getDataScope() ==1) {
+ map.put("value", checkScore.getScore());
+ if (dashboardQuery.getDataScope() == 1) {
map.put("name", "鐪佸巺寰楀垎");
- }else {
+ } else {
map.put("name", "鍖哄幙寰楀垎");
}
list.add(map);
- resultMap.put(checkScore.getDeptName(),list );
+ resultMap.put(checkScore.getDeptName(), list);
}
return resultMap;
}
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml
index ae68374..8472ac5 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml
@@ -10,6 +10,7 @@
<result property="examineTag" column="examine_tag" />
<result property="createTime" column="create_time" />
<result property="score" column="score" />
+ <result property="num" column="num" />
<result property="viewConnectStability" column="view_connect_stability" />
<result property="siteOnline" column="site_online" />
<result property="deviceDirectoryConsistent" column="device_directory_consistent" />
@@ -27,13 +28,16 @@
</sql>
<select id="selectCheckIndexCarList" resultMap="CheckIndexCarResult">
- select tcic.*,sd.dept_name,tcs.score
+ select tcic.*,sd.dept_name,tcs.score,count(m.serial_number) as num
from t_check_index_car tcic left join sys_dept sd on tcic.dept_id = sd.dept_id
left join t_check_score tcs on tcic.id = tcs.index_id
+ left join t_yw_point p on p.dept_id = tcic.dept_id
+ left join t_monitor m on p.serial_number = m.serial_number
<where>
- tcs.examine_category = 2
+ tcs.examine_category = 2 and m.camera_fun_type like concat('%',2,'%')
<if test="deptId != null "> and tcic.dept_id = #{deptId}</if>
<if test="examineTag != null "> and tcic.examine_tag = #{examineTag}</if>
+ <if test="examineTagQuery != null "> and p.province_tag = #{examineTagQuery}</if>
<if test="date != null "> and date_format(tcic.create_time,'%Y-%m') = #{date}</if>
<if test="day != null "> and date(tcic.create_time) = #{day}</if>
<if test="params.publish != null and params.publish != ''">and tcic.publish = #{params.publish}</if>
@@ -42,13 +46,9 @@
#{deptId}
</foreach>
</if>
- <if test="examineTags != null and examineTags.size()>0">and tcic.examine_tag in
- <foreach collection="examineTags" separator="," open="(" close=")" item="examineTag">
- #{examineTag}
- </foreach>
- </if>
</where>
- order by tcic.examine_tag desc,tcic.create_time,tcs.score desc
+ group by tcic.id
+ order by tcic.examine_tag desc,sd.area_code,tcic.create_time
</select>
<select id="getCheckIndexCarList" resultMap="CheckIndexCarResult">
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml
index fa8afc6..bad4ffe 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml
@@ -8,6 +8,8 @@
<result property="id" column="id" />
<result property="deptId" column="dept_id" />
<result property="examineTag" column="examine_tag" />
+ <result property="num" column="num" />
+ <result property="score" column="score" />
<result property="createTime" column="create_time" />
<result property="viewConnectStability" column="view_connect_stability" />
<result property="siteOnline" column="site_online" />
@@ -24,13 +26,16 @@
</sql>
<select id="selectCheckIndexFaceList" resultMap="CheckIndexFaceResult">
- select tcif.*,sd.dept_name,tcs.score
+ select tcif.*,sd.dept_name,tcs.score,count(m.serial_number) as num
from t_check_index_face tcif left join sys_dept sd on tcif.dept_id = sd.dept_id
left join t_check_score tcs on tcif.id = tcs.index_id
+ left join t_yw_point p on p.dept_id = tcif.dept_id
+ left join t_monitor m on p.serial_number = m.serial_number
<where>
- tcs.examine_category = 3
+ tcs.examine_category = 3 and m.camera_fun_type like concat('%',3,'%')
<if test="deptId != null "> and tcif.dept_id = #{deptId}</if>
<if test="examineTag != null "> and tcif.examine_tag = #{examineTag}</if>
+ <if test="examineTagQuery != null "> and p.province_tag = #{examineTagQuery}</if>
<if test="date != null "> and date_format(tcif.create_time,'%Y-%m') = #{date}</if>
<if test="day != null "> and date(tcif.create_time) = #{day}</if>
<if test="params.publish != null and params.publish != ''">and tcif.publish = #{params.publish}</if>
@@ -39,13 +44,9 @@
#{deptId}
</foreach>
</if>
- <if test="examineTags != null and examineTags.size()>0">and tcif.examine_tag in
- <foreach collection="examineTags" separator="," open="(" close=")" item="examineTag">
- #{examineTag}
- </foreach>
- </if>
</where>
- order by tcif.examine_tag desc,tcif.create_time,tcs.score desc
+ group by tcif.id
+ order by tcif.examine_tag desc,sd.area_code,tcif.create_time
</select>
<select id="getCheckIndexFaceList" resultMap="CheckIndexFaceResult">
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
index 4790df7..c6d6db9 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
@@ -8,6 +8,8 @@
<result property="id" column="id" />
<result property="deptId" column="dept_id" />
<result property="createTime" column="create_time" />
+ <result property="num" column="num" />
+ <result property="score" column="score" />
<result property="examineTag" column="examine_tag" />
<result property="platformOnline" column="platform_online" />
<result property="monitorQualification" column="monitor_qualification" />
@@ -30,13 +32,16 @@
</sql>
<select id="selectCheckIndexVideoList" parameterType="CheckIndexVideo" resultMap="CheckIndexVideoResult">
- select tciv.*,sd.dept_name,tcs.score
+ select tciv.*,sd.dept_name,tcs.score,count(m.serial_number) as num
from t_check_index_video tciv left join sys_dept sd on tciv.dept_id = sd.dept_id
left join t_check_score tcs on tciv.id = tcs.index_id
+ left join t_yw_point p on p.dept_id = tciv.dept_id
+ left join t_monitor m on p.serial_number = m.serial_number
<where>
- tcs.examine_category = 1
+ tcs.examine_category = 1 and m.camera_fun_type like concat('%',1,'%')
<if test="deptId != null "> and tciv.dept_id = #{deptId}</if>
<if test="examineTag != null "> and tciv.examine_tag = #{examineTag}</if>
+ <if test="examineTagQuery != null "> and p.province_tag = #{examineTagQuery}</if>
<if test="date != null "> and date_format(tciv.create_time,'%Y-%m') = #{date}</if>
<if test="day != null "> and date(tciv.create_time) = #{day}</if>
<if test="createTime != null "> and date(tciv.create_time) = #{createTime}</if>
@@ -46,13 +51,9 @@
#{deptId}
</foreach>
</if>
- <if test="examineTags != null and examineTags.size()>0">and tciv.examine_tag in
- <foreach collection="examineTags" separator="," open="(" close=")" item="examineTag">
- #{examineTag}
- </foreach>
- </if>
</where>
- order by tciv.examine_tag desc,tciv.create_time,tcs.score desc
+ group by tciv.id
+ order by tciv.examine_tag desc,sd.area_code,tciv.create_time
</select>
<select id="getCheckIndexVideoList" parameterType="CheckIndexVideo" resultMap="CheckIndexVideoResult">
select tciv.*,sd.dept_name
--
Gitblit v1.8.0