Commit d43f041b LN

Merge remote-tracking branch 'origin/master'

2 个父辈 eda0cbc4 e8cd8960
......@@ -123,11 +123,11 @@ public class MenuInit {
addDefaultFunctionMenu(1,out,"UID出库", "singleOuput", "neolight/singleOuput/index","export1",DEFAULT_SHOW_MENU);
addDefaultFunctionMenu(2, out,"PN出库", "tacticsOuput", "neolight/tacticsOuput/index", "tacticsOuput",DEFAULT_SHOW_MENU);
addDefaultFunctionMenu(1,poutOut,"工单出库","workOrder", "neolight/workOrder/index","orderOut");
addDefaultFunctionMenu(1,poutOut,"工单出库","workOrder", "neolight/workOrder/index","orderOut",DEFAULT_SHOW_MENU);
addDefaultFunctionMenu(2,poutOut,"库位出库", "posOutput", "system/posOutput/index", "swagger");
addDefaultFunctionMenu(3, poutOut, "物料标签", "labelOuput", "neolight/labelOuput/index", "mgroup");
addDefaultFunctionMenu(4, poutOut, "料盒操作", "materialBox", "neolight/materialBox/index", "mIbox");
addDefaultFunctionMenu(12, poutOut, "出库策略", "outSetting", "system/outSetting/index", "outSet");
addDefaultFunctionMenu(12, poutOut, "出库策略", "outSetting", "system/outSetting/index", "outSet",DEFAULT_SHOW_MENU);
// Menu orderSet = new Menu(, "orderSetting", "工单设置", "orderSetting", "system/orderSetting/index", "sysSet");
addDefaultFunctionMenu(5, poutOut, "入库单", "inList", "system/inList/index", "headIcon");
addDefaultFunctionMenu(6, poutOut, "物料入库", "putIn", "system/putIn/index", "headIcon");
......
......@@ -10,7 +10,9 @@ import com.neotel.smfcore.common.utils.Constants;
import com.neotel.smfcore.common.utils.JsonUtil;
import com.neotel.smfcore.common.utils.SecurityUtils;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.device.bean.BoxStatusBean;
import com.neotel.smfcore.core.device.bean.StatusBean;
import com.neotel.smfcore.core.device.enums.BOX_STATUS;
import com.neotel.smfcore.core.device.enums.OP;
import com.neotel.smfcore.core.device.enums.OP_STATUS;
import com.neotel.smfcore.core.storage.bean.InventoryItem;
......@@ -84,6 +86,37 @@ public class MimoBoxHandler extends BaseDeviceHandler {
return statusBean;
}
@Override
protected StatusBean handleInOutFinished(StatusBean statusBean) {
Map<String, BoxStatusBean> statusOfBoxes = statusBean.getBoxStatus();
if (statusOfBoxes != null) {
for (BoxStatusBean boxStatus : statusOfBoxes.values()) {
try {
//出库入库完成处理
int status = boxStatus.getStatus();
String posName = boxStatus.getPosId();
String barcode = boxStatus.getBarcode();
int executeTime = boxStatus.getExecuteTime();
if ((!Strings.isNullOrEmpty(posName)) || (!Strings.isNullOrEmpty(barcode))) {//客户端发一次完成之后,会发空的 posName,不需要处理
if (BOX_STATUS.IN_FINISHED == status) {//入仓完成
finishedPutIn(statusBean.getCid(), posName, barcode, executeTime);
} else if (BOX_STATUS.IN_FAILED == status) {//入库失败
//暂不处理
} else if (BOX_STATUS.OUT_FINISHED == status) {//出仓完成
finishedOutPos(statusBean.getCid(), posName,barcode,executeTime,OP_STATUS.OUT_BOX);
} else if (BOX_STATUS.OUT_END == status) {//出库完成(放到仓门口
endOutTask(statusBean.getCid(), posName, barcode);
}
}
} catch (ValidateException e) {
log.error("更新状态时出错" + e.getMessage());
}
}
}
return statusBean;
}
/**
* 出库紧急物料
*/
......
package com.neotel.smfcore.custom.aptiv1077;
import com.neotel.smfcore.common.exception.ValidateException;
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.barcode.service.po.Barcode;
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 com.neotel.smfcore.custom.neotel.NeotelApi;
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.HashMap;
import java.util.Map;
@Service
@Slf4j
public class AptivApi extends NeotelApi {
@Autowired
private ILiteOrderItemManager liteOrderItemManager;
@Override
public boolean isForThisApi(String apiName) {
return apiName != null && apiName.equalsIgnoreCase("aptiv");
}
@Override
public void outTaskStatusChange(String outNotifyUrl, DataLog task) {
String requestParams = "";
String responseInfo = "";
if (task.isOutBox() || task.isFinished()) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("reelId", task.getBarcode());
paramMap.put("partNum", task.getPartNumber());
paramMap.put("qty", task.getNum() + "");
paramMap.put("boxNo", task.getCid());
paramMap.put("location", task.getPosName());
String hSerial = "";
String so = "";
String slotNum = "";
String feederInfo = "";
String sourceId = task.getSourceId();
if (Strings.isNotBlank(sourceId)) {
LiteOrder liteOrder = liteOrderManager.get(task.getSourceId());
if (liteOrder != null) {
hSerial = liteOrder.getOrderNo();
so = liteOrder.getSo();
}
String subSourceId = task.getSubSourceId();
LiteOrderItem orderItem = liteOrderItemManager.get(subSourceId);
if (orderItem != null) {
slotNum = orderItem.getSlotNum() + "";
feederInfo = orderItem.getFeederInfo();
}
}
paramMap.put("hSerial", hSerial);
paramMap.put("so", so);
paramMap.put("slotNum", slotNum);
paramMap.put("feederInfo", feederInfo);
try {
requestParams = JsonUtil.toJsonStr(paramMap);
log.info(task.getBarcode() + "出库通知,参数" + requestParams);
responseInfo = HttpHelper.postJson(outNotifyUrl, paramMap);
log.info(task.getBarcode() + "出库通知返回" + responseInfo);
ApiResult apiResult = JsonUtil.toObj(responseInfo, ApiResult.class);
} catch (Exception e) {
log.error("出库通知接口出错:" + e.getMessage());
}
}
}
@Override
public void inTaskStatusChange(String inNotifyUrl, DataLog task) {
super.inTaskStatusChange(inNotifyUrl, task);
}
@Override
public Barcode canPutInBeforeResolve(String codeResolveUrl, CodeValidateParam params) throws ValidateException {
return super.canPutInBeforeResolve(codeResolveUrl, params);
}
@Override
public Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam params, Barcode barcode) throws ValidateException {
return super.canPutInAfterResolve(inCheckUrl, params, barcode);
}
@Override
public void onOrderStatusChange(String orderNotifyUrl, LiteOrder liteOrder) {
super.onOrderStatusChange(orderNotifyUrl, liteOrder);
}
}
......@@ -40,11 +40,11 @@ public class SmdboxApi extends BaseSmfApiListener {
@Override
public void inTaskStatusChange(String inNotifyUrl, DataLog task) {
if (task.isFinished()) {
postInNotification(inNotifyUrl,task.getBarcode(),task.getStorageId());
postInNotification(inNotifyUrl,task.getBarcode(),task.getCid());
}
}
private boolean postInNotification(String url, String reelBarcode, String storageId) {
private boolean postInNotification(String url, String reelBarcode, String cid) {
try {
if (com.google.common.base.Strings.isNullOrEmpty(url)) {
......@@ -54,7 +54,7 @@ public class SmdboxApi extends BaseSmfApiListener {
Barcode barcode = barcodeManager.findByBarcode(reelBarcode);
Map<String, Object> params = new HashMap<String, Object>();
params.put("RI", reelBarcode);
params.put("LOC", storageId);
params.put("LOC", cid);
if (barcode != null) {
params.put("PN", barcode.getPartNumber());
params.put("QTY", barcode.getAmount());
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!