1 软件概述

基于CNAS标准体系规范的实验室管理系统（后文简称CNAS系统）是在符合cnas标准体系的基础上，通过将标准化实验室的管理制度化，制度流程化，流程表单化，表单信息化，系统核心在于对实验室运行过程中产生的大量表单的信息化。将标准化实验室的管理由粗放到精细、从“线下”到“线上”，强化实验室运行管理、提升管理效率。在实验室数据信息化后，通过大数据分析来进行实验室的高层次的管理，加强数据分析，提升标准化实验室的管理水平。

天平端作为本系统的一个子模块，实现了实验数据自串口传输到PC机，从实验室到系统数据库的传输，为后续数据处理和分析提供基础。


基于CNAS标准体系规范的实验室管理系统（后文简称CNAS系统）是在符合cnas标准体系的基础上，通过将标准化实验室的管理制度化，制度流程化，流程表单化，表单信息化，系统核心在于对实验室运行过程中产生的大量表单的信息化。将标准化实验室的管理由粗放到精细、从“线下”到“线上”，强化实验室运行管理、提升管理效率。在实验室数据信息化后，通过大数据分析来进行实验室的高层次的管理，加强数据分析，提升标准化实验室的管理水平。

取数端作为本系统的一个子模块，实现了实验数据从实验室仪器到系统数据库的传输，为后续数据处理和分析提供基础。


2 CNAS数据库连接和操作密码

双击程序目录中的CNASBalanceDBManage.exe程序，可以看到下图界面。

本界面中包含三个配置界面，分别为CNAS业务数据库，平台数据库，操作密码。在使用取数端之前需要完成这三者的参数配置。


1 CNAS系统业务数据库配置

CNAS系统业务数据库用于存储CNAS系统相关业务数据。

填写CNAS系统业务数据库连接所需要的参数。分别包括服务器IP，实例，用户名，密码，端口。这些信息可以通过CNAS系统管理员或DBA获得。

初步配置完成后，可以点击“测试连接”按钮进行测试。如果能够正常连接数据库，则提示“连接成功”。

配置完成后，点击“确定”按钮，取数端将会把填写的信息加密后存储在本地文件中，下次打开界面时将显示这些信息。但“确定”按钮提供的是当前整个界面的存储功能，所以我们建议您在当前界面参数全部配置完成后再点击“确定”按钮进行存储。


2 CNAS系统平台数据库配置

选择界面中的“平台数据库”，可以切换到CNAS系统平台数据库配置界面。

填写CNAS系统平台数据库连接所需要的参数。分别包括服务器IP，实例，用户名，密码，端口。这些信息可以通过CNAS系统管理员或DBA获得。

初步配置完成后，可以点击“测试连接”按钮进行测试。如果能够正常连接数据库，则提示“连接成功”。

配置完成后，点击“确定”按钮，取数端将会把填写的信息加密后存储在本地文件中，下次打开界面时将显示这些信息。但“确定”按钮提供的是当前整个界面的存储功能，所以我们建议您在当前界面参数全部配置完成后再点击“确定”按钮进行存储。


3 操作密码配置

因为在取数端的使用过程中，部分配置信息或操作不允许另外的人员进行更改，所以我们提供了操作密码功能。

切换到“操作密码”界面，我们可以在这个界面进行操作密码的设置。

默认情况下，操作密码为123456。您可以在该界面输入新的操作密码。设置完成后，若另外操作人员不知道操作密码，将无法对设置的字段映射等相关配置进行修改或删除。


4 通过WebAPI连接数据库

在某些特殊情况下，部署环境受到更高要求的安全因素影响，取数端程序不被允许通过上述直连数据库的方式连接CNAS系统业务数据库和平台数据库，我们可以通过部署WebAPI的方式进行数据库连接。

在部署服务器完成WebAPI站点部署后，通过浏览器访问。在站点中输入http://localhost:60101/DbConfig（端口号需要根据具体情况更改）,在网页中进行数据库信息输入。


3仪器字段与CNAS数据字段映射配置

双击程序目录中的CNAS_DBSync.exe程序，输入操作密码，可以看到下图界面。


1 系统配置

点击菜单栏”系统配置”按钮，可以打开系统配置界面。

加载来源表结构方式：

当此处选择“自动”时，配置了仪器来源库完成后，将自动获取该来源库所有表与其表结构，供用户选择和配置。

当此处选择“手动” ，配置了仪器来源库完成后，需要用户再手动输入表名，才能获取该来源库表与其表结构，供用户进行下一步配置。

数据展示界面显示范围：

本文第3节介绍数据展示和上传功能。当此处设置为10天时，在数据展示界面中只显示最近10天以内的数据，超出10天以外的数据将不会显示。

自动生成日志记录范围：

取数端提供自动上传数据服务，每次上传操作的执行都将产生相关日志数据。如果持续时间太长，将产生大量的日志数据进而拖累整个系统的正常使用和运行。当此处设置为10天时，取数端将只产生最近10天的数据，超出10天的数据将会被删除。


10 条件映射

点击“条件映射”按钮，进入条件映射界面。

设置完字段映射后，在某些情况下，需要对插入到CNAS数据库的数据进行额外的处理，该界面实现本功能。

