From a5816e4f1abd1e513d304357e542b75ff76a8f94 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 20 五月 2025 13:37:55 +0800
Subject: [PATCH] 任务列表完成优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 55 +++++++++++++++++----------
rsf-admin/src/page/task/TaskList.jsx | 8 +---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java | 1
rsf-server/src/main/java/com/vincent/rsf/server/system/constant/GlobalConfigCode.java | 2
rsf-server/src/main/resources/application-dev.yml | 2
5 files changed, 38 insertions(+), 30 deletions(-)
diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx
index e482fe3..8c5573c 100644
--- a/rsf-admin/src/page/task/TaskList.jsx
+++ b/rsf-admin/src/page/task/TaskList.jsx
@@ -39,6 +39,7 @@
import CancelIcon from '@mui/icons-material/Cancel';
import PageDrawer from "../components/PageDrawer";
import MyField from "../components/MyField";
+import ConfirmButton from "../components/ConfirmButton";
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
import * as Common from '@/utils/common';
@@ -188,7 +189,6 @@
};
//瀹屾垚浠诲姟
const completeTask = async (row) => {
- console.log(row.id);
const { data: { code, data, msg } } = await request.post(`task/complete/` + row.id);
if (code === 200) {
notify(msg);
@@ -198,11 +198,7 @@
}
}
return (
- <Button
- onClick={clickComplete}
- label="toolbar.complete">
- <TaskAltIcon />
- </Button>
+ <ConfirmButton label={"toolbar.complete"} color="secondary" startIcon={<TaskAltIcon />} onConfirm={clickComplete} />
)
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
index 9df319a..e32ac6b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -55,7 +55,6 @@
* @return
* @time 2025/4/2 12:37
*/
-// @Scheduled(cron = "0 0/05 * * * ? ")
@Scheduled(cron = "0/3 * * * * ?")
@Transactional(rollbackFor = Exception.class)
public void completeInStock() throws Exception {
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 b82017c..178cf4d 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
@@ -371,15 +371,41 @@
@Override
@Transactional(rollbackFor = Exception.class)
public void completeTask(List<Task> tasks) throws Exception {
- if (tasks.isEmpty()) {
+ for (Task task : tasks) {
+ if (task.getTaskType() < TaskType.TASK_TYPE_OUT.type) {
+ //鍏ュ簱浠诲姟
+ complateInstock(task);
+ } else {
+ //鍑哄簱浠诲姟
+ complateOutStock(task);
+ }
+ }
+ }
+ /**
+ * @author Ryan
+ * @date 2025/5/20
+ * @description: 瀹屾垚鍑哄簱浠诲姟锛屾洿鏂板嚭搴撳簱瀛樹俊鎭�
+ * @version 1.0
+ */
+ public void complateOutStock(Task task) {
+
+
+ }
+
+ /**
+ * @author Ryan
+ * @date 2025/5/20
+ * @description: 瀹屾垚鍏ュ簱浠诲姟
+ * @version 1.0
+ */
+ public void complateInstock(Task task) {
+ if (Objects.isNull(task)) {
return;
}
- List<Long> list = tasks.stream().map(Task::getId).collect(Collectors.toList());
- List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, list));
+ List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, task.getId()));
if (taskItems.isEmpty()) {
throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦紒锛�");
}
- List<String> locCodes = tasks.stream().map(Task::getTargLoc).collect(Collectors.toList());
Map<Long, List<TaskItem>> listMap = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getTaskId));
/**瀵逛换鍔℃槑缁嗘寜浠诲姟涓诲崟杩涜鍒嗙粍*/
listMap.keySet().forEach(key -> {
@@ -396,10 +422,7 @@
Map<Long, List<TaskItem>> orderMap = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getSource));
orderMap.keySet().forEach(key -> {
WaitPakinItem pakinItem = waitPakinItemService.getById(key);
-// AsnOrder order = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>()
-// .eq(AsnOrder::getId, key)
-// .select(AsnOrder::getId, AsnOrder::getPoCode, AsnOrder::getCode));
- if (null == pakinItem) {
+ if (Objects.isNull(pakinItem)) {
throw new CoolException("鏁版嵁閿欒锛氱粍鎷栨暟鎹笉瀛樺湪锛岃鑱旂郴绠$悊鍛橈紒锛�");
}
List<TaskItem> items = orderMap.get(key);
@@ -413,10 +436,10 @@
}
});
/**淇敼搴撲綅鐘舵�佷负F.鍦ㄥ簱*/
- if (!locService.update(new LambdaUpdateWrapper<Loc>().set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type).in(Loc::getCode, locCodes))) {
+ if (!locService.update(new LambdaUpdateWrapper<Loc>().set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type).eq(Loc::getCode, task.getTargLoc()))) {
throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
}
- if (!this.update(new LambdaUpdateWrapper<Task>().in(Task::getId, list).set(Task::getTaskStatus, TaskStsType.UPDATED_IN.id))) {
+ if (!this.update(new LambdaUpdateWrapper<Task>().eq(Task::getId, task.getId()).set(Task::getTaskStatus, TaskStsType.UPDATED_IN.id))) {
throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
}
}
@@ -486,19 +509,13 @@
}
/**
- * 鐢熸垚搴撳瓨鏄庣粏
+ * 鐢熸垚鍏ュ簱搴撳瓨鏄庣粏
* @param items
* @return
*/
@Transactional(rollbackFor = Exception.class)
public void saveStockItems(List<TaskItem> items, WaitPakinItem order) throws Exception {
Stock stock = new Stock();
-// if (!Objects.isNull(order.getPoCode()) && StringUtils.isNotBlank(order.getPoCode())) {
-// Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getCode, order.getPoCode()));
-// if (!Objects.isNull(purchase)) {
-// stock.setPlatOrderNo(purchase.getPlatCode()).setPlatToken(purchase.getPlatId());
-// }
-// }
String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_STOCK_CODE, null);
if (StringUtils.isBlank(ruleCode)) {
throw new CoolException("褰撳墠涓氬姟锛�" + SerialRuleCode.SYS_STOCK_CODE + "锛岀紪鐮佽鍒欎笉瀛樺湪锛侊紒");
@@ -517,10 +534,6 @@
List<StockItem> stockItems = new ArrayList<>();
for (TaskItem item : items) {
/**閫氳繃浠诲姟鏄庣粏涓殑taskId鏌ヨ,鑾峰彇TASK鐨勭洰鏍囧簱浣嶄俊鎭�*/
-// AsnOrderItem orderItem = asnOrderItemService.getOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, item.getOrderItemId()));
-// if (Objects.isNull(orderItem)) {
-// throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
-// }
StockItem stockItem = new StockItem();
BeanUtils.copyProperties(item, stockItem);
stockItem.setSourceItemId(item.getOrderItemId())
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/GlobalConfigCode.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/GlobalConfigCode.java
index f6bbf08..07d975e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/GlobalConfigCode.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/GlobalConfigCode.java
@@ -14,7 +14,7 @@
public final static String DIRECT_WAIT_PAKIN = "DirectWaitPakin";
/**鏀惰揣鏃舵槸鍚﹀厑璁歌秴鏀�*/
public final static String ALLOW_OVER_CHANGE = "AllowOverchange";
-
+ /**璁㈠崟鏄惁涓婃姤骞冲彴*/
public final static String ORDER_INOF_REPORT_PLAT = "OrderInofReportPlat";
}
diff --git a/rsf-server/src/main/resources/application-dev.yml b/rsf-server/src/main/resources/application-dev.yml
index 203032b..19cef04 100644
--- a/rsf-server/src/main/resources/application-dev.yml
+++ b/rsf-server/src/main/resources/application-dev.yml
@@ -14,7 +14,7 @@
driver-class-name: com.mysql.jdbc.Driver
# url: jdbc:mysql://47.76.147.249:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
- url: jdbc:mysql://127.0.0.1:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://192.168.4.50:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
# username: rsf
password: 34821015
type: com.alibaba.druid.pool.DruidDataSource
--
Gitblit v1.9.1