package jnpf.elnService; import com.baomidou.mybatisplus.core.metadata.IPage; import jnpf.elnEntity.field.ElnFieldForms; import jnpf.elnEntity.field.ElnFieldVos; public interface ElnFieldCatalogService { /** 按当前租户惰性确保检验结果/结论两个系统字段可供模板绑定。 */ void ensureTestSubmissionFields(); ElnFieldVos.Detail create(ElnFieldForms.Create form); ElnFieldVos.Detail createTemplateFieldAndPreRelease(ElnFieldForms.TemplateFieldCreate command); ElnFieldVos.Detail detail(String id); IPage page(ElnFieldForms.Query query); ElnFieldVos.Version createVersion(String fieldId, ElnFieldForms.VersionCreate form); ElnFieldVos.Version updateDraft(String versionId, ElnFieldForms.VersionUpdate form); void preRelease(String versionId); void publish(String versionId); void cancel(String versionId, String reason); void switchCurrent(String fieldId, String versionId, String reason); void promoteToGlobal(String fieldId, String reason); void enable(String fieldId, String reason); void disable(String fieldId, String reason); }