diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/TerminalImgAlarmsAndPhotoDto.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/TerminalImgAlarmsAndPhotoDto.java new file mode 100644 index 0000000..4dff2c3 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/TerminalImgAlarmsAndPhotoDto.java @@ -0,0 +1,59 @@ +package com.shxy.xymanager_common.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigInteger; + +@Data +public class TerminalImgAlarmsAndPhotoDto implements Serializable { + + private BigInteger id; + + private Integer termId; + + private Integer channelId; + + private Integer presetId; + + private BigInteger photoOrgId; + + private BigInteger alarmTime; + + private Integer label; + + private String name; + + private String enname; + + private Float prob; + + private Float x; + + private Float y; + + private Float width; + + private Float height; + + private Integer isread; + + private Integer mediaType; + + private Integer photowidth; + + private Integer photoheight; + + private Integer fileSize; + + private BigInteger photoTime; + + private BigInteger recvTime; + + private String path; + + private String thumb; + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoListModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoListModel.java index 01e058f..b4ead4c 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoListModel.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoListModel.java @@ -74,5 +74,43 @@ public class TerminalPhotoListModel implements Serializable { private Integer mediaType; + @ApiModelProperty(value = "是否有告警", example = "0---无告警 1---有告警") + private Integer isAlarm; + + @ApiModelProperty(value = "告警列表", example = "123456") + private List alarmlist; + + } + + @Data + public static class AlarmItemBean { + + @ApiModelProperty(value = "告警名称", example = "123456") + private String name; + + @ApiModelProperty(value = "告警中文", example = "123456") + private String enname; + + @ApiModelProperty(value = "可信度", example = "123456") + private Float prob; + + @ApiModelProperty(value = " 识别框横坐标", example = "123456") + private Float x; + + @ApiModelProperty(value = " 识别框纵坐标", example = "123456") + private Float y; + + @ApiModelProperty(value = "识别框宽度", example = "123456") + private Float width; + + @ApiModelProperty(value = "识别框高度", example = "123456") + private Float height; + + @ApiModelProperty(value = "图片宽度", example = "123456") + private Integer photoWidth; + + @ApiModelProperty(value = "图片高度", example = "123456") + private Integer photoHeight; + } } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoSelectListModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoSelectListModel.java index 0516e03..a996207 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoSelectListModel.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotoSelectListModel.java @@ -76,5 +76,43 @@ public class TerminalPhotoSelectListModel implements Serializable { @ApiModelProperty(value = "视频缩略图", example = "123456") private String thumb; + @ApiModelProperty(value = "是否有告警", example = "0---无告警 1---有告警") + private Integer isAlarm; + + @ApiModelProperty(value = "告警列表", example = "123456") + private List alarmlist; + + + } + + @Data + public static class AlarmItemBean { + + @ApiModelProperty(value = "告警名称", example = "123456") + private String name; + + @ApiModelProperty(value = "告警中文", example = "123456") + private String enname; + + @ApiModelProperty(value = "可信度", example = "123456") + private Float prob; + + @ApiModelProperty(value = " 识别框横坐标", example = "123456") + private Float x; + + @ApiModelProperty(value = " 识别框纵坐标", example = "123456") + private Float y; + + @ApiModelProperty(value = "识别框宽度", example = "123456") + private Float width; + + @ApiModelProperty(value = "识别框高度", example = "123456") + private Float height; + + @ApiModelProperty(value = "图片宽度", example = "123456") + private Integer photoWidth; + + @ApiModelProperty(value = "图片高度", example = "123456") + private Integer photoHeight; } } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotosModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotosModel.java index f41dbe9..95d3060 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotosModel.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/TerminalPhotosModel.java @@ -79,5 +79,44 @@ public class TerminalPhotosModel implements Serializable { @ApiModelProperty(value = "视频缩略图", example = "123456") private String thumb; + + + @ApiModelProperty(value = "是否有告警", example = "0---无告警 1---有告警") + private Integer isAlarm; + + @ApiModelProperty(value = "告警列表", example = "123456") + private List alarmlist; + } + + @Data + public static class AlarmItemBean { + + @ApiModelProperty(value = "告警名称", example = "123456") + private String name; + + @ApiModelProperty(value = "告警中文", example = "123456") + private String enname; + + @ApiModelProperty(value = "可信度", example = "123456") + private Float prob; + + @ApiModelProperty(value = " 识别框横坐标", example = "123456") + private Float x; + + @ApiModelProperty(value = " 识别框纵坐标", example = "123456") + private Float y; + + @ApiModelProperty(value = "识别框宽度", example = "123456") + private Float width; + + @ApiModelProperty(value = "识别框高度", example = "123456") + private Float height; + + @ApiModelProperty(value = "图片宽度", example = "123456") + private Integer photoWidth; + + @ApiModelProperty(value = "图片高度", example = "123456") + private Integer photoHeight; + } } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java index 8ebbf35..f6689cd 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/xinyin/TerminalUtils.java @@ -5,11 +5,14 @@ import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUnit; import com.shxy.xymanager_common.dto.LineAndDyNameDto; +import com.shxy.xymanager_common.dto.TerminalImgAlarmsDto; import com.shxy.xymanager_common.dto.TowerDto; import com.shxy.xymanager_common.entity.TerminalChannelMapper; import com.shxy.xymanager_common.entity.TerminalChannels; import com.shxy.xymanager_common.entity.TerminalPhoto; import com.shxy.xymanager_common.entity.Terminals; +import com.shxy.xymanager_common.enums.CommonStatus; +import com.shxy.xymanager_common.model.TerminalPhotoListModel; import com.shxy.xymanager_common.model.TerminalPhotoSelectListModel; import com.shxy.xymanager_common.model.TerminalPhotosModel; import com.shxy.xymanager_common.util.MyDateUtils; @@ -130,7 +133,7 @@ public class TerminalUtils { * @param photoList * @return */ - public static List setPhotoList(String requestIp, List list, Map lineMap, Map termchannelMapMap, Map terminalMap, Map termchannelMap, Map towerMap, List photoList) { + public static List setPhotoList(String requestIp, List list, Map lineMap, Map termchannelMapMap, Map terminalMap, Map termchannelMap, Map towerMap, List photoList,List imgarlarmsList) { List beans = new ArrayList<>(); for (TerminalChannelMapper item : list) { TerminalPhotosModel.PhotosBean photosBean = new TerminalPhotosModel.PhotosBean(); @@ -195,6 +198,40 @@ public class TerminalUtils { photosBean.setOrginalid(terminalPhoto.getOrginalId()); photosBean.setPresetId(terminalPhoto.getPresetId()); } + ArrayList photoalarmlist = new ArrayList<>(); + if (imgarlarmsList != null && imgarlarmsList.size() > 0) { + Integer termId1 = terminalPhoto.getTermId(); + BigInteger orginalid = terminalPhoto.getOrginalId(); + for (TerminalImgAlarmsDto dto : imgarlarmsList) { + BigInteger photoOrgId = dto.getPhotoOrgId(); + Integer termId = dto.getTermId(); + if (photoOrgId!= null && orginalid!=null && termId1!=null && termId!=null){ + if(photoOrgId.intValue() == orginalid.intValue() && termId1.intValue() == termId.intValue()) { + TerminalPhotoListModel.AlarmItemBean alarmItemBean = new TerminalPhotoListModel.AlarmItemBean(); + alarmItemBean.setEnname(dto.getEnname()); + alarmItemBean.setName(dto.getName()); + alarmItemBean.setHeight(dto.getHeight()); + alarmItemBean.setWidth(dto.getWidth()); + alarmItemBean.setProb(dto.getProb()); + alarmItemBean.setX(dto.getX()); + alarmItemBean.setY(dto.getY()); + alarmItemBean.setPhotoWidth(terminalPhoto.getWidth()); + alarmItemBean.setPhotoHeight(terminalPhoto.getHeight()); + photoalarmlist.add(alarmItemBean); + } + } + } + if (photoalarmlist == null || photoalarmlist.size() == 0) { + photosBean.setIsAlarm(CommonStatus.DELETE.value()); + } else { + photosBean.setIsAlarm(CommonStatus.EFFECTIVE.value()); + } + photosBean.setAlarmlist(photoalarmlist); + } else { + photosBean.setIsAlarm(CommonStatus.DELETE.value()); + photosBean.setAlarmlist(photoalarmlist); + } + break; } } @@ -219,7 +256,7 @@ public class TerminalUtils { * @param photoList * @return */ - public static List setTowerPhotoList(String requestIp, List list, Map lineMap, Map termchannelMapMap, Map terminalMap, Map termchannelMap, Map towerMap, List photoList) { + public static List setTowerPhotoList(String requestIp, List list, Map lineMap, Map termchannelMapMap, Map terminalMap, Map termchannelMap, Map towerMap, List photoList, List imgarlarmsList) { List beans = new ArrayList<>(); for (TerminalChannelMapper item : list) { TerminalPhotosModel.PhotosBean photosBean = new TerminalPhotosModel.PhotosBean(); @@ -291,6 +328,39 @@ public class TerminalUtils { photosBean.setPath(photoPath); photosBean.setOrginalid(terminalPhoto.getOrginalId()); photosBean.setPresetId(terminalPhoto.getPresetId()); + ArrayList photoalarmlist = new ArrayList<>(); + if (imgarlarmsList != null && imgarlarmsList.size() > 0) { + Integer termId1 = terminalPhoto.getTermId(); + BigInteger orginalid = terminalPhoto.getOrginalId(); + for (TerminalImgAlarmsDto dto : imgarlarmsList) { + BigInteger photoOrgId = dto.getPhotoOrgId(); + Integer termId = dto.getTermId(); + if (photoOrgId!= null && orginalid!=null && termId1!=null && termId!=null){ + if(photoOrgId.intValue() == orginalid.intValue() && termId1.intValue() == termId.intValue()) { + TerminalPhotoListModel.AlarmItemBean alarmItemBean = new TerminalPhotoListModel.AlarmItemBean(); + alarmItemBean.setEnname(dto.getEnname()); + alarmItemBean.setName(dto.getName()); + alarmItemBean.setHeight(dto.getHeight()); + alarmItemBean.setWidth(dto.getWidth()); + alarmItemBean.setProb(dto.getProb()); + alarmItemBean.setX(dto.getX()); + alarmItemBean.setY(dto.getY()); + alarmItemBean.setPhotoWidth(terminalPhoto.getWidth()); + alarmItemBean.setPhotoHeight(terminalPhoto.getHeight()); + photoalarmlist.add(alarmItemBean); + } + } + } + if (photoalarmlist == null || photoalarmlist.size() == 0) { + photosBean.setIsAlarm(CommonStatus.DELETE.value()); + } else { + photosBean.setIsAlarm(CommonStatus.EFFECTIVE.value()); + } + photosBean.setAlarmlist(photoalarmlist); + } else { + photosBean.setIsAlarm(CommonStatus.DELETE.value()); + photosBean.setAlarmlist(photoalarmlist); + } } break; } @@ -304,7 +374,7 @@ public class TerminalUtils { } - public static List fdsa(String requestIp, List list, Map terminalMap, Map lineMap, Map towerMap, Map termchannelMap, Map termchannelMapMap) { + public static List examPhotoBean(String requestIp, List list, Map terminalMap, Map lineMap, Map towerMap, Map termchannelMap, Map termchannelMapMap, List imgarlarmsList) { List beans = new ArrayList<>(); for (TerminalPhoto item : list) { TerminalPhotoSelectListModel.PhotoBean photoBean = new TerminalPhotoSelectListModel.PhotoBean(); @@ -354,6 +424,41 @@ public class TerminalUtils { photoBean.setPhotoTime(MyDateUtils.date(phototime)); long rectime = MyDateUtils.TimeSecond2MillSecond(item.getRecvTime().longValue()); photoBean.setRecvTime(MyDateUtils.date(rectime)); + + ArrayList photoalarmlist = new ArrayList<>(); + if (imgarlarmsList != null && imgarlarmsList.size() > 0) { + Integer termId1 = item.getTermId(); + BigInteger orginalid = item.getOrginalId(); + for (TerminalImgAlarmsDto dto : imgarlarmsList) { + BigInteger photoOrgId = dto.getPhotoOrgId(); + Integer termId = dto.getTermId(); + if (photoOrgId!= null && orginalid!=null && termId1!=null && termId!=null) { + if (photoOrgId.intValue() == orginalid.intValue() && termId1.intValue() == termId.intValue()) { + TerminalPhotoListModel.AlarmItemBean alarmItemBean = new TerminalPhotoListModel.AlarmItemBean(); + alarmItemBean.setEnname(dto.getEnname()); + alarmItemBean.setName(dto.getName()); + alarmItemBean.setHeight(dto.getHeight()); + alarmItemBean.setWidth(dto.getWidth()); + alarmItemBean.setProb(dto.getProb()); + alarmItemBean.setX(dto.getX()); + alarmItemBean.setY(dto.getY()); + alarmItemBean.setPhotoWidth(item.getWidth()); + alarmItemBean.setPhotoHeight(item.getHeight()); + photoalarmlist.add(alarmItemBean); + } + } + } + if (photoalarmlist == null || photoalarmlist.size() == 0) { + photoBean.setIsAlarm(CommonStatus.DELETE.value()); + } else { + photoBean.setIsAlarm(CommonStatus.EFFECTIVE.value()); + } + photoBean.setAlarmlist(photoalarmlist); + } else { + photoBean.setIsAlarm(CommonStatus.DELETE.value()); + photoBean.setAlarmlist(photoalarmlist); + } + beans.add(photoBean); } } diff --git a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalImgAlarmsDao.java b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalImgAlarmsDao.java index d8fc78d..ddcca40 100644 --- a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalImgAlarmsDao.java +++ b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalImgAlarmsDao.java @@ -4,6 +4,7 @@ import com.shxy.xymanager_common.dto.GroupAlarmType; import com.shxy.xymanager_common.dto.TerminalImgAlarmsDto; import com.shxy.xymanager_common.entity.TerminalImgAlarmParams; import com.shxy.xymanager_common.entity.TerminalImgAlarms; +import com.shxy.xymanager_common.entity.TerminalPhoto; import org.apache.ibatis.annotations.Param; import java.math.BigInteger; @@ -22,7 +23,9 @@ public interface TerminalImgAlarmsDao { List groupAlarmsDetails(@Param("labellist") List labellist, @Param("starttime") BigInteger starttime, @Param("endtime") BigInteger endtime); - List selectAlarmsDetails(@Param("terminalidlist") List termidlist, @Param("channel") Integer channel,@Param("labellist") List labellist, @Param("starttime") BigInteger starttime, @Param("endtime") BigInteger endtime); + List selectAlarmsDetails(@Param("terminalidlist") List termidlist, @Param("channel") Integer channel, @Param("labellist") List labellist, @Param("starttime") BigInteger starttime, @Param("endtime") BigInteger endtime); + + List selectAlarmsByTermidAndPhotoId(@Param("termlist")List list, @Param("labellist") List labellist); int updateByPrimaryKeySelective(TerminalImgAlarms record); diff --git a/xymanager_dao/src/main/resources/mappers/TerminalImgAlarmsDao.xml b/xymanager_dao/src/main/resources/mappers/TerminalImgAlarmsDao.xml index 91fc809..41742f7 100644 --- a/xymanager_dao/src/main/resources/mappers/TerminalImgAlarmsDao.xml +++ b/xymanager_dao/src/main/resources/mappers/TerminalImgAlarmsDao.xml @@ -30,6 +30,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -94,6 +120,51 @@ order by a.alarm_time desc + +