zy-acs-flow/src/i18n/en.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-flow/src/i18n/zh.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-flow/src/page/agv/show/AgvShowAside.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/AgvController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
zy-acs-flow/src/i18n/en.js
@@ -578,7 +578,8 @@ detail: 'DETAIL', task: 'TASK', error: 'ERROR', } }, remove: 'remove from map', } }, segment: { zy-acs-flow/src/i18n/zh.js
@@ -577,7 +577,8 @@ detail: '数据采集', task: '任务统计', error: '异常日志', } }, remove: '从地图中移除', } }, segment: { 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} /> 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); } }