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

View File

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

View File

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

View File

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

View File

@ -100,44 +100,65 @@ public class SafetyFlowTaskService implements CommService<SafetyFlowTask> {
String copyNames, String copyNames,
String record) throws ServiceException { String record) throws ServiceException {
SafetyFlowTask safetyFlowTask; SafetyFlowTask safetyFlowTask = null;
List<SafetyFlowTask> list = selectListByWhere(" where biz_id='" + bizId + "' order by create_time desc"); 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); // 查找是否已存在相同taskTitle的记录
safetyFlowTask.setIsDone(true); SafetyFlowTask existingTask = null;
safetyFlowTask.setCopy(copyNames); if (list != null && !list.isEmpty()) {
safetyFlowTask.setDoneTime(DateUtil.toStr(null, new Date())); for (SafetyFlowTask task : list) {
update(safetyFlowTask); if (task.getTaskName().equals(taskTitle)) {
} else if (list != null && list.size() != 0 && !list.get(0).getTaskName().equals(taskTitle)) { existingTask = task;
safetyFlowTask = list.get(0); break;
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);
} }
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)) { if (StringUtils.isNotEmpty(record)) {
SafetyFlowTaskDetail safetyFlowTaskDetail = new SafetyFlowTaskDetail(); SafetyFlowTaskDetail safetyFlowTaskDetail = new SafetyFlowTaskDetail();
safetyFlowTaskDetail.setId(UUID.randomUUID().toString()); safetyFlowTaskDetail.setId(UUID.randomUUID().toString());