diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/controller/ImprovementProposalController.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/controller/ImprovementProposalController.java index 16af363..8bfe805 100644 --- a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/controller/ImprovementProposalController.java +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/controller/ImprovementProposalController.java @@ -226,9 +226,9 @@ public class ImprovementProposalController { } @PostMapping(value = "/bpm/submitInstituteVote") - @Operation(summary = "锁定所级评委投票并汇总结果") - public Result submitInstituteVote(@RequestBody ImprovementProposalBpmActionDTO action) { - return handleBpmAction(() -> improvementProposalService.submitInstituteVote(action, currentUser())); + @Operation(summary = "确认所级评委投票并直接完成流程任务") + public Result submitInstituteVote(@RequestBody ImprovementProposalBpmActionDTO action, HttpServletRequest request) { + return handleBpmAction(() -> improvementProposalService.submitInstituteVoteAndComplete(action, currentUser(), request)); } private LoginUser currentUser() { diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/IImprovementProposalService.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/IImprovementProposalService.java index fa800f1..b02b44c 100644 --- a/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/IImprovementProposalService.java +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/improvementproposal/service/IImprovementProposalService.java @@ -8,6 +8,7 @@ import org.jeecg.modules.improvementproposal.dto.ImprovementInstituteVoteCandida import org.jeecg.modules.improvementproposal.dto.ImprovementProposalBpmActionDTO; import org.jeecg.common.system.vo.LoginUser; import com.baomidou.mybatisplus.extension.service.IService; +import javax.servlet.http.HttpServletRequest; import java.io.Serializable; import java.util.Collection; import java.util.List; @@ -91,6 +92,9 @@ public interface IImprovementProposalService extends IService() .eq(ImprovementInstituteVote::getId, vote.getId()) .eq(ImprovementInstituteVote::getVoteStatus, "pending") + .set(ImprovementInstituteVote::getVoteResult, action.getVoteResult()) .set(ImprovementInstituteVote::getVoteStatus, "voted") .set(ImprovementInstituteVote::getVoteTime, new Date()) .set(ImprovementInstituteVote::getProcessTaskId, action.getTaskId())); @@ -457,6 +467,26 @@ public class ImprovementProposalServiceImpl extends ServiceImpl processParams = new HashMap<>(4); + processParams.put("taskId", action.getTaskId()); + processParams.put("processModel", "1"); + processParams.put("nextCodeCount", "1"); + // Task5 只有正常流转分支;通用办理服务以 end + 单分支执行 taskService.complete。 + processParams.put("nextnode", "end"); + Result result = extActTaskCcService.processComplete(processParams, request); + if (result == null || !result.isSuccess()) { + throw new IllegalStateException(result == null || oConvertUtils.isEmpty(result.getMessage()) + ? "投票已确认,但流程办理失败" + : result.getMessage()); + } + } + private ImprovementInstituteVote findInstituteVote(String mainId, String voterId) { return improvementInstituteVoteMapper.selectByMainId(mainId).stream() .filter(item -> voterId.equals(item.getVoterId()))