提交 d42de15e 编写于 作者: O o2null

Merge branch 'feature/mobile_process' into 'develop'

Feature/mobile process 增加移动表单和Porcess信息

See merge request o2oa/o2oa!276
......@@ -23,7 +23,9 @@ class ActionGetWithApplication extends BaseAction {
throw new ExceptionEntityNotExist(applicationFlag, Application.class);
}
Form form = business.form().pick(application, flag);
Wo wo = Wo.copier.copy(form);
//Wo wo = Wo.copier.copy(form);
Wo wo = new Wo();
wo.setData(form.getDataOrMobileData());
result.setData(wo);
return result;
}
......
package com.x.processplatform.assemble.surface.jaxrs.form;
import com.x.base.core.container.EntityManagerContainer;
import com.x.base.core.container.factory.EntityManagerContainerFactory;
import com.x.base.core.entity.JpaObject;
import com.x.base.core.project.bean.WrapCopier;
import com.x.base.core.project.bean.WrapCopierFactory;
import com.x.base.core.project.exception.ExceptionEntityNotExist;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.processplatform.assemble.surface.Business;
import com.x.processplatform.core.entity.element.Application;
import com.x.processplatform.core.entity.element.Form;
class ActionGetWithApplicationMobile extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, String applicationFlag, String flag) throws Exception {
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
ActionResult<Wo> result = new ActionResult<>();
Business business = new Business(emc);
Application application = business.application().pick(applicationFlag);
if (null == application) {
throw new ExceptionEntityNotExist(applicationFlag, Application.class);
}
Form form = business.form().pick(application, flag);
//Wo wo = Wo.copier.copy(form);
Wo wo = new Wo();
wo.setData(form.getMobileDataOrData());
result.setData(wo);
return result;
}
}
public static class Wo extends Form {
private static final long serialVersionUID = 1541438199059150837L;
static WrapCopier<Form, Wo> copier = WrapCopierFactory.wo(Form.class, Wo.class, null,
JpaObject.FieldsInvisible);
}
}
......@@ -10,7 +10,6 @@ import javax.ws.rs.container.AsyncResponse;
import javax.ws.rs.container.Suspended;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Request;
import com.google.gson.JsonElement;
import com.x.base.core.project.annotation.JaxrsDescribe;
......@@ -113,7 +112,7 @@ public class FormAction extends StandardJaxrsAction {
@Consumes(MediaType.APPLICATION_JSON)
public void getWithApplication(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
@JaxrsParameterDescribe("表单标识") @PathParam("flag") String flag,
@JaxrsParameterDescribe("表单标识") @PathParam("applicationFlag") String applicationFlag) {
@JaxrsParameterDescribe("应用标识") @PathParam("applicationFlag") String applicationFlag) {
ActionResult<ActionGetWithApplication.Wo> result = new ActionResult<>();
EffectivePerson effectivePerson = this.effectivePerson(request);
try {
......@@ -124,4 +123,23 @@ public class FormAction extends StandardJaxrsAction {
}
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
}
@JaxrsMethodDescribe(value = "根据标识和应用标识获取移动端表单.", action = ActionGetWithApplicationMobile.class)
@GET
@Path("{flag}/application/{applicationFlag}/mobile")
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
@Consumes(MediaType.APPLICATION_JSON)
public void getWithApplicationMobile(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
@JaxrsParameterDescribe("表单标识") @PathParam("flag") String flag,
@JaxrsParameterDescribe("应用标识") @PathParam("applicationFlag") String applicationFlag) {
ActionResult<ActionGetWithApplicationMobile.Wo> result = new ActionResult<>();
EffectivePerson effectivePerson = this.effectivePerson(request);
try {
result = new ActionGetWithApplicationMobile().execute(effectivePerson, applicationFlag, flag);
} catch (Exception e) {
logger.error(e, effectivePerson, request, null);
result.error(e);
}
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
}
}
\ No newline at end of file
package com.x.processplatform.assemble.surface.jaxrs.process;
import java.util.List;
import com.x.base.core.container.EntityManagerContainer;
import com.x.base.core.container.factory.EntityManagerContainerFactory;
import com.x.base.core.entity.JpaObject;
import com.x.base.core.project.bean.WrapCopier;
import com.x.base.core.project.bean.WrapCopierFactory;
import com.x.base.core.project.exception.ExceptionEntityNotExist;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.processplatform.assemble.surface.Business;
import com.x.processplatform.core.entity.element.Agent;
import com.x.processplatform.core.entity.element.Begin;
import com.x.processplatform.core.entity.element.Cancel;
import com.x.processplatform.core.entity.element.Choice;
import com.x.processplatform.core.entity.element.Delay;
import com.x.processplatform.core.entity.element.Embed;
import com.x.processplatform.core.entity.element.End;
import com.x.processplatform.core.entity.element.Invoke;
import com.x.processplatform.core.entity.element.Manual;
import com.x.processplatform.core.entity.element.Merge;
import com.x.processplatform.core.entity.element.Message;
import com.x.processplatform.core.entity.element.Parallel;
import com.x.processplatform.core.entity.element.Process;
import com.x.processplatform.core.entity.element.Route;
import com.x.processplatform.core.entity.element.Service;
import com.x.processplatform.core.entity.element.Split;
class ActionGet extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, String flag) throws Exception {
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
ActionResult<Wo> result = new ActionResult<>();
Business business = new Business(emc);
Process process = business.process().pick(flag);
if (null == process) {
throw new ExceptionEntityNotExist(flag, Process.class);
}
Wo wo = Wo.copier.copy(process);
result.setData(wo);
return result;
}
}
public static class Wo extends Process {
private static final long serialVersionUID = 1521228691441978462L;
static WrapCopier<Process, Wo> copier = WrapCopierFactory.wo(Process.class, Wo.class, JpaObject.singularAttributeField(Process.class, true, true),
JpaObject.FieldsInvisible);
}
}
......@@ -12,7 +12,6 @@ import javax.ws.rs.container.AsyncResponse;
import javax.ws.rs.container.Suspended;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import com.x.base.core.project.annotation.JaxrsDescribe;
import com.x.base.core.project.annotation.JaxrsMethodDescribe;
......@@ -31,6 +30,27 @@ public class ProcessAction extends StandardJaxrsAction {
private static Logger logger = LoggerFactory.getLogger(ProcessAction.class);
@JaxrsMethodDescribe(value = "获取流程.", action = ActionGet.class)
@GET
@Path("{flag}")
@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
@Consumes(MediaType.APPLICATION_JSON)
public void get(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
@JaxrsParameterDescribe("流程标识") @PathParam("flag") String flag) {
ActionResult<ActionGet.Wo> result = new ActionResult<>();
EffectivePerson effectivePerson = this.effectivePerson(request);
try {
result = new ActionGet().execute(effectivePerson, flag);
} catch (Exception e) {
logger.error(e, effectivePerson, request, null);
result.error(e);
}
asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
}
@JaxrsMethodDescribe(value = "获取流程内容,附带所有的Activity信息", action = ActionGetComplex.class)
@GET
@Path("{flag}/complex")
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册