界面提供了下列9种类型的数据处理方式。

1.”等于”

在“值”列中输入内容，同步时，该CNAS字段内的值将等于此处输入的内容。优先级高于普通字段映射字段。

2.“连接”

双击“值”列，弹出参数配置窗口。

点击“选择”将弹出仪器数据源表的所有列，选择某列。同样的方法配置完“参数1”，“参数2”，“参数3”。同步时，CNAS列的数据将等于这三个列数据的连接。（参数可以直接手动输入某值）

3.“若…则…”

双击“值”列，弹出参数配置窗口。

选择仪器数据源的列，点击“新增条件”，在条件列值和当前列值中输入内容。如上图所示。配置好的条件的含义为：

当来源库中COAL_CODE的值等于“1号”时，CNAS中当前字段的值当为“1号房间”；

当来源库中COAL_CODE的值等于“2号”时，CNAS中当前字段的值当为“2号房间”；

当来源库中COAL_CODE的值等于“3号”时，CNAS中当前字段的值当为“3号房间”；

当来源库中COAL_CODE的值等于“4号”时，CNAS中当前字段的值当为“4号房间”；

当来源库中COAL_CODE的值等于“5号”时，CNAS中当前字段的值当为“5号房间”；

当来源库中COAL_CODE的值等于“6号”时，CNAS中当前字段的值当为“6号房间”；

4.”截取”

双击“值”列，弹出参数配置窗口。

该类型主要用于截取字符串数据，在某些情况下，CNAS系统可能只需要仪器初始数据的一部分内容，这就需要采用截断方式获取。如上图所示，参数1表示参与截断的字符或字符串，参数2表示截断后CNAS最后采用的是哪一部分的内容。

5.”乘以”

在“值”列中输入一个数字，同步时，该CNAS字段内的值将等于此处输入的内容乘以映射字段原来的数值。优先级高于普通字段映射字段。

6.“除以”

在“值”列中输入一个数字，同步时，该CNAS字段内的值将等于映射字段原来的数值除以在此处输入的内容。优先级高于普通字段映射字段。

7.“小数位数”

在“值”列中输入一个数字，同步时，该CNAS字段内的值将按照输入内容对映射字段数值进行有效位数处理。优先级高于普通字段映射字段。

8.“数值想加（减）”

双击“值”列，弹出参数配置窗口。

其中参数2表示“操作”。分别选择参数1和参数3，两者都是来源数据源中某一列，同步时，该CNAS字段将等于参数1和参数3根据参数2得到操作后的数值。优先级高于普通字段映射字段。

9.“截断开头（结尾）”

双击“值”列，弹出参数配置窗口。

参数1表示要去掉的字符。参数2表示在开头去掉还是在结尾去掉。同步时，该CNAS字段等于去掉开头（或结尾）参数1后剩余的字符。如果没有找到或者存在多个截断字符，将直接使用未处理的数据。优先级高于普通字段映射字段。


11 加载数据

点击“加载数据”按钮，将重新根据配置的数据库读取各个表以及表中的字段内容。


12 仪器数据列

CNAS仪器信息列是指定一个CNAS表中字段，存储一个GUID字符串，当多个仪器的数据向同一个CNAS数据表中插入数据时，可以通过该列进行数据区分。该字段为必需字段，否则无法进行数据上传。


2 服务配置

点击菜单栏”服务配置”按钮，可以打开服务配置界面。

取数端提供自动上传服务。本界面实现自动上传服务配置，安装，启动功能。

数据同步执行时间：

当配置为5分钟时，取数端将以“启动服务”的时间为基准，每隔5分钟进行一次数据抽取和上传操作。

获取数据初始时间：

取数端在抽取数据时，并不会抽取来源库中所有数据，而是按照某个时间点进行抽取。在初始状态下，将以此处配置的时间点抽取。当执行完一次抽取后，以上次抽取的时间点为基准。

安装服务：

点击此按钮，将实现服务的安装和卸载。

是否开机启动：

选中该项，自动上传服务将随着电脑的重启而自启动。若没有选中该项，电脑重启后，上传服务将不会随着启动，需要到该界面手动启动服务。

启动服务：

点击此按钮，将实现服务的启动和关闭。


3 来源数据配置

点击菜单栏”来源配置”按钮，可以打开来源库配置界面。

该界面中提供了Excel,FoxPro,Access,SQLite,Sql Server,MySql,Oracle,TXT八种数据库格式的相关读取参数。

1. Excel格式来源库参数

Ø Office Excel版本：根据Excel版本选择不同的选项，否则无法正常读取数据

Ø 日期列特殊格式：如果Excel中日期不是标准的日期格式，需要在设置此处。

Ø 自定义文件名格式：当读取模式为以文件夹方式读取时，取数端支持以某个日期格式自定义命名的文件读取。

Ø 读取模式：取数端支持文件读取或者文件夹读取，当使用文件夹读取时，需要配置自定义文件名格式。

Ø 自定义SQL语句：取数端支持自定义SQL语句读取Excel中的数据，一般在多表联合查询中使用。第一个输入框中输入自定义的名称，第二个输入框中输入sql语句。

