server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/TMSContants.java
@@ -23,6 +23,7 @@ String[] getOutQtyAndVehicleQty = new String[]{"/tms/zhyt/getOutQtyAndVehicleQty", "ãTMSãæå®æ¶é´èå´å 累计åºåºé"};//3.8æå®æ¶é´èå´å 累计åºåºé String[] getSevenArrivalStatusAndDetails = new String[]{"/tms/zhyt/getSevenArrivalStatusAndDetails", "ãTMSãè¿7æ¥å°è´§æ åµ(嫿ç»)"};//3.13è¿7æ¥å°è´§æ åµ(嫿ç») String[] getNotFinishOrderList = new String[]{"/tms/zhyt/getNotFinishOrderList", "ãTMSãæªå®æè®¢å"};//3.13æªå®æè®¢å String[] getOutboundCapability = new String[]{"/tms/zhyt/getOutboundCapability", "ãTMSãåºåºè½åç»è®¡"};//3.14åºåºè½åç»è®¡ } public enum TopStatusLevel { server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOrderNoFinishListResponse.java
@@ -11,45 +11,30 @@ @Data @ApiModel("tmsæªå®æååå表è¿ååæ°") public class TmsOrderNoFinishListResponse { @ApiModelProperty(value = "è¥é订åç¼ç " ) private String orderNumber;// å符串 è¥é订åç¼ç @ApiModelProperty(value = "ååå·" ) private String contractNumber;// å符串 ååå· @ApiModelProperty(value = "å¶åæ¥æ" ) private String ncCreateDate ;// å符串 å¶åæ¥æ è¿åå¹´ææ¥ï¼æ¯å¦ï¼2024-07-08 @ApiModelProperty(value = "å·¥ååç§°" ) private String factoryName;// å符串 å·¥ååç§° @ApiModelProperty(value = "å·¥åç¼ç " ) private String factoryCode;// å符串 å·¥åç¼ç @ApiModelProperty(value = "è¿è¾åå·" ) private String transportCode ;//å符串 è¿è¾åå· @ApiModelProperty(value = "è¿è¾è½¦è¾" ) private String plateNumber;// å符串 è¿è¾è½¦è¾ @ApiModelProperty(value = "ç¶æ" ) private Integer status;// å符串 ç¶æ @ApiModelProperty(value = "ç¶ææè¿°" ) private String statusDesc;// å符串 ç¶æ @ApiModelProperty(value = "ä»»å¡ä¸è¾¾æ¶é´" ) private String transportDate;// å符串 ä»»å¡ä¸è¾¾æ¶é´ @ApiModelProperty(value = "订ååå»ºæ¥æ" ) private String createDate ;//å符串 订ååå»ºæ¥æ @ApiModelProperty(value = "åè´§å°" ) private String deliveryEnterprise ;//å符串 åè´§å° private String transportCode;// å符串 è¿è¾åå· @ApiModelProperty(value = "车çå·" ) private String platNumber;// å符串 车çå· @ApiModelProperty(value = "ååå·" ) private String contractNumber;// å符串 ååå· @ApiModelProperty(value = "ç¶æ 0æªå¯è¿ï¼1å¨éï¼2å°è´§" ) private String status;// å符串 ç¶æ 0 æªå¯è¿ï¼1 å¨éï¼2 å°è´§ @ApiModelProperty(value = "å°è¾¾æ¶é´" ) private String arrivedDate;// å符串 å°è¾¾æ¶é´ @ApiModelProperty(value = "åºåºæ¶é´" ) private String outDate ;// å符串 åºåºæ¶é´ @ApiModelProperty(value = "è¿è¾è®¡åå½¢ææ¶é´" ) private String transportDate;// å符串 è¿è¾è®¡åå½¢ææ¶é´ @ApiModelProperty(value = "æ°é(䏿¯)" ) private String ncTotality;// æ°å æ°é(䏿¯) @ApiModelProperty(value = "å°è´§å°" ) private String receiveEnterprise ;//å符串 å°è´§å° @ApiModelProperty(value = "叿ºå§å" ) private String driverName ;//å符串 叿ºå§å @ApiModelProperty(value = "叿ºææºå·" ) private String driverTel ;//å符串 叿ºææºå· @ApiModelProperty(value = "é¢è®¡å°è¾¾æ¶é´" ) private String plannedArrivedDate ;//å符串 é¢è®¡å°è¾¾æ¶é´ @ApiModelProperty(value = "è¿è¾é" ) private String totalQty;// æ°å è¿è¾é @ApiModelProperty(value = "åè´§ä»åºç»åº¦" ) private String deliveryLon;// æ°å åè´§ä»åºç»åº¦ @ApiModelProperty(value = "åè´§ä»åºç»´åº¦" ) private String deliveryLat ;//æ°å åè´§ä»åºç»´åº¦ @ApiModelProperty(value = "æ¶è´§ä»åºç»åº¦" ) private String receiveLon;// æ°å æ¶è´§ä»åºç»åº¦ @ApiModelProperty(value = "æ¶è´§ä»åºç»´åº¦" ) private String receiveLat;// æ°å æ¶è´§ä»åºç»´åº¦ @ApiModelProperty(value = "车è¾ç»åº¦" ) private String platLon ;//æ°å 车è¾ç»åº¦ @ApiModelProperty(value = "车è¾ç»åº¦" ) private String platLat ;//æ°å 车è¾ç»åº¦ private String arriveEnterprise;// å符串 å°è´§å° @ApiModelProperty(value = "订åç±»å" ) private String dispatchType ;// å符串 订åç±»å } server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOutboundCapabilityInfoResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,45 @@ package com.doumee.core.tms.model.response; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; /** * @author æ±è¹è¹ * @date 2023/11/23 14:03 */ @Data @ApiModel("tmsåºåºè½åç»è®¡æç»è¿ååæ°") public class TmsOutboundCapabilityInfoResponse { @ApiModelProperty(value = "å¶åæ¥æ" ) private String ncCreateDate ;// å符串 å¶åæ¥æ è¿åå¹´ææ¥ï¼æ¯å¦ï¼2024-07-08 @ApiModelProperty(value = "å·¥ååç§°" ) private String factoryName;// å符串 å·¥ååç§° @ApiModelProperty(value = "å·¥åç¼ç " ) private String factoryCode;// å符串 å·¥åç¼ç @ApiModelProperty(value = "è¿è¾åå·" ) private String transportCode;// å符串 è¿è¾åå· @ApiModelProperty(value = "车çå·" ) private String platNumber;// å符串 车çå· @ApiModelProperty(value = "ååå·" ) private String contractNumber;// å符串 ååå· @ApiModelProperty(value = "ç¶æ 0æªå¯è¿ï¼1å¨éï¼2å°è´§" ) private String status;// å符串 ç¶æ 0 æªå¯è¿ï¼1 å¨éï¼2 å°è´§ @ApiModelProperty(value = "å°è¾¾æ¶é´" ) private String arrivedDate;// å符串 å°è¾¾æ¶é´ @ApiModelProperty(value = "åºåºæ¶é´" ) private String outDate ;// å符串 åºåºæ¶é´ @ApiModelProperty(value = "è¿è¾è®¡åå½¢ææ¶é´" ) private String transportDate;// å符串 è¿è¾è®¡åå½¢ææ¶é´ @ApiModelProperty(value = "æ°é(䏿¯)" ) private BigDecimal ncTotality;// æ°å æ°é(䏿¯) @ApiModelProperty(value = "å°è´§å°" ) private String arriveEnterprise;// å符串 å°è´§å° @ApiModelProperty(value = "订åç±»å" ) private String dispatchType ;// å符串 订åç±»å } server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOutboundCapabilityResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.doumee.core.tms.model.response; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * @author æ±è¹è¹ * @date 2023/11/23 14:03 */ @Data @ApiModel("tmsåºåºè½åç»è®¡è¿ååæ°") public class TmsOutboundCapabilityResponse { @ApiModelProperty(value = "彿¥è®¢åé" ) private List<TmsOutboundCapabilityInfoResponse> currentDayOrderList;// 彿¥è®¢åé @ApiModelProperty(value = "彿¥è®¢åé" ) private List<TmsOutboundCapabilityInfoResponse> currentDayAgoOrderList;// æ¨æ¥åä¹å订åé } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -2137,6 +2137,10 @@ WholeProvinceBoardVO data = new WholeProvinceBoardVO(); data.setMaxAbility(new BigDecimal(0)); data.setHoursAbility(new BigDecimal(0)); data.setCurrentPlanNum(new BigDecimal(0)); data.setCurrentOrderNum(new BigDecimal(0)); data.setCrrentRestNum(new BigDecimal(0)); data.setCrrentOutNum(new BigDecimal(0)); List<TmsFactoryParam> paramList = factoryList(); String code = null; if(paramList!=null){ @@ -2155,13 +2159,7 @@ } } } if(isDebug){ data.setCurrentPlanNum(new BigDecimal(1220)); data.setCurrentOrderNum(new BigDecimal(32340)); data.setCrrentOutNum(new BigDecimal(3450)); data.setCrrentRestNum(new BigDecimal(456450)); } Date date = new Date(); /* Date date = new Date(); TmsOutQtyAndVehicleQtyRequest param = new TmsOutQtyAndVehicleQtyRequest(); param.setDateEnd(DateUtil.getShortTime(date)); param.setDateStart(DateUtil.getShortTime(date)); @@ -2169,16 +2167,111 @@ param.setFacrotyCodeList(new ArrayList<>()); param.getFacrotyCodeList().add(code);//æ¥è¯¢æå®ååº } List<TmsOutQtyAndVehicleQtyResponse> listSame= tmsService.getOutQtyAndVehicleQty(param);//å»å¹´åæ List<TmsOutQtyAndVehicleQtyResponse> listSame= tmsService.getOutQtyAndVehicleQty(param); if(listSame!=null ){ for(TmsOutQtyAndVehicleQtyResponse model : listSame){ data.setCrrentOutNum(data.getCrrentOutNum().add(Constants.formatBigdecimal(model.getTotalOutQty())));//仿¥åºåºé data.setCrrentOutCarNum(data.getCrrentOutCarNum()+(Constants.formatIntegerNum(model.getVehicleQty())));//仿¥åºåºè½¦æ¬¡ } } }*/ initOutboundCapability(data,factoryCode); return data; } private void initOutboundCapability(WholeProvinceBoardVO data, String code) { TmsFacrotyCodeListRequest param = new TmsFacrotyCodeListRequest(); if(StringUtils.isNotBlank(code)){ param.setFacrotyCodeList(new ArrayList<>()); param.getFacrotyCodeList().add(code); } TmsOutboundCapabilityResponse result= tmsService.getOutboundCapability(param); if(result !=null){ List<String> planCodes = new ArrayList<>(); List<String> todayCodes = new ArrayList<>(); String todayDate = DateUtil.getShortTime(new Date()); if(result.getCurrentDayOrderList()!=null && result.getCurrentDayOrderList().size()>0){ for(TmsOutboundCapabilityInfoResponse model :result.getCurrentDayOrderList()){ data.setCurrentOrderNum(data.getCurrentOrderNum().add(Constants.formatBigdecimal(model.getNcTotality())));//仿¥è®¢åé /** * DISPATCH_TYPE in(1,2) ä¸ TRANSPORT_CODEä¸ä¸ºç©ºï¼sum(NC_TOTALITY) + DISPATCH_TYPE not in(1,2) sum(NC_TOTALITY) * 仿¥åºåºä¸è¾¾ç计å任塿»é */ if(StringUtils.isNotBlank(model.getTransportCode()) && (StringUtils.equals("1",model.getDispatchType()) || StringUtils.equals("2",model.getDispatchType()))){ data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//仿¥è®¢åé } if(!(StringUtils.equals("1",model.getDispatchType()) || StringUtils.equals("2",model.getDispatchType()))){ data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//仿¥è®¡åé } /** * 仿¥ä¸è¾¾åºåºç计åä»»å¡å¯¹åºçè¿è¾è½¦æ¬¡æ° * TRANSPORT_CODEä¸ä¸ºç©ºcount(transport_code ) */ if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){ planCodes.add(model.getTransportCode()); } /** * 仿¥ä¸è¾¾åºåºç计åä»»å¡å¯¹åºçè¿è¾è½¦æ¬¡æ° * TRANSPORT_CODEä¸ä¸ºç©ºcount(transport_code ) */ if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){ planCodes.add(model.getTransportCode()); } /** * out_dateä¸ºå½æ¥,sum(NC_TOTALITY) 仿¥å®æçåºåºä½ä¸ä»»å¡æ»é * TRANSPORT_CODEä¸ä¸ºç©º ä¸out_dateä¸ºå½æ¥ count(transport_code) 仿¥å®æçåºåºä½ä¸ä»»å¡çè¿è¾è½¦æ¬¡æ° */ if(StringUtils.isNotBlank(model.getOutDate()) && model.getOutDate().length()> 10){ String tDate = model.getOutDate().substring(0,10); if(tDate.equals(todayDate)){ //妿æ¯å½æ¥ data.setCrrentOutNum(data.getCrrentOutNum().add(Constants.formatBigdecimal(model.getNcTotality())));//仿¥è®¢åé } if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),todayCodes)){ todayCodes.add(model.getTransportCode()); } } } } if(result.getCurrentDayAgoOrderList()!=null && result.getCurrentDayAgoOrderList().size()>0){ for(TmsOutboundCapabilityInfoResponse model :result.getCurrentDayAgoOrderList()){ /** * out_date为空ï¼sum(NC_TOTALITY) æ¨å¤©æªå®æåºåºè®¡åä»»å¡ * out_date为空 ä¸TRANSPORT_CODEä¸ä¸ºç©º * count(transport_code ) æ¨å¤©æªå®æåºåºè®¡åä»»å¡è½¦æ¬¡ */ if(StringUtils.isBlank(model.getOutDate())){ data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//仿¥è®¡åé if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){ planCodes.add(model.getTransportCode()); } } } } data.setCurrentPlanCarNum(planCodes.size());//仿¥è®¡å车次 data.setCrrentOutCarNum(todayCodes.size());//仿¥åºåºè½¦æ¬¡ } data.setCrrentRestNum(data.getCurrentPlanNum().subtract(data.getCrrentOutNum())); data.setCrrentRestCarNum(data.getCurrentPlanCarNum() -data.getCrrentOutCarNum()); if(data.getCrrentRestNum().compareTo(new BigDecimal(0)) <=0){ data.setCrrentRestNum(new BigDecimal(0)); } if(data.getCrrentRestCarNum()<=0){ data.setCrrentRestCarNum(0); } } private boolean notInList(String transportCode, List<String> planCodes) { for(String s :planCodes){ if(StringUtils.equals(transportCode,s)){ return false; } } return true; } /** * åºåºè½åææ°¸å© * @return @@ -2343,7 +2436,7 @@ String flag = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.SCREEN_SEVENT_ARRIVAL_STARTDATE).getCode(); if(StringUtils.equals(flag,"-1")){ startDate =DateUtil.getBeginDayOfMonth(0); date = DateUtil.addMonthToDate(startDate,7); date = DateUtil.addDaysToDate(startDate,7); } param.setNcCreateDateFrom(DateUtil.getShortTime(startDate)); param.setNcCreateDateThrough(DateUtil.getShortTime(date)); server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
@@ -208,6 +208,23 @@ } /** * åºåºè½åç»è®¡ * æ¥è¯¢æä¸ªå/å ¨é¨åç仿¥è®¡åéã仿¥åºåºéã仿¥æªåºåºéæ°æ®ã * @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 åæ° server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/TmsService.java
@@ -31,6 +31,7 @@ TmsBasePageResponse<TmsOrderListResponse> orderList(TmsOrderListRequest param); List<TmsGisListResponse> gisList(TmsGisListRequest param); TmsBasePageResponse<TmsOrderNoFinishListResponse> getNotFinishOrderList(TmsOrderNoFinishListRequest param); TmsOutboundCapabilityResponse getOutboundCapability(TmsFacrotyCodeListRequest param); List<TmsCircleStatusResultListResponse> getCicleStatusList(TmsCircleStatusListRequest param); /** * ååè¯¦æ æ¥å£