admin/src/views/business/platformEvent.vue
@@ -63,7 +63,6 @@ <span v-if="row.stockStatus != 'rear' && row.stockStatus != 'front'">{{ row.stockStatus }}</span> </template> </el-table-column> <el-table-column prop="stockStatus" label="车é¨ç¶æ" min-width="90px"></el-table-column> <el-table-column label="车é¨ç¶æ" min-width="100px"> <template slot-scope="{row}"> <span v-if="row.vehicleDoorStatus == 'open'">å¼é¨</span> server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -126,6 +126,11 @@ public static final String WMS_INBOUND_PLATFROM_URL ="WMS_INBOUND_PLATFROM_URL" ; public static final String WMS_GET_INVENTORYLIST_URL ="WMS_GET_INVENTORYLIST_URL" ; public static final String WMS_OUTBOUND_PLATFROM_URL ="WMS_OUTBOUND_PLATFROM_URL" ; public static final String TSM_PARAM ="TSM_PARAM" ; public static final String TMS_ORDER_LIST_URL ="TMS_ORDER_LIST_URL" ; public static final String TMS_ORDER_DETAIL_URL ="TMS_ORDER_DETAIL_URL" ; public static final String TMS_LOCK_STATUS_URL ="TMS_LOCK_STATUS_URL" ; public static final String TMS_INTERFACE_URL_PREFIX ="TMS_INTERFACE_URL_PREFIX" ; public static boolean DEALING_HK_SYNCPRIVILEGE= false; public static boolean DEALING_HK_SYNCDEVICE = false; public static boolean DEALING_HK_SYNCPLATFORM = false; server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/WmsPushController.java
@@ -4,39 +4,21 @@ import com.doumee.api.BaseController; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.exception.BusinessException; import com.doumee.core.haikang.model.param.request.AcsDeviceListRequest; import com.doumee.core.haikang.model.param.request.EventSubRequest; import com.doumee.core.haikang.model.param.request.ParkListRequest; import com.doumee.core.haikang.model.param.request.PrivilegeGroupRequest; import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest; import com.doumee.core.haikang.model.param.request.event.parks.EventParkRequest; import com.doumee.core.haikang.model.param.request.event.visit.EventVisitRequest; import com.doumee.core.model.ApiResponse; import com.doumee.core.utils.Constants; import com.doumee.core.wms.model.request.WmsActionNoticeRequest; import com.doumee.core.wms.model.request.WmsBaseRequest; import com.doumee.core.wms.model.request.WmsInboundNoticeRequest; import com.doumee.core.wms.model.request.WmsOutboundNoticeRequest; import com.doumee.core.wms.model.response.WmsBaseResponse; import com.doumee.service.business.WmsService; import com.doumee.service.business.impl.hksync.HkSyncDeviceServiceImpl; import com.doumee.service.business.impl.hksync.HkSyncParkServiceImpl; import com.doumee.service.business.impl.hksync.HkSyncPrivilegeServiceImpl; import com.doumee.service.business.impl.hksync.HkSyncPushServiceImpl; import com.doumee.service.business.third.WmsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * @author æ±è¹è¹ server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudController.java
@@ -10,7 +10,7 @@ import com.doumee.core.wms.model.request.WmsInboundNoticeRequest; import com.doumee.core.wms.model.request.WmsOutboundNoticeRequest; import com.doumee.core.wms.model.response.WmsBaseResponse; import com.doumee.service.business.WmsService; import com.doumee.service.business.third.WmsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java
@@ -4,7 +4,7 @@ import com.doumee.config.annotation.LoginNoRequired; import com.doumee.core.utils.Constants; import com.doumee.core.wms.model.response.WmsBaseResponse; import com.doumee.service.business.WmsService; import com.doumee.service.business.third.WmsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsBaseRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.doumee.core.tms.model.request; 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 TmsBaseRequest { } server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsLockStatusQueryRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.doumee.core.tms.model.request; import io.swagger.annotations.ApiModel; import lombok.Data; import java.util.List; /** * @author æ±è¹è¹ * @date 2023/11/23 14:03 */ @Data @ApiModel("tmsæ¥è¯¢ååå·ä¸éç¶æè¯·æ±åæ°") public class TmsLockStatusQueryRequest { private List<String> contractNumbers; //æ¯ éå ååå· å¿ å¡«ï¼è³å°ä¼ ä¸ä¸ªååå· } server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOrderInfoRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.doumee.core.tms.model.request; import io.swagger.annotations.ApiModel; import lombok.Data; import java.util.List; /** * @author æ±è¹è¹ * @date 2023/11/23 14:03 */ @Data @ApiModel("tmsåå详æ 请æ±åæ°") public class TmsOrderInfoRequest { private String contractNumber ;//æ¯ ååå· } server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOrderListRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.doumee.core.tms.model.request; import io.swagger.annotations.ApiModel; import lombok.Data; import java.util.List; /** * @author æ±è¹è¹ * @date 2023/11/23 14:03 */ @Data @ApiModel("tmsååå表请æ±åæ°") public class TmsOrderListRequest { private List<String> permissionDomainIdList; //æ¯ éå åºåIDéå private List<String> contractNumbers; // å¦ éå ååå·éå private String fromRepertoty ;//å¦ å符串 åè´§å° private String toRepertoty ;// å¦ å符串 å°è´§å° private String provinceName ;// å¦ å符串 å°è´§å°ç份 } server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsBaseResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ 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 TmsBaseResponse<T> { public static final String CODE_SUCCESS = "0"; @ApiModelProperty(value = "è¿ååæ°" ) private T data; @ApiModelProperty(value = "ååºç ") private String code; @ApiModelProperty(value = "è¯·æ±æ¯å¦æå") private boolean success; @ApiModelProperty(value = "éè¯¯æ¶æ¯") private String message; @ApiModelProperty(value = "å¼å¸¸æ¶æ¯") private String exception; } server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsLockStatusQueryResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,34 @@ package com.doumee.core.tms.model.response; import io.swagger.annotations.ApiModel; import lombok.Data; import java.util.List; /** * @author æ±è¹è¹ * @date 2023/11/23 14:03 */ @Data @ApiModel("tmsæ¥è¯¢ååå·ä¸éç¶æè¿ååæ°") public class TmsLockStatusQueryResponse { /** { "code": 0, "data": [ { "outDate": "2024-04-25 14:50:20", "contractNumber": "112623190" }, { "outDate": "2024-06-21 10:15:10", "contractNumber": "112722870" } ], "message": "æä½æå" } */ private String contractNumber;// ååå· private String outDate ;//ä¸éæ¶é´ 2024-04-29 14:50:20 } server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOrderInfoResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ package com.doumee.core.tms.model.response; import io.swagger.annotations.ApiModel; import lombok.Data; /** * @author æ±è¹è¹ * @date 2023/11/23 14:03 */ @Data @ApiModel("tmsåå详æ è¿ååæ°") public class TmsOrderInfoResponse { /** { "code": 0, "data": [ { "ncCreateDate": "2024-09-10 08:20:04", "toRepertotyName": "èæ¹å¸çèå ¬å¸ä»åº", "contractNumber": "112895169", "orderStatus": "å°è¾¾å¸è´§å°", "fromRepertotyName": "èæ¹æååº", "plateNumber": "çB25010" } ], "message": "æä½æå" } */ private String contratNumber ; //ååå· private String fromRepertotyName ; //åè´§å° private String toRepertoty ; //å°è´§å° private String plateNumber; // 车çå· ååæªé è½½åæ private String orderStatus ; //å½åè¿è¾åç¶æ private String ncCreateDate; // å¶åæ¶é´ } server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOrderListResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,38 @@ package com.doumee.core.tms.model.response; import io.swagger.annotations.ApiModel; import lombok.Data; import java.util.List; /** * @author æ±è¹è¹ * @date 2023/11/23 14:03 */ @Data @ApiModel("tmsååå表è¿ååæ°") public class TmsOrderListResponse { /** { "code": 0, "data": [ { "fromRepertoty": "åè¥æååº", "ncCreateDate": "2023-12-04 10:36:15", "toRepertoty": "天津å¸ä¸å¿ä»åº", "contractNumber": "112308335", "orderStatus": "å°è¾¾å¸è´§å°" } ], "message": "æä½æå" } */ private String contractNumber; // ååå· private String fromRepertoty; // åè´§å° private String toRepertoty ; //å°è´§å° private String plateNumber; // 车çå· ååæªé è½½åæ private String orderStatus; // å½åè¿è¾åç¶æ private String ncCreateDate; // å¶åæ¶é´ } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
@@ -149,7 +149,6 @@ @Override public void syncOrgUpdateData( Date start, Date end){ } @Override public void syncVisitData() { } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,129 @@ package com.doumee.service.business.impl.thrid; 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.TmsOrderListRequest; import com.doumee.core.tms.model.response.TmsBaseResponse; import com.doumee.core.tms.model.response.TmsLockStatusQueryResponse; import com.doumee.core.tms.model.response.TmsOrderListResponse; import com.doumee.core.utils.Constants; 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.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.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; /** * TMSå¹³å°å¯¹æ¥Serviceå®ç° * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ @Service @Slf4j public class TmsServiceImpl implements TmsService { @Autowired private PlatformWmsJobMapper platformWmsJobMapper; @Autowired private PlatformGroupMapper platformGroupMapper; @Autowired private CarsMapper carsMapper; @Autowired private MemberMapper memberMapper; @Autowired private PlatformJobMapper platformJobMapper; @Autowired private PlatformWmsDetailMapper platformWmsDetailMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private WmsInterfaceLogMapper wmsInterfaceLogMapper; /** * çµåéä¸éæ¶é´æ¥å£ * æ ¹æ®ååå·ï¼æ¥è¯¢çµåéä¸éæ åµï¼å卿¹éæ¥è¯¢çæ åµï¼ * @param param åæ° * @return WmsBaseResponse */ @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(); TmsBaseResponse<List<TmsLockStatusQueryResponse>> response = sendHttpRequest(url,"çµåéä¸éæ¶é´æ¥å£",JSONObject.toJSONString(param) ,new TypeReference< TmsBaseResponse<List<TmsLockStatusQueryResponse>>>(){}); return new TmsBaseResponse<>(); } /** * ååå表æ¥å£ * æ ¹æ®åºåIDéå+ç鿡件ï¼ååå·ãå¶åå¼å§æ¥æãå¶åç»ææ¥æãåè´§å°ãå°è´§å°ãç份ï¼ééè¦ï¼ï¼è¿åååå表信æ¯ï¼æç §æ¶é´ååºå±ç¤ºï¼ * @param param åæ° * @return WmsBaseResponse */ @Override public TmsBaseResponse<List<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 new TmsBaseResponse<>(); } /** * åèµ· tmsæ¥å£è¯·æ± * @param url * @param name * @param param * @param typeReference * @return * @param <T> */ public <T> TmsBaseResponse<T> sendHttpRequest(String url, String name, String param,TypeReference<TmsBaseResponse<T>> typeReference){ log.info("ã"+name+"ã================å¼å§===="+ JSONObject.toJSONString(param)); if ( StringUtils.isNotBlank(url)) { String res = null; int success = 0; try { Map<String,String> headers = new HashMap<>(); res = HttpsUtil.postJson(url,param); TmsBaseResponse result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,name); if(result!=null && result.getData() !=null ){ }else{ success =1; } return result; }catch (Exception e){ success = 1; log.error("ã"+name+"ã================失败===="+ JSONObject.toJSONString(param)); }finally { } } return null; } private static void logResult(TmsBaseResponse res,String name) { if(StringUtils.equals(res.getCode(), TmsBaseResponse.CODE_SUCCESS)){ log.info("ãTMSæ¥å£ï¼"+name+"ã================æå====\n"+res); }else{ log.error("ãTMSæ¥å£ï¼"+name+"ã================失败====ï¼\n"+ res); } } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
ÎļþÃû´Ó server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.doumee.service.business.impl.wms; package com.doumee.service.business.impl.thrid; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; @@ -13,7 +13,7 @@ import com.doumee.core.wms.model.response.WmsInventoryDataResponse; import com.doumee.dao.business.*; import com.doumee.dao.business.model.*; import com.doumee.service.business.WmsService; import com.doumee.service.business.third.WmsService; import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/TmsService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,43 @@ package com.doumee.service.business.third; import com.doumee.core.tms.model.request.TmsLockStatusQueryRequest; 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.TmsOrderListResponse; import com.doumee.core.wms.model.request.WmsActionNoticeRequest; import com.doumee.core.wms.model.request.WmsBaseRequest; import com.doumee.core.wms.model.request.WmsInboundNoticeRequest; import com.doumee.core.wms.model.request.WmsOutboundNoticeRequest; import com.doumee.core.wms.model.response.WmsBaseResponse; import com.doumee.dao.business.model.PlatformJob; import java.util.List; /** * æå°ä¿¡æ¯è¡¨Serviceå®ä¹ * @author æ±è¹è¹ * @date 2024/06/28 10:03 */ public interface TmsService { /** * çµåéä¸éæ¶é´æ¥å£ * æ ¹æ®ååå·ï¼æ¥è¯¢çµåéä¸éæ åµï¼å卿¹éæ¥è¯¢çæ åµï¼ * @param param åæ° * @return WmsBaseResponse */ TmsBaseResponse<List<TmsLockStatusQueryResponse>> lockStatusQuery(TmsLockStatusQueryRequest param); /** * ååå表æ¥å£ * æ ¹æ®åºåIDéå+ç鿡件ï¼ååå·ãå¶åå¼å§æ¥æãå¶åç»ææ¥æãåè´§å°ãå°è´§å°ãç份ï¼ééè¦ï¼ï¼è¿åååå表信æ¯ï¼æç §æ¶é´ååºå±ç¤ºï¼ * @param param åæ° * @return WmsBaseResponse */ TmsBaseResponse<List<TmsOrderListResponse>> orderList(TmsOrderListRequest param); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/WmsService.java
ÎļþÃû´Ó server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WmsService.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.doumee.service.business; package com.doumee.service.business.third; import com.doumee.core.wms.model.request.WmsActionNoticeRequest; import com.doumee.core.wms.model.request.WmsBaseRequest; @@ -10,7 +10,7 @@ import java.util.List; /** * æå°ä¿¡æ¯è¡¨Serviceå®ä¹ * WMS系統Serviceå®ä¹ * @author æ±è¹è¹ * @date 2024/06/28 10:03 */