‘liusuyi’
2023-09-19 4b66cd48d9e0ca8288dae11f3a895367d30a7b8a
增加三场数字化报警
已添加6个文件
已修改5个文件
799 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/alarm/digitization3/controller/ArdAlarmDigitization3Controller.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/digitization3/domain/ArdAlarmDigitization3.java 206 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/digitization3/mapper/ArdAlarmDigitization3Mapper.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/digitization3/service/IArdAlarmDigitization3Service.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/digitization3/service/impl/ArdAlarmDigitization3ServiceImpl.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmAccessMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmApponekeyMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmDigitization3Mapper.xml 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmWallMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/digitization3/controller/ArdAlarmDigitization3Controller.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,104 @@
package com.ruoyi.alarm.digitization3.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.alarm.digitization3.domain.ArdAlarmDigitization3;
import com.ruoyi.alarm.digitization3.service.IArdAlarmDigitization3Service;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
 * ä¸‰åœºæ•°å­—化报警Controller
 *
 * @author ard
 * @date 2023-09-19
 */
@RestController
@RequestMapping("/alarm/digitization3")
public class ArdAlarmDigitization3Controller extends BaseController
{
    @Autowired
    private IArdAlarmDigitization3Service ardAlarmDigitization3Service;
    /**
     * æŸ¥è¯¢ä¸‰åœºæ•°å­—化报警列表
     */
    @PreAuthorize("@ss.hasPermi('alarm:digitization3:list')")
    @GetMapping("/list")
    public TableDataInfo list(ArdAlarmDigitization3 ardAlarmDigitization3)
    {
        startPage();
        List<ArdAlarmDigitization3> list = ardAlarmDigitization3Service.selectArdAlarmDigitization3List(ardAlarmDigitization3);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºä¸‰åœºæ•°å­—化报警列表
     */
    @PreAuthorize("@ss.hasPermi('alarm:digitization3:export')")
    @Log(title = "三场数字化报警", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, ArdAlarmDigitization3 ardAlarmDigitization3)
    {
        List<ArdAlarmDigitization3> list = ardAlarmDigitization3Service.selectArdAlarmDigitization3List(ardAlarmDigitization3);
        ExcelUtil<ArdAlarmDigitization3> util = new ExcelUtil<ArdAlarmDigitization3>(ArdAlarmDigitization3.class);
        util.exportExcel(response, list, "三场数字化报警数据");
    }
    /**
     * èŽ·å–ä¸‰åœºæ•°å­—åŒ–æŠ¥è­¦è¯¦ç»†ä¿¡æ¯
     */
    @PreAuthorize("@ss.hasPermi('alarm:digitization3:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") String id)
    {
        return success(ardAlarmDigitization3Service.selectArdAlarmDigitization3ById(id));
    }
    /**
     * æ–°å¢žä¸‰åœºæ•°å­—化报警
     */
    @PreAuthorize("@ss.hasPermi('alarm:digitization3:add')")
    @Log(title = "三场数字化报警", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ArdAlarmDigitization3 ardAlarmDigitization3)
    {
        return toAjax(ardAlarmDigitization3Service.insertArdAlarmDigitization3(ardAlarmDigitization3));
    }
    /**
     * ä¿®æ”¹ä¸‰åœºæ•°å­—化报警
     */
    @PreAuthorize("@ss.hasPermi('alarm:digitization3:edit')")
    @Log(title = "三场数字化报警", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody ArdAlarmDigitization3 ardAlarmDigitization3)
    {
        return toAjax(ardAlarmDigitization3Service.updateArdAlarmDigitization3(ardAlarmDigitization3));
    }
    /**
     * åˆ é™¤ä¸‰åœºæ•°å­—化报警
     */
    @PreAuthorize("@ss.hasPermi('alarm:digitization3:remove')")
    @Log(title = "三场数字化报警", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable String[] ids)
    {
        return toAjax(ardAlarmDigitization3Service.deleteArdAlarmDigitization3ByIds(ids));
    }
}
ard-work/src/main/java/com/ruoyi/alarm/digitization3/domain/ArdAlarmDigitization3.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,206 @@
package com.ruoyi.alarm.digitization3.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * ä¸‰åœºæ•°å­—化报警对象 ard_alarm_digitization3
 *
 * @author ard
 * @date 2023-09-19
 */
