Commit 311ee050 zshaohui

1.取消工单任务,屏蔽库位

1 个父辈 de9c7cd4
...@@ -197,7 +197,7 @@ public class DeviceController { ...@@ -197,7 +197,7 @@ public class DeviceController {
} }
} }
//料号为335S00571不允许入库 //料号为335S00571不允许入库
if ("335S00571".equals(barcode.getPartNumber())){ if ("335S00571".equals(barcode.getPartNumber()) || "155S00462".equals(barcode.getPartNumber())){
throw new ValidateException("", "335S00571的料号不允许入到智能仓"); throw new ValidateException("", "335S00571的料号不允许入到智能仓");
} }
...@@ -494,29 +494,27 @@ public class DeviceController { ...@@ -494,29 +494,27 @@ public class DeviceController {
for (DataLog task : tasks) { for (DataLog task : tasks) {
if(codeStr.contains(task.getBarcode())){ if(codeStr.contains(task.getBarcode())){
if(task.isCheckOutTask()){ if(task.isCheckOutTask()){
if(task.isWait() || task.isExecuting()){ if (!task.isFinished() && !task.isCancel()){
//未执行完成的,理论上不会从客户端取消 String sourceId = task.getSourceId();
boolean cancelResult = taskService.cancelTask(task.getId()); if (StringUtils.isNotEmpty(sourceId)){
log.info("客户端取消["+codeStr+"]的未执行完成的出库任务结果:" + cancelResult); //未执行完成的,理论上不会从客户端取消
return ResultBean.newOkResult(cancelResult); boolean cancelResult = taskService.cancelTask(task.getId());
}else{ log.info("客户端取消["+codeStr+"]的未执行完成的出库任务结果:" + cancelResult);
return ResultBean.newOkResult(cancelResult);
} else {
//手动出库的 直接不用取消
return ResultBean.newOkResult("");
}
} else {
return ResultBean.newErrorResult(2005, "smfcore.cancelOutTask.taskHasEnd","客户端取消入库任务[{0}]失败:任务已结束或已取消", new String[]{codeStr }); return ResultBean.newErrorResult(2005, "smfcore.cancelOutTask.taskHasEnd","客户端取消入库任务[{0}]失败:任务已结束或已取消", new String[]{codeStr });
} }
// else{
// //禁用库位
// boolean prohibitePos = true;
// boolean hideResult = taskService.hideTask(task.getId(),prohibitePos);
// log.info("客户端取消["+codeStr+"]已完成的出库任务结果:" + hideResult);
// return ResultBean.newOkResult(hideResult);
// }
} }
} }
} }
}catch (Exception e){ }catch (Exception e){
return ResultBean.newErrorResult(2004, "smfcore.cancelOutTask.fail","客户端取消入库任务[{0}]失败:{1}" , new String[]{codeStr, e.getMessage()}); return ResultBean.newErrorResult(2004, "smfcore.cancelOutTask.fail","客户端取消入库任务[{0}]失败:{1}" , new String[]{codeStr, e.getMessage()});
} }
return ResultBean.newErrorResult(2005, "smfcore.cancelOutTask.fail","客户端取消入库任务[{0}]失败:{1}", new String[]{codeStr,""}); return ResultBean.newErrorResult(2005, "smfcore.cancelOutTask.fail","客户端取消入库任务[{0}]失败:{1}", new String[]{codeStr,"未找到对应的任务"});
} }
......
...@@ -490,74 +490,7 @@ public class TaskService { ...@@ -490,74 +490,7 @@ public class TaskService {
return singleOutTask; return singleOutTask;
} }
DataLog outTask = null; DataLog outTask = getNextTaskInStorage(cid);
//获取上一次出料口
String export = exportMap.get(cid);
//1.找到与上一次出料口不同的任务
outTask = getNeedOutTask(allTasks, export, cid, true);
//2.如果没找到,不找到最早的任务
if (outTask == null) {
outTask = getNeedOutTask(allTasks, export, cid, false);
}
if (outTask != null) {
if (outTask.getPlateSize() > 7) {
log.info(outTask.getBarcode() + "当前任务为大盘料,不需要处理:"+outTask.getBarcode());
}
//3.如果当前任务不是大盘料
else {
//4.判断是否属于工单任务
String sourceId = outTask.getSourceId();
if (StringUtils.isNotBlank(sourceId)) {
//5.判断工单在当前库位中有没有大盘料
DataLog bigReelTask = getBigReelTask(allTasks, cid);
if (bigReelTask != null) {
log.info(outTask.getSourceName()+"当前工单中,料仓:"+cid+"有大盘料:"+bigReelTask.getBarcode()+",优先出库");
exportMap.put(cid, bigReelTask.getExport());
return bigReelTask;
}
//6.判断其他料仓有没有大料盘
else {
boolean hasBigReel = otherStorageHasBigReel(allTasks, sourceId);
//7.如果其他仓有大盘料,则优先出B面的
DataLog task = null;
if (hasBigReel) {
log.info(outTask.getSourceName()+"当前工单中,其他料仓有大盘料,优先出B面料");
task = getOutTaskBySide(allTasks, cid, "B");
}
//8.如果其他仓没有大盘料,则优先出T面
else {
log.info(outTask.getSourceName()+"当前工单中,其他料仓没有大盘料,优先出T面料");
task = getOutTaskBySide(allTasks, cid, "T");
if (task == null) {
log.info(outTask.getSourceName()+"当前工单中,其他料仓没有大盘料,T面料没有,出B面料");
task = getOutTaskBySide(allTasks, cid, "B");
}
}
if (task != null) {
log.info(outTask.getSourceName()+"barcode为:"+task.getBarcode()+"面别为:"+task.getSide());
exportMap.put(cid, task.getExport());
return task;
}
}
}
}
}
if (outTask != null) {
log.info(outTask.getSourceName()+"barcode为:"+outTask.getBarcode()+"面别为:"+outTask.getSide()+"出料口为:"+outTask.getExport());
if(StringUtils.isNotBlank(outTask.getExport())) {
exportMap.put(cid, outTask.getExport());
}
}
return outTask; return outTask;
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!