package org.jeecg.modules.dnc.dto; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Builder; import lombok.Data; import org.jeecg.modules.dnc.entity.*; import java.util.List; /** * @Description: 涉密网同步工控网需要的数据 * @Author: lyh * @Date: 2025-06-13 * @Version: V1.0 * @remark: 后续需要增加,添加对应参数与结构数据,采用JSON序列化与反序列化进行传输,方便传输(加密操作,避免数据污染) */ @Data @Builder @JsonIgnoreProperties(ignoreUnknown = true) public class ProcessTraceChain { /**程序加工确认表*/ private GuideCardBatch guideCardBatch; /**刀具列表*/ private List cutterList; /**文件*/ private DocFile docFile; /**设备文档对应关系*/ private DocRelative docRelative; /**文档*/ private DocInfo docInfo; /**设备类*/ private DeviceType deviceType; /**设备类对应关系*/ private DeviceManagement deviceManagement; /**工步*/ private WorkStep workStep; /**工序*/ private ProcessStream process; /**工艺规程版本*/ private ProcessSpecVersion processSpec; /**零件*/ private PartsInfo parts; /**部件*/ private ComponentHierarchy componentHierarchy; /**产品*/ private ProductInfo product; /**产品树路径*/ private List treePath; /**权限表*/ private List permissionStreamNewList; @JsonCreator public ProcessTraceChain( @JsonProperty("guideCardBatch") GuideCardBatch guideCardBatch, @JsonProperty("cutterList") List cutterList, @JsonProperty("docFile") DocFile docFile, @JsonProperty("docRelative") DocRelative docRelative, @JsonProperty("docInfo") DocInfo docInfo, @JsonProperty("deviceType") DeviceType deviceType, @JsonProperty("deviceManagement") DeviceManagement deviceManagement, @JsonProperty("workStep") WorkStep workStep, @JsonProperty("process") ProcessStream process, @JsonProperty("processSpec") ProcessSpecVersion processSpec, @JsonProperty("parts") PartsInfo parts, @JsonProperty("componentHierarchy") ComponentHierarchy componentHierarchy, @JsonProperty("product") ProductInfo product, @JsonProperty("treePath") List treePath, @JsonProperty("permissionStreamNewList") List permissionStreamNewList ) { this.guideCardBatch = guideCardBatch; this.cutterList = cutterList; this.docFile = docFile; this.docRelative = docRelative; this.docInfo = docInfo; this.deviceType = deviceType; this.deviceManagement = deviceManagement; this.workStep = workStep; this.process = process; this.processSpec = processSpec; this.parts = parts; this.componentHierarchy = componentHierarchy; this.product = product; this.treePath = treePath; this.permissionStreamNewList = permissionStreamNewList; } }