Commit a6b6cbc5 sunke

3 解决分配相同库位的问题:先移入完成列表,再移出执行列表

1 个父辈 b6d58c8a
...@@ -861,13 +861,13 @@ public class TaskService implements ITaskService { ...@@ -861,13 +861,13 @@ public class TaskService implements ITaskService {
public Collection<String> excludePosIds(){ public Collection<String> excludePosIds(){
//排除掉正在执行的仓位 //排除掉正在执行的仓位
Collection<DataLog> allTasks = new ArrayList<>(taskMap.values()); Collection<DataLog> allTasks = new ArrayList<>(taskMap.values());
try{ // try{
for (DataLog finishTask : finishedTaskMap.values()) { // for (DataLog finishTask : finishedTaskMap.values()) {
allTasks.add(finishTask); // allTasks.add(finishTask);
} // }
}catch (Exception e){ // }catch (Exception e){
log.error("获取排除库位出错",e); // log.error("获取排除库位出错",e);
} // }
Collection<String> operatingPosIds = new HashSet<>(); Collection<String> operatingPosIds = new HashSet<>();
...@@ -1738,9 +1738,6 @@ public class TaskService implements ITaskService { ...@@ -1738,9 +1738,6 @@ public class TaskService implements ITaskService {
//入仓位完成 //入仓位完成
public void putInFinished(DataLog task) throws ValidateException { public void putInFinished(DataLog task) throws ValidateException {
//从队列里面移除操作
taskMap.remove(task.getId());
StoragePos storagePos = storagePosManager.get(task.getPosId()); StoragePos storagePos = storagePosManager.get(task.getPosId());
//二维码状态 //二维码状态
Barcode barcode = barcodeManager.findByBarcode(task.getBarcode()); Barcode barcode = barcodeManager.findByBarcode(task.getBarcode());
...@@ -1858,7 +1855,10 @@ public class TaskService implements ITaskService { ...@@ -1858,7 +1855,10 @@ public class TaskService implements ITaskService {
task.setNum(barcode.getAmount()); task.setNum(barcode.getAmount());
task.setStatus(StorageConstants.OP_STATUS.FINISHED.name()); task.setStatus(StorageConstants.OP_STATUS.FINISHED.name());
dataLogDao.save(task); dataLogDao.save(task);
finishedTaskMap.put(task.getBarcode(),task); finishedTaskMap.put(task.getBarcode(),task);
//从队列里面移除操作
taskMap.remove(task.getId());
updateInQisdaData(barcode, task); updateInQisdaData(barcode, task);
...@@ -1935,9 +1935,6 @@ public class TaskService implements ITaskService { ...@@ -1935,9 +1935,6 @@ public class TaskService implements ITaskService {
@Override @Override
public void checkoutFinished(DataLog task) throws ValidateException { public void checkoutFinished(DataLog task) throws ValidateException {
//从队列里面移除操作
taskMap.remove(task.getId());
StoragePos storagePos = storagePosManager.get(task.getPosId()); StoragePos storagePos = storagePosManager.get(task.getPosId());
Barcode barcode = storagePos.getBarcode(); Barcode barcode = storagePos.getBarcode();
...@@ -1979,6 +1976,8 @@ public class TaskService implements ITaskService { ...@@ -1979,6 +1976,8 @@ public class TaskService implements ITaskService {
task.setStatus(StorageConstants.OP_STATUS.OUTBOX.name()); task.setStatus(StorageConstants.OP_STATUS.OUTBOX.name());
dataLogDao.save(task); dataLogDao.save(task);
//从队列里面移除操作
taskMap.remove(task.getId());
finishedTaskMap.put(task.getBarcode(),task); finishedTaskMap.put(task.getBarcode(),task);
//dataCache.updateStorage(task.getCid()); //dataCache.updateStorage(task.getCid());
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!