2. FoxFox格式来源库参数

Ø 读取模式：取数端支持文件读取或者文件夹读取，当使用文件夹读取时，需要配置自定义文件名格式。

Ø 日期列特殊格式：如果FoxPro文件中日期不是标准的日期格式，需要在设置此处。

Ø 自定义文件名格式：当读取模式为以文件夹方式读取时，取数端支持以某个日期格式自定义命名的文件读取。

Ø 自定义SQL语句：取数端支持自定义SQL语句读取Excel中的数据，一般在多表联合查询中使用。第一个输入框中输入自定义的名称，第二个输入框中输入sql语句。

Ø 补充方法：在某些特殊情况下，自定义sql语句依旧不能满足抽取数据要求，将在此处添加相关方法。当前取数端支持concat方法，可以将多个列的数据结合成一个列。

3. Access格式来源库参数

Ø Office Access版本：根据Access版本选择不同的选项，否则无法正常读取数据

Ø Access后缀名：取数端支持不同后缀名的Access文件读取。可以是.mdb或者.accdb。

Ø 日期列特殊格式：如果Access中日期不是标准的日期格式，需要在设置此处。

Ø 自定义文件名格式：当读取模式为以文件夹方式读取时，取数端支持以某个日期格式自定义命名的文件读取。

Ø 读取模式：取数端支持文件读取或者文件夹读取，当使用文件夹读取时，需要配置自定义文件名格式。

Ø 自定义SQL语句：取数端支持自定义SQL语句读取Access中的数据，一般在多表联合查询中使用。第一个输入框中输入自定义的名称，第二个输入框中输入sql语句。

4. Sqlite格式来源库参数

Ø 读取模式：取数端支持文件读取或者文件夹读取，当使用文件夹读取时，需要配置自定义文件名格式。

Ø 日期列特殊格式：如果Sqlite中日期不是标准的日期格式，需要在设置此处。

Ø 自定义文件名格式：当读取模式为以文件夹方式读取时，取数端支持以某个日期格式自定义命名的文件读取。

Ø 自定义SQL语句：取数端支持自定义SQL语句读取Sqlite中的数据，一般在多表联合查询中使用。第一个输入框中输入自定义的名称，第二个输入框中输入sql语句。

5. Sql Server格式来源库参数

Ø 日期列特殊格式：如果Sql Server中日期不是标准的日期格式，需要在设置此处。

Ø 自定义连接字符串：取数端支持自定义sql server数据库连接字符串。

Ø 自定义SQL语句：取数端支持自定义SQL语句读取Sql Server中的数据，一般在多表联合查询中使用。第一个输入框中输入自定义的名称，第二个输入框中输入sql语句。

6. MySql格式来源库参数

Ø 日期列特殊格式：如果MySql中日期不是标准的日期格式，需要在设置此处。

Ø 自定义SQL语句：取数端支持自定义SQL语句读取MySql中的数据，一般在多表联合查询中使用。第一个输入框中输入自定义的名称，第二个输入框中输入sql语句。

7. Oracle格式来源库参数

Ø 日期列特殊格式：如果Oracle中日期不是标准的日期格式，需要在设置此处。

Ø 自定义SQL语句：取数端支持自定义SQL语句读取Oracle中的数据，一般在多表联合查询中使用。第一个输入框中输入自定义的名称，第二个输入框中输入sql语句。

8. TXT格式来源库参数

Ø 读取模式：取数端支持文件读取或者文件夹读取，当使用文件夹读取时，需要配置自定义文件名格式。

Ø 日期列特殊格式：如果TXT中日期不是标准的日期格式，需要在设置此处。

Ø 自定义文件名格式：当读取模式为以文件夹方式读取时，取数端支持以某个日期格式自定义命名的文件读取

Ø 文件后缀名：取数端支持不同后缀名的TXT文件读取。

Ø 读取方法选型：取数端支持不同格式的TXT文件读取。

Ø 分割数据行选型：TXT每个数据行可能使用不同的内容进行单元格分割。

Ø 数据行起始行号：TXT文件中数据行开始时的行号

Ø 是否由系统创建日期列：部分TXT文件数据中不包括日期字段，通过读取以日期命名的文件名来读取日期。


4 新增/修改/删除仪器

点击“新增”可以新增一种仪器类型。“删除”可以删除该仪器。双击选中项，可以修改仪器编号。


5 配置仪器来源数据库

点击“数据库配置”，进行仪器来源数据库配置和CNAS数据库选择配置。

在此界面中，分别提供了各种数据类型的来源数据库配置。

  1. Excel

是否远程：数据源文件是来自于本地电脑还是局域网内其他电脑

路径：选择（或手动输入）文件（或文件夹）的路径

  2. FoxPro

是否远程：数据源文件是来自于本地电脑还是局域网内其他电脑

路径：选择（或手动输入）文件（或文件夹）的路径

用户名：登录名

密码：登录密码

  3. Access

是否远程：数据源文件是来自于本地电脑还是局域网内其他电脑

路径：选择（或手动输入）文件（或文件夹）的路径

用户名：登录名

密码：登录密码

  4. Sqlite

