|  |  | 
 |  |  | 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.BasCircularShuttleService; | 
 |  |  | import com.zy.asrs.service.BasDevpPositionService; | 
 |  |  | import com.zy.asrs.service.BasRgvService; | 
 |  |  | import com.zy.asrs.service.WrkMastService; | 
 |  |  | 
 |  |  | 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接口 | 
 |  |  | 
 |  |  |     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信息表") | 
 |  |  | 
 |  |  |  | 
 |  |  |             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); | 
 |  |  | 
 |  |  |  | 
 |  |  |     @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); | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @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<>()); | 
 |  |  | 
 |  |  |         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); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @PostMapping("/disable/rgv/status") | 
 |  |  | //    @ManagerAuth(memo = "修改RGV状态") | 
 |  |  |     public R rgvDisableStatus(@RequestParam Integer rgvNo, | 
 |  |  |                               @RequestParam Integer status){ | 
 |  |  |         log.info("/disable/rgv/status===》修改RGV状态!!!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(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |