Commit 9e224c7d LN

hik接口返回值修改

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