请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

如下请假流程中“发起请假”节点需要普通员工填写相关数据如何处理【急盼回复】

汪老师好!

如下请假流程的第一个节点“发起请假”,就是说普通员工,比如说 我是 张三,我要发起请假流程,我希望发起流程时,弹出页面,然后我在上面 填写 请假天数,请假的事由,上传请假附件的凭证 等。根据我们前端学到的知识,需要用到动态表单,这个我知道。

我现在的问题是:我们目前象的任何任务节点 都是 执行人 或 候选人 才能 操作 处理任务节点,并且任务节点上要 配置好 执行人 或 候选人。 比如说我是当前请假人 bajie, 我现在需要请假,经理审核任务节点的执行人是 shaseng, 部门经理审核的执行人是 tangseng,人事审核的执行人是salaboy。

我现在希望的是 当前请假人 bajie 发起请假流程后,弹出动态表单,bajie在上面填写相关的信息,然后 就直接到 经理审核的任务节点 shaseng了,但是我们现在 @GetMapping(value = “/completeTask”) 完成待办任务的方法,发起请假 的节点 只能 这个节点填写的 执行人 才能发起动态表单 来填写 请假天数,请假的事由,上传请假附件的凭证 等,不能是 非执行人 或 非候选人 来弹出 请假流程的? 比如说 请假人的天数,显然也是要发起人 在 申请页面上 要进行填写的,不然,后面变量判断时也不知道 当时 申请人 填写的原始数据,对吧,汪老师。

具体如下所示

图片描述
图片描述

完成待办任务

@GetMapping(value = “/completeTask”)
public AjaxResponse completeTask(@RequestParam(“taskID”) String taskID) {

    try {

        Task task = taskRuntime.task(taskID);

        //如果当前登录人不是执行人,则当前登录人一定是候选人,先拾取任务后,再执行就好
        if (task.getAssignee() == null) {
            //当前登录人作为候选人 先拾取任务
            taskRuntime.claim(TaskPayloadBuilder.claim().withTaskId(task.getId()).build());
        }

        //if...else... 判断 有任务参数 和 没有任务参数 两种情况
        //这里写死处理演示功能,实际情况是要取 发起人填写请假页面的天数

// Map<String,Object> variablesMap = new HashMap<String,Object>();
// variablesMap.put(“variable”,2);

        //有参数

// taskRuntime.complete(TaskPayloadBuilder.complete().withTaskId(task.getId())
// .withVariables(variablesMap)//执行环节设置变量
// .build());

        //无参数
        taskRuntime.complete(TaskPayloadBuilder.complete().withTaskId(task.getId())
                     .build());

        return AjaxResponse.AjaxData(GlobalConfig.ResponseCode.SUCCESS.getCode(),
                GlobalConfig.ResponseCode.SUCCESS.getDesc(), null);
    } catch (Exception e) {
        return AjaxResponse.AjaxData(GlobalConfig.ResponseCode.ERROR.getCode(),
                "完成失败", e.toString());
    }
}

正在回答 回答被采纳积分+3

1回答

汪汪对 2023-02-27 11:06:35

问题大概看懂了,第一步候选人用变量,启动的时候,谁启动,当前用户变成实际候选人,行不行呢?

有问题可以继续追问。

0 回复 有任何疑惑可以回复我~
  • 提问者 网络时空 #1
    汪老师好,我其实想的问题是。 对于 申请流程发起人填写的那些 信息页面,是要在 启动 工作流 之前的业务页面 填写,还是在 启动 工作流 之后 在任务 节点 填写那些 申请信息呢? 比如说 请假天数,请假事由,请时间范围,上传附件 等内容,我是感觉要在  启动 工作流之前,需要在 静态表单页面 上填写完成后保存到数据库中,然后再启动 工作流,然后 再在 工作流任务节点中 使用 我们通过 静态表单页面 保存到 数据库中的信息。 汪老师,你的理解呢?
    回复 有任何疑惑可以回复我~ 2023-02-27 20:28:08
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信