是否远程：数据源文件是来自于本地电脑还是局域网内其他电脑

路径：选择（或手动输入）文件（或文件夹）的路径

用户名：登录名

密码：登录密码

  5. Sql Server

服务器：数据库服务器名或IP地址

数据库名：数据库服务器名

用户名：数据库登录名

密码：数据库登录密码

  6. MySql

服务器：数据库服务器名或IP地址

实例名：数据库实例名

用户名：数据库登录名

密码：数据库登录密码

端口号：数据库端口号

  7. Oracle

服务器：数据库服务器名或IP地址

实例名：数据库实例名

用户名：数据库登录名

密码：数据库登录密码

端口号：数据库端口号

  8. TXT

是否远程：TXT文件是来自于本地电脑还是局域网内其他电脑

路径：选择（或手动输入）文件（或文件夹）的路径


6 配置/选择CNAS系统数据库

打开“数据库配置”界面，切换到“目标数据库”，可以在此处进行CNAS数据库配置或选择。

用户可以手动选择在第一节中输入的相关数据库配置参数，也可以手动输入各项参数。


7 新增/删除映射字段

用户完成数据库配置后，点击“确认”按钮，主界面中将自动加载数据库中所有表结构。

分别选择设备数据源表和CNAS数据库表，将自动加载该表中各个字段。选择对应的字段，点击“新增映射”，将增加一条字段映射。

在“字段映射信息表”中右键，点击“移除”按钮，可以删除选中的映射信息。


8 关键字段和日期字段

在配置映射字段时，用户需要选择“关键字段”和“日期字段”。“关键字段”用来保证抽取数据的唯一性，避免插入到CNAS数据库时覆盖其他的数据。“日期字段”用来表示本条数据产生的日期，避免重复抽取数据从而降低抽取效率。

“关键字段”可以设置多个，一般选择映射字段中“编号”含义的字段。

“日期字段”只能设置一个，在实验室环境中，一般选择本条数据的化验日期字段。


9 来源过滤

点击“来源过滤”按钮，进入来源数据过滤界面。

在某些情况下，我们只需要抽取满足一定条件的数据，该界面将提供数据过滤功能，对抽取的数据进行筛选。

当前表名：表示是对该表的内容抽取时进行过滤筛选。

条件之间关系：“与”表示多个条件必须同时满足才能通过筛选。“或”表示多个条件中只要满足一个就能通过筛选。

新增条件：点击后，新增一条空白的条件。

删除条件：点击后，删除选中的条件。

条件列：设定条件数据的来源列，双击后，弹出当前表的所有列，从中选择一列。

条件：设定条件数据的要满足的条件。提供了“等于”“大于”“小于”“包含”“不包含”等多个条件选项，双击后弹出。

条件值：设置条件数据需要满足条件的具体值。提供了“自定义数据”“正则表达式”等多种方式，双击后弹出。


4仪器数据展示与传输

双击程序目录中的CNAS_RunSync.exe程序，可以看到下图界面。


1 菜单栏功能

点击“数据库配置”，实现第二节内容。略。

点击“同步配置”，实现第三节内容。略。


2 数据展示

当打开界面时，将自动抽取仪器数据源中的数据。显示的列是第2节中的映射列。用户可以在该数据列表中查看准备上传CNAS的数据。

用户可以检查准备上传数据的准确性。

值得注意的是，此处显示的数据是未经过“来源过滤”和“条件映射”的数据，表示从仪器数据源抽取的第一手数据，未经过其他处理。


3 数据查询与选中

使用数据查询功能，可以查询相关数据。在“列”中可以选择准备查询的列，在“条件”中可以选择查询的方式。

不同格式的列，查询条件也会不同。

数字类型的列的查询条件有："等于","不等于","大于","小于","不大于","不小于"；

文本类型的列的查询条件有："等于", "不等于", "包含", "不包含"；

日期类型的列的查询条件为一个由起始时间和结束时间限定的时间范围，如下图所示。

查询条件设置完成后，点击 [image] 按钮，查询出来的结果与其他数据行背景色不同。

用户也可以通过第一列“选择”实现跟查询功能类似的效果。


4 数据上传

点击“执行上传”按钮，将实现第3.3节中选中项的数据上传。

此外，取数端可以进行自动上传，配置好自动服务后，启动服务，可以在本界面可以关闭状态下自动执行上传数据。


5 日志窗口

当用户进行多次数据上传时，日志窗口将显示记录的每次上传的具体信息。如果发生错误，日志窗口将显示发生错误的具体行数据，便于分析研究。


1 切换CNAS系统数据库类型

CNAS系统默认使用MySQL数据库存储数据，为了便于后续扩展，取数端除了支持MySQL数据库的数据插入，还支持Oracle数据库格式和DB2数据库格式。

打开程序目录中CNAS_DBSync.exe.config文件。

将上图中“MYSQL”修改成“Oracle”或“DB2”，即可实现该功能。


2 远程读取仪器数据

当仪器数据源（Excel,Access,SQLite）不是本地数据源，而是来自于局域网内的其他PC机时，需要进行配置。

1. 将数据源文件所在文件夹共享。

2. 来源数据源配置。

远程用户名：表示访问这台电脑的账号

