ActionDelete.java 1.1 KB
Newer Older
R
roo00 已提交
1
package com.x.processplatform.service.processing.jaxrs.task;
caixiangyi's avatar
caixiangyi 已提交
2 3 4 5 6 7 8

import com.x.base.core.container.EntityManagerContainer;
import com.x.base.core.container.factory.EntityManagerContainerFactory;
import com.x.base.core.entity.annotation.CheckRemoveType;
import com.x.base.core.project.http.ActionResult;
import com.x.base.core.project.http.EffectivePerson;
import com.x.base.core.project.jaxrs.WoId;
R
roo00 已提交
9 10
import com.x.processplatform.core.entity.content.Task;
import com.x.processplatform.service.processing.MessageFactory;
caixiangyi's avatar
caixiangyi 已提交
11 12 13

class ActionDelete extends BaseAction {

R
roo00 已提交
14
	ActionResult<Wo> execute(EffectivePerson effectivePerson, String id) throws Exception {
caixiangyi's avatar
caixiangyi 已提交
15 16
		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
			ActionResult<Wo> result = new ActionResult<>();
R
roo00 已提交
17 18 19
			Task task = emc.find(id, Task.class);
			if (null == task) {
				throw new ExceptionTaskNotExist(id);
caixiangyi's avatar
caixiangyi 已提交
20
			}
R
roo00 已提交
21 22
			emc.beginTransaction(Task.class);
			emc.remove(task, CheckRemoveType.all);
caixiangyi's avatar
caixiangyi 已提交
23
			emc.commit();
R
roo00 已提交
24
			MessageFactory.task_delete(task);
caixiangyi's avatar
caixiangyi 已提交
25
			Wo wo = new Wo();
R
roo00 已提交
26
			wo.setId(task.getId());
caixiangyi's avatar
caixiangyi 已提交
27 28 29 30 31 32 33
			result.setData(wo);
			return result;
		}
	}

	public static class Wo extends WoId {
	}
R
roo00 已提交
34

caixiangyi's avatar
caixiangyi 已提交
35
}