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