远程密码：表示访问这台电脑的账号密码

3. 在服务安装PC机中更改用户

右键“计算机”-“管理”-“服务”

找到“SyncService”,右键“属性”

在“属性”的“登录”页签中，输入当前电脑的一个拥有管理员权限的账号和密码。

点击“应用”-“确定”后，配置完成。


3 日志文件查看

程序目录中存在ErrorLog，Log，ServiceLog三个文件夹，分别用来存储程序错误日志，执行日志，服务执行日志。可以通过查看文件夹内容查阅相关内容。


CNAS取数端帮助文档

0 概述

本文旨在说明CNAS系统取数端各个功能模块的相关功能，用于帮助实施人员部署实施，用于帮助实验室人员使用。

1 CNAS数据库连接和操作密码

双击程序目录中的CNASBalanceDBManage.exe程序，可以看到下图界面。

本界面中包含三个配置界面，分别为CNAS业务数据库，平台数据库，操作密码。在使用取数端之前需要完成这三者的参数配置。

1.1 CNAS系统业务数据库配置

CNAS系统业务数据库用于存储CNAS系统相关业务数据。

填写CNAS系统业务数据库连接所需要的参数。分别包括服务器IP，实例，用户名，密码，端口。这些信息可以通过CNAS系统管理员或DBA获得。

初步配置完成后，可以点击“测试连接”按钮进行测试。如果能够正常连接数据库，则提示“连接成功”。

配置完成后，点击“确定”按钮，取数端将会把填写的信息加密后存储在本地文件中，下次打开界面时将显示这些信息。但“确定”按钮提供的是当前整个界面的存储功能，所以我们建议您在当前界面参数全部配置完成后再点击“确定”按钮进行存储。

1.2 CNAS系统平台数据库配置

选择界面中的“平台数据库”，可以切换到CNAS系统平台数据库配置界面。

填写CNAS系统平台数据库连接所需要的参数。分别包括服务器IP，实例，用户名，密码，端口。这些信息可以通过CNAS系统管理员或DBA获得。

初步配置完成后，可以点击“测试连接”按钮进行测试。如果能够正常连接数据库，则提示“连接成功”。

配置完成后，点击“确定”按钮，取数端将会把填写的信息加密后存储在本地文件中，下次打开界面时将显示这些信息。但“确定”按钮提供的是当前整个界面的存储功能，所以我们建议您在当前界面参数全部配置完成后再点击“确定”按钮进行存储。

1.3操作密码配置

因为在取数端的使用过程中，部分配置信息或操作不允许另外的人员进行更改，所以我们提供了操作密码功能。

切换到“操作密码”界面，我们可以在这个界面进行操作密码的设置。

默认情况下，操作密码为123456。您可以在该界面输入新的操作密码。设置完成后，若另外操作人员不知道操作密码，将无法对设置的字段映射等相关配置进行修改或删除。

1.4通过WebAPI连接数据库

在某些特殊情况下，部署环境受到更高要求的安全因素影响，取数端程序不被允许通过上述直连数据库的方式连接CNAS系统业务数据库和平台数据库，我们可以通过部署WebAPI的方式进行数据库连接。

在部署服务器完成WebAPI站点部署后，通过浏览器访问。在站点中输入http://localhost:60101/DbConfig（端口号需要根据具体情况更改）。

2仪器字段与CNAS数据字段映射配置

双击程序目录中的CNAS_DBSync.exe程序，输入操作密码，可以看到下图界面。

2.1 系统配置

点击菜单栏”系统配置”按钮，可以打开系统配置界面。

加载来源表结构方式：

当此处选择“自动”时，配置了仪器来源库完成后，将自动获取该来源库所有表与其表结构，供用户选择和配置。

当此处选择“手动” ，配置了仪器来源库完成后，需要用户再手动输入表名，才能获取该来源库表与其表结构，供用户进行下一步配置。

数据展示界面显示范围：

本文第3节介绍数据展示和上传功能。当此处设置为10天时，在数据展示界面中只显示最近10天以内的数据，超出10天以外的数据将不会显示。

自动生成日志记录范围：

取数端提供自动上传数据服务，每次上传操作的执行都将产生相关日志数据。如果持续时间太长，将产生大量的日志数据进而拖累整个系统的正常使用和运行。当此处设置为10天时，取数端将只产生最近10天的数据，超出10天的数据将会被删除。

2.2 服务配置

点击菜单栏”服务配置”按钮，可以打开服务配置界面。

取数端提供自动上传服务。本界面实现自动上传服务配置，安装，启动功能。

数据同步执行时间：

当配置为5分钟时，取数端将以“启动服务”的时间为基准，每隔5分钟进行一次数据抽取和上传操作。

获取数据初始时间：

取数端在抽取数据时，并不会抽取来源库中所有数据，而是按照某个时间点进行抽取。在初始状态下，将以此处配置的时间点抽取。当执行完一次抽取后，以上次抽取的时间点为基准。

安装服务：

点击此按钮，将实现服务的安装和卸载。

是否开机启动：

选中该项，自动上传服务将随着电脑的重启而自启动。若没有选中该项，电脑重启后，上传服务将不会随着启动，需要到该界面手动启动服务。

