JEPaaS 社区

 找回密码
 立即注册
JEPaaS低代码平台-官网
查看: 3591|回复: 0

工作流自定义启动

[复制链接]

1

主题

1

帖子

16

积分

凯特员工

积分
16
发表于 2021-6-30 13:08:53 | 显示全部楼层 |阅读模式
启动是流程走到第一个节点,发起是流程跳过第一个申请节点,走到第二个节点
通过接口发起流程
  1. /**
  2.      * 发起
  3.      * userId 用户id
  4.      * id 业务bean主键id
  5.      */
  6.     @RequestMapping(value = "sponsorProcess", method = RequestMethod.POST, produces = "application/json; charset=utf-8")
  7.     public BaseRespResult sponsorProcess(String userId, String id) {
  8.         //查找表单数据
  9.         DynaBean bean = metaService.selectOneByPk(TABLE_CODE, id);
  10.         if (bean == null) {
  11.             return BaseRespResult.errorResult("未找到记录!");
  12.         }

  13.         if (!"NOSTATUS".equals(bean.getStr("SY_AUDFLAG"))) {
  14.             return BaseRespResult.errorResult("流程已发起!");
  15.         }

  16.         //封装流程发起对象
  17.         TaskSubmitInfo taskInfo = new TaskSubmitInfo();
  18.         //设置主键
  19.         taskInfo.setBeanId(id);
  20.         //提交动作,默认 to_submit
  21.         taskInfo.setSubmitType("to_submit");
  22.         //提交意见
  23.         taskInfo.setSubmitComments("提交工单");
  24.         //默认为[]
  25.         taskInfo.setCommentDetails("[]");
  26.         //发起的节点名称,也就是第二个节点
  27.         taskInfo.setTargerTaskName("客服人员");

  28.         //根据工作流引擎中,流程key,查询当前流程版本pdid  taskInfo.setPdid("kehugongdan_20112516-1");
  29.         List<Map<String, Object>> maps = metaService.selectSql("SELECT STRINGVAL_ from jbpm4_deployprop where  OBJNAME_='kehugongdan_20112516' and key_ = 'pdid'");
  30.         Object stringval;
  31.         if (maps == null || maps.isEmpty() || (stringval = maps.get(0).get("STRINGVAL_")) == null) {
  32.             return BaseRespResult.errorResult("流程版本信息查找失败!");
  33.         }
  34.         taskInfo.setPdid(String.valueOf(stringval));

  35.         //流程下一步的人信息
  36.         StringBuilder assigeeId = new StringBuilder();
  37.         StringBuilder assigeeCode = new StringBuilder();
  38.         StringBuilder assigeeName = new StringBuilder();
  39.         // 查询角色下所有人
  40.         List<DynaBean> users = buildRoleUser();
  41.         if (users.isEmpty()) {
  42.             return BaseRespResult.errorResult("未找到客服人员!");
  43.         }
  44.         for (DynaBean user : users) {
  45.             assigeeId.append(user.getStr("USERID")).append(",");
  46.             assigeeCode.append(user.getStr("USERCODE")).append(",");
  47.             assigeeName.append(user.getStr("USERCODE")).append(",");
  48.         }
  49.         assigeeId.setLength(assigeeId.length() - 1);
  50.         assigeeCode.setLength(assigeeCode.length() - 1);
  51.         assigeeName.setLength(assigeeName.length() - 1);
  52.         taskInfo.setAssigeeId(assigeeId.toString());
  53.         taskInfo.setAssigeeCode(assigeeCode.toString());
  54.         taskInfo.setAssigeeName(assigeeName.toString());

  55.         //模拟流程发起,调用doSponsor方法发起流程
  56.         JSONObject returnObj = new JSONObject();
  57.         wfProcessManager.doSponsor(taskInfo, taskInfo.getBeanId(), SecurityUserHolder.getCurrentUser(), returnObj, true);
  58.         if (returnObj.containsKey("error")) {
  59.             return BaseRespResult.errorResult(returnObj.getString("error"));
  60.         }

  61.         return BaseRespResult.successResult("发起成功");
  62.     }

  63.     /**
  64.      * 查找客户角色人
  65.      * 这里是写死的一个角色code去获取角色中的人员,如果想动态获取需要手动解析流程示例,
  66.      * 根据流程key查询JE_CORE_PROCESSINFO这张表中的PROCESSINFO_TASKJSON字段信息,该字段信息是json字符串,里      * 面的assgineConfig字段是处理人信息
  67.      */
  68.     private List<DynaBean> buildRoleUser() {
  69.         //TODO 查询角色下所有人
  70.         return metaService.select("JE_CORE_ENDUSER", ConditionsWrapper.builder()
  71.                 .like("ROLECODES", "ROLE_2020110518")
  72.                 .eq("VALID", "1")
  73.                 .eq("ZHID", ZH_ID)
  74.         );
  75.     }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|JEPaaS 低代码平台社区 ( 京ICP备18023569号 )

GMT+8, 2024-5-3 13:48 , Processed in 0.059585 second(s), 20 queries .

Powered by 北京凯特伟业科技有限公司

Copyright © 2001-2021, JEPaaS.COM

快速回复 返回顶部 返回列表