From 10f91cf8cc7f5ebe1cb4d9f06bd9cf4693277dc6 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 21 十一月 2024 09:17:45 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/i18n/en.js | 3 ++-
zy-acs-flow/src/i18n/zh.js | 3 ++-
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java | 24 ++++++++++++++++++++++++
zy-acs-flow/src/page/agv/show/AgvShowAside.jsx | 27 ++++++++++++++++++++++++++-
4 files changed, 54 insertions(+), 3 deletions(-)
diff --git a/zy-acs-flow/src/i18n/en.js b/zy-acs-flow/src/i18n/en.js
index ff8e64d..85718e7 100644
--- a/zy-acs-flow/src/i18n/en.js
+++ b/zy-acs-flow/src/i18n/en.js
@@ -578,7 +578,8 @@
detail: 'DETAIL',
task: 'TASK',
error: 'ERROR',
- }
+ },
+ remove: 'remove from map',
}
},
segment: {
diff --git a/zy-acs-flow/src/i18n/zh.js b/zy-acs-flow/src/i18n/zh.js
index ab0c193..73fa487 100644
--- a/zy-acs-flow/src/i18n/zh.js
+++ b/zy-acs-flow/src/i18n/zh.js
@@ -577,7 +577,8 @@
detail: '鏁版嵁閲囬泦',
task: '浠诲姟缁熻',
error: '寮傚父鏃ュ織',
- }
+ },
+ remove: '浠庡湴鍥句腑绉婚櫎',
}
},
segment: {
diff --git a/zy-acs-flow/src/page/agv/show/AgvShowAside.jsx b/zy-acs-flow/src/page/agv/show/AgvShowAside.jsx
index adcc9d6..10a1187 100644
--- a/zy-acs-flow/src/page/agv/show/AgvShowAside.jsx
+++ b/zy-acs-flow/src/page/agv/show/AgvShowAside.jsx
@@ -10,6 +10,8 @@
UrlField,
useRecordContext,
useTranslate,
+ Button as RaButton,
+ useNotify,
} from 'react-admin';
import { Link as RouterLink, useLocation } from 'react-router-dom';
import {
@@ -26,11 +28,29 @@
import { formatDistance } from 'date-fns';
import StatusField from "../../components/StatusField";
import AccessTimeIcon from '@mui/icons-material/AccessTime';
+import RemoveCircleIcon from '@mui/icons-material/RemoveCircle';
+import request from '@/utils/request';
export const AgvShowAside = (props) => {
const translate = useTranslate();
+ const notify = useNotify();
const record = useRecordContext();
if (!record) return null;
+
+ const removeFromMap = () => {
+ if (confirm(translate('common.msg.confirm.desc'))) {
+ request.post('/agv/remove/from/map', { ...record }).then(res => {
+ const { code, msg, data } = res.data;
+ if (code === 200) {
+ notify(msg, { type: 'success', messageArgs: { _: msg } });
+ } else {
+ notify(msg, { type: 'error', messageArgs: { _: msg } });
+ }
+ }).catch(error => {
+ notify(error, { type: 'error', messageArgs: { _: error } });
+ })
+ }
+ }
return (
<Box width={400} display={{ xs: 'none', lg: 'block' }}>
@@ -41,7 +61,12 @@
<Stack direction="row" spacing={1}>
<EditButton />
</Stack>
- <Stack direction="row" mt={1}>
+ <Stack direction="row" mt={.5}>
+ <RaButton label="page.agv.show.remove" onClick={removeFromMap}>
+ <RemoveCircleIcon />
+ </RaButton>
+ </Stack>
+ <Stack direction="row" mt={.5}>
<DeleteButton mutationMode="optimistic" />
</Stack>
<Box mt={1} />
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java
index a1aedb9..3defd6e 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java
@@ -1,6 +1,7 @@
package com.zy.acs.manager.manager.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.R;
@@ -11,6 +12,7 @@
import com.zy.acs.manager.common.domain.PageParam;
import com.zy.acs.manager.common.domain.PageResult;
import com.zy.acs.manager.common.utils.ExcelUtil;
+import com.zy.acs.manager.core.service.astart.MapDataDispatcher;
import com.zy.acs.manager.manager.controller.result.AgvResult;
import com.zy.acs.manager.manager.entity.Agv;
import com.zy.acs.manager.manager.entity.AgvDetail;
@@ -39,6 +41,8 @@
private CodeService codeService;
@Autowired
private TaskService taskService;
+ @Autowired
+ private MapDataDispatcher mapDataDispatcher;
// @PreAuthorize("hasAuthority('manager:agv:list')")
// @PostMapping("/agv/page")
@@ -171,4 +175,24 @@
ExcelUtil.build(ExcelUtil.create(agvService.list(), Agv.class), response);
}
+ @PreAuthorize("hasAuthority('manager:agv:remove')")
+ @OperationLog("Remove Agv From Map")
+ @PostMapping("/agv/remove/from/map")
+ public R removeFromMap(@RequestBody Agv agv) {
+ AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId());
+ if (null != agvDetail) {
+ LambdaUpdateWrapper<AgvDetail> wrapper = new LambdaUpdateWrapper<>();
+ wrapper.set(AgvDetail::getCode, null)
+ .set(AgvDetail::getLastCode, null)
+ .set(AgvDetail::getUpdateBy, getLoginUserId())
+ .set(AgvDetail::getUpdateTime, new Date())
+ .eq(AgvDetail::getId, agvDetail.getId());
+ if (!agvDetailService.update(null, wrapper)) {
+ return R.error("Remove Fail");
+ }
+ mapDataDispatcher.modifyDynamicMatrix(MapDataDispatcher.MAP_DEFAULT_LEV, null, agv.getUuid(), true);
+ }
+ return R.ok("Remove Success").add(agv);
+ }
+
}
--
Gitblit v1.9.1