惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Securelist
O
OpenAI News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threat Research - Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Google Online Security Blog
Google Online Security Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
News and Events Feed by Topic
S
Security Affairs
SecWiki News
SecWiki News
Project Zero
Project Zero
L
Lohrmann on Cybersecurity
P
Proofpoint News Feed
P
Palo Alto Networks Blog
L
LINUX DO - 最新话题
H
Hacker News: Front Page
Recent Commits to openclaw:main
Recent Commits to openclaw:main
I
Intezer
Simon Willison's Weblog
Simon Willison's Weblog
W
WeLiveSecurity
T
The Exploit Database - CXSecurity.com
K
Kaspersky official blog
The GitHub Blog
The GitHub Blog
I
InfoQ
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
B
Blog
IT之家
IT之家
AWS News Blog
AWS News Blog
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Google DeepMind News
Google DeepMind News
Spread Privacy
Spread Privacy
N
News and Events Feed by Topic
Security Latest
Security Latest
美团技术团队
C
Check Point Blog
WordPress大学
WordPress大学
T
Tenable Blog
S
Security @ Cisco Blogs
Last Week in AI
Last Week in AI
博客园 - 聂微东
月光博客
月光博客
博客园 - 【当耐特】
S
Schneier on Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Secure Thoughts
Schneier on Security
Schneier on Security
C
Cisco Blogs
Cyberwarzone
Cyberwarzone

博客园 - ScottX

(7)ESP32 Python 使用看门狗 脱坑HC-SR04 (6)ESP32+Python 做一个超声波探测器 (5)ESP32+Python使用Socket传输播放Bad Apple (4)ESP32 Python 用OLED播放Bad Apple (3)ESP32 Python 制作一个办公室温度计 (2)用Micropython将ESP32数据上云 (1)Micropython+ESP32 点亮一个LED [爱偷懒的程序员系列]-Section 4. 自定义钉钉消息推送 [爱偷懒的程序员系列]-Section 3. 链接钉钉审批流 [爱偷懒的程序员系列]-Section 1. “懒”是一切需求的根源 回来了回来了,失踪人口回归 ADF 入门帮助 [Java]Java分层概念(转) Scurm 术语 关于敏捷的几个概念 数据迁移测试方法【转】 【转载】工作流模式与K2实现--(2) 【转载】工作流模式与K2实现--(1) 【转载】 K2 blackpearl 中的业务规则(Rules)
[爱偷懒的程序员系列]-Section 2. 从改变钉钉审批开始
ScottX · 2022-01-15 · via 博客园 - ScottX

公司最早的钉钉流程的表单设定,流程设定因为最早是由IT部门进行的创建。我们经常会遇到的一个问题是,有的申请人在流程审批表单当中填写错误或者审批人发现申请人填写错误后。其往往不会从自己身上找填写的原因,往往会直接把问题提交到IT部门。而IT部门的同事往往会根据用户的描述,在钉钉后台当中去检查填写的内容是否正确,并再给双方进行反馈。
这里,整理了几个常见的问题。
• “为什么表单填写的内容都不正确就提交了呢?”
• “为什们审批人没有通过我的申请呢?是我的模版表格使用的不正确么?(通常经过我们检查后发现确实有模版乱使用的情况)?正确的模版是哪一个呀?”
• “我用的模版是XXX提供给我的,我不知道是错误的?”
• “为什么之前的审批人都没有发现问题?”
由于这样的问题层出不穷,并且随着业务不断的扩展,不同的表单陆续被上线,这类似的问题越来越多。IT部门的大部分时间被占用在“来找茬”方面。
面对这个问题,冷静下来分析,造成这种情况无非是在整体流程中有太多的“人”这样的变量加入到了流程当中。而人的因素也是不稳定的,所以,有没有什么办法能够彻底解决这个问题呢?
按图索骥,我们对这种情况再次进行了分析,发现只要解决下面的问题基本就能把这个issues解决掉。

  1. 如果流程填写的问题,尽量在审批人之前进行告知和反馈是最好的。因为申请人自己填写错误的话,他是愿意进行修改,且不被审批人知道是最好的。
  2. 针对通用附件模版的版本管理,这个在很多公司不太好处理。从最初版本的模版被不同的人填写后,按照国内用户的习惯。要找模版大概率是去问同事,而不是去标准模版库下载最新模版。提供一个模版内容检测的功能,且能和申请人进行交互。
  3. 在流程当中,审批人的在业务核心上进行审批的大概率是“这个申请要不要通过,是否符合业务逻辑”(概念性审批),而申请表单上的标准一定都会有一个固定的逻辑标准来进行验证(逻辑性审批)。那我们可以帮审批人进行逻辑标准审批,审批人仅进行概念性审批。通俗的讲就是我们通过一种方式将需要套逻辑公式的逻辑性审批进行一次,并将审批结果呈现给审批人。由审批人根据这个参考再进行概念性审批。
    改进之前,一个标准的常见流程如下:

image

大部分的流程通常会在一级审批人处陷入流程死循环,即,一级审批人作为审批流程的开始,通常会负责源头把关的作用。如果发现填写错误,往往都是直接附上简单的驳回原因后就对流程进行打回。而申请人有时候根本无法理解具体哪里错了。所以在这个阶段往往会重复很多次。
结合在之前我们想到的解决方案,我们对流程图进行小小的改进。

image

在改进流程当中,我们套入了1个预审批节点,并让预审批节点去载入3个广义范围的判断条件集和。

  1. 是否满足逻辑性审批条件
  2. 是否满足标准模版性条件
  3. 预警提示映射条件
    其中,是否满足逻辑性审批条件是指:
    在表单当中,必要的必须遵照逻辑规则的条件,可以是与其他业务系统进行数据关联后的逻辑验证。如,是否超出信用值申请;所填写的地址是否能够被其他系统解析(如填写的客户名称是否是收录在库的)。这类条件有明确的YES/NO标准,通过这类条件,如果申请人填写的是有错误,则能够直接明确的告诉申请人具体的错误信息。(如客户并不在客户池当中)
    是否满足标准模版性条件是指:
    若流程涉及到复杂的EXCEL附件表单,表单的sheet是否完整;sheet当中的列有没有被改变(通常列数和列的名字被改动后均认为该模版已经被篡改);每行当中需要填写如数字的地方是否填写成了字符。(如某些列必须填写成X位的编码)
    若该条件发生拒绝,机器人也能直接在驳回附言当中明确告诉申请人具体哪一行填写错误,若附件模版使用错误,应该在哪里去获取最新的模版。
    预警提示条件是指:
    若满足了这类条件,不一定需要驳回请求,但是需要让后续审批人知晓该情况。 如以品牌方的发样申请当中,一个EXCEL附件当中可能会包含上百个地址。某些地址是无法发快递的,审批人也不可能对这么多地址进行检查。所以我的预警条件将会根据不发快递的条件去遍历每一行,并在通过附言当中提示“该请求总共XXX个地址,其中风险地址XXX个”。再或者需要给审批人提示申请人自身或该部门已经在特定时间周期内,申请了多少次。
    回头一看,上面的设计应该可以支撑困扰我们多时是问题。下一步就是需要如何去完成这件看起来“有点自动”的事情了。