Giter Club home page Giter Club logo

loonflow's People

Contributors

abigaleypc avatar blackholll avatar caoqianming avatar children1987 avatar dependabot[bot] avatar jakliao avatar jy-lab avatar learn0208 avatar ozhuxino avatar raykuan avatar supermanwzz avatar wiswang avatar yangwe1 avatar youshutong2080 avatar zengshuaishuai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

loonflow's Issues

celery

请问这个redis是给celery用的嘛,可以换mysql嘛

如何判断一个审批已完成

1、当一个流程到“结束状态”的时候,是否就结束了?
2、如何知道一个流程已经结束了。判断steps?
3、trainsition里如果该流程是结束状态,则返回code=-1。我怎么判断这个-1是结束状态的-1,还是异常返回的?

启动的时候提示:WARNINGS:

WARNINGS:
?: (urls.W002) Your URL pattern '/int:ticket_id' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/int:ticket_id/accept' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/int:ticket_id/add_node' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/int:ticket_id/add_node_end' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/int:ticket_id/comments' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/int:ticket_id/deliver' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/int:ticket_id/fields' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/int:ticket_id/flowlogs' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/int:ticket_id/flowsteps' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/int:ticket_id/retry_script' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/int:ticket_id/state' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/int:ticket_id/transitions' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/int:workflow_id/init_state' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/int:workflow_id/states' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/states' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.
?: (urls.W002) Your URL pattern '/states/int:state_id' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure the include() pattern has a trailing '/'.

通知脚本模板

请问通知的脚本,也是demo_script那个样子么?没有提供模板

工作流的回退没有正常显示

工作流的回退,后台正常停止流转,但是前端的待办中的详情里面的进度条和内容却一直进行下去,没有显示回退到的那个界面信息

mac下执行celery命令报错

执行 : celery -A tasks worker -l info -Q loonflow
报错:return self[key] KeyError: 'async'
通过升级 celery版本为4.1.1解决

关于工作流展示表单的问题

如果不填写任何字段,在调用工单详情接口,返回的field_list什么信息都没有。
如果填写其中一个自定义字段,则返回所有的字段信息。

关于上传功能

是否考虑增加一个上传功能,比如我需要上传一个log文件, 到当前处理人后,可以点击下载之后,下载到本地

希望增加工单评论功能

场景

工单在操作过程中,有些中间过程的结果需要添加到工单的评论中,工单相关的人可以查阅。

可能的实现方案

  • 预留 ticket_flow_log 的 intervene_type_id 4为评论
  • 还需要提供一个评论接口

关于工单改变了状态,保存的问题

我改了工单model的save,在post_save里面监听工单,发邮件给participant字段的人,发现邮件会发2遍,是不是save会做2遍?save2次才能完成一个工单的update

数据删除的建议

用model_utils的SoftDeletableModel,比每次查询都带上is_deleted好,兴许哪天忘记加了,就有bug了。

条件流转

  1. 请问怎么实现一个条件流转,拿请假流程为例,当请假天数小于等于三天时,只需要直属上级审批->结束;当请假天数大于三天时,就需要直属上级->hr部门审批->结束。
  2. 一开始我想在transition上配条件表达式,形如: {'expression':'{leave_days} > 3', 'target_state_id':4}, {'expression':'{leave_days} <= 3', 'target_state_id':3},分别配这样两条transition: 提交到hr和提交到直属上级,但是那样前端拿到的操作是这两个,让用户选择提交到哪个,不符合要求。

接单问题

当工单到工作组,组内所有成员都可以看到,A接单了,待处理人就是A,B接单了,待处理人就是B,那么后台进行设计的时候,这个字段是选个人还是变量?接单人的变量是什么?