public class ArdAlarmDigitization3 extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** ID */
    private String id;
    /** é¡¹ç›®åç§° */
    @Excel(name = "项目名称")
    private String xmmc;
    /** å¤–é”® */
    @Excel(name = "外键")
    private String fKey;
    /** å­—段名称 */
    @Excel(name = "字段名称")
    private String fName;
    /** äº•号 */
    @Excel(name = "井号")
    private String wellNo;
    /** æŠ¥è­¦æ—¶é—´ */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报警时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date alarmTime;
    /** æŠ¥è­¦å†…容 */
    @Excel(name = "报警内容")
    private String alarmType;
    /** ç»åº¦ */
    @Excel(name = "经度")
    private Double longitude;
    /** çº¬åº¦ */
    @Excel(name = "纬度")
    private Double latitude;
    /** é«˜å±‚ */
    @Excel(name = "高层")
    private Double altitude;
    /** æŸ¥çœ‹æ—¶é—´ */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "查看时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date viewTime;
    /**
     * æŠ¥è­¦æ€»æ•°
     */
    private Integer total;
    /**
     * æœªè¯»æŠ¥è­¦æ•°é‡
     */
    private Integer count;
    public Integer getTotal() {
        return total;
    }
    public void setTotal(Integer total) {
        this.total = total;
    }
    public Integer getCount() {
        return count;
    }
    public void setCount(Integer count) {
        this.count = count;
    }
    public void setId(String id)
    {
        this.id = id;
    }
    public String getId()
    {
        return id;
    }
    public void setXmmc(String xmmc)
    {
        this.xmmc = xmmc;
    }
    public String getXmmc()
    {
        return xmmc;
    }
    public void setfKey(String fKey)
    {
        this.fKey = fKey;
    }
    public String getfKey()
    {
        return fKey;
    }
    public void setfName(String fName)
    {
        this.fName = fName;
    }
    public String getfName()
    {
        return fName;
    }
    public void setWellNo(String wellNo)
    {
        this.wellNo = wellNo;
    }
    public String getWellNo()
    {
        return wellNo;
    }
    public void setAlarmTime(Date alarmTime)
    {
        this.alarmTime = alarmTime;
    }
    public Date getAlarmTime()
    {
        return alarmTime;
    }
    public void setAlarmType(String alarmType)
    {
        this.alarmType = alarmType;
    }
    public String getAlarmType()
    {
        return alarmType;
    }
    public void setLongitude(Double longitude)
    {
        this.longitude = longitude;
    }
    public Double getLongitude()
    {
        return longitude;
    }
    public void setLatitude(Double latitude)
    {
        this.latitude = latitude;
    }
    public Double getLatitude()
    {
        return latitude;
    }
    public void setAltitude(Double altitude)
    {
        this.altitude = altitude;
    }
    public Double getAltitude()
    {
        return altitude;
    }
    public void setViewTime(Date viewTime)
    {
        this.viewTime = viewTime;
    }
    public Date getViewTime()
    {
        return viewTime;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("xmmc", getXmmc())
            .append("fKey", getfKey())
            .append("fName", getfName())
            .append("wellNo", getWellNo())
            .append("alarmTime", getAlarmTime())
            .append("alarmType", getAlarmType())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("altitude", getAltitude())
            .append("createTime", getCreateTime())
            .append("viewTime", getViewTime())
            .toString();
    }
}
ard-work/src/main/java/com/ruoyi/alarm/digitization3/mapper/ArdAlarmDigitization3Mapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,68 @@
package com.ruoyi.alarm.digitization3.mapper;
import java.util.List;
import com.ruoyi.alarm.digitization3.domain.ArdAlarmDigitization3;
import com.ruoyi.alarm.tube.domain.ArdAlarmTube;
import org.apache.ibatis.annotations.Param;
/**
 * ä¸‰åœºæ•°å­—化报警Mapper接口
 *
 * @author ard
 * @date 2023-09-19
 */
