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