From 6fb170791974cbfa4f7bd46eaa56d2cd1a9f732a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 19 十月 2024 15:37:03 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/map/http.js | 19 ++++++
zy-acs-flow/src/map/insight/point/index.jsx | 75 +++++++++++++++++++++++++
zy-acs-flow/src/map/insight/index.jsx | 10 +++
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java | 13 ++++
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapPointVo.java | 17 +++++
5 files changed, 134 insertions(+), 0 deletions(-)
diff --git a/zy-acs-flow/src/map/http.js b/zy-acs-flow/src/map/http.js
index 22fe804..5fa8812 100644
--- a/zy-acs-flow/src/map/http.js
+++ b/zy-acs-flow/src/map/http.js
@@ -163,6 +163,25 @@
})
}
+export const getPointInfo = async (point, callback) => {
+ await request.post('/map/point/info', {
+ codeData: point,
+ }, {
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
+ }).then((res) => {
+ const { code, msg, data } = res.data;
+ if (code === 200) {
+ callback(data)
+ } else {
+ notify.error(msg);
+ }
+ }).catch((error) => {
+ notify.error(error.message);
+ console.error(error.message);
+ })
+}
+
+
export const handleControlAgv = async (param, callback) => {
await request.post('/handler/control/agv', param, {
headers: {
diff --git a/zy-acs-flow/src/map/insight/index.jsx b/zy-acs-flow/src/map/insight/index.jsx
index be7a97f..6d1237a 100644
--- a/zy-acs-flow/src/map/insight/index.jsx
+++ b/zy-acs-flow/src/map/insight/index.jsx
@@ -8,6 +8,7 @@
} from '../constants';
import ShelfInsight from './shelf';
import AgvInsight from './agv';
+import PointInsight from './point';
const Insight = (props) => {
const { open, onCancel, sprite, width = PAGE_DRAWER_WIDTH } = props;
@@ -77,6 +78,15 @@
/>
</>
)}
+
+ {deviceType === DEVICE_TYPE.POINT && (
+ <>
+ <PointInsight
+ sprite={sprite}
+ setTitle={setTitle}
+ />
+ </>
+ )}
</CardContent>
</Card>
</Box>
diff --git a/zy-acs-flow/src/map/insight/point/index.jsx b/zy-acs-flow/src/map/insight/point/index.jsx
new file mode 100644
index 0000000..9dcc780
--- /dev/null
+++ b/zy-acs-flow/src/map/insight/point/index.jsx
@@ -0,0 +1,75 @@
+import React, { useState, useRef, useEffect } from 'react';
+import { useTranslate } from "react-admin";
+import { Box, Typography, Tabs, Tab, Stack, useTheme, Divider } from '@mui/material';
+import JsonShow from '../../JsonShow';
+import { getPointInfo } from '../../http';
+
+const PointInsight = (props) => {
+ const { sprite, setTitle } = props;
+ const translate = useTranslate();
+ const theme = useTheme();
+
+ const [activeTab, setActiveTab] = useState(0);
+ const [curPoint, setCurPoint] = useState(null);
+ const [curPointInfo, setCurPointInfo] = useState(null);
+
+ const fetchInfo = (param) => {
+ setTitle(translate('page.map.devices.point') + ' - ' + param);
+ setCurPoint(param);
+ getPointInfo(param, (response) => {
+ setCurPointInfo(response);
+ });
+ }
+
+ useEffect(() => {
+ if (sprite) {
+ const param = sprite.data.no;
+ if (param) {
+ fetchInfo(param);
+ }
+ }
+
+ return () => {
+ setTitle(null);
+ setCurPoint(null);
+ setCurPointInfo(null);
+ }
+ }, [sprite])
+
+ const handleTabChange = (event, newValue) => {
+ setActiveTab(newValue);
+ };
+
+ return (
+ <Box sx={{ height: '100%', display: 'flex', flexDirection: 'column' }}>
+ <Tabs
+ value={activeTab}
+ onChange={handleTabChange}
+ centered
+ sx={{ mb: 0 }}
+ >
+ <Tab label={translate('page.map.insight.title')} />
+ <Tab label={'JSON'} />
+ </Tabs>
+
+ <Divider />
+
+ <Box flex={1} pt={2}>
+ {activeTab === 0 && (
+ <JsonShow
+ data={curPointInfo || sprite?.data}
+ height={550}
+ />
+ )}
+ {activeTab === 1 && (
+ <JsonShow
+ data={curPointInfo || sprite?.data}
+ height={550}
+ />
+ )}
+ </Box>
+ </Box>
+ )
+}
+
+export default PointInsight;
\ No newline at end of file
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 1ca13bb..20c77a8 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
@@ -19,6 +19,7 @@
import com.zy.acs.manager.manager.controller.param.MapDataParam;
import com.zy.acs.manager.manager.controller.param.MapParam;
import com.zy.acs.manager.manager.controller.result.MapAgvVo;
+import com.zy.acs.manager.manager.controller.result.MapPointVo;
import com.zy.acs.manager.manager.entity.Map;
import com.zy.acs.manager.manager.entity.*;
import com.zy.acs.manager.manager.enums.AgvStsType;
@@ -166,6 +167,18 @@
return R.ok().add(vo);
}
+ @PostMapping("/point/info")
+ public R pointInfo(@RequestParam(required = false) String codeData) {
+ if (Cools.isEmpty(codeData)) {
+ return R.error();
+ }
+ Code code = codeService.selectByData(codeData);
+ MapPointVo vo = new MapPointVo();
+ vo.setCodeId(code.getId());
+ vo.setCodeData(code.getData());
+ vo.setStatus(code.getStatus());
+ return R.ok().add(vo);
+ }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapPointVo.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapPointVo.java
new file mode 100644
index 0000000..e0c14a1
--- /dev/null
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MapPointVo.java
@@ -0,0 +1,17 @@
+package com.zy.acs.manager.manager.controller.result;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 10/17/2024
+ */
+@Data
+public class MapPointVo {
+
+ private Long codeId;
+
+ private String codeData;
+
+ private Integer status;
+
+}
--
Gitblit v1.9.1