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