From 7d27cdccf8b92f32e80499f1f06c4b8ab93936c1 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 26 五月 2025 19:25:34 +0800 Subject: [PATCH] 修改空板移库,任务完成后无法加入历史档问题 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 43 +++++++++++++++++++------------------------ 1 files changed, 19 insertions(+), 24 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java index 311fcbe..2e3cd67 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java @@ -6,6 +6,7 @@ import com.vincent.rsf.server.api.controller.params.TaskInParam; import com.vincent.rsf.server.api.entity.dto.InTaskMsgDto; import com.vincent.rsf.server.api.service.WcsService; +import com.vincent.rsf.server.common.constant.Constants; import com.vincent.rsf.server.manager.enums.*; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; @@ -167,7 +168,6 @@ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } /**鑾峰彇缁勬嫋*/ -// List<Long> ids = pakins.stream().map(WaitPakin::getId).collect(Collectors.toList()); List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>() .in(WaitPakin::getId, pakins.getId()) .eq(WaitPakin::getIoStatus, Short.parseShort(PakinIOStatus.PAKIN_IO_STATUS_DONE.val))); @@ -426,23 +426,22 @@ } List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId())); - if (taskItems.isEmpty()) { - throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦紒锛�"); + + if (!taskItems.isEmpty()) { + //绉诲簱鏈夊彲鑳芥槸绌烘澘 + try { + //鏇存柊搴撲綅鏄庣粏 + saveLocItem(taskItems, task.getId()); + } catch (Exception e) { + throw new CoolException("搴撲綅鏄庣粏鏇存柊澶辫触锛侊紒"); + } + + if (!locItemService.remove(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocCode, task.getOrgLoc()))) { + throw new CoolException("婧愬簱浣嶆槑缁嗗垹闄ゅけ璐ワ紒"); + } + } - try { - //鏇存柊搴撲綅鏄庣粏 - saveLocItem(taskItems, task.getId()); - } catch (Exception e) { - throw new CoolException("搴撲綅鏄庣粏鏇存柊澶辫触锛侊紒"); - } -// /**瀵逛换鍔℃槑缁嗘寜缁勬嫋鏄庣粏杩涜鍒嗙粍*/ -// try { -// //淇濆瓨搴撳瓨鏄庣粏 -// saveStockItems(taskItems, null, null, pakinItem.getWkType(), pakinItem.getType()); -// } catch (Exception e) { -// log.error("<UNK>", e); -// throw new CoolException(e.getMessage()); -// } + /**淇敼搴撲綅鐘舵�佷负F.鍦ㄥ簱*/ if (!locService.update(new LambdaUpdateWrapper<Loc>() .set(Loc::getBarcode, task.getBarcode()) @@ -457,9 +456,6 @@ throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�"); } - if (!locItemService.remove(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocCode, task.getOrgLoc()))) { - throw new CoolException("婧愬簱浣嶆槑缁嗗垹闄ゅけ璐ワ紒"); - } if (!this.update(new LambdaUpdateWrapper<Task>().eq(Task::getId, task.getId()).set(Task::getTaskStatus, TaskStsType.UPDATED_IN.id))) { throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�"); @@ -645,17 +641,15 @@ throw new CoolException("褰撳墠浠诲姟涓嶅瓨鍦紒锛�"); } Integer type; - if (oType.equals("check")) { + if (oType.equals(Constants.TASK_TYPE_OUT_CHECK)) { //鐩樼偣鍏ュ簱 type = TaskType.TASK_TYPE_CHECK_IN.type; - if (!task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)) { throw new CoolException("闈炵洏鐐瑰嚭搴� 锛屼笉鍙墽琛屾鎿嶄綔锛侊紒"); } } else { //鎷f枡鍏ュ簱 type = TaskType.TASK_TYPE_PICK_IN.type; - if (!task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)) { throw new CoolException("闈炴嫞鏂欏嚭搴� 锛屼笉鍙墽琛屾鎿嶄綔锛侊紒"); } @@ -674,11 +668,11 @@ .setBarcode(task.getBarcode()) .setTaskStatus(TaskStsType.GENERATE_IN.id); - //TODO 鏍规嵁鐗╂枡鐨勫簱浣嶇被鍨嬬敓鎴愭柊鐨勫簱浣� TaskInParam param = new TaskInParam(); param.setSourceStaNo(Integer.parseInt(task.getTargSite())) .setIoType(type) .setLocType1(Integer.parseInt(loc.getType())); + //鑾峰彇鏂板簱浣� InTaskMsgDto locInfo = wcsService.getLocNo(param); if (Objects.isNull(locInfo)) { @@ -746,6 +740,7 @@ if (Objects.isNull(task)) { throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } + Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getOrgLoc())); if (Objects.isNull(loc)) { throw new CoolException("搴撲綅涓嶅瓨鍦紒锛�"); -- Gitblit v1.9.1