工位派发重构方案

需求背景

流程系统中每个人工处理环节都应该分配一个相应的处理工位/人员。多个环节可能还会复用同一个工位/人员。工位/人员的选择规则分家客和集客,集客选择工位通过决策表,然后通过用户签收指派到人,家客选择工位通过指定,然后通过系统计算派发到个人。

现状

  1. 目前新业务开通工位派发只完成了集客部分的功能,家客工位派发还没有支持。
  2. 集客的工位决策表目前通过用户收集,DB导入的方式。
  3. 开发人员需要在流程定义为每个人工环节配置工位派发监听。

重构涉及的改动

为了适应家客工位/人员派发需要对现有工位派发逻辑进行重构。
重构功能点:

  • 将工位派发监听修改为全局监听
    监听类实现com.ccssoft.smartflow.engine.ext.GlobalTaskListener接口,并且声明为Spring bean则所有人工环节会进入监听中。
    该功能由于测试存在问题暂时还无法生效!目前仍需每个环节设置监听。
  • 逻辑考虑工位复用和家客逻辑
    工位派发流程图调整为:
    内嵌式子流程收缩
    提供家客和集客工位派发的接口,由开发人员实现接口处理家客和集客的工位派发。
    工位复用逻辑:
    通过配置表配置环节是否复用上一次派发的工位,目前只有家客存在复用工位情况,家客工位派发完成后会将派发的信息记录到流程变量中,如果环节需要复用上次派发的工位则从流程变量中获取工位派发。
  • 工位决策录入开发页面工具
    工位决策支持默认生成excel,将excel派发到各个分公司收集工位,然后再通过导入功能将收集到的数据导入到系统。系统刷新工位,工位数据生效。导入前做数据校验。
    Excel生成可以通过指定流程定义文件,自动解析出人工环节。
    Excel生成可以指定决策表中所有决策数据的枚举值。
    Excel生成自动根据每行的枚举值生成一个默认工位信息。