Commit c8940fb3 LN

出入库任务不发给客户端问题修改

1 个父辈 bde4c82f
...@@ -730,8 +730,11 @@ public class TaskService implements ITaskService { ...@@ -730,8 +730,11 @@ public class TaskService implements ITaskService {
* *
* @return * @return
*/ */
private boolean hasExecutingTask(String cid, int type) { public boolean hasExecutingTask(String cid, int type) {
for (DataLog task : taskMap.values()) { for (DataLog task : taskMap.values()) {
if(task.isCancel()||task.isFinished()||task.isEnd()){
continue;
}
if (type == task.getType() && task.getCid().equals(cid)) { if (type == task.getType() && task.getCid().equals(cid)) {
return true; return true;
} }
...@@ -992,8 +995,9 @@ public class TaskService implements ITaskService { ...@@ -992,8 +995,9 @@ public class TaskService implements ITaskService {
if (storage.isSmdXl()) { if (storage.isSmdXl()) {
statusBean = smdXlBoxHandler.handleClientStatusBean(statusBean); statusBean = smdXlBoxHandler.handleClientStatusBean(statusBean);
} }
else {
statusBean = handleClientStatusBean(statusBean); statusBean = handleClientStatusBean(statusBean);
}
if (statusBean.getOp() == StorageConstants.OP.ALARM_DATA) { if (statusBean.getOp() == StorageConstants.OP.ALARM_DATA) {
log.info("获取温湿度报警值"); log.info("获取温湿度报警值");
......
...@@ -85,12 +85,12 @@ public class SmdXlBoxHandler { ...@@ -85,12 +85,12 @@ public class SmdXlBoxHandler {
break; break;
} }
} }
DataLog cacheTask = operateTaskMap.get(cid); // DataLog cacheTask = operateTaskMap.get(cid);
if(currentTask != null){ // if(currentTask != null){
if(cacheTask == null || !cacheTask.getId().equals(currentTask.getId())){ // if(cacheTask == null || !cacheTask.getId().equals(currentTask.getId())){
updateCurrentTask(currentTask.getCid(),currentTask); // updateCurrentTask(currentTask.getCid(),currentTask);
} // }
} // }
} }
} }
} catch (Exception e) { } catch (Exception e) {
...@@ -101,15 +101,36 @@ public class SmdXlBoxHandler { ...@@ -101,15 +101,36 @@ public class SmdXlBoxHandler {
if(statusBean.getStatus() == StorageConstants.STATUS.READY){ if(statusBean.getStatus() == StorageConstants.STATUS.READY){
DataLog currentTask = getCurrentTask(cid); // DataLog currentTask = getCurrentTask(cid);
if(currentTask != null){ // if(currentTask != null){
//当前有任务未完成,暂不执行其他任务 // //当前有任务未完成,暂不执行其他任务
//
// //判断当前任务是否已结束或已取消
// List<DataLog> allTasks = taskService.getFinishedTasks();
// allTasks.addAll(taskService.getQueueTasks());
// for (DataLog obj : allTasks) {
// if(obj.getId().equals(currentTask.getId())){
// if(obj.isCancel()||obj.isFinished()||obj.isEnd()){
// log.info(obj.getCid()+","+ obj.getStorageName() +"当前任务["+obj.getId()+"]["+obj.getPosName()+"]["+obj.getType()+"]已取消或已结束,清空当前任务信息");
// updateCurrentTask(obj.getCid(),null);
// continue;
// }
// }
// }
// return statusBean;
// }
//判断如果有执行中的入库任务,直接返回
if(taskService.hasExecutingTask(statusBean.getCid(), StorageConstants.OP.CHECKOUT)){
return statusBean;
}
if(taskService.hasExecutingTask(statusBean.getCid(), StorageConstants.OP.PUT_IN)){
return statusBean; return statusBean;
} }
for (DataLog task : queueTasks) { for (DataLog task : queueTasks) {
if (cid.equals(task.getCid()) && task.isWait()) { if (cid.equals(task.getCid()) && task.isWait()) {
StoragePos pos = storagePosManager.getByPosName(task.getPosName()); StoragePos pos = storagePosManager.getByPosName(task.getPosName());
if(pos.isExpandPos()){ if(pos.isExpandPos()){
log.info("获取到任务["+task.getType()+"]任务["+pos.getPosName()+"],主库位号:["+pos.getHostPosId()+"]是扩展库位,任务不发送到客户端");
continue; continue;
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!