ai预警修改
This commit is contained in:
parent
361424d12c
commit
bf52d51843
@ -21,7 +21,7 @@ public class SectorOneVo {
|
||||
@ApiModelProperty("百分比")
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
private String percent;
|
||||
@ApiModelProperty("枚举类型")
|
||||
@ApiModelProperty("枚举类型和字典类型")
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
private Integer enumType;
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ package com.zhgd.xmgl.base.entity.vo;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import com.zhgd.xmgl.enums.BaseEnum;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@ -13,6 +14,9 @@ import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 扇形图表
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ -39,7 +43,14 @@ public class SectorVo {
|
||||
|
||||
}
|
||||
|
||||
public static SectorVo getSectorVo(List<SectorOneVo> list, BaseEnum[] enums) {
|
||||
/**
|
||||
* 获取扇形图表
|
||||
*
|
||||
* @param list
|
||||
* @param enums
|
||||
* @return
|
||||
*/
|
||||
public static SectorVo getSectorVoByEnum(List<SectorOneVo> list, BaseEnum[] enums) {
|
||||
SectorVo vo = new SectorVo();
|
||||
List<SectorOneVo> rtList = new ArrayList<>();
|
||||
Map<Integer, SectorOneVo> map = list.stream().collect(Collectors.toMap(SectorOneVo::getEnumType, Function.identity()));
|
||||
@ -59,6 +70,33 @@ public class SectorVo {
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取扇形图表
|
||||
*
|
||||
* @param list
|
||||
* @param dictionaryItems
|
||||
* @return
|
||||
*/
|
||||
public static SectorVo getSectorVoByDict(List<SectorOneVo> list, List<DictionaryItem> dictionaryItems) {
|
||||
SectorVo vo = new SectorVo();
|
||||
List<SectorOneVo> rtList = new ArrayList<>();
|
||||
Map<Integer, SectorOneVo> map = list.stream().collect(Collectors.toMap(SectorOneVo::getEnumType, Function.identity()));
|
||||
for (DictionaryItem type : dictionaryItems) {
|
||||
SectorOneVo vo1 = map.get(Integer.valueOf(type.getData()));
|
||||
if (vo1 == null) {
|
||||
vo1 = new SectorOneVo();
|
||||
vo1.setCount("0");
|
||||
}
|
||||
vo1.setName(type.getName());
|
||||
vo1.setEnumType(Integer.valueOf(type.getData()));
|
||||
rtList.add(vo1);
|
||||
}
|
||||
vo.setData(rtList);
|
||||
vo.setCount(String.valueOf(rtList.stream().map(o -> Integer.parseInt(o.getCount())).mapToInt(value -> value).sum()));
|
||||
calPercent(vo);
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算总count
|
||||
*
|
||||
|
||||
5
src/main/java/com/zhgd/xmgl/constant/DictConstant.java
Normal file
5
src/main/java/com/zhgd/xmgl/constant/DictConstant.java
Normal file
@ -0,0 +1,5 @@
|
||||
package com.zhgd.xmgl.constant;
|
||||
|
||||
public interface DictConstant {
|
||||
String AI_ANALYSE_HARD_WARE_ALARM_RECORD_TYPE = "ai_analyse_hard_ware_alarm_record_type";
|
||||
}
|
||||
@ -62,15 +62,7 @@ public class DictionaryItemController {
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<DictionaryItem>> queryList(DictionaryItem dictionaryItem,
|
||||
HttpServletRequest req) {
|
||||
Result<List<DictionaryItem>> result = new Result<>();
|
||||
QueryWrapper<DictionaryItem> queryWrapper = QueryGenerator.initQueryWrapper(dictionaryItem, req.getParameterMap(), null,
|
||||
RefUtil.fieldNames(DictionaryItem::getName))
|
||||
.orderByAsc(RefUtil.fieldNameUlc(DictionaryItem::getOrderNum));
|
||||
queryWrapper.eq(RefUtil.fieldNameUlc(DictionaryItem::getIsEnable), 1);
|
||||
List<DictionaryItem> pageList = dictionaryItemService.list(queryWrapper);
|
||||
result.setSuccess(true);
|
||||
result.setResult(pageList);
|
||||
return result;
|
||||
return Result.success(dictionaryItemService.queryList(dictionaryItem, req));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -4,12 +4,16 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.DictionariesRecord;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface IDictionaryItemService extends IService<DictionaryItem> {
|
||||
public List<DictionaryItem> getDictList(String dictionaryEncoding);
|
||||
|
||||
void add(DictionaryItem dictionaryItem);
|
||||
|
||||
List<DictionaryItem> listEnableByConstructionStage(String projectConstructionStage);
|
||||
|
||||
List<DictionaryItem> queryList(DictionaryItem dictionaryItem, HttpServletRequest req);
|
||||
}
|
||||
|
||||
@ -1,17 +1,23 @@
|
||||
package com.zhgd.xmgl.modules.basicdata.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.xmgl.modules.basicdata.constant.DictionaryItemConstant;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Dictionary;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.DictionaryItemMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.DictionaryMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.IDictionaryItemService;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@ -22,6 +28,19 @@ public class DictionaryItemServiceImpl extends ServiceImpl<DictionaryItemMapper,
|
||||
@Autowired
|
||||
private DictionaryMapper dictionaryMapper;
|
||||
|
||||
/**
|
||||
* 获取字典列表
|
||||
*
|
||||
* @param dictionaryEncoding
|
||||
* @return
|
||||
*/
|
||||
public List<DictionaryItem> getDictList(String dictionaryEncoding) {
|
||||
DictionaryItem di = new DictionaryItem();
|
||||
di.setDictionaryEncoding(dictionaryEncoding);
|
||||
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
||||
return queryList(di, request);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(DictionaryItem dictionaryItem) {
|
||||
Long dictionaryId = dictionaryItem.getDictionaryId();
|
||||
@ -40,4 +59,14 @@ public class DictionaryItemServiceImpl extends ServiceImpl<DictionaryItemMapper,
|
||||
.eq(DictionaryItem::getIsEnable, 1)
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DictionaryItem> queryList(DictionaryItem dictionaryItem, HttpServletRequest req) {
|
||||
QueryWrapper<DictionaryItem> queryWrapper = QueryGenerator.initQueryWrapper(dictionaryItem, req.getParameterMap(), null,
|
||||
RefUtil.fieldNames(DictionaryItem::getName))
|
||||
.orderByAsc(RefUtil.fieldNameUlc(DictionaryItem::getOrderNum));
|
||||
queryWrapper.eq(RefUtil.fieldNameUlc(DictionaryItem::getIsEnable), 1);
|
||||
List<DictionaryItem> pageList = list(queryWrapper);
|
||||
return pageList;
|
||||
}
|
||||
}
|
||||
|
||||
@ -25,6 +25,6 @@ public class PartyMemberManageServiceImpl extends ServiceImpl<PartyMemberManageM
|
||||
@Override
|
||||
public Result<SectorVo> countPartyMemberManagePoliticalStatus(HashMap<String, Object> paramMap) {
|
||||
List<SectorOneVo> list = baseMapper.countPartyMemberManagePoliticalStatus(paramMap);
|
||||
return Result.success(SectorVo.getSectorVo(list, ParamEnum.PartyMemberManagePoliticalStatusEnum.values()));
|
||||
return Result.success(SectorVo.getSectorVoByEnum(list, ParamEnum.PartyMemberManagePoliticalStatusEnum.values()));
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.enums.ParamEnum;
|
||||
import com.zhgd.xmgl.base.entity.vo.SectorVo;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
|
||||
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord;
|
||||
@ -22,7 +22,10 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
@ -125,7 +128,7 @@ public class AiAnalyseHardWareAlarmRecordController {
|
||||
@ApiImplicitParam(name = "selectType", value = "查询类型,1近七天,2最近30天,3今日,4、24小时", paramType = "query", required = false, dataType = "String"),
|
||||
})
|
||||
@PostMapping(value = "/getAiAnalyseHardWareAlarmTotal")
|
||||
public Result<AiAnalyseHardWareAlarmTrendVo> getAiAnalyseHardWareAlarmTotal(@RequestBody Map<String, Object> map) {
|
||||
public Result<SectorVo> getAiAnalyseHardWareAlarmTotal(@RequestBody Map<String, Object> map) {
|
||||
return Result.success(aiAnalyseHardWareAlarmRecordService.getAiAnalyseHardWareAlarmTotal(map));
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.video.mapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
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 org.apache.ibatis.annotations.MapKey;
|
||||
@ -31,7 +32,7 @@ public interface AiAnalyseHardWareAlarmRecordMapper extends BaseMapper<AiAnalyse
|
||||
|
||||
List<AiAnalyseHardWareAlarmRecord> selectAiAnalyseHardWareAlarmList(Map<String, Object> map);
|
||||
|
||||
AiAnalyseHardWareAlarmTrendVo getAiAnalyseHardWareAlarmTotal(Map<String, Object> map);
|
||||
List<SectorOneVo> getAiAnalyseHardWareAlarmTotal(Map<String, Object> map);
|
||||
|
||||
List<Map<String, Object>> selectAiAnalyseHardWareAlarmTypeCount(Map<String, Object> map);
|
||||
|
||||
|
||||
@ -116,19 +116,16 @@
|
||||
</if>
|
||||
</sql>
|
||||
<select id="getAiAnalyseHardWareAlarmTotal"
|
||||
resultType="com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTrendVo">
|
||||
SELECT count(1) totalNum,
|
||||
IFNULL(SUM((CASE WHEN a.alarm_type = 1 THEN 1 ELSE 0 END)), 0) alarmTypeNum1,
|
||||
IFNULL(SUM((CASE WHEN a.alarm_type = 2 THEN 1 ELSE 0 END)), 0) alarmTypeNum2,
|
||||
IFNULL(SUM((CASE WHEN a.alarm_type = 3 THEN 1 ELSE 0 END)), 0) alarmTypeNum3,
|
||||
IFNULL(SUM((CASE WHEN a.alarm_type = 4 THEN 1 ELSE 0 END)), 0) alarmTypeNum4,
|
||||
IFNULL(SUM((CASE WHEN a.alarm_type = 5 THEN 1 ELSE 0 END)), 0) alarmTypeNum5,
|
||||
IFNULL(SUM((CASE WHEN a.alarm_type = 6 THEN 1 ELSE 0 END)), 0) alarmTypeNum6,
|
||||
IFNULL(SUM((CASE WHEN a.alarm_type = 7 THEN 1 ELSE 0 END)), 0) alarmTypeNum7
|
||||
FROM ai_analyse_hard_ware_alarm_record a
|
||||
where a.project_sn = #{projectSn}
|
||||
resultType="com.zhgd.xmgl.base.entity.vo.SectorOneVo">
|
||||
SELECT di.name,
|
||||
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}
|
||||
<include refid="queryAlarmTime">
|
||||
</include>
|
||||
where di.dictionary_encoding = 'ai_analyse_hard_ware_alarm_record_type'
|
||||
group by di.data
|
||||
</select>
|
||||
<select id="selectAiAnalyseHardWareAlarmTypeCount" resultType="java.util.Map" parameterType="java.util.Map">
|
||||
SELECT w1.alarm_type alarmType,
|
||||
@ -441,16 +438,16 @@
|
||||
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,
|
||||
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
|
||||
|
||||
@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.base.entity.vo.SectorVo;
|
||||
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareAlarmRecord;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zhgd.xmgl.modules.video.entity.vo.AiAnalyseHardWareAlarmTotalVo;
|
||||
@ -28,7 +29,7 @@ public interface IAiAnalyseHardWareAlarmRecordService extends IService<AiAnalyse
|
||||
|
||||
List<AiAnalyseHardWareAlarmRecord> selectAiAnalyseHardWareAlarmList(Map<String, Object> map);
|
||||
|
||||
AiAnalyseHardWareAlarmTrendVo getAiAnalyseHardWareAlarmTotal(Map<String, Object> map);
|
||||
SectorVo getAiAnalyseHardWareAlarmTotal(Map<String, Object> map);
|
||||
|
||||
void saveAiAnalyseAlarmData(JSONArray array);
|
||||
|
||||
|
||||
@ -13,11 +13,15 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.async.AsyncAiAnalyse;
|
||||
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
|
||||
import com.zhgd.xmgl.base.entity.vo.SectorVo;
|
||||
import com.zhgd.xmgl.constant.DictConstant;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.CompanyConfigMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.CompanyMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.IDictionaryItemService;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.UploadFileService;
|
||||
import com.zhgd.xmgl.modules.project.entity.Project;
|
||||
@ -65,6 +69,8 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl<AiAnaly
|
||||
private AsyncAiAnalyse asyncAiAnalyse;
|
||||
@Autowired
|
||||
private ISystemUserService systemUserService;
|
||||
@Autowired
|
||||
private IDictionaryItemService dictionaryItemService;
|
||||
|
||||
@Autowired
|
||||
private IProjectService projectService;
|
||||
@ -185,8 +191,9 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl<AiAnaly
|
||||
}
|
||||
|
||||
@Override
|
||||
public AiAnalyseHardWareAlarmTrendVo getAiAnalyseHardWareAlarmTotal(Map<String, Object> map) {
|
||||
return aiAnalyseHardWareAlarmRecordMapper.getAiAnalyseHardWareAlarmTotal(map);
|
||||
public SectorVo getAiAnalyseHardWareAlarmTotal(Map<String, Object> map) {
|
||||
List<SectorOneVo> list = aiAnalyseHardWareAlarmRecordMapper.getAiAnalyseHardWareAlarmTotal(map);
|
||||
return SectorVo.getSectorVoByDict(list, dictionaryItemService.getDictList(DictConstant.AI_ANALYSE_HARD_WARE_ALARM_RECORD_TYPE));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -341,11 +348,11 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl<AiAnaly
|
||||
public AiAnalyseHardWareAlarmTotalVo countAiAnalyseHardWareAlarmTotal(Map<String, Object> map) {
|
||||
AiAnalyseHardWareAlarmTotalVo vo = new AiAnalyseHardWareAlarmTotalVo();
|
||||
map.put("selectType", 3);
|
||||
vo.setTodayAlarmNum(this.getAiAnalyseHardWareAlarmTotal(map).getTotalNum());
|
||||
vo.setTodayAlarmNum(Integer.valueOf(this.getAiAnalyseHardWareAlarmTotal(map).getCount()));
|
||||
map.put("selectType", 1);
|
||||
vo.setPast7AlarmNum(this.getAiAnalyseHardWareAlarmTotal(map).getTotalNum());
|
||||
vo.setPast7AlarmNum(Integer.valueOf(this.getAiAnalyseHardWareAlarmTotal(map).getCount()));
|
||||
map.put("selectType", 2);
|
||||
vo.setPast30AlarmNum(this.getAiAnalyseHardWareAlarmTotal(map).getTotalNum());
|
||||
vo.setPast30AlarmNum(Integer.valueOf(this.getAiAnalyseHardWareAlarmTotal(map).getCount()));
|
||||
return vo;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user