| | |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.zy.asrs.common.utils.HttpHandler; |
| | | import com.zy.asrs.framework.common.DateUtils; |
| | | import com.zy.asrs.framework.common.SpringUtils; |
| | | import com.zy.asrs.framework.exception.CoolException; |
| | | import com.zy.asrs.wcs.core.entity.Loc; |
| | | import com.zy.asrs.wcs.core.model.command.ShuttleCommand; |
| | | import com.zy.asrs.wcs.core.service.LocService; |
| | | import com.zy.asrs.wcs.rcs.News; |
| | | import com.zy.asrs.wcs.rcs.cache.OutputQueue; |
| | | import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType; |
| | |
| | | return this.shuttleProtocol; |
| | | } |
| | | |
| | | @Override |
| | | public Device getDevice() { |
| | | return this.device; |
| | | } |
| | | |
| | | @Override |
| | | public synchronized boolean movePath() { |
| | | return false; |
| | | } |
| | | |
| | | @Override |
| | | public synchronized boolean move() { |
| | | return false; |
| | | } |
| | | |
| | | @Override |
| | | public synchronized boolean lift() { |
| | | return false; |
| | | } |
| | | |
| | | @Override |
| | | public ShuttleCommand getMoveCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed) { |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("messageName", "runOrder"); |
| | | body.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); |
| | | body.put("deviceNo", Integer.parseInt(this.device.getDeviceNo())); |
| | | body.put("taskId", taskNo); |
| | | |
| | | LocService locService = SpringUtils.getBean(LocService.class); |
| | | Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>() |
| | | .eq(Loc::getCode, distCodeNum) |
| | | .eq(Loc::getHostId, this.device.getHostId())); |
| | | if (loc == null) { |
| | | throw new CoolException("库位信息不存在"); |
| | | } |
| | | body.put("nodeX", loc.getRow()); |
| | | body.put("nodeY", loc.getBay()); |
| | | body.put("nodeZ", loc.getLev()); |
| | | |
| | | ShuttleCommand command = new ShuttleCommand(); |
| | | command.setShuttleNo(Integer.parseInt(this.device.getDeviceNo())); |
| | | command.setBody(JSON.toJSONString(body)); |
| | | return command; |
| | | } |
| | | |
| | | |
| | | //***************设备层通讯-不同厂商设备通讯方案不一致*************** |
| | | |