diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/ProcessPlatform.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/ProcessPlatform.java index cd22fa4a3f3b9639bc0c1bac053ae5a85450bc6b..d36db49f34aa00896bc28cab47006b8e54d1c9ed 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/ProcessPlatform.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/ProcessPlatform.java @@ -601,12 +601,16 @@ public class ProcessPlatform extends ConfigObject { private WorkExtensionEvents workAttachmentDownloadEvents = new WorkExtensionEvents(); @FieldDescribe("工作版式文件转word.") private WorkExtensionEvents workDocToWordEvents = new WorkExtensionEvents(); + @FieldDescribe("工作版式文件转OFD.") + private WorkExtensionEvents workDocToOfdEvents = new WorkExtensionEvents(); @FieldDescribe("已完成工作附件上传.") private WorkCompletedExtensionEvents workCompletedAttachmentUploadEvents = new WorkCompletedExtensionEvents(); @FieldDescribe("已完成工作附件下载.") private WorkCompletedExtensionEvents workCompletedAttachmentDownloadEvents = new WorkCompletedExtensionEvents(); @FieldDescribe("已完成工作版式文件转word.") private WorkCompletedExtensionEvents workCompletedDocToWordEvents = new WorkCompletedExtensionEvents(); + @FieldDescribe("已完成工作版式文件转OFD.") + private WorkCompletedExtensionEvents workCompletedDocToOfdEvents = new WorkCompletedExtensionEvents(); public WorkExtensionEvents getWorkAttachmentUploadEvents() { if (null == this.workAttachmentUploadEvents) { @@ -629,6 +633,13 @@ public class ProcessPlatform extends ConfigObject { return workDocToWordEvents; } + public WorkExtensionEvents getWorkDocToOfdEvents() { + if (null == this.workDocToOfdEvents) { + this.workDocToOfdEvents = new WorkExtensionEvents(); + } + return workDocToOfdEvents; + } + public WorkCompletedExtensionEvents getWorkCompletedAttachmentUploadEvents() { if (null == this.workCompletedAttachmentUploadEvents) { this.workCompletedAttachmentUploadEvents = new WorkCompletedExtensionEvents(); @@ -650,6 +661,13 @@ public class ProcessPlatform extends ConfigObject { return workCompletedDocToWordEvents; } + public WorkCompletedExtensionEvents getWorkCompletedDocToOfdEvents() { + if (null == this.workCompletedDocToOfdEvents) { + this.workCompletedDocToOfdEvents = new WorkCompletedExtensionEvents(); + } + return workCompletedDocToOfdEvents; + } + } public static class WorkExtensionEvents extends ArrayList { diff --git a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionDocToWordWorkOrWorkCompleted.java b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionDocToWordWorkOrWorkCompleted.java index 274146031e19e63c5fe5f06c11580bf307afb449..a217da76db3f601fd286077e6516f65119f35ee7 100644 --- a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionDocToWordWorkOrWorkCompleted.java +++ b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionDocToWordWorkOrWorkCompleted.java @@ -74,9 +74,14 @@ class ActionDocToWordWorkOrWorkCompleted extends BaseAction { private byte[] workConvert(EffectivePerson effectivePerson, Wi wi, String application, String process, String activity, String job) throws Exception { byte[] bytes = null; - Optional event = Config.processPlatform().getExtensionEvents().getWorkDocToWordEvents() - .bind(application, process, activity); - + Optional event; + if(wi.getFileName().toLowerCase().endsWith(OFD_ATT_KEY)){ + event = Config.processPlatform().getExtensionEvents().getWorkDocToOfdEvents() + .bind(application, process, activity); + }else{ + event = Config.processPlatform().getExtensionEvents().getWorkDocToWordEvents() + .bind(application, process, activity); + } if (event.isPresent()) { bytes = this.workExtensionService(effectivePerson, wi.getContent(), event.get(), job); } else { @@ -107,8 +112,14 @@ class ActionDocToWordWorkOrWorkCompleted extends BaseAction { private byte[] workCompletedConvert(EffectivePerson effectivePerson, Wi wi, String application, String process, String job) throws Exception { byte[] bytes = null; - Optional event = Config.processPlatform().getExtensionEvents() - .getWorkCompletedDocToWordEvents().bind(application, process); + Optional event; + if(wi.getFileName().toLowerCase().endsWith(OFD_ATT_KEY)){ + event = Config.processPlatform().getExtensionEvents() + .getWorkCompletedDocToOfdEvents().bind(application, process); + }else{ + event = Config.processPlatform().getExtensionEvents() + .getWorkCompletedDocToWordEvents().bind(application, process); + } if (event.isPresent()) { bytes = this.workCompletedExtensionService(effectivePerson, wi.getContent(), event.get(), job); } else { diff --git a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/BaseAction.java b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/BaseAction.java index 39dc67d6b547f3d6a982d73849cc0d39d8b2b6ab..7c8cca6fd4e5ba48631f45e147dbab38acf761c7 100644 --- a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/BaseAction.java +++ b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/BaseAction.java @@ -32,6 +32,8 @@ abstract class BaseAction extends StandardJaxrsAction { private static Logger logger = LoggerFactory.getLogger(BaseAction.class); + protected final static String OFD_ATT_KEY = ".ofd"; + public static class WiExtraParam { private String site;