| package com.zy.asrs.wcs.core.model.command; | 
|   | 
| import com.fasterxml.jackson.core.JsonProcessingException; | 
| import com.fasterxml.jackson.core.type.TypeReference; | 
| import com.fasterxml.jackson.databind.ObjectMapper; | 
| import com.zy.asrs.wcs.core.model.NavigateNode; | 
| import lombok.Data; | 
|   | 
| import java.io.Serializable; | 
| import java.util.ArrayList; | 
| import java.util.List; | 
|   | 
| @Data | 
| public class ShuttleAssignCommand implements Serializable { | 
|   | 
|     private static final long serialVersionUID = 1L; | 
|   | 
|     /** | 
|      * 四向穿梭车号 | 
|      */ | 
|     private Integer shuttleNo = 0; | 
|   | 
|     /** | 
|      * 设备ID | 
|      */ | 
|     private Integer deviceId; | 
|   | 
|     /** | 
|      * 任务号 | 
|      */ | 
|     private Integer taskNo = 0; | 
|   | 
|     /** | 
|      * 设备工作号 | 
|      */ | 
|     private Integer deviceTaskNo = 0; | 
|   | 
|     /** | 
|      * 作业类型 | 
|      * 1:  入库 | 
|      * 2: 出库 | 
|      * 3: 托盘顶升 | 
|      * 4: 托盘下降 | 
|      * 5: 左移 | 
|      * 6: 右移 | 
|      * 7: 前移 | 
|      * 8: 后移 | 
|      * 9: 充电 | 
|      */ | 
|     private Integer taskMode = 0; | 
|   | 
|     /** | 
|      * 源库位 | 
|      */ | 
|     private String sourceLocNo; | 
|   | 
|     /** | 
|      * 目标库位 | 
|      */ | 
|     private String locNo; | 
|   | 
|     /** | 
|      * 命令list | 
|      */ | 
|     private List<ShuttleCommand> commands = new ArrayList<>(); | 
|   | 
|     /** | 
|      * 是否自动,true:自动模式,false:手动模式 | 
|      */ | 
|     private Boolean auto = true; | 
|   | 
|   | 
|     /** | 
|      * 是否为充电任务。true:是,false:否 | 
|      */ | 
|     private Boolean charge = false; | 
|   | 
|     /** | 
|      * 当前任务所占用的节点list | 
|      */ | 
|     private List<NavigateNode> nodes; | 
|   | 
|     public List<NavigateNode> getNodesDeepCopy() { | 
|         if (this.nodes == null) { | 
|             return null; | 
|         } | 
|         List<NavigateNode> navigateNodes = new ArrayList<>(); | 
|         for (NavigateNode node : nodes) { | 
|             navigateNodes.add(node.clone()); | 
|         } | 
|         return navigateNodes; | 
|     } | 
|   | 
| } |