This commit is contained in:
2026-06-09 17:06:35 +08:00
parent 0895d0b897
commit 1da9b94af2
3 changed files with 69 additions and 22 deletions
@@ -78,6 +78,7 @@ public class OpinionMineController {
@SaCheckPermission("opinion.mine")
@Aop(TransAop.READ_COMMITTED)
public Result pageData(@Valid OpinionSearchParam pageForm, String sessionId) {
// 当前节点优先取正在办理的任务;没有待办任务时,按流程实例状态显示最终状态,避免已结束流程误显示为待提交。
Sql sql = Sqls.create("""
SELECT
info.*,
@@ -98,7 +99,17 @@ public class OpinionMineController {
t.finishTime,
t.taskParentId,
t.variable taskVariable,
IFNULL(GROUP_CONCAT(DISTINCT nt.displayName),'待提交') curTaskName,
CASE
WHEN GROUP_CONCAT(DISTINCT nt.displayName) IS NOT NULL THEN GROUP_CONCAT(DISTINCT nt.displayName)
WHEN ins.id IS NULL THEN '待提交'
WHEN ins.state = 20 THEN '已完成'
WHEN ins.state = 30 THEN '已撤回'
WHEN ins.state = 40 THEN '强行终止'
WHEN ins.state = 45 THEN '已拒绝'
WHEN ins.state = 50 THEN '挂起'
WHEN ins.state = 99 THEN '已废弃'
ELSE '待提交'
END curTaskName,
IF((SELECT taskName FROM wf_process_task tt WHERE tt.id = t.taskParentId) = 'startTask', 1, 0) canRevoke,
(select MAX(id) from wf_process_task where processInstanceId = ins.id and taskName = 'startTask' AND taskState in (10,20)) AS startTaskId
FROM
@@ -19,6 +19,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.dao.Chain;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
@@ -127,8 +128,8 @@ public class OpinionSchoolAuditController {
@ApiOperation("修改意见")
@SLog(tag = "意见管理系统-校工会审核", msg = "修改意见")
public Result edit(@Param("info") OpinionInfo opinionInfo) {
// The school-union audit only edits opinion category here, so update the target field explicitly.
dao.update(opinionInfo);
dao.update(OpinionInfo.class, Chain.make("typeId", opinionInfo.getTypeId()), Cnd.where("id", "=", opinionInfo.getId()));
ProcessInstance instance = dao.fetch(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "=", opinionInfo.getId()));
Dict dict = FlowUtil.variableToDict(instance.getVariable());