G6财务管理系统医院专版可以通过集成应用GAI实现与HIS系统的衔接
1、 松耦合衔接(导入导出
集成应用GAI提供了标准的导入模板(xml格式),HIS系统的业务数据经过财务核算口径的处理(对照)后,通过GAI导入到财务系统中,批量生成会计凭证。
2、 紧耦合衔接(系统级)
集成应用GAI也提供了第三方的标准数据接口,HIS系统可以调用GAI的数据接口,根据核算业务口径组织XML文件或数据串,GAI取到数据后自动生成会计凭证。
HIS厂商调用接口具体方法如下:
企业应用集成工具(EAI)二次开发
 
1. 1. 概述
U6企业应用集成工具(EAI)是U6与外部系统的数据接口,EAI提供了一些组件,可以在这些组件的基础上进行二次开发(以下简称“EAI二次开发”),实现与外部系统的集成。
不同系统集成的关键是遵循共同的数据标准,U6根据自己系统提出了一套数据标准,包括各种单据和基础档案,外部系统如果要和U6集成则必须遵循这一标准。这套标准用XML描述,因此数据流都为XML格式。
    EAI二次开发可分为两种模式:
    注意:文中所有编程都以VB为例
一、直接利用EAI管理工具。在开始菜单中选择企业应用集成工具,登录企业应用集成主界面。在这里可以将U6数据以标准XML文件的形式导出U6数据库或将标准XML数据文件导入U6系统。二次开发程序员只需编写一个工具将标准XML数据文件进行适当转换写入外部系统或取出外部系统数据写成标准XML数据文件。(参看EAI安装目录\xml\Samples\下的例子)
    数据流程如下:
 
 
 
 
 
 
 
 
 
 
 
 
 
这种开发模式比较简单,优点是:充分利用EAI工具提供的功能,编程简单;缺点是:只能提供批量导入导出功能。
二、利用EAI提供的组件,进行灵活的二次开发。
    包括两种方式:本地COM方式、Internet方式。
    1)本地COM方式:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
    这种方式可根据开发者的需要批量处理或者实时处理。
    接口调用非常简单,简化了编程。开发者只需将标准数据传入接口,如下:
Set Obj=CreateObject(U8Distribute.iDistribute)
Str = obj. Process(sXml)
sXml为标准数据串,具体格式后面会说明。
 
    2)Internet方式:
   
 
 
 
 
 
 
 
 
 
 
 
 
 
 
http.Open "Post",http_name & “import.asp", True      //指定服务器ASP
http.send  l    //把xml数据发送到服务器端
strRet= sponseText    //strRet :返回的xml格式的回执信息
 
2. 2. 数据格式标准
EAI可以导入导出的数据范围包括:
Ø总帐
§凭证   
§银行对账单   
Ø工资管理   
§人员档案
§工资项目数据   
Ø固定资产
§固定资产卡片
Ø成本管理
§材料消耗数据   
Ø资金管理
§资金内部结算单
Ø应收管理
§应收单
§收款单 
Ø应付管理
§应付单
§付款单 
Ø采购管理
§采购订单
§采购到货单
§采购发票
Ø销售管理
§销售订单
§发货单
§销售发票   
§销售发票_导入到内部结算单
Ø库存管理
§入库单
§出库单
§库存量
Ø基础档案
§部门档案    §职员档案    §地区分类    §客户分类 
§客户档案    §供应商分类    §供应商档案    §存货分类
§存货档案    §结算方式    §付款条件    §开户银行   
§仓库档案    §收发类别    §销售类型    §计量单位
§计量单位组    §产品结构    §采购类型    §成套件
§费用项目    §发运方式    §货位档案    §自定义项档案
§项目        §会计科目    §外币        §凭证类别   
§常用摘要
    提示:EAI安装目录\xml\l保存了相关定义
 
下面一个例子是从U6导出的部门档案的片断:
<?xml version="1.0" encoding="gb2312" ?>
<ufinterface sender="001" receiver="U6" roottag="department" docid=".533424" proc="Query" codeexchanged="N" exportneedexch="N" display="部门档案" family="基础档案" billtype="">
<department>
<code>1</code>
<endflag>0</endflag>
<name>综合处</name>
<rank>1</rank>
<manager />
<prop>郑州人才市场档案管理兼技术</prop>
<phone />
<address />
<remark />
<creditline />
<creditgrade />
<creditdate />
<offergrade />
<offerrate />
</department>
<department>
<code>109</code>
<endflag>1</endflag>
<name>厂办公室</name>
<rank>2</rank>
<manager />
<prop>管理</prop>
<phone />
<address />
<remark />
<creditline />
<creditgrade />
<creditdate />
<offergrade />
<offerrate />
</department>
…………
</ufinterface>
 
EAI中所有的标准数据文件都有类似于上例的结构,首先,有一个名为ufinterface的元素,ufinterface再有若干个子元素组成,不同应用的子元素有不同的格式。
注意:XML是对大小写敏感的,在EAI标准中所有的元素名都为小写字母。
注意:EAI标准数据中的有些元素可以为空元素,有些则不得为空,根据具体业务不同而不同。但所规定的元素一个也不能多,一个也不能少。
Ufinterface元素定义如下:
<ufinterface roottag=’’ billtype=’’ docid=’’ receiver=’’ sender=’’ proc=’’ codeexchanged=’’ exportneedexch=’’ display=‘’ family=‘’/>
 
roottag:类型;
billtype:系统用;
docid:唯一编号;
receiver:接收方(系统用);
sender:注册的外部系统号;
proc:操作码Add,Edit,Delete,Query
codeexchanged:外部系统导入时是否转换 :
    y:需要经过对照表;n:不需要经过对照表
exportneedexch:导出时是否需要转换:
    y:需要经过对照表;n:不需要经过对照表
display:单据中文名;
family:单据中文大类名。
 
所有的xml标准的头文件格式都是一样的,通过roottag区分单据类型,proc区分操作类型。
 
        从U6导出的数据格式
    操作码为Query,可加入导出条件。格式例子(以导出收款单为例):
<?xml version='1.0' encoding='gb2312'?>
<ufinterface sender="001" receiver="U6" roottag="department" docid=".533424" proc="Query" codeexchanged="n" exportneedexch="n" display="部门档案" family="基础档案">
<department name="部门档案" importfile="" exportfile="" code="001">
<field display="部门编码" name="cDepCode" operation="=" value="办公室" logic=""/>
</department>
</ufinterface>
 
元素department表示为部门档案
属性name:单据名称;
属性importfile:保存的是导入文件路径;
属性exportfile:保存的是导出文件路径;
属性code:外部系统的注册号。
元素Field表示每个条件:
属性display:中文含义;
属性name:字段名;
属性operation:是比较运算符;
属性value:比较值;
属性logic:是连接的逻辑运算符。and:并且;or:或者。
 
每次导出一种单据,这里为部门档案,如果需要导出收款单则需要再一次导出。条件Field可以有多条。这个调用返回的XML回执为U6的标准数据。
注意:并不是导出数据会自动保存到Importfile exportfile指定的路径,这两个参数是EAI工具保存数据使用的。
提示:EAI安装目录\xml\l 保存了EAI的条件,可以通过EAI管理界面设定条件,变化保存在l中。
 
        导入数据到U6中时操作码为Add
    可将数据填到Ufinterface元素中作为子元素。
    形式为:
<?xml version='1.0' encoding='gb2312'?>
<ufinterface sender="" receiver="" roottag="" docid="" proc="Add" codeexchanged="" exportneedexch="" display="" family="">
<table_name>
<a1>
<a2>
……
</table_name>
<table_name>
<a1>
<a2>
……
</table_name>
……
</ufinterface>
 
    元素table_name代表一张单据,元素a1、a2…等为单据中的元素。元素ufinterface则包含若干个table_name元素。
    注意:sender属性值必须为EAI系统注册过的注册号一致,因为EAI系统根据这个注册号与具体账套相连接;Receiver为”U6”; docid取随机数;family、roottag、display可以参考EAI安装目录\xml\l,总帐,基础档案等为family,它们的下级元素中文名为display,其属性name 为roottag。可将l与数据文件例子参照,以便理解其的意义。