From 6324d391d2b0aa5b96128f5e07a612ec7ebf8c20 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 11 十一月 2024 10:35:28 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java | 87 +++++++++++++++++++++++++++++++++---------- 1 files changed, 67 insertions(+), 20 deletions(-) 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..29aa88f 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 @@ -13,19 +13,23 @@ import com.zy.acs.manager.common.domain.MapDto; import com.zy.acs.manager.common.domain.MapRouteDto; import com.zy.acs.manager.common.exception.BusinessException; +import com.zy.acs.manager.core.service.PatrolService; import com.zy.acs.manager.core.domain.BackpackDto; import com.zy.acs.manager.core.service.MapService; import com.zy.acs.manager.core.service.floyd.FloydNavigateService; 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.entity.Map; +import com.zy.acs.manager.manager.controller.result.MapPointVo; +import com.zy.acs.manager.manager.controller.result.MapRouteVo; +import com.zy.acs.manager.manager.entity.NavMap; import com.zy.acs.manager.manager.entity.*; import com.zy.acs.manager.manager.enums.AgvStsType; import com.zy.acs.manager.manager.enums.TaskStsType; -import com.zy.acs.manager.manager.mapper.MapMapper; +import com.zy.acs.manager.manager.mapper.NavMapMapper; import com.zy.acs.manager.manager.service.*; import com.zy.acs.manager.system.controller.BaseController; +import com.zy.acs.manager.system.service.ConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; @@ -58,11 +62,22 @@ @Autowired private TaskService taskService; @Autowired - private MapMapper mapMapper; + private NavMapMapper navMapMapper; @Autowired private SnowflakeIdWorker snowflakeIdWorker; @Autowired private LocService locService; + @Autowired + private ConfigService configService; + @Autowired + private PatrolService patrolService; + + @PreAuthorize("hasAuthority('manager:loc:update')") + @PostMapping("/startupOrShutdown") + public synchronized R startupOrShutdown() { + Boolean taskAssignMode = configService.getVal("TaskAssignMode", Boolean.class); + return configService.setVal("TaskAssignMode", !taskAssignMode) ? R.ok() : R.error(); + } @PreAuthorize("hasAuthority('manager:loc:list')") @PostMapping("/data/fetch") @@ -80,10 +95,11 @@ mapCodeItems.add(mapItem); }); // common - Map activeMap = mapMapper.selectActive(zoneId, floor); + NavMap activeNavMap = navMapMapper.selectActive(zoneId, floor); return R.ok().add(Cools + .add("rcsStatus", configService.getVal("TaskAssignMode", Boolean.class)) .add("point", GsonUtils.toJson(mapCodeItems)) - .add("common", activeMap.getData()) + .add("common", null != activeNavMap ? activeNavMap.getData() : null) ); } @@ -94,25 +110,25 @@ Date now = new Date(); Long userId = getLoginUserId(); // previous - Map previousMap = mapMapper.selectActive(param.getZoneId(), param.getFloor()); - if (null != previousMap) { - previousMap.setActive(0); - previousMap.setUpdateTime(now); - previousMap.setUpdateBy(userId); - if (0 == mapMapper.updateById(previousMap)) { + NavMap previousNavMap = navMapMapper.selectActive(param.getZoneId(), param.getFloor()); + if (null != previousNavMap) { + previousNavMap.setActive(0); + previousNavMap.setUpdateTime(now); + previousNavMap.setUpdateBy(userId); + if (0 == navMapMapper.updateById(previousNavMap)) { throw new CoolException("Save Fail"); } } // current - Map map = new Map(); - map.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3)); - map.setZoneId(param.getZoneId()); - map.setFloor(param.getFloor()); - map.setData(GsonUtils.toJson(param.getItemList())); - map.setActive(1); - map.setUpdateBy(userId); - map.setCreateBy(userId); - if (0 == mapMapper.insert(map)) { + NavMap navMap = new NavMap(); + navMap.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3)); + navMap.setZoneId(param.getZoneId()); + navMap.setFloor(param.getFloor()); + navMap.setData(GsonUtils.toJson(param.getItemList())); + navMap.setActive(1); + navMap.setUpdateBy(userId); + navMap.setCreateBy(userId); + if (0 == navMapMapper.insert(navMap)) { throw new CoolException("Save Fail"); } return R.ok("Save Success"); @@ -135,6 +151,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) { @@ -146,6 +163,7 @@ vo.setCode(codeService.getById(agvDetail.getRecentCode()).getData()); vo.setDirection(agvDetail.getAgvAngle()); vo.setBackpack(GsonUtils.fromJsonToList(agvDetail.getBackpack(), BackpackDto.class)); + vo.setPatrol(patrolService.isPatrolling(agvNo)); } List<Task> tasks = taskService.selectInSts(agv.getId(), TaskStsType.WAITING, TaskStsType.ASSIGN, TaskStsType.PROGRESS); if (!Cools.isEmpty(tasks)) { @@ -154,6 +172,35 @@ 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); + } + + @PostMapping("/route/list") + public R routeList(@RequestParam(required = false) Long zoneId) { + List<MapRouteVo> result = new ArrayList<>(); + List<Route> routeList = routeService.list(new LambdaQueryWrapper<Route>().eq(Route::getStatus, 1)); + for (Route route : routeList) { + MapRouteVo vo = new MapRouteVo(); + vo.setRouteId(route.getId()); + vo.setStartCode(route.getStartCode()); + vo.setStartCodeStr(route.getStartCode$()); + vo.setEndCode(route.getEndCode()); + vo.setEndCodeStr(route.getEndCode$()); + vo.setDirection(route.getDirection()); + result.add(vo); + } + return R.ok().add(result); + } -- Gitblit v1.9.1