Commit f8c19738 zshaohui

科博达换库位修改

1 个父辈 ba4afaed
......@@ -22,6 +22,7 @@ import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.barcode.service.po.Component;
import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.core.device.bean.PosInfo;
import com.neotel.smfcore.core.device.enums.OP;
import com.neotel.smfcore.core.device.enums.OP_STATUS;
import com.neotel.smfcore.core.language.util.MessageUtils;
import com.neotel.smfcore.core.message.util.DeviceMessageUtil;
......@@ -744,7 +745,6 @@ public class DeviceController {
}
@ApiOperation("移动物料到另外一个库位")
@RequestMapping("/service/store/moveToOtherPos")
@ResponseBody
......@@ -761,17 +761,57 @@ public class DeviceController {
return ResultBean.newErrorResult(-1, "smfcore.valueNotExist", "{0}[{1}]不存在", new String[]{needMovePosName, "barcode"});
}
//生成一条出库任务
taskService.addTaskToFinished(needMovePos, barcode, "admin-move");
//判断目标库位是否存在
StoragePos targetPos = storagePosManager.getByPosName(targetPosName);
if (targetPos == null) {
return ResultBean.newErrorResult(-1, "smfcore.valueNotExist", "{0}[{1}]不存在", new String[]{"posName", targetPosName});
}
taskService.addTaskToFinished(targetPos, barcode, "admin-move");
//把外侧相同的任务给改成内侧的
List<DataLog> allTasks = taskService.getAllTasks();
for (DataLog dataLog : allTasks) {
if (dataLog.isCheckOutTask()) {
if (!dataLog.isFinished() && !dataLog.isCancel()) {
if (dataLog.getPosId().equals(needMovePos.getId())) {
dataLog.setPosId(targetPos.getId());
dataLog.setPosName(targetPos.getPosName());
taskService.updateQueueTask(dataLog);
log.info(dataLog.getBarcode()+":外测有任务,原始库位为:"+dataLog.getPosName()+"更改后的库位为:"+targetPos.getPosName());
break;
}
}
}
}
//生成一条出库任务
Storage storage = dataCache.getStorageById(needMovePos.getStorageId());
DataLog needMovePosTask = new DataLog(storage, barcode, needMovePos);
needMovePosTask.setOperator("admin-move");
needMovePosTask.setType(OP.CHECKOUT);
needMovePosTask.setStatus(OP_STATUS.FINISHED.name());
taskService.updateFinishedTask(needMovePosTask);
needMovePos.setBarcode(null);
needMovePos.setUsed(false);
storagePosManager.save(needMovePos);
log.info(barcode.getBarcode() + "转移库位,清空仓位: " + needMovePos.getId() + "[" + needMovePos.getPosName() + "]");
dataCache.updateInventory(needMovePos, barcode);
//生成一条入库任务
DataLog targetPosTask = new DataLog(storage, barcode, targetPos);
targetPosTask.setOperator("admin-move");
targetPosTask.setType(OP.PUT_IN);
targetPosTask.setStatus(OP_STATUS.FINISHED.name());
taskService.updateFinishedTask(targetPosTask);
targetPos.setBarcode(barcode);
targetPos.setUsed(true);
targetPos.setCanCheckOutTime(System.currentTimeMillis());
storagePosManager.save(targetPos);
log.info(barcode.getBarcode() + "转移库位,入库库位: " + needMovePos.getId() + "[" + needMovePos.getPosName() + "]");
dataCache.updateInventory(targetPos, barcode);
//解除库位绑定
ReelLockPosUtil.removeReelLockPosInfo(barcode.getBarcode());
return ResultBean.newOkResult("");
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!