协会创建文化活动删除了也会删除对应人的待办(工作流记录)
This commit is contained in:
+7
-4
@@ -10,7 +10,6 @@ import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.sys.models.Sys_home_activity;
|
||||
import com.budwk.app.zhgh.activity.basic.models.ActivityBasicSettings;
|
||||
import com.budwk.app.zhgh.activity.culture.models.ActivityTissue;
|
||||
import com.budwk.app.zhgh.activity.culture.models.ActivityTissuePerson;
|
||||
import com.budwk.app.zhgh.activity.culture.service.ActivityCultureService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
@@ -81,14 +80,18 @@ public class ActivityCultureInfoManageController {
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除指定文化活动及其关联流程。
|
||||
*
|
||||
* @param id 文化活动主表 ID,由活动列表当前行传入
|
||||
* @return Result 成功响应,code 为 0;不返回业务数据
|
||||
*/
|
||||
@At
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SLog(tag = "文化活动", msg = "删除了一条活动")
|
||||
@SaCheckPermission(value = {"activity.culture.infoManage.school", "activity.culture.infoManage.union", "activity.culture.infoManage.club"}, mode = SaMode.OR)
|
||||
public Result doDelete(@Valid String id) {
|
||||
activityCultureService.delete(id);
|
||||
activityCultureService.dao().clear(ActivityTissuePerson.class, Cnd.where(ActivityTissuePerson::getTissueId, "=", id));
|
||||
activityCultureService.dao().delete(Sys_home_activity.class, id);
|
||||
activityCultureService.doDeleteActivity(id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,13 @@ public interface ActivityCultureService extends BaseService<ActivityTissue> {
|
||||
|
||||
void doEditActivity(ActivityTissue tissue);
|
||||
|
||||
/**
|
||||
* 删除文化活动及关联的 WF 流程任务、实例;未发起流程时仅删除业务数据。
|
||||
*
|
||||
* @param id 文化活动主表 ID,同时作为 WF 流程的 businessNo
|
||||
*/
|
||||
void doDeleteActivity(String id);
|
||||
|
||||
Object pageData(PageForm page, String year, String name, String unionId, Integer activity_type);
|
||||
|
||||
NutMap findOne(String id);
|
||||
|
||||
+22
@@ -5,6 +5,8 @@ import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.model.Audit;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.service.impl.BaseServiceImpl;
|
||||
import com.budwk.app.flow.engine.FlowEngine;
|
||||
import com.budwk.app.sys.models.Sys_home_activity;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.activity.culture.models.ActivityTissue;
|
||||
@@ -12,11 +14,13 @@ import com.budwk.app.zhgh.activity.culture.models.ActivityTissuePerson;
|
||||
import com.budwk.app.zhgh.activity.culture.service.ActivityCultureService;
|
||||
import com.budwk.app.zhgh.club.model.SysClub;
|
||||
import com.budwk.app.zhgh.club.service.SysClubService;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Strings;
|
||||
@@ -40,6 +44,9 @@ public class ActivityCultureServiceImpl extends BaseServiceImpl<ActivityTissue>
|
||||
@Inject
|
||||
private SysClubService sysClubService;
|
||||
|
||||
@Inject
|
||||
private FlowEngine flowEngine;
|
||||
|
||||
@Override
|
||||
public List<NutMap> getUnionData(String activityScopeGroupId) {
|
||||
if (StrUtil.isBlank(activityScopeGroupId)) {
|
||||
@@ -74,6 +81,21 @@ public class ActivityCultureServiceImpl extends BaseServiceImpl<ActivityTissue>
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 在同一事务内删除活动、活动人员、首页活动展示及关联 WF 任务和实例。
|
||||
*
|
||||
* @param id 文化活动主表 ID,同时作为 WF 流程的 businessNo
|
||||
*/
|
||||
@Override
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public void doDeleteActivity(String id) {
|
||||
delete(id);
|
||||
dao().clear(ActivityTissuePerson.class, Cnd.where(ActivityTissuePerson::getTissueId, "=", id));
|
||||
dao().delete(Sys_home_activity.class, id);
|
||||
// 复用其他“我的申请”页面的删除能力;无流程实例的校工会活动、草稿会直接跳过流程清理。
|
||||
flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doEditActivity(ActivityTissue tissue) {
|
||||
update(tissue);
|
||||
|
||||
Reference in New Issue
Block a user