| | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.uuid.IdUtils; |
| | |
| | | String time = map.get("time"); |
| | | return ardSyCarService.getExistTraceByCarIdAndMonth(userId,carId,time); |
| | | } |
| | | |
| | | @GetMapping("getCarPicture") |
| | | @ApiOperation("清淤获取照片") |
| | | public AjaxResult getCarNearPositionByCarId(String carId){ |
| | | String usersId = SecurityUtils.getUserId(); |
| | | ArdSyUser ardSyUser = iArdSyUserService.userById(usersId); |
| | | String syURL = sysConfigService.getSYURL(); |
| | | Map<String, Object> result = ardSyCarService.getCarPicture(carId,syURL,ardSyUser); |
| | | String vs = ""; |
| | | try { |
| | | Map<String,Object> map = ((List<Map<String,Object>>)result.get("list")).get(0); |
| | | Map<String, Object> videos = (Map<String, Object>) JSON.parse((String) map.get("videos")); |
| | | vs = (String) videos.get("vs"); |
| | | } catch (Exception e) { |
| | | return AjaxResult.error("该车辆没有摄像通道无照片数据!"); |
| | | } |
| | | return AjaxResult.success(vs); |
| | | } |
| | | } |
| | |
| | | return Results.succeed("成功修改"+ardSyCarLockService.updRtuCar(ardSyCarRtu)+"条数据"); |
| | | } |
| | | |
| | | @GetMapping("/queryCar") |
| | | @ApiOperation("清淤手动添加车辆查询") |
| | | public AjaxResult queryCar(){ |
| | | List<ArdAccessFence> ardAccessFences = ardAccessFenceService.all(); |
| | | List<String> carIdList = new ArrayList<>(); |
| | | for (int i = 0; i < ardAccessFences.size(); i++) { |
| | | String carId = ardAccessFences.get(i).getCarId(); |
| | | carIdList.add(carId); |
| | | } |
| | | List<CarVo> list = ardSyCarLockService.queryCar(carIdList); |
| | | analysis(list); |
| | | return AjaxResult.success(list); |
| | | } |
| | | |
| | | @PostMapping("/addCar") |
| | | @ApiOperation("清淤手动添加车辆保存") |
| | | public AjaxResult addCar(String carId){ |
| | | List<CarVo> list = ardSyCarLockService.addCarBefore(carId); |
| | | analysis(list); |
| | | if(list.size()>0){ |
| | | return AjaxResult.success(ardAccessFenceService.addCar(list.get(0))); |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | @DeleteMapping("/delCar") |
| | | @ApiOperation("清淤手动添加车辆删除") |
| | | public AjaxResult delCar(String id){ |
| | | return AjaxResult.success(ardAccessFenceService.delCar(id)); |
| | | } |
| | | |
| | | @PutMapping("/addCar") |
| | | @ApiOperation("清空报警") |
| | | public AjaxResult updCarAlarm(String id){ |
| | | return AjaxResult.success(ardAccessFenceService.updCarAlarm(id)); |
| | | } |
| | | |
| | | //获取31车辆车牌号驾驶员和电话 |
| | | public List<CarVo> analysis(List<CarVo> list){ |
| | | String usersId = SecurityUtils.getUserId(); |
| | | ArdSyUser ardSyUser = iArdSyUserService.userById(usersId); |
| | |
| | | return list; |
| | | } |
| | | |
| | | @GetMapping("/addCar") |
| | | @ApiOperation("清淤手动添加车辆查询") |
| | | public AjaxResult queryCar(){ |
| | | List<ArdAccessFence> ardAccessFences = ardAccessFenceService.all(); |
| | | List<String> carIdList = new ArrayList<>(); |
| | | for (int i = 0; i < ardAccessFences.size(); i++) { |
| | | String carId = ardAccessFences.get(i).getCarId(); |
| | | carIdList.add(carId); |
| | | } |
| | | List<CarVo> list = ardSyCarLockService.queryCar(carIdList); |
| | | analysis(list); |
| | | return AjaxResult.success(list); |
| | | } |
| | | |
| | | @PostMapping("/addCar") |
| | | @ApiOperation("清淤手动添加车辆保存") |
| | | public AjaxResult queryCar(@RequestBody CarVo carVo){ |
| | | return AjaxResult.success(ardAccessFenceService.addCar(carVo)); |
| | | } |
| | | } |
| | |
| | | @PostMapping("/updTime") |
| | | @ApiOperation("保存时间步长") |
| | | public AjaxResult updTime(@RequestBody ArdAccessNum ardAccessNum){ |
| | | return AjaxResult.success(ardAccessNumService.add(ardAccessNum)); |
| | | return AjaxResult.success(ardAccessNumService.upd(ardAccessNum)); |
| | | } |
| | | |
| | | } |
| | |
| | | private String outShipmentId; |
| | | private String outShipmentTime; |
| | | private String lastTime; |
| | | private String isWarning; |
| | | private Integer isWarning; |
| | | private String nowWallName; |
| | | private String alarmLng; |
| | | private String alarmLat; |
| | | private String carModel; |
| | | } |
| | |
| | | */ |
| | | @Data |
| | | public class ArdAccessNum { |
| | | private int carousel; |
| | | private int call; |
| | | private int alarm; |
| | | private int carousel = 0; |
| | | private int call = 0; |
| | | private int alarm = 0; |
| | | } |
| | |
| | | String time = (String) gpsMap.get("result");//定位时间 |
| | | String deptNum = (String) result.get("deptId").toString();//获取部门ID |
| | | String deptName = (String) result.get("deptName");//获取部门名称 |
| | | String carModel = (String) result.get("carModel");//获取车辆模型 |
| | | //定义2维空间 |
| | | Point2D.Double point = new Point2D.Double(Double.parseDouble(lng), Double.parseDouble(lat)); |
| | | List<Point2D.Double> pts = new ArrayList<Point2D.Double>(); |
| | |
| | | ardAccessFence1.setLat(lat); |
| | | ardAccessFence1.setLastTime(time); |
| | | ardAccessFence1.setNowWallName(ardOilWall.getName()); |
| | | ardAccessFence1.setCarModel(carModel); |
| | | ardAccessFence1.setIsWarning(0); |
| | | ((ArdAccessFenceServiceImpl)SpringUtils.getBean("ArdAccessFenceServiceImpl")).access(ardAccessFence1); |
| | | break; |
| | | } |
| | |
| | | } |
| | | } |
| | | if(isRoad){ |
| | | ardAccessFence.setNowWallName(null); |
| | | //如果在路上判断坐标是否与上次一样 |
| | | if(ardAccessFence.getLng().equals(lng) && ardAccessFence.getLat().equals(lat)){ |
| | | //如果坐标一样时间相减 |
| | |
| | | Date nowTime = sdf.parse(time); |
| | | Date lastTime = sdf.parse(ardAccessFence.getLastTime()); |
| | | Long diff = (nowTime.getTime() - lastTime.getTime())/1000; |
| | | List<ArdAccessNum> list = ((ArdAccessNumServiceImpl) SpringUtils.getBean("ArdAccessNumServiceImpl")).queryNum(); |
| | | if(list.size()>0){ |
| | | int alarm = list.get(0).getAlarm(); |
| | | ArdAccessNum list = ((ArdAccessNumServiceImpl) SpringUtils.getBean("ArdAccessNumServiceImpl")).queryNum(); |
| | | if(list==null){ |
| | | int alarm = list.getAlarm(); |
| | | if(diff>=alarm){ |
| | | ardAccessFence.setIsWarning("1"); |
| | | ardAccessFence.setIsWarning(1); |
| | | ardAccessFence.setAlarmLat(lat); |
| | | ardAccessFence.setAlarmLng(lng); |
| | | ((ArdAccessFenceServiceImpl) SpringUtils.getBean("ArdAccessFenceServiceImpl")).updAccess(ardAccessFence); |
| | |
| | | package com.ruoyi.sy.service; |
| | | |
| | | import com.ruoyi.sy.domain.ArdAccessFence; |
| | | import com.ruoyi.sy.domain.ArdSyCar; |
| | | import com.ruoyi.sy.param.OilWallParam; |
| | | import com.ruoyi.sy.vo.CarVo; |
| | | |
| | |
| | | |
| | | List<ArdAccessFence> all(); |
| | | |
| | | int delCar(String id); |
| | | |
| | | int updCarAlarm(String id); |
| | | |
| | | int addCar(CarVo carVo); |
| | | } |
| | |
| | | |
| | | public interface ArdAccessNumService { |
| | | |
| | | List<ArdAccessNum> queryNum(); |
| | | ArdAccessNum queryNum(); |
| | | |
| | | int add(ArdAccessNum ardAccessNum); |
| | | int upd(ArdAccessNum ardAccessNum); |
| | | } |
| | |
| | | package com.ruoyi.sy.service; |
| | | |
| | | import com.ruoyi.sy.domain.ArdAccessFence; |
| | | import com.ruoyi.sy.domain.ArdSyCar; |
| | | import com.ruoyi.sy.domain.ArdSyCarLock; |
| | | import com.ruoyi.sy.domain.ArdSyCarRtu; |
| | | import com.ruoyi.sy.vo.CarLockVo; |
| | |
| | | |
| | | List<CarVo> queryCar(List<String> list); |
| | | |
| | | List<CarVo> addCarBefore(String id); |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | Results getCarGPSBycarId(String usersId, String carId, String syURL, ArdSyUser ardSyUser); |
| | | |
| | | Map<String, Object> getCarPicture(String carId, String syURL, ArdSyUser ardSyUser); |
| | | |
| | | /** |
| | | * 根据用户及车辆主键追踪车辆 |
| | | */ |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.ruoyi.sy.domain.ArdAccessFence; |
| | | import com.ruoyi.sy.domain.ArdSyCar; |
| | | import com.ruoyi.sy.mapper.ArdAccessFenceMapper; |
| | | import com.ruoyi.sy.mapper.ArdSyCarMapper; |
| | | import com.ruoyi.sy.param.OilWallParam; |
| | | import com.ruoyi.sy.service.ArdAccessFenceService; |
| | | import com.ruoyi.sy.vo.CarVo; |
| | |
| | | |
| | | @Autowired |
| | | private ArdAccessFenceMapper ardAccessFenceMapper; |
| | | @Autowired |
| | | private ArdSyCarMapper carMapper; |
| | | |
| | | @Override |
| | | public int access(ArdAccessFence ardAccessFence) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public int delCar(String id) { |
| | | return ardAccessFenceMapper.deleteById(id); |
| | | } |
| | | |
| | | @Override |
| | | public int updCarAlarm(String id) { |
| | | ArdAccessFence ardAccessFence = ardAccessFenceMapper.selectById(id); |
| | | ardAccessFence.setIsWarning(0); |
| | | return ardAccessFenceMapper.updateById(ardAccessFence); |
| | | } |
| | | |
| | | @Override |
| | | public int addCar(CarVo carVo) { |
| | | ArdAccessFence ardAccessFence = new ArdAccessFence(); |
| | | ardAccessFence.setId(String.valueOf(UUID.randomUUID())); |
| | |
| | | ardAccessFence.setCarName(carVo.getCarPlate()); |
| | | ardAccessFence.setDeptId(carVo.getDeptId()); |
| | | ardAccessFence.setDeptName(carVo.getDeptName()); |
| | | ardAccessFence.setCarModel(carVo.getCarModel()); |
| | | ardAccessFence.setIsWarning(0); |
| | | return ardAccessFenceMapper.insert(ardAccessFence); |
| | | } |
| | | |
| | |
| | | private ArdAccessNumMapper ardAccessNumMapper; |
| | | |
| | | @Override |
| | | public List<ArdAccessNum> queryNum() { |
| | | return ardAccessNumMapper.selectList(null); |
| | | public ArdAccessNum queryNum() { |
| | | List<ArdAccessNum> list = ardAccessNumMapper.selectList(null); |
| | | if(list.size()>0){ |
| | | return list.get(0); |
| | | }else { |
| | | ArdAccessNum ardAccessNum = new ArdAccessNum(); |
| | | return ardAccessNum; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public int add(ArdAccessNum ardAccessNum) { |
| | | return ardAccessNumMapper.insert(ardAccessNum); |
| | | public int upd(ArdAccessNum ardAccessNum) { |
| | | return ardAccessNumMapper.update(ardAccessNum,null); |
| | | } |
| | | } |
| | |
| | | @Override |
| | | public List<CarVo> queryCar(List<String> list) { |
| | | QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.ne("reserved_1","").ne("car_id",list); |
| | | queryWrapper.ne("reserved_1","").notIn("car_id",list); |
| | | List<ArdSyCar> ardSyCars = ardSyCarMapper.selectList(queryWrapper); |
| | | return carAnalysis(ardSyCars); |
| | | } |
| | | |
| | | @Override |
| | | public List<CarVo> addCarBefore(String id) { |
| | | QueryWrapper<ArdSyCar> ardSyCarQueryWrapper = new QueryWrapper<>(); |
| | | ardSyCarQueryWrapper.eq("car_id",id); |
| | | List<ArdSyCar> carList = ardSyCarMapper.selectList(ardSyCarQueryWrapper); |
| | | return carAnalysis(carList); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | //车辆列表封装 |
| | | public List<CarVo> carAnalysis(List<ArdSyCar> ardSyCars){ |
| | | List<CarVo> list = new ArrayList<>(); |
| | | for (int i = 0; i < ardSyCars.size(); i++) { |
| | |
| | | SysDept sysDept = sysDeptMapper.selectById(ardSyCar.getDeptId()); |
| | | carVo.setDeptName(sysDept.getDeptName()); |
| | | carVo.setRtu(ardSyCar.getReserved1()); |
| | | carVo.setCarModel(ardSyCar.getCarModel()); |
| | | list.add(carVo); |
| | | } |
| | | return list; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> getCarPicture(String carId, String syURL, ArdSyUser ardSyUser) { |
| | | //31用户名密码 |
| | | String username31 = ardSyUser.getUserId(); |
| | | String password31 = ardSyUser.getPassword(); |
| | | String passwordMd5 = DigestUtils.md5Hex(password31); |
| | | Map<String, Object> result1 = sYClient.logIn(syURL, passwordMd5, username31); |
| | | Map<String, Object> result0 = new HashMap(); |
| | | result0 = sYClient.getCarPicture(syURL, carId, (String) result1.get("sessionId")); |
| | | return result0; |
| | | } |
| | | |
| | | @Override |
| | | public Results chaseCarByCarId(String usersId, String carId, String cycle) { |
| | | try { |
| | | /*Map<String,Map<String,Object>> map = new HashMap(); |
| | |
| | | public class CarVo { |
| | | private String carId; |
| | | private String carPlate; |
| | | private String carModel; |
| | | private String drvName; |
| | | private String drvPhone; |
| | | private String carType; |
| | |
| | | @Get(url = "${syURL}/gps-web/api/get_gps_r.jsp?teamId=&carIds=${carId}&simple=false&userId=${userId}&loginType=user&loginWay=interface&loginLang=zh_CN&appDevId=&appId=android&sessionId=${sessionId}") |
| | | Map<String,Object> getCarNearPositionByCarId(@Var("syURL") String syURL, @Var("carId") String carId, @Var("userId") String userId,@Var("sessionId") String sessionId); |
| | | |
| | | @Get(url = "${syURL}/gps-web/api/get_car_list.jsp?carIds=${carId}&detail=true&sessionId=${sessionId}") |
| | | Map<String,Object> getCarPicture(@Var("syURL") String syURL, @Var("carId") String carId,@Var("sessionId") String sessionId); |
| | | } |