启动服务：

点击此按钮，将实现服务的启动和关闭。

2.3 来源数据配置

点击菜单栏”来源配置”按钮，可以打开来源库配置界面。

该界面中提供了Excel,FoxPro,Access,SQLite,Sql Server,MySql,Oracle,TXT八种数据库格式的相关读取参数。

1. Excel格式来源库参数

Ø Office Excel版本：根据Excel版本选择不同的选项，否则无法正常读取数据

Ø 日期列特殊格式：如果Excel中日期不是标准的日期格式，需要在设置此处。

Ø 自定义文件名格式：当读取模式为以文件夹方式读取时，取数端支持以某个日期格式自定义命名的文件读取。

Ø 读取模式：取数端支持文件读取或者文件夹读取，当使用文件夹读取时，需要配置自定义文件名格式。

Ø 自定义SQL语句：取数端支持自定义SQL语句读取Excel中的数据，一般在多表联合查询中使用。第一个输入框中输入自定义的名称，第二个输入框中输入sql语句。

2. FoxFox格式来源库参数

Ø 读取模式：取数端支持文件读取或者文件夹读取，当使用文件夹读取时，需要配置自定义文件名格式。

Ø 日期列特殊格式：如果FoxPro文件中日期不是标准的日期格式，需要在设置此处。

Ø 自定义文件名格式：当读取模式为以文件夹方式读取时，取数端支持以某个日期格式自定义命名的文件读取。

Ø 自定义SQL语句：取数端支持自定义SQL语句读取Excel中的数据，一般在多表联合查询中使用。第一个输入框中输入自定义的名称，第二个输入框中输入sql语句。

Ø 补充方法：在某些特殊情况下，自定义sql语句依旧不能满足抽取数据要求，将在此处添加相关方法。当前取数端支持concat方法，可以将多个列的数据结合成一个列。

3. Access格式来源库参数

Ø Office Access版本：根据Access版本选择不同的选项，否则无法正常读取数据

Ø Access后缀名：取数端支持不同后缀名的Access文件读取。可以是.mdb或者.accdb。

Ø 日期列特殊格式：如果Access中日期不是标准的日期格式，需要在设置此处。

Ø 自定义文件名格式：当读取模式为以文件夹方式读取时，取数端支持以某个日期格式自定义命名的文件读取。

Ø 读取模式：取数端支持文件读取或者文件夹读取，当使用文件夹读取时，需要配置自定义文件名格式。

Ø 自定义SQL语句：取数端支持自定义SQL语句读取Access中的数据，一般在多表联合查询中使用。第一个输入框中输入自定义的名称，第二个输入框中输入sql语句。

4. Sqlite格式来源库参数

Ø 读取模式：取数端支持文件读取或者文件夹读取，当使用文件夹读取时，需要配置自定义文件名格式。

Ø 日期列特殊格式：如果Sqlite中日期不是标准的日期格式，需要在设置此处。

Ø 自定义文件名格式：当读取模式为以文件夹方式读取时，取数端支持以某个日期格式自定义命名的文件读取。

Ø 自定义SQL语句：取数端支持自定义SQL语句读取Sqlite中的数据，一般在多表联合查询中使用。第一个输入框中输入自定义的名称，第二个输入框中输入sql语句。

5. Sql Server格式来源库参数

Ø 日期列特殊格式：如果Sql Server中日期不是标准的日期格式，需要在设置此处。

Ø 自定义连接字符串：取数端支持自定义sql server数据库连接字符串。

Ø 自定义SQL语句：取数端支持自定义SQL语句读取Sql Server中的数据，一般在多表联合查询中使用。第一个输入框中输入自定义的名称，第二个输入框中输入sql语句。

6. MySql格式来源库参数

Ø 日期列特殊格式：如果MySql中日期不是标准的日期格式，需要在设置此处。

Ø 自定义SQL语句：取数端支持自定义SQL语句读取MySql中的数据，一般在多表联合查询中使用。第一个输入框中输入自定义的名称，第二个输入框中输入sql语句。

7. Oracle格式来源库参数

Ø 日期列特殊格式：如果Oracle中日期不是标准的日期格式，需要在设置此处。

Ø 自定义SQL语句：取数端支持自定义SQL语句读取Oracle中的数据，一般在多表联合查询中使用。第一个输入框中输入自定义的名称，第二个输入框中输入sql语句。

8. TXT格式来源库参数

Ø 读取模式：取数端支持文件读取或者文件夹读取，当使用文件夹读取时，需要配置自定义文件名格式。

Ø 日期列特殊格式：如果TXT中日期不是标准的日期格式，需要在设置此处。

Ø 自定义文件名格式：当读取模式为以文件夹方式读取时，取数端支持以某个日期格式自定义命名的文件读取

Ø 文件后缀名：取数端支持不同后缀名的TXT文件读取。

Ø 读取方法选型：取数端支持不同格式的TXT文件读取。

Ø 分割数据行选型：TXT每个数据行可能使用不同的内容进行单元格分割。

Ø 数据行起始行号：TXT文件中数据行开始时的行号

