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 |  127 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 104 insertions(+), 23 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 d5beb48..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;
 
@@ -248,8 +248,12 @@
             }
             // 获取卡车公司收入
             Double companyIncome = this.baseMapper.getCompanyIncome(id, sTime, eTime);
+            if(companyIncome==null){
+                indexInfo.setAccountsReceivable(new BigDecimal(0));
+            }else {
 
-            indexInfo.setAccountsReceivable(new BigDecimal(companyIncome));
+                indexInfo.setAccountsReceivable(new BigDecimal(companyIncome));
+            }
             // 获取卡车公司支出-》 是否存在承运商  -》算价格
             EntityWrapper<TOrder> wrapper = new EntityWrapper<>();
             wrapper.eq("company_id",id);
@@ -299,7 +303,7 @@
             for (int i = 0; i <12; i++) {
                 if(i==0){
                     IndexMonth indexMonth = new IndexMonth();
-                    int month = DateUtil.thisMonth();
+                    int month = DateUtil.thisMonth()+1;
                     indexMonth.setMonth(month);
                     indexMonth.setOrderNumber(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",id).between("pay_time",DateUtil.beginOfMonth(new Date()),DateUtil.endOfMonth(new Date()))));
                     indexMonths.add(indexMonth);
@@ -307,7 +311,7 @@
                     IndexMonth indexMonth = new IndexMonth();
                     instance.add(Calendar.MONTH, -1);
                     Date time1 = instance.getTime();
-                    int month = DateUtil.month(time1);
+                    int month = DateUtil.month(time1)+1;
                     indexMonth.setMonth(month);
                     indexMonth.setOrderNumber(this.baseMapper.selectCount(new EntityWrapper<TOrder>().eq("company_id",id).between("pay_time",DateUtil.beginOfMonth(time1),DateUtil.endOfMonth(time1))));
                     indexMonths.add(indexMonth);
@@ -364,7 +368,7 @@
             }
 
             // 根据订单id 获取价格
-            List<TPrice> prices = priceMapper.selectList(new EntityWrapper<TPrice>().eq("order_id", tOrder.getId()));
+            List<TPrice> prices = priceMapper.selectList(new EntityWrapper<TPrice>().eq("order_id", tOrder.getId()).eq("status",1));
 
             ArrayList<TPriceVo> priceVos = new ArrayList<TPriceVo>();
             for (TPrice price : prices) {
@@ -430,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();
@@ -465,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());
@@ -485,9 +547,11 @@
             if(!"0".equals(warehouse)){
                 TWarehouse tWarehouse = wareHouseMapper.selectList(new EntityWrapper<TWarehouse>().eq("company_id", tOrder.getCompanyId()).eq("code", warehouse)).get(0);
                 orderInfo.setWareHouse(tWarehouse.getAddress());
+                orderInfo.setEndAddress(tWarehouse.getAddress());
+            }else {
+                // destination信息
+                orderInfo.setEndAddress(tOrder.geteAddress());
             }
-            // destination信息
-            orderInfo.setEndAddress(tOrder.geteAddress());
             orderInfo.setECompanyName(tOrder.geteCompanyName());
             orderInfo.setEContactName(tOrder.geteName());
             orderInfo.setEContactPhone(tOrder.getePhone());
@@ -501,6 +565,8 @@
             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());
             });
             orderInfo.setContainer(strings);
@@ -523,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;
 
 
         }
@@ -533,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