aijinhui
2024-02-23 2df696b07d0ffdf7829d4d9cd3da23162dec8799
更新
已修改5个文件
120 ■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/alarmpoints/well/mapper/ArdAlarmpointsWellMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarmpoints/well/mapper/ArdAlarmpointsWellMapper.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo;
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellParam;
import com.ruoyi.common.annotation.DataScope;
@@ -22,6 +23,8 @@
     * @return 井管理
     */
    public ArdAlarmpointsWell selectArdAlarmpointsWellById(String id);
    /**
     * 查询井管理
@@ -98,4 +101,6 @@
    List<ArdAlarmpointsWellDeptVo> wellListDept(List<Long> deptList);
    List<ArdAlarmpointsWell> conditionList(ArdAlarmpointsWellParam ardAlarmpointsWellParam);
}
ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java
@@ -291,21 +291,14 @@
        Integer pageNum = ardAlarmpointsWellParam.getPageNum();
        Integer pageSize = ardAlarmpointsWellParam.getPageSize();
        PageHelper.startPage(pageNum, pageSize);
        QueryWrapper<ArdAlarmpointsWell> queryWrapper = new QueryWrapper<>();
        queryWrapper.in("dept_id", ardAlarmpointsWellParam.getDeptList())
                .like(!StringUtils.isBlank(ardAlarmpointsWellParam.getWellId()), "well_id", ardAlarmpointsWellParam.getWellId());
//        .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getWellNumber()),"well_number",ardAlarmpointsWellParam.getWellNumber())
//        .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getOilProduction()),"oil_production",ardAlarmpointsWellParam.getOilProduction())
//        .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getWellBlock()),"well_block",ardAlarmpointsWellParam.getWellBlock())
//        .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getDisplacementMode()),"displacement_mode",ardAlarmpointsWellParam.getDisplacementMode())
//        .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getSurroundingEnvironment()),"surrounding_environment",ardAlarmpointsWellParam.getSurroundingEnvironment())
//        .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getWellType()),"well_type",ardAlarmpointsWellParam.getWellType())
//        .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getInstalledLoad()),"installed_load",ardAlarmpointsWellParam.getInstalledLoad())
//        .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getMeteringStation()),"metering_station",ardAlarmpointsWellParam.getMeteringStation())
//        .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getTransferStation()),"transfer_station",ardAlarmpointsWellParam.getTransferStation())
//        .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getDehydrationStation()),"dehydration_station",ardAlarmpointsWellParam.getDehydrationStation())
//        .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getRunStatus()),"run_status",ardAlarmpointsWellParam.getRunStatus());
        List<ArdAlarmpointsWell> list = ardAlarmpointsWellMapper.selectList(queryWrapper);
//        QueryWrapper<ArdAlarmpointsWell> queryWrapper = new QueryWrapper<>();
//        queryWrapper.select("id","altitude","metering_station","displacement_mode","latitude","dehydration_station",
//                "well_type","production_date","well_id","transfer_station","oil_production","run_status","longitude",
//                "installed_load","dept_id","user_id","surrounding_environment","well_number","well_block")
//                .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getWellId()), "well_id", ardAlarmpointsWellParam.getWellId())
//                .in("dept_id", ardAlarmpointsWellParam.getDeptList());
//        List<ArdAlarmpointsWell> list = ardAlarmpointsWellMapper.selectList(queryWrapper);
        List<ArdAlarmpointsWell> list = ardAlarmpointsWellMapper.conditionList(ardAlarmpointsWellParam);
        return new PageInfo<>(list);
    }
ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
@@ -177,42 +177,7 @@
                            }
                        }
                        //车辆有值优先判断是否为手动添加车辆
                        if(ardAccessFence.getIsAlarm()==1){
                            //1为手动添加车辆无需报警信息,更新位置即可
                            ardAccessFence.setLng(lng);
                            ardAccessFence.setLat(lat);
                            ardAccessFenceService.updAccess(ardAccessFence);
                        }else if(ardAccessFence.getIsAlarm() == 2){
                            //2为手动添加报警车辆有报警,所在围栏名称赋null,排查报警信息,只需处理路上情况
                            ardAccessFence.setNowWallName(null);
                            //如果在路上判断坐标是否与上次一样
                            if(ardAccessFence.getLng().equals(lng) && ardAccessFence.getLat().equals(lat)){
                                if(timeType){
                                    Date nowTime = sdf.parse(time);
                                    Date lastTime = sdf.parse(ardAccessFence.getLastTime());
                                    Long diff = (nowTime.getTime() - lastTime.getTime())/1000;
                                    ArdAccessNum list = accessNumService.queryNum();
                                    if(list!=null){
                                        int alarm = list.getAlarm();
                                        if(diff>=alarm){
                                            //报警字段为1提示报警
                                            ardAccessFence.setIsWarning(1);
                                            ardAccessFence.setAlarmLat(lat);
                                            ardAccessFence.setAlarmLng(lng);
                                            ardAccessFenceService.updAccess(ardAccessFence);
                                        }
                                    }
                                }else {
                                    log.debug(carId+"号车定位时间为空");
                                }
                            }else {
                                //如果不一样更新坐标
                                ardAccessFence.setLat(lat);
                                ardAccessFence.setLng(lng);
                                ardAccessFence.setLastTime(time);
                                ardAccessFenceService.updAccess(ardAccessFence);
                            }
                        }else if(ardAccessFence.getIsAlarm() == 0 || ardAccessFence.getIsAlarm() == null){
                        if(ardAccessFence.getIsAlarm() == 0 || ardAccessFence.getIsAlarm() == null){
                            //车辆非手动添加数据,判断是否有进入围栏ID
                            if(ardAccessFence.getIntoShipmentId()==null){
                                //没有进入装油点,赋值经纬度
@@ -368,6 +333,42 @@
                                    }
                                }
                            }
                        }else
                        if(ardAccessFence.getIsAlarm()==1){
                            //1为手动添加车辆无需报警信息,更新位置即可
                            ardAccessFence.setLng(lng);
                            ardAccessFence.setLat(lat);
                            ardAccessFenceService.updAccess(ardAccessFence);
                        }else if(ardAccessFence.getIsAlarm() == 2){
                            //2为手动添加报警车辆有报警,所在围栏名称赋null,排查报警信息,只需处理路上情况
                            ardAccessFence.setNowWallName(null);
                            //如果在路上判断坐标是否与上次一样
                            if(ardAccessFence.getLng().equals(lng) && ardAccessFence.getLat().equals(lat)){
                                if(timeType){
                                    Date nowTime = sdf.parse(time);
                                    Date lastTime = sdf.parse(ardAccessFence.getLastTime());
                                    Long diff = (nowTime.getTime() - lastTime.getTime())/1000;
                                    ArdAccessNum list = accessNumService.queryNum();
                                    if(list!=null){
                                        int alarm = list.getAlarm();
                                        if(diff>=alarm){
                                            //报警字段为1提示报警
                                            ardAccessFence.setIsWarning(1);
                                            ardAccessFence.setAlarmLat(lat);
                                            ardAccessFence.setAlarmLng(lng);
                                            ardAccessFenceService.updAccess(ardAccessFence);
                                        }
                                    }
                                }else {
                                    log.debug(carId+"号车定位时间为空");
                                }
                            }else {
                                //如果不一样更新坐标
                                ardAccessFence.setLat(lat);
                                ardAccessFence.setLng(lng);
                                ardAccessFence.setLastTime(time);
                                ardAccessFenceService.updAccess(ardAccessFence);
                            }
                        }
                    }
                    //清淤结束------------
ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java
@@ -38,13 +38,13 @@
     */
    @Override
    public void connectionLost(Throwable cause) {
        log.info("MQTT连接断开,发起重连......");
//        log.info("MQTT连接断开,发起重连......");
        while (!client.isConnected()) {
            try {
                Thread.sleep(10000);
                if (null != client && !client.isConnected()) {
                    client.reconnect();
                    log.error("尝试重新连接");
//                    log.error("尝试重新连接");
                } else {
                    client.connect(options);
                    log.error("尝试建立新连接");
@@ -112,8 +112,8 @@
            if (null != topic && null != qos) {
                if (client.isConnected()) {
                    client.subscribe(topic, qos);
                    log.info("mqtt连接成功" );
                    log.info("订阅主题:" + Arrays.toString(topic));
//                    log.info("mqtt连接成功" );
//                    log.info("订阅主题:" + Arrays.toString(topic));
                } else {
                    log.info("mqtt连接失败");
                }
ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
@@ -258,4 +258,15 @@
            #{item}
        </foreach>
    </select>
    <select id="conditionList" parameterType="List"
            resultType="com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo">
        Select * from ard_alarmpoints_well well
        where WHERE well.well_id = #{wellId}
        and well.dept_id in
        <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
            #{item}
        </foreach>
    </select>
</mapper>