Ø 是否由系统创建日期列：部分TXT文件数据中不包括日期字段，通过读取以日期命名的文件名来读取日期。

2.4 新增/修改/删除仪器

点击“新增”可以新增一种仪器类型。“删除”可以删除该仪器。双击选中项，可以修改仪器编号。

2.5 配置仪器来源数据库

点击“数据库配置”，进行仪器来源数据库配置和CNAS数据库选择配置。

在此界面中，分别提供了各种数据类型的来源数据库配置。

1. Excel

是否远程：数据源文件是来自于本地电脑还是局域网内其他电脑

路径：选择（或手动输入）文件（或文件夹）的路径

2. FoxPro

是否远程：数据源文件是来自于本地电脑还是局域网内其他电脑

路径：选择（或手动输入）文件（或文件夹）的路径

用户名：登录名

密码：登录密码

3. Access

是否远程：数据源文件是来自于本地电脑还是局域网内其他电脑

路径：选择（或手动输入）文件（或文件夹）的路径

用户名：登录名

密码：登录密码

4. Sqlite

是否远程：数据源文件是来自于本地电脑还是局域网内其他电脑

路径：选择（或手动输入）文件（或文件夹）的路径

用户名：登录名

密码：登录密码

5. Sql Server

服务器：数据库服务器名或IP地址

数据库名：数据库服务器名

用户名：数据库登录名

密码：数据库登录密码

6. MySql

服务器：数据库服务器名或IP地址

实例名：数据库实例名

用户名：数据库登录名

密码：数据库登录密码

端口号：数据库端口号

7. Oracle

服务器：数据库服务器名或IP地址

实例名：数据库实例名

用户名：数据库登录名

密码：数据库登录密码

端口号：数据库端口号

8. TXT

是否远程：TXT文件是来自于本地电脑还是局域网内其他电脑

路径：选择（或手动输入）文件（或文件夹）的路径

2.6 配置/选择CNAS系统数据库

打开“数据库配置”界面，切换到“目标数据库”，可以在此处进行CNAS数据库配置或选择。

用户可以手动选择在第一节中输入的相关数据库配置参数，也可以手动输入各项参数。

2.7 新增/删除映射字段

用户完成数据库配置后，点击“确认”按钮，主界面中将自动加载数据库中所有表结构。

分别选择设备数据源表和CNAS数据库表，将自动加载该表中各个字段。选择对应的字段，点击“新增映射”，将增加一条字段映射。

在“字段映射信息表”中右键，点击“移除”按钮，可以删除选中的映射信息。

2.8 关键字段和日期字段

在配置映射字段时，用户需要选择“关键字段”和“日期字段”。“关键字段”用来保证抽取数据的唯一性，避免插入到CNAS数据库时覆盖其他的数据。“日期字段”用来表示本条数据产生的日期，避免重复抽取数据从而降低抽取效率。

“关键字段”可以设置多个，一般选择映射字段中“编号”含义的字段。

“日期字段”只能设置一个，在实验室环境中，一般选择本条数据的化验日期字段。

2.9 来源过滤

点击“来源过滤”按钮，进入来源数据过滤界面。

在某些情况下，我们只需要抽取满足一定条件的数据，该界面将提供数据过滤功能，对抽取的数据进行筛选。

当前表名：表示是对该表的内容抽取时进行过滤筛选。

条件之间关系：“与”表示多个条件必须同时满足才能通过筛选。“或”表示多个条件中只要满足一个就能通过筛选。

新增条件：点击后，新增一条空白的条件。

删除条件：点击后，删除选中的条件。

条件列：设定条件数据的来源列，双击后，弹出当前表的所有列，从中选择一列。

条件：设定条件数据的要满足的条件。提供了“等于”“大于”“小于”“包含”“不包含”等多个条件选项，双击后弹出。

条件值：设置条件数据需要满足条件的具体值。提供了“自定义数据”“正则表达式”等多种方式，双击后弹出。

2.10 条件映射

点击“条件映射”按钮，进入条件映射界面。

设置完字段映射后，在某些情况下，需要对插入到CNAS数据库的数据进行额外的处理，该界面实现本功能。

界面提供了下列9种类型的数据处理方式。

1.”等于”

在“值”列中输入内容，同步时，该CNAS字段内的值将等于此处输入的内容。优先级高于普通字段映射字段。

2.“连接”

双击“值”列，弹出参数配置窗口。

点击“选择”将弹出仪器数据源表的所有列，选择某列。同样的方法配置完“参数1”，“参数2”，“参数3”。同步时，CNAS列的数据将等于这三个列数据的连接。（参数可以直接手动输入某值）

3.“若…则…”

双击“值”列，弹出参数配置窗口。

选择仪器数据源的列，点击“新增条件”，在条件列值和当前列值中输入内容。如上图所示。配置好的条件的含义为：

当来源库中COAL_CODE的值等于“1号”时，CNAS中当前字段的值当为“1号房间”；

当来源库中COAL_CODE的值等于“2号”时，CNAS中当前字段的值当为“2号房间”；

当来源库中COAL_CODE的值等于“3号”时，CNAS中当前字段的值当为“3号房间”；

