From 08cd807032b661ec5061ab822ccbf53b41d7d438 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期二, 03 十二月 2024 14:12:53 +0800 Subject: [PATCH] #库位移转 --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskTimer.java | 85 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 85 insertions(+), 0 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskTimer.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskTimer.java index 1f72b35..7f0389f 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskTimer.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskTimer.java @@ -74,6 +74,9 @@ case 1://鍏ュ簱 executeTask1(task); break; + case 11://搴撲綅绉昏浆 + executeTask11(task); + break; case 53://鎷f枡鍐嶅叆搴� executeTask53(task); break; @@ -204,6 +207,88 @@ } } + //搴撲綅绉昏浆 + private void executeTask11(Task task) { + Long hostId = task.getHostId(); + + Loc originLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, task.getOriginLoc()).eq(Loc::getHostId, hostId)); + if (originLoc == null) { + throw new CoolException("婧愬簱浣嶄笉瀛樺湪"); + } + + if (originLoc.getLocStsId() != LocStsType.R.val()) { + throw new CoolException("搴撲綅鐘舵�佷笉澶勪簬R.鍑哄簱棰勭害"); + } + + Loc targetLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, task.getTargetLoc()).eq(Loc::getHostId, hostId)); + if (targetLoc == null) { + throw new CoolException("鐩爣搴撲綅涓嶅瓨鍦�"); + } + + if (targetLoc.getLocStsId() != LocStsType.S.val()) { + throw new CoolException("搴撲綅鐘舵�佷笉澶勪簬S.鍏ュ簱棰勭害"); + } + + originLoc.setLocStsId(LocStsType.O.val()); + originLoc.setUpdateTime(new Date()); + originLoc.setBarcode(""); + if (!locService.updateById(originLoc)) { + throw new CoolException("搴撲綅鐘舵�佹洿鏂板け璐�"); + } + + targetLoc.setLocStsId(LocStsType.F.val()); + targetLoc.setUpdateTime(new Date()); + targetLoc.setBarcode(task.getBarcode()); + if (!locService.updateById(targetLoc)) { + throw new CoolException("搴撲綅鐘舵�佹洿鏂板け璐�"); + } + + List<TaskDetl> taskDetls = taskDetlService.getTaskDetlByTaskId(task.getId()); + if (taskDetls.isEmpty()) { + throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦�"); + } + + //娣诲姞搴撳瓨鏄庣粏 + for (TaskDetl taskDetl : taskDetls) { + LocDetl locDetl = new LocDetl(); + locDetl.setLocId(targetLoc.getId()); + locDetl.setLocNo(targetLoc.getLocNo()); + locDetl.setMatId(taskDetl.getMatId()); + locDetl.setMatnr(taskDetl.getMat$().getMatnr()); + locDetl.setOrderNo(taskDetl.getOrderNo()); + locDetl.setBatch(taskDetl.getBatch()); + locDetl.setAnfme(taskDetl.getAnfme()); + locDetl.setHostId(hostId); + if (!locDetlService.save(locDetl)) { + throw new CoolException("鎻掑叆搴撳瓨鏄庣粏澶辫触"); + } + + //娣诲姞搴撳瓨鏄庣粏鎵╁睍瀛楁 + List<TaskDetlField> detlFields = taskDetlFieldService.list(new LambdaQueryWrapper<TaskDetlField>().eq(TaskDetlField::getDetlId, taskDetl.getId()).eq(TaskDetlField::getHostId, hostId)); + for (TaskDetlField detlField : detlFields) { + LocDetlField locDetlField = new LocDetlField(); + locDetlField.setDetlId(locDetl.getId()); + locDetlField.setFieldId(detlField.getFieldId()); + locDetlField.setName(detlField.getName()); + locDetlField.setValue(detlField.getValue()); + locDetlField.setHostId(hostId); + if (!locDetlFieldService.save(locDetlField)) { + throw new CoolException("鎻掑叆鏄庣粏鎵╁睍瀛楁澶辫触"); + } + } + } + + List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocId, originLoc.getId())); + for (LocDetl locDetl : locDetls) { + boolean remove = locDetlFieldService.remove(new LambdaQueryWrapper<LocDetlField>().eq(LocDetlField::getDetlId, locDetl.getId())); + boolean result = locDetlService.removeById(locDetl.getId()); + if (!result) { + throw new CoolException("娓呴櫎鏄庣粏澶辫触"); + } + } + + } + //鎷f枡鍐嶅叆搴� private void executeTask53(Task task) { Long hostId = task.getHostId(); -- Gitblit v1.9.1