bug修复
This commit is contained in:
parent
c72a2808ec
commit
d7dd028707
@ -2,6 +2,7 @@ package com.zhgd.xmgl.modules.video.controller;
|
||||
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTypeCountVO;
|
||||
import com.zhgd.xmgl.modules.video.service.IAiStatisticService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
@ -45,7 +46,7 @@ public class AiStatisticController {
|
||||
@ApiImplicitParam(name = "sn", value = "公司或项目sn", paramType = "body", required = true, dataType = "String"),
|
||||
})
|
||||
@PostMapping("/selectAiAnalyseHardWareAlarmTypeCount")
|
||||
public Result<Map<String, Object>> selectAiAnalyseHardWareAlarmTypeCount(@RequestBody Map<String, Object> map) {
|
||||
public Result<AiAnalyseHardWareAlarmTypeCountVO> selectAiAnalyseHardWareAlarmTypeCount(@RequestBody Map<String, Object> map) {
|
||||
return Result.success(aiStatisticService.selectAiAnalyseHardWareAlarmTypeCount(map));
|
||||
}
|
||||
|
||||
|
||||
@ -181,5 +181,17 @@ public class AiAnalyseHardWareAlarmRecord implements Serializable {
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "AI扣分规则")
|
||||
private XzAiDeductRule aiDeductRule;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "报警数量")
|
||||
private Integer alarmNum;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "日期")
|
||||
private String date;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "今日报警数量")
|
||||
private Integer alarmNumToday;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "今日较昨日报警数量")
|
||||
private Integer subYesterday;
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,12 @@
|
||||
package com.zhgd.xmgl.modules.video.entity.vo;
|
||||
|
||||
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class AiAnalyseHardWareAlarmTypeCountVO {
|
||||
private List<AiAnalyseHardWareAlarmRecord> alarmList;
|
||||
private Integer totalAlarmNum;
|
||||
}
|
||||
@ -6,7 +6,6 @@ import com.zhgd.annotation.DataScope;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
|
||||
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord;
|
||||
import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTrendVo;
|
||||
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||
import org.apache.ibatis.annotations.MapKey;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
@ -36,7 +35,7 @@ public interface AiAnalyseHardWareAlarmRecordMapper extends BaseMapper<AiAnalyse
|
||||
|
||||
List<SectorOneVo> getAiAnalyseHardWareAlarmTotal(Map<String, Object> map);
|
||||
|
||||
List<Map<String, Object>> selectAiAnalyseHardWareAlarmTypeCount(Map<String, Object> map);
|
||||
List<AiAnalyseHardWareAlarmRecord> selectAiAnalyseHardWareAlarmTypeCount(Map<String, Object> map);
|
||||
|
||||
List<Map<String, Object>> selectProjectAiAlarmCountList(Map<String, Object> map);
|
||||
|
||||
|
||||
@ -9,21 +9,21 @@
|
||||
<select id="queryAiAnalyseHardWareAlarmPageListTwo"
|
||||
resultMap="queryAiAnalyseHardWareAlarmPageListTwoRm">
|
||||
SELECT a.*,
|
||||
'安全部' as department_name,
|
||||
s.real_name,
|
||||
group_concat(wi.worker_name) as worker_info_str
|
||||
'安全部' as department_name,
|
||||
s.real_name,
|
||||
group_concat(wi.worker_name) as worker_info_str
|
||||
FROM ai_analyse_hard_ware_alarm_record a
|
||||
LEFT JOIN system_user s ON a.rectification_person_id = s.user_id
|
||||
LEFT join department_info di on s.department = di.department_name
|
||||
left join worker_info_to_ai_analyse_hard_ware_alarm_record witaahwar on a.id =
|
||||
witaahwar.ai_analyse_hard_ware_alarm_record_id
|
||||
left join worker_info wi on wi.id = witaahwar.worker_info_id
|
||||
LEFT JOIN system_user s ON a.rectification_person_id = s.user_id
|
||||
LEFT join department_info di on s.department = di.department_name
|
||||
left join worker_info_to_ai_analyse_hard_ware_alarm_record witaahwar on a.id =
|
||||
witaahwar.ai_analyse_hard_ware_alarm_record_id
|
||||
left join worker_info wi on wi.id = witaahwar.worker_info_id
|
||||
WHERE a.project_sn = #{param.projectSn}
|
||||
<if test="param.pushPersonId != null">
|
||||
and find_in_set(#{param.pushPersonId}, a.push_person_ids)
|
||||
</if>
|
||||
<if test="param.hardwareId != null and param.hardwareId != ''">
|
||||
and a.hardware_id like concat('%',#{param.hardwareId},'%')
|
||||
and a.hardware_id like concat('%', #{param.hardwareId}, '%')
|
||||
</if>
|
||||
<if test="param.id != null and param.id != ''">
|
||||
and a.id = #{param.id}
|
||||
@ -47,24 +47,31 @@
|
||||
AND a.create_time <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.enterpriseId != null and param.enterpriseId != ''">
|
||||
and a.hardware_id in (
|
||||
select ai_analyse_hard_ware_record.hardware_id from ai_analyse_hard_ware_record where id in (
|
||||
select distinct qrtaah.ai_analyse_hard_ware_record_id from quality_region_to_ai_analyse_hard qrtaah join
|
||||
quality_region_to_enterprise qrte on qrte.quality_region_id=qrtaah.quality_region_id
|
||||
where qrte.enterprise_id = #{param.enterpriseId} OR qrte.enterprise_id IN ( SELECT DISTINCT t.enterprise_id
|
||||
FROM
|
||||
(SELECT t.id FROM project_enterprise t WHERE t.enterprise_id = #{param.enterpriseId}) t2 join
|
||||
project_enterprise
|
||||
t on find_in_set( t2.id, ancestors ) )
|
||||
))
|
||||
and a.hardware_id in (select ai_analyse_hard_ware_record.hardware_id
|
||||
from ai_analyse_hard_ware_record
|
||||
where id in (select distinct qrtaah.ai_analyse_hard_ware_record_id
|
||||
from quality_region_to_ai_analyse_hard qrtaah
|
||||
join
|
||||
quality_region_to_enterprise qrte
|
||||
on qrte.quality_region_id = qrtaah.quality_region_id
|
||||
where qrte.enterprise_id = #{param.enterpriseId}
|
||||
OR qrte.enterprise_id IN (SELECT DISTINCT t.enterprise_id
|
||||
FROM (SELECT t.id
|
||||
FROM project_enterprise t
|
||||
WHERE t.enterprise_id = #{param.enterpriseId}) t2
|
||||
join
|
||||
project_enterprise t
|
||||
on find_in_set(t2.id, ancestors))))
|
||||
</if>
|
||||
<if test="param.qualityRegionId != null and param.qualityRegionId != ''">
|
||||
and a.hardware_id in(
|
||||
select ai_analyse_hard_ware_record.hardware_id from ai_analyse_hard_ware_record where id in (
|
||||
select distinct h.ai_analyse_hard_ware_record_id from quality_region_to_ai_analyse_hard h where
|
||||
h.quality_region_id = #{param.qualityRegionId} OR h.quality_region_id IN ( SELECT t.id FROM quality_region t
|
||||
WHERE find_in_set(#{param.qualityRegionId}, ancestors) ))
|
||||
)
|
||||
and a.hardware_id in (select ai_analyse_hard_ware_record.hardware_id
|
||||
from ai_analyse_hard_ware_record
|
||||
where id in (select distinct h.ai_analyse_hard_ware_record_id
|
||||
from quality_region_to_ai_analyse_hard h
|
||||
where h.quality_region_id = #{param.qualityRegionId}
|
||||
OR h.quality_region_id IN (SELECT t.id
|
||||
FROM quality_region t
|
||||
WHERE find_in_set(#{param.qualityRegionId}, ancestors))))
|
||||
</if>
|
||||
<if test="param.handleDone != null and param.handleDone != '' or param.handleDone == true">
|
||||
AND a.handle_done = #{param.handleDone}
|
||||
@ -138,14 +145,14 @@
|
||||
</select>
|
||||
<select id="selectAiAnalyseHardWareAlarmList"
|
||||
resultType="com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord">
|
||||
SELECT a.*,group_concat(wi.worker_name) workerInfoStr
|
||||
SELECT a.*, group_concat(wi.worker_name) workerInfoStr
|
||||
FROM ai_analyse_hard_ware_alarm_record a
|
||||
left join worker_info_to_ai_analyse_hard_ware_alarm_record witaahwar on a.id =
|
||||
witaahwar.ai_analyse_hard_ware_alarm_record_id
|
||||
left join worker_info wi on wi.id = witaahwar.worker_info_id
|
||||
left join worker_info_to_ai_analyse_hard_ware_alarm_record witaahwar on a.id =
|
||||
witaahwar.ai_analyse_hard_ware_alarm_record_id
|
||||
left join worker_info wi on wi.id = witaahwar.worker_info_id
|
||||
where a.project_sn = #{projectSn}
|
||||
<if test="workerName != null and workerName != ''">
|
||||
and wi.worker_name like concat('%',#{workerName},'%')
|
||||
and wi.worker_name like concat('%', #{workerName}, '%')
|
||||
</if>
|
||||
<include refid="queryAlarmTime">
|
||||
</include>
|
||||
@ -170,25 +177,27 @@
|
||||
<select id="getAiAnalyseHardWareAlarmTotal"
|
||||
resultType="com.zhgd.xmgl.base.entity.vo.SectorOneVo">
|
||||
SELECT di.name,
|
||||
count(a.id) count,
|
||||
di.data enumType
|
||||
count(a.id) count,
|
||||
di.data enumType
|
||||
FROM dictionary_item di
|
||||
LEFT JOIN ai_analyse_hard_ware_alarm_record a on a.alarm_type = di.data and a.project_sn = #{projectSn}
|
||||
LEFT JOIN ai_analyse_hard_ware_alarm_record a on a.alarm_type = di.data and a.project_sn = #{projectSn}
|
||||
<include refid="queryAlarmTime">
|
||||
</include>
|
||||
where di.dictionary_encoding = 'ai_analyse_hard_ware_alarm_record_type'
|
||||
group by di.data
|
||||
order by count desc
|
||||
</select>
|
||||
<select id="selectAiAnalyseHardWareAlarmTypeCount" resultType="java.util.Map" parameterType="java.util.Map">
|
||||
<select id="selectAiAnalyseHardWareAlarmTypeCount"
|
||||
resultType="com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord" parameterType="java.util.Map">
|
||||
SELECT w1.alarm_type alarmType,
|
||||
COUNT(1) alarmNum
|
||||
COUNT(1) alarmNum,
|
||||
DATE_FORMAT(w1.create_time, '%Y-%m-%d') date
|
||||
from ai_analyse_hard_ware_alarm_record w1
|
||||
INNER JOIN project a ON w1.project_sn = a.project_sn
|
||||
LEFT JOIN company cp ON a.company_sn = cp.company_sn
|
||||
INNER JOIN company b ON cp.parent_id = b.company_id
|
||||
Left JOIN company f ON b.parent_id = f.company_id
|
||||
where w1.create_time >= CONCAT(DATE_FORMAT(now(), '%Y-%m-%d'), ' 00:00:00')
|
||||
INNER JOIN project a ON w1.project_sn = a.project_sn
|
||||
LEFT JOIN company cp ON a.company_sn = cp.company_sn
|
||||
INNER JOIN company b ON cp.parent_id = b.company_id
|
||||
Left JOIN company f ON b.parent_id = f.company_id
|
||||
where w1.create_time >= CONCAT(DATE_FORMAT(DATE_SUB(now(), interval 1 day), '%Y-%m-%d'), ' 00:00:00')
|
||||
<if test="companyType == '1'.toString()">
|
||||
and f.headquarters_sn = #{sn}
|
||||
</if>
|
||||
@ -204,20 +213,20 @@
|
||||
<if test="companyType == '5'.toString()">
|
||||
and cp.company_sn = #{sn}
|
||||
</if>
|
||||
group by w1.alarm_type
|
||||
group by w1.alarm_type, DATE_FORMAT(w1.create_time, '%Y-%m-%d')
|
||||
</select>
|
||||
<select id="selectProjectAiAlarmCountList" resultType="java.util.Map" parameterType="java.util.Map">
|
||||
SELECT a.project_sn projectSn,
|
||||
a.project_name projectName,
|
||||
IFNULL(tp.alarm_num, 0) alarmNum
|
||||
SELECT a.project_sn projectSn,
|
||||
a.project_name projectName,
|
||||
IFNULL(tp.alarm_num, 0) alarmNum
|
||||
FROM project a
|
||||
INNER JOIN company cp ON a.company_sn = cp.company_sn
|
||||
Left JOIN company b ON cp.parent_id = b.company_id
|
||||
Left JOIN company f ON b.parent_id = f.company_id
|
||||
LEFT JOIN (SELECT project_sn, COUNT(1) alarm_num
|
||||
from ai_analyse_hard_ware_alarm_record
|
||||
WHERE create_time >= CONCAT(DATE_FORMAT(now(), '%Y-%m-%d'), ' 00:00:00')
|
||||
GROUP BY project_sn) tp ON a.project_sn = tp.project_sn
|
||||
INNER JOIN company cp ON a.company_sn = cp.company_sn
|
||||
Left JOIN company b ON cp.parent_id = b.company_id
|
||||
Left JOIN company f ON b.parent_id = f.company_id
|
||||
LEFT JOIN (SELECT project_sn, COUNT(1) alarm_num
|
||||
from ai_analyse_hard_ware_alarm_record
|
||||
WHERE create_time >= CONCAT(DATE_FORMAT(now(), '%Y-%m-%d'), ' 00:00:00')
|
||||
GROUP BY project_sn) tp ON a.project_sn = tp.project_sn
|
||||
<where>
|
||||
<if test="companyType == '1'.toString()">
|
||||
and f.headquarters_sn = #{sn}
|
||||
@ -255,16 +264,16 @@
|
||||
, c.project_name name
|
||||
</if>
|
||||
FROM company a
|
||||
LEFT JOIN company b ON b.parent_id = a.company_id
|
||||
LEFT JOIN company cp ON b.company_id = cp.parent_id
|
||||
LEFT JOIN project c ON cp.company_sn = c.company_sn
|
||||
LEFT JOIN (SELECT project_sn, COUNT(1) alarm_num
|
||||
from ai_analyse_hard_ware_alarm_record
|
||||
WHERE create_time >= CONCAT(DATE_FORMAT(now(), '%Y-%m-%d'), ' 00:00:00')
|
||||
GROUP BY project_sn) tp ON c.project_sn = tp.project_sn
|
||||
LEFT JOIN company b ON b.parent_id = a.company_id
|
||||
LEFT JOIN company cp ON b.company_id = cp.parent_id
|
||||
LEFT JOIN project c ON cp.company_sn = c.company_sn
|
||||
LEFT JOIN (SELECT project_sn, COUNT(1) alarm_num
|
||||
from ai_analyse_hard_ware_alarm_record
|
||||
WHERE create_time >= CONCAT(DATE_FORMAT(now(), '%Y-%m-%d'), ' 00:00:00')
|
||||
GROUP BY project_sn) tp ON c.project_sn = tp.project_sn
|
||||
<if test="companyType == '1'.toString()">
|
||||
WHERE a.headquarters_sn = #{sn}
|
||||
AND a.company_type = 2
|
||||
AND a.company_type = 2
|
||||
GROUP BY a.company_id
|
||||
</if>
|
||||
<if test="companyType == '2'.toString()">
|
||||
@ -287,10 +296,10 @@
|
||||
<select id="selectAiAlarmRecordList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
|
||||
SELECT w1.*, a.project_name
|
||||
from ai_analyse_hard_ware_alarm_record w1
|
||||
INNER JOIN project a ON w1.project_sn = a.project_sn
|
||||
LEFT JOIN company cp ON a.company_sn = cp.company_sn
|
||||
INNER JOIN company b ON cp.parent_id = b.company_id
|
||||
Left JOIN company f ON b.parent_id = f.company_id
|
||||
INNER JOIN project a ON w1.project_sn = a.project_sn
|
||||
LEFT JOIN company cp ON a.company_sn = cp.company_sn
|
||||
INNER JOIN company b ON cp.parent_id = b.company_id
|
||||
Left JOIN company f ON b.parent_id = f.company_id
|
||||
<where>
|
||||
<if test="companyType == '1'.toString()">
|
||||
and f.headquarters_sn = #{sn}
|
||||
@ -315,16 +324,16 @@
|
||||
<select id="selectTotalAiAlarmCount" resultType="java.lang.Integer">
|
||||
SELECT IFNULL(SUM(IFNULL(tp.alarm_num, 0)), 0) alarmNum
|
||||
FROM company a
|
||||
LEFT JOIN company b ON b.parent_id = a.company_id
|
||||
LEFT JOIN company cp ON b.company_id = cp.parent_id
|
||||
LEFT JOIN project c ON cp.company_sn = c.company_sn
|
||||
LEFT JOIN (SELECT project_sn, COUNT(1) alarm_num
|
||||
from ai_analyse_hard_ware_alarm_record
|
||||
WHERE create_time >= CONCAT(DATE_FORMAT(now(), '%Y-%m-%d'), ' 00:00:00')
|
||||
GROUP BY project_sn) tp ON c.project_sn = tp.project_sn
|
||||
LEFT JOIN company b ON b.parent_id = a.company_id
|
||||
LEFT JOIN company cp ON b.company_id = cp.parent_id
|
||||
LEFT JOIN project c ON cp.company_sn = c.company_sn
|
||||
LEFT JOIN (SELECT project_sn, COUNT(1) alarm_num
|
||||
from ai_analyse_hard_ware_alarm_record
|
||||
WHERE create_time >= CONCAT(DATE_FORMAT(now(), '%Y-%m-%d'), ' 00:00:00')
|
||||
GROUP BY project_sn) tp ON c.project_sn = tp.project_sn
|
||||
<if test="companyType == '1'.toString()">
|
||||
WHERE a.headquarters_sn = #{sn}
|
||||
AND a.company_type = 2
|
||||
AND a.company_type = 2
|
||||
</if>
|
||||
<if test="companyType == '2'.toString()">
|
||||
WHERE a.company_sn=#{sn}
|
||||
@ -341,23 +350,22 @@
|
||||
</select>
|
||||
<select id="selectTotalAiDevCount" resultType="java.util.Map">
|
||||
SELECT IFNULL(SUM(IFNULL(d.totalDev, 0)), 0) totalVideoDev,
|
||||
IFNULL(SUM(IFNULL(d.aiDevNum, 0)), 0) aiDevNum
|
||||
IFNULL(SUM(IFNULL(d.aiDevNum, 0)), 0) aiDevNum
|
||||
FROM company a
|
||||
LEFT JOIN company b ON b.parent_id = a.company_id
|
||||
LEFT JOIN company cp ON b.company_id = cp.parent_id
|
||||
LEFT JOIN project c ON cp.company_sn = c.company_sn
|
||||
LEFT JOIN (SELECT t2.project_sn,
|
||||
COUNT(1) totalDev,
|
||||
SUM((case when t1.device_state = 1 then 1 else 0 end)) devOnline,
|
||||
SUM((case when t1.ai_function_type = 1 then 1 else 0 end)) aiDevNum
|
||||
FROM video_item t1
|
||||
INNER JOIN project_video_config t2 ON t2.id = t1.video_id
|
||||
WHERE t2.is_enable = 1
|
||||
GROUP BY t2.project_sn
|
||||
) d ON c.project_sn = d.project_sn
|
||||
LEFT JOIN company b ON b.parent_id = a.company_id
|
||||
LEFT JOIN company cp ON b.company_id = cp.parent_id
|
||||
LEFT JOIN project c ON cp.company_sn = c.company_sn
|
||||
LEFT JOIN (SELECT t2.project_sn,
|
||||
COUNT(1) totalDev,
|
||||
SUM((case when t1.device_state = 1 then 1 else 0 end)) devOnline,
|
||||
SUM((case when t1.ai_function_type = 1 then 1 else 0 end)) aiDevNum
|
||||
FROM video_item t1
|
||||
INNER JOIN project_video_config t2 ON t2.id = t1.video_id
|
||||
WHERE t2.is_enable = 1
|
||||
GROUP BY t2.project_sn) d ON c.project_sn = d.project_sn
|
||||
<if test="companyType == '1'.toString()">
|
||||
WHERE a.headquarters_sn = #{sn}
|
||||
AND a.company_type = 2
|
||||
AND a.company_type = 2
|
||||
</if>
|
||||
<if test="companyType == '2'.toString()">
|
||||
WHERE a.company_sn=#{sn}
|
||||
@ -374,41 +382,40 @@
|
||||
order by totalDev desc
|
||||
</select>
|
||||
<select id="selectProjectAiStatisticList" resultType="java.util.Map">
|
||||
SELECT IFNULL(tp.alarm_num, 0) alarmNum,
|
||||
IFNULL(d.videoDevNum, 0) videoDevNum,
|
||||
IFNULL(d.aiDevNum, 0) aiDevNum,
|
||||
round(IFNULL(TRUNCATE(IFNULL(d.aiDevNum, 0) / IFNULL(d.videoDevNum, 0), 4), 0) * 100, 2) ratioValue,
|
||||
c.project_name projectName
|
||||
SELECT IFNULL(tp.alarm_num, 0) alarmNum,
|
||||
IFNULL(d.videoDevNum, 0) videoDevNum,
|
||||
IFNULL(d.aiDevNum, 0) aiDevNum,
|
||||
round(IFNULL(TRUNCATE(IFNULL(d.aiDevNum, 0) / IFNULL(d.videoDevNum, 0), 4), 0) * 100, 2) ratioValue,
|
||||
c.project_name projectName
|
||||
<if test="companyType == '1'.toString()">
|
||||
,
|
||||
a.company_name companyName
|
||||
a.company_name companyName
|
||||
</if>
|
||||
<if test="companyType == '2'.toString()">
|
||||
,
|
||||
b.company_name companyName
|
||||
b.company_name companyName
|
||||
</if>
|
||||
<if test="companyType == '3'.toString()">
|
||||
,
|
||||
cp.company_name companyName
|
||||
cp.company_name companyName
|
||||
</if>
|
||||
<if test="companyType == '4'.toString() or companyType == '5'.toString()">
|
||||
,
|
||||
cp.company_name companyName
|
||||
cp.company_name companyName
|
||||
</if>
|
||||
FROM company a
|
||||
INNER JOIN company b ON b.parent_id = a.company_id
|
||||
INNER JOIN company cp ON b.company_id = cp.parent_id
|
||||
INNER JOIN project c ON cp.company_sn = c.company_sn
|
||||
LEFT JOIN (SELECT t2.project_sn,
|
||||
COUNT(1) videoDevNum,
|
||||
SUM((case when t1.ai_function_type = 1 then 1 else 0 end)) aiDevNum
|
||||
FROM video_item t1
|
||||
INNER JOIN project_video_config t2 ON t2.id = t1.video_id
|
||||
WHERE t2.is_enable = 1
|
||||
GROUP BY t2.project_sn
|
||||
) d ON c.project_sn = d.project_sn
|
||||
LEFT JOIN (SELECT project_sn, COUNT(1) alarm_num
|
||||
from ai_analyse_hard_ware_alarm_record
|
||||
INNER JOIN company b ON b.parent_id = a.company_id
|
||||
INNER JOIN company cp ON b.company_id = cp.parent_id
|
||||
INNER JOIN project c ON cp.company_sn = c.company_sn
|
||||
LEFT JOIN (SELECT t2.project_sn,
|
||||
COUNT(1) videoDevNum,
|
||||
SUM((case when t1.ai_function_type = 1 then 1 else 0 end)) aiDevNum
|
||||
FROM video_item t1
|
||||
INNER JOIN project_video_config t2 ON t2.id = t1.video_id
|
||||
WHERE t2.is_enable = 1
|
||||
GROUP BY t2.project_sn) d ON c.project_sn = d.project_sn
|
||||
LEFT JOIN (SELECT project_sn, COUNT(1) alarm_num
|
||||
from ai_analyse_hard_ware_alarm_record
|
||||
WHERE create_time >= CONCAT(DATE_FORMAT(now(), '%Y-%m-%d'), ' 00:00:00')
|
||||
<if test="alarmType != null and alarmType != ''">
|
||||
and alarm_type = #{alarmType}
|
||||
@ -417,7 +424,7 @@
|
||||
<where>
|
||||
<if test="companyType == '1'.toString()">
|
||||
and a.headquarters_sn = #{sn}
|
||||
AND a.company_type = 2
|
||||
AND a.company_type = 2
|
||||
</if>
|
||||
<if test="projectName != null and projectName != ''">
|
||||
and c.project_name like CONCAT(CONCAT('%', #{projectName}), '%')
|
||||
@ -480,19 +487,19 @@
|
||||
SELECT id,
|
||||
project_sn,
|
||||
hardware_name,
|
||||
hardware_id,
|
||||
image_url,
|
||||
alarm_type,
|
||||
location,
|
||||
create_time,
|
||||
rectification_person_id,
|
||||
status,
|
||||
request_rectification_date,
|
||||
update_date,
|
||||
push_person_ids,
|
||||
correct_time,
|
||||
correct_image,
|
||||
correct_remark
|
||||
hardware_id,
|
||||
image_url,
|
||||
alarm_type,
|
||||
location,
|
||||
create_time,
|
||||
rectification_person_id,
|
||||
status,
|
||||
request_rectification_date,
|
||||
update_date,
|
||||
push_person_ids,
|
||||
correct_time,
|
||||
correct_image,
|
||||
correct_remark
|
||||
from ai_analyse_hard_ware_alarm_record
|
||||
WHERE location = #{location}
|
||||
ORDER BY id DESC
|
||||
@ -500,19 +507,20 @@
|
||||
</select>
|
||||
|
||||
<select id="getViolatorList" resultType="com.zhgd.xmgl.modules.worker.entity.WorkerInfo">
|
||||
select wi.* from worker_info_to_ai_analyse_hard_ware_alarm_record witaahwar
|
||||
join worker_info wi on wi.id = witaahwar.worker_info_id
|
||||
where witaahwar.ai_analyse_hard_ware_alarm_record_id=#{aiAnalyseHardWareAlarmRecordId}
|
||||
select wi.*
|
||||
from worker_info_to_ai_analyse_hard_ware_alarm_record witaahwar
|
||||
join worker_info wi on wi.id = witaahwar.worker_info_id
|
||||
where witaahwar.ai_analyse_hard_ware_alarm_record_id = #{aiAnalyseHardWareAlarmRecordId}
|
||||
</select>
|
||||
|
||||
<select id="violatorListSort" resultType="com.zhgd.xmgl.modules.worker.entity.WorkerInfo">
|
||||
select wi.worker_name,count(*) count
|
||||
select wi.worker_name, count(*) count
|
||||
from worker_info_to_ai_analyse_hard_ware_alarm_record witaahwar
|
||||
join worker_info wi on wi.id = witaahwar.worker_info_id
|
||||
join worker_info wi on wi.id = witaahwar.worker_info_id
|
||||
<if test="handleResult != null and handleResult != ''">
|
||||
join ai_analyse_hard_ware_alarm_record aahwar on aahwar.id = witaahwar.ai_analyse_hard_ware_alarm_record_id
|
||||
</if>
|
||||
where wi.project_sn=#{projectSn}
|
||||
where wi.project_sn = #{projectSn}
|
||||
<if test="handleResult != null and handleResult != ''">
|
||||
and aahwar.handle_result = #{handleResult}
|
||||
</if>
|
||||
@ -523,22 +531,21 @@
|
||||
<!--@mbg.generated-->
|
||||
insert into ai_analyse_hard_ware_alarm_record
|
||||
(id, project_sn, hardware_name, hardware_id, image_url, alarm_type, `location`, create_time,
|
||||
rectification_person_id, push_person_ids, `status`, correct_image, correct_remark,
|
||||
correct_time, request_rectification_date, update_date, handle_result, `desc`, handle_done
|
||||
)
|
||||
rectification_person_id, push_person_ids, `status`, correct_image, correct_remark,
|
||||
correct_time, request_rectification_date, update_date, handle_result, `desc`, handle_done)
|
||||
values
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.id,jdbcType=BIGINT}, #{item.projectSn,jdbcType=VARCHAR}, #{item.hardwareName,jdbcType=VARCHAR},
|
||||
#{item.hardwareId,jdbcType=VARCHAR}, #{item.imageUrl,jdbcType=VARCHAR}, #{item.alarmType,jdbcType=TINYINT},
|
||||
#{item.location,jdbcType=VARCHAR}, #{item.createTime,jdbcType=VARCHAR},
|
||||
#{item.rectificationPersonId,jdbcType=BIGINT},
|
||||
#{item.pushPersonIds,jdbcType=VARCHAR}, #{item.status,jdbcType=TINYINT},
|
||||
#{item.correctImage,jdbcType=VARCHAR},
|
||||
#{item.correctRemark,jdbcType=VARCHAR}, #{item.correctTime,jdbcType=VARCHAR},
|
||||
#{item.requestRectificationDate,jdbcType=VARCHAR},
|
||||
#{item.updateDate,jdbcType=TIMESTAMP}, #{item.handleResult,jdbcType=INTEGER},
|
||||
#{item.desc,jdbcType=LONGVARCHAR},
|
||||
#{item.handleDone,jdbcType=INTEGER})
|
||||
#{item.hardwareId,jdbcType=VARCHAR}, #{item.imageUrl,jdbcType=VARCHAR}, #{item.alarmType,jdbcType=TINYINT},
|
||||
#{item.location,jdbcType=VARCHAR}, #{item.createTime,jdbcType=VARCHAR},
|
||||
#{item.rectificationPersonId,jdbcType=BIGINT},
|
||||
#{item.pushPersonIds,jdbcType=VARCHAR}, #{item.status,jdbcType=TINYINT},
|
||||
#{item.correctImage,jdbcType=VARCHAR},
|
||||
#{item.correctRemark,jdbcType=VARCHAR}, #{item.correctTime,jdbcType=VARCHAR},
|
||||
#{item.requestRectificationDate,jdbcType=VARCHAR},
|
||||
#{item.updateDate,jdbcType=TIMESTAMP}, #{item.handleResult,jdbcType=INTEGER},
|
||||
#{item.desc,jdbcType=LONGVARCHAR},
|
||||
#{item.handleDone,jdbcType=INTEGER})
|
||||
</foreach>
|
||||
</insert>
|
||||
</mapper>
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.zhgd.xmgl.modules.video.service;
|
||||
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTypeCountVO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -9,7 +10,7 @@ public interface IAiStatisticService {
|
||||
|
||||
Map<String,Object> selectAiDevCount(Map<String, Object> map);
|
||||
|
||||
Map<String,Object> selectAiAnalyseHardWareAlarmTypeCount(Map<String, Object> map);
|
||||
AiAnalyseHardWareAlarmTypeCountVO selectAiAnalyseHardWareAlarmTypeCount(Map<String, Object> map);
|
||||
|
||||
List<Map<String, Object>> selectProjectAiAlarmCountList(Map<String, Object> map);
|
||||
|
||||
|
||||
@ -1,12 +1,14 @@
|
||||
package com.zhgd.xmgl.modules.video.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.ICompanyService;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.impl.DictionaryItemServiceImpl;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.impl.DictionaryServiceImpl;
|
||||
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord;
|
||||
import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTypeCountVO;
|
||||
import com.zhgd.xmgl.modules.video.mapper.AiAnalyseHardWareAlarmRecordMapper;
|
||||
import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper;
|
||||
import com.zhgd.xmgl.modules.video.service.IAiStatisticService;
|
||||
@ -16,9 +18,12 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @program: wisdomSite
|
||||
@ -62,20 +67,25 @@ public class AiStatisticServiceImpl implements IAiStatisticService {
|
||||
DictionaryItemServiceImpl dictionaryItemService;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> selectAiAnalyseHardWareAlarmTypeCount(Map<String, Object> param) {
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
public AiAnalyseHardWareAlarmTypeCountVO selectAiAnalyseHardWareAlarmTypeCount(Map<String, Object> param) {
|
||||
Map<String, Object> map = companyService.getCompanyType(param);
|
||||
//dictionaryService.queryList()
|
||||
List<Map<String, Object>> alarmList = aiAnalyseHardWareAlarmRecordMapper.selectAiAnalyseHardWareAlarmTypeCount(map);
|
||||
List<AiAnalyseHardWareAlarmRecord> alarmList = aiAnalyseHardWareAlarmRecordMapper.selectAiAnalyseHardWareAlarmTypeCount(map);
|
||||
Map<String, List<AiAnalyseHardWareAlarmRecord>> dateMap = alarmList.stream().collect(Collectors.groupingBy(AiAnalyseHardWareAlarmRecord::getDate));
|
||||
List<AiAnalyseHardWareAlarmRecord> todayList = dateMap.get(DateUtil.today());
|
||||
List<AiAnalyseHardWareAlarmRecord> yesterdayList = dateMap.get(DateUtil.formatDate(DateUtil.offsetDay(new Date(), -1)));
|
||||
Map<Integer, AiAnalyseHardWareAlarmRecord> todayMap = todayList.stream().collect(Collectors.toMap(AiAnalyseHardWareAlarmRecord::getAlarmType, Function.identity(), (aiAnalyseHardWareAlarmRecord, aiAnalyseHardWareAlarmRecord2) -> aiAnalyseHardWareAlarmRecord));
|
||||
Map<Integer, AiAnalyseHardWareAlarmRecord> yesterdayMap = yesterdayList.stream().collect(Collectors.toMap(AiAnalyseHardWareAlarmRecord::getAlarmType, Function.identity(), (aiAnalyseHardWareAlarmRecord, aiAnalyseHardWareAlarmRecord2) -> aiAnalyseHardWareAlarmRecord));
|
||||
|
||||
Integer totalAlarmNum = 0;
|
||||
if (CollUtil.isNotEmpty(alarmList)) {
|
||||
for (Map<String, Object> dev : alarmList) {
|
||||
totalAlarmNum = totalAlarmNum + MapUtils.getInteger(dev, "alarmNum");
|
||||
for (AiAnalyseHardWareAlarmRecord dev : alarmList) {
|
||||
totalAlarmNum = totalAlarmNum + dev.getAlarmNum();
|
||||
}
|
||||
}
|
||||
data.put("alarmList", alarmList);
|
||||
data.put("totalAlarmNum", totalAlarmNum);
|
||||
return data;
|
||||
AiAnalyseHardWareAlarmTypeCountVO vo = new AiAnalyseHardWareAlarmTypeCountVO();
|
||||
vo.setAlarmList(alarmList);
|
||||
vo.setTotalAlarmNum(totalAlarmNum);
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user