From e0f90699279803dd529fd1f41b4c3c62e57e0fcb Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 23 六月 2025 13:48:13 +0800
Subject: [PATCH] 波次下发任务功能优化 代码优化
---
rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx | 2 +-
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 2 +-
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java | 19 +++++++++----------
rsf-admin/src/page/orders/wave/WaveItemList.jsx | 5 ++++-
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java | 9 ++++++++-
rsf-admin/src/page/orders/outStock/OutOrderList.jsx | 1 +
rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx | 2 --
7 files changed, 24 insertions(+), 16 deletions(-)
diff --git a/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx b/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx
index 1f3564a..8095542 100644
--- a/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutOrderItemList.jsx
@@ -158,7 +158,7 @@
</ReferenceField>,
<DateField source="createTime" label="common.field.createTime" showTime />
<TextField source="memo" label="common.field.memo" sortable={false} />
- </StyledDatagrid>脧
+ </StyledDatagrid>
</List>
<OutOrderItemCreate
open={createDialog}
diff --git a/rsf-admin/src/page/orders/outStock/OutOrderList.jsx b/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
index 662f9b9..a74ca93 100644
--- a/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
@@ -115,6 +115,7 @@
const OutOrderList = (props) => {
const translate = useTranslate();
const refresh = useRefresh();
+ const notify = useNotify();
const [createDialog, setCreateDialog] = useState(false);
const [manualDialog, setManualDialog] = useState(false);
diff --git a/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx b/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx
index ca4245f..08e9a61 100644
--- a/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx
+++ b/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx
@@ -135,7 +135,6 @@
if (res?.data?.code === 200) {
setOpen(false);
refresh();
- billReload?.current()
resetData()
} else {
notify(res.data.msg);
@@ -149,7 +148,6 @@
if (res?.data?.code === 200) {
setOpen(false);
refresh();
- billReload?.current()
resetData()
} else {
notify(res.data.msg);
diff --git a/rsf-admin/src/page/orders/wave/WaveItemList.jsx b/rsf-admin/src/page/orders/wave/WaveItemList.jsx
index 961de23..990a0fd 100644
--- a/rsf-admin/src/page/orders/wave/WaveItemList.jsx
+++ b/rsf-admin/src/page/orders/wave/WaveItemList.jsx
@@ -33,6 +33,7 @@
DeleteButton,
useGetRecordId,
Button,
+ useRefresh,
} from 'react-admin';
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
import PauseCircleOutlineIcon from '@mui/icons-material/PauseCircleOutline';
@@ -191,6 +192,7 @@
const { data, selectedIds, onUnselectItems } = useListContext();
const waveId = useGetRecordId();
const notify = useNotify();
+ const refresh = useRefresh()
const startClick = async () => {
onUnselectItems();
const { data: { code, data, msg } } = await request.post('/wave/selects/task', { wave: waveId, waveItem: selectedIds });
@@ -200,6 +202,7 @@
} else {
notify(msg);
}
+ refresh()
}
return (
<Button label="toolbar.publicWorking" onClick={startClick} startIcon={<PlayArrowOutlinedIcon />} variant="outlined" />
@@ -213,6 +216,6 @@
onUnselectItems();
}
return (
- record?.exceStatus == 2 ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<PauseCircleOutlineIcon />} /> : <></>
+ record?.exceStatus == 1 ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<PauseCircleOutlineIcon />} /> : <></>
)
}
\ No newline at end of file
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 c1b7c48..36d255b 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
@@ -81,13 +81,12 @@
listMap.keySet().forEach(key -> {
Task task = new Task();
Loc loc = locService.getById(key);
- logger.info("搴撲綅锛�>{}<UNK>", loc.getCode());
-
+ logger.info("搴撲綅锛�>{}", loc.getCode());
if (Objects.isNull(loc)) {
throw new CoolException("鏁版嵁閿欒锛氭墍閫夊簱瀛樹俊鎭笉瀛樺湪锛侊紒");
}
if (!loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_F.type)) {
- throw new CoolException("搴撲綅:" + loc.getCode() + ",涓嶅浜嶧.鍦ㄥ簱鐘舵�侊紝涓嶅彲鎵цR.鍑哄簱棰勭害鎿嶄綔锛侊紒");
+ throw new CoolException("搴撲綅:" + loc.getCode() + ",涓嶅浜嶧.鍦ㄥ簱鐘舵�侊紝涓嶅彲鎵цR.鍑哄簱棰勭害鎿嶄綔锛侊紒");
}
loc.setUseStatus(LocStsType.LOC_STS_TYPE_R.type);
@@ -202,15 +201,15 @@
.setUpdateTime(new Date())
.setOrderType(OrderType.ORDER_OUT.type)
.setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type));
- if (map.getType().equals(Constants.TASK_TYPE_ORDER_OUT_STOCK)) {
+ if (map.getType().equals(Constants.TASK_TYPE_ORDER_OUT_STOCK)) {
taskItem.setWkType(Short.parseShort(order.getWkType()))
.setSourceCode(order.getCode())
.setSourceId(order.getId());
- } else if (map.getType().equals(Constants.TASK_TYPE_OUT_CHECK) || map.getType().equals(Constants.TASK_TYPE_OUT_STOCK)) {
- taskItem.setSource(item.getId())
- .setSourceId(item.getLocId())
- .setSourceCode(item.getLocCode());
- }
+ } else if (map.getType().equals(Constants.TASK_TYPE_OUT_CHECK) || map.getType().equals(Constants.TASK_TYPE_OUT_STOCK)) {
+ taskItem.setSource(item.getId())
+ .setSourceId(item.getLocId())
+ .setSourceCode(item.getLocCode());
+ }
taskItems.add(taskItem);
Double qty = Math.round((item.getWorkQty() + item.getOutQty()) * 10000) / 10000.0;
@@ -274,7 +273,7 @@
if (Objects.isNull(map.getTarLoc()) || StringUtils.isBlank(map.getTarLoc())) {
//鐩爣搴撲綅涓虹┖锛岃嚜鍔ㄨ幏鍙栨柊搴撲綅
DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
- .eq(DeviceSite::getType, TaskType.TASK_TYPE_LOC_MOVE.type)
+ .eq(DeviceSite::getType, TaskType.TASK_TYPE_LOC_MOVE.type)
.eq(DeviceSite::getChannel, orgLoc.getChannel()), false);
if (Objects.isNull(deviceSite)) {
throw new CoolException("绔欑偣淇℃伅涓嶅瓨鍦紒锛�");
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 3430a52..f9b04ba 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
@@ -790,7 +790,7 @@
List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()));
if (!taskItems.isEmpty()) {
for (TaskItem item : taskItems) {
- if (item.getOrderType().equals(OrderType.ORDER_OUT.type)) {
+ if (!Objects.isNull(item.getOrderType()) && item.getOrderType().equals(OrderType.ORDER_OUT.type)) {
Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getOrgLoc()));
if (Objects.isNull(loc)) {
throw new CoolException("鏁版嵁閿欒锛氬簱浣嶄俊鎭笉瀛樺湪锛侊紒");
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 4b61f5d..c4890eb 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
@@ -116,6 +116,13 @@
if (items.isEmpty()) {
throw new CoolException("娉㈡鏄庣粏涓嶅瓨鍦紒锛�");
}
+
+ if (!waveItemService.update(new LambdaUpdateWrapper<WaveItem>()
+ .set(WaveItem::getExceStatus, WaveItemExceStatus.WAVE_EXCE_STATUS_ING.val)
+ .in(WaveItem::getId, waveItems))) {
+ throw new CoolException("涓嬪彂鎵ц寮傚父锛岃绋嶅�欓噸璇曪紒");
+ }
+
/**鐢熸垚鍑哄簱浠诲姟*/
try {
generateOutTask(items, loginUserId, waves);
@@ -123,7 +130,7 @@
log.error("UNK", e);
throw new CoolException(e.getMessage());
}
- return null;
+ return R.ok();
}
/**
--
Gitblit v1.9.1