zhangnaisong
2024-08-09 7e2382e701604e97f775dca55dc00cee7c5da053
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankAbnormalParkAlarmServiceImpl.java
@@ -11,16 +11,13 @@
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.sy.domain.ArdSyCar;
import com.ruoyi.sy.domain.ArdTankLoadLog;
import com.ruoyi.sy.domain.ArdTankWall;
import com.ruoyi.sy.domain.*;
import com.ruoyi.sy.gps31.PositionContainer;
import com.ruoyi.sy.mapper.ArdSyCarMapper;
import com.ruoyi.sy.mapper.ArdTankLoadLogMapper;
import com.ruoyi.sy.mapper.ArdTankWallMapper;
import com.ruoyi.sy.mapper.*;
import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.utils.gis.GisUtil;
import com.ruoyi.utils.gps.GeoTools;
import com.ruoyi.utils.websocket.util.WebSocketUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -28,8 +25,6 @@
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.sy.mapper.ArdTankAbnormalParkAlarmMapper;
import com.ruoyi.sy.domain.ArdTankAbnormalParkAlarm;
import com.ruoyi.sy.service.IArdTankAbnormalParkAlarmService;
import javax.annotation.Resource;
@@ -61,6 +56,9 @@
    @Resource
    private SysUserMapper sysUserMapper;
    @Resource
    private ArdTankWallTemporaryMapper ardTankWallTemporaryMapper;
    @Resource
    private ArdTankLoadLogMapper ardTankLoadLogMapper;
@@ -262,6 +260,26 @@
                }
            }
            //临时电子围栏
            List<ArdTankWallTemporary> ardTankWallTemporaryList = ardTankWallTemporaryMapper.getArdTankWallTemporaryByCarId((String) gpsMap.get("carId"));
            if(!ardTankWallTemporaryList.isEmpty()){
                for(ArdTankWallTemporary ardTankWallTemporary : ardTankWallTemporaryList){
                    Double longitude = ardTankWallTemporary.getLongitude();
                    Double latitude = ardTankWallTemporary.getLatitude();
                    Integer distance = ardTankWallTemporary.getDistance();
                    Double[] From = new Double[]{longitude,latitude};
                    Double[] To = new Double[]{((Number) gpsMap.get("lng")).doubleValue(),((Number) gpsMap.get("lat")).doubleValue()};
                    Number realDistance = GisUtil.getDistance(From,To);
                    if(realDistance.intValue() <= distance) {//实际距离小于半径
                        PositionContainer.getTankCarParkingAlarmTHread().remove((String)gpsMap.get("carId"));
                        return ardTankLoadLogMapper.deleteArdTankLoadLogByCarId((String)gpsMap.get("carId"));//进入临时电子围栏就删除装油记录
                    }
                }
            }
            for(ArdTankWall ardTankWall : unloadOilOrGarageArdTankWallResult){//在任意卸油点或车库电子围栏内
                pts.clear();
                String[] wallpoiArro = ardTankWall.getWallPoi().split(",");
@@ -375,9 +393,14 @@
        return ardTankAbnormalParkAlarmMapper.deleteArdTankAbnormalParkAlarmById(id);
    }
    /*@Override
    @Override
    public int deleteArdTankAbnormalParkAlarmByEndTime() {
        int result = ardTankAbnormalParkAlarmMapper.deleteArdTankAbnormalParkAlarmByEndTime();
        return result;
    }*/
        try{
            return result;
        }finally {
            ardTankLoadLogMapper.deleteArdTankLoadLogByEndTime();
        }
    }
}