This commit is contained in:
Timer
2026-04-02 01:22:19 +08:00
parent fadbe2b59f
commit 9cc4d4a988
5 changed files with 63 additions and 45 deletions

View File

@ -377,10 +377,9 @@ public class SafetyCheckComprehensiveController {
@Transactional(rollbackFor = Exception.class)
public Result response(HttpServletRequest request, SafetyCheckComprehensive bean, String processInstanceId, int pass) throws IOException, ServiceException {
safetyCheckActivityService.audit(bean.getConfirmUserId(), processInstanceId, pass);
//通过
if (pass == 1) {
safetyCheckActivityService.audit(bean.getConfirmUserId(), processInstanceId, pass);
bean.setStatus(SafetyCheckStatusEnum.COMPLETE.getId());
service.update(bean);
@ -403,6 +402,7 @@ public class SafetyCheckComprehensiveController {
}
//不通过
else {
safetyCheckActivityService.audit(bean.getDutyUserId(), processInstanceId, pass);
bean.setStatus(SafetyCheckStatusEnum.APPLY.getId());
service.update(bean);
safetyFlowTaskService.saveWorkFlowRecord(true,

View File

@ -373,10 +373,9 @@ public class SafetyCheckDaylyController {
@Transactional(rollbackFor = Exception.class)
public Result response(HttpServletRequest request, SafetyCheckDayly bean, String processInstanceId, int pass) throws IOException, ServiceException {
safetyCheckActivityService.audit(bean.getConfirmUserId(), processInstanceId, pass);
//通过
if (pass == 1) {
safetyCheckActivityService.audit(bean.getConfirmUserId(), processInstanceId, pass);
bean.setStatus(SafetyCheckStatusEnum.COMPLETE.getId());
safetyCheckDaylyService.update(bean);
@ -400,6 +399,7 @@ public class SafetyCheckDaylyController {
}
//不通过
else {
safetyCheckActivityService.audit(bean.getDutyUserId(), processInstanceId, pass);
bean.setStatus(SafetyCheckStatusEnum.APPLY.getId());
safetyCheckDaylyService.update(bean);
safetyFlowTaskService.saveWorkFlowRecord(true,

View File

@ -393,10 +393,9 @@ public class SafetyCheckSpecialController {
@Transactional(rollbackFor = Exception.class)
public Result response(HttpServletRequest request, SafetyCheckSpecial bean, String processInstanceId, int pass) throws IOException, ServiceException {
safetyCheckActivityService.audit(bean.getConfirmUserId(), processInstanceId, pass);
//通过
if (pass == 1) {
safetyCheckActivityService.audit(bean.getConfirmUserId(), processInstanceId, pass);
bean.setStatus(SafetyCheckStatusEnum.COMPLETE.getId());
service.update(bean);
@ -419,6 +418,7 @@ public class SafetyCheckSpecialController {
}
//不通过
else {
safetyCheckActivityService.audit(bean.getDutyUserId(), processInstanceId, pass);
bean.setStatus(SafetyCheckStatusEnum.APPLY.getId());
service.update(bean);
safetyFlowTaskService.saveWorkFlowRecord(true,

View File

@ -52,7 +52,6 @@ public class SafetyCheckActivityService {
Map<String, Object> map = new HashMap<>();
map.put(CommString.ACTI_KEK_Condition, 1);
map.put(CommString.ACTI_KEK_Assignee, applyUserId);
map.put(CommString.ACTI_KEK_Candidate_Users, applyUserId);
// 启动流程
ProcessInstance processInstance = workflowService.startWorkflow(
@ -71,7 +70,6 @@ public class SafetyCheckActivityService {
Map<String, Object> map2 = new HashMap<>();
map2.put(CommString.ACTI_KEK_Condition, 1);
map2.put(CommString.ACTI_KEK_Assignee, nextUserId);
map2.put(CommString.ACTI_KEK_Candidate_Users, nextUserId);
workflowService.getTaskService().complete(task.getId(), map2);
return Result.success();
@ -91,7 +89,6 @@ public class SafetyCheckActivityService {
Map<String, Object> map = new HashMap<>();
map.put(CommString.ACTI_KEK_Condition, pass);
map.put(CommString.ACTI_KEK_Assignee, nextUserId);
map.put(CommString.ACTI_KEK_Candidate_Users, nextUserId);
for (Task task : tasks) {
workflowService.getTaskService().complete(task.getId(), map);
}

View File

@ -100,44 +100,65 @@ public class SafetyFlowTaskService implements CommService<SafetyFlowTask> {
String copyNames,
String record) throws ServiceException {
SafetyFlowTask safetyFlowTask;
SafetyFlowTask safetyFlowTask = null;
List<SafetyFlowTask> list = selectListByWhere(" where biz_id='" + bizId + "' order by create_time desc");
if (list != null && list.size() != 0 && list.get(0).getTaskName().equals(taskTitle)) {
safetyFlowTask = list.get(0);
safetyFlowTask.setIsDone(true);
safetyFlowTask.setCopy(copyNames);
safetyFlowTask.setDoneTime(DateUtil.toStr(null, new Date()));
update(safetyFlowTask);
} else if (list != null && list.size() != 0 && !list.get(0).getTaskName().equals(taskTitle)) {
safetyFlowTask = list.get(0);
safetyFlowTask.setIsDone(true);
safetyFlowTask.setCopy(copyNames);
safetyFlowTask.setDoneTime(DateUtil.toStr(null, new Date()));
update(safetyFlowTask);
safetyFlowTask = new SafetyFlowTask();
safetyFlowTask.setId(UUID.randomUUID().toString());
safetyFlowTask.setBizId(bizId);
safetyFlowTask.setTaskName(taskTitle);
safetyFlowTask.setIsDone(isDone);
safetyFlowTask.setDoneTime(isDone ? DateUtil.toStr(null, new Date()) : null);
safetyFlowTask.setAuditor(auditorName);
safetyFlowTask.setCopy(copyNames);
save(safetyFlowTask);
} else {
safetyFlowTask = new SafetyFlowTask();
safetyFlowTask.setId(UUID.randomUUID().toString());
safetyFlowTask.setBizId(bizId);
safetyFlowTask.setTaskName(taskTitle);
safetyFlowTask.setIsDone(isDone);
safetyFlowTask.setDoneTime(isDone ? DateUtil.toStr(null, new Date()) : null);
safetyFlowTask.setAuditor(auditorName);
safetyFlowTask.setCopy(copyNames);
save(safetyFlowTask);
// 查找是否已存在相同taskTitle的记录
SafetyFlowTask existingTask = null;
if (list != null && !list.isEmpty()) {
for (SafetyFlowTask task : list) {
if (task.getTaskName().equals(taskTitle)) {
existingTask = task;
break;
}
}
}
if (isDone) {
// 标记任务为完成
if (existingTask != null) {
// 更新已存在的记录
existingTask.setIsDone(true);
existingTask.setCopy(copyNames);
existingTask.setDoneTime(DateUtil.toStr(null, new Date()));
update(existingTask);
safetyFlowTask = existingTask;
} else {
// 创建新的完成记录
safetyFlowTask = new SafetyFlowTask();
safetyFlowTask.setId(UUID.randomUUID().toString());
safetyFlowTask.setBizId(bizId);
safetyFlowTask.setTaskName(taskTitle);
safetyFlowTask.setIsDone(true);
safetyFlowTask.setDoneTime(DateUtil.toStr(null, new Date()));
safetyFlowTask.setAuditor(auditorName);
safetyFlowTask.setCopy(copyNames);
save(safetyFlowTask);
}
} else {
// 创建待处理任务
if (existingTask == null) {
// 不存在才创建
safetyFlowTask = new SafetyFlowTask();
safetyFlowTask.setId(UUID.randomUUID().toString());
safetyFlowTask.setBizId(bizId);
safetyFlowTask.setTaskName(taskTitle);
safetyFlowTask.setIsDone(false);
safetyFlowTask.setDoneTime(null);
safetyFlowTask.setAuditor(auditorName);
safetyFlowTask.setCopy(copyNames);
save(safetyFlowTask);
} else {
// 已存在,重置为待处理状态(用于流程回退后重新处理)
existingTask.setIsDone(false);
existingTask.setDoneTime(null);
existingTask.setAuditor(auditorName);
existingTask.setCopy(copyNames);
update(existingTask);
safetyFlowTask = existingTask;
}
}
if (StringUtils.isNotEmpty(record)) {
SafetyFlowTaskDetail safetyFlowTaskDetail = new SafetyFlowTaskDetail();
safetyFlowTaskDetail.setId(UUID.randomUUID().toString());