From 3af254f1b36e7722673fcebe110da524b276105c Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 30 十二月 2024 17:56:04 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java |  295 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 259 insertions(+), 36 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
index 3c3cec7..a02e691 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
@@ -2,32 +2,25 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.TypeReference;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.tms.model.TMSContants;
 import com.doumee.core.tms.model.request.*;
 import com.doumee.core.tms.model.response.*;
 import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.HttpsUtil;
-import com.doumee.core.wms.model.request.*;
-import com.doumee.core.wms.model.response.WmsBaseDataResponse;
-import com.doumee.core.wms.model.response.WmsBaseResponse;
-import com.doumee.core.wms.model.response.WmsInventoryDataResponse;
 import com.doumee.dao.business.*;
+import com.doumee.dao.business.dao.MemberMapper;
 import com.doumee.dao.business.dao.SmsEmailMapper;
 import com.doumee.dao.business.model.*;
-import com.doumee.service.business.impl.SmsEmailServiceImpl;
 import com.doumee.service.business.third.TmsService;
-import com.doumee.service.business.third.WmsService;
-import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
 
@@ -134,25 +127,34 @@
                 TmsCircleStatusResultListResponse t = new TmsCircleStatusResultListResponse();
                 TMSContants.TopStatusLevel tem = TMSContants.TopStatusLevel.ddsc;
                 if(i == 0){
-                    tem=TMSContants.TopStatusLevel.ddsc;
-                } if(i == 1){
-                    tem=TMSContants.TopStatusLevel.ydpzz;
-                } if(i == 2){
-                    tem=TMSContants.TopStatusLevel.ckckz;
-                } if(i == 3){
-                    tem=TMSContants.TopStatusLevel.clysz;
-                } if(i == 4){
-                    tem=TMSContants.TopStatusLevel.ydh;
-                } if(i == 5){
                     tem=TMSContants.TopStatusLevel.yrk;
+                }
+                if(i == 1){
+                    tem=TMSContants.TopStatusLevel.ydh;
+                }
+                if(i == 2){
+                    tem=TMSContants.TopStatusLevel.clysz;
+                }
+                if(i == 4){
+                    tem=TMSContants.TopStatusLevel.ckckz;
+                }
+                if(i == 3){
+                    tem=TMSContants.TopStatusLevel.ydpzz;
+                }
+                if(i == 5){
+                    tem=TMSContants.TopStatusLevel.ddsc;
                 }
                 t.setName(tem.getName());
                 t.setKey(tem.getKey());
                 t.setSecondList(getSecondCircleStatusList(tem,response.getData()));
-                list.add(t);
+                if(t.getSecondList()!=null & t.getSecondList().size()>0){
+                    list.add(t);
+                }
             }
         }
-
+        Collections.sort(list, (o1, o2) -> {
+            return o2.getKey()  -  o1.getKey(); //鎸夋暟閲忎粠澶у埌灏忔帓搴�
+        });
         return list;
     }
 
@@ -165,15 +167,147 @@
         if(statusList!=null){
             for(Integer t :statusList){
                 for(TmsCircleStatusListResponse status :data){
-                    if(StringUtils.equals(status.getOrderStatus(),t.toString())){
+                    if(Constants.equalsInteger(status.getOrderStatus(),Constants.FOUR)
+                            && Constants.equalsInteger(status.getType(),TMSContants.StatusCode.app)) {
+                        status.setOrderStatus(TMSContants.ChildStatusLevel.clqdapp.getOrderStatus());
+                    }
+                    if(Constants.equalsInteger(status.getOrderStatus(),Constants.FIVE)
+                            && Constants.equalsInteger(status.getType(),TMSContants.StatusCode.app)) {
+                        status.setOrderStatus(TMSContants.ChildStatusLevel.ddzhd.getOrderStatus());
+                    }
+                    if(Constants.equalsInteger(status.getOrderStatus(),t )){
+                        status.setOrderStatusDes(TMSContants.ChildStatusLevel.getInfo(status.getOrderStatus(),null));
                         list.add(status);
+                    }
+                    Date td =DateUtil.fromStringToDate("yyy-MM-dd HH:mm:ss",status.getRecordDate());
+                    if(td!=null){
+                        status.setTimeStamp(td.getTime());
                     }
                 }
             }
         }
+        Collections.sort(list, (o1, o2) -> {
+            return (int) (o2.getTimeStamp() - o1.getTimeStamp()); //鎸夋暟閲忎粠澶у埌灏忔帓搴�
+        });
         return list;
     }
 
