jiangping
2024-12-13 6ef74724e5da3271b77c8953df3c556439eed13d
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
@@ -5,13 +5,9 @@
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.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.HttpsUtil;
import com.doumee.core.wms.model.request.*;
@@ -25,6 +21,7 @@
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;
@@ -72,11 +69,109 @@
    @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.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;
                }
                t.setName(tem.getName());
                t.setKey(tem.getKey());
                t.setSecondList(getSecondCircleStatusList(tem,response.getData()));
                list.add(t);
            }
        }
        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(StringUtils.equals(status.getOrderStatus(),t.toString())){
                        list.add(status);
                    }
                }
            }
        }
        return list;
    }
    /**
@@ -94,8 +189,8 @@
           param.setContractNumbers(null);
       }
        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,"【TMS】合同列表接口",JSONObject.toJSONString(param)
                    +TMSContants.InterfacePath.getOrderList[0];
        TmsBaseResponse<List<TmsOrderListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderList[1],JSONObject.toJSONString(param)
                ,new TypeReference< TmsBaseResponse<List<TmsOrderListResponse>>>(){});
        if(response ==null){
            return  new ArrayList<>();
@@ -110,15 +205,26 @@
     */
    @Override
    public  TmsOrderInfoResponse orderInfo(TmsOrderInfoRequest param){
        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,"【TMS】合同详情接口",JSONObject.toJSONString(param)
                ,new TypeReference< TmsBaseResponse<TmsOrderInfoResponse>>(){});
        if(response ==null){
            return new TmsOrderInfoResponse();
        }else{
            return response.getData()==null?new TmsOrderInfoResponse():response.getData();
        TmsOrderInfoResponse result = new TmsOrderInfoResponse();
        if(StringUtils.isBlank(param.getContractNumber())){
            return  result;
        }
        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)
                ,new TypeReference< TmsBaseResponse<TmsOrderInfoResponse>>(){});
        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;
    }
    /**