Commit ff4e6d38 LN

搅拌任务结束先更改状态再结束任务。

1 个父辈 d9e1f2de
...@@ -692,6 +692,7 @@ public class SpBoxHandler extends BaseDeviceHandler { ...@@ -692,6 +692,7 @@ public class SpBoxHandler extends BaseDeviceHandler {
// theFinishedTaskMap.put(task.getId(), task); // theFinishedTaskMap.put(task.getId(), task);
} }
private void changeSolderStatus(String posName, SOLDER_STATUS solderStatus) throws ValidateException { private void changeSolderStatus(String posName, SOLDER_STATUS solderStatus) throws ValidateException {
try {
StoragePos storagePos = storagePosManager.getByPosName(posName); StoragePos storagePos = storagePosManager.getByPosName(posName);
if (storagePos == null) { if (storagePos == null) {
log.error("更改状态为[" + solderStatus + "]时,未找到库位[" + posName + "]"); log.error("更改状态为[" + solderStatus + "]时,未找到库位[" + posName + "]");
...@@ -699,28 +700,32 @@ public class SpBoxHandler extends BaseDeviceHandler { ...@@ -699,28 +700,32 @@ public class SpBoxHandler extends BaseDeviceHandler {
} }
Barcode barcode = storagePos.getBarcode(); Barcode barcode = storagePos.getBarcode();
if (barcode != null) { if (barcode != null) {
if(!solderStatus.name().equals(barcode.getSolderStatus())){ if (!solderStatus.name().equals(barcode.getSolderStatus())) {
log.error(barcode.getBarcode()+"的状态状态从[" + barcode.getSolderStatus() + "]更改为[" + solderStatus + "]"); log.error(barcode.getBarcode() + "的状态状态从[" + barcode.getSolderStatus() + "]更改为[" + solderStatus + "]");
barcode.setSolderStatus(solderStatus.toString()); barcode.setSolderStatus(solderStatus.toString());
barcode = barcodeManager.save(barcode); barcode = barcodeManager.save(barcode);
storagePos.setBarcode(barcode); storagePos.setBarcode(barcode);
storagePosManager.save(storagePos); storagePosManager.save(storagePos);
}else{ } else {
log.error(barcode.getBarcode()+"的状态状态["+barcode.getSolderStatus()+"]与原来一致,无需更改"); log.error(barcode.getBarcode() + "的状态状态[" + barcode.getSolderStatus() + "]与原来一致,无需更改");
} }
} }
} catch (Exception ex) {
log.error("changeSolderStatus posName=" + posName + ",solderStatus=" + solderStatus + " error :" + ex.toString());
}
} }
private void mixEnd(DataLog mixTask) throws ValidateException { private void mixEnd(DataLog mixTask) throws ValidateException {
if (mixTask != null) { if (mixTask != null) {
log.info(mixTask.getBarcode() + "搅拌完成,送回原库位["+mixTask.getPosName()+"],更改状态为待出库"); log.info(mixTask.getBarcode() + "搅拌完成,送回原库位["+mixTask.getPosName()+"],更改状态为待出库");
changeSolderStatus(mixTask.getPosName(), SOLDER_STATUS.TO_BE_OUT);
//先更改状态再结束任务
taskService.removeQueueTask(mixTask); taskService.removeQueueTask(mixTask);
mixTask.setStatus(OP_STATUS.FINISHED.name()); mixTask.setStatus(OP_STATUS.FINISHED.name());
taskService.updateFinishedTask(mixTask); taskService.updateFinishedTask(mixTask);
changeSolderStatus(mixTask.getPosName(), SOLDER_STATUS.TO_BE_OUT);
} else { } else {
log.error("搅拌完成时,未找到任务"); log.error("搅拌完成时,未找到任务");
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!