From 1707d15796d7dc78812f19b9c34868c8cb38a714 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期日, 15 十月 2023 17:56:57 +0800
Subject: [PATCH] broker 卡车公司端

---
 src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java |  108 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 91 insertions(+), 17 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 ee0ad1b..aab7f61 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
@@ -8,10 +8,10 @@
     import com.stylefeng.guns.core.util.ToolUtil;
     import com.stylefeng.guns.modular.system.dao.*;
     import com.stylefeng.guns.modular.system.model.*;
-    import com.stylefeng.guns.modular.system.service.ITBoxSizeService;
-    import com.stylefeng.guns.modular.system.service.ITDriverService;
-    import com.stylefeng.guns.modular.system.service.ITOrderService;
+    import com.stylefeng.guns.modular.system.service.*;
+    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.RedisUtil;
     import org.springframework.beans.factory.annotation.Autowired;
     import org.springframework.stereotype.Service;
 
@@ -434,28 +434,84 @@
             return goodsInfoVos;
         }
 
+        @Autowired
+        private RedisUtil redisUtil;
+
+        @Resource
+        private TTransportationService tTransportationService;
+
+        @Autowired
+        private ITExamSiteService examSiteService;
+
+        @Autowired
+        private TYardService yardService;
+
+        private HashMap<String, String> getLat(String a){
+            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()));
+            }catch (Exception e){
+                e.printStackTrace();
+                map.put("lon",null);
+                map.put("lat",null);
+            }
+
+            return map;
+        }
         @Override
-        public OrderInfo getOrderInfo(Long orderId) {
+        public  HashMap<String, Object> getOrderInfo(Long orderId) {
             OrderInfo orderInfo = new OrderInfo();
             ArrayList<LonLat> lonLats = new ArrayList<>();
 
             TOrder tOrder = this.baseMapper.selectById(orderId);
+
+            String value = redisUtil.getValue(String.valueOf(orderId));
+            orderInfo.setDriverLat(value);
+            ArrayList<Map<String,String>> maps = new ArrayList<>();
+                TPort tPort1 = portMapper.selectById(tOrder.getPort());
+                maps.add(getLat(tPort1.getAddress()));
+
+            if(tOrder.getExamSite()!=null){
+                Integer examSite = tOrder.getExamSite();
+                TExamSite tExamSite = examSiteService.selectById(examSite);
+                // 第二个检查站
+                maps.add(getLat(tExamSite.getAddress()));
+            }
+
+            TTransportation tTransportations1 = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", orderId).eq("type",2));
+            if(tTransportations1!=null){
+                Integer yardId = tTransportations1.getYardId();
+                if(yardId!=null){
+                    TYard tYard = yardService.selectById(yardId);
+                    maps.add(getLat(tYard.getStreetAddress()));
+                }
+            }
+
+
+            if(tOrder.geteAddress()!=null){
+                maps.add(getLat(tOrder.geteAddress()));
+            }
+
+
             orderInfo.setSlat(tOrder.getStartLat());
             orderInfo.setSlon(tOrder.getStartLon());
+            orderInfo.setStatus(tOrder.getStatus());
             LonLat lonLat = new LonLat();
             lonLat.setLat(tOrder.getStartLat());
             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()));
+            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");
+            lonLat.setLng(tOrder.getStartLon());
+            lonLat.setLat(tOrder.getStartLat());
             lonLats.add(lonLat);
-            orderInfo.setElat("37.684389618184");
-            orderInfo.setElon("-113.066919618184");
+            orderInfo.setElat(String.valueOf(geocode.getLat()));
+            orderInfo.setElon(String.valueOf(geocode.getLng()));
 
             orderInfo.setLonLats(lonLats);
             Long quoteId = tQuoteMapper.selectList(new EntityWrapper<TQuote>().eq("order_id", tOrder.geteZipZ())).get(0).getId();
@@ -469,15 +525,17 @@
             Integer groupId = tUser.getGroupId();
             if(groupId!=null) {
                 TGroup tGroup = tGroupMapper.selectById(groupId);
-                orderInfo.setSalesGroup(tGroup.getName());
-                Integer salesId = tGroup.getSalesId();
-                User user = userMapper.selectById(salesId);
-                orderInfo.setSales(user.getName());
+                if(tGroup!=null) {
+                    orderInfo.setSalesGroup(tGroup.getName());
+                    Integer salesId = tGroup.getSalesId();
+                    User user = userMapper.selectById(salesId);
+                    orderInfo.setSales(user.getName());
+                }
             }
             // 获取码头id  获取码头地址  pickup信息
             Integer portId = tOrder.getPort();
             TPort tPort = portMapper.selectById(portId);
-            orderInfo.setAddress(tOrder.geteAddress());
+            orderInfo.setAddress(tPort.getAddress());
             orderInfo.setContactName(tOrder.getsName());
             orderInfo.setContactPhone(tOrder.getsPhone());
             orderInfo.setContactEmail(tOrder.getsEmail());
@@ -507,6 +565,7 @@
             ArrayList<String> strings = new ArrayList<>();
             goods.forEach(e->{
                 strings.add(e.getContainerNumber());
+                strings.add(String.valueOf(e.getOrderId()));
                 orderInfo.setGoodsId(e.getId());
                 orderInfo.setBl(e.getBillNumber());
             });
@@ -530,7 +589,11 @@
             orderInfo.setNote(driverNoteVos);
             orderInfo.setTrouble(driverNoteVos1);
             orderInfo.setState(tOrder.getState());
-            return orderInfo;
+
+            HashMap<String, Object> map = new HashMap<>();
+            map.put("lonlat",maps);
+            map.put("data",orderInfo);
+            return map;
 
 
         }
@@ -540,6 +603,17 @@
             return this.baseMapper.addOrderFile(orderId,url,name);
         }
 
+        @Override
+        public List<Map<String, Object>> queryAllOrderDatas() {
+            return this.baseMapper.queryAllOrderDatas();
+        }
+
+
+
+        @Override
+        public List<Map<String, Object>> getLonLat(Long orderId) {
+            return this.baseMapper.getLonLat(orderId);
+        }
 
         public static void main(String[] args) throws ParseException {
 

--
Gitblit v1.7.1