From fd1c390222642abd57e0662d2328a008d0a0c845 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 18 十月 2024 15:22:37 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/insight/agv/AgvMain.jsx | 92 +++++++++++++++++++++++++++++++++------------- zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java | 4 + zy-acs-flow/src/map/insight/agv/index.jsx | 15 +++++-- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java | 1 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapAgvVo.java | 2 + 5 files changed, 82 insertions(+), 32 deletions(-) diff --git a/zy-acs-flow/src/map/insight/agv/AgvMain.jsx b/zy-acs-flow/src/map/insight/agv/AgvMain.jsx index cba0967..6039dfa 100644 --- a/zy-acs-flow/src/map/insight/agv/AgvMain.jsx +++ b/zy-acs-flow/src/map/insight/agv/AgvMain.jsx @@ -1,6 +1,6 @@ import React, { useRef, useEffect, useState } from 'react'; import * as THREE from 'three'; -import { useTranslate } from 'react-admin'; +import { useTranslate, useDataProvider } from 'react-admin'; import { Box, CircularProgress, @@ -12,6 +12,7 @@ Stack, useTheme, } from '@mui/material'; +import { useNotification } from '../../Notification'; import AgvThree from './AgvThree'; import { getAgvInfo } from '../../http'; import BoolValueIcon from '../BoolValueIcon'; @@ -77,9 +78,11 @@ } const AgvMain = (props) => { - const { curAgvNo, curAgvInfo: info } = props; + const { curAgvNo, curAgvInfo: info, fetchAgvInfo } = props; const theme = useTheme(); const translate = useTranslate(); + const dataProvider = useDataProvider(); + const notify = useNotification(); const containerRef = useRef(); const [loading, setLoading] = useState(true); @@ -98,6 +101,21 @@ const handleReset = () => { alert(1) + } + + const updateStatus = (status) => { + dataProvider.update('agv', { + id: info.agvId, + data: { + status: status === 0 ? 1 : 0 + } + }).then(({ data }) => { + fetchAgvInfo(curAgvNo); + notify.success(translate('common.response.success')); + }).catch((error) => { + notify.success(translate('common.response.fail')); + console.error(`Error: ${error.message}`); + }); } return ( @@ -128,8 +146,11 @@ flexDirection: 'column', justifyContent: 'space-between', }}> - <Box> - <Grid container spacing={2} style={{ marginTop: '0px' }}> + <Box sx={{ + height: "70%", + overflowY: 'auto' + }}> + <Grid container spacing={1.5} style={{ marginTop: '0px' }}> <Grid item xs={12}> <KeyValuePair label={translate('table.field.agv.uuid')} value={info?.agvNo} /> </Grid> @@ -160,29 +181,48 @@ </Grid> </Box> - <Grid container spacing={2} style={{ marginTop: '0px' }}> - <Grid item xs={12}> - <Stack spacing={2} mt={2}> - <ConfirmButton - label="page.map.action.reset" - color="primary" - variant="contained" - onConfirm={() => { - handleReset(); - }} - /> - {info && ( - info.status === 1 - ? <Button variant="contained" color="error" fullWidth> - {translate('page.map.action.disable')} - </Button> - : <Button variant="contained" fullWidth> - {translate('page.map.action.enable')} - </Button> - )} - </Stack> + <Box sx={{ + height: "30%", + display: 'flex', + flexDirection: 'column', + justifyContent: 'flex-end' + }}> + <Grid container spacing={2} style={{ marginTop: '0px' }}> + <Grid item xs={12}> + <Stack spacing={2} mt={2}> + <ConfirmButton + label="page.map.action.reset" + color="primary" + variant="contained" + onConfirm={() => { + handleReset(); + }} + /> + <ConfirmButton + label="page.map.action.reset" + color="primary" + variant="contained" + onConfirm={() => { + handleReset(); + }} + /> + {info && ( + info.status === 1 + ? <Button variant="contained" color="error" fullWidth onClick={() => { + updateStatus(info.status); + }}> + {translate('page.map.action.disable')} + </Button> + : <Button variant="contained" fullWidth onClick={() => { + updateStatus(info.status); + }}> + {translate('page.map.action.enable')} + </Button> + )} + </Stack> + </Grid> </Grid> - </Grid> + </Box> </Paper> </Box> </Box> diff --git a/zy-acs-flow/src/map/insight/agv/index.jsx b/zy-acs-flow/src/map/insight/agv/index.jsx index c3e8cc2..43b8123 100644 --- a/zy-acs-flow/src/map/insight/agv/index.jsx +++ b/zy-acs-flow/src/map/insight/agv/index.jsx @@ -15,15 +15,19 @@ const [curAgvNo, setCurAgvNo] = useState(null); const [curAgvInfo, setCurAgvInfo] = useState(null); + const fetchAgvInfo = (agvNo) => { + setTitle(translate('page.map.devices.agv') + ' - ' + agvNo); + setCurAgvNo(agvNo); + getAgvInfo(agvNo, (response) => { + setCurAgvInfo(response); + }); + } + useEffect(() => { if (sprite) { const agvNo = sprite.data.no; if (agvNo) { - setTitle(translate('page.map.devices.agv') + ' - ' + agvNo); - setCurAgvNo(agvNo); - getAgvInfo(agvNo, (response) => { - setCurAgvInfo(response); - }); + fetchAgvInfo(agvNo); } } @@ -57,6 +61,7 @@ <AgvMain curAgvNo={curAgvNo} curAgvInfo={curAgvInfo} + fetchAgvInfo={fetchAgvInfo} /> )} {activeTab === 1 && ( diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java index 1f22fac..599a81d 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java @@ -42,7 +42,9 @@ private List<MapWsAgvVo> syncAgv() { List<MapWsAgvVo> agvVos = new ArrayList<>(); - List<Agv> agvList = agvService.list(new LambdaQueryWrapper<Agv>().eq(Agv::getStatus, 1)); + List<Agv> agvList = agvService.list(new LambdaQueryWrapper<Agv>() +// .eq(Agv::getStatus, 1) + ); for (Agv agv : agvList) { AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId()); if (null == agvDetail) { continue; } diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java index 5ac1a1d..e8b4498 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java @@ -135,6 +135,7 @@ Agv agv = agvService.selectByUuid(agvNo); AgvDetail agvDetail = agvDetailService.selectByAgvNo(agvNo); MapAgvVo vo = new MapAgvVo(); + vo.setAgvId(agv.getId()); vo.setAgvNo(agv.getUuid()); vo.setStatus(agv.getStatus()); if (null != agvDetail) { diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapAgvVo.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapAgvVo.java index ea9aeb3..3f1e798 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapAgvVo.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapAgvVo.java @@ -12,6 +12,8 @@ @Data public class MapAgvVo { + private Long agvId; + private String agvNo; private Integer status; -- Gitblit v1.9.1