From a0afbd1e36f74cb521c4d51b08a54f6a1fe538f2 Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期四, 31 八月 2023 12:01:54 +0800 Subject: [PATCH] broker 司机端 --- src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java | 149 ++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 121 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java b/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java index 5929ba5..e2eb878 100644 --- a/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java +++ b/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java @@ -13,6 +13,7 @@ import com.stylefeng.guns.modular.system.model.vo.OrderInfoVo; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.utils.GoogleMap.FindPlaceFromTextVo; +import com.stylefeng.guns.modular.system.utils.GoogleMap.GeocodeVo; import com.stylefeng.guns.modular.system.utils.GoogleMap.GoogleMapUtil; import com.stylefeng.guns.modular.system.utils.UserInfoUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -458,16 +459,16 @@ lonLat.setLng(tOrder.getStartLon()); lonLats.add(lonLat); String s = tOrder.geteAddress(); -// GeocodeVo geocode = googleMapUtil.getGeocode(s); -// orderInfo.setElat(String.valueOf(geocode.getLat())); -// orderInfo.setElon(String.valueOf(geocode.getLng())); - lonLat=new LonLat(); - lonLat.setLng("-113.066919618184"); - lonLat.setLat("37.684389618184"); + GeocodeVo geocode = googleMapUtil.getGeocode(s); + orderInfo.setElat(String.valueOf(geocode.getLat())); + orderInfo.setElon(String.valueOf(geocode.getLng())); +// lonLat=new LonLat(); +// lonLat.setLng("-113.066919618184"); +// lonLat.setLat("37.684389618184"); lonLats.add(lonLat); - orderInfo.setElat("37.684389618184"); - orderInfo.setElon("-113.066919618184"); - +// orderInfo.setElat("37.684389618184"); +// orderInfo.setElon("-113.066919618184"); +// orderInfo.setLonLats(lonLats); Long quoteId = tQuoteMapper.selectList(new EntityWrapper<TQuote>().eq("order_id", tOrder.geteZipZ())).get(0).getId(); orderInfo.setType(tOrder.getType()); @@ -576,10 +577,10 @@ @Resource private TYardService yardService; @Override - public OrderDetailVo orderInfo(Long id,int typeStr) { + public Map<String, Object> orderInfo(Long id, int did) { OrderDetailVo orderDetailVo = new OrderDetailVo(); List<Map<String, Object>> maps = new ArrayList<>(); - + Integer driverId =0; // 获取经纬度 TOrder tOrder = this.baseMapper.selectById(id); if(tOrder.getExamSite()!=null && tOrder.getType().equals("Live Unload")){ @@ -587,42 +588,54 @@ orderDetailVo.setNextStatus("2"); }else if(tOrder.getStatus().equals("2")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("3"); }else if(tOrder.getStatus().equals("3")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("4"); }else if(tOrder.getStatus().equals("4")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("12"); }else if(tOrder.getStatus().equals("12")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("13"); }else if(tOrder.getStatus().equals("13")){ orderDetailVo.setNextStatus("14"); }else if(tOrder.getStatus().equals("14")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("5"); }else if(tOrder.getStatus().equals("5")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("6"); }else if(tOrder.getStatus().equals("6")){ + driverId=tOrder.getsDriverIdOne(); orderDetailVo.setNextStatus("7"); }else if(tOrder.getStatus().equals("7")){ + driverId=tOrder.getsDriverIdOne(); orderDetailVo.setNextStatus("8"); }else if(tOrder.getStatus().equals("8")){ + driverId=tOrder.getsDriverIdOne(); orderDetailVo.setNextStatus("9"); }else if(tOrder.getStatus().equals("9")){ + driverId=tOrder.geteDriverid(); orderDetailVo.setNextStatus("10"); }else if(tOrder.getStatus().equals("10")){ + driverId=tOrder.geteDriverid(); orderDetailVo.setNextStatus("11"); }else if(tOrder.getStatus().equals("11")){ + driverId=tOrder.geteDriverIdOne(); orderDetailVo.setNextStatus("18"); } }else if(tOrder.getExamSite()==null && tOrder.getType().equals("Live Unload")){ @@ -630,33 +643,43 @@ orderDetailVo.setNextStatus("2"); }else if(tOrder.getStatus().equals("2")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("3"); }else if(tOrder.getStatus().equals("3")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("4"); }else if(tOrder.getStatus().equals("4")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("5"); }else if(tOrder.getStatus().equals("5")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("6"); }else if(tOrder.getStatus().equals("6")){ + driverId=tOrder.getsDriverIdOne(); orderDetailVo.setNextStatus("7"); }else if(tOrder.getStatus().equals("7")){ + driverId=tOrder.getsDriverIdOne(); orderDetailVo.setNextStatus("8"); }else if(tOrder.getStatus().equals("8")){ + driverId=tOrder.getsDriverIdOne(); orderDetailVo.setNextStatus("9"); }else if(tOrder.getStatus().equals("9")){ + driverId=tOrder.geteDriverid(); orderDetailVo.setNextStatus("10"); }else if(tOrder.getStatus().equals("10")){ + driverId=tOrder.geteDriverid(); orderDetailVo.setNextStatus("11"); }else if(tOrder.getStatus().equals("11")){ + driverId=tOrder.geteDriverIdOne(); orderDetailVo.setNextStatus("18"); } }else if(tOrder.getExamSite()!=null && !tOrder.getType().equals("Live Unload")){ @@ -664,33 +687,42 @@ orderDetailVo.setNextStatus("2"); }else if(tOrder.getStatus().equals("2")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("3"); }else if(tOrder.getStatus().equals("3")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("4"); }else if(tOrder.getStatus().equals("4")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("12"); }else if(tOrder.getStatus().equals("12")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("13"); }else if(tOrder.getStatus().equals("13")){ orderDetailVo.setNextStatus("14"); }else if(tOrder.getStatus().equals("14")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("5"); }else if(tOrder.getStatus().equals("5")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("6"); }else if(tOrder.getStatus().equals("6")){ + driverId=tOrder.getsDriverIdOne(); orderDetailVo.setNextStatus("7"); }else if(tOrder.getStatus().equals("7")){ + driverId=tOrder.getsDriverIdOne(); orderDetailVo.setNextStatus("8"); }else if(tOrder.getStatus().equals("8")){ + driverId=tOrder.getsDriverIdOne(); orderDetailVo.setNextStatus("9"); } }else { @@ -698,24 +730,31 @@ orderDetailVo.setNextStatus("2"); }else if(tOrder.getStatus().equals("2")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("3"); }else if(tOrder.getStatus().equals("3")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("4"); }else if(tOrder.getStatus().equals("4")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("5"); }else if(tOrder.getStatus().equals("5")){ + driverId=tOrder.getsDriverid(); orderDetailVo.setNextStatus("6"); }else if(tOrder.getStatus().equals("6")){ + driverId=tOrder.getsDriverIdOne(); orderDetailVo.setNextStatus("7"); }else if(tOrder.getStatus().equals("7")){ + driverId=tOrder.getsDriverIdOne(); orderDetailVo.setNextStatus("8"); }else if(tOrder.getStatus().equals("8")){ + driverId=tOrder.getsDriverIdOne(); orderDetailVo.setNextStatus("9"); } } @@ -742,10 +781,16 @@ TTransportation tTransportations = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", id).eq("type",1)); // 第一个port HashMap<String, Object> orderInfo = getOrderInfo(tTransportations, tOrder); + + ArrayList<Map<String,String>> strings = new ArrayList<>(); + TPort tPort1 = portMapper.selectById(tOrder.getPort()); + System.out.println(tPort1+"12312321"); + strings.add(getLat(tPort1.getAddress(),1)); + orderInfo.put("7_danger",tGoods.getDanger()); orderInfo.put("8_weight",tGoods.getWeight()); Map<String, Object> map = sortMapByKey(orderInfo); - if(typeStr==1){ + if(tOrder.getsDriverid()==did){ maps.add(map); } if(tOrder.getExamSite()!=null){ @@ -753,19 +798,29 @@ TExamSite tExamSite = examSiteService.selectById(examSite); // 第二个检查站 Map<String, Object> examInfo = getExamInfo(tExamSite); - if(typeStr==1){ + if(tOrder.getsDriverid()==did){ maps.add(examInfo); } + strings.add(getLat(tExamSite.getAddress(),2)); } TTransportation tTransportations1 = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", id).eq("type",2)); - Integer yardId = tTransportations1.getYardId(); - TYard tYard = yardService.selectById(yardId); - // 第三个 yard - Map<String, Object> yardOne = getYardOne(tTransportations1, tYard); + Map<String, Object> yardOne=null; + if(ToolUtil.isNotEmpty(tTransportations1)) { + Integer yardId = tTransportations1.getYardId(); + TYard tYard = yardService.selectById(yardId); + if(tYard!=null){ + strings.add(getLat(tYard.getStreetAddress(), 3)); + } + // 第三个 yard + yardOne = getYardOne(tTransportations1, tYard); + } // 第四个 destination Map<String, Object> destination = getDestination(tOrder); - if(typeStr==2){ - maps.add(yardOne); + strings.add(getLat(tOrder.geteAddress(),4)); + if(tOrder.getsDriverIdOne()==did){ + if(yardOne!=null){ + maps.add(yardOne); + } maps.add(destination); } TTransportation tTransportations2 = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", id).eq("type",3)); @@ -773,7 +828,7 @@ TYard tYard1 = yardService.selectById(tTransportations2.getYardId()); // 第五个 yard Map<String, Object> yardOne1 = getYardOne(tTransportations2, tYard1); - if(typeStr==3 && tOrder.getType().equals("Live Unload")){ + if(tOrder.geteDriverid()==did && tOrder.getType().equals("Live Unload")){ maps.add(yardOne1); } } @@ -781,18 +836,51 @@ TTransportation tTransportations3 = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", id).eq("type",4)); if(tTransportations3!=null){ TPort tPort = portMapper.selectById(tTransportations3.getPortId()); - - // 第六个 port - Map<String, Object> port = getPort(tTransportations3, tPort); - if(typeStr==4 && tOrder.getType().equals("Live Unload")){ - maps.add(port); + if(ToolUtil.isNotEmpty(tPort)){ + // 第六个 port + Map<String, Object> port = getPort(tTransportations3, tPort); + if(tOrder.geteDriverIdOne()==did && tOrder.getType().equals("Live Unload")){ + maps.add(port); + } } } orderDetailVo.setTGoods(tGoods); orderDetailVo.setOrderId(id); orderDetailVo.setStatus(tOrder.getStatus()); orderDetailVo.setList(maps); - return orderDetailVo; + if(did==driverId){ + orderDetailVo.setButton(1); + } + HashMap<String, Object> map1 = new HashMap<>(); + map1.put("lonlat",strings); + map1.put("data",orderDetailVo); + return map1; + } + + @Override + public void saveLonLat(Long id, String lon, String lat) { + this.baseMapper.saveLonLat(id,lon,lat); + } + + @Override + public List<Map<String, Object>> getLonLat(Long orderId) { + return this.baseMapper.getLonLat(orderId); + } + + private HashMap<String, String> getLat(String a,Integer type){ + HashMap<String, String> map = new HashMap<>(); + try { + GeocodeVo geocode = googleMapUtil.getGeocode(a); + map.put("lon",String.valueOf(geocode.getLng())); + map.put("lat",String.valueOf(geocode.getLat())); + map.put("type",type.toString()); + }catch (Exception e){ + e.printStackTrace(); + map.put("lon",null); + map.put("lat",null); + } + + return map; } private HashMap<String, Object> getOrderInfo(TTransportation tTransportation,TOrder tOrder){ @@ -877,8 +965,13 @@ // String stateName = countryService.selectById(yard.getState()).getName(); // String name = countryService.selectById(yard.getCountry()).getName(); map.put("1_title","Yard"); - map.put("2_address",yard.getStreetAddress()+yard.getCity()+yard.getState()+yard.getZipCode()+yard.getCountry()); - map.put("3_yardName",yard.getYardName()); + if(yard!=null){ + map.put("2_address",yard.getStreetAddress()+yard.getCity()+yard.getState()+yard.getZipCode()+yard.getCountry()); + map.put("3_yardName",yard.getYardName()); + }else { + map.put("2_address",""); + map.put("3_yardName",""); + } map.put("4_contactName",tTransportations1.getName()); map.put("5_contactPhone",tTransportations1.getPhone()); map.put("6_contactEmail",tTransportations1.getEmail()); -- Gitblit v1.7.1