pref_#jshvc提案优化

This commit is contained in:
Paidax
2025-12-22 18:00:18 +08:00
parent bca1ae93e1
commit 8c02b77d23
@@ -0,0 +1,49 @@
package com.budwk.app.zhgh.democratic.proposal.listenter;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.budwk.app.flow.engine.event.ProcessEvent;
import com.budwk.app.flow.engine.event.ProcessEventListener;
import com.budwk.app.flow.entity.ProcessInstance;
import com.budwk.app.flow.entity.ProcessTask;
import com.budwk.app.flow.enums.ProcessEventTypeEnum;
import com.budwk.app.flow.service.ProcessInstanceService;
import com.budwk.app.zhgh.democratic.proposal.models.ProposalMerge;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.lang.Lang;
/**
* @version 1.0
* @Author FKY
* @nameProposalCommitteeFilingRevokeEventListener
* @Date 2025/12/22 17:43
* @注释 提案立案审核撤回监听器
*/
public class ProposalCommitteeFilingRevokeEventListener implements ProcessEventListener {
@Inject
private Dao dao;
@Inject
private ProcessInstanceService processInstanceService;
@Override
public void onEvent(ProcessEvent event) {
if (event.getEventType() == ProcessEventTypeEnum.PROCESS_TASK_REVOKE) {
Long taskId = event.getSourceId();
ProcessTask task = dao.fetch(ProcessTask.class, taskId);
ProcessInstance processInstance = processInstanceService.getById(task.getProcessInstanceId());
// 处理并案信息撤回
if ("committee".equals(task.getTaskName())) {
// 如果有并案,删掉并案数据(傻逼提的需求)
ProposalMerge proposalMerge = dao.fetch(ProposalMerge.class, Cnd.where("proposalId", "=", processInstance.getBusinessNo()));
if (Lang.isNotEmpty(proposalMerge)) {
dao.clear(ProposalMerge.class, Cnd.where(ProposalMerge::getGroupId, "=", proposalMerge.getGroupId()));
}
}
}
}
}