云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

微软云_温州网站建设企业_免费1年

小七 141 0

在采购方面,我们没有任何标准的选择,一次从所有协议中大量下载所有合同文件。我们唯一的选择是手动逐个下载文档。如果我们有10-15个文档,我们可以手动完成,但是当我们有大量的文档要下载时,一个一个的下载是非常痛苦的,而且过程也很耗时,我们已经建立了一个自定义的显式脚本,并将所有文档直接下载到FTP中。

本博客旨在给出这方面的概念和定制细节。

步骤1:开发一个自定义查询定义,以获得具有合同文档名称和唯一文档id的协议列表。查询定义如下。您可以根据您的需求条件执行查询。

选择DISTINCTFROM(选择T1.UNIQUE\u DOC\u NAME作为CUNIQUE\u DOC\u NAME,选择T1.OBJECTID作为contracId,选择1004作为CLASSID来自.FCI\u CONTRACT T1,企业网站自助建站,其中T1.INACTIVE=0,T1.IS\u TEMPLATE=0和T1.CONTEXTID=)合同左外连接(选择B、 父对象ID作为父对象ID,轻淘客旗舰版,B、 父类ID作为父类ID,C、 文档名称显示为最新版本,C、 唯一的文档名为DOCUNI从.FCI\u CONGEN\u CONTRACT\u DOC B,.FCI\u CONGEN\u DOC\u版本C哪里C、 父对象\u ID=B.OBJECTID)文档打开合同.contracted= DOCS.PARENT\对象\u ID以及DOCS.PARENT\类\ ID= 合同.CLASSID

第2步:然后开发一个自定义的显式脚本。

i)在这个脚本中,我们使用Query IAPIs执行上面开发的查询定义来获得结果集。

HashMap contractdocuments=new HashMap()查询执行=IapiQueryExecFactory.createQueryExec(会话,"自定义导出所有文档");参数集=queryExecution.getParameterSet(会话,"自定义导出所有文档");结果集=queryExecution.execute执行(合同文件);元数据=结果集.getMetaData();

ii)一旦结果集可用,迭代结果集以获得协议id、文档文件名和文档唯一id。

而(下一个结果集() ){协议ID=结果集.getString( 0 );文档文件=结果集.getString( 1 );文档唯一名称=结果集.getString(2);

iii)按文档唯一名称查找文档版本。

IBeanHomeIfc documenthome=IBeanHomeLocator.lookup文件(会议,文件)tVersionBeanHomeIFC.sHOME\u名称);documentversionibeanfc docVersion=((DocumentVersionIBeanHomeIfc)documenthome).findByUniqueDocName(documentUniquename);//按uniquename查找合同文档documentVersionBeanHomeIFC documentbeanhome=(documentVersionBeanHomeIFC)docVersion.getIBeanHomeIfc文件();

附件文档版本.getDoc();//获取文档

iv)使用版本获取文档文件

文件数据=附件.getFileData(届会);//获取文档文件

v)通过传递FTP配置外部id获取FTP/SFTP路径

ftcHome=HomeLocator.lookup(会话)odp.doccommon.FileTransferConfig文件" );FileTransferConfigBo ftppath=ftcHome.findByExternalId文件("101单位类别文本");FileTransferClientIfc ftp=ftppath.getClient文件();

vi)一旦FTP路径可用,企业信息化管理软件,就用所需名称放置文件。

ftp.putFile文件(数据文件,发发淘客神器,ftppath.getUrl()+协议ID+"–"+附件.getDisplayName());//将文件放在需要名称的FTP路径中,我们将文件保存在FTP中,以协议id作为前缀,便于识别。ftp.关闭();//始终确保关闭ftp客户端}

第3步:创建一个调度任务来运行显式调用的脚本。

第4步:任务完成后,检查FTP路径中的文件。

您可以将上述脚本作为普通脚本进行初始测试,脚本上下文为文档生命周期事件,类为主协议(1004),目标为已保存。您只能通过一个合同并测试它。

如果有任何错误,您将能够在保存协议的同时看到并轻松解决。

我在本演示中给出了主协议的示例,同样也适用于子协议。在我使用FTP的例子中,我们也可以选择使用SFTP。SFTP详细信息需要在FTC中配置。您可以使用Try–catch块执行上述脚本并捕获错误。这种方法不支持ZIP文件下载。

上述方法很容易实现。通过这种方法,我们可以减少人工的工作量和时间。通过查询定义,根据需求轻松访问协议id和合同文档。系统性能不会影响太多,数据无价,但会影响一点点的慢度。此代码的维护和传输到更高的环境也很容易。