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/controller/IndexController.java     |   35 ++++++
 src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java               |    6 +
 src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java |  141 +++++++++++++++++++++++----
 src/main/java/com/stylefeng/guns/modular/system/enums/UserFeeSettingEnum.java       |    2 
 src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml        |    6 +
 src/main/java/com/stylefeng/guns/modular/system/model/vo/OrderDetailVo.java         |    2 
 src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java                   |   10 ++
 src/main/java/com/stylefeng/guns/modular/system/service/ITOrderService.java         |    7 +
 src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java     |   49 +++++++++
 src/main/resources/application.yml                                                  |    7 
 10 files changed, 229 insertions(+), 36 deletions(-)

diff --git a/src/main/java/com/stylefeng/guns/modular/system/controller/IndexController.java b/src/main/java/com/stylefeng/guns/modular/system/controller/IndexController.java
index 9693dbf..6cc2d62 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/controller/IndexController.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/controller/IndexController.java
@@ -25,6 +25,7 @@
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 控制器
@@ -95,6 +96,7 @@
             eTime=date+" 23:59:59";
         }
         List<OrderInfoVo> list = orderService.getOrderListIndex(orderInfoVoPage,id,containerNo,sTime,eTime,type);
+        System.out.println(list);
         return new SuccessTip(list);
     }
 
@@ -110,7 +112,7 @@
     @GetMapping(value = "/orderInfo")
     @ResponseBody
     public Object orderInfo(Long id,int driverId) {
-       OrderDetailVo orderDetailVo = orderService.orderInfo(id,driverId);
+        Map<String, Object> orderDetailVo = orderService.orderInfo(id,driverId);
         // 经纬度给上
         return new SuccessTip(orderDetailVo);
     }
@@ -262,21 +264,29 @@
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
             @ApiImplicitParam(name = "id", value = "订单id", required = true, dataType = "Long"),
+            @ApiImplicitParam(name = "driverId", value = "driverId", required = true, dataType = "int"),
     })
     @GetMapping(value = "/nextStatus")
     @ResponseBody
-    public Object nextStatus( Long id) {
+    public Object nextStatus( Long id,int driverId) {
+        System.out.println(id);
+        System.out.println(driverId);
+        List<TOrder> orders = orderService.selectList(new EntityWrapper<TOrder>().eq("nowDriverId", driverId).ne("id",id));
+        if(orders.size()>0){
+            return new ErrorTip(5008,"Please complete the last order");
+        }
         TOrder tOrder = orderService.selectById(id);
+        tOrder.setNowDriverId(driverId);
         if(tOrder.getExamSite()!=null && tOrder.getType().equals("Live Unload")){
             if(tOrder.getStatus().equals("0")){
                 tOrder.setStatus("2");
-
             }else
             if(tOrder.getStatus().equals("2")){
                 tOrder.setStatus("3");
             }else
             if(tOrder.getStatus().equals("3")){
                 tOrder.setStatus("4");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("4")){
                 tOrder.setStatus("12");
@@ -292,24 +302,29 @@
             }else
             if(tOrder.getStatus().equals("5")){
                 tOrder.setStatus("6");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("6")){
                 tOrder.setStatus("7");
             }else
             if(tOrder.getStatus().equals("7")){
                 tOrder.setStatus("8");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("8")){
                 tOrder.setStatus("9");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("9")){
                 tOrder.setStatus("10");
             }else
             if(tOrder.getStatus().equals("10")){
                 tOrder.setStatus("11");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("11")){
                 tOrder.setStatus("18");
+                tOrder.setNowDriverId(0);
                 tOrder.setOrderOkTime(new Date());
             }
         }else if(tOrder.getExamSite()==null && tOrder.getType().equals("Live Unload")){
@@ -321,30 +336,36 @@
             }else
             if(tOrder.getStatus().equals("3")){
                 tOrder.setStatus("4");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("4")){
                 tOrder.setStatus("5");
             }else
             if(tOrder.getStatus().equals("5")){
                 tOrder.setStatus("6");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("6")){
                 tOrder.setStatus("7");
             }else
             if(tOrder.getStatus().equals("7")){
                 tOrder.setStatus("8");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("8")){
                 tOrder.setStatus("9");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("9")){
                 tOrder.setStatus("10");
             }else
             if(tOrder.getStatus().equals("10")){
                 tOrder.setStatus("11");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("11")){
                 tOrder.setStatus("18");
+                tOrder.setNowDriverId(0);
                 tOrder.setOrderOkTime(new Date());
             }
         }else if(tOrder.getExamSite()!=null && !tOrder.getType().equals("Live Unload")){
@@ -356,6 +377,7 @@
             }else
             if(tOrder.getStatus().equals("3")){
                 tOrder.setStatus("4");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("4")){
                 tOrder.setStatus("12");
@@ -371,15 +393,18 @@
             }else
             if(tOrder.getStatus().equals("5")){
                 tOrder.setStatus("6");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("6")){
                 tOrder.setStatus("7");
             }else
             if(tOrder.getStatus().equals("7")){
                 tOrder.setStatus("8");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("8")){
                 tOrder.setStatus("9");
+                tOrder.setNowDriverId(0);
                 tOrder.setOrderOkTime(new Date());
             }
         }else {
@@ -391,21 +416,25 @@
             }else
             if(tOrder.getStatus().equals("3")){
                 tOrder.setStatus("4");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("4")){
                 tOrder.setStatus("5");
             }else
             if(tOrder.getStatus().equals("5")){
                 tOrder.setStatus("6");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("6")){
                 tOrder.setStatus("7");
             }else
             if(tOrder.getStatus().equals("7")){
                 tOrder.setStatus("8");
+                tOrder.setNowDriverId(0);
             }else
             if(tOrder.getStatus().equals("8")){
                 tOrder.setStatus("9");
+                tOrder.setNowDriverId(0);
                 tOrder.setOrderOkTime(new Date());
             }
         }
