package jnpf.elnEntity.template; import lombok.Data; import lombok.EqualsAndHashCode; import jnpf.elnEntity.field.ElnFieldVos; import java.util.Date; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; public final class ElnTemplateVos { @Data public static class ListItem { private String id; private String mubanBianhao; private String mubanBanben; private String jianyanXiangmu; private String jianyanXiangmuBianma; private String jianyanXiangmuMingcheng; private String mubanFenlei; private String mubanFenleiMingcheng; private String bizStatus; private String bizEnabled; private Date shengxiaoRiqi; private Date gengxinShijian; private Date chuangjianShijian; private Boolean shifouDangqian; private Long ziduanShu; } @Data public static class CatalogItem { private String mubanBianhao; private String jianyanXiangmu; private String jianyanXiangmuBianma; private String jianyanXiangmuMingcheng; private String mubanFenlei; private String mubanFenleiMingcheng; private String shengxiaoMubanId; private String shengxiaoMubanBanben; private String bizStatus; private String bizEnabled; private Date shengxiaoRiqi; private Date gengxinShijian; private Date chuangjianShijian; private Long ziduanShu; } @Data public static class TemplateCategory { private String id; private String name; } @Data @EqualsAndHashCode(callSuper = true) public static class Detail extends ListItem { private String mubanMingcheng; private String shiyanBuzhou; private String chuangjianRenyuan; private String chuangjianRenyuanMingcheng; private String mubanFile; private String laiyuanMubanId; private String shengbanCaozuoBianma; } @Data public static class Diagnostic { private String severity; private String code; private String message; private String bindingId; private String controlTag; } @Data public static class CodeSuggestion { private String code; } @Data public static class Binding { private String id; private String templateId; private String fieldId; private String fieldCode; private String fieldVersionId; private String controlTag; private String controlAlias; private String controlType; private String controlRole; private String primaryBindingId; private String repeatGroupCode; private String repeatPrototypeRowId; private String checkboxGroupCode; private String stepId; private Map controlConfig; private String valueSource; private Boolean readOnly; private String status; private Integer version; } @Data public static class CrossTemplateSourceTemplate { private String sourceTemplateId; private String sourceTemplateCode; } @Data public static class CrossTemplateScalarCandidate { private String sourceTemplateId; private String sourceTemplateCode; private String sourceFieldId; private String sourceFieldCode; private String sourceFieldVersionId; private String sourceFieldName; private String sourceFieldType; } @Data public static class ControlSnapshot { private String bindingId; private String controlTag; private String controlAlias; private String controlType; private String controlRole; private String fieldVersionId; private String primaryBindingId; private String repeatGroupCode; private String repeatPrototypeRowId; private String stepId; private Map controlConfig; } @Data public static class AnnotationContext { private String templateId; private String templateCode; private String upgradeOperationCode; private StepConfiguration stepConfiguration; private List fields = new ArrayList<>(); private List bindings = new ArrayList<>(); private List repeatGroups = new ArrayList<>(); private List checkboxGroups = new ArrayList<>(); private List copiedPendingBindingIds = new ArrayList<>(); } @Data public static class CheckboxGroup { private String groupCode; private Integer minSelected; private Integer maxSelected; private Integer version; } @Data public static class RepeatGroup { private String groupCode; private Integer minRows; private Integer maxRows; private String stepId; } @Data public static class Step { private String id; private String name; private Integer order; } @Data public static class StepConfiguration { private boolean singleStep; private List steps = new ArrayList<>(); } @Data public static class StepFillStructure { private StepConfiguration configuration; private Map controlSteps = new LinkedHashMap<>(); private Map repeatGroupSteps = new LinkedHashMap<>(); } @Data public static class ChangeCheck { private String operationCode; private Map expectedVersions = new LinkedHashMap<>(); private List controls = new ArrayList<>(); private List dependencies = new ArrayList<>(); } @Data @EqualsAndHashCode(callSuper = true) public static class RepairContext extends ChangeCheck { private Binding binding; } private ElnTemplateVos() { } }