+    /**
+     * 鏈畬鎴愯鍗曞垪琛ㄦ帴鍙�
+     * 鏍规嵁鍖哄煙ID闆嗗悎+绛涢�夋潯浠讹紙鍚堝悓鍙枫�佸埗鍗曞紑濮嬫棩鏈熴�佸埗鍗曠粨鏉熸棩鏈熴�佸彂璐у湴銆佸埌璐у湴銆佺渷浠斤紝闈為渶瑕侊級锛岃繑鍥炲悎鍚屽垪琛ㄤ俊鎭紝鎸夌収鏃堕棿鍊掑簭灞曠ず锛�
+     * @param param 鍙傛暟
+     * @return TmsBaseResponse
+     */
+    @Override
+    public    TmsBasePageResponse<TmsOrderNoFinishListResponse> getNotFinishOrderList(TmsOrderNoFinishListRequest param){
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.getNotFinishOrderList[0];
+        TmsBaseResponse<TmsBasePageResponse<TmsOrderNoFinishListResponse> > response = sendHttpRequest(url,TMSContants.InterfacePath.getNotFinishOrderList[1],JSONObject.toJSONString(param)
+                ,new TypeReference< TmsBaseResponse<TmsBasePageResponse<TmsOrderNoFinishListResponse>> >(){});
+        if(response ==null || response.getData() == null){
+            return  new TmsBasePageResponse<>();
+        }
+        return  response.getData();
+
+    }
+    /**
+     * 鏌ヨ鍙告満鎵�鏈変唬鍔炰换鍔�
+     * @param param 鍙傛暟
+     * @return TmsBaseResponse
+     */
+    @Override
+    public    TmsBasePageResponse<TmsDriveTaskListResponse> getDriverTaskList(TmsDriverTaskListRequest param){
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.getDriverTaskList[0];
+
+        url = "http://10.163.4.56:8088"+TMSContants.InterfacePath.getDriverTaskList[0];
+        TmsBaseResponse<TmsBasePageResponse<TmsDriveTaskListResponse> > response = sendHttpRequest(url,TMSContants.InterfacePath.getDriverTaskList[1],JSONObject.toJSONString(param)
+                ,new TypeReference< TmsBaseResponse<TmsBasePageResponse<TmsDriveTaskListResponse>>>(){});
+        if(response ==null || response.getData() == null){
+            return  new TmsBasePageResponse<>();
+        }
+        return  response.getData();
+    }
+    /**
+     * 鍙告満寰呭姙浠诲姟璇︽儏
+     * @param param 鍙傛暟
+     * @return TmsBaseResponse
+     */
+    @Override
+    public    TmsDriveTaskInfoResponse getDriverTaskDetail(TmsDriverTaskInfoRequest param){
+        if(StringUtils.isBlank(param.getId()) ){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.getDriverTaskDetail[0];
+
+        url = "http://10.163.4.56:8088"+TMSContants.InterfacePath.getDriverTaskDetail[0];
+        TmsBaseResponse<TmsDriveTaskInfoResponse > response = sendHttpRequest(url,TMSContants.InterfacePath.getDriverTaskDetail[1],JSONObject.toJSONString(param)
+                ,new TypeReference< TmsBaseResponse<TmsDriveTaskInfoResponse>>(){});
+        if(response ==null || response.getData() == null){
+            return  new TmsDriveTaskInfoResponse();
+        }
+        return  response.getData();
+    }
+    /**
+     * 鍙告満鍚繍
+     * @param param 鍙傛暟
+     * @return TmsBaseResponse
+     */
+    @Override
+    public   boolean  driverStart(TmsDriverStartAndArrivalRequest param){
+        if(StringUtils.isBlank(param.getId()) || StringUtils.isBlank(param.getOptType())){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.driverStart[0];
+        url = "http://10.163.4.56:8088"+TMSContants.InterfacePath.driverStart[0];
+        TmsBaseResponse<TmsDriveTaskInfoResponse > response = sendHttpRequest(url,TMSContants.InterfacePath.driverStart[1],JSONObject.toJSONString(param)
+                ,new TypeReference< TmsBaseResponse<TmsDriveTaskInfoResponse>>(){});
+        if(response ==null || response.getData() == null || !StringUtils.equals(response.getCode(),"0")){
+            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝浠诲姟鍒拌揣鎻愪氦澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+        }
+        return  true;
+    }
+    /**
+     * 鍙告満鍒拌揣
+     * @param param 鍙傛暟
+     * @return TmsBaseResponse
+     */
+    @Override
+    public   boolean  driverArrival(TmsDriverStartAndArrivalRequest param){
+        if(StringUtils.isBlank(param.getId())
+                || StringUtils.isBlank(param.getOptType())
+                || param.getStopNumber() == null){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.driverArrival[0];
+        url = "http://10.163.4.56:8088"+TMSContants.InterfacePath.driverArrival[0];
+        TmsBaseResponse<TmsDriveTaskInfoResponse > response = sendHttpRequest(url,TMSContants.InterfacePath.driverArrival[1],JSONObject.toJSONString(param)
+                ,new TypeReference< TmsBaseResponse<TmsDriveTaskInfoResponse>>(){});
+        if(response ==null || response.getData() == null ||!StringUtils.equals(response.getCode(),"0")){
+          throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝浠诲姟鍒拌揣鎻愪氦澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+        }
+        return  true;
+    }
+    /**
+     * 鍑哄簱鑳藉姏缁熻
+     * 鏌ヨ鏌愪釜鍘�/鍏ㄩ儴鍘傜殑浠婃棩璁″垝閲忋�佷粖鏃ュ嚭搴撻噺銆佷粖鏃ユ湭鍑哄簱閲忔暟鎹��
+     * @param param 鍙傛暟
+     * @return TmsBaseResponse
+     */
+    @Override
+    public    TmsOutboundCapabilityResponse getOutboundCapability(TmsFacrotyCodeListRequest param){
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.getOutboundCapability[0];
+        TmsBaseResponse<TmsOutboundCapabilityResponse > response = sendHttpRequest(url,TMSContants.InterfacePath.getOutboundCapability[1],JSONObject.toJSONString(param)
+                ,new TypeReference< TmsBaseResponse<TmsOutboundCapabilityResponse>>(){});
+        if(response ==null || response.getData() == null){
+            return  new TmsOutboundCapabilityResponse();
+        }
+        return  response.getData();
+    }
     /**
      * 鍚堝悓鍒楄〃鎺ュ彛
      * 鏍规嵁鍖哄煙ID闆嗗悎+绛涢�夋潯浠讹紙鍚堝悓鍙枫�佸埗鍗曞紑濮嬫棩鏈熴�佸埗鍗曠粨鏉熸棩鏈熴�佸彂璐у湴銆佸埌璐у湴銆佺渷浠斤紝闈為渶瑕侊級锛岃繑鍥炲悎鍚屽垪琛ㄤ俊鎭紝鎸夌収鏃堕棿鍊掑簭灞曠ず锛�
@@ -181,21 +315,15 @@
      * @return TmsBaseResponse
      */
     @Override
-    public   List<TmsOrderListResponse>  orderList(TmsOrderListRequest param){
-       if(StringUtils.isBlank(param.getPhoneNumber())){
-           param.setPhoneNumber("00000000000");//鎵嬫満鍙峰繀濉�
-       }
-       if(param.getContractNumbers()==null || param.getContractNumbers().size()==0){
-           param.setContractNumbers(null);
-       }
+    public   TmsBasePageResponse<TmsOrderListResponse>  orderList(TmsOrderListRequest param){
         String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                     +TMSContants.InterfacePath.getOrderList[0];
-        TmsBaseResponse<List<TmsOrderListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderList[1],JSONObject.toJSONString(param)
-                ,new TypeReference< TmsBaseResponse<List<TmsOrderListResponse>>>(){});
+        TmsBaseResponse<TmsBasePageResponse<TmsOrderListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderList[1],JSONObject.toJSONString(param)
+                ,new TypeReference< TmsBaseResponse<TmsBasePageResponse<TmsOrderListResponse>>>(){});
         if(response ==null){
-            return  new ArrayList<>();
+            return  new TmsBasePageResponse<>();
         }else{
-            return response.getData()==null?new ArrayList<>():response.getData();
+            return response.getData()==null?new TmsBasePageResponse<>():response.getData();
         }
     }
     /**
@@ -211,7 +339,8 @@
         }
         String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                     +TMSContants.InterfacePath.getOrderDetailByContractNumber[0];
-        TmsBaseResponse<TmsOrderInfoResponse> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderDetailByContractNumber[1],JSONObject.toJSONString(param)
+        TmsBaseResponse<TmsOrderInfoResponse> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderDetailByContractNumber[1]
+                ,param.getContractNumber()
                 ,new TypeReference< TmsBaseResponse<TmsOrderInfoResponse>>(){});
         if(response!=null && response.getData()!=null){
               result =response.getData();
@@ -226,6 +355,100 @@
         result.setCicleStatusList(getCicleStatusList(p1));
         return result;
     }
+    /**
+     * 鍏ㄥ浗鍒拌揣鍦板垎甯冩煡璇㈡煡璇�
+     * @param param 鍙傛暟
+     * @return TmsBaseResponse
+     */
+    @Override
+    public  List<TmsDistributionOfDeliveryLocResponse>   getDistributionOfDeliveryLocations(TmsFacrotyCodeListRequest param){
+        List<TmsDistributionOfDeliveryLocResponse> result = new ArrayList<>();
+//        if( param.getFacrotyCodeList() == null || param.getFacrotyCodeList().size() == 0){
+//            param.setFacrotyCodeList(new ArrayList<>());
+//            param.getFacrotyCodeList().add("0");
+//        }
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.getDistributionOfDeliveryLocations[0];
+        TmsBaseResponse< List<TmsDistributionOfDeliveryLocResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getDistributionOfDeliveryLocations[1],
+                JSONObject.toJSONString(param)
+                ,new TypeReference< TmsBaseResponse< List<TmsDistributionOfDeliveryLocResponse>>>(){});
+        if(response!=null && response.getData()!=null){
+              result =response.getData();
+        }
+
+        return result;
+    }
+    /**
+     * 瀹炴椂搴撳瓨鏌ヨ
+     * @return TmsBaseResponse
+     */
+    @Override
+    public  List<TmsInventoryListResponse>   getRealTimeInventory( ){
+        List<TmsInventoryListResponse> result = new ArrayList<>();
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.getRealTimeInventory[0];
+        TmsBaseResponse< List<TmsInventoryListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getRealTimeInventory[1]
+                ,"{}"
+                ,new TypeReference< TmsBaseResponse< List<TmsInventoryListResponse>>>(){});
+        if(response!=null && response.getData()!=null){
+              result =response.getData();
+        }
+
+        return result;
+    }
+    /**
+     * 鏌ヨ5涓巶鐨勮繍鍔涜祫婧愬埄鐢ㄦ儏鍐�
+     * @return TmsBaseResponse
+     */
+    @Override
+    public  List<TmsTotalAndReportVehicleQtyResponse>   getTotalAndReportVehicleQty( ){
+        List<TmsTotalAndReportVehicleQtyResponse> result = new ArrayList<>();
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.getTotalAndReportVehicleQty[0];
+        TmsBaseResponse< List<TmsTotalAndReportVehicleQtyResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getTotalAndReportVehicleQty[1]
+                ,"{}"
+                ,new TypeReference< TmsBaseResponse< List<TmsTotalAndReportVehicleQtyResponse>>>(){});
+        if(response!=null && response.getData()!=null){
+              result =response.getData();
+        }
+
+        return result;
+    }
+    /**
+     * 杩�7鏃ュ埌璐ф儏鍐�(鍚槑缁�)
+     * @return TmsBaseResponse
+     */
+    @Override
+    public  List<TmsSevenArrivalStatusAndDetailsResponse>   getSevenArrivalStatusAndDetails(TmsSevenArrivalDetailsRequest param ){
+        List<TmsSevenArrivalStatusAndDetailsResponse> result = new ArrayList<>();
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.getSevenArrivalStatusAndDetails[0];
+        TmsBaseResponse< List<TmsSevenArrivalStatusAndDetailsResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getSevenArrivalStatusAndDetails[1]
+                ,JSONObject.toJSONString(param)
+                ,new TypeReference< TmsBaseResponse< List<TmsSevenArrivalStatusAndDetailsResponse>>>(){});
+        if(response!=null && response.getData()!=null){
+              result =response.getData();
+        }
+        return result;
+    }
+    /**
+     * 鎸囧畾鏃堕棿鑼冨洿鍐呯疮璁″嚭搴撻噺
+     * @return TmsBaseResponse
+     */
+    @Override
+    public  List<TmsOutQtyAndVehicleQtyResponse>   getOutQtyAndVehicleQty(TmsOutQtyAndVehicleQtyRequest param ){
+        List<TmsOutQtyAndVehicleQtyResponse> result = new ArrayList<>();
+        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+                    +TMSContants.InterfacePath.getOutQtyAndVehicleQty[0];
+        TmsBaseResponse< List<TmsOutQtyAndVehicleQtyResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getOutQtyAndVehicleQty[1]
+                ,JSONObject.toJSONString(param)
+                ,new TypeReference< TmsBaseResponse< List<TmsOutQtyAndVehicleQtyResponse>>>(){});
+        if(response!=null && response.getData()!=null){
+              result =response.getData();
+        }
+        return result;
+    }
+
 
     /**
      * 鍙戣捣 tms鎺ュ彛璇锋眰

--
Gitblit v1.9.3