Merge branch 'Four-Way-Rack' of http://47.97.1.152:5880/r/zy-asrs-master into Four-Way-Rack
| | |
| | | ShuttleRedisCommand redisCommand = new ShuttleRedisCommand(); |
| | | |
| | | redisCommand.setShuttleNo(assignCommand.getShuttleNo());//四向穿梭车号 |
| | | redisCommand.setWrkNo(assignCommand.getTaskNo());//工作号 |
| | | redisCommand.setTaskNo(assignCommand.getTaskNo());//工作号 |
| | | redisCommand.setCommandStep(0);//命令执行步序 |
| | | redisCommand.setAssignCommand(assignCommand);//命令 |
| | | //任务数据保存到redis |
| | |
| | | || assignCommand.getTaskMode() == ShuttleTaskModeType.MOVE_LOC_NO.id |
| | | || assignCommand.getTaskMode() == ShuttleTaskModeType.SHUTTLE_MOVE_LOC_NO.id) { |
| | | //下发行驶路径 |
| | | boolean result = shuttleThread.movePath(assignCommand.getNodes(), assignCommand.getTaskNo()); |
| | | boolean result = shuttleThread.movePath(assignCommand.getNodes(), assignCommand.getDeviceTaskNo()); |
| | | if (!result) { |
| | | return false; |
| | | } |
| | | } |
| | | shuttleProtocol.setTaskNo(assignCommand.getTaskNo()); |
| | | shuttleProtocol.setSyncTaskNo(assignCommand.getTaskNo()); |
| | | return true; |
| | | } |
| | | return false; |
| | |
| | | } |
| | | |
| | | // 更新redis数据 |
| | | redisUtil.set(DeviceRedisConstant.SHUTTLE_WORK_FLAG + redisCommand.getWrkNo(), JSON.toJSONString(redisCommand)); |
| | | redisUtil.set(DeviceRedisConstant.SHUTTLE_WORK_FLAG + redisCommand.getTaskNo(), JSON.toJSONString(redisCommand)); |
| | | |
| | | if (!command.getComplete()) { |
| | | return false; |
| | |
| | | if (assignCommand.getAuto()) { |
| | | if (!assignCommand.getCharge()) { |
| | | //对主线程抛出等待确认状态waiting |
| | | shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.WAITING); |
| | | shuttleThread.setProtocolStatus(ShuttleProtocolStatusType.WAITING); |
| | | }else { |
| | | shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING_WAITING); |
| | | shuttleThread.setProtocolStatus(ShuttleProtocolStatusType.CHARGING_WAITING); |
| | | } |
| | | News.info("四向穿梭车任务执行下发完成等待执行结束,穿梭车号={},任务数据={}", shuttleProtocol.getShuttleNo(), JSON.toJSON(command)); |
| | | |
| | | // 手动任务 |
| | | } else { |
| | | //手动模式不抛出等待状态,直接复位空闲状态 |
| | | shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE); |
| | | shuttleThread.setProtocolStatus(ShuttleProtocolStatusType.IDLE); |
| | | //任务号清零 |
| | | shuttleProtocol.setTaskNo(0); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | //标记复位 |
| | | shuttleProtocol.setPakMk(true); |
| | | shuttleThread.setPakMk(true); |
| | | News.info("四向穿梭车手动任务执行完成,穿梭车号={},任务数据={}", shuttleProtocol.getShuttleNo(), JSON.toJSON(command)); |
| | | } |
| | | |
| | | //删除redis |
| | | redisUtil.del(DeviceRedisConstant.SHUTTLE_WORK_FLAG + redisCommand.getWrkNo()); |
| | | redisUtil.del(DeviceRedisConstant.SHUTTLE_WORK_FLAG + redisCommand.getTaskNo()); |
| | | return false;//禁止再下发命令 |
| | | } |
| | | } |
| | |
| | | return false; |
| | | } |
| | | |
| | | shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.WORKING); |
| | | shuttleThread.setProtocolStatus(ShuttleProtocolStatusType.WORKING); |
| | | commandStep++; |
| | | //更新redis数据 |
| | | redisCommand.setCommandStep(commandStep); |
| | | //任务数据保存到redis |
| | | redisUtil.set(DeviceRedisConstant.SHUTTLE_WORK_FLAG + redisCommand.getWrkNo(), JSON.toJSONString(redisCommand)); |
| | | redisUtil.set(DeviceRedisConstant.SHUTTLE_WORK_FLAG + redisCommand.getTaskNo(), JSON.toJSONString(redisCommand)); |
| | | return true; |
| | | } |
| | | |
| | |
| | | * 任务号 |
| | | */ |
| | | @ApiModelProperty(value= "任务号") |
| | | private Integer wrkNo; |
| | | private Integer taskNo; |
| | | |
| | | /** |
| | | * 序列号 |
| | |
| | | |
| | | public Motion() {} |
| | | |
| | | public Motion(String uuid,Integer wrkNo,String serialNo,String title,Integer priority,Integer sync,Long motionCtg,Long motionSts,Long deviceCtg,String device,String origin,Integer oriDrt,String target,Integer tarDrt,String dockNo,Date ioTime,Date startTime,Date endTime,Date errTime,Long errCode,String errDesc,String temp,Integer status,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo,Integer deleted,Long hostId) { |
| | | public Motion(String uuid,Integer taskNo,String serialNo,String title,Integer priority,Integer sync,Long motionCtg,Long motionSts,Long deviceCtg,String device,String origin,Integer oriDrt,String target,Integer tarDrt,String dockNo,Date ioTime,Date startTime,Date endTime,Date errTime,Long errCode,String errDesc,String temp,Integer status,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo,Integer deleted,Long hostId) { |
| | | this.uuid = uuid; |
| | | this.wrkNo = wrkNo; |
| | | this.taskNo = taskNo; |
| | | this.serialNo = serialNo; |
| | | this.title = title; |
| | | this.priority = priority; |
| | |
| | | ArrayList<LiftCommand> list = new ArrayList<>(); |
| | | LiftAssignCommand assignCommand = new LiftAssignCommand(); |
| | | assignCommand.setLiftNo(liftProtocol.getLiftNo()); |
| | | assignCommand.setTaskNo(motion.getWrkNo()); |
| | | assignCommand.setTaskNo(motion.getTaskNo()); |
| | | assignCommand.setCommands(list); |
| | | |
| | | LiftCommand command = new LiftCommand(); |
| | |
| | | case LIFT_MOVE: |
| | | // 如果已经在目标层,那边层过滤 |
| | | if (liftProtocol.getLev().equals(Integer.valueOf(motion.getTarget()))) { |
| | | liftProtocol.setTaskNo(motion.getWrkNo()); |
| | | liftProtocol.setTaskNo(motion.getTaskNo()); |
| | | break; |
| | | } |
| | | |
| | | command = liftThread.getEmptyMoveCommand(motion.getWrkNo(), Integer.parseInt(motion.getTarget())); |
| | | command = liftThread.getEmptyMoveCommand(motion.getTaskNo(), Integer.parseInt(motion.getTarget())); |
| | | list.add(command); |
| | | return liftAction.assignWork(liftThread.getDevice(), assignCommand); |
| | | case LIFT_WITH_GOODS: |
| | |
| | | return false; |
| | | } |
| | | |
| | | command = liftThread.getMoveWithShuttleCommand(motion.getWrkNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget())); |
| | | command = liftThread.getMoveWithShuttleCommand(motion.getTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget())); |
| | | list.add(command); |
| | | return liftAction.assignWork(liftThread.getDevice(), assignCommand); |
| | | case LIFT_WITH_GOODS_AND_SHUTTLE: |
| | |
| | | return false; |
| | | } |
| | | |
| | | if (liftProtocol.getRun() || liftProtocol.getTaskNo() != motion.getWrkNo().shortValue()) { |
| | | if (liftProtocol.getRun() || liftProtocol.getTaskNo() != motion.getTaskNo().shortValue()) { |
| | | return false; |
| | | } |
| | | |
| | |
| | | |
| | | ShuttleAssignCommand assignCommand = new ShuttleAssignCommand(); |
| | | assignCommand.setShuttleNo(deviceNo); |
| | | assignCommand.setTaskNo(motion.getWrkNo()); |
| | | assignCommand.setTaskNo(motion.getTaskNo()); |
| | | assignCommand.setDeviceTaskNo(shuttleThread.generateDeviceTaskNo(motion.getTaskNo(), MotionCtgType.get(motion.getMotionCtgEl()))); |
| | | assignCommand.setSourceLocNo(motion.getOrigin()); |
| | | assignCommand.setLocNo(motion.getTarget()); |
| | | assignCommand.setDeviceId(Integer.parseInt(motion.getDevice())); |
| | |
| | | case SHUTTLE_MOVE_LIFT_PALLET://穿梭车顶升并移动 |
| | | shuttleCommands = this.shuttleAssignCommand(motion.getOrigin(), motion.getTarget(), NavigationMapType.DFX.id, assignCommand, shuttleThread); |
| | | shuttleTaskModeType = ShuttleTaskModeType.PAK_IN; |
| | | shuttleCommands.add(0, shuttleThread.getLiftCommand(motion.getWrkNo(), true)); |
| | | shuttleCommands.add(0, shuttleThread.getLiftCommand(motion.getTaskNo(), true)); |
| | | break; |
| | | case SHUTTLE_MOVE_DOWN_PALLET://穿梭车移动并托盘下降 |
| | | shuttleCommands = this.shuttleAssignCommand(motion.getOrigin(), motion.getTarget(), NavigationMapType.DFX.id, assignCommand, shuttleThread); |
| | | shuttleTaskModeType = ShuttleTaskModeType.PAK_IN; |
| | | shuttleCommands.add(shuttleCommands.size(), shuttleThread.getLiftCommand(motion.getWrkNo(), false)); |
| | | shuttleCommands.add(shuttleCommands.size(), shuttleThread.getLiftCommand(motion.getTaskNo(), false)); |
| | | break; |
| | | case SHUTTLE_MOVE_FROM_LIFT://出提升机 |
| | | // 判断提升机状态 |
| | |
| | | // } |
| | | |
| | | //判断提升机工作号是否和当前任务相同 |
| | | if (liftProtocol.getTaskNo().intValue() != motion.getWrkNo()) { |
| | | if (liftProtocol.getTaskNo().intValue() != motion.getTaskNo()) { |
| | | return false; |
| | | } |
| | | |
| | |
| | | // } |
| | | |
| | | //判断提升机工作号是否和当前任务相同 |
| | | if (liftProtocol.getTaskNo().intValue() != motion.getWrkNo()) { |
| | | if (liftProtocol.getTaskNo().intValue() != motion.getTaskNo()) { |
| | | return false; |
| | | } |
| | | |
| | |
| | | break; |
| | | case SHUTTLE_CHARGE_ON://充电开 |
| | | shuttleTaskModeType = ShuttleTaskModeType.CHARGE; |
| | | shuttleCommands.add(shuttleThread.getChargeCommand(motion.getWrkNo(), true)); |
| | | shuttleCommands.add(shuttleThread.getChargeCommand(motion.getTaskNo(), true)); |
| | | assignCommand.setCharge(Boolean.TRUE); |
| | | break; |
| | | case SHUTTLE_CHARGE_OFF://充电关 |
| | | shuttleTaskModeType = ShuttleTaskModeType.CHARGE; |
| | | shuttleCommands.add(shuttleThread.getChargeCommand(motion.getWrkNo(), false)); |
| | | shuttleCommands.add(shuttleThread.getChargeCommand(motion.getTaskNo(), false)); |
| | | assignCommand.setCharge(Boolean.TRUE); |
| | | break; |
| | | case SHUTTLE_PALLET_LIFT://托盘顶升 |
| | | shuttleTaskModeType = ShuttleTaskModeType.PALLET_LIFT; |
| | | shuttleCommands.add(shuttleThread.getLiftCommand(motion.getWrkNo(), true)); |
| | | shuttleCommands.add(shuttleThread.getLiftCommand(motion.getTaskNo(), true)); |
| | | break; |
| | | case SHUTTLE_PALLET_DOWN://托盘下降 |
| | | shuttleTaskModeType = ShuttleTaskModeType.PALLET_DOWN; |
| | | shuttleCommands.add(shuttleThread.getLiftCommand(motion.getWrkNo(), false)); |
| | | shuttleCommands.add(shuttleThread.getLiftCommand(motion.getTaskNo(), false)); |
| | | break; |
| | | default: |
| | | throw new CoolException(motion.getMotionCtgEl() + "没有指定任务作业流程!!!"); |
| | |
| | | return false; |
| | | } |
| | | |
| | | if (shuttleProtocol.getTaskNo() != 0 && shuttleProtocol.getTaskNo().intValue() != motion.getWrkNo()) { |
| | | if (shuttleProtocol.getTaskNo() != 0 && shuttleProtocol.getTaskNo().intValue() != motion.getTaskNo()) { |
| | | return false; |
| | | } |
| | | |
| | | //充电任务 |
| | | if (Objects.requireNonNull(MotionCtgType.get(motion.getMotionCtgEl())).equals(MotionCtgType.SHUTTLE_CHARGE_ON)) { |
| | | // 复位穿梭车 |
| | | shuttleProtocol.setTaskNo(0); |
| | | shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE); |
| | | shuttleProtocol.setPakMk(true); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | shuttleThread.setProtocolStatus(ShuttleProtocolStatusType.IDLE); |
| | | shuttleThread.setPakMk(true); |
| | | return true; |
| | | } |
| | | |
| | |
| | | // } |
| | | |
| | | //判断提升机工作号是否和当前任务相同 |
| | | if (liftProtocol.getTaskNo().intValue() != motion.getWrkNo()) { |
| | | if (liftProtocol.getTaskNo().intValue() != motion.getTaskNo()) { |
| | | return false; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | // 复位穿梭车 |
| | | shuttleProtocol.setTaskNo(0); |
| | | shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE); |
| | | shuttleProtocol.setPakMk(true); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | shuttleThread.setProtocolStatus(ShuttleProtocolStatusType.IDLE); |
| | | shuttleThread.setPakMk(true); |
| | | |
| | | return true; |
| | | } |
| | |
| | | //通过xy坐标小车二维码 |
| | | String distCodeNum = NavigatePositionConvert.xyToPosition(endPath.getX(), endPath.getY(), endPath.getZ(), hostId); |
| | | //获取移动命令 |
| | | ShuttleCommand command = shuttleThread.getMoveCommand(assignCommand.getTaskNo(), startCodeNum, distCodeNum, allDistance, ShuttleRunDirection.get(startPath.getDirection()).id.intValue(), runSpeed); |
| | | ShuttleCommand command = shuttleThread.getMoveCommand(assignCommand.getDeviceTaskNo(), startCodeNum, distCodeNum, allDistance, ShuttleRunDirection.get(startPath.getDirection()).id.intValue(), runSpeed); |
| | | command.setNodes(nodes);//将行走节点添加到每一步命令中 |
| | | commands.add(command); |
| | | } |
| | |
| | | private Integer taskNo = 0; |
| | | |
| | | /** |
| | | * 设备工作号 |
| | | */ |
| | | private Integer deviceTaskNo = 0; |
| | | |
| | | /** |
| | | * 作业类型 |
| | | * 1: 入库 |
| | | * 2: 出库 |
| | |
| | | private Integer shuttleNo; |
| | | |
| | | //工作号 |
| | | private Integer wrkNo; |
| | | private Integer taskNo; |
| | | |
| | | //命令执行步序 |
| | | private Integer commandStep; |
| | |
| | | int i = motionList.size(); |
| | | for (Motion motion : motionList) { |
| | | motion.setPriority(i); |
| | | motion.setWrkNo(taskNo); |
| | | motion.setTaskNo(taskNo); |
| | | motion.setUuid(uuid); |
| | | if (!this.save(motion)) { |
| | | throw new CoolException(JSON.toJSONString(motion) + "动作保存失败"); |
| | |
| | | |
| | | @Slf4j |
| | | @Data |
| | | public class LiftProtocol { |
| | | public class LiftProtocol implements Cloneable { |
| | | |
| | | //**********************必须存在属性********************** |
| | | /** |
| | |
| | | return this.taskNo == null ? 0 : this.taskNo; |
| | | } |
| | | |
| | | @Override |
| | | public LiftProtocol clone() { |
| | | try { |
| | | return (LiftProtocol) super.clone(); |
| | | } catch (CloneNotSupportedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |
| | |
| | | import com.zy.asrs.wcs.core.service.LocService; |
| | | import com.zy.asrs.wcs.core.utils.RedisUtil; |
| | | import com.zy.asrs.wcs.rcs.constant.DeviceRedisConstant; |
| | | import com.zy.asrs.wcs.rcs.model.enums.ShuttleDeviceStatusType; |
| | | import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType; |
| | | import com.zy.asrs.wcs.rcs.entity.Device; |
| | | import com.zy.asrs.wcs.rcs.entity.ShuttleDeviceStatus; |
| | | import com.zy.asrs.wcs.rcs.model.enums.SlaveType; |
| | | import com.zy.asrs.wcs.rcs.service.ShuttleDeviceStatusService; |
| | | import lombok.Data; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import java.util.HashMap; |
| | | |
| | | /** |
| | | * 四向穿梭车 |
| | | */ |
| | | @Slf4j |
| | | @Data |
| | | public class ShuttleProtocol { |
| | | public class ShuttleProtocol implements Cloneable{ |
| | | |
| | | //**********************必须存在属性********************** |
| | | /** |
| | |
| | | return this.taskNo == null ? 0 : this.taskNo; |
| | | } |
| | | |
| | | public void setTaskNo(Integer taskNo) { |
| | | public synchronized void setSyncTaskNo(Integer taskNo) { |
| | | RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class); |
| | | if (null != redisUtil) { |
| | | redisUtil.set(DeviceRedisConstant.SHUTTLE_FLAG + this.shuttleNo, taskNo); |
| | |
| | | return currentLoc.getLocNo(); |
| | | } |
| | | |
| | | @Override |
| | | public ShuttleProtocol clone() { |
| | | try { |
| | | return (ShuttleProtocol) super.clone(); |
| | | } catch (CloneNotSupportedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |
| | |
| | | import com.zy.asrs.wcs.common.ExecuteSupport; |
| | | import com.zy.asrs.wcs.core.model.NavigateNode; |
| | | import com.zy.asrs.wcs.core.model.command.ShuttleCommand; |
| | | import com.zy.asrs.wcs.core.model.enums.MotionCtgType; |
| | | import com.zy.asrs.wcs.rcs.entity.Device; |
| | | import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType; |
| | | import com.zy.asrs.wcs.rcs.model.protocol.ShuttleProtocol; |
| | | |
| | | import java.util.List; |
| | |
| | | |
| | | List<NavigateNode> getMoveAdvancePath();//获取穿梭车任务路径 |
| | | |
| | | int generateDeviceTaskNo(int taskNo);//生成硬件设备工作号 |
| | | int generateDeviceTaskNo(int taskNo, MotionCtgType motionCtgType);//生成硬件设备工作号 |
| | | |
| | | boolean setProtocolStatus(ShuttleProtocolStatusType status);//设置工作状态 |
| | | |
| | | boolean setSyncTaskNo(Integer taskNo);//设置工作号 |
| | | |
| | | boolean setPakMk(boolean pakMk);//设置标记 |
| | | |
| | | //***************获取命令***************** |
| | | |
| | |
| | | |
| | | @Override |
| | | public LiftProtocol getStatus() { |
| | | return this.liftProtocol; |
| | | return this.liftProtocol.clone(); |
| | | } |
| | | |
| | | @Override |
| | |
| | | import com.zy.asrs.wcs.core.model.NavigateNode; |
| | | import com.zy.asrs.wcs.core.model.command.ShuttleCommand; |
| | | import com.zy.asrs.wcs.core.model.command.ShuttleRedisCommand; |
| | | import com.zy.asrs.wcs.core.model.enums.ShuttleCommandModeType; |
| | | import com.zy.asrs.wcs.core.model.enums.ShuttleRunDirection; |
| | | import com.zy.asrs.wcs.core.model.enums.*; |
| | | import com.zy.asrs.wcs.core.service.BasShuttleService; |
| | | import com.zy.asrs.wcs.core.service.LocService; |
| | | import com.zy.asrs.wcs.core.utils.NavigateUtils; |
| | | import com.zy.asrs.wcs.core.utils.Utils; |
| | | import com.zy.asrs.wcs.rcs.News; |
| | | import com.zy.asrs.wcs.rcs.cache.OutputQueue; |
| | | import com.zy.asrs.wcs.rcs.constant.DeviceRedisConstant; |
| | |
| | | |
| | | @Override |
| | | public ShuttleProtocol getStatus() { |
| | | return this.shuttleProtocol; |
| | | return this.shuttleProtocol.clone(); |
| | | } |
| | | |
| | | @Override |
| | |
| | | param.put("messageName", "runRoute"); |
| | | param.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); |
| | | param.put("deviceNo", device.getDeviceNo()); |
| | | param.put("taskId", generateDeviceTaskNo(taskNo)); |
| | | param.put("taskId", taskNo); |
| | | param.put("nodeNum", nodes.size()); |
| | | param.put("modes", modes); |
| | | String response = new HttpHandler.Builder() |
| | |
| | | return path; |
| | | } |
| | | List<NavigateNode> nodes = redisCommand.getAssignCommand().getNodes();//穿梭车预计路径 |
| | | if (nodes == null) { |
| | | return path; |
| | | } |
| | | if (!nodes.isEmpty()) { |
| | | path.addAll(nodes); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public int generateDeviceTaskNo(int taskNo) { |
| | | int no = taskNo % 255; |
| | | if (no <= 1) { |
| | | no = 2; |
| | | public int generateDeviceTaskNo(int taskNo, MotionCtgType motionCtgType) { |
| | | int deviceTaskNo = taskNo; |
| | | try { |
| | | deviceTaskNo = Utils.getTaskNo("SURAY_SHUTTLE"); |
| | | } catch (Exception e) { |
| | | return taskNo; |
| | | } |
| | | return no; |
| | | |
| | | switch (Objects.requireNonNull(MotionCtgType.get(String.valueOf(motionCtgType)))){ |
| | | case SHUTTLE_MOVE://穿梭车移动 |
| | | case SHUTTLE_MOVE_LIFT_PALLET://穿梭车顶升并移动 |
| | | case SHUTTLE_MOVE_DOWN_PALLET://穿梭车移动并托盘下降 |
| | | case SHUTTLE_MOVE_FROM_LIFT://出提升机 |
| | | case SHUTTLE_MOVE_TO_LIFT://进提升机 |
| | | return deviceTaskNo; |
| | | default: |
| | | return taskNo; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public synchronized boolean setProtocolStatus(ShuttleProtocolStatusType status) { |
| | | this.shuttleProtocol.setProtocolStatus(status); |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public synchronized boolean setSyncTaskNo(Integer taskNo) { |
| | | this.shuttleProtocol.setSyncTaskNo(taskNo); |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public synchronized boolean setPakMk(boolean pakMk) { |
| | | this.shuttleProtocol.setPakMk(pakMk); |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | |
| | | 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", generateDeviceTaskNo(taskNo)); |
| | | body.put("taskId", taskNo); |
| | | |
| | | LocService locService = SpringUtils.getBean(LocService.class); |
| | | Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>() |
| | |
| | | # url: jdbc:mysql://47.97.1.152:3306/asrs?useUnicode=trKue&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai |
| | | # username: root |
| | | # password: zy@123 |
| | | url: jdbc:mysql://127.0.0.1:3306/asrs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai |
| | | url: jdbc:mysql://192.168.4.15:3306/asrs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai |
| | | username: root |
| | | password: xltys1995 |
| | | # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver |