销售热线:18001190298 服务热线:13146600880
SEARCH
后台系统集成

   档案集成

1. 概述

调用SDK本地接口可以实现添加自定义菜单并将选择的文档导出。主要可以分三步实现:添加菜单、接收id值、导出xml文档。

2. 接口说明

根据文档中文件夹ID(doc_resources表ID),获取文件夹下文档列表JSON信息(json信息中的fr_id属性对应文档doc_resources表ID)

使用接口:

http请求方式:POST  http://ip:port/seeyon/rest/docs/search

参数DEMO:

Map newDep = new HashMap() {
{
put("archiveID", "144411942544885803"); //archiveID:文档ID(必填):doc_resources表ID
put("searchType", "");//searchType:查询类型(非必填)
put("propertyName", "");//propertyName:查询参数名称(非必填)
put("simple", "");//simple:是否简单查询(非必填)
put("value1", "");//value1:查询值(非必填)
put("pageNo", "1");//页数
 put("pageSize", "20");//每页条数
}
CTPRestClient client = RestResource.getInstance().resouresClent();
String result = client.post("docs/search",res, String.class); 


返回值:

{
  "total" : 1,
  "data" : [ {
    "fr_size" : 0,
    "fr_mine_type" : 31,
    "is_folder" : true,
    "fr_type" : 31,
    "fr_id" : "4909783689613689706", //doc_resources表ID
    "fr_name" : "文档统计信息",
    "next_Doc_Num" : "1"
  }],
  "pageNo" : 1,
  "pageSize" : 20
} 


根据文档ID(doc_resources表ID)获取稳定ArcFolderItem对象信息。

使用接口:DocumentFactory

方法:exportArchive

参数:

参数 数据类型 说明
id Long 要导出文档在A8中的ID

返回值:ArcFolderItem

3. 实现过程

3.1. 添加自定义菜单

详细步骤请参考Portal集成-添加自定义菜单.

3.2. 第三方系统接收平台传递的id

因为rightNew页面已经提供点击菜单传递id功能(注:V6.1新增了获取文档ID的接口,也可以通过上面【http://ip:port/seeyon/rest/docs/search】接口来获取ID),所以这里我们只需要新建一个jsp页面接收id就行。根据前面在docAddinMenu.xml文件中设定的url值指定的路径新建一个docFlie.jsp文件。

由于点击菜单以后是将选中的文档id以逗号分隔发送到指定的页面,所以这里我们可以使用request.getParameter取得

String thirdMenuIds=request.getParameter("thirdMenuIds");  String thirdIds[]=thirdMenuIds.split(",");

3.3. 导出指定文档

在docFile.jsp中添加

<%@page import=”com.seeyon.v3x.services.document.DocumentFactory,com.seeyon.v3x.services.document.impl.DocumentManager”%>

在docFlie.jsp文件中添加逻辑代码,在这里我们采用java.io.StringWriter接受导出的文件用saveToPropertyList().saveXMLToStream(StringWritersw)方法。

if (thirdMenuIds != null && thirdMenuIds.length() > 0) {
            String thirdIds[] = thirdMenuIds.split(",");
            try {
                DocumentFactory factory = DocumentManager.getInstance();
                for (int i = 0; i < thirdIds.length; i++) {
                    ArcFolderItem doc = factory.exportArchive(Long
                            .valueOf(thirdIds[i]));
                    StringWriter sw = new StringWriter();
                    doc.saveToPropertyList().saveXMLToStream(sw);
                    // 将导出的XML调用第三方系统的接口,导入到第三方档案系统
                }
            } catch (Exception e) {
                System.out.println("出异常了");
            }
        } 


将导出的xml文件输出到指定的外部文件中,用org.dom4j.io.XMLWriter写到文件中,也可用其他方式写文件。在import中增加

org.dom4j.io.*,

在for循环前面添加代码:

XMLWriter output=new XMLWriter(new FileWriter("d:/aaa.xml"));
    output.setEscapeText(false);//设置后可以防止导出后的文件将“<”和“>”改成“&lt”和“&gt”
    String version="<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>";
    output.write(version) 


for循环中添加

output.close(); 

添加后的效果如下:

try {
            com.seeyon.v3x.services.document.DocumentFactory factory =java com.seeyon.v3x.services.document.impl.DocumentManager
                    .getInstance();
            XMLWriter output = new XMLWriter(new FileWriter("d:/aaa.xml"));
            output.setEscapeText(false);
            String version = "<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>";
            output.write(version);
            for (int i = 0; i < thirdIds.length; i++) {
                ArcFolderItem doc = factory.exportArchive(Long
                        .valueOf(thirdIds[i]));
                StringWriter sw = new StringWriter();
                doc.saveToPropertyList().saveXMLToStream(sw);
                output.write(sw.toString());
            }
            output.close();
        } catch (Exception e) {
            e.printStackTrace();
        }



































公司主要经营内容:

帆软报表,帆软软件,致远OA,北京致远软件,致远软件,致远OA软件,OA软件,致远OA办公软件,致远OA协同软件,OA协同软件,OA办公软件,致远办公软件,致远协同办公软件,致远OA协同办公软件,OA综合办公软件,致远系统,OA系统,致远OA系统,北京致远OA系统,北京致远OA软件,致远OA系统软件,致远协同办公系统,致远协同办公OA系统,致远系统OA,致远软件OA,OA软件系统,OA致远北京,致远A8OA,OAA8软件,致远A8软件,致远A8系统Oa软件,致远OA系统版本软件