关于上传附件的流程设计方案

最近在进行流程配置的时候遇到一个问题。就是在系统中需要做一个通过 RPA 上传附件。

场景是这样的,创建企业档案,分别上传客户的基本信息(营业执照)和业务信息(资质证书等)的扫描件或者 PDF 格式的文件。

问题是,上传附件的时候,每次上传的附件数以及名称是不确定的。如何识别需要上传的附件成为了困难。好在我们有强大后备服务保障团队,最后有了完美的解决方案。在这里跟大家一起分享一下,如果大家有好的建议,也可以跟帖留言我们一起学习进步。

我们的方案是这样的:
1、统一附件上传路径,所有企业的附件信息放在统一的路径下,供后续文件上传识别固定的路径;
2、规范需要上传的附件名称,比如 企业编码 + 业务类型码(基本信息 01;业务信息 02)+ 流水;
3、根据不同的业务类型分别创建流程,索引所有需要上传的附件。我有两个业务类型所以创建了两个流程。在系统界面获取客商编码,在使用【查找文件】组件,设置包含条件为【企业编码 + 业务类型编码】。这样就会获取到对应该企业的所有文件。
关于上传附件的流程设计方案

4、解析查找到的文件获取文件名称,循环执行附件上传。通过【查找文件】组件获取的是带路径的文件
关于上传附件的流程设计方案
其实我们只需要获取文件夹下的文件名就行,所以这时候我们可以通过两种方式来实现转换

第一种,通过【split】组件获取文件名称

关于上传附件的流程设计方案

第二种就是写全局函数了,将查找的文件的结果传进来,通过 os.path.basename 返回名称

import os.path
import ubpa.ifile as ifile

def com(mom_str):

    file = os.path.basename(mom_str)
    return file

到现在,文件路径解决了,文件名称命名和获取解决了。就可以通过循环去执行上传的流程了。但是还有一个问题。解决附件重复上传的问题。

5、再单独创建一些文件夹,用来存放已经上传过的附件。附件创建成功后,将其剪切到到这个路径下。保证第一个路径下的附件都是需要上传的。可以考虑【拷贝文件】、【删除文件】。

我最开始使用的是【移动文件】,但是在流程执行的时候,会报错,提示程序正在使用进程无法访问。我把日志也贴出来,供大家分析讨论。

关于上传附件的流程设计方案