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