From 3bbc9acc8603c6727fb979fddbbd0a7ff474b8ed Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期五, 23 五月 2025 17:39:17 +0800 Subject: [PATCH] 添加盘点功能 --- rsf-admin/src/page/work/outBound/OutBoundList.jsx | 2 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 9 ++-- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java | 33 ++++++++++++++-- rsf-admin/src/page/work/checkOutBound/CheckOutBoundList.jsx | 9 ---- rsf-admin/src/page/task/TaskList.jsx | 6 +- rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java | 3 + rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java | 2 rsf-admin/src/i18n/zh.js | 2 - rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java | 7 +-- 9 files changed, 44 insertions(+), 29 deletions(-) diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js index 245811c..834c823 100644 --- a/rsf-admin/src/i18n/zh.js +++ b/rsf-admin/src/i18n/zh.js @@ -1,5 +1,3 @@ -import basContainer from "../page/basicInfo/basContainer"; -import outBound from "../page/outWork/outBound"; import chineseMessages from "./core/chineseMessages"; const customChineseMessages = { diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx index 72c5c80..6b73c19 100644 --- a/rsf-admin/src/page/task/TaskList.jsx +++ b/rsf-admin/src/page/task/TaskList.jsx @@ -186,7 +186,7 @@ const refresh = useRefresh(); const checkClick = async () => { - const { data: { code, data, msg } } = await request.post(`/task/pick/` + record.id); + const { data: { code, data, msg } } = await request.post(`/task/check/` + record.id); if (code === 200) { notify(msg); refresh(); @@ -195,7 +195,7 @@ } } - return (record?.taskStatus == 199 && record?.taskType == 107 ? <ConfirmButton label={"toolbar.check"} startIcon={<GradingOutlinedIcon />} onConfirm={checkClick} /> : <></>) + return (record?.taskStatus == 198 && record?.taskType == 107 ? <ConfirmButton label={"toolbar.check"} startIcon={<GradingOutlinedIcon />} onConfirm={checkClick} /> : <></>) } /** @@ -218,7 +218,7 @@ } return ( - record?.taskStatus == 198 ? <ConfirmButton label={"toolbar.pick"} startIcon={<ColorizeOutlinedIcon />} onConfirm={pickClick} /> : <></> + record?.taskStatus == 198 && record?.taskType == 103 ? <ConfirmButton label={"toolbar.pick"} startIcon={<ColorizeOutlinedIcon />} onConfirm={pickClick} /> : <></> ) } diff --git a/rsf-admin/src/page/work/checkOutBound/CheckOutBoundList.jsx b/rsf-admin/src/page/work/checkOutBound/CheckOutBoundList.jsx index 56af1d0..278e218 100644 --- a/rsf-admin/src/page/work/checkOutBound/CheckOutBoundList.jsx +++ b/rsf-admin/src/page/work/checkOutBound/CheckOutBoundList.jsx @@ -182,14 +182,7 @@ http(sta, data); } const http = async (sta, items) => { - console.log(items); - - const filter = items.filter(item => (item.outQty + item.workQty) > item.anfme); - if (filter.length > 0) { - notify(translate('toolbar.request.error.out_stock_qty')) - return - } - const { data: { code, data, msg } } = await request.post(`/locItem/generate/task`, { siteNo: sta, items: items }); + const { data: { code, data, msg } } = await request.post(`/locItem/generate/task`, { siteNo: sta, items: items, type: 'check' }); if (code === 200) { notify(msg); refresh() diff --git a/rsf-admin/src/page/work/outBound/OutBoundList.jsx b/rsf-admin/src/page/work/outBound/OutBoundList.jsx index 7a2db95..e7eea22 100644 --- a/rsf-admin/src/page/work/outBound/OutBoundList.jsx +++ b/rsf-admin/src/page/work/outBound/OutBoundList.jsx @@ -189,7 +189,7 @@ notify(translate('toolbar.request.error.out_stock_qty')) return } - const { data: { code, data, msg } } = await request.post(`/locItem/generate/task`, { siteNo: sta, items: items }); + const { data: { code, data, msg } } = await request.post(`/locItem/check/task`, { siteNo: sta, items: items }); if (code === 200) { notify(msg); refresh() diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java index 85c0c8e..ac258a8 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocItemController.java @@ -110,7 +110,7 @@ * @return */ @PreAuthorize("hasAuthority('manager:locItem:list')") - @PostMapping("/locItem/generate/check/task") + @PostMapping("/locItem/check/task") public R genStatisticalTask(@RequestBody Map<String, Object> map) { if (Objects.isNull(map)) { return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java index eb28056..1068c34 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java @@ -147,8 +147,7 @@ } /** - * 鎷f枡鍑哄簱 - * + * 鎷f枡鍑哄簱锛堢敤浜庢祴璇曟嫞鏂欏嚭搴擄級 * @return */ @PreAuthorize("hasAuthority('manager:task:update')") @@ -166,12 +165,12 @@ } /** - * 鐩樼偣鍑哄簱 + * 鐩樼偣鍑哄簱锛堢敤浜庢祴璇曠洏鐐瑰嚭搴擄級 * * @return */ @PreAuthorize("hasAuthority('manager:task:update')") - @ApiOperation("鎷f枡鍑哄簱") + @ApiOperation("鐩樼偣鍑哄簱") @PostMapping("/task/check/{id}") public R checkTask(@PathVariable Long id) { if (Objects.isNull(id)) { diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java index 1208abd..d07868f 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java @@ -38,7 +38,8 @@ WCS_EXECUTE_OUT_CONVEYOR("107", "RCS瀹瑰櫒娴佸姩浠诲姟宸蹭笅鍙�"), GENERATE_WAVE_SEED("197", "绛夊緟瀹瑰櫒鍒拌揪"), - WAVE_SEED("198", "鎾涓�"), + + WAVE_SEED("198", "鎾涓�/鐩樼偣涓�"), COMPLETE_OUT("199", "鍑哄簱瀹屾垚"), diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java index 9a5470a..d07ce0b 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java @@ -163,14 +163,39 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public R gentMoveTask(Map<String, Object> map) { - if (Objects.isNull(map.get("targetLoc"))) { - + if (Objects.isNull(map.get("targetLoc")) && StringUtils.isNotBlank(map.get("targetLoc").toString())) { + throw new CoolException("鐩爣搴撲綅涓嶈兘涓虹┖锛�1"); } - if (Objects.isNull(map.get("orgLoc"))) { - + if (Objects.isNull(map.get("orgLoc")) && StringUtils.isNotBlank(map.get("orgLoc").toString())) { + throw new CoolException("婧愬簱浣嶄笉鑳戒负绌猴紒"); } + Loc orgLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, map.get("orgLoc"))); + if (Objects.isNull(orgLoc)) { + throw new CoolException("婧愬簱浣嶄笉瀛樺湪锛侊紒"); + } + + Loc targetLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, map.get("targetLoc").toString())); + if (Objects.isNull(targetLoc)) { + throw new CoolException("鐩爣搴撲綅涓嶅瓨鍦紒锛�"); + } + + targetLoc.setUseStatus(LocStsType.LOC_STS_TYPE_R.type); + + if (!locService.updateById(targetLoc)) { + throw new CoolException("鐩爣搴撲綅棰勭害澶辫触锛侊紒"); + } + + String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_TASK_CODE, null); + Task task = new Task(); + task.setOrgLoc(orgLoc.getCode()) + .setTaskCode(ruleCode) + .setTaskType(TaskType.TASK_TYPE_LOC_MOVE.type) + .setBarcode(orgLoc.getBarcode()); + + return null; } 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 ffbcebe..ebf1007 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 @@ -395,6 +395,7 @@ pickComplateInStock(task); } else if (task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)) { //57.鐩樼偣鍐嶅叆搴� + pickComplateInStock(task); } } } @@ -417,12 +418,10 @@ complateOutStock(task); } else if (task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)) { //鎷f枡鍑哄簱 -// Task seviceOne = pickTask(task.getId()); - //绉婚櫎鍘熷搴撳瓨 complateOutStock(task); } else if (task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)) { - - + //鐩樼偣鍑哄簱 + complateOutStock(task); } } } @@ -722,7 +721,7 @@ throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�"); } - if (!task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)) { + if (!task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type) || !task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)) { if (!this.update(new LambdaUpdateWrapper<Task>() .eq(Task::getId, task.getId()) .set(Task::getTaskStatus, TaskStsType.UPDATED_OUT.id))) { -- Gitblit v1.9.1