diff --git a/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java b/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java
index cfcd414..679bdcf 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.plugins.Page;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
+import com.stylefeng.guns.modular.system.utils.HttpRequest;
+import com.stylefeng.guns.modular.system.utils.RedisUtil;
 import com.stylefeng.guns.modular.system.utils.tips.ErrorTip;
 import com.stylefeng.guns.modular.system.utils.tips.SuccessTip;
 import io.swagger.annotations.Api;
@@ -18,10 +20,7 @@
 import java.math.BigDecimal;
 import java.net.FileNameMap;
 import java.net.URLConnection;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 
 @Controller
 @Api(tags = "订单")
@@ -66,6 +65,9 @@
 
     @Resource
     private ITGoodsService goodsService;
+
+    @Autowired
+    private RedisUtil redisUtil;
 
     /**
      * company 订单
@@ -296,6 +298,45 @@
         return new SuccessTip(page);
     }
 
+    @ApiOperation(value = "上传司机位置",notes="上传司机位置")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType     = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(name = "driverId", value = "driverId", required = true, dataType = "Integer"),
+            @ApiImplicitParam(name = "lon", value = "lon", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "lat", value = "lat", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "type", value = "type", required = true, dataType = "int"),
+    })
+    @GetMapping(value = "/updateLonLat")
+    @ResponseBody
+    public Object updateLonLat(Integer driverId, String lon, String lat,int type){
+        //  通过司机id获取订单
+        List<TOrder> orders = orderService.selectList(new EntityWrapper<TOrder>().eq("nowDriverId", driverId));
+        if(orders.size()>0){
+            TOrder tOrder = orders.get(0);
+            if(type==1){
+                orderService.saveLonLat(tOrder.getId(),lon,lat);
+            }
+            redisUtil.setStrValue(tOrder.getId().toString(),lon+lat);
+        }
+        return new SuccessTip();
+    }
+
+
+    @ApiOperation(value = "获取订单司机位置",notes="获取订单司机位置")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType     = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(name = "orderId", value = "orderId", required = true, dataType = "Long"),
+            @ApiImplicitParam(name = "lon", value = "lon", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "lat", value = "lat", required = true, dataType = "String"),
+    })
+    @GetMapping(value = "/getLonLat")
+    @ResponseBody
+    public Object getLonLat(Long orderId){
+        //  通过司机id获取订单
+        List<Map<String,Object>> orders = orderService.getLonLat(orderId);
+        return new SuccessTip(orders);
+    }
+
 
 
     @ApiOperation(value = "卡车公司--安排司机",notes="卡车公司--安排司机")
diff --git a/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java b/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java
index 0f2b136..31c0281 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java
@@ -9,6 +9,7 @@
 
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -61,4 +62,9 @@
 
     List<OrderInfoVo> getOrderListIndex(@Param("orderInfoVoPage") Page<OrderInfoVo> orderInfoVoPage, @Param("id") int id, @Param("containerNo") String containerNo, @Param("sTime") String sTime, @Param("eTime") String eTime,@Param("type")int type);
 
+    void saveLonLat(@Param("id") Long id, @Param("lon") String lon, @Param("lat") String lat);
+
+    List<Map<String, Object>> getLonLat(@Param("orderId") Long orderId);
+
+
 }
diff --git a/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml b/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
index d27ab5e..1900ca5 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
+++ b/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
@@ -68,6 +68,9 @@
                                     create_time
                                     ) value (null ,#{orderId},#{url},#{name},now())
     </insert>
+    <insert id="saveLonLat">
+        insert into t_order_lonlat(id,orderId,lon,lat) value (null,#{id},#{lon},#{lat})
+     </insert>
 
     <update id="agreePay">
         update t_order set pay_audit =1 where id=#{number}
@@ -296,5 +299,8 @@
 <!--            and t1.status =1-->
 <!--        </if>-->
     </select>
+    <select id="getLonLat" resultType="java.util.Map">
+        select lon,lat from t_order_lonlat where orderId =#{orderId}
+    </select>
 
 </mapper>
diff --git a/src/main/java/com/stylefeng/guns/modular/system/enums/UserFeeSettingEnum.java b/src/main/java/com/stylefeng/guns/modular/system/enums/UserFeeSettingEnum.java
index d658d16..2644c65 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/enums/UserFeeSettingEnum.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/enums/UserFeeSettingEnum.java
@@ -2,7 +2,7 @@
 
 public enum UserFeeSettingEnum {
 
-    LH_FSH(1, "LH+FSH"),
+    LH_FSH(1, "LH+FSC"),
     CHASSIS_FEE(2, "Chassis fee"),
     PREPULL(3, "Prepull"),
     CHASSIS_SPLIT(4, "Chassis split"),
diff --git a/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java b/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java
index b147828..9f8be3c 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java
@@ -404,6 +404,16 @@
 
     @TableField("street_turn")
     private Integer streetTurn;
+    @TableField("nowDriverId")
+    private Integer nowDriverId;
+
+    public Integer getNowDriverId() {
+        return nowDriverId;
+    }
+
+    public void setNowDriverId(Integer nowDriverId) {
+        this.nowDriverId = nowDriverId;
+    }
 
     public Long getId() {
         return id;
diff --git a/src/main/java/com/stylefeng/guns/modular/system/model/vo/OrderDetailVo.java b/src/main/java/com/stylefeng/guns/modular/system/model/vo/OrderDetailVo.java
index 0d8d670..8bb717e 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/model/vo/OrderDetailVo.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/model/vo/OrderDetailVo.java
@@ -37,5 +37,7 @@
 
     private String nextStatus;
 
+    private Integer button=2;
+
 
 }
diff --git a/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderService.java b/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderService.java
index 381202e..8d67d28 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderService.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderService.java
@@ -7,6 +7,7 @@
 import com.stylefeng.guns.modular.system.model.vo.OrderInfoVo;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -49,6 +50,10 @@
     List<OrderInfoVo> getOrderListIndex(Page<OrderInfoVo> orderInfoVoPage, int id, String containerNo, String sTime, String eTime,int type);
 
 
-    OrderDetailVo orderInfo(Long id,int did);
+    Map<String, Object> orderInfo(Long id, int did);
+
+    void saveLonLat(Long id, String lon, String lat);
+
+    List<Map<String, Object>> getLonLat(Long orderId);
 
 }
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 c86b37c..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 did) {
+    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,6 +781,12 @@
         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);
@@ -756,16 +801,26 @@
             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);
+        strings.add(getLat(tOrder.geteAddress(),4));
         if(tOrder.getsDriverIdOne()==did){
-            maps.add(yardOne);
+            if(yardOne!=null){
+                maps.add(yardOne);
+            }
             maps.add(destination);
         }
         TTransportation tTransportations2 = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", id).eq("type",3));
@@ -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(tOrder.geteDriverIdOne()==did && 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());
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 0e1b570..f889f78 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -25,6 +25,7 @@
     multipart:
       max-request-size: 100MB
       max-file-size: 100MB
+      location: /home/temp
 
 mybatis-plus:
   typeAliasesPackage: com.stylefeng.guns.modular.system.model
@@ -39,10 +40,10 @@
 spring:
   profiles: local
   datasource:
-    url: jdbc:mysql://127.0.0.1:3306/broker?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://54.67.44.33:3306/broker?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai
     username: root
-    #password: 7rco.Zt8wXv7
-    password: 123456
+    password: 7rco.Zt8wXv7
+#    password: 123456
     db-name: broker #用来搜集数据库的所有表
     filters: wall,mergeStat
 

--
Gitblit v1.7.1