| package com.zy.asrs.controller; | 
|   | 
| import com.zy.asrs.domain.param.RobotReportActionStatusParam; | 
| import com.zy.asrs.domain.param.ReportExceptionParam; | 
| import com.zy.asrs.entity.WrkMast; | 
| import com.zy.asrs.mapper.WrkMastMapper; | 
| import com.zy.common.utils.RobotUtils; | 
| import com.zy.core.DevpThread; | 
| import com.zy.core.cache.MessageQueue; | 
| import com.zy.core.cache.SlaveConnection; | 
| import com.zy.core.enums.SlaveType; | 
| import com.zy.core.model.DevpSlave; | 
| import com.zy.core.model.Task; | 
| import com.zy.core.model.protocol.StaProtocol; | 
| import com.zy.core.properties.SlaveProperties; | 
| 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.RequestBody; | 
| import org.springframework.web.bind.annotation.RestController; | 
|   | 
| import java.util.HashMap; | 
|   | 
| @RestController | 
| public class RobotController { | 
|   | 
|     @Autowired | 
|     private WrkMastMapper wrkMastMapper; | 
|     @Autowired | 
|     private SlaveProperties slaveProperties; | 
|   | 
|     //机械手向WCS回报任务结果完成 | 
|     @PostMapping("/request/wcs/report_task_status") | 
|     public HashMap<String,Object> reportActionStatus(@RequestBody RobotReportActionStatusParam param) { | 
|         HashMap<String, Object> map = new HashMap<>(); | 
|         String taskId = param.getTask_id(); | 
|         Integer taskStatus = param.getTask_status(); | 
|         Integer pickNum = param.getPick_num(); | 
|         Integer targetNum = param.getTarget_num(); | 
|         String message = param.getMessage(); | 
|         Integer staNo = param.getFrom_ws();//目标站 | 
|   | 
|         //给目标站写入出库站344 | 
|         for (DevpSlave devp : slaveProperties.getDevp()) { | 
|             // 获取入库站信息 | 
|             DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); | 
|             StaProtocol staProtocol = devpThread.getStation().get(staNo);//机械手臂拣料站 | 
|             staProtocol = staProtocol.clone(); | 
|             staProtocol.setStaNo((short) 344);//空托盘出库站 | 
|             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); | 
|   | 
|             //更新工作档 => 29.出库完成 | 
|             WrkMast wrkMast = wrkMastMapper.selectByWorkNo(Integer.valueOf(taskId)); | 
|             if (wrkMast != null && wrkMast.getWrkSts() == 25) { | 
|                 wrkMast.setWrkSts(29L); | 
|                 wrkMastMapper.updateById(wrkMast); | 
|             } | 
|         } | 
|   | 
|         System.out.println(param); | 
|         map.put("error", 0); | 
|         map.put("error_message", "success"); | 
|         return map; | 
|     } | 
|   | 
|     //机械手向WCS回报异常 | 
|     @PostMapping("/request/wcs/report_exception") | 
|     public HashMap<String,Object> reportException(@RequestBody ReportExceptionParam param) { | 
|         HashMap<String, Object> map = new HashMap<>(); | 
|         String taskId = param.getTask_id(); | 
|         String errorCode = param.getError_code(); | 
|         String msg = param.getMsg(); | 
|         String tip = param.getTip(); | 
|   | 
|         System.out.println(param); | 
|         map.put("error", 0); | 
|         map.put("error_message", "success"); | 
|         return map; | 
|     } | 
|   | 
|     @GetMapping("/test") | 
|     public void test() { | 
|         boolean systemStatus = RobotUtils.getSystemStatus(); | 
|     } | 
|   | 
|     @GetMapping("/test2") | 
|     public void test2() { | 
|         RobotUtils.sendTask("9994", 4, "317"); | 
|     } | 
|   | 
| } |