From d2cb36959b65ece32cec7e2db4d6764f5c788b1d Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 30 四月 2025 08:33:24 +0800
Subject: [PATCH] 1. 波次删除判断是否有子任务列表 2. 任务明细添加字段:执行数量,完成数量, 源单据号,源单据ID
---
rsf-admin/src/page/orders/wave/WaveList.jsx | 3 ++-
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java | 8 ++++++++
rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx | 2 +-
rsf-admin/src/page/orders/outStock/OutOrderList.jsx | 6 ++----
rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx | 2 --
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java | 11 +++++++++++
rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx | 1 -
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java | 21 ++++++++++++++-------
8 files changed, 38 insertions(+), 16 deletions(-)
diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
index 6c2dc38..1b9a2f1 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
@@ -66,9 +66,7 @@
const notify = useNotify();
const refresh = useRefresh();
const [disabled, setDisabled] = useState(false)
-
const [createDialog, setCreateDialog] = useState(false);
-
const tableRef = useRef();
useEffect(() => {
diff --git a/rsf-admin/src/page/orders/outStock/OutOrderList.jsx b/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
index 2b181eb..267a114 100644
--- a/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
+++ b/rsf-admin/src/page/orders/outStock/OutOrderList.jsx
@@ -51,7 +51,7 @@
import DictionarySelect from "../../components/DictionarySelect";
import ImportButton from "../../components/ImportButton";
import DetailsIcon from '@mui/icons-material/Details';
-import CancelIcon from '@mui/icons-material/Cancel';
+import CancelOutlinedIcon from '@mui/icons-material/CancelOutlined';
import OutOrderCreate from "./OutOrderCreate";
import AddIcon from '@mui/icons-material/Add';
import OutOrderModal from "./OutOrderModal";
@@ -266,14 +266,12 @@
return (
<Button onClick={createByOrder} label={'toolbar.asnCreate'}> <AddIcon /> </Button>
)
-
}
const CancelButton = () => {
const record = useRecordContext();
const notify = useNotify();
const refresh = useRefresh();
-
const cancelOrder = async () => {
const { data: { code, data, msg } } = await request.get(`/outStock/cancel/${record?.id}`);
if (code === 200) {
@@ -285,6 +283,6 @@
}
return (
- <ConfirmButton label={"toolbar.cancel"} startIcon={<CancelIcon />} onConfirm={cancelOrder} />
+ record?.exceStatus == 0 ? <ConfirmButton label={"toolbar.cancel"} startIcon={<CancelOutlinedIcon /> } onConfirm={cancelOrder} /> : <></>
)
}
diff --git a/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx b/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx
index 9c9b9be..08a9667 100644
--- a/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx
+++ b/rsf-admin/src/page/orders/outStock/SelectMatnrModal.jsx
@@ -133,7 +133,6 @@
"orders": formData,
"items": tabelData,
}
-
const res = await request.post(`/outStock/items/save`, parmas);
if (res?.data?.code === 200) {
setOpen(false);
diff --git a/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx b/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx
index 955470f..281f83e 100644
--- a/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx
+++ b/rsf-admin/src/page/orders/wave/ItemToTaskModal.jsx
@@ -178,6 +178,7 @@
} else {
const res = await request.post(`/wave/public/task`, { wave: record?.record, waveItem: record?.dataSource });
if (res?.data?.code === 200) {
+ record.setOpen(false)
notify(res.data.msg);
redirect("/task")
} else {
@@ -185,7 +186,6 @@
}
refresh();
}
- record.setOpen(false)
}
return (<Button variant="contained" label={"ra.action.save"} onClick={generateTask}></Button>)
}
diff --git a/rsf-admin/src/page/orders/wave/WaveList.jsx b/rsf-admin/src/page/orders/wave/WaveList.jsx
index c1af1e3..eec93fe 100644
--- a/rsf-admin/src/page/orders/wave/WaveList.jsx
+++ b/rsf-admin/src/page/orders/wave/WaveList.jsx
@@ -184,11 +184,12 @@
const notify = useNotify();
const refresh = useRefresh();
const redirect = useRedirect();
+
const pubClick = async (event) => {
setSelectIds(record);
setDetailDialog(true);
}
return (
- <ConfirmButton label={"toolbar.createTask"} startIcon={<PublicIcon />} onConfirm={pubClick} />
+ record?.exceStatus == 0 ? <ConfirmButton label={"toolbar.createTask"} startIcon={<PublicIcon /> } onConfirm={pubClick} size='small' /> : <></>
);
}
\ No newline at end of file
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java
index d21aa52..b527b50 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaveController.java
@@ -12,8 +12,10 @@
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.KeyValVo;
import com.vincent.rsf.server.common.domain.PageParam;
+import com.vincent.rsf.server.manager.entity.TaskItem;
import com.vincent.rsf.server.manager.entity.Wave;
import com.vincent.rsf.server.manager.entity.WaveItem;
+import com.vincent.rsf.server.manager.service.TaskItemService;
import com.vincent.rsf.server.manager.service.WaveService;
import com.vincent.rsf.server.system.controller.BaseController;
import io.swagger.annotations.ApiOperation;
@@ -30,6 +32,8 @@
@Autowired
private WaveService waveService;
+ @Autowired
+ private TaskItemService taskItemService;
@PreAuthorize("hasAuthority('manager:wave:list')")
@PostMapping("/wave/page")
@@ -85,6 +89,13 @@
@OperationLog("Delete 娉㈡鍗曟嵁")
@PostMapping("/wave/remove/{ids}")
public R remove(@PathVariable Long[] ids) {
+ if (Objects.isNull(ids)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getSourceId, ids));
+ if (taskItems.isEmpty()) {
+ throw new CoolException("鏈夋湭瀹屾垚浠诲姟锛屼笉鍙墽琛屽垹闄ゆ搷浣滐紒锛�");
+ }
if (!waveService.removeByIds(Arrays.asList(ids))) {
return R.error("Delete Fail");
}
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 85b1c07..976a609 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
@@ -1,6 +1,5 @@
package com.vincent.rsf.server.manager.entity;
-import com.baomidou.mybatisplus.annotation.TableLogic;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -10,12 +9,9 @@
import com.vincent.rsf.server.system.service.DictDataService;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -25,7 +21,6 @@
import com.vincent.rsf.server.system.service.UserService;
import com.vincent.rsf.server.system.entity.User;
import java.io.Serializable;
-import java.util.Date;
import java.util.Objects;
@Data
@@ -60,6 +55,12 @@
@ApiModelProperty("婧愮紪鐮�")
private Long source;
+
+ @ApiModelProperty("婧愬崟鍙�")
+ private String sourceCode;
+
+ @ApiModelProperty("婧愪富鍗旾D")
+ private Long sourceId;
@ApiModelProperty("鍗曟嵁ID")
private Long orderId;
@@ -99,10 +100,16 @@
private Double anfme;
/**
- * 搴撳瓨鏁伴噺
+ * 鎵ц鏁伴噺
*/
@ApiModelProperty("搴撳瓨鏁伴噺")
- private Double stockQty;
+ private Double workQty;
+
+ /**
+ * 瀹屾垚鏁伴噺
+ */
+ @ApiModelProperty("瀹屾垚鏁伴噺")
+ private Double qty;
/**
* 搴撳瓨鎵规
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 a1d0b90..f347e0b 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
@@ -154,6 +154,12 @@
if (Objects.isNull(loc)) {
throw new CoolException("搴撲綅涓嶅瓨鍦紒锛�");
}
+
+ List<TaskItem> items = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getSourceId, wave.getId()));
+ if (items.isEmpty()) {
+ throw new CoolException("娉㈡浠诲姟宸茬敓鎴愶紝涓嶈兘閲嶅鐢熸垚锛侊紒");
+ }
+
task.setTaskCode(ruleCode)
.setTaskType(TaskType.TASK_TYPE_OUT.type)
.setTaskStatus(TaskStsType.GENERATE_OUT.id)
@@ -174,6 +180,8 @@
taskItem.setTaskId(task.getId())
.setAnfme(waveItem.getAnfme())
.setId(null)
+ .setSourceCode(wave.getCode())
+ .setSourceId(wave.getId())
.setSource(item.getWaveItemId());
taskItems.add(taskItem);
}
--
Gitblit v1.9.1