jiangping
2024-12-30 3af254f1b36e7722673fcebe110da524b276105c
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.tms.model.request.TmsLockStatusQueryRequest;
import com.doumee.core.tms.model.request.TmsOrderInfoRequest;
import com.doumee.core.tms.model.request.TmsOrderListRequest;
import com.doumee.core.tms.model.response.TmsBaseResponse;
import com.doumee.core.tms.model.response.TmsLockStatusQueryResponse;
import com.doumee.core.tms.model.response.TmsOrderInfoResponse;
import com.doumee.core.tms.model.response.TmsOrderListResponse;
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.third.TmsService;
import com.doumee.service.business.third.WmsService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
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.*;
@@ -39,6 +32,9 @@
@Service
@Slf4j
public class TmsServiceImpl implements TmsService {
    @Autowired
    private SmsEmailMapper smsEmailMapper;
    @Autowired
    private PlatformWmsJobMapper platformWmsJobMapper;
    @Autowired
@@ -55,7 +51,8 @@
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private WmsInterfaceLogMapper wmsInterfaceLogMapper;
    @Value("${debug_model}")
    private Boolean isDebug;
    /**
     * 电子锁上锁时间接口
     * 根据合同号,查询电子锁上锁情况;存在批量查询的情况;
@@ -65,13 +62,252 @@
    @Override
    public TmsBaseResponse<List<TmsLockStatusQueryResponse>> lockStatusQuery(TmsLockStatusQueryRequest param){
        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                +systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_LOCK_STATUS_URL).getCode();
                + TMSContants.InterfacePath.getElecByContractNumberList[0];
        TmsBaseResponse<List<TmsLockStatusQueryResponse>> response = sendHttpRequest(url,"【TMS】电子锁上锁时间接口",JSONObject.toJSONString(param)
        TmsBaseResponse<List<TmsLockStatusQueryResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getElecByContractNumberList[1],JSONObject.toJSONString(param)
                ,new TypeReference< TmsBaseResponse<List<TmsLockStatusQueryResponse>>>(){});
        return  response;
    }
    /**
     * 运输单gis轨迹
     * 根据区域ID集合+筛选条件(合同号、制单开始日期、制单结束日期、发货地、到货地、省份,非需要),返回合同列表信息,按照时间倒序展示;
     * @param param 参数
     * @return TmsBaseResponse
     */
    @Override
    public   List<TmsGisListResponse>  gisList(TmsGisListRequest param){
       if(param.getTransportCode()==null  ){
          return  new ArrayList<>();
       }
        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                    +TMSContants.InterfacePath.getGis[0];
        TmsBaseResponse<List<TmsGisListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getGis[1],JSONObject.toJSONString(param)
                ,new TypeReference< TmsBaseResponse<List<TmsGisListResponse>>>(){});
        if(response ==null){
            return  new ArrayList<>();
        }else{
            return response.getData()==null?new ArrayList<>():response.getData();
        }
    }
    /**
     * 订单生命周期
     * @param param 参数
     * @return TmsBaseResponse
     */
    @Override
    public   List<TmsCircleStatusResultListResponse>  getCicleStatusList(TmsCircleStatusListRequest param){
        List<TmsCircleStatusResultListResponse> list =new ArrayList<>();
       if(param.getContractNumber()==null  ){
          return  new ArrayList<>();
       }
        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                    +TMSContants.InterfacePath.getOrderStatusByContractNumber[0];
        TmsBaseResponse<List<TmsCircleStatusListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderStatusByContractNumber[1],JSONObject.toJSONString(param)
                ,new TypeReference< TmsBaseResponse<List<TmsCircleStatusListResponse>>>(){});
        if(response ==null){
            return  new ArrayList<>();
        }else{
            /**
             *  ddsc(0,"订单生成",new Integer[]{ChildStatusLevel.create.getKey()}),
             *         ydpzz (1,"运单配载中",new Integer[]{ChildStatusLevel.ysdxc.getKey()
             *                 ,ChildStatusLevel.ysdcx.getKey()
             *                 ,ChildStatusLevel.shtg.getKey()
             *                 ,ChildStatusLevel.shwtg.getKey()
             *                 ,ChildStatusLevel.ysdcx.getKey()}),
             *         ckckz (2,"仓库出库中",new Integer[]{ChildStatusLevel.ddzhddzs.getKey()
             *                 ,ChildStatusLevel.clqddzs.getKey()}),
             *         clysz(3, "车辆运输中",new Integer[]{ChildStatusLevel.clqdapp.getKey()}),
             *         ydh(4,"已到货",new Integer[]{ChildStatusLevel.ddzhd.getKey()}),
             *         yrk
             */
            for (int i = 0; i < 6; i++) {
                TmsCircleStatusResultListResponse t = new TmsCircleStatusResultListResponse();
                TMSContants.TopStatusLevel tem = TMSContants.TopStatusLevel.ddsc;
                if(i == 0){
                    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()));
                if(t.getSecondList()!=null & t.getSecondList().size()>0){
                    list.add(t);
                }
            }
        }
        Collections.sort(list, (o1, o2) -> {
            return o2.getKey()  -  o1.getKey(); //按数量从大到小排序
        });
        return list;
    }
    private List<TmsCircleStatusListResponse> getSecondCircleStatusList(TMSContants.TopStatusLevel tem, List<TmsCircleStatusListResponse> data) {
        if(data ==null ||data.size()==0){
            return  new ArrayList<>();
        }
        List<TmsCircleStatusListResponse> list = new ArrayList<>();
        Integer[] statusList = tem.getChileIndexList();
        if(statusList!=null){
            for(Integer t :statusList){
                for(TmsCircleStatusListResponse status :data){
                    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集合+筛选条件(合同号、制单开始日期、制单结束日期、发货地、到货地、省份,非需要),返回合同列表信息,按照时间倒序展示;
@@ -79,12 +315,16 @@
     * @return TmsBaseResponse
     */
    @Override
    public  TmsBaseResponse<List<TmsOrderListResponse>> orderList(TmsOrderListRequest param){
    public   TmsBasePageResponse<TmsOrderListResponse>  orderList(TmsOrderListRequest param){
        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                    +systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_ORDER_LIST_URL).getCode();
        TmsBaseResponse<List<TmsOrderListResponse>> response = sendHttpRequest(url,"合同列表接口",JSONObject.toJSONString(param)
                ,new TypeReference< TmsBaseResponse<List<TmsOrderListResponse>>>(){});
        return response;
                    +TMSContants.InterfacePath.getOrderList[0];
        TmsBaseResponse<TmsBasePageResponse<TmsOrderListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderList[1],JSONObject.toJSONString(param)
                ,new TypeReference< TmsBaseResponse<TmsBasePageResponse<TmsOrderListResponse>>>(){});
        if(response ==null){
            return  new TmsBasePageResponse<>();
        }else{
            return response.getData()==null?new TmsBasePageResponse<>():response.getData();
        }
    }
    /**
     * 合同详情接口
@@ -92,13 +332,123 @@
     * @return TmsBaseResponse
     */
    @Override
    public TmsBaseResponse<TmsOrderInfoResponse> orderInfo(TmsOrderInfoRequest param){
    public  TmsOrderInfoResponse orderInfo(TmsOrderInfoRequest param){
        TmsOrderInfoResponse result = new TmsOrderInfoResponse();
        if(StringUtils.isBlank(param.getContractNumber())){
            return  result;
        }
        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                    +systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_ORDER_DETAIL_URL).getCode();
        TmsBaseResponse<TmsOrderInfoResponse> response = sendHttpRequest(url,"合同详情接口",JSONObject.toJSONString(param)
                    +TMSContants.InterfacePath.getOrderDetailByContractNumber[0];
        TmsBaseResponse<TmsOrderInfoResponse> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderDetailByContractNumber[1]
                ,param.getContractNumber()
                ,new TypeReference< TmsBaseResponse<TmsOrderInfoResponse>>(){});
        return  response;
        if(response!=null && response.getData()!=null){
              result =response.getData();
        }
        if(result.getTransportCode()!=null){
            TmsGisListRequest p = new TmsGisListRequest();
            p.setTransportCode(result.getTransportCode());
            result.setGisList(gisList(p));
        }
        TmsCircleStatusListRequest p1 = new TmsCircleStatusListRequest();
        p1.setContractNumber(param.getContractNumber());
        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接口请求
@@ -129,15 +479,35 @@
                success = 1;
                log.error("【"+name+"】================失败===="+ JSONObject.toJSONString(param));
            }finally {
                saveInterfaceLog(url,name,param,success,res,Constants.ZERO);
            }
        }
        return  null;
    }
    @Override
    public  void  saveInterfaceLog(String url,String name,String  param,Integer success,String respone,int type){
        if(wmsInterfaceLogMapper ==null){
            return;
        }
        WmsInterfaceLog log = new WmsInterfaceLog();
        log.setCreateDate(new Date());
        log.setUrl(url);
        log.setEditDate(log.getCreateDate());
        log.setPlat(Constants.ONE);
        log.setName(name);
        log.setIsdeleted(Constants.ZERO);
        log.setRequest(param);
        log.setType(type);
        log.setSuccess(success);
        log.setRepose(respone);
        wmsInterfaceLogMapper.insert(log);
    }
    private static void logResult(TmsBaseResponse res,String name) {
        if(StringUtils.equals(res.getCode(), TmsBaseResponse.CODE_SUCCESS)){
            log.info("【TMS接口:"+name+"】================成功====\n"+res);
            log.info("【TMS接口:"+name+"】================成功====\n"+ JSONObject.toJSONString(res));
        }else{
            log.error("【TMS接口:"+name+"】================失败====:\n"+ res);
            log.error("【TMS接口:"+name+"】================失败====:\n"+ JSONObject.toJSONString(res));
        }
    }