From e01c5a713793239e26b2e304fafd551affa4bcfc Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 29 四月 2025 17:36:18 +0800 Subject: [PATCH] 波次任务下发功能优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java | 16 ++++---- rsf-admin/src/page/task/TaskList.jsx | 2 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java | 7 --- rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx | 32 ++++++++++----- rsf-admin/src/i18n/core/chineseMessages.js | 2 rsf-admin/src/i18n/zh.js | 6 +++ rsf-admin/src/i18n/en.js | 7 +++ rsf-admin/src/App.jsx | 3 + rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java | 6 +++ 9 files changed, 54 insertions(+), 27 deletions(-) diff --git a/rsf-admin/src/App.jsx b/rsf-admin/src/App.jsx index 7ede214..60630eb 100644 --- a/rsf-admin/src/App.jsx +++ b/rsf-admin/src/App.jsx @@ -44,6 +44,9 @@ [ { locale: "en", name: "English" }, { locale: "zh", name: "绠�浣撲腑鏂�" }, + // { locale: "zh", name: "绠�浣撲腑鏂�" }, + // { locale: "zh", name: "绠�浣撲腑鏂�" }, + // { locale: "zh", name: "绠�浣撲腑鏂�" }, ], { // msg in console diff --git a/rsf-admin/src/i18n/core/chineseMessages.js b/rsf-admin/src/i18n/core/chineseMessages.js index ade04f6..eeb4c53 100644 --- a/rsf-admin/src/i18n/core/chineseMessages.js +++ b/rsf-admin/src/i18n/core/chineseMessages.js @@ -95,7 +95,7 @@ delete_title: "鍒犻櫎 %{name} #%{id}", details: "Details", error: "A client error occurred and your request couldn't be completed.", - + invalid_form: "琛ㄥ崟鏃犳晥 璇锋鏌ユ槸鍚︽湁閿欒!", loading: "Please wait", no: "No", diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js index c5127a8..199d83f 100644 --- a/rsf-admin/src/i18n/en.js +++ b/rsf-admin/src/i18n/en.js @@ -1028,6 +1028,13 @@ order: 'Orders', }, + request: { + error: { + stock: "Insufficient inventory to deliver 锛侊紒" + } + + } + }; export default customEnglishMessages; diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js index c82f11d..bbbc8b9 100644 --- a/rsf-admin/src/i18n/zh.js +++ b/rsf-admin/src/i18n/zh.js @@ -1042,6 +1042,12 @@ createWave: "鐢熸垚娉㈡", recover: "缁х画鏀惰揣", }, + request: { + error: { + stock: "搴撳瓨涓嶈冻锛屾棤娉曟彁浜わ紒锛�" + } + + } }; export default customChineseMessages; diff --git a/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx b/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx index d37edc4..955470f 100644 --- a/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx +++ b/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx @@ -150,7 +150,7 @@ </DialogContent> <DialogActions> <Toolbar sx={{ width: '100%', justifyContent: 'end' }} > - <GenerateTaskButton record={record?.id} dataSource={data} /> + <GenerateTaskButton record={record?.id} dataSource={data} setOpen={setOpen}/> </Toolbar> </DialogActions> </Dialog> @@ -160,22 +160,32 @@ export default ItemToTaskModal; -const GenerateTaskButton = (record, dataSource) => { +const GenerateTaskButton = (record) => { const refresh = useRefresh(); const notify = useNotify(); const redirect = useRedirect(); + const translate = useTranslate(); + const { locs, setLocs } = useState([]); const generateTask = async () => { - const params = {wave: record, waveItem: dataSource} - console.log('---------->'); - console.log(record); - const res = await request.post(`/wave/public/task`, { wave: record?.record, waveItem: record?.dataSource }); - if (res?.data?.code === 200) { - notify(res.data.msg); - redirect("/task") + record?.dataSource.map(item => { + const loc = JSON.parse(item.stockLocs); + if (loc != undefined && loc.length > 0) { + setLocs(...loc) + } + }) + if (locs == undefined || locs.length < 1) { + notify(translate('request.error.stock')) } else { - notify(res.data.msg); + const res = await request.post(`/wave/public/task`, { wave: record?.record, waveItem: record?.dataSource }); + if (res?.data?.code === 200) { + notify(res.data.msg); + redirect("/task") + } else { + notify(res.data.msg); + } + refresh(); } - refresh(); + record.setOpen(false) } return (<Button variant="contained" label={"ra.action.save"} onClick={generateTask}></Button>) } diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx index 84fd054..0904353 100644 --- a/rsf-admin/src/page/task/TaskList.jsx +++ b/rsf-admin/src/page/task/TaskList.jsx @@ -103,7 +103,7 @@ title={"menu.task"} empty={false} filters={filters} - sort={{ field: "sort", order: "desc" }} + sort={{ field: "create_time", order: "desc" }} actions={( <TopToolbar> <FilterButton /> diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java index 2bb3cf0..85b1c07 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java @@ -99,6 +99,12 @@ private Double anfme; /** + * 搴撳瓨鏁伴噺 + */ + @ApiModelProperty("搴撳瓨鏁伴噺") + private Double stockQty; + + /** * 搴撳瓨鎵规 */ @ApiModelProperty(value= "搴撳瓨鎵规") diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java index 464ab07..4b139ae 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java @@ -301,7 +301,7 @@ double sum2 = orderItems.stream().mapToDouble(AsnOrderItem::getWorkQty).sum(); if (!this.update(new LambdaUpdateWrapper<AsnOrder>() .set(AsnOrder::getWaveId, wave.getId()) - .set(AsnOrder::getWorkQty, sum2) + .set(AsnOrder::getWorkQty, sum2) .set(AsnOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_WAVE.val) .in(AsnOrder::getId, ids))) { throw new CoolException("鎵ц鐘舵�佷慨鏀逛慨鏀瑰け璐ワ紒锛�"); @@ -310,10 +310,10 @@ } /** - * @author Ryan - * @description 淇濆瓨鍑哄簱涓诲崟鍙婃槑缁� * @param * @return + * @author Ryan + * @description 淇濆瓨鍑哄簱涓诲崟鍙婃槑缁� * @time 2025/4/29 13:47 */ @Override @@ -334,9 +334,9 @@ if (Objects.isNull(ruleCode) || StringUtils.isBlank(ruleCode)) { throw new CoolException("缂栫爜瑙勫垯閿欒锛氳妫�鏌ャ�孲YS_OUT_STOCK_CODE銆嶆槸鍚﹁缃纭紒锛�"); } - orders.setCode(ruleCode) .setType(OrderType.ORDER_OUT.type) + .setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val) .setUpdateBy(loginUserId) .setCreateBy(loginUserId); if (!this.save(orders)) { @@ -347,7 +347,7 @@ } params.setOrders(orders); try { - svaeOrUpdateOrderItem(params,loginUserId); + svaeOrUpdateOrderItem(params, loginUserId); } catch (Exception e) { throw new CoolException(e.getMessage()); } @@ -357,10 +357,10 @@ /** - * @author Ryan - * @description 淇敼涓诲崟鍙婃槑缁� * @param * @return + * @author Ryan + * @description 淇敼涓诲崟鍙婃槑缁� * @time 2025/4/29 13:47 */ @Override @@ -380,7 +380,7 @@ } try { - svaeOrUpdateOrderItem(params,loginUserId); + svaeOrUpdateOrderItem(params, loginUserId); } catch (Exception e) { throw new CoolException(e.getMessage()); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java index 73b2acd..a1d0b90 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java @@ -68,7 +68,6 @@ if (Objects.isNull(waves)) { throw new CoolException("娉㈡鏁版嵁涓嶅瓨鍦紒锛�"); } -// List<Long> list = itemParams.stream().map(WaveItem::getWaveId).collect(Collectors.toList()); List<WaveItem> waveItems = waveItemService.list(new LambdaQueryWrapper<WaveItem>().eq(WaveItem::getWaveId, waves.getId())); if (waveItems.isEmpty()) { throw new CoolException("娉㈡鏄庣粏涓嶅瓨鍦紒锛�"); @@ -85,17 +84,12 @@ // 3. 淇敼涓诲崟銆佹尝娆℃墽琛屾暟閲� // 4. 鍒ゆ柇鍏ㄤ粨鍑哄簱鎴栨嫞鏂欏嚭搴� List<Long> orderIds = waveItems.stream().map(WaveItem::getOrderId).collect(Collectors.toList()); -// List<AsnOrder> orders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, orderIds)); /**淇敼鍑哄簱鍗曠姸鎬�*/ if (!asnOrderService.update(new LambdaUpdateWrapper<AsnOrder>() .set(AsnOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_WORKING.val) .in(AsnOrder::getId, orderIds))) { throw new CoolException("鍑哄簱鍗曟嵁鐘舵�佷慨鏀瑰け璐ワ紒锛�"); } -// /**淇敼娉㈡鍗曟嵁鎵ц鐘舵��*/ -// if (!this.update(new LambdaUpdateWrapper<Wave>().set(Wave::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_TASK).eq(Wave::getId, waves.getId()))) { -// throw new CoolException("娉㈡鐘舵�佷慨鏀瑰け璐ワ紒锛�"); -// } return R.ok(); } @@ -178,6 +172,7 @@ TaskItem taskItem = new TaskItem(); BeanUtils.copyProperties(item, taskItem); taskItem.setTaskId(task.getId()) + .setAnfme(waveItem.getAnfme()) .setId(null) .setSource(item.getWaveItemId()); taskItems.add(taskItem); -- Gitblit v1.9.1