Giter Club home page Giter Club logo

Comments (9)

blackholll avatar blackholll commented on June 9, 2024

目前定时器的场景是: 如果配置流转的时候设置了定时器,那么到达定时器的时间 状态还没变化(也就是没人处理),那么会自动流转到下个状态。 你可以在下个状态设置为处理人类型是脚本。如果需要将执行结果保存到工单中,可以在脚本中调用loonflow的service里面的方法修改工单字段的值
不过看你的配置好像是需要正常情况下TL审批,如果TL一直不审批,才执行脚本。
可以说下你需要执行的脚本是做什么操作?

from loonflow.

yslhzj avatar yslhzj commented on June 9, 2024

场景如下:
1.请假的工单创建者(user01) ,在创建工单时在表单中提供了一个身份证信息
2. 脚本需要根据身份证信息在其他HR系统中查询是否满足10年的工作年限.
3.将脚本执行的结果,传到下一个流程节点(即leader01),为他提供决策参考信息.

from loonflow.

blackholll avatar blackholll commented on June 9, 2024

那就直接在“新建中” 和TL审批中加个状态如”获取设备信息“,这个状态的处理人类型是脚本。
注意需要下个节点看到这些信息,有两种方式:
1.直接脚本中print结果, 这个会在工单流转记录ticket_flow_log中记录
2.脚本调用loonflow的service里面的方法修改工单字段的值。 在tl审批中这个状态下把这些字段显示出来

from loonflow.

yslhzj avatar yslhzj commented on June 9, 2024

场景流程如下:
image

您看我的理解对吗?
1. “新建中” 和"TL审批中" 之间增加"”获取设备信息“" 获取工作年限
image

2.上传"get_year_info"python脚本,并记录脚本的ID号

image

3.在"获取工作年限"中,脚本"参与人类型"为"脚本" 同时指定"参与人"为4 (即为上传脚本的ID值)

image

4. 下一步还需要做什么吗?

from loonflow.

blackholll avatar blackholll commented on June 9, 2024

贴下你现在的流程图

from loonflow.

yslhzj avatar yslhzj commented on June 9, 2024

场景流程如下:
image

您看我的理解对吗?
1. “新建中” 和"TL审批中" 之间增加"”获取设备信息“" 获取工作年限
image

2.上传"get_year_info"python脚本,并记录脚本的ID号

image

3.在"获取工作年限"中,脚本"参与人类型"为"脚本" 同时指定"参与人"为4 (即为上传脚本的ID值)

image

4. 下一步还需要做什么吗?

对需求做了重起梳理,如上所示.

from loonflow.

blackholll avatar blackholll commented on June 9, 2024

1: 你可以通过条件表达式实现区分流程。 也可以在脚本里面做下兼容(<30直接return就好了)
2. 可以脚本里面直接print, print的内容会出现在flow_log中, 也可以在脚本中调用loonflow的service里面有个更新工单字段的方法来将的获取到的内容更新到对应的字段中去
条件流转如下(目前自动生成的流程图没显示条件流转的情况,但是使用上应该没问题,后续我优化下)
WX20190430-155145@2x

from loonflow.

blackholll avatar blackholll commented on June 9, 2024

可以在你的脚本中通过此方法更新工单的字段

from service.ticket.ticket_base_service import TicketBaseService

update_dict={'a':1,'b':2}
TicketBaseService.update_ticket_custom_field(ticket_id, update_dict)

from loonflow.

yslhzj avatar yslhzj commented on June 9, 2024

之前流程所示,"获取工作年限"的节点是断, 在此有两个困惑点:(与blackholl沟通后整理如下)

1. 这个获取年限的节点 并不是每个人申请年假时都存在的,比如说,只有申请者年龄>30岁时才会走这个节点

blackholl:

配置流转的时候 有个条件表达式 在里面写上表达式有提示的 , 按照提示来填写条件表达式,不过你在脚本里面兼容下就可以了,
image

blackholl:

那你就直接写一个脚本里面好了。 脚本逻辑如下:
1.获取用户年龄
2. 当年龄大于30 再去获取工作年限,然后将结果通过service方法写到工单里面去。 当年龄小于30 直接return就好了

**yslhzj :**这个"service方法" 是什么?

blackholl:

image

image

image

yslhzj : 如下理解对吗?

image

blackholl:

不要在脚本中更新工单的状态。脚本执行完成后loonflow会实现状态流转

yslhzj :

"loonflow会实现状态流转" 是指按照之前定义的流程图 流转 对吗?
如果是这样,我拿到返回值后做逻辑判断后, 怎么把这个结果反馈到下一个 节点中呢?

blackholl:
image

2.在哪获取这个脚本的返回值,并通过什么方式传到下一个节点?(是类似于通知功能中的golbals()的方式传递参数吗?)

image
里面的 action_form有什么用?

blackholl:

默认action_from 是loonflowrobot。 但是如果脚本执行失败了, 允许用户在界面上点击重试,那么这个action_from就是xxxx_retry了
你需要具体什么结果返回给下个节点? 脚本中更新了工单的字段, 下个节点不就可以获取到了么

yslhzj :

你的意思是不是说我只要把脚本执行完以后,它会自动把脚本所执行的结果传下一个节点吗?因为我上面的那个截图,脚本处理的返回结果,并根据结果做出逻辑判断以后,通过你的update的方法更新到那个下一个节点,当时我看你的回复是说,不要通过update那个方法来更新,然而,刚刚说“脚本更新了工单的字段”所以这会儿我就有点困惑了。

blackholl:

脚本中更新字段建议只限于: 自定义字段
你可以通过脚本更新 工作年限这个字段啊
工单状态不要更新
脚本执行完后 工单的状态自己会变到下个状态。 所以不要在脚本中更新工单的状态id
yslhzj : ###
也就是说,通过update方法更新的是自定义的字段,对吗?更新后的字段会自动传入下一个节点?

blackholl:

何为传入下个节点?
字段更新后, 以后获取这个字段都有值了
你的传入 是啥意思
没有传递的动作

yslhzj :

理解成 更新了一下原来自定义字段的值 是吗?

blackholl:

是的.

from loonflow.

Related Issues (20)

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.