当来源库中COAL_CODE的值等于“4号”时，CNAS中当前字段的值当为“4号房间”；

当来源库中COAL_CODE的值等于“5号”时，CNAS中当前字段的值当为“5号房间”；

当来源库中COAL_CODE的值等于“6号”时，CNAS中当前字段的值当为“6号房间”；

4.”截取”

双击“值”列，弹出参数配置窗口。

该类型主要用于截取字符串数据，在某些情况下，CNAS系统可能只需要仪器初始数据的一部分内容，这就需要采用截断方式获取。如上图所示，参数1表示参与截断的字符或字符串，参数2表示截断后CNAS最后采用的是哪一部分的内容。

5.”乘以”

在“值”列中输入一个数字，同步时，该CNAS字段内的值将等于此处输入的内容乘以映射字段原来的数值。优先级高于普通字段映射字段。

6.“除以”

在“值”列中输入一个数字，同步时，该CNAS字段内的值将等于映射字段原来的数值除以在此处输入的内容。优先级高于普通字段映射字段。

7.“小数位数”

在“值”列中输入一个数字，同步时，该CNAS字段内的值将按照输入内容对映射字段数值进行有效位数处理。优先级高于普通字段映射字段。

8.“数值想加（减）”

双击“值”列，弹出参数配置窗口。

其中参数2表示“操作”。分别选择参数1和参数3，两者都是来源数据源中某一列，同步时，该CNAS字段将等于参数1和参数3根据参数2得到操作后的数值。优先级高于普通字段映射字段。

9.“截断开头（结尾）”

双击“值”列，弹出参数配置窗口。

参数1表示要去掉的字符。参数2表示在开头去掉还是在结尾去掉。同步时，该CNAS字段等于去掉开头（或结尾）参数1后剩余的字符。如果没有找到或者存在多个截断字符，将直接使用未处理的数据。优先级高于普通字段映射字段。

2.11 加载数据

点击“加载数据”按钮，将重新根据配置的数据库读取各个表以及表中的字段内容。

2.12 仪器数据列

CNAS仪器信息列是指定一个CNAS表中字段，存储一个GUID字符串，当多个仪器的数据向同一个CNAS数据表中插入数据时，可以通过该列进行数据区分。该字段为必需字段，否则无法进行数据上传。

3仪器数据展示与传输

双击程序目录中的CNAS_RunSync.exe程序，可以看到下图界面。

3.1 菜单栏功能

点击“数据库配置”，实现第1节内容

点击“同步配置”，实现第2节内容

3.2 数据展示

当打开界面时，将自动抽取仪器数据源中的数据。显示的列是第2节中的映射列。用户可以在该数据列表中查看准备上传CNAS的数据。

用户可以检查准备上传数据的准确性。

值得注意的是，此处显示的数据是未经过“来源过滤”和“条件映射”的数据，表示从仪器数据源抽取的第一手数据，未经过其他处理。

3.3 数据查询与选中

使用数据查询功能，可以查询相关数据。在“列”中可以选择准备查询的列，在“条件”中可以选择查询的方式。

不同格式的列，查询条件也会不同。

数字类型的列的查询条件有："等于","不等于","大于","小于","不大于","不小于"；

文本类型的列的查询条件有："等于", "不等于", "包含", "不包含"；

日期类型的列的查询条件为一个由起始时间和结束时间限定的时间范围，如下图所示。

查询条件设置完成后，点击 [image] 按钮，查询出来的结果与其他数据行背景色不同。

用户也可以通过第一列“选择”实现跟查询功能类似的效果。

3.4 数据上传

点击“执行上传”按钮，将实现第3.3节中选中项的数据上传。

此外，取数端可以进行自动上传，配置好自动服务后，启动服务，可以在本界面可以关闭状态下自动执行上传数据。

3.5 日志窗口

当用户进行多次数据上传时，日志窗口将显示记录的每次上传的具体信息。如果发生错误，日志窗口将显示发生错误的具体行数据，便于分析研究。

4 其它功能

4.1 切换CNAS系统数据库类型

CNAS系统默认使用MySQL数据库存储数据，为了便于后续扩展，取数端除了支持MySQL数据库的数据插入，还支持Oracle数据库格式和DB2数据库格式。

打开程序目录中CNAS_DBSync.exe.config文件。

将上图中“MYSQL”修改成“Oracle”或“DB2”，即可实现该功能。

4.2 远程读取仪器数据

当仪器数据源（Excel,Access,SQLite）不是本地数据源，而是来自于局域网内的其他PC机时，需要进行配置。

1. 将数据源文件所在文件夹共享。

2. 来源数据源配置。

远程用户名：表示访问这台电脑的账号

远程密码：表示访问这台电脑的账号密码

3. 在服务安装PC机中更改用户

右键“计算机”-“管理”-“服务”

找到“SyncService”,右键“属性”

在“属性”的“登录”页签中，输入当前电脑的一个拥有管理员权限的账号和密码。

点击“应用”-“确定”后，配置完成。

4.3 日志文件查看

程序目录中存在ErrorLog，Log，ServiceLog三个文件夹，分别用来存储程序错误日志，执行日志，服务执行日志。可以通过查看文件夹内容查阅相关内容。