关于系统的几个疑问

  1. 节点的主动接单和直接处理和随机分配,是不是都是节点如果需要多人审批的情况下,只需要一个人审批,即发生节点流转?主动节点和直接处理的区别在哪里?都不接单和都不处理,结果不是一样的?
  2. 对子工作流的概念和用法不是很清楚。
  3. 考虑这样一个应用场景:三方系统有四个节点,A,B, C,D。 要求每个点对点的流转后都要求不同的处理方式,例如:要求从A到B,和从C到B,要采用不同的处理方式。这样不同的处理,是不是就是要在通知脚本里,写if else来判断不同的流转采用不同的处理?因为同样也要保证三方系统的拓展性,而不能将这些不同的流转方式,在三方系统里写死。
    感谢!
  4. 节点配置的’状态标签‘:

image

不很清楚它的应用场景和使用方法。

新增工单后,调用接口查询工单详情,其中创建者信息creator_info在何时写入的?

1、’提交表单的时候,并没有提交创建者信息creator_info相关信息,是何时写入的?
2、用headers里的username?
3、如果同名同姓的人,如何正确获取工单相关信息。如何用id的,同步个人信息时如何确保人员能对应更新?
比如:在外部系统里,【userid=1000,username='张三'】【userid=1001,username='张三'】。同步到这个工作流引擎里,id是自动的,只同步了username字段。那更新时,同名同姓的如何同步更新?

想在显示工单详情页,同时显示该类型工单的流程情况和相关审批人

1、显示该工单流程情况——完成了哪些,目前处于哪个状态,哪些为完成。
由于工单详情接口返回了当前工单的状态id(state_id),未返回状态的排序order。在使用flask模板的时候,由于for循环的作用域问题,很难区分完成了哪些,未完成哪些。需要用order值进一步加以判断。希望能提供order
2、希望显示工作流的当前状态以及每个状态的处理人。已处理的显示时间,未处理的显示处理人。应该调用哪个接口?

custom field 支持附件类型

场景

工单应用场景中,经常需要上传一些附件,就像jira。上传附件是工单共有的功能。

实现方案

  • custom field 增加支持附件类型: FIELD_TYPE_ATTACHMENT = 80
  • 调用方负责上件的文件的存储, loonflow只保存路径
  • 代码中对FIELD_TYPE_ATTACHMENT的处理与富文本一致,有多个附件时,用逗号区分。

工单的数据统计该如何做

ticket_data = models.CharField('工单数据', max_length=10000, default='', blank=True, help_text='可以用于记录当前表单数据,json格式')

所有的工单产生的数据都存在json 字段中了, 那么字段统计的工作该怎么做
例如,定义了一个请假的流程,那么领导需要看本月总,平均,请假的时长该如何做?

处理工单后无法将当前处理人加入到关系人中

使用cls.add_ticket_relation(ticket_id, add_relation)更新工单联系人,但后续使用了之前的工单查询记录ticket_obj,保存后会覆盖cls.add_ticket_relation(ticket_id, add_relation)保存的值,需要在cls.add_ticket_relation(ticket_id, add_relation)更新工单联系人后,重新查询ticket表记录,然后更新其它的数据
image

工单创建,或者发生改变,有没有事件通知

工单的所有变化,希望能将事件推送到某个IP某个端口,方便做定制化;

比如推送到192.168.1.2:8000端口
,我会在192.168.1.2上监听8000,获取到推送的事件,解析后判断,做自动化执行脚本,或者推送微信消息,或者等等

节点变化的时候,如何通知三方调用系统

当节点流转的时候,如何通知三方调用系统,是在‘通知脚本’里写调用三方系统接口的代码, 然后三方系统收到调用后,再主动调loonflow的查询接口一次,以此来获取最新的状态流转。

流转配置的属性类型的疑问

对流转配置中这个字段:
image
感觉不太明白。
这个流转在业务上是个退回操作,但是这里也要配同意,这里配拒绝和其他的场景是什么呢?这个字段配置的意义是什么?

关于teamleader审批人的认定

比如总部时组织结构的根节点,下级部门A,还有子部门A1/A2,形如:
总部
部门A
部门A1
部门A11
部门A2
部门A21
有员工张三,隶属A11,那teamleader是哪个?是A11还是A1?
如果我设置A1有leader,A11没有leader可以么?是否此时,张三发起的审批teamleader就是A1的leader?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.