From d4ae421c04e90172b808cbebb86f297412ea8345 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 23 九月 2024 11:05:32 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/BusController.java | 33 ++++ zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/TaskIdByLongDto.java | 23 +++ zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocStsController.java | 8 + zy-acs-flow/src/page/bus/BusCreate.jsx | 269 +++++++++++++++++++++++++------------------- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/BusCreateParam.java | 6 5 files changed, 216 insertions(+), 123 deletions(-) diff --git a/zy-acs-flow/src/page/bus/BusCreate.jsx b/zy-acs-flow/src/page/bus/BusCreate.jsx index f9f7af5..f24e50d 100644 --- a/zy-acs-flow/src/page/bus/BusCreate.jsx +++ b/zy-acs-flow/src/page/bus/BusCreate.jsx @@ -33,12 +33,47 @@ import DialogCloseButton from "../components/DialogCloseButton"; import StatusSelectInput from "../components/StatusSelectInput"; import MemoInput from "../components/MemoInput"; +import request from '@/utils/request'; const BusCreate = (props) => { const { open, setOpen } = props; const translate = useTranslate(); const notify = useNotify(); + + const [locStsIdByStock, setLocStsIdByStock] = useState(null); + const [locStsIdByIdle, setLocStsIdByIdle] = useState(null); + + useEffect(() => { + const queryLocStsByStock = async () => { + request.post('/locSts/list', { + uuid: 'STOCK' + }, { + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } + }).then(res => { + setLocStsIdByStock(res.data.data[0]?.id); + }) + } + const queryLocStsByIdle = async () => { + request.post('/locSts/list', { + uuid: 'IDLE' + }, { + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } + }).then(res => { + setLocStsIdByIdle(res.data.data[0]?.id); + }) + } + if (open) { + console.log(1); + + queryLocStsByStock(); + queryLocStsByIdle(); + } + }, [open]) const handleClose = (event, reason) => { if (reason !== "backdropClick") { @@ -57,124 +92,128 @@ return ( <> - <CreateBase - record={{}} - transform={(data) => { - return data; - }} - mutationOptions={{ onSuccess: handleSuccess, onError: handleError }} - > - <Dialog - open={open} - onClose={handleClose} - aria-labelledby="form-dialog-title" - fullWidth - disableRestoreFocus - maxWidth="md" // 'xs' | 'sm' | 'md' | 'lg' | 'xl' + {(locStsIdByStock && locStsIdByIdle) && ( + <CreateBase + record={{}} + transform={(data) => { + return data; + }} + mutationOptions={{ onSuccess: handleSuccess, onError: handleError }} > - <Form> - <DialogTitle id="form-dialog-title" sx={{ - position: 'sticky', - top: 0, - backgroundColor: 'background.paper', - zIndex: 1000 - }} - > - {translate('create.title')} - <Box sx={{ position: 'absolute', top: 8, right: 8, zIndex: 1001 }}> - <DialogCloseButton onClose={handleClose} /> - </Box> - </DialogTitle> - <DialogContent> - <Grid container rowSpacing={2} columnSpacing={2}> - <Grid item xs={6} display="flex" gap={1}> - <TextInput - label="table.field.bus.busNo" - source="busNo" - parse={v => v} - validate={required()} - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> - <DateTimeInput - label="table.field.bus.startTime" - source="startTime" - /> - </Grid> + <Dialog + open={open} + onClose={handleClose} + aria-labelledby="form-dialog-title" + fullWidth + disableRestoreFocus + maxWidth="md" // 'xs' | 'sm' | 'md' | 'lg' | 'xl' + > + <Form> + <DialogTitle id="form-dialog-title" sx={{ + position: 'sticky', + top: 0, + backgroundColor: 'background.paper', + zIndex: 1000 + }} + > + {translate('create.title')} + <Box sx={{ position: 'absolute', top: 8, right: 8, zIndex: 1001 }}> + <DialogCloseButton onClose={handleClose} /> + </Box> + </DialogTitle> + <DialogContent> + <Grid container rowSpacing={2} columnSpacing={2}> + <Grid item xs={6} display="flex" gap={1}> + <TextInput + label="table.field.bus.busNo" + source="busNo" + parse={v => v} + validate={required()} + /> + </Grid> + <Grid item xs={6} display="flex" gap={1}> + <DateTimeInput + label="table.field.bus.startTime" + source="startTime" + /> + </Grid> - <Grid item xs={12} display="flex" gap={1}> - <ArrayInput - source="taskList" - validate={[required()]} - > - <SimpleFormIterator fullWidth getItemLabel={index => `#${index + 1}`}> - <Box mt={1} /> - <Stack direction="row" spacing={2}> - <TextInput source="seqNum" /> - <NumberInput source="priority" defaultValue={1} /> - </Stack> - <Stack direction="row" spacing={2}> - <ReferenceInput - source="oriSta" - reference="sta" - > - <AutocompleteInput - label="table.field.task.oriSta" - optionText="staNo" - filterToQuery={(val) => ({ staNo: val })} - /> - </ReferenceInput> - <ReferenceInput - source="oriLoc" - reference="loc" - > - <AutocompleteInput - label="table.field.task.oriLoc" - optionText="locNo" - filterToQuery={(val) => ({ locNo: val })} - /> - </ReferenceInput> - </Stack> - <Stack direction="row" spacing={2}> - <ReferenceInput - source="destSta" - reference="sta" - > - <AutocompleteInput - label="table.field.task.destSta" - optionText="staNo" - filterToQuery={(val) => ({ staNo: val })} - /> - </ReferenceInput> - <ReferenceInput - source="destLoc" - reference="loc" - > - <AutocompleteInput - label="table.field.task.destLoc" - optionText="locNo" - filterToQuery={(val) => ({ locNo: val })} - /> - </ReferenceInput> - </Stack> - </SimpleFormIterator> - </ArrayInput> + <Grid item xs={12} display="flex" gap={1}> + <ArrayInput + source="taskList" + validate={[required()]} + > + <SimpleFormIterator fullWidth getItemLabel={index => `#${index + 1}`}> + <Box mt={1} /> + <Stack direction="row" spacing={2}> + <ReferenceInput + source="oriSta" + reference="sta" + > + <AutocompleteInput + label="table.field.task.oriSta" + optionText="staNo" + filterToQuery={(val) => ({ staNo: val })} + /> + </ReferenceInput> + <ReferenceInput + source="oriLoc" + reference="loc" + filter={{ locSts: locStsIdByStock }} + > + <AutocompleteInput + label="table.field.task.oriLoc" + optionText="locNo" + filterToQuery={(val) => ({ locNo: val })} + /> + </ReferenceInput> + </Stack> + <Stack direction="row" spacing={2}> + <ReferenceInput + source="destSta" + reference="sta" + > + <AutocompleteInput + label="table.field.task.destSta" + optionText="staNo" + filterToQuery={(val) => ({ staNo: val })} + /> + </ReferenceInput> + <ReferenceInput + source="destLoc" + reference="loc" + filter={{ locSts: locStsIdByIdle }} + > + <AutocompleteInput + label="table.field.task.destLoc" + optionText="locNo" + filterToQuery={(val) => ({ locNo: val })} + /> + </ReferenceInput> + </Stack> + <Stack direction="row" spacing={2} sx={{ maxWidth: '50%' }}> + {/* <TextInput source="seqNum" /> */} + <NumberInput source="priority" defaultValue={1} /> + </Stack> + </SimpleFormIterator> + </ArrayInput> + </Grid> + <Grid item xs={12} display="flex" gap={1}> + <Stack direction="column" spacing={1} width={'100%'}> + <MemoInput /> + </Stack> + </Grid> </Grid> - <Grid item xs={12} display="flex" gap={1}> - <Stack direction="column" spacing={1} width={'100%'}> - <MemoInput /> - </Stack> - </Grid> - </Grid> - </DialogContent> - <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}> - <Toolbar sx={{ width: '100%', justifyContent: 'space-between' }} > - <SaveButton /> - </Toolbar> - </DialogActions> - </Form> - </Dialog> - </CreateBase> + </DialogContent> + <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}> + <Toolbar sx={{ width: '100%', justifyContent: 'space-between' }} > + <SaveButton /> + </Toolbar> + </DialogActions> + </Form> + </Dialog> + </CreateBase> + )} </> ) } diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/TaskIdByLongDto.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/TaskIdByLongDto.java new file mode 100644 index 0000000..f13935b --- /dev/null +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/TaskIdByLongDto.java @@ -0,0 +1,23 @@ +package com.zy.acs.manager.common.domain; + +import lombok.Data; + +/** + * Created by vincent on 2023/6/12 + */ +@Data +public class TaskIdByLongDto { + + private String seqNum; + + private Long oriLoc; + + private Long oriSta; + + private Long destLoc; + + private Long destSta; + + private Integer priority = 1; + +} diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/BusController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/BusController.java index 86046c5..83fdcaa 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/BusController.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/BusController.java @@ -5,14 +5,15 @@ import com.zy.acs.framework.common.Cools; import com.zy.acs.framework.common.R; import com.zy.acs.manager.common.annotation.OperationLog; -import com.zy.acs.manager.common.domain.BaseParam; -import com.zy.acs.manager.common.domain.KeyValVo; -import com.zy.acs.manager.common.domain.PageParam; +import com.zy.acs.manager.common.domain.*; import com.zy.acs.manager.common.utils.ExcelUtil; import com.zy.acs.manager.core.service.MainService; import com.zy.acs.manager.manager.controller.param.BusCreateParam; +import com.zy.acs.manager.manager.controller.param.OpenBusSubmitParam; import com.zy.acs.manager.manager.entity.Bus; import com.zy.acs.manager.manager.service.BusService; +import com.zy.acs.manager.manager.service.LocService; +import com.zy.acs.manager.manager.service.StaService; import com.zy.acs.manager.system.controller.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -29,6 +30,10 @@ private BusService busService; @Autowired private MainService mainService; + @Autowired + private StaService staService; + @Autowired + private LocService locService; @PreAuthorize("hasAuthority('manager:bus:list')") @PostMapping("/bus/page") @@ -60,7 +65,27 @@ @OperationLog("Create Bus") @PostMapping("/bus/save") public R save(@RequestBody BusCreateParam param) { - Bus bus = mainService.generateBusAndTask(); + OpenBusSubmitParam submitParam = new OpenBusSubmitParam(); + submitParam.setBatch(param.getBatch()); + for (TaskIdByLongDto dto : param.getTaskList()) { + TaskDto taskDto = new TaskDto(); + taskDto.setSeqNum(dto.getSeqNum()); + taskDto.setPriority(dto.getPriority()); + if (!Cools.isEmpty(dto.getOriSta())) { + taskDto.setOriSta(staService.getById(dto.getOriSta()).getStaNo()); + } + if (!Cools.isEmpty(dto.getOriLoc())) { + taskDto.setOriSta(locService.getById(dto.getOriLoc()).getLocNo()); + } + if (!Cools.isEmpty(dto.getDestSta())) { + taskDto.setOriSta(staService.getById(dto.getDestSta()).getStaNo()); + } + if (!Cools.isEmpty(dto.getDestLoc())) { + taskDto.setOriSta(locService.getById(dto.getDestLoc()).getLocNo()); + } + submitParam.getTaskList().add(taskDto); + } + Bus bus = mainService.generateBusAndTask(submitParam, param.getMemo()); return R.ok("Save Success").add(bus); } diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocStsController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocStsController.java index 98a72a6..93564d5 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocStsController.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/LocStsController.java @@ -36,8 +36,12 @@ @PreAuthorize("hasAuthority('manager:locSts:list')") @PostMapping("/locSts/list") - public R list(@RequestBody Map<String, Object> map) { - return R.ok().add(locStsService.list()); + public R list(@RequestParam(required = false) String uuid) { + LambdaQueryWrapper<LocSts> wrapper = new LambdaQueryWrapper<>(); + if (!Cools.isEmpty(uuid)) { + wrapper.eq(LocSts::getUuid, uuid); + } + return R.ok().add(locStsService.list(wrapper)); } @PreAuthorize("hasAuthority('manager:locSts:list')") diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/BusCreateParam.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/BusCreateParam.java index 73d6dcd..d8ee346 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/BusCreateParam.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/param/BusCreateParam.java @@ -1,6 +1,6 @@ package com.zy.acs.manager.manager.controller.param; -import com.zy.acs.manager.common.domain.TaskDto; +import com.zy.acs.manager.common.domain.TaskIdByLongDto; import lombok.Data; import java.util.ArrayList; @@ -14,6 +14,8 @@ private String batch; - private List<TaskDto> taskList = new ArrayList<>(); + private List<TaskIdByLongDto> taskList = new ArrayList<>(); + + private String memo; } -- Gitblit v1.9.1