Commit 72ffa6a3 zshaohui

1.扫描上一个库位,自动跳到下一个库位

2.修改nl全部亮灯和亮灯索引功能
1 个父辈 4d419695
......@@ -962,7 +962,7 @@ public class BaseDeviceHandler implements IDeviceHandler {
boolean isFind = false;
for (DataLog dataLog : dataLogList) {
if (dataLog.getStatus().equals(OP_STATUS.EXECUTING)) {
if (dataLog.getStatus().equals(OP_STATUS.EXECUTING.name())) {
dataLogs.add(dataLog);
isFind = true;
break;
......@@ -979,7 +979,7 @@ public class BaseDeviceHandler implements IDeviceHandler {
}
for (LiteOrderItem item : order.getOrderItems()) {
for (DataLog dataLog : dataLogList) {
if (dataLog.getStatus().equals(OP_STATUS.WAIT)) {
if (dataLog.getStatus().equals(OP_STATUS.WAIT.name())) {
if ((ObjectUtil.isNotEmpty(item.getPn()) && item.getPn().equals(dataLog.getPartNumber())) ||
(ObjectUtil.isNotEmpty(item.getRi()) && item.getRi().equals(dataLog.getBarcode()))
) {
......@@ -993,9 +993,9 @@ public class BaseDeviceHandler implements IDeviceHandler {
break;
}
}
}
if (isFind) {
break;
if (isFind) {
break;
}
}
}
return dataLogs;
......
......@@ -87,34 +87,42 @@ public class NLShelfHandler extends BaseDeviceHandler {
//亮灯
Collection<DataLog> queueTasks = taskService.getQueueTasks(statusBean.getCid());
for (DataLog queueTask : queueTasks) {
if (queueTask.isWait()) {
queueTask.setStatus(OP_STATUS.EXECUTING.name());
taskService.updateQueueTask(queueTask);
String rgb = queueTask.getLightColor();
ORDER_COLOR color = ORDER_COLOR.fromRgb(rgb);
if (color == null) {
if (queueTask.isPutInTask()) {
color = ORDER_COLOR.DARKGREEN;
} else if (openZhiYin && ObjectUtil.isNotEmpty(queueTask.getSourceId())) {
List<DataLog> dataLogList = outMap.get(queueTask.getSourceId());
if (dataLogList == null) {
dataLogList = new ArrayList<>();
if (!openZhiYin || StringUtils.isBlank(queueTask.getSourceId())) {
if (queueTask.isWait()) {
String rgb = queueTask.getLightColor();
ORDER_COLOR color = ORDER_COLOR.fromRgb(rgb);
if (color == null) {
if (queueTask.isPutInTask()) {
color = ORDER_COLOR.DARKGREEN;
} else {
color = ORDER_COLOR.BLUE;
}
dataLogList.add(queueTask);
outMap.put(queueTask.getSourceId(), dataLogList);
} else {
color = ORDER_COLOR.BLUE;
}
queueTask.setStatus(OP_STATUS.EXECUTING.name());
taskService.updateQueueTask(queueTask);
statusBean.addData("open", queueTask.getPosName() + "=" + color.name());
log.info("库位[" + queueTask.getPosName() + "][" + queueTask.getType() + "]+亮灯:" + color.name());
}
} else {
if (queueTask.isWait() || queueTask.isExecuting()) {
List<DataLog> dataLogList = outMap.get(queueTask.getSourceId());
if (dataLogList == null) {
dataLogList = new ArrayList<>();
}
dataLogList.add(queueTask);
outMap.put(queueTask.getSourceId(), dataLogList);
}
statusBean.addData("open",queueTask.getPosName()+"="+color.name());
log.info("库位[" + queueTask.getPosName() + "]["+queueTask.getType()+"]+亮灯:" + color.name());
}
}
List<DataLog> dataLogs = getLightGuideTask(outMap);
for (DataLog task : dataLogs) {
statusBean.addData("open", task.getPosName() + "=" + ORDER_COLOR.fromRgb(task.getLightColor()).name());
String colorName = ORDER_COLOR.fromRgb(task.getLightColor()).name();
statusBean.addData("open", task.getPosName() + "=" + colorName);
log.info("库位[" + task.getPosName() + "][" + task.getType() + "]+亮灯:" + colorName);
}
return statusBean;
}
......@@ -419,6 +427,12 @@ public class NLShelfHandler extends BaseDeviceHandler {
//未扫描库位
log.info(ptoken + ":条码[" +code+ "],请先扫描库位码");
return ResultBean.newErrorResult(1, "smfcore.shelf.msg.scanPos", "请先扫描库位码");
} else {
long updateTime = operateBean.getUpdateTime();
if (System.currentTimeMillis() - updateTime > 1000 * 60 * 5){
log.info("上一次操作超过10分钟,重新扫描库位码");
return ResultBean.newErrorResult(1, "smfcore.shelf.msg.scanPos", "请先扫描库位码");
}
}
Long nextPosId = Long.valueOf(lastPosId) + 1;
StoragePos nextPos = storagePosManager.get(String.valueOf(nextPosId));
......@@ -427,12 +441,11 @@ public class NLShelfHandler extends BaseDeviceHandler {
if(excludePosIds.contains(nextPos.getId())){
return ResultBean.newErrorResult(1, "smfcore.shelf.nextPos.hasTask", "库位[{0}]已有任务,请重新扫描库位码",new String[]{nextPos.getPosName()});
}
/*Storage storage = dataCache.getStorageById(nextPos.getStorageId());
if(!storage.canPutInPos(barcode.getPlateSize(),barcode.getHeight(), nextPos.getW(), nextPos.getH())){
String reelSize = barcode.getPlateSize() + "x" + barcode.getHeight();
String posSize = nextPos.getW() + "x" + nextPos.getH();
return getText("shelf.nextPos.hasReel",new String[]{nextPos.getPosName(),posSize, reelSize},request.getLocale(), "下一库位["+nextPos.getPosName()+"]尺寸["+posSize+"]与料盘尺寸["+reelSize+"]不符,请重新扫描库位码");
}*/
//先关闭上一个库位
StoragePos posToClose = operateBean.getPosToClose();
if (posToClose != null){
opPosLight("close", posToClose, "");
}
opPos = nextPos;
openAndCloseLights(token, opPos,putInColor,delayCloseTime);
operateBean.setOpPos(opPos);
......
......@@ -699,7 +699,7 @@ public class LiteOrderCache {
}
public LiteOrder getOrderSortItems(String sourceId) {
LiteOrder order = liteOrderManager.findByOrderNo(sourceId);
LiteOrder order = liteOrderManager.get(sourceId);
if (order != null && order.getOrderItems().size() > 0) {
List<LiteOrderItem> list = order.getOrderItems();
//根据站位号排序
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!