From c3aa506aedf391136db49450dc5cc75990ba238f Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期五, 06 六月 2025 17:33:38 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/controller/RgvController.java | 137 ++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 120 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java index 033d277..0b889d3 100644 --- a/src/main/java/com/zy/asrs/controller/RgvController.java +++ b/src/main/java/com/zy/asrs/controller/RgvController.java @@ -6,16 +6,11 @@ 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.RgvWrkMastParam; -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.BasDevpPositionService; -import com.zy.asrs.service.BasRgvService; -import com.zy.asrs.service.WrkMastService; +import com.zy.asrs.service.*; import com.zy.asrs.service.impl.MainServiceImpl; import com.zy.asrs.utils.NumUtils; import com.zy.asrs.utils.Utils; @@ -35,15 +30,14 @@ 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.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.rmi.CORBA.Util; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * RGV鎺ュ彛 @@ -61,11 +55,20 @@ @Autowired private BasRgvErrMapper basRgvErrMapper; @Autowired + private BasRgvErrLogService basRgvErrLogService; + @Autowired + private BasRgvOptService basRgvOptService; + @Autowired 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淇℃伅琛�") @@ -347,8 +350,9 @@ ringThroughParam.setIndex(rgv.getId()); // ringThroughParam.setIndex(i); -// double[] doubles = Utils.RingThroughXY2(1737000.0, NumUtils.GetRandomIntInRange(183)); - double[] doubles = Utils.RingThroughXYRgv(1737000.0, 1737000.0-rgvProtocol.RgvPos.doubleValue()); +// double[] doubles = Utils.RingThroughXY2(perimeter, NumUtils.GetRandomIntInRange(183)); +// double[] doubles = Utils.RingThroughXYRgv(perimeter, perimeter-rgvProtocol.RgvPos.doubleValue()); + double[] doubles = Utils.getRgvPosNew(perimeter, rgvProtocol.RgvPos.doubleValue()); // double[] doubles = Utils.RingThroughXY2(183.0, 100*i ); ringThroughParam.setValueX(doubles[0]-2.94); @@ -362,15 +366,22 @@ @PostMapping("/ring/through/dev/position/data") // @ManagerAuth(memo = "绔欑偣淇℃伅") + // 绔欑偣浣嶇疆淇℃伅 public R ringThroughDev(){ List<RingThroughParam> result = new ArrayList<>(); List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<>()); for (BasDevpPosition basDevpPosition : basDevpPositions){ + if (basDevpPosition.getDevNo() == 134){ + continue; + } RingThroughParam ringThroughParam = new RingThroughParam(); ringThroughParam.setIndex(basDevpPosition.getDevNo()); - double[] doubles = Utils.RingThroughXYSta(1737000.0, 1737000.0-basDevpPosition.getPlcPosition()); - ringThroughParam.setValueX(doubles[0]>50? doubles[0]+6:doubles[0]-1); - ringThroughParam.setValueY(doubles[1]>50? doubles[1]+6:doubles[1]-1); +// 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); + double[] doubles = Utils.getRgvPosNew(basDevpPosition.getDevNo(),perimeter, basDevpPosition.getPlcPosition()); + ringThroughParam.setValueX(doubles[0]); + ringThroughParam.setValueY(doubles[1]); result.add(ringThroughParam); } return R.ok().add(result); @@ -416,7 +427,7 @@ } @PostMapping("/ring/through/task/wrk/mast/position/data") -// @ManagerAuth(memo = "绔欑偣淇℃伅") +// @ManagerAuth(memo = "浣滀笟淇℃伅") public R ringThroughTaskWrkMast(){ List<RgvWrkMastParam> result = new ArrayList<>(); List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<>()); @@ -442,4 +453,96 @@ return R.ok().add(result); } + @PostMapping("/ring/through/task/wrk/mast/position/data/v1") +// @ManagerAuth(memo = "浣滀笟淇℃伅") + public R ringThroughTaskWrkMastV1(){ + List<BasRgvOpt> result = new ArrayList<>(); + for (int i = 1 ; i<11; i ++){ + BasRgvOpt basRgvOpt = basRgvOptService.selectOne(new EntityWrapper<BasRgvOpt>().eq("rgv_no", i).orderBy("id", false)); + if (basRgvOpt!=null){ + result.add(basRgvOpt); + } + } + 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); + } + if (rgvProtocol.getAlarmList().isEmpty()){ + rgvCircularShuttleParam.setError(0); + rgvCircularShuttleParam.setError$("-"); + } else { + StringBuilder alarmList = new StringBuilder(); + for (Integer alarm : rgvProtocol.getAlarmList()){ + BasRgvErr rgvErr = basRgvErrMapper.selectById(alarm); + alarmList.append((rgvErr==null || rgvErr.getErrName()==null)? "鏈煡寮傚父:"+alarm:rgvErr.getErrName()); + if (alarm.equals(rgvProtocol.getAlarmList().get(rgvProtocol.getAlarmList().size() - 1))){ + break; + } + alarmList.append("---"); + } + rgvCircularShuttleParam.setError$(alarmList.toString()); + } + } + } + } + result.add(rgvCircularShuttleParam); + } + return R.ok().add(result); + } + + @PostMapping("/task/rgv/circular/shuttle/mast/position/data/v1") +// @ManagerAuth(memo = "浣滀笟淇℃伅") + public R rgvCircularShuttleV1(){ + List<BasRgvErrLog> result = new ArrayList<>(); + for (int i = 1 ; i<11; i ++){ + BasRgvErrLog basRgvErrLog = basRgvErrLogService.selectOne(new EntityWrapper<BasRgvErrLog>().eq("rgv_no", i).orderBy("id", false)); + if (basRgvErrLog!=null){ + result.add(basRgvErrLog); + } + } + return R.ok().add(result); + } + + + @PostMapping("/disable/rgv/status") +// @ManagerAuth(memo = "淇敼RGV鐘舵��") + public R rgvDisableStatus(@RequestParam Integer rgvNo, + @RequestParam Integer status){ + log.info("/disable/rgv/status===銆嬩慨鏀筊GV鐘舵�侊紒锛侊紒rgvNo:{},status:{},data:{}",rgvNo,status,new Date()); + BasCircularShuttle basCircularShuttle = basCircularShuttleService.selectOne(new EntityWrapper<BasCircularShuttle>().eq("rgv_no", rgvNo)); + if (basCircularShuttle == null){ + return R.error().add("鏈壘鍒版RGV锛屽紓甯革紒锛侊紒"); + } + basCircularShuttle.setStatus(status); + basCircularShuttleService.updateById(basCircularShuttle); + return R.ok(); + } + + @PostMapping("/disable/task/delete") +// @ManagerAuth(memo = "鍒犻櫎浠诲姟") + public R taskDisabledelete(@RequestParam Long wrkNo){ + log.info("/disable/task/delete===銆嬪垹闄や换鍔★紒锛侊紒wrkNo:{},data:{}",wrkNo,new Date()); + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkNo)); + if (Cools.isEmpty(wrkMast)){ + return R.error().add("鏈壘鍒版浠诲姟锛屽紓甯革紒锛侊紒"); + } + wrkMastService.deleteById(wrkMast); + return R.ok(); + } + } \ No newline at end of file -- Gitblit v1.9.1