Commit 9e224c7d LN

hik接口返回值修改

1 个父辈 fbed650f
......@@ -28,6 +28,7 @@ import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.system.bean.OrderSetting;
import com.neotel.smfcore.hikvision.HikApi;
import com.neotel.smfcore.hikvision.bean.TransferOrderInfo;
import com.neotel.smfcore.hikvision.bean.result.ApiResult;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import com.neotel.smfcore.security.bean.FileProperties;
import io.swagger.annotations.Api;
......@@ -251,8 +252,11 @@ public class InListController {
InList inList = inListCache.getInList(name);
if (inList == null) {
//从接口获取入库单
List<TransferOrderInfo> inOrderLists = HikApi.transferOrderApi(SecurityUtils.getCurrentUsername(), name, type.toString());
ApiResult apiResult = HikApi.transferOrderApi(SecurityUtils.getCurrentUsername(), name, type.toString());
if (ObjectUtil.isNotEmpty(apiResult.getMsg())) {
return ResultBean.newErrorResult(1, "smfcore.apiError", "错误码{0}:{1}", new String[]{apiResult.getCode() + "", apiResult.getMsg()});
}
List<TransferOrderInfo> inOrderLists = (List<TransferOrderInfo>)apiResult.getData();
if (inOrderLists == null || inOrderLists.size() <= 0) {
return ResultBean.newErrorResult(1, "smfcore.inlist.notFound", "未找到单据号[{0}]", new String[]{name});
}
......
......@@ -26,6 +26,7 @@ import com.neotel.smfcore.core.system.service.po.DataLog;
import com.neotel.smfcore.core.system.util.TaskService;
import com.neotel.smfcore.hikvision.HikApi;
import com.neotel.smfcore.hikvision.bean.HikOrderInfo;
import com.neotel.smfcore.hikvision.bean.result.ApiResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -273,26 +274,26 @@ public class LiteOrderCache implements ITaskListener {
}
//判断是工单号查询还是补料单号查询
List<Object> apiResults = null;
ApiResult apiResult = null;
List<HikOrderInfo> newItems = null;
if (ObjectUtil.isNotEmpty(liteOrder.getReplenishmentNo())) {
// 7.9补料单发料状态查询接口
apiResults = HikApi.updateRepOrderApi(userName, liteOrder.getReplenishmentNo());
apiResult = HikApi.updateRepOrderApi(userName, liteOrder.getReplenishmentNo());
} else {
// 7.7工单发料状态查询接口
apiResults = HikApi.updateOrderApi(userName, liteOrder.getOrderNo());
apiResult = HikApi.updateOrderApi(userName, liteOrder.getOrderNo());
}
if (apiResults != null && apiResults.size() == 2) {
int code = Integer.parseInt(apiResults.get(0).toString());
if (code == 33) {
if (apiResult != null ) {
if (apiResult.getCode() == 33) {
liteOrder.setClosed(true);
liteOrderManager.save(liteOrder);
log.info(" API更新 工单【" + liteOrder.getOrderNo() + "】已关闭,直接关闭不需要出库");
addOrderToMap(liteOrder);
return liteOrder;
} else {
newItems = (ArrayList<HikOrderInfo>) apiResults.get(1);
newItems = (ArrayList<HikOrderInfo>) apiResult.getData();
}
}
if (newItems != null) {
......
......@@ -19,6 +19,7 @@ import com.neotel.smfcore.core.outList.service.manager.IOutListManager;
import com.neotel.smfcore.core.outList.util.OutListCache;
import com.neotel.smfcore.hikvision.HikApi;
import com.neotel.smfcore.hikvision.bean.ReservedOrderItem;
import com.neotel.smfcore.hikvision.bean.result.ApiResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
......@@ -156,8 +157,11 @@ public class OutListController {
OutList outList = outListCache.getOutList(name);
if (outList == null) {
//从接口获取出库单
List<ReservedOrderItem> outOrderLists = HikApi.reservedOrderApi(SecurityUtils.getCurrentUsername(), name, type);
ApiResult apiResult= HikApi.reservedOrderApi(SecurityUtils.getCurrentUsername(), name, type);
if(ObjectUtil.isNotEmpty(apiResult.getMsg())) {
return ResultBean.newErrorResult(1, "smfcore.apiError", "错误码{0}:{1}", new String[]{apiResult.getCode() + "", apiResult.getMsg()});
}
List<ReservedOrderItem> outOrderLists =null;
if (outOrderLists == null || outOrderLists.size() <= 0) {
return ResultBean.newErrorResult(1, "smfcore.inlist.notFound", "未找到单据号[{0}]", new String[]{name});
}
......
......@@ -5,6 +5,7 @@ import com.neotel.smfcore.hikvision.bean.*;
import com.neotel.smfcore.hikvision.bean.api.HikApiRequest;
import com.neotel.smfcore.hikvision.bean.api.RequestParam;
import com.neotel.smfcore.hikvision.bean.api.ResponseParam;
import com.neotel.smfcore.hikvision.bean.result.ApiResult;
import com.neotel.smfcore.hikvision.util.HttpHelper;
import com.neotel.smfcore.hikvision.util.JsonUtil;
import lombok.extern.slf4j.Slf4j;
......@@ -97,7 +98,8 @@ public class HikApi {
* baseCode String 16 基地编号
* dumpQty Integer 转出数量
*/
public static List<TransferOrderInfo> transferOrderApi (String userName,String docNo,String docType) {
public static ApiResult transferOrderApi (String userName, String docNo, String docType) {
String apiName="Hik 转储单接口 (transferOrderApi): ";
String url =getUrl(config. addr_1_transferOrderApi,"transferOrderApi");
......@@ -121,11 +123,15 @@ public class HikApi {
} else if (responseInfo.getCode().equals(CODE_PARAMERROR) || responseInfo.getCode().equals(CODE_REPEAT)) {
needResend = true;
log.info(apiName+"返回code=" + responseInfo.getCode() + ",需要重发," + JsonUtil.toJsonStr(responseInfo));
log.info(apiName+"返回code=" + responseInfo.getCode() + ",message="+responseInfo.getMessage()+",需要重发," + JsonUtil.toJsonStr(responseInfo));
ApiResult apiResult=new ApiResult(responseInfo.getCode(),responseInfo.getMessage(),new ArrayList<>());
return apiResult;
} else {
log.info(apiName + "返回" + JsonUtil.toJsonStr(responseInfo));
String dataStr = responseInfo.getDataStr();
List<TransferOrderInfo> list = JsonUtil.toList(dataStr, TransferOrderInfo .class);
ApiResult apiResult=new ApiResult(0,"",list);
return apiResult;
}
} catch (Exception e) {
log.error(apiName+" 出错", e);
......@@ -432,14 +438,14 @@ public class HikApi {
* @param orderNo 工单号、合单号
* @return 保存下架过账信息 是否成功,true=成功
*/
public static List<Object> updateOrderApi(String userName, String orderNo){
public static ApiResult updateOrderApi(String userName, String orderNo){
boolean needResend = false;
String apiName="Hik 工单发料状态查询接口 (updateOrderApi): ";
String url = getUrl( config.addr_7_updateOrderApi,"updateOrderApi");
// data String 16 是 工单号/合单号
RequestParam info = new RequestParam(getReqCode(), userName, orderNo);
HikApiRequest request = new HikApiRequest(6, url,config.key_7_updateOrderApi,config.secret_7_updateOrderApi , info,new Date());
List<Object> resultList=new ArrayList<>();
// List<Object> resultList=new ArrayList<>();
log.info(apiName+" 发送" + info.getData());
try {
ResponseParam responseInfo = HttpHelper.post(request);
......@@ -456,17 +462,19 @@ public class HikApi {
// code Integer 结果码(33关闭)
//工单已关闭
log.info(apiName+"返回code=" + responseInfo.getCode() + ",工单已关闭,无法出库" );
resultList.add(33);
resultList.add(new ArrayList<>());
return resultList;
return new ApiResult(33,"工单已关闭,无法出库",new ArrayList<>());
// resultList.add(33);
// resultList.add(new ArrayList<>());
// return resultList;
}
else {
log.info(apiName + "返回" + JsonUtil.toJsonStr(responseInfo));
String dataStr = responseInfo.getDataStr();
List<HikOrderInfo> list = JsonUtil.toList(dataStr, HikOrderInfo .class);
resultList.add(responseInfo.getCode());
resultList.add(list);
return resultList;
return new ApiResult(responseInfo.getCode(),responseInfo.getMessage(),new ArrayList<>());
// resultList.add(responseInfo.getCode());
// resultList.add(list);
// return resultList;
}
} catch (Exception e) {
......@@ -541,10 +549,10 @@ public class HikApi {
* @param replenishmentNo 补料单号
* @return 返回备料列表
*/
public static List<Object> updateRepOrderApi(String userName, String replenishmentNo){
public static ApiResult updateRepOrderApi(String userName, String replenishmentNo){
String apiName="Hik 补料单发料状态查询接口 (updateRepOrderApi): ";
String url = getUrl(config.addr_9_updateRepOrderApi, "updateRepOrderApi");
List<Object> resultList=new ArrayList<>();
// List<Object> resultList=new ArrayList<>();
// data String 41 是 补料单号
RequestParam info = new RequestParam(getReqCode(), userName, replenishmentNo);
HikApiRequest request = new HikApiRequest(9, url,config.key_9_updateRepOrderApi,config.secret_9_updateRepOrderApi, info, new Date());
......@@ -564,16 +572,20 @@ public class HikApi {
// code Integer 结果码(33关闭)
//工单已关闭
log.info(apiName+"返回code=" + responseInfo.getCode() + ",工单已关闭,无法出库" );
resultList.add(33);
resultList.add(new ArrayList<>());
return resultList;
ApiResult apiResult=new ApiResult(33,"工单已关闭,无法出库",new ArrayList<>());
return apiResult;
// resultList.add(33);
// resultList.add(new ArrayList<>());
// return resultList;
} else {
log.info(apiName + "返回" + JsonUtil.toJsonStr(responseInfo));
String dataStr = responseInfo.getDataStr();
List<HikOrderInfo> list = JsonUtil.toList(dataStr, HikOrderInfo .class);
resultList.add(responseInfo.getCode());
resultList.add(list);
return resultList;
ApiResult apiResult=new ApiResult(responseInfo.getCode(),responseInfo.getMessage(),list);
return apiResult;
// resultList.add(responseInfo.getCode());
// resultList.add(list);
// return resultList;
}
} catch (Exception e) {
......@@ -593,7 +605,7 @@ public class HikApi {
* @param businessType 单据类型(0 线边仓间转储,1 )
* @return 返回预留单详情列表
*/
public static List<ReservedOrderItem> reservedOrderApi(String userName, String docNo , Integer businessType){
public static ApiResult reservedOrderApi(String userName, String docNo , Integer businessType){
String apiName="Hik 预留单转储出库接口 (reservedOrderApi): ";
String url = getUrl( config.addr_10_reservedOrderApi,"reservedOrderApi");
// 接口名 预留单转储出库接口
......@@ -618,11 +630,12 @@ public class HikApi {
} else if (responseInfo.getCode().equals(CODE_PARAMERROR) || responseInfo.getCode().equals(CODE_REPEAT)) {
needResend = true;
log.info(apiName+"返回code=" + responseInfo.getCode() + ",需要重发," + JsonUtil.toJsonStr(responseInfo));
return new ApiResult(responseInfo.getCode(), responseInfo.getMessage(), new ArrayList<>());
} else {
log.info(apiName + "返回" + JsonUtil.toJsonStr(responseInfo));
String dataStr = responseInfo.getDataStr();
List<ReservedOrderItem> list = JsonUtil.toList(dataStr, ReservedOrderItem.class);
return list;
List<ReservedOrderItem> list = JsonUtil.toList(dataStr, ReservedOrderItem.class);
return new ApiResult(responseInfo.getCode(), responseInfo.getMessage(), list);
}
} catch (Exception e) {
......
package com.neotel.smfcore.hikvision.bean.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ApiResult {
private int code=-1;
private String msg="";
private Object data="";
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!