jiangping
2024-12-30 3af254f1b36e7722673fcebe110da524b276105c
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
@@ -3,6 +3,8 @@
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
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.*;
@@ -10,6 +12,7 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.HttpsUtil;
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;
@@ -190,6 +193,122 @@
    }
    /**
     * 未完成订单列表接口
     * 根据区域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集合+筛选条件(合同号、制单开始日期、制单结束日期、发货地、到货地、省份,非需要),返回合同列表信息,按照时间倒序展示;
     * @param param 参数
@@ -244,10 +363,10 @@
    @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");
        }
//        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],
@@ -296,6 +415,23 @@
        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
     */
@@ -313,6 +449,7 @@
        return result;
    }
    /**
     * 发起 tms接口请求
     * @param url