| | |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.Arith; |
| | | import com.core.common.R; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.domain.enums.RgvStatusType; |
| | |
| | | import com.zy.asrs.service.LocMastService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.asrs.service.impl.MainServiceImpl; |
| | | import com.zy.asrs.utils.VersionUtils; |
| | | import com.zy.core.Slave; |
| | | import com.zy.core.DevpThread; |
| | | import com.zy.core.cache.MessageQueue; |
| | | import com.zy.core.cache.OutputQueue; |
| | | import com.zy.core.cache.SlaveConnection; |
| | |
| | | import com.zy.core.model.Task; |
| | | import com.zy.core.model.command.RgvCommand; |
| | | import com.zy.core.model.protocol.RgvProtocol; |
| | | import com.zy.core.model.protocol.StaProtocol; |
| | | import com.zy.core.properties.SlaveProperties; |
| | | import com.zy.core.thread.RgvThread; |
| | | import com.zy.core.thread.ScaleThread; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | |
| | | @ManagerAuth(memo = "RGV信息表") |
| | | public R rgvStateTable(){ |
| | | List<RgvStateTableVo> list = new ArrayList<>(); |
| | | List<BasRgv> rgvs = basRgvService.selectList(new EntityWrapper<BasRgv>().orderBy("rgv_no")); |
| | | for (BasRgv basRgv : rgvs) { |
| | | // 表格行 |
| | | RgvStateTableVo vo = new RgvStateTableVo(); |
| | | vo.setRgvNo(basRgv.getRgvNo()); // RGV号 |
| | | list.add(vo); |
| | | // 获取RGV信息 |
| | | RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basRgv.getRgvNo()); |
| | | if (rgvThread == null) { |
| | | continue; |
| | | } |
| | | RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); |
| | | if (rgvProtocol == null) { |
| | | continue; |
| | | } |
| | | vo.setStatusType(rgvProtocol.modeType.desc); // 模式状态 |
| | | vo.setStatus(rgvProtocol.getStatusType().desc); // 状态 |
| | | vo.setWorkNo1(rgvProtocol.getTaskNo1()); // 工位1任务号 |
| | | vo.setStatus1(rgvProtocol.getStatusType1().desc); // 工位1状态 |
| | | vo.setLoading1(rgvProtocol.getLoaded1()==1?"有物":"无物"); // 工位1有物 |
| | | vo.setRgvPos(rgvProtocol.getRgvPos()); |
| | | vo.setWalkPos(rgvProtocol.getWalkPos()==1?"不在定位":"在定位"); |
| | | vo.setWorkNo2(rgvProtocol.getTaskNo2()); // 工位2任务号 |
| | | vo.setStatus2(rgvProtocol.getStatusType2().desc); // 工位2状态 |
| | | vo.setLoading2(rgvProtocol.getLoaded2()==0?"无物":"有物"); // 工位2有物 |
| | | DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); |
| | | Map<Integer, StaProtocol> station = devpThread.getStation(); |
| | | int[] basRgvList =new int[]{623,624,625,626}; |
| | | |
| | | vo.setWarnCode(String.valueOf(rgvProtocol.getAlarm())); |
| | | if (rgvProtocol.getAlarm() > 0) { |
| | | BasRgvErr rgvErr = basRgvErrMapper.selectById(rgvProtocol.getAlarm()); |
| | | vo.setAlarm(rgvErr==null?"未知异常":rgvErr.getErrName()); |
| | | } |
| | | for (int rgvNo : basRgvList) { |
| | | RgvStateTableVo vo = new RgvStateTableVo(); |
| | | vo.setRgvNo(rgvNo); // 站点编号 |
| | | list.add(vo); |
| | | StaProtocol staProtocol = station.get(rgvNo); |
| | | if (null == staProtocol) { continue; } |
| | | vo.setWorkNo1(staProtocol.getWorkNo().shortValue()); // 工作号 |
| | | vo.setStatusType(staProtocol.isAutoing()?"Y":"N"); // 自动 |
| | | vo.setStatus(staProtocol.isLoading()?"Y":"N"); // 有物 |
| | | vo.setEndRow(staProtocol.getEndRow()); // 小车目标位 |
| | | vo.setNowRow(staProtocol.getNowRow()); // 小车当前位 //左:1 中: 2 右:3 (面朝入料口) |
| | | vo.setStatus11(staProtocol.isRGV1()?"Y":"N"); // 工作号 |
| | | vo.setStatus12(staProtocol.isRGV2()?"Y":"N"); // 工作号 |
| | | vo.setStatus13(staProtocol.isRGV3()?"Y":"N"); // 工作号 |
| | | vo.setStatus14(staProtocol.isRGV4()?"Y":"N"); // 工作号 |
| | | vo.setStatus15(staProtocol.isRGV5()?"Y":"N"); // 工作号 |
| | | vo.setStatus16(staProtocol.isRGV6()?"Y":"N"); // 工作号 |
| | | // vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "低" : "高"); //高低库位 |
| | | // vo.setLocType1(devp.getDevNo()==102 ? "高" : "低"); |
| | | } |
| | | return R.ok().add(list); |
| | | } |