zoukankan      html  css  js  c++  java
  • CRM, C4C和Hybris的工作流简介

    CRM的例子

    Step by Step to debug IC inbox workflow WS14000164

    C4C

    Hybris

    Hybris workflow的框架实现代码在这个folder里:

    而应用层面使用的workflow,和ABAP workflow一样有所谓workflow template的概念。下图是ABAP workflow template的一个例子:

    Hybris workflow:

    也是通过impex定义的:

    impex 中包括 WorkflowTemplate, WorkflowActionTemplate, WorkflowDecisionTemplate, WorkflowActionTemplateLinkTemplateRelation 这四种类型的model

    1. 一个workflow至少有3三 种类型(start/normal/end)的 action

    2. 一个action最少有一种decision

    3. 一个decision 可以通过 WorkflowActionTemplateLinkTemplateRelation 链接到下一个action上 直到结束节点 end.

    创建workflow及触发decision:

    
    public void autoCreateWorkFlow(PrincipalModel principal, KeyInfoModel info) {
       validateParameterNotNull(principal, "principal model cannot be null");
    
       UserModel admin = userService.getUserForUID(ADMIN_CODE);
    
       WorkflowTemplateModel workflowTemplate = workflowTemplateService.getWorkflowTemplateForCode(workflowTemplateCode);
    
       //create a new workflow for given workflowtemplate
    
       final WorkflowModel workflow = workflowService.createWorkflow(workflowTemplate, admin);
    
       //add attachment for workflow
    
      final WorkflowItemAttachmentModel attachment = modelService.create(WorkflowItemAttachmentModel.class);
    
      AbstractOrderEntryModel orderEntry = info.getOrderEntry();
    
      attachment.setItem(info.getOrderEntry());
    
      attachment.setWorkflow(workflow);
    
      attachment.setCode(orderEntry.getPk()+"_OrderEntry");
    
      this.modelService.save(attachment);
    
      this.modelService.refresh(attachment);
    
      workflow.setAttachments(Collections.singletonList(attachment));
    
      workflowProcessingService.startWorkflow(workflow);
    
      this.autoDoStartDecision(workflow, admin);
    
    }
    
    

    要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

  • 相关阅读:
    [Docker] Windows 宿主环境下,共享或上传文件到容器的方法
    [Docker]
    [Docker]
    [Docker]
    [Windows]
    [Linux] 树莓派 4B 安装 Ubuntu 19.10 (Eoan Ermine) IOT 版
    [Linux]
    [.Net] 什么是线程安全的并发集合
    [IOT]
    c++库大全
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/8596223.html
Copyright © 2011-2022 走看看