找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2044|回复: 2

[求助] 新手练习求助:关于流程处理判断抽象数据处理

1

主题

1

帖子

1

积分

贫民

积分
1
hbird390 发表于 2019-5-25 14:16:44 | 显示全部楼层 |阅读模式
我在做流程应用分析,有两组数据需求处理,但不知道用什么方法处理,最好大神给一些示例。谢谢
--下面是我的流程图的节点列表,其中有一些条件指向多个节点,如N26

节点编号(不会严格按序号)  审批节点名称
N1 开始节点
N2 起草节点
N26 条件分支
N4 部门领导审批
N5 分管领导审批
N35 部门审批
N24 总经理
N30 条件分支
N44 人事行政审批
N47 条件分支
N33 营销负责人审批
N32 营销领导审批
N37 总经理审批
N46 酒店经理
N16 法务审核
N45 总经理审批
N39 公章、合同章盖章
N29 人工决策
N15 盖章
N3 结束节点
-----------下面是上面节点审批的顺序关系,如从N1(开始节点)到下一步,N2()
开始节点 下一节点
N1 N2
N2 N26
N26 N4
N26 N35
N26 N44
N4 N5
N5 N30
N35 N32
N24 N47
N30 N24
N30 N33
N44 N45
N47 N46
N47 N16
N33 N37
N32 N37
N37 N16
N46 N16
N16 N39
N45 N39
N39 N29
N29 N15
N29 N3
N15 N3
我想实现的是通过对数据排序或路径处理如何穷举得到每一条流程的处理路径,如
路径1:N1->N2->N26-.N4->N5->N30->N24->N47->N46->N16->N29->N3
路径2:N1->N2->N26-N35->N32.................
路径3:
再通过与最上面匹配得到中文的审批顺序。
谢谢



回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2019-5-27 16:22:42 | 显示全部楼层
networkx 里的all_simple_paths看看。
回复 支持 反对

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2019-5-28 15:46:44 | 显示全部楼层
本帖最后由 sheeboard 于 2019-5-28 15:48 编辑

参考
import networkx as nx

nodes={"N1":"开始节点",
     "N2":"起草节点",
     "N26":"条件分支",
     "N4":"部门领导审批",
     "N5":"分管领导审批",
     "N35":"部门审批",
     "N24":"总经理",
     "N30":"条件分支",
     "N44":"人事行政审批",
     "N47":"条件分支",
     "N33":"营销负责人审批",
     "N32":"营销领导审批",
     "N37":"总经理审批",
     "N46":"酒店经理",
     "N16":"法务审核",   
     "N45":"总经理审批",
     "N39":"公章、合同章盖章",
     "N29":"人工决策",
     "N15":"盖章",
     "N3":"结束节点"}
   
relation=[("N1","N2"),("N2","N26"),("N26","N4"),("N26","N35"),("N26","N44"),("N4","N5"),("N5","N30"),("N35","N32"),("N24","N47"),("N30","N24"),("N30","N33"),("N44","N45"),("N47","N46"),("N47","N16"),("N33","N37"),("N32","N37"),("N37","N16"),("N46","N16"),("N16","N39"),("N45","N39"),("N39","N29"),("N29","N15"),("N29","N3"),("N15","N3")]

G=nx.Graph()
G.add_edges_from(relation)

for path in nx.all_simple_paths(G,source='N1',target="N3"):
    result=[nodes.get(item,item) for item in path]
    print('->'.join(result))

结果
开始节点->起草节点->条件分支->部门领导审批->分管领导审批->条件分支->总经理->条件分支->酒店经理->法务审核->公章、合同章盖章->人工决策->盖章->结束节点
开始节点->起草节点->条件分支->部门领导审批->分管领导审批->条件分支->总经理->条件分支->酒店经理->法务审核->公章、合同章盖章->人工决策->结束节点
开始节点->起草节点->条件分支->部门领导审批->分管领导审批->条件分支->总经理->条件分支->法务审核->公章、合同章盖章->人工决策->盖章->结束节点
开始节点->起草节点->条件分支->部门领导审批->分管领导审批->条件分支->总经理->条件分支->法务审核->公章、合同章盖章->人工决策->结束节点
开始节点->起草节点->条件分支->部门领导审批->分管领导审批->条件分支->营销负责人审批->总经理审批->法务审核->公章、合同章盖章->人工决策->盖章->结束节点
开始节点->起草节点->条件分支->部门领导审批->分管领导审批->条件分支->营销负责人审批->总经理审批->法务审核->公章、合同章盖章->人工决策->结束节点
开始节点->起草节点->条件分支->部门审批->营销领导审批->总经理审批->营销负责人审批->条件分支->总经理->条件分支->酒店经理->法务审核->公章、合同章盖章->人工决策->盖章->结束节点
开始节点->起草节点->条件分支->部门审批->营销领导审批->总经理审批->营销负责人审批->条件分支->总经理->条件分支->酒店经理->法务审核->公章、合同章盖章->人工决策->结束节点
开始节点->起草节点->条件分支->部门审批->营销领导审批->总经理审批->营销负责人审批->条件分支->总经理->条件分支->法务审核->公章、合同章盖章->人工决策->盖章->结束节点
开始节点->起草节点->条件分支->部门审批->营销领导审批->总经理审批->营销负责人审批->条件分支->总经理->条件分支->法务审核->公章、合同章盖章->人工决策->结束节点
开始节点->起草节点->条件分支->部门审批->营销领导审批->总经理审批->法务审核->公章、合同章盖章->人工决策->盖章->结束节点
开始节点->起草节点->条件分支->部门审批->营销领导审批->总经理审批->法务审核->公章、合同章盖章->人工决策->结束节点
开始节点->起草节点->条件分支->人事行政审批->总经理审批->公章、合同章盖章->人工决策->盖章->结束节点
开始节点->起草节点->条件分支->人事行政审批->总经理审批->公章、合同章盖章->人工决策->结束节点




回复 支持 反对

使用道具 举报

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

本版积分规则

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