From 7759c33b37cf2c5657dcf6861752b05cf8ba9d0b Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 12 九月 2024 15:21:10 +0800
Subject: [PATCH] 代码初始化
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 160 insertions(+), 7 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java
index d4d4d4b..b8ee494 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java
@@ -1,22 +1,26 @@
package com.doumee.service.business.impl.wms;
+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.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.WmsService;
+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.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
/**
* WMS骞冲彴瀵规帴Service瀹炵幇
@@ -24,6 +28,7 @@
* @date 2023/11/30 15:33
*/
@Service
+@Slf4j
public class WmsServiceImpl implements WmsService {
@Autowired
private PlatformWmsJobMapper platformWmsJobMapper;
@@ -35,7 +40,150 @@
private PlatformJobMapper platformJobMapper;
@Autowired
private PlatformWmsDetailMapper platformWmsDetailMapper;
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private WmsInterfaceLogMapper wmsInterfaceLogMapper;
+ /**
+ * 鍏ュ簱閫氱煡浠诲姟涓氬姟澶勭悊
+ * @param job 鍙傛暟
+ * @return
+ */
+ @Override
+ public WmsBaseResponse<WmsBaseDataResponse> orderPlatformBind(PlatformJob job) {
+ if(StringUtils.isBlank(job.getBillCode()) || StringUtils.isBlank(job.getPlatformWmsCode())){
+
+ return null;
+ }
+ int type = 0;
+ if(Constants.equalsInteger(job.getType(),Constants.ONE)
+ || Constants.equalsInteger(job.getType(),Constants.THREE)){
+ //濡傛灉鏄璐э紙鍑哄簱锛�
+ type =1 ;
+ }else if(Constants.equalsInteger(job.getType(),Constants.ZERO)
+ || Constants.equalsInteger(job.getType(),Constants.TWO)){
+ //濡傛灉鏄璐э紙鍑哄簱锛�
+ type =0 ;
+ }else{
+ return null;
+ }
+ WmsOrderPlatformRequest param = new WmsOrderPlatformRequest();
+ param.setData(new ArrayList<>());
+ WmsOrderPlatformInfoRequest o = new WmsOrderPlatformInfoRequest();
+ o.setCarrierBillCode(job.getBillCode());
+ o.setRailwayNo(job.getPlatformWmsCode());
+ param.getData().add(o);
+ String url = type == 0?systemDictDataBiz.queryByCode(Constants.WSM_PARAM,Constants.WMS_INBOUND_PLATFROM_URL).getCode():systemDictDataBiz.queryByCode(Constants.WSM_PARAM,Constants.WMS_OUTBOUND_PLATFROM_URL).getCode();;
+ String name = type ==0?"銆怶MS銆戝叆搴綔涓氬崟鍒嗛厤鏈堝彴":"銆怶MS銆戝嚭搴撲綔涓氱殑鍒嗛厤鏈堝彴";
+ WmsBaseResponse<WmsBaseDataResponse> response = sendHttpRequest(url,name,JSONObject.toJSONString(param),new TypeReference< WmsBaseResponse<WmsBaseDataResponse>>(){});
+ PlatformJob update = new PlatformJob();
+ update.setId(job.getId());
+ update.setWmsSendDate(new Date());
+ update.setWmsSendNum(job.getWmsSendNum() + 1);
+ update.setWmsSendPlatformCode(job.getPlatformWmsCode());
+ if(response!=null && response.getData() !=null
+ && response.getData().size()>0 && StringUtils.equals(response.getData().get(0).getSuccess(),WmsBaseResponse.CODE_SUCCESS)){
+ //濡傛灉鎴愬姛
+ update.setWmsSendStatus(Constants.ONE);
+ update.setWmsSendInfo("閫氱煡WMS浣滀笟鍗曞垎閰嶆湀鍙版垚鍔�");
+ }else{
+ //濡傛灉澶辫触
+ update.setWmsSendStatus(Constants.TWO);
+ update.setWmsSendInfo("閫氱煡WMS浣滀笟鍗曞垎閰嶆湀鍙板け璐�:"+(response!=null?JSONObject.toJSONString(response):"鎺ュ彛璋冪敤澶辫触"));
+ }
+ platformJobMapper.updateById(update);
+ return response;
+
+ }
+ /**
+ * 鍏ュ簱閫氱煡浠诲姟涓氬姟澶勭悊
+ * @return
+ */
+ @Override
+ public WmsBaseResponse<WmsInventoryDataResponse> getInventoryList(){
+ String url = systemDictDataBiz.queryByCode(Constants.WSM_PARAM,Constants.WMS_GET_INVENTORYLIST_URL).getCode() ;
+ String name = "銆怶MS銆戝簱瀛樻煡璇�" ;
+ WmsBaseResponse<WmsInventoryDataResponse> response = sendHttpRequest(url,name,JSONObject.toJSONString(new JSONObject()),new TypeReference< WmsBaseResponse<WmsInventoryDataResponse>>(){});
+ if(response!=null
+ && response.getData() !=null
+ && response.getData().size()>0
+ && StringUtils.equals(response.getData().get(0).getSuccess(),WmsBaseResponse.CODE_SUCCESS)){
+ //濡傛灉璇锋眰鎴愬姛
+
+ }else{
+ //濡傛灉澶辫触
+ if(response ==null){
+ response = new WmsBaseResponse();
+ response.setData(new ArrayList<>());
+ }
+ if(response.getData() == null){
+ response.setData(new ArrayList<>());
+ }
+ }
+ return response;
+
+ }
+ @Override
+ public void saveInterfaceLog(String url,String name,String param,Integer success,String respone,int type){
+ if(wmsInterfaceLogMapper ==null){
+ return;
+ }
+ WmsInterfaceLog log = new WmsInterfaceLog();
+ log.setCreateDate(new Date());
+ log.setUrl(url);
+ log.setEditDate(log.getCreateDate());
+ log.setPlat(Constants.ZERO);
+ log.setName(name);
+ log.setIsdeleted(Constants.ZERO);
+ log.setRequest(param);
+ log.setType(type);
+ log.setSuccess(success);
+ log.setRepose(respone);
+ wmsInterfaceLogMapper.insert(log);
+ }
+
+ /**
+ * 鍙戣捣wms鎺ュ彛璇锋眰
+ * @param url
+ * @param name
+ * @param param
+ * @param typeReference
+ * @return
+ * @param <T>
+ */
+ public <T> WmsBaseResponse<T> sendHttpRequest(String url, String name, String param,TypeReference<WmsBaseResponse<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);
+ WmsBaseResponse 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 {
+ saveInterfaceLog(url,name,param,success,res,Constants.ZERO);
+ }
+ }
+ return null;
+ }
+ private static void logResult(WmsBaseResponse<WmsBaseDataResponse> res,String name) {
+ if(StringUtils.equals(res.getData().get(0).getSuccess(), WmsBaseResponse.CODE_SUCCESS)){
+ log.info("銆怶MS鎺ュ彛锛�"+name+"銆�================鎴愬姛====\n"+res);
+ }else{
+ log.error("銆怶MS鎺ュ彛锛�"+name+"銆�================澶辫触====锛歕n"+ res);
+ }
+ }
/**
* 鍏ュ簱閫氱煡浠诲姟涓氬姟澶勭悊
* @param list 鍙傛暟
@@ -43,7 +191,7 @@
*/
@Override
@Transactional
- public WmsBaseResponse inboundNotice(List<WmsInboundNoticeRequest> list) {
+ public WmsBaseResponse<WmsBaseDataResponse> inboundNotice(List<WmsInboundNoticeRequest> list) {
if(list ==null || list.size() ==0){
return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
}
@@ -87,7 +235,8 @@
entity.setCreateDate(new Date());
entity.setIsdeleted(Constants.ZERO);
entity.setIocode(d.getIoCode());
- entity.setJobId(job.getId());
+ entity.setJobId(job.getJobId());
+ entity.setWmsJobId(job.getId());
entity.setIoQty(d.getIoQty());
entity.setStatus(Constants.ZERO);
entity.setRate(d.getRate());
@@ -128,6 +277,7 @@
job.setIsdeleted(Constants.ZERO);
job.setType(Constants.platformJobType.wxcxh);//榛樿鏄鍗忚溅鍗歌揣
job.setStatus(Constants.PlatformJobStatus.WAIT_CONFIRM.getKey());//榛樿寰呯‘璁ょ姸鎬�
+ //鏌ヨ杞﹁締鏄惁鑷湁杞︼紝浠ュ強jobNum琛ㄧず浣嗘眰浣滀笟鏁伴噺锛堥潪宸茬鍥殑浣滀笟鏁�)
Cars car = carsMapper.selectOne(new QueryWrapper<Cars>()
.select("*,(select count(1) from platform_job b where b.plate_num='"+param.getPlateNumber()+"' and b.status in("+
Constants.PlatformJobStatus.LEAVED+")) as jobNum")
@@ -157,6 +307,7 @@
job.setIsdeleted(Constants.ZERO);
job.setType(Constants.platformJobType.wxczh);//榛樿鏄鍗忚溅瑁呭ソ
job.setStatus(Constants.PlatformJobStatus.WAIT_CONFIRM.getKey());//榛樿寰呯‘璁ょ姸鎬�
+ //鏌ヨ杞﹁締鏄惁鑷湁杞︼紝浠ュ強jobNum琛ㄧず浣嗘眰浣滀笟鏁伴噺锛堥潪宸茬鍥殑浣滀笟鏁�)
Cars car = carsMapper.selectOne(new QueryWrapper<Cars>()
.select("*,(select count(1) from platform_job b where b.plate_num='"+param.getPlateNumber()+"' and b.status in("+
Constants.PlatformJobStatus.LEAVED+")) as jobNum")
@@ -220,7 +371,7 @@
job.setPlateNumber(param.getPlateNumber());
job.setType(Constants.ONE);
job.setIoCreatedate(param.getCreateDate());
- job.setJobId(model.getId());
+ job.setJobId(job.getId());
job.setDriverPhone(param.getDriverPhone());
platformWmsJobMapper.insert(job);
jobList.add(model);
@@ -231,7 +382,8 @@
entity.setCreateDate(new Date());
entity.setIsdeleted(Constants.ZERO);
entity.setIocode(d.getIoCode());
- entity.setJobId(job.getId());
+ entity.setJobId(job.getJobId());
+ entity.setWmsJobId(job.getId());
entity.setIoQty(d.getIoQty());
entity.setStatus(Constants.ZERO);
entity.setRate(d.getRate());
@@ -338,6 +490,7 @@
* @return
*/
+
private WmsBaseResponse returnSuccessReuslt(String msg) {
WmsBaseResponse response = new WmsBaseResponse();
response.setData(new ArrayList<>());
--
Gitblit v1.9.3