提交 54df2ce6 编写于 作者: Z zhourui

添加addManualTaskIdentityMatrix返回

上级 9fd288b5
......@@ -17,6 +17,7 @@ import com.x.base.core.project.x_processplatform_service_processing;
import com.x.base.core.project.config.Config;
import com.x.base.core.project.http.EffectivePerson;
import com.x.base.core.project.jaxrs.WoId;
import com.x.processplatform.assemble.surface.jaxrs.task.ExceptionWorkProcessing;
import com.x.processplatform.core.entity.content.Record;
import com.x.processplatform.core.entity.content.RecordProperties.NextManual;
import com.x.processplatform.core.entity.content.Task;
......@@ -134,6 +135,43 @@ public class RecordBuilder {
rec.getProperties().setNextManualTaskIdentityList(new ArrayList<>(identities));
}
public static Record ofTaskEmpower(Task task, String empowerFromIdentity, String empowerFromPerson,
String empowerFromUnit) {
Record o = new Record();
o.setType(Record.TYPE_EMPOWER);
o.setApplication(task.getApplication());
o.setProcess(task.getProcess());
o.setJob(task.getJob());
o.setCompleted(false);
o.setWork(task.getWork());
o.setFromActivity(task.getActivity());
o.setFromActivityAlias(task.getActivityAlias());
o.setFromActivityName(task.getActivityName());
o.setFromActivityToken(task.getActivityToken());
o.setFromActivityType(task.getActivityType());
o.setArrivedActivity(task.getActivity());
o.setArrivedActivityAlias(task.getActivityAlias());
o.setArrivedActivityName(task.getActivityName());
o.setArrivedActivityToken(task.getActivityToken());
o.setArrivedActivityType(task.getActivityType());
o.getProperties().setEmpowerToPerson(task.getPerson());
o.getProperties().setEmpowerToIdentity(task.getIdentity());
o.getProperties().setEmpowerToUnit(task.getUnit());
o.setIdentity(task.getEmpowerFromIdentity());
o.setPerson(empowerFromPerson);
o.setUnit(empowerFromUnit);
o.getProperties().setElapsed(0L);
NextManual nextManual = new NextManual();
nextManual.setActivity(task.getActivity());
nextManual.setActivityAlias(task.getActivityAlias());
nextManual.setActivityName(task.getActivityName());
nextManual.setActivityToken(task.getActivityToken());
nextManual.setActivityType(task.getActivityType());
o.getProperties().getNextManualList().add(nextManual);
o.getProperties().getNextManualTaskIdentityList().add(task.getIdentity());
return o;
}
public static String processing(Record r) throws Exception {
WoId resp = ThisApplication.context().applications()
.postQuery(false, x_processplatform_service_processing.class,
......
......@@ -30,6 +30,7 @@ import com.x.base.core.project.logger.LoggerFactory;
import com.x.base.core.project.tools.ListTools;
import com.x.base.core.project.tools.StringTools;
import com.x.processplatform.assemble.surface.Business;
import com.x.processplatform.assemble.surface.RecordBuilder;
import com.x.processplatform.assemble.surface.TaskBuilder;
import com.x.processplatform.assemble.surface.TaskCompletedBuilder;
import com.x.processplatform.assemble.surface.ThisApplication;
......@@ -442,61 +443,18 @@ class ActionProcessing extends BaseAction {
}
if (!empowerTasks.isEmpty()) {
List<Record> empowerRecords = new ArrayList<>();
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
Business business = new Business(emc);
for (Task o : empowerTasks) {
empowerRecords.add(createEmpowerRecord(business, o));
}
}
for (Record r : empowerRecords) {
WoId resp = ThisApplication.context().applications()
.postQuery(effectivePerson.getDebugger(), x_processplatform_service_processing.class,
Applications.joinQueryUri("record", "job", this.work.getJob()), r, this.task.getJob())
.getData(WoId.class);
if (StringUtils.isBlank(resp.getId())) {
throw new ExceptionWorkProcessing(this.work.getId());
Record r = RecordBuilder.ofTaskEmpower(o, task.getEmpowerFromIdentity(),
business.organization().person().getWithIdentity(task.getEmpowerFromIdentity()),
business.organization().unit().getWithIdentity(task.getEmpowerFromIdentity()));
RecordBuilder.processing(r);
}
}
}
}
private Record createEmpowerRecord(Business business, Task task) throws Exception {
Record o = new Record();
o.setType(Record.TYPE_EMPOWER);
o.setApplication(task.getApplication());
o.setProcess(task.getProcess());
o.setJob(task.getJob());
o.setCompleted(false);
o.setWork(task.getWork());
o.setFromActivity(task.getActivity());
o.setFromActivityAlias(task.getActivityAlias());
o.setFromActivityName(task.getActivityName());
o.setFromActivityToken(task.getActivityToken());
o.setFromActivityType(task.getActivityType());
o.setArrivedActivity(task.getActivity());
o.setArrivedActivityAlias(task.getActivityAlias());
o.setArrivedActivityName(task.getActivityName());
o.setArrivedActivityToken(task.getActivityToken());
o.setArrivedActivityType(task.getActivityType());
o.getProperties().setEmpowerToPerson(task.getPerson());
o.getProperties().setEmpowerToIdentity(task.getIdentity());
o.getProperties().setEmpowerToUnit(task.getUnit());
o.setIdentity(task.getEmpowerFromIdentity());
o.setPerson(business.organization().person().getWithIdentity(o.getIdentity()));
o.setUnit(business.organization().unit().getWithIdentity(o.getIdentity()));
o.getProperties().setElapsed(0L);
NextManual nextManual = new NextManual();
nextManual.setActivity(task.getActivity());
nextManual.setActivityAlias(task.getActivityAlias());
nextManual.setActivityName(task.getActivityName());
nextManual.setActivityToken(task.getActivityToken());
nextManual.setActivityType(task.getActivityType());
o.getProperties().getNextManualList().add(nextManual);
o.getProperties().getNextManualTaskIdentityList().add(task.getIdentity());
return o;
}
public static class Wo extends ProcessingWo {
private static final long serialVersionUID = -1771383649634969945L;
......
package com.x.processplatform.assemble.surface.jaxrs.task;
import com.x.base.core.project.exception.LanguagePromptException;
class ExceptionEmptyOption extends LanguagePromptException {
private static final long serialVersionUID = -5515077418025884395L;
ExceptionEmptyOption() {
super("otpion empty.");
}
}
......@@ -2,7 +2,9 @@ package com.x.processplatform.assemble.surface.jaxrs.task;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Optional;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.BooleanUtils;
......@@ -22,13 +24,14 @@ 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.base.core.project.jaxrs.WoId;
import com.x.base.core.project.jaxrs.WrapBoolean;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import com.x.base.core.project.tools.ListTools;
import com.x.base.core.project.processplatform.ManualTaskIdentityMatrix;
import com.x.base.core.project.tools.StringTools;
import com.x.processplatform.assemble.surface.Business;
import com.x.processplatform.assemble.surface.RecordBuilder;
import com.x.processplatform.assemble.surface.TaskBuilder;
import com.x.processplatform.assemble.surface.TaskCompletedBuilder;
import com.x.processplatform.assemble.surface.ThisApplication;
import com.x.processplatform.assemble.surface.WorkControl;
import com.x.processplatform.core.entity.content.Record;
......@@ -40,9 +43,9 @@ import com.x.processplatform.core.express.ProcessingAttributes;
import com.x.processplatform.core.express.service.processing.jaxrs.task.ProcessingWi;
import com.x.processplatform.core.express.service.processing.jaxrs.task.V2AddWi;
import com.x.processplatform.core.express.service.processing.jaxrs.task.V2EditWi;
import com.x.processplatform.core.express.service.processing.jaxrs.task.WrapUpdatePrevTaskIdentity;
import com.x.processplatform.core.express.service.processing.jaxrs.taskcompleted.WrapUpdateNextTaskIdentity;
import com.x.processplatform.core.express.service.processing.jaxrs.work.V2AddManualTaskIdentityMatrixWi;
import com.x.processplatform.core.express.service.processing.jaxrs.work.V2AddManualTaskIdentityMatrixWi.Option;
import com.x.processplatform.core.express.service.processing.jaxrs.work.V2AddManualTaskIdentityMatrixWo;
public class V2Add extends BaseAction {
......@@ -65,13 +68,17 @@ public class V2Add extends BaseAction {
private WorkLog workLog = null;
// 本环节创建的record
private Record rec = null;
// 执行前已经存在的已办
private List<TaskCompleted> taskCompleteds;
// 返回的ManualTaskIdentityMatrix
private ManualTaskIdentityMatrix manualTaskIdentityMatrix;
ActionResult<Wo> execute(EffectivePerson effectivePerson, String id, JsonElement jsonElement) throws Exception {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("execute:{}.", effectivePerson::getDistinguishedName);
}
this.init(effectivePerson, id, jsonElement);
this.add(this.task, wi.getOptionList(), wi.getRemove());
this.manualTaskIdentityMatrix = this.add(this.task, wi.getOptionList(), wi.getRemove());
if (BooleanUtils.isTrue(wi.getRemove())) {
taskCompletedId = this.processingTask(this.task);
}
......@@ -91,9 +98,10 @@ public class V2Add extends BaseAction {
RecordBuilder.processing(rec);
if (StringUtils.isNotEmpty(taskCompletedId)) {
this.updateTaskCompleted();
TaskCompletedBuilder.updateNextTaskIdentity(this.taskCompletedId,
rec.getProperties().getNextManualTaskIdentityList(), task.getJob());
}
this.updateTask();
TaskBuilder.updatePrevTaskIdentity(this.newTaskIds, this.taskCompleteds, this.task);
return result();
}
......@@ -112,14 +120,13 @@ public class V2Add extends BaseAction {
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
Business business = new Business(emc);
this.effectivePerson = effectivePerson;
this.wi = this.convertToWrapIn(jsonElement, Wi.class);
this.task = emc.find(id, Task.class);
if (null == task) {
throw new ExceptionEntityNotExist(id, Task.class);
}
if (emc.countEqual(Work.class, JpaObject.id_FIELDNAME, task.getWork()) < 1) {
throw new ExceptionEntityNotExist(task.getWork(), Work.class);
}
this.wi = this.convertToWrapIn(jsonElement, Wi.class);
this.initFilterOptionIdentities(business, wi, task.getWork());
this.initCheckOptionIdentities(wi);
this.workLog = emc.firstEqualAndEqual(WorkLog.class, WorkLog.job_FIELDNAME, task.getJob(),
WorkLog.fromActivityToken_FIELDNAME, task.getActivityToken());
if (null == workLog) {
......@@ -131,21 +138,47 @@ public class V2Add extends BaseAction {
}
this.existTaskIds = emc.idsEqualAndEqual(Task.class, Task.job_FIELDNAME, task.getJob(), Task.work_FIELDNAME,
task.getWork());
this.taskCompleteds = business.entityManagerContainer().listEqual(TaskCompleted.class,
TaskCompleted.activityToken_FIELDNAME, task.getActivityToken());
}
}
private void initFilterOptionIdentities(Business business, Wi wi, String workId) throws Exception {
Work work = business.entityManagerContainer().find(workId, Work.class);
if (null == work) {
throw new ExceptionEntityNotExist(workId, Task.class);
}
List<String> identities = work.getManualTaskIdentityMatrix().flat();
for (Option option : wi.getOptionList()) {
Iterator<String> iterator = option.getIdentityList().iterator();
while (iterator.hasNext()) {
if (identities.contains(iterator.next())) {
iterator.remove();
}
}
}
}
private void initCheckOptionIdentities(Wi wi) throws Exception {
Optional<List<String>> optional = wi.getOptionList().stream().map(Option::getIdentityList)
.filter(o -> !o.isEmpty()).findAny();
if (optional.isEmpty()) {
throw new ExceptionEmptyOption();
}
}
private void add(Task task, List<V2AddManualTaskIdentityMatrixWi.Option> options, Boolean remove) throws Exception {
private ManualTaskIdentityMatrix add(Task task, List<V2AddManualTaskIdentityMatrixWi.Option> options,
Boolean remove) throws Exception {
V2AddManualTaskIdentityMatrixWi req = new V2AddManualTaskIdentityMatrixWi();
req.setIdentity(task.getIdentity());
req.setOptionList(options);
req.setRemove(remove);
WrapBoolean resp = ThisApplication.context().applications()
.postQuery(x_processplatform_service_processing.class, Applications.joinQueryUri("work", "v2",
task.getWork(), "add", "manual", "task", "identity", "matrix"), req, task.getJob())
.getData(WrapBoolean.class);
if (BooleanUtils.isNotTrue(resp.getValue())) {
throw new ExceptionAdd(task.getId());
}
return ThisApplication.context().applications()
.postQuery(x_processplatform_service_processing.class,
Applications.joinQueryUri("work", "v2", task.getWork(), "add", "manual", "task", "identity",
"matrix"),
req, task.getJob())
.getData(V2AddManualTaskIdentityMatrixWo.class).getManualTaskIdentityMatrix();
}
private String processingTask(Task task) throws Exception {
......@@ -175,35 +208,36 @@ public class V2Add extends BaseAction {
}
}
private void updateTaskCompleted() throws Exception {
// 记录下一处理人信息
WrapUpdateNextTaskIdentity req = new WrapUpdateNextTaskIdentity();
req.getTaskCompletedList().add(this.taskCompletedId);
req.setNextTaskIdentityList(rec.getProperties().getNextManualTaskIdentityList());
ThisApplication.context().applications()
.putQuery(effectivePerson.getDebugger(), x_processplatform_service_processing.class,
Applications.joinQueryUri("taskcompleted", "next", "task", "identity"), req, task.getJob())
.getData(WrapBoolean.class);
}
private void updateTask() throws Exception {
// 记录上一处理人信息
if (ListTools.isNotEmpty(this.newTaskIds)) {
WrapUpdatePrevTaskIdentity req = new WrapUpdatePrevTaskIdentity();
req.setTaskList(this.newTaskIds);
req.setPrevTaskIdentity(task.getIdentity());
req.getPrevTaskIdentityList().add(task.getIdentity());
ThisApplication.context().applications()
.putQuery(effectivePerson.getDebugger(), x_processplatform_service_processing.class,
Applications.joinQueryUri("task", "prev", "task", "identity"), req, task.getJob())
.getData(WrapBoolean.class);
}
}
// private void updateTaskCompleted() throws Exception {
// // 记录下一处理人信息
// WrapUpdateNextTaskIdentity req = new WrapUpdateNextTaskIdentity();
// req.getTaskCompletedList().add(this.taskCompletedId);
// req.setNextTaskIdentityList(rec.getProperties().getNextManualTaskIdentityList());
// ThisApplication.context().applications()
// .putQuery(effectivePerson.getDebugger(), x_processplatform_service_processing.class,
// Applications.joinQueryUri("taskcompleted", "next", "task", "identity"), req, task.getJob())
// .getData(WrapBoolean.class);
// }
//
// private void updateTask() throws Exception {
// // 记录上一处理人信息
// if (ListTools.isNotEmpty(this.newTaskIds)) {
// WrapUpdatePrevTaskIdentity req = new WrapUpdatePrevTaskIdentity();
// req.setTaskList(this.newTaskIds);
// req.setPrevTaskIdentity(task.getIdentity());
// req.getPrevTaskIdentityList().add(task.getIdentity());
// ThisApplication.context().applications()
// .putQuery(effectivePerson.getDebugger(), x_processplatform_service_processing.class,
// Applications.joinQueryUri("task", "prev", "task", "identity"), req, task.getJob())
// .getData(WrapBoolean.class);
// }
// }
private ActionResult<Wo> result() throws InstantiationException, IllegalAccessException, IllegalArgumentException,
InvocationTargetException, NoSuchMethodException, SecurityException {
ActionResult<Wo> result = new ActionResult<>();
Wo wo = Wo.copier.copy(this.rec);
wo.setManualTaskIdentityMatrix(this.manualTaskIdentityMatrix);
result.setData(wo);
return result;
}
......@@ -249,6 +283,16 @@ public class V2Add extends BaseAction {
static WrapCopier<Record, Wo> copier = WrapCopierFactory.wo(Record.class, Wo.class, null,
JpaObject.FieldsInvisible);
private ManualTaskIdentityMatrix manualTaskIdentityMatrix;
public ManualTaskIdentityMatrix getManualTaskIdentityMatrix() {
return manualTaskIdentityMatrix;
}
public void setManualTaskIdentityMatrix(ManualTaskIdentityMatrix manualTaskIdentityMatrix) {
this.manualTaskIdentityMatrix = manualTaskIdentityMatrix;
}
}
}
\ No newline at end of file
......@@ -20,7 +20,6 @@ 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.base.core.project.jaxrs.WoId;
import com.x.base.core.project.jaxrs.WrapBoolean;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import com.x.base.core.project.processplatform.ManualTaskIdentityMatrix;
......@@ -45,6 +44,7 @@ import com.x.processplatform.core.express.service.processing.jaxrs.task.Processi
import com.x.processplatform.core.express.service.processing.jaxrs.task.V2EditWi;
import com.x.processplatform.core.express.service.processing.jaxrs.task.V2ResetWi;
import com.x.processplatform.core.express.service.processing.jaxrs.work.V2AddManualTaskIdentityMatrixWi;
import com.x.processplatform.core.express.service.processing.jaxrs.work.V2AddManualTaskIdentityMatrixWo;
public class V2Reset extends BaseAction {
......@@ -66,10 +66,11 @@ public class V2Reset extends BaseAction {
private String taskCompletedId;
private Wi wi;
private EffectivePerson effectivePerson;
// 返回的ManualTaskIdentityMatrix
private ManualTaskIdentityMatrix manualTaskIdentityMatrix;
ActionResult<Wo> execute(EffectivePerson effectivePerson, String id, JsonElement jsonElement) throws Exception {
LOGGER.debug("execute:{}.", effectivePerson::getDistinguishedName);
ActionResult<Wo> result = new ActionResult<>();
this.wi = this.convertToWrapIn(jsonElement, Wi.class);
this.effectivePerson = effectivePerson;
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
......@@ -85,7 +86,7 @@ public class V2Reset extends BaseAction {
}
this.reset(this.task, (!wi.getKeep()), identities, manual);
this.manualTaskIdentityMatrix = reset(this.task, (!wi.getKeep()), identities, manual);
if (StringUtils.isNotEmpty(wi.getOpinion()) || StringUtils.isNotEmpty(wi.getRouteName())) {
updateTask(wi.getOpinion(), wi.getRouteName());
......@@ -114,7 +115,9 @@ public class V2Reset extends BaseAction {
if (!taskCompleteds.isEmpty()) {
TaskBuilder.updatePrevTaskIdentity(newTaskIds, taskCompleteds, this.task);
}
ActionResult<Wo> result = new ActionResult<>();
Wo wo = Wo.copier.copy(rec);
wo.setManualTaskIdentityMatrix(this.manualTaskIdentityMatrix);
result.setData(wo);
return result;
}
......@@ -172,7 +175,8 @@ public class V2Reset extends BaseAction {
}
}
private void reset(Task task, boolean remove, List<String> identities, Manual manual) throws Exception {
private ManualTaskIdentityMatrix reset(Task task, boolean remove, List<String> identities, Manual manual)
throws Exception {
V2AddManualTaskIdentityMatrixWi req = new V2AddManualTaskIdentityMatrixWi();
req.setIdentity(task.getIdentity());
req.setRemove(remove);
......@@ -187,13 +191,13 @@ public class V2Reset extends BaseAction {
List<V2AddManualTaskIdentityMatrixWi.Option> optionList = new ArrayList<>();
optionList.add(option);
req.setOptionList(optionList);
WrapBoolean resp = ThisApplication.context().applications()
.postQuery(x_processplatform_service_processing.class, Applications.joinQueryUri("work", "v2",
task.getWork(), "add", "manual", "task", "identity", "matrix"), req, task.getJob())
.getData(WrapBoolean.class);
if (BooleanUtils.isNotTrue(resp.getValue())) {
throw new ExceptionReset(task.getId());
}
return ThisApplication.context().applications()
.postQuery(x_processplatform_service_processing.class,
Applications.joinQueryUri("work", "v2", task.getWork(), "add", "manual", "task", "identity",
"matrix"),
req, task.getJob())
.getData(V2AddManualTaskIdentityMatrixWo.class).getManualTaskIdentityMatrix();
}
private void processingWork() throws Exception {
......@@ -225,6 +229,17 @@ public class V2Reset extends BaseAction {
static WrapCopier<Record, Wo> copier = WrapCopierFactory.wo(Record.class, Wo.class, null,
JpaObject.FieldsInvisible);
private ManualTaskIdentityMatrix manualTaskIdentityMatrix;
public void setManualTaskIdentityMatrix(ManualTaskIdentityMatrix manualTaskIdentityMatrix) {
this.manualTaskIdentityMatrix = manualTaskIdentityMatrix;
}
public ManualTaskIdentityMatrix getManualTaskIdentityMatrix() {
return manualTaskIdentityMatrix;
}
}
}
\ No newline at end of file
......@@ -19,9 +19,9 @@ 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.base.core.project.jaxrs.WoId;
import com.x.base.core.project.jaxrs.WrapBoolean;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import com.x.base.core.project.processplatform.ManualTaskIdentityMatrix;
import com.x.base.core.project.tools.StringTools;
import com.x.processplatform.assemble.surface.Business;
import com.x.processplatform.assemble.surface.RecordBuilder;
......@@ -35,6 +35,7 @@ import com.x.processplatform.core.entity.element.ActivityType;
import com.x.processplatform.core.entity.element.Manual;
import com.x.processplatform.core.express.ProcessingAttributes;
import com.x.processplatform.core.express.service.processing.jaxrs.work.V2AddManualTaskIdentityMatrixWi;
import com.x.processplatform.core.express.service.processing.jaxrs.work.V2AddManualTaskIdentityMatrixWo;
class V2AddManualTaskIdentityMatrix extends BaseAction {
......@@ -53,6 +54,8 @@ class V2AddManualTaskIdentityMatrix extends BaseAction {
private WorkLog workLog;
// work活动
private Manual manual;
// 返回的ManualTaskIdentityMatrix
private ManualTaskIdentityMatrix manualTaskIdentityMatrix;
ActionResult<Wo> execute(EffectivePerson effectivePerson, String id, JsonElement jsonElement) throws Exception {
if (LOGGER.isDebugEnabled()) {
......@@ -60,7 +63,7 @@ class V2AddManualTaskIdentityMatrix extends BaseAction {
}
this.init(effectivePerson, id, jsonElement);
this.add(wi.getOptionList(), wi.getRemove());
this.manualTaskIdentityMatrix = add(wi.getOptionList(), wi.getRemove());
this.processingWork(work);
......@@ -75,6 +78,7 @@ class V2AddManualTaskIdentityMatrix extends BaseAction {
ActionResult<Wo> result = new ActionResult<>();
Wo wo = Wo.copier.copy(rec);
wo.setManualTaskIdentityMatrix(this.manualTaskIdentityMatrix);
result.setData(wo);
return result;
......@@ -103,18 +107,19 @@ class V2AddManualTaskIdentityMatrix extends BaseAction {
}
}
private void add(List<V2AddManualTaskIdentityMatrixWi.Option> options, Boolean remove) throws Exception {
private ManualTaskIdentityMatrix add(List<V2AddManualTaskIdentityMatrixWi.Option> options, Boolean remove)
throws Exception {
V2AddManualTaskIdentityMatrixWi req = new V2AddManualTaskIdentityMatrixWi();
req.setIdentity(identity);
req.setOptionList(options);
req.setRemove(remove);
WrapBoolean resp = ThisApplication.context().applications()
.postQuery(x_processplatform_service_processing.class, Applications.joinQueryUri("work", "v2",
work.getId(), "add", "manual", "task", "identity", "matrix"), req, work.getJob())
.getData(WrapBoolean.class);
if (BooleanUtils.isNotTrue(resp.getValue())) {
throw new ExceptionAddManualTaskIdentityMatrix(work.getId());
}
return ThisApplication.context().applications()
.postQuery(x_processplatform_service_processing.class,
Applications.joinQueryUri("work", "v2", work.getId(), "add", "manual", "task", "identity",
"matrix"),
req, work.getJob())
.getData(V2AddManualTaskIdentityMatrixWo.class).getManualTaskIdentityMatrix();
}
private void processingWork(Work work) throws Exception {
......@@ -148,6 +153,16 @@ class V2AddManualTaskIdentityMatrix extends BaseAction {
static WrapCopier<Record, Wo> copier = WrapCopierFactory.wo(Record.class, Wo.class, null,
JpaObject.FieldsInvisible);
private ManualTaskIdentityMatrix manualTaskIdentityMatrix;
public ManualTaskIdentityMatrix getManualTaskIdentityMatrix() {
return manualTaskIdentityMatrix;
}
public void setManualTaskIdentityMatrix(ManualTaskIdentityMatrix manualTaskIdentityMatrix) {
this.manualTaskIdentityMatrix = manualTaskIdentityMatrix;
}
}
}
\ No newline at end of file
package com.x.processplatform.core.express.service.processing.jaxrs.work;
import com.x.base.core.project.gson.GsonPropertyObject;
import com.x.base.core.project.processplatform.ManualTaskIdentityMatrix;
public class V2AddManualTaskIdentityMatrixWo extends GsonPropertyObject {
private static final long serialVersionUID = -8631082471633729236L;
private ManualTaskIdentityMatrix manualTaskIdentityMatrix;
public ManualTaskIdentityMatrix getManualTaskIdentityMatrix() {
return manualTaskIdentityMatrix;
}
public void setManualTaskIdentityMatrix(ManualTaskIdentityMatrix manualTaskIdentityMatrix) {
this.manualTaskIdentityMatrix = manualTaskIdentityMatrix;
}
}
\ No newline at end of file
......@@ -16,13 +16,13 @@ import com.x.base.core.project.exception.ExceptionEntityNotExist;
import com.x.base.core.project.executor.ProcessPlatformExecutorFactory;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.base.core.project.jaxrs.WrapBoolean;
import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory;
import com.x.base.core.project.processplatform.ManualTaskIdentityMatrix;
import com.x.base.core.project.tools.ListTools;
import com.x.processplatform.core.entity.content.Work;
import com.x.processplatform.core.express.service.processing.jaxrs.work.V2AddManualTaskIdentityMatrixWi;
import com.x.processplatform.core.express.service.processing.jaxrs.work.V2AddManualTaskIdentityMatrixWo;
import com.x.processplatform.service.processing.Business;
class V2AddManualTaskIdentityMatrix extends BaseAction {
......@@ -77,6 +77,7 @@ class V2AddManualTaskIdentityMatrix extends BaseAction {
@Override
public ActionResult<Wo> call() throws Exception {
ManualTaskIdentityMatrix matrix = null;
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
Business business = new Business(emc);
emc.beginTransaction(Work.class);
......@@ -84,7 +85,7 @@ class V2AddManualTaskIdentityMatrix extends BaseAction {
if (null == work) {
throw new ExceptionEntityNotExist(id, Work.class);
}
ManualTaskIdentityMatrix matrix = work.getManualTaskIdentityMatrix();
matrix = work.getManualTaskIdentityMatrix();
for (V2AddManualTaskIdentityMatrixWi.Option option : optionList) {
List<String> identities = business.organization().identity().list(option.getIdentityList());
if (!ListTools.isEmpty(identities)) {
......@@ -102,7 +103,7 @@ class V2AddManualTaskIdentityMatrix extends BaseAction {
}
ActionResult<Wo> result = new ActionResult<>();
Wo wo = new Wo();
wo.setValue(true);
wo.setManualTaskIdentityMatrix(matrix);
result.setData(wo);
return result;
}
......@@ -115,9 +116,9 @@ class V2AddManualTaskIdentityMatrix extends BaseAction {
}
public static class Wo extends WrapBoolean {
public static class Wo extends V2AddManualTaskIdentityMatrixWo {
private static final long serialVersionUID = -8882214104176786739L;
private static final long serialVersionUID = -1377290527826280418L;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册