Commit c2b36243 孙克

重发未完成的出库任务时间改为3分钟

更新任务状态时, 如果任务为正在执行中,则清理库存
1 个父辈 d89842e4
...@@ -485,7 +485,7 @@ public class DataLog extends BasePo implements Serializable { ...@@ -485,7 +485,7 @@ public class DataLog extends BasePo implements Serializable {
*/ */
public boolean needReSendToClient(){ public boolean needReSendToClient(){
if(isCheckOutTask() && isExecuting()){ if(isCheckOutTask() && isExecuting()){
return System.currentTimeMillis() - super.getUpdateDate().getTime() >= 60 * 1000; return System.currentTimeMillis() - super.getUpdateDate().getTime() >= 3 * 60 * 1000;
} }
return false; return false;
} }
......
...@@ -439,7 +439,7 @@ public class TaskService { ...@@ -439,7 +439,7 @@ public class TaskService {
log.error("cid[" + cid + "]已有入库任务,不可再分配出库任务"); log.error("cid[" + cid + "]已有入库任务,不可再分配出库任务");
return null; return null;
} else if (task.needReSendToClient() && task.isCheckOutTask() && task.isExecuting()) {//超过30秒仍未完成的出库再次发送到客户端 } else if (task.needReSendToClient() && task.isCheckOutTask() && task.isExecuting()) {//超过30秒仍未完成的出库再次发送到客户端
log.error("cid[" + cid + "]的出库任务[" + task.getPosName() + "]超过60秒仍未完成,重新发送到客户端!"); log.error("cid[" + cid + "]的出库任务[" + task.getPosName() + "]超过180秒仍未完成,重新发送到客户端!");
task.setUpdateDate(new Date()); task.setUpdateDate(new Date());
return task; return task;
} }
......
...@@ -106,7 +106,7 @@ public class InnerBoxRestController { ...@@ -106,7 +106,7 @@ public class InnerBoxRestController {
Collection<DataLog> allTasks = taskService.getAllTasks(); Collection<DataLog> allTasks = taskService.getAllTasks();
//log.info("所有任务为:"+ JSON.toJSONString(allTasks)); //log.info("所有任务为:"+ JSON.toJSONString(allTasks));
for (DataLog task : allTasks) { for (DataLog task : allTasks) {
if (code.startsWith(task.getBarcode())) { if (task.isCheckOutTask() && code.startsWith(task.getBarcode())) {
if (!task.isCancel() && !task.isFinished()) { if (!task.isCancel() && !task.isFinished()) {
opTask = task; opTask = task;
break; break;
...@@ -121,34 +121,23 @@ public class InnerBoxRestController { ...@@ -121,34 +121,23 @@ public class InnerBoxRestController {
} }
status = status.toUpperCase(); status = status.toUpperCase();
log.info("更新任务状态:{}-->{}", opTask.getStatus(), status); log.info("更新任务状态:{}-->{}", opTask.getStatus(), status);
OP_STATUS updateStatus = OP_STATUS.valueOf(status);
if (updateStatus != null) { //调用此接口的肯定是料盘已出仓位的
if(opTask.isExecuting()){
//正在执行的任务,清理库存
outFromPos(opTask);
}
opTask.setStatus(status); opTask.setStatus(status);
if (opTask.isCheckOutTask()) {
if (OP_STATUS.EXECUTING.name().equals(status)) {
//在执行队列中
taskService.updateQueueTask(opTask);
} else {
taskService.moveTaskToFinished(opTask); taskService.moveTaskToFinished(opTask);
if (OP_STATUS.OUT_POS.name().equals(status)) {
//从库位中取出,需要移到完成队列中,并且清理库存
outFromPos(opTask);
//清理锁定库位 //清理锁定库位
ReelLockPosUtil.removeReelLockPosInfo(code); ReelLockPosUtil.removeReelLockPosInfo(code);
}
taskService.updateFinishedTask(opTask);
if (OP_STATUS.FINISHED.name().equals(status)) { if(opTask.isFinished()){
//已完成,从完成缓存中清除 //已完成,从完成缓存中清除
taskService.removeFinishedTask(opTask); taskService.removeFinishedTask(opTask);
//清理锁定库位
ReelLockPosUtil.removeReelLockPosInfo(code);
LiteOrder liteOrder = liteOrderManager.get(opTask.getSourceId());
//设置绑定库位 //设置绑定库位
StorageExport storageExport = StorageExportUtil.getExport(outlet); StorageExport storageExport = StorageExportUtil.getExport(outlet);
if (storageExport != null){ LiteOrder liteOrder = liteOrderManager.get(opTask.getSourceId());
if (liteOrder != null){ if (liteOrder != null){
storageExport.setLine(liteOrder.getLine()); storageExport.setLine(liteOrder.getLine());
storageExport.setHSerial(liteOrder.getOrderNo()); storageExport.setHSerial(liteOrder.getOrderNo());
...@@ -163,15 +152,9 @@ public class InnerBoxRestController { ...@@ -163,15 +152,9 @@ public class InnerBoxRestController {
} }
} }
storageExport.setRemainTaskCount(remainTaskCount); storageExport.setRemainTaskCount(remainTaskCount);
StorageExportUtil.updateExport(outlet,storageExport.getHSerial(),storageExport.getLine(),storageExport.getRemainTaskCount()); StorageExportUtil.updateExport(outlet,storageExport);
}
} }
} }
}
}
} else {
log.info(code + "更新状态时未找到状态:" + status + "");
}
return ResultBean.newOkResult(StorageExportUtil.getExport(outlet)); return ResultBean.newOkResult(StorageExportUtil.getExport(outlet));
} }
......
...@@ -78,6 +78,11 @@ public class StorageExportUtil { ...@@ -78,6 +78,11 @@ public class StorageExportUtil {
} }
} }
public static void updateExport(String outlet, StorageExport storageExport){
exportMap.put(outlet,storageExport);
dataCache.updateCache(EXPORT_PREFIX + "_" + outlet, storageExport);
}
//更新出料口信息 //更新出料口信息
public static void updateExport(String key, String hSerial, String line, int remainTaskCount) { public static void updateExport(String key, String hSerial, String line, int remainTaskCount) {
StorageExport storageExport = exportMap.get(key); StorageExport storageExport = exportMap.get(key);
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!