From c55724c0af4cb66443b747c6567f16d0b878bce5 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期三, 23 十月 2024 14:59:10 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/controller/RgvController.java | 130 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 105 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java index 4cc777b..84e96c6 100644 --- a/src/main/java/com/zy/asrs/controller/RgvController.java +++ b/src/main/java/com/zy/asrs/controller/RgvController.java @@ -2,15 +2,16 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.ManagerAuth; +import com.core.common.Cools; import com.core.common.R; import com.core.exception.CoolException; import com.zy.asrs.domain.enums.RgvStatusType; -import com.zy.asrs.domain.param.EnergyGatheringRingParam; -import com.zy.asrs.domain.param.RgvOperatorParam; -import com.zy.asrs.domain.param.RingThroughParam; +import com.zy.asrs.domain.param.*; import com.zy.asrs.domain.vo.*; import com.zy.asrs.entity.*; import com.zy.asrs.mapper.BasRgvErrMapper; +import com.zy.asrs.service.BasCircularShuttleService; +import com.zy.asrs.service.BasDevpPositionService; import com.zy.asrs.service.BasRgvService; import com.zy.asrs.service.WrkMastService; import com.zy.asrs.service.impl.MainServiceImpl; @@ -22,14 +23,17 @@ import com.zy.core.enums.RgvModeType; import com.zy.core.enums.RgvTaskModeType; import com.zy.core.enums.SlaveType; +import com.zy.core.model.DevpSlave; import com.zy.core.model.RgvSlave; import com.zy.core.model.Task; import com.zy.core.model.command.RgvCommand; import com.zy.core.model.protocol.RgvProtocol; import com.zy.core.properties.SlaveProperties; import com.zy.core.thread.RgvThread; +import com.zy.core.thread.SiemensDevpThread; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -59,6 +63,13 @@ private BasRgvService basRgvService; @Autowired private MainServiceImpl mainService; + @Autowired + private BasDevpPositionService basDevpPositionService; + @Autowired + private BasCircularShuttleService basCircularShuttleService; + + @Value("${constant-parameters.perimeter}") + private Long perimeter; @PostMapping("/table/rgv/state") @ManagerAuth(memo = "RGV淇℃伅琛�") @@ -340,7 +351,8 @@ ringThroughParam.setIndex(rgv.getId()); // ringThroughParam.setIndex(i); - double[] doubles = Utils.RingThroughXY2(183.0, NumUtils.GetRandomIntInRange(183)); +// double[] doubles = Utils.RingThroughXY2(perimeter, NumUtils.GetRandomIntInRange(183)); + double[] doubles = Utils.RingThroughXYRgv(perimeter, perimeter-rgvProtocol.RgvPos.doubleValue()); // double[] doubles = Utils.RingThroughXY2(183.0, 100*i ); ringThroughParam.setValueX(doubles[0]-2.94); @@ -356,24 +368,13 @@ // @ManagerAuth(memo = "绔欑偣淇℃伅") public R ringThroughDev(){ List<RingThroughParam> result = new ArrayList<>(); -// for (RgvSlave rgv : slaveProperties.getRgv()) { - for (int i = 1;i<10;i++) { -// // 鑾峰彇RGV淇℃伅 -// RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); -// if (rgvThread == null) { -// continue; -// } -// RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); -// if (rgvProtocol == null) { -// continue; -// } + List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<>()); + for (BasDevpPosition basDevpPosition : basDevpPositions){ RingThroughParam ringThroughParam = new RingThroughParam(); - -// ringThroughParam.setIndex(rgv.getId()); - ringThroughParam.setIndex(i); - double[] doubles = Utils.RingThroughXY2(183.0, 100*i ); - ringThroughParam.setValueX(doubles[0]+2.94); - ringThroughParam.setValueY(doubles[1]+2.94); + ringThroughParam.setIndex(basDevpPosition.getDevNo()); + double[] doubles = Utils.RingThroughXYSta(perimeter, perimeter-basDevpPosition.getPlcPosition()); + ringThroughParam.setValueX(doubles[0]>50? doubles[0]+6:doubles[0]-1); + ringThroughParam.setValueY(doubles[1]>50? doubles[1]+6:doubles[1]-1); result.add(ringThroughParam); } return R.ok().add(result); @@ -383,10 +384,89 @@ // @ManagerAuth(memo = "杞ㄩ亾PLC鐘舵�佷俊鎭�") public R wnergyGatheringRingParamTrack(){ List<EnergyGatheringRingParam> result = new ArrayList<>(); - EnergyGatheringRingParam energyGatheringRingParam = new EnergyGatheringRingParam(); - energyGatheringRingParam.setTrackColor("rgba(0, 230, 118, 0.5)"); - energyGatheringRingParam.setRadiationColor("rgba(0, 230, 118, 0.5)"); - result.add(energyGatheringRingParam); + try{ + for (DevpSlave devp : slaveProperties.getDevp()) { + if (devp.getId()!=1){ + break; + } + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + if (devpThread.isResult()){ + if (true){ + EnergyGatheringRingParam energyGatheringRingParam = new EnergyGatheringRingParam(); + energyGatheringRingParam.setTrackColor("rgba(0, 230, 118, 0.5)"); + energyGatheringRingParam.setRadiationColor("rgba(0, 230, 118, 0.5)"); + result.add(energyGatheringRingParam); + } else { + EnergyGatheringRingParam energyGatheringRingParam = new EnergyGatheringRingParam(); + energyGatheringRingParam.setTrackColor("rgba(0, 230, 118, 0.5)"); + energyGatheringRingParam.setRadiationColor("rgba(0, 230, 118, 0.5)"); + result.add(energyGatheringRingParam); + } + } + } + if (result.isEmpty()){ + EnergyGatheringRingParam energyGatheringRingParam = new EnergyGatheringRingParam(); + energyGatheringRingParam.setTrackColor("rgba(0, 0, 0, 81)"); + energyGatheringRingParam.setRadiationColor("rgba(0, 0, 0, 81)"); + result.add(energyGatheringRingParam); + } + } catch (Exception e){ + EnergyGatheringRingParam energyGatheringRingParam = new EnergyGatheringRingParam(); + energyGatheringRingParam.setTrackColor("rgba(0, 0, 0, 81)"); + energyGatheringRingParam.setRadiationColor("rgba(0, 0, 0, 81)"); + result.add(energyGatheringRingParam); + } + return R.ok().add(result); + } + + @PostMapping("/ring/through/task/wrk/mast/position/data") +// @ManagerAuth(memo = "浣滀笟淇℃伅") + public R ringThroughTaskWrkMast(){ + List<RgvWrkMastParam> result = new ArrayList<>(); + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<>()); + for (WrkMast wrkMast : wrkMasts){ + RgvWrkMastParam rgvWrkMastParam = new RgvWrkMastParam(wrkMast); + if (Cools.isEmpty(rgvWrkMastParam.getRgvNo())){ + rgvWrkMastParam.setRgvSts("鏈粦瀹�"); + } else { + RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvWrkMastParam.getRgvNo()); + if (rgvThread == null) { + rgvWrkMastParam.setRgvSts("鏈煡"); + } else { + RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); + if (rgvProtocol == null) { + rgvWrkMastParam.setRgvSts("鏈煡"); + } else { + rgvWrkMastParam.setRgvSts(rgvProtocol.statusType.desc); + } + } + } + result.add(rgvWrkMastParam); + } + return R.ok().add(result); + } + + @PostMapping("/task/rgv/circular/shuttle/mast/position/data") +// @ManagerAuth(memo = "浣滀笟淇℃伅") + public R rgvCircularShuttle(){ + List<RgvCircularShuttleParam> result = new ArrayList<>(); + List<BasCircularShuttle> basCircularShuttleList = basCircularShuttleService.selectList(new EntityWrapper<>()); + for (BasCircularShuttle basCircularShuttle : basCircularShuttleList){ + RgvCircularShuttleParam rgvCircularShuttleParam = new RgvCircularShuttleParam(basCircularShuttle); + if (!Cools.isEmpty(rgvCircularShuttleParam.getRgvNo())){ + RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvCircularShuttleParam.getRgvNo()); + if (rgvThread != null) { + RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); + if (rgvProtocol != null) { + rgvCircularShuttleParam.setPosition(rgvProtocol.getRgvPos()); + if (rgvCircularShuttleParam.getStatus()==0){ + rgvCircularShuttleParam.setStatus$(rgvProtocol.statusType.desc); + } + } + } + } + result.add(rgvCircularShuttleParam); + } return R.ok().add(result); } -- Gitblit v1.9.1