public interface ArdAlarmDigitization3Mapper
{
    /**
     * æŸ¥è¯¢ä¸‰åœºæ•°å­—化报警
     *
     * @param id ä¸‰åœºæ•°å­—化报警主键
     * @return ä¸‰åœºæ•°å­—化报警
     */
    public ArdAlarmDigitization3 selectArdAlarmDigitization3ById(String id);
    /**
     * æŸ¥è¯¢ä¸‰åœºæ•°å­—化报警列表
     *
     * @param ardAlarmDigitization3 ä¸‰åœºæ•°å­—化报警
     * @return ä¸‰åœºæ•°å­—化报警集合
     */
    public List<ArdAlarmDigitization3> selectArdAlarmDigitization3List(ArdAlarmDigitization3 ardAlarmDigitization3);
    /**
     * æ–°å¢žä¸‰åœºæ•°å­—化报警
     *
     * @param ardAlarmDigitization3 ä¸‰åœºæ•°å­—化报警
     * @return ç»“æžœ
     */
    public int insertArdAlarmDigitization3(ArdAlarmDigitization3 ardAlarmDigitization3);
    /**
     * ä¿®æ”¹ä¸‰åœºæ•°å­—化报警
     *
     * @param ardAlarmDigitization3 ä¸‰åœºæ•°å­—化报警
     * @return ç»“æžœ
     */
    public int updateArdAlarmDigitization3(ArdAlarmDigitization3 ardAlarmDigitization3);
    /**
     * åˆ é™¤ä¸‰åœºæ•°å­—化报警
     *
     * @param id ä¸‰åœºæ•°å­—化报警主键
     * @return ç»“æžœ
     */
    public int deleteArdAlarmDigitization3ById(String id);
    /**
     * æ‰¹é‡åˆ é™¤ä¸‰åœºæ•°å­—化报警
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteArdAlarmDigitization3ByIds(String[] ids);
    public List<ArdAlarmDigitization3> selectListAllByCommand(@Param("refreshTime")String refreshTime);
    int selectCountByAlarmTime(@Param("refreshTime")String refreshTime);
    public int updateViewTimeByWellNo(@Param("wellNo")String wellNo,@Param("alarmTime") String alarmTime,@Param("viewTime") String viewTime);
}
ard-work/src/main/java/com/ruoyi/alarm/digitization3/service/IArdAlarmDigitization3Service.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.ruoyi.alarm.digitization3.service;
import java.util.List;
import com.ruoyi.alarm.digitization3.domain.ArdAlarmDigitization3;
/**
 * ä¸‰åœºæ•°å­—化报警Service接口
 *
 * @author ard
 * @date 2023-09-19
 */
public interface IArdAlarmDigitization3Service
{
    /**
     * æŸ¥è¯¢ä¸‰åœºæ•°å­—化报警
     *
     * @param id ä¸‰åœºæ•°å­—化报警主键
     * @return ä¸‰åœºæ•°å­—化报警
     */
    public ArdAlarmDigitization3 selectArdAlarmDigitization3ById(String id);
    /**
     * æŸ¥è¯¢ä¸‰åœºæ•°å­—化报警列表
     *
     * @param ardAlarmDigitization3 ä¸‰åœºæ•°å­—化报警
     * @return ä¸‰åœºæ•°å­—化报警集合
     */
    public List<ArdAlarmDigitization3> selectArdAlarmDigitization3List(ArdAlarmDigitization3 ardAlarmDigitization3);
    /**
     * æ–°å¢žä¸‰åœºæ•°å­—化报警
     *
     * @param ardAlarmDigitization3 ä¸‰åœºæ•°å­—化报警
     * @return ç»“æžœ
     */
    public int insertArdAlarmDigitization3(ArdAlarmDigitization3 ardAlarmDigitization3);
    /**
     * ä¿®æ”¹ä¸‰åœºæ•°å­—化报警
     *
     * @param ardAlarmDigitization3 ä¸‰åœºæ•°å­—化报警
     * @return ç»“æžœ
     */
    public int updateArdAlarmDigitization3(ArdAlarmDigitization3 ardAlarmDigitization3);
    /**
     * æ‰¹é‡åˆ é™¤ä¸‰åœºæ•°å­—化报警
     *
     * @param ids éœ€è¦åˆ é™¤çš„三场数字化报警主键集合
     * @return ç»“æžœ
     */
    public int deleteArdAlarmDigitization3ByIds(String[] ids);
    /**
     * åˆ é™¤ä¸‰åœºæ•°å­—化报警信息
     *
     * @param id ä¸‰åœºæ•°å­—化报警主键
     * @return ç»“æžœ
     */
    public int deleteArdAlarmDigitization3ById(String id);
}
ard-work/src/main/java/com/ruoyi/alarm/digitization3/service/impl/ArdAlarmDigitization3ServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,94 @@
package com.ruoyi.alarm.digitization3.service.impl;
import java.util.List;
        import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.alarm.digitization3.mapper.ArdAlarmDigitization3Mapper;
import com.ruoyi.alarm.digitization3.domain.ArdAlarmDigitization3;
import com.ruoyi.alarm.digitization3.service.IArdAlarmDigitization3Service;
/**
 * ä¸‰åœºæ•°å­—化报警Service业务层处理
 *
 * @author ard
 * @date 2023-09-19
 */
@Service
public class ArdAlarmDigitization3ServiceImpl implements IArdAlarmDigitization3Service {
    @Autowired
    private ArdAlarmDigitization3Mapper ardAlarmDigitization3Mapper;
    /**
     * æŸ¥è¯¢ä¸‰åœºæ•°å­—化报警
     *
     * @param id ä¸‰åœºæ•°å­—化报警主键
     * @return ä¸‰åœºæ•°å­—化报警
     */
    @Override
    public ArdAlarmDigitization3 selectArdAlarmDigitization3ById(String id) {
        return ardAlarmDigitization3Mapper.selectArdAlarmDigitization3ById(id);
    }
    /**
     * æŸ¥è¯¢ä¸‰åœºæ•°å­—化报警列表
     *
     * @param ardAlarmDigitization3 ä¸‰åœºæ•°å­—化报警
     * @return ä¸‰åœºæ•°å­—化报警
     */
    @Override
    public List<ArdAlarmDigitization3> selectArdAlarmDigitization3List(ArdAlarmDigitization3 ardAlarmDigitization3) {
        return ardAlarmDigitization3Mapper.selectArdAlarmDigitization3List(ardAlarmDigitization3);
    }
    /**
     * æ–°å¢žä¸‰åœºæ•°å­—化报警
     *
     * @param ardAlarmDigitization3 ä¸‰åœºæ•°å­—化报警
     * @return ç»“æžœ
     */
    @Override
    public int insertArdAlarmDigitization3(ArdAlarmDigitization3 ardAlarmDigitization3) {
                ardAlarmDigitization3.setId(IdUtils.simpleUUID());
                ardAlarmDigitization3.setCreateTime(DateUtils.getNowDate());
            return ardAlarmDigitization3Mapper.insertArdAlarmDigitization3(ardAlarmDigitization3);
    }
    /**
     * ä¿®æ”¹ä¸‰åœºæ•°å­—化报警
     *
     * @param ardAlarmDigitization3 ä¸‰åœºæ•°å­—化报警
     * @return ç»“æžœ
     */
    @Override
    public int updateArdAlarmDigitization3(ArdAlarmDigitization3 ardAlarmDigitization3) {
        return ardAlarmDigitization3Mapper.updateArdAlarmDigitization3(ardAlarmDigitization3);
    }
    /**
     * æ‰¹é‡åˆ é™¤ä¸‰åœºæ•°å­—化报警
     *
     * @param ids éœ€è¦åˆ é™¤çš„三场数字化报警主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdAlarmDigitization3ByIds(String[] ids) {
        return ardAlarmDigitization3Mapper.deleteArdAlarmDigitization3ByIds(ids);
    }
    /**
     * åˆ é™¤ä¸‰åœºæ•°å­—化报警信息
     *
     * @param id ä¸‰åœºæ•°å­—化报警主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdAlarmDigitization3ById(String id) {
        return ardAlarmDigitization3Mapper.deleteArdAlarmDigitization3ById(id);
    }
}
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
@@ -7,6 +7,8 @@
import com.ruoyi.alarm.apponekey.mapper.ArdAlarmApponekeyMapper;
import com.ruoyi.alarm.camera.domain.ArdAlarmCamera;
import com.ruoyi.alarm.camera.mapper.ArdAlarmCameraMapper;
import com.ruoyi.alarm.digitization3.domain.ArdAlarmDigitization3;
import com.ruoyi.alarm.digitization3.mapper.ArdAlarmDigitization3Mapper;
import com.ruoyi.alarm.external.domain.ArdAlarmExternal;
import com.ruoyi.alarm.external.mapper.ArdAlarmExternalMapper;
import com.ruoyi.alarm.global.domain.GlobalAlarmCondition;
@@ -16,7 +18,6 @@
import com.ruoyi.alarm.global.service.IGlobalAlarmService;
import com.ruoyi.alarm.radar.domain.*;
import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarFireMapper;
import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMapper;
import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMoveMapper;
import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarPumpMapper;
import com.ruoyi.alarm.steal.domain.ArdAlarmStealelec;
@@ -69,6 +70,8 @@
@Slf4j(topic = "mqtt")
public class GlobalAlarmServiceImpl implements IGlobalAlarmService {
    //region ä¾èµ–注入
    @Resource
    private ArdAlarmDigitization3Mapper ardAlarmDigitization3Mapper;
    @Resource
    private ArdAlarmWallMapper ardAlarmWallMapper;
    @Resource
@@ -148,6 +151,8 @@
        countMap.put("1010", count1010);
        int count1014 = ardAlarmTubeMapper.selectCountByAlarmTime(refreshTime);
        countMap.put("1014", count1014);
        int count1012 = ardAlarmDigitization3Mapper.selectCountByAlarmTime(refreshTime);
        countMap.put("1012", count1012);
        map.put("20000", countMap);
        return map;
    }
@@ -289,6 +294,22 @@
                                    .setLatitude(ardAlarmWall.getLatitude())
                                    .setCount(ardAlarmWall.getCount())
                                    .setTotal(ardAlarmWall.getTotal());
                            return globalAlarmData;
                        }).collect(Collectors.toList());
            case 1012:
                List<ArdAlarmDigitization3> ardAlarmDigitization3s = ardAlarmDigitization3Mapper.selectListAllByCommand(refreshTime);
                return ardAlarmDigitization3s.stream()
                        .map(ardAlarmDigitization3 -> {
                            GlobalAlarmData globalAlarmData = new GlobalAlarmData()
                                    .setId(ardAlarmDigitization3.getId())
                                    .setName(ardAlarmDigitization3.getWellNo())
                                    .setAlarmType(ardAlarmDigitization3.getAlarmType())
                                    .setAlarmTime(ardAlarmDigitization3.getAlarmTime())
                                    .setLongitude(ardAlarmDigitization3.getLongitude())
                                    .setLatitude(ardAlarmDigitization3.getLatitude())
                                    .setAltitude(ardAlarmDigitization3.getAltitude())
                                    .setCount(ardAlarmDigitization3.getCount())
                                    .setTotal(ardAlarmDigitization3.getTotal());
                            return globalAlarmData;
                        }).collect(Collectors.toList());
            case 1014:
@@ -653,6 +674,24 @@
            GlobalAlarmDataList.addAll(alarmData1010);
        }
        List<ArdAlarmDigitization3> ardAlarmDigitization3s = ardAlarmDigitization3Mapper.selectListAllByCommand(refreshTime);
        List<GlobalAlarmData> alarmData1012 = ardAlarmDigitization3s.stream()
                .map(ardAlarmDigitization3 -> {
                    GlobalAlarmData globalAlarmData = new GlobalAlarmData()
                            .setId(ardAlarmDigitization3.getId())
                            .setName(ardAlarmDigitization3.getWellNo())
                            .setAlarmTime(ardAlarmDigitization3.getAlarmTime())
                            .setLongitude(ardAlarmDigitization3.getLongitude())
                            .setLatitude(ardAlarmDigitization3.getLatitude())
                            .setAltitude(ardAlarmDigitization3.getAltitude())
                            .setCount(ardAlarmDigitization3.getCount())
                            .setTotal(ardAlarmDigitization3.getTotal())
                            .setAlarmType("1012");
                    return globalAlarmData;
                }).collect(Collectors.toList());
        if (alarmData1012.size() > 0) {
            GlobalAlarmDataList.addAll(alarmData1012);
        }
        List<ArdAlarmTube> ardAlarmTubes = ardAlarmTubeMapper.selectListAllByCommand(refreshTime);
        List<GlobalAlarmData> alarmData1014 = ardAlarmTubes.stream()
                .map(ardAlarmTube -> {
@@ -747,6 +786,12 @@
                aaw.setPageNum(pageNum);
                aaw.setPageSize(pageSize);
                return ardAlarmWallMapper.selectArdAlarmWallList(aaw);
            case 1012:
                ArdAlarmDigitization3 aad3 = new ArdAlarmDigitization3();
                aad3.setParams(params);
                aad3.setPageNum(pageNum);
                aad3.setPageSize(pageSize);
                return ardAlarmDigitization3Mapper.selectArdAlarmDigitization3List(aad3);
            case 1014:
                ArdAlarmTube aat = new ArdAlarmTube();
                aat.setParams(params);
@@ -842,6 +887,14 @@
                    String alarmTime = fmtms.format(ardAlarmWall.getAlarmTime());
                    ardAlarmWallMapper.updateViewTimeByUserId(userId, alarmTime, DateUtils.getTime());
                    return ardAlarmWall;
                }
            case 1012:
                ArdAlarmDigitization3 ardAlarmDigitization3 = ardAlarmDigitization3Mapper.selectArdAlarmDigitization3ById(condition.getId());
                if (StringUtils.isNotNull(ardAlarmDigitization3)) {
                    String wellNo = ardAlarmDigitization3.getWellNo();
                    String alarmTime = fmtms.format(ardAlarmDigitization3.getAlarmTime());
                    ardAlarmDigitization3Mapper.updateViewTimeByWellNo(wellNo, alarmTime, DateUtils.getTime());
                    return ardAlarmDigitization3;
                }
            case 1014:
                ArdAlarmTube ardAlarmTube = ardAlarmTubeMapper.selectArdAlarmTubeById(condition.getId());
@@ -1006,6 +1059,7 @@
                    radarMoveGuide(ardAlarmRadarMoves, radarAlarmData);
                    radarFireGuide(ardAlarmRadarFires, radarAlarmData);
                    radarPumpGuide(ardAlarmRadarPumps, radarAlarmData);
                    //endregion
                    break;
                case "external":
                    //region å¤„理外联报警
@@ -1072,6 +1126,23 @@
                    int aaak = ardAlarmApponekeyMapper.insertArdAlarmApponekey(ardAlarmApponekey);
                    if (aaak > 0) {
                        log.debug("apponekey入库成功:" + ardAlarmApponekey);
                    }
                    //endregion
                    break;
                case "digitization3":
                    //region ä¸‰åŽ‚æ•°å­—åŒ–æŠ¥è­¦
                    ArdAlarmDigitization3 ardAlarmDigitization3 = JSONObject.parseObject(message, ArdAlarmDigitization3.class);
                    //获取经纬度
                    ArdAlarmpointsWell Well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(ardAlarmDigitization3.getWellNo());
                    if(Well!=null) {
                        ardAlarmDigitization3.setLongitude(Well.getLongitude());
                        ardAlarmDigitization3.setLatitude(Well.getLatitude());
                        ardAlarmDigitization3.setAltitude(Well.getAltitude());
                    }
                    ardAlarmDigitization3.setCreateTime(new Date());
                    int aad = ardAlarmDigitization3Mapper.insertArdAlarmDigitization3(ardAlarmDigitization3);
                    if (aad > 0) {
                        log.debug("digitization3入库成功:" + ardAlarmDigitization3);
                    }
                    //endregion
                    break;
@@ -1205,9 +1276,8 @@
        return minDistanceCameraId;
    }
    /**
     * é›·è¾¾å¼•导入队
     */
    //雷达引导入队(获取相机)
    private void radarGuideToQueue(String alarmId, String radarId, String name, String alarmType, Date createTime, double[] coordinate) {
        int index = name.indexOf("(");
        String alarmpointName = name.substring(0, index);
@@ -1234,8 +1304,7 @@
            log.debug("未获取到报警点关联的光电");
        }
    }
    //雷达移动引导
    private void radarMoveGuide(List<ArdAlarmRadarMove> ardAlarmRadarMoves, RadarAlarmData radarAlarmData) {
        //按兴趣点去重,然后按引导逻辑进行引导入队
        ardAlarmRadarMoves = ardAlarmRadarMoves.stream()
@@ -1288,7 +1357,7 @@
        }
        //endregion
    }
    //雷达防火引导
    private void radarFireGuide(List<ArdAlarmRadarFire> ardAlarmRadarFires, RadarAlarmData radarAlarmData) {
        //按兴趣点去重,然后按引导逻辑进行引导入队
        ardAlarmRadarFires = ardAlarmRadarFires.stream()
@@ -1340,7 +1409,7 @@
        }
        //endregion
    }
    //雷达抽油机停机引导
    private void radarPumpGuide(List<ArdAlarmRadarPump> ardAlarmRadarPumps, RadarAlarmData radarAlarmData) {
        //按兴趣点去重,然后按引导逻辑进行引导入队
        ardAlarmRadarPumps = ardAlarmRadarPumps.stream()
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -87,6 +87,10 @@
        String ip = syURL.split(":")[1].replace("//", "");
        List<ArdSyUser> ardSyUserList = iArdSyUserService.selectSyUser();
        //车辆实时位置线程
        if(ardSyUserList.size()==0)
        {
            return;
        }
        PushClientImplPosition pushClientImplPosition = new PushClientImplPosition(ip,ardSyUserList.get(0).getUserId(),ardSyUserList.get(0).getPassword());
        Thread pushClientImplPositionThread = new Thread(pushClientImplPosition);
        pushClientImplPositionThread.start();
ard-work/src/main/resources/mapper/alarm/ArdAlarmAccessMapper.xml
@@ -31,7 +31,13 @@
    <select id="selectArdAlarmAccessList" parameterType="ArdAlarmAccess" resultMap="ArdAlarmAccessResult">
        <include refid="selectArdAlarmAccessVo"/>
        <where>
        <where>
            <if test="params.beginTime != null and params.beginTime != ''"><!-- å¼€å§‹æ—¶é—´æ£€ç´¢ -->
                AND alarm_time &gt;= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss')
            </if>
            <if test="params.endTime != null and params.endTime != ''"><!-- ç»“束时间检索 -->
                AND alarm_time &lt;= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss')
            </if>
        </where>
        order by alarm_time desc
    </select>
ard-work/src/main/resources/mapper/alarm/ArdAlarmApponekeyMapper.xml
@@ -22,7 +22,13 @@
    <select id="selectArdAlarmApponekeyList" parameterType="ArdAlarmApponekey" resultMap="ArdAlarmApponekeyResult">
        <include refid="selectArdAlarmApponekeyVo"/>
        <where>
        <where>
            <if test="params.beginTime != null and params.beginTime != ''"><!-- å¼€å§‹æ—¶é—´æ£€ç´¢ -->
                AND alarm_time &gt;= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss')
            </if>
            <if test="params.endTime != null and params.endTime != ''"><!-- ç»“束时间检索 -->
                AND alarm_time &lt;= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss')
            </if>
        </where>
        order by create_time desc
    </select>
ard-work/src/main/resources/mapper/alarm/ArdAlarmDigitization3Mapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,153 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.alarm.digitization3.mapper.ArdAlarmDigitization3Mapper">
    <resultMap type="ArdAlarmDigitization3" id="ArdAlarmDigitization3Result">
        <result property="id"    column="id"    />
        <result property="xmmc"    column="xmmc"    />
        <result property="fKey"    column="f_key"    />
        <result property="fName"    column="f_name"    />
        <result property="wellNo"    column="well_no"    />
        <result property="alarmTime"    column="alarm_time"    />
        <result property="alarmType"    column="alarm_type"    />
        <result property="longitude"    column="longitude"    />
        <result property="latitude"    column="latitude"    />
        <result property="altitude"    column="altitude"    />
        <result property="createTime"    column="create_time"    />
        <result property="viewTime"    column="view_time"    />
    </resultMap>
    <sql id="selectArdAlarmDigitization3Vo">
        select id, xmmc, f_key, f_name, well_no, alarm_time, alarm_type, longitude, latitude, altitude, create_time, view_time from ard_alarm_digitization3
    </sql>
    <select id="selectArdAlarmDigitization3List" parameterType="ArdAlarmDigitization3" resultMap="ArdAlarmDigitization3Result">
        <include refid="selectArdAlarmDigitization3Vo"/>
        <where>
            <if test="xmmc != null  and xmmc != ''"> and xmmc = #{xmmc}</if>
            <if test="fKey != null  and fKey != ''"> and f_key = #{fKey}</if>
            <if test="fName != null  and fName != ''"> and f_name like '%'||#{fName}||'%'</if>
            <if test="wellNo != null  and wellNo != ''"> and well_no = #{wellNo}</if>
<!--  <if test="alarmTime != null "> and alarm_time = #{alarmTime}</if>-->
            <if test="params.beginTime != null and params.beginTime != ''"><!-- å¼€å§‹æ—¶é—´æ£€ç´¢ -->
                AND alarm_time &gt;= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss')
            </if>
            <if test="params.endTime != null and params.endTime != ''"><!-- ç»“束时间检索 -->
                AND alarm_time &lt;= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss')
            </if>
            <if test="alarmType != null  and alarmType != ''"> and alarm_type = #{alarmType}</if>
            <if test="longitude != null "> and longitude = #{longitude}</if>
            <if test="latitude != null "> and latitude = #{latitude}</if>
            <if test="altitude != null "> and altitude = #{altitude}</if>
            <if test="viewTime != null "> and view_time = #{viewTime}</if>
        </where>
    </select>
    <select id="selectArdAlarmDigitization3ById" parameterType="String" resultMap="ArdAlarmDigitization3Result">
        <include refid="selectArdAlarmDigitization3Vo"/>
        where id = #{id}
    </select>
    <insert id="insertArdAlarmDigitization3" parameterType="ArdAlarmDigitization3">
        insert into ard_alarm_digitization3
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="xmmc != null">xmmc,</if>
            <if test="fKey != null">f_key,</if>
            <if test="fName != null">f_name,</if>
            <if test="wellNo != null">well_no,</if>
            <if test="alarmTime != null">alarm_time,</if>
            <if test="alarmType != null">alarm_type,</if>
            <if test="longitude != null">longitude,</if>
            <if test="latitude != null">latitude,</if>
            <if test="altitude != null">altitude,</if>
            <if test="createTime != null">create_time,</if>
            <if test="viewTime != null">view_time,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="xmmc != null">#{xmmc},</if>
            <if test="fKey != null">#{fKey},</if>
            <if test="fName != null">#{fName},</if>
            <if test="wellNo != null">#{wellNo},</if>
            <if test="alarmTime != null">#{alarmTime},</if>
            <if test="alarmType != null">#{alarmType},</if>
            <if test="longitude != null">#{longitude},</if>
            <if test="latitude != null">#{latitude},</if>
            <if test="altitude != null">#{altitude},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="viewTime != null">#{viewTime},</if>
         </trim>
        ON conflict(id)  DO NOTHING;
    </insert>
    <update id="updateArdAlarmDigitization3" parameterType="ArdAlarmDigitization3">
        update ard_alarm_digitization3
        <trim prefix="SET" suffixOverrides=",">
            <if test="xmmc != null">xmmc = #{xmmc},</if>
            <if test="fKey != null">f_key = #{fKey},</if>
            <if test="fName != null">f_name = #{fName},</if>
            <if test="wellNo != null">well_no = #{wellNo},</if>
            <if test="alarmTime != null">alarm_time = #{alarmTime},</if>
            <if test="alarmType != null">alarm_type = #{alarmType},</if>
            <if test="longitude != null">longitude = #{longitude},</if>
            <if test="latitude != null">latitude = #{latitude},</if>
            <if test="altitude != null">altitude = #{altitude},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="viewTime != null">view_time = #{viewTime},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteArdAlarmDigitization3ById" parameterType="String">
        delete from ard_alarm_digitization3 where id = #{id}
    </delete>
    <delete id="deleteArdAlarmDigitization3ByIds" parameterType="String">
        delete from ard_alarm_digitization3 where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
    <select id="selectListAllByCommand" resultMap="ArdAlarmDigitization3Result">
        SELECT T
                   .*
        FROM
            (
                SELECT
                    aad.ID,
                    aad.well_no,
                    aad.alarm_type,
                    aad.alarm_time,
                    aad.longitude,
                    aad.latitude,
                    aad.altitude,
                    ROW_NUMBER () OVER ( PARTITION BY aad.well_no ORDER BY aad.alarm_time DESC ) AS rn,
                        COUNT ( CASE WHEN aad.view_time IS NULL THEN 1 END ) OVER ( PARTITION BY aad.well_no ) AS COUNT,
        COUNT ( aad.alarm_time ) OVER ( PARTITION BY aad.well_no ) AS total
                FROM
                    ard_alarm_digitization3 aad
                WHERE
                    aad.alarm_time >= ( CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE )
                ORDER BY
                    aad.alarm_time DESC
            ) T
        WHERE
            T.rn = 1
    </select>
    <select id="selectCountByAlarmTime" resultType="Integer">
        SELECT COUNT(DISTINCT aat.id)
        FROM ard_alarm_digitization3 aat
        WHERE aat.alarm_time >= CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE
          and aat.view_time is null
    </select>
    <update id="updateViewTimeByWellNo" parameterType="String">
        update ard_alarm_digitization3
        set view_time=#{viewTime}
        where well_no = #{wellNo}
          and alarm_time &lt;= #{alarmTime}
          and view_time is null
    </update>
</mapper>
ard-work/src/main/resources/mapper/alarm/ArdAlarmWallMapper.xml
@@ -44,10 +44,16 @@
            <if test="wallName != null  and wallName != ''">and wall_name = #{wallName}</if>
            <if test="userId != null  and userId != ''">and user_id = #{userId}</if>
            <if test="alarmType != null  and alarmType != ''">and alarm_type = #{alarmType}</if>
            <if test="alarmTime != null ">and alarm_time = #{alarmTime}</if>
<!--            <if test="alarmTime != null ">and alarm_time = #{alarmTime}</if>-->
            <if test="longitude != null ">and longitude = #{longitude}</if>
            <if test="latitude != null ">and latitude = #{latitude}</if>
            <if test="altitude != null ">and altitude = #{altitude}</if>
            <if test="params.beginTime != null and params.beginTime != ''"><!-- å¼€å§‹æ—¶é—´æ£€ç´¢ -->
                AND alarm_time &gt;= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss')
            </if>
            <if test="params.endTime != null and params.endTime != ''"><!-- ç»“束时间检索 -->
                AND alarm_time &lt;= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss')
            </if>
        </where>
        order by alarm_time desc
    </select>