diff --git a/src/main/java/com/budwk/app/flow/service/FlowCommonService.java b/src/main/java/com/budwk/app/flow/service/FlowCommonService.java index be850116..d343378a 100644 --- a/src/main/java/com/budwk/app/flow/service/FlowCommonService.java +++ b/src/main/java/com/budwk/app/flow/service/FlowCommonService.java @@ -11,6 +11,7 @@ import com.budwk.app.flow.engine.event.ProcessPublisher; import com.budwk.app.flow.entity.ProcessInstance; import com.budwk.app.flow.entity.ProcessTask; import com.budwk.app.flow.enums.*; +import com.budwk.app.sys.views.View_user; import com.budwk.app.web.commons.auth.utils.SecurityUtil; import org.nutz.aop.interceptor.ioc.TransAop; import org.nutz.dao.Chain; @@ -36,6 +37,7 @@ public class FlowCommonService { * 执行任务 * @param args */ + @Aop(TransAop.READ_COMMITTED) public void executeTask(Dict args){ Long processTaskId = args.getLong(FlowConst.PROCESS_TASK_ID_KEY); @@ -61,12 +63,16 @@ public class FlowCommonService { args.put(FlowConst.SUBMIT_TYPE, submitType); - // 设置办理人信息到表单参数 + View_user currentUser = dao.fetch(View_user.class, Cnd.where("id", "=", SecurityUtil.getUserId())); + + // 设置办理人信息到流程表单变量,供审批记录、导出模板等场景读取。 + // tf_unitId/tf_unionId 保存组织 ID;tf_unitName/tf_unionName 保存对应的展示名称。 args.put(FlowConst.TASK_FORM_DATA_PREFIX + "userName", SecurityUtil.getUserUsername()); args.put(FlowConst.TASK_FORM_DATA_PREFIX + "loginName", SecurityUtil.getUserLoginname()); args.put(FlowConst.TASK_FORM_DATA_PREFIX + "unitId", SecurityUtil.getUnitId()); - args.put(FlowConst.TASK_FORM_DATA_PREFIX + "unitName", SecurityUtil.getUnitId()); + args.put(FlowConst.TASK_FORM_DATA_PREFIX + "unitName", currentUser == null ? "" : currentUser.getUnitName()); args.put(FlowConst.TASK_FORM_DATA_PREFIX + "unionId", SecurityUtil.getUnionId()); + args.put(FlowConst.TASK_FORM_DATA_PREFIX + "unionName", currentUser == null ? "" : currentUser.getUnionName()); if (ObjectUtil.equals(submitType, ProcessSubmitTypeEnum.ROLLBACK.getCode())) { // 退回上一个节点 diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalSecondedController.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalSecondedController.java index 68a77300..349fded1 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalSecondedController.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalSecondedController.java @@ -129,6 +129,36 @@ public class ProposalSecondedController { return Result.success(pagination); } + /** + * 统计当前登录人受邀附议待办数量。 + * + * @param sessionId 教代会届次 ID,传空时统计当前登录人的全部受邀附议待办;传值时只统计该届次下的待附议数据 + * @return Integer,表示当前登录人在受邀附议节点中尚未办理的任务数量 + */ + @At + @SaCheckPermission(value = {"proposal.seconded", "h5.proposal.seconded"}, mode = SaMode.OR) + public Result todoCount(@Param("sessionId") String sessionId) { + Sql sql = Sqls.create(""" + SELECT COUNT(DISTINCT t.id) + FROM wf_process_task t + LEFT JOIN wf_process_instance ins ON ins.id = t.processInstanceId + LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id + LEFT JOIN proposal_info info ON info.id = ins.businessNo + $condition + """); + Cnd cnd = Cnd.NEW(); + cnd.and("t.taskName", "=", "second"); + cnd.and("t.taskState", "=", ProcessTaskStateEnum.DOING.getCode()); + cnd.andEX("info.sessionId", "=", sessionId); + + if (!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())) { + cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId())); + } + + sql.setCondition(cnd); + return Result.success(baseService.count(sql)); + } + @At @SaCheckPermission(value = {"proposal.seconded", "h5.proposal.seconded"}, mode = SaMode.OR) @Aop(TransAop.READ_COMMITTED) diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/impl/ProposalExportServiceImpl.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/impl/ProposalExportServiceImpl.java index d3d369e6..8264bc23 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/impl/ProposalExportServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/impl/ProposalExportServiceImpl.java @@ -221,13 +221,13 @@ public class ProposalExportServiceImpl extends BaseServiceImpl imp exportEntities.add(new ExcelExportEntity("提案编号", "code", 20)); exportEntities.add(new ExcelExportEntity("提案名称", "name", 20)); exportEntities.add(new ExcelExportEntity("提案案由", "brief", 40)); - exportEntities.add(new ExcelExportEntity("代表调研情况", "researchFindings", 40)); +// exportEntities.add(new ExcelExportEntity("代表调研情况", "researchFindings", 40)); exportEntities.add(new ExcelExportEntity("代表建议措施", "measures", 40)); exportEntities.add(new ExcelExportEntity("提案人", "createUserName", 20)); exportEntities.add(new ExcelExportEntity("提案人电话", "mobile", 20)); exportEntities.add(new ExcelExportEntity("附议人(两名)", "secondedUserNames", 20)); exportEntities.add(new ExcelExportEntity("提案单位", "unitName", 20)); - exportEntities.add(new ExcelExportEntity("拟交办单位", "", 20)); +// exportEntities.add(new ExcelExportEntity("拟交办单位", "", 20)); Teacher_congress_session session = dao().fetch(Teacher_congress_session.class, pageForm.getSessionId()); String title = StrUtil.format("{}第{}{}教代会提案征集汇总表", Globals.AppName, session.getJ(), session.getC()); @@ -263,8 +263,7 @@ public class ProposalExportServiceImpl extends BaseServiceImpl imp exportEntities.add(new ExcelExportEntity("提案人", "createUserName", 20)); exportEntities.add(new ExcelExportEntity("附议人", "secondedUserNames", 40)); exportEntities.add(new ExcelExportEntity("立案结果", "caseFilingResultName", 20)); - exportEntities.add(new ExcelExportEntity("主办单位", "masterUnderTakeName", 20)); - exportEntities.add(new ExcelExportEntity("协办单位", "slaveUnderTakeNamesStr", 30)); + exportEntities.add(new ExcelExportEntity("承办单位", "masterUnderTakeName", 20)); exportEntities.add(new ExcelExportEntity("承办单位答复", "masterUnderTakeReply", 30)); exportEntities.add(new ExcelExportEntity("备注", "remark", 30)); exportEntities.add(new ExcelExportEntity("提案状态", "processInstanceNodeName", 20)); @@ -293,8 +292,7 @@ public class ProposalExportServiceImpl extends BaseServiceImpl imp exportEntities.add(new ExcelExportEntity("提案状态", "processInstanceNodeName", 20)); } exportEntities.add(new ExcelExportEntity("立案结果", "caseFilingResultName", 20)); - exportEntities.add(new ExcelExportEntity("主办单位", "masterUnderTakeName", 20)); - exportEntities.add(new ExcelExportEntity("协办单位", "slaveUnderTakeNames", 30)); + exportEntities.add(new ExcelExportEntity("承办单位", "masterUnderTakeName", 20)); ExportParams exportParams = new ExportParams(); exportParams.setType(ExcelType.XSSF); return ExcelExportUtil.exportExcel(exportParams, exportEntities, list); diff --git a/src/main/resources/views/platform/zhgh/democratic/proposal/common/info.js b/src/main/resources/views/platform/zhgh/democratic/proposal/common/info.js index 6bc929f4..167b1509 100644 --- a/src/main/resources/views/platform/zhgh/democratic/proposal/common/info.js +++ b/src/main/resources/views/platform/zhgh/democratic/proposal/common/info.js @@ -188,9 +188,7 @@ const PROPOSAL_INFO = { - {{task.ext.tf_masterUnitName}} - - {{task?.ext?.tf_slaveUnitNameStr}} + {{task.ext.tf_masterUnitName}}
diff --git a/src/main/resources/views/platform/zhgh/democratic/proposal/export/comprehensive/index.html b/src/main/resources/views/platform/zhgh/democratic/proposal/export/comprehensive/index.html index 1be33e7a..b1455e15 100644 --- a/src/main/resources/views/platform/zhgh/democratic/proposal/export/comprehensive/index.html +++ b/src/main/resources/views/platform/zhgh/democratic/proposal/export/comprehensive/index.html @@ -203,8 +203,7 @@ layout("/layouts/platform.html"){ {label: "是否并案", prop: "merge"}, {label: "案由", prop: "brief", visible: false}, {label: "建议措施", prop: "measures", visible: false}, - {label: "主办单位", prop: "masterUnitName"}, - {label: "协办单位", prop: "slaveUnitNames"}, + {label: "承办单位", prop: "masterUnitName"}, {label: "当前节点", prop: "curTaskName"}, {label: "流程状态", prop: "instanceState"} ] diff --git a/src/main/resources/views/platform/zhgh/democratic/proposal/query/comprehensive/index.html b/src/main/resources/views/platform/zhgh/democratic/proposal/query/comprehensive/index.html index 6d41f36c..984199f6 100644 --- a/src/main/resources/views/platform/zhgh/democratic/proposal/query/comprehensive/index.html +++ b/src/main/resources/views/platform/zhgh/democratic/proposal/query/comprehensive/index.html @@ -260,8 +260,7 @@ layout("/layouts/platform.html"){ {label: "立案结果", prop: "caseFilingResult"}, {label: "立案类型", prop: "caseFilingType"}, {label: "是否并案", prop: "merge"}, - {label: "主办单位", prop: "masterUnitName"}, - {label: "协办单位", prop: "slaveUnitNames"}, + {label: "承办单位", prop: "masterUnitName"}, {label: "当前节点", prop: "curTaskName"}, {label: "流程状态", prop: "instanceState"} ], diff --git a/src/main/resources/views/platform/zhgh/democratic/proposal/query/history/index.html b/src/main/resources/views/platform/zhgh/democratic/proposal/query/history/index.html index c1a1ae7b..2c6c4efb 100644 --- a/src/main/resources/views/platform/zhgh/democratic/proposal/query/history/index.html +++ b/src/main/resources/views/platform/zhgh/democratic/proposal/query/history/index.html @@ -116,8 +116,7 @@ layout("/layouts/platform.html"){ 否 - - + - - + - {{ task.ext.tf_masterUnitName }} - {{ task?.ext?.tf_slaveUnitNameStr }} + {{ task.ext.tf_masterUnitName }} diff --git a/src/main/resources/views/platform/zhghh5/democratic/proposal/transact/seconded/index.html b/src/main/resources/views/platform/zhghh5/democratic/proposal/transact/seconded/index.html index e4b019f0..6d61d091 100644 --- a/src/main/resources/views/platform/zhghh5/democratic/proposal/transact/seconded/index.html +++ b/src/main/resources/views/platform/zhghh5/democratic/proposal/transact/seconded/index.html @@ -24,8 +24,15 @@ layout("/layouts/platform_h5.html"){ - + + + @@ -82,6 +89,25 @@ layout("/layouts/platform_h5.html"){ +