Commit 727a88d6 sunke

兼容SMD box 接口

1 个父辈 4af5f741
package com.neotel.smfcore.core.storage.rest; package com.neotel.smfcore.custom.smdbox;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
......
package com.neotel.smfcore.custom.smdbox;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.DateUtil;
import com.neotel.smfcore.common.utils.HttpHelper;
import com.neotel.smfcore.common.utils.JsonUtil;
import com.neotel.smfcore.core.api.bean.ApiResult;
import com.neotel.smfcore.core.api.bean.CodeValidateParam;
import com.neotel.smfcore.core.api.listener.BaseSmfApiListener;
import com.neotel.smfcore.core.barcode.bean.BarcodeRule;
import com.neotel.smfcore.core.barcode.bean.CodeBean;
import com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE;
import com.neotel.smfcore.core.barcode.service.manager.IComponentManager;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.barcode.service.po.Component;
import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.core.order.service.manager.ILiteOrderItemManager;
import com.neotel.smfcore.core.order.service.po.LiteOrder;
import com.neotel.smfcore.core.order.service.po.LiteOrderItem;
import com.neotel.smfcore.core.system.service.po.DataLog;
import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Service
@Slf4j
public class SmdboxApi extends BaseSmfApiListener {
@Autowired
private ILiteOrderItemManager liteOrderItemManager;
@Autowired
private CodeResolve codeResolve;
@Autowired
private IComponentManager componentManager;
@Override
public boolean isForThisApi(String apiName) {
return apiName != null && apiName.equalsIgnoreCase("smdbox");
}
@Override
public void inTaskStatusChange(String inNotifyUrl, DataLog task) {
if (task.isFinished()) {
postInNotification(inNotifyUrl,task.getBarcode(),task.getStorageId());
}
}
private boolean postInNotification(String url, String reelBarcode, String storageId) {
try {
if (com.google.common.base.Strings.isNullOrEmpty(url)) {
return false;
}
log.info("向 MES(" + url + ") 通知【" + reelBarcode + "】的入库信息");
Barcode barcode = barcodeManager.findByBarcode(reelBarcode);
Map<String, Object> params = new HashMap<String, Object>();
params.put("RI", reelBarcode);
params.put("LOC", storageId);
if (barcode != null) {
params.put("PN", barcode.getPartNumber());
params.put("QTY", barcode.getAmount());
params.put("PRODATE", barcode.getProduceDate());
params.put("EXPDATE", barcode.getExpireDate());
params.put("SP", barcode.getProvider());
params.put("BATCH", barcode.getAmount());
}
String result = HttpHelper.postParam(url, params);
log.info("收到MES [" + url + "]的关于[" + reelBarcode + "]入库通知的反馈信息:" + result);
return true;
} catch (Exception e) {
log.error("向 MES [" + url + "]入库通知【" + reelBarcode + "】的信息出错", e);
}
return false;
}
private boolean postOutNotification(String url, String reelBarcode, String cid) {
try {
//log.info("出库完成,通知 Agv 小车开始取料");
// AgvUtil.ArmGet();
if (com.google.common.base.Strings.isNullOrEmpty(url)) {
return false;
}
log.info("向 MES 通知【" + reelBarcode + "】的出库信息");
Map<String, Object> params = new HashMap<String, Object>();
params.put("ReelID", reelBarcode);
String result = HttpHelper.postParam(url, params);
log.info("收到MES [" + url + "]的关于[" + reelBarcode + "]出库通知的反馈信息:" + result);
return true;
} catch (Exception e) {
log.error("向 MES [" + url + "]出库通知【" + reelBarcode + "】的信息出错", e);
}
return false;
}
@Override
public void outTaskStatusChange(String outNotifyUrl, DataLog task) {
if (task.isFinished()) {
postOutNotification(outNotifyUrl,task.getBarcode(),task.getCid());
}
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!