| | |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.domain.entity.SysConfig; |
| | | import com.ruoyi.common.utils.uuid.IdUtils; |
| | | import com.ruoyi.sy.domain.ArdSyUser; |
| | | import com.ruoyi.sy.domain.ArdTankLock; |
| | | import com.ruoyi.sy.domain.ArdTankWall; |
| | | import com.ruoyi.sy.domain.*; |
| | | import com.ruoyi.sy.gps31.PositionContainer; |
| | | import com.ruoyi.sy.mapper.ArdSyUserMapper; |
| | | import com.ruoyi.sy.mapper.ArdTankLockMapper; |
| | | import com.ruoyi.sy.mapper.ArdTankWallMapper; |
| | | import com.ruoyi.sy.mapper.*; |
| | | import com.ruoyi.system.mapper.SysConfigMapper; |
| | | import com.ruoyi.utils.forest.SYClient; |
| | | import com.ruoyi.utils.gis.GisUtil; |
| | | import com.ruoyi.utils.gps.GeoTools; |
| | | import okhttp3.OkHttpClient; |
| | | import okhttp3.Request; |
| | |
| | | |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.sy.mapper.ArdTankLockProcessLogMapper; |
| | | import com.ruoyi.sy.domain.ArdTankLockProcessLog; |
| | | import com.ruoyi.sy.service.IArdTankLockProcessLogService; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | private ArdTankLockMapper ardTankLockMapper; |
| | | |
| | | @Resource |
| | | private ArdTankWallTemporaryMapper ardTankWallTemporaryMapper; |
| | | |
| | | @Resource |
| | | private SYClient sYClient; |
| | | |
| | | private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | |
| | | private Map<String,Timer> timerMap = new HashMap(); |
| | | |
| | | /** |
| | | * 查询罐车锁操控日志 |
| | |
| | | }else{ |
| | | return AjaxResult.error("三一平台报错"); |
| | | } |
| | | //挂接了临时电子围栏 |
| | | List<ArdTankWallTemporary> ardTankWallTemporaryList = ardTankWallTemporaryMapper.getArdTankWallTemporaryByCarId((String) para.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[]{Double.valueOf(lng),Double.valueOf(lat)}; |
| | | Number realDistance = GisUtil.getDistance(From,To); |
| | | if(realDistance.intValue() <= distance){//实际距离小于半径 |
| | | return AjaxResult.error("当前车辆正处在" + ardTankWallTemporary.getWallName() + "中"); |
| | | } |
| | | } |
| | | return AjaxResult.error("当前车辆正处在临时电子围栏外"); |
| | | } |
| | | |
| | | List<ArdTankWall> ardTankWallList = ardTankWallMapper.getArdTankWallProcessByLockId(lockId);//查询锁挂接的全部需要动作的电子围栏 |
| | | if(!ardTankWallList.isEmpty()){//挂接了动作电子围栏 |