!30 feat(xispeak): 撤回流程时同步删除抄送记录
* feat(xispeak): 撤回流程时同步删除抄送记录 * feat(tasktask): 周期性任务改为按年月日匹配当天需发起的任务
This commit is contained in:
@@ -12,7 +12,7 @@ flow-biz:
|
|||||||
business-key: "business_id"
|
business-key: "business_id"
|
||||||
dept-worker-key: "subApproveUser"
|
dept-worker-key: "subApproveUser"
|
||||||
xi-speak-fb-flowcode: "process_1778315114392"
|
xi-speak-fb-flowcode: "process_1778315114392"
|
||||||
form-url: "bg/xispeak/components/BgXiSpeakBPMForm"
|
form-url: "bg/xispeak/components/BgXiSpeakBPMForm?showFeedbackInfo=1&showJiJianFields=1"
|
||||||
tem-impl-worker-key: "tem_impl_worker"
|
tem-impl-worker-key: "tem_impl_worker"
|
||||||
tem-impl-leader-key: "tem_impl_leader"
|
tem-impl-leader-key: "tem_impl_leader"
|
||||||
tem-bg-leader-key: "tem_bg_leader"
|
tem-bg-leader-key: "tem_bg_leader"
|
||||||
|
|||||||
+11
@@ -3,6 +3,7 @@ package org.jeecg.modules.bg.xispeak.service.impl;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.flowable.engine.HistoryService;
|
||||||
import org.flowable.engine.RuntimeService;
|
import org.flowable.engine.RuntimeService;
|
||||||
import org.jeecg.common.exception.JeecgBootException;
|
import org.jeecg.common.exception.JeecgBootException;
|
||||||
import org.jeecg.common.util.oConvertUtils;
|
import org.jeecg.common.util.oConvertUtils;
|
||||||
@@ -10,6 +11,8 @@ import org.jeecg.common.system.vo.SelectTreeModel;
|
|||||||
import org.jeecg.modules.bg.xispeak.entity.BgXiSpeak;
|
import org.jeecg.modules.bg.xispeak.entity.BgXiSpeak;
|
||||||
import org.jeecg.modules.bg.xispeak.entity.DeptApproveDetail;
|
import org.jeecg.modules.bg.xispeak.entity.DeptApproveDetail;
|
||||||
import org.jeecg.modules.bg.xispeak.entity.DeptApproveDetailMap;
|
import org.jeecg.modules.bg.xispeak.entity.DeptApproveDetailMap;
|
||||||
|
import org.jeecg.modules.extbpm.process.entity.ExtActTaskCc;
|
||||||
|
import org.jeecg.modules.extbpm.process.service.IExtActTaskCcService;
|
||||||
import org.jeecg.modules.bg.xispeak.mapper.BgXiSpeakMapper;
|
import org.jeecg.modules.bg.xispeak.mapper.BgXiSpeakMapper;
|
||||||
import org.jeecg.modules.bg.xispeak.service.IBgXiSpeakService;
|
import org.jeecg.modules.bg.xispeak.service.IBgXiSpeakService;
|
||||||
import org.jeecg.modules.taskapprovalopinion.entity.TaskApprovalOpinion;
|
import org.jeecg.modules.taskapprovalopinion.entity.TaskApprovalOpinion;
|
||||||
@@ -40,7 +43,9 @@ public class BgXiSpeakServiceImpl extends ServiceImpl<BgXiSpeakMapper, BgXiSpeak
|
|||||||
|
|
||||||
private final TaskTaskServiceImpl taskTaskServiceImpl;
|
private final TaskTaskServiceImpl taskTaskServiceImpl;
|
||||||
private final RuntimeService runtimeService;
|
private final RuntimeService runtimeService;
|
||||||
|
private final HistoryService historyService;
|
||||||
private final ITaskApprovalOpinionService taskApprovalOpinionService;
|
private final ITaskApprovalOpinionService taskApprovalOpinionService;
|
||||||
|
private final IExtActTaskCcService extActTaskCcService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addBgXiSpeak(BgXiSpeak bgXiSpeak) {
|
public void addBgXiSpeak(BgXiSpeak bgXiSpeak) {
|
||||||
@@ -273,9 +278,15 @@ public class BgXiSpeakServiceImpl extends ServiceImpl<BgXiSpeakMapper, BgXiSpeak
|
|||||||
runtimeService.deleteProcessInstance(procId, delReason);
|
runtimeService.deleteProcessInstance(procId, delReason);
|
||||||
log.info("成功中止运行中的流程实例: {}", procId);
|
log.info("成功中止运行中的流程实例: {}", procId);
|
||||||
}
|
}
|
||||||
|
|
||||||
taskApprovalOpinionService.remove(
|
taskApprovalOpinionService.remove(
|
||||||
new LambdaQueryWrapper<TaskApprovalOpinion>()
|
new LambdaQueryWrapper<TaskApprovalOpinion>()
|
||||||
.eq(TaskApprovalOpinion::getProcessInstId, procId));
|
.eq(TaskApprovalOpinion::getProcessInstId, procId));
|
||||||
|
|
||||||
|
// 删除抄送记录
|
||||||
|
extActTaskCcService.remove(
|
||||||
|
new LambdaQueryWrapper<ExtActTaskCc>()
|
||||||
|
.eq(ExtActTaskCc::getProcInstId, procId));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4. 重新创建一个干净的 Wrapper,绝不能带 for update!
|
// 4. 重新创建一个干净的 Wrapper,绝不能带 for update!
|
||||||
|
|||||||
+3
-2
@@ -45,14 +45,15 @@ public class TaskJob implements Job {
|
|||||||
long startTime = System.currentTimeMillis();
|
long startTime = System.currentTimeMillis();
|
||||||
LocalDateTime startDateTime = LocalDateTime.now();
|
LocalDateTime startDateTime = LocalDateTime.now();
|
||||||
|
|
||||||
// 1. 查询建议:只查询必要的字段,避免 select *
|
// 1. 查询建议:只查询必要的字段,避免 select *
|
||||||
List<TaskTask> executeTaskTaskList = taskTaskServiceImpl
|
List<TaskTask> executeTaskTaskList = taskTaskServiceImpl
|
||||||
.lambdaQuery()
|
.lambdaQuery()
|
||||||
.select(TaskTask::getId, TaskTask::getFlowCode, TaskTask::getJsonData,
|
.select(TaskTask::getId, TaskTask::getFlowCode, TaskTask::getJsonData,
|
||||||
TaskTask::getFormUrl, TaskTask::getCreateBy)
|
TaskTask::getFormUrl, TaskTask::getCreateBy)
|
||||||
.eq(TaskTask::getBpmStatus, 1)
|
.eq(TaskTask::getBpmStatus, 1)
|
||||||
.eq(TaskTask::getTriggerType, FlowConstants.Strategy.RECURRING_ONLY)
|
.eq(TaskTask::getTriggerType, FlowConstants.Strategy.RECURRING_ONLY)
|
||||||
.lt(TaskTask::getStartTime, startDateTime)
|
.ge(TaskTask::getStartTime, startDateTime.toLocalDate().atStartOfDay())
|
||||||
|
.lt(TaskTask::getStartTime, startDateTime.toLocalDate().plusDays(1).atStartOfDay())
|
||||||
.list();
|
.list();
|
||||||
|
|
||||||
// 2. 集合判空实践
|
// 2. 集合判空实践
|
||||||
|
|||||||
Reference in New Issue
Block a user