package jnpf.elnEntity.template; import lombok.Data; import lombok.EqualsAndHashCode; import jnpf.elnEntity.field.ElnFieldForms; import java.util.Date; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; public final class ElnTemplateForms { public enum VersionScope { ALL, LATEST } @Data public static class Query { private int currentPage = 1; private int pageSize = 20; private String keyword; private String mubanBianhao; private String mubanFenlei; private String bizStatus; private String bizEnabled; private VersionScope versionScope = VersionScope.ALL; } @Data public static class CreateVersion { private String mubanBanben; private Date shengxiaoRiqi; private String shengbanCaozuoBianma; } @Data public static class Reason { private String reason; } @Data public static class SwitchCurrent { private String templateCode; private String templateId; private String reason; } @Data public static class Operation { private String operationCode; } @Data public static class CodeSuggestion { private String text; } @Data public static class Cancel extends Operation { private String reason; } @Data public static class UpgradeCheck { private String targetFieldVersionId; } @Data public static class ReserveBinding { private String fieldId; private String fieldVersionId; private String operationCode; private Boolean repeatRequest; private String repeatGroupCode; private String repeatPrototypeRowId; private String checkboxGroupCode; private Integer checkboxGroupMinSelected = 0; private Integer checkboxGroupMaxSelected = 1; private Integer minRows; private Integer maxRows; private String stepId; } @Data @EqualsAndHashCode(callSuper = true) public static class ChangeCheckboxGroup extends Operation { private String checkboxGroupCode; private Integer checkboxGroupMinSelected = 0; private Integer checkboxGroupMaxSelected = 1; private Integer expectedVersion; } @Data @EqualsAndHashCode(callSuper = true) public static class ChangeCheckboxGroupRule extends Operation { private Integer minSelected = 0; private Integer maxSelected = 1; private Integer expectedVersion; } @Data @EqualsAndHashCode(callSuper = true) public static class ReserveCrossTemplateScalarBinding extends ReserveBinding { private String sourceTemplateId; private String sourceTemplateCode; private String sourceFieldId; private String sourceFieldVersionId; } @Data @EqualsAndHashCode(callSuper = true) public static class PrivateField extends ElnFieldForms.VersionRule { private String operationCode; private String beizhu; private String stepId; private String checkboxGroupCode; private Integer checkboxGroupMinSelected = 0; private Integer checkboxGroupMaxSelected = 1; } @Data public static class ChangeConfirm { private String operationCode; private Map expectedVersions = new LinkedHashMap<>(); private List controls; private List observedControlTags; } @Data @EqualsAndHashCode(callSuper = true) public static class RepairConfirm extends ChangeConfirm { } @Data @EqualsAndHashCode(callSuper = true) public static class UpgradeConfirm extends ChangeConfirm { private String targetFieldVersionId; } @Data @EqualsAndHashCode(callSuper = true) public static class RemoveConfirm extends ChangeConfirm { } @Data public static class RemoveMissingConfirm { private String operationCode; private Integer expectedVersion; private Boolean clientReportedMissing; private String reason; } @Data @EqualsAndHashCode(callSuper = true) public static class PromoteConfirm extends ChangeConfirm { } @Data public static class VersionCopyConfirm { private String upgradeOperationCode; private Map expectedVersions = new LinkedHashMap<>(); private List controls; } @Data public static class Step { private String id; private String name; } @Data public static class SaveStepConfiguration { private List steps; private Map stepMigrations = new LinkedHashMap<>(); } private ElnTemplateForms() { } }