From de6a34c248036d65a3d6797c83e051acdeb78bf7 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 21 十月 2024 15:18:33 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java | 87 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 85 insertions(+), 2 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 3f47a97..d47ab68 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,13 +13,18 @@ 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.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.entity.*; +import com.zy.acs.manager.manager.controller.result.MapAgvVo; +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.Map; +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.service.*; import com.zy.acs.manager.system.controller.BaseController; @@ -30,6 +35,7 @@ import org.springframework.web.bind.annotation.*; import java.util.*; +import java.util.stream.Collectors; /** * Created by vincent on 2023/6/1 @@ -53,11 +59,22 @@ @Autowired private MapService mapService; @Autowired - private ConfigService configService; + private TaskService taskService; @Autowired private MapMapper mapMapper; @Autowired private SnowflakeIdWorker snowflakeIdWorker; + @Autowired + private LocService locService; + @Autowired + private ConfigService configService; + + @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") @@ -77,6 +94,7 @@ // common Map activeMap = mapMapper.selectActive(zoneId, floor); return R.ok().add(Cools + .add("rcsStatus", configService.getVal("TaskAssignMode", Boolean.class)) .add("point", GsonUtils.toJson(mapCodeItems)) .add("common", activeMap.getData()) ); @@ -113,7 +131,72 @@ return R.ok("Save Success"); } + @PostMapping("/shelf/group") + public R shelfGroup(@RequestParam(required = false) Integer row, @RequestParam(required = false) Integer bay) { + if (null == row || null == bay) { + return R.error(); + } + List<Loc> locList = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getRow, row).eq(Loc::getBay, bay).orderByAsc(Loc::getLev)); + return R.ok().add(locList); + } + @PostMapping("/agv/info") + public R agvInfo(@RequestParam(required = false) String agvNo) { + if (Cools.isEmpty(agvNo)) { + return R.error(); + } + 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) { + vo.setOnline(agvService.judgeOnline(agvDetail.getAgvId())); + vo.setAgvStatus(agvDetail.getStatusDesc()); + vo.setVol(String.valueOf(agvDetail.getVol())); + vo.setSoc(String.valueOf(agvDetail.getSoc())); + vo.setPos(agvDetail.getPos() != null && agvDetail.getPos() == 1); + vo.setCode(codeService.getById(agvDetail.getRecentCode()).getData()); + vo.setDirection(agvDetail.getAgvAngle()); + vo.setBackpack(GsonUtils.fromJsonToList(agvDetail.getBackpack(), BackpackDto.class)); + } + List<Task> tasks = taskService.selectInSts(agv.getId(), TaskStsType.WAITING, TaskStsType.ASSIGN, TaskStsType.PROGRESS); + if (!Cools.isEmpty(tasks)) { + vo.setTaskIds(tasks.stream().map(Task::getId).collect(Collectors.toList())); + } + 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