资源描述
浙江省食品药品监督管理局
温湿度监管系统
数据传输接口规范
目 录
1 交互方式 3
2 上传文件规范 3
2.1 更改密码 4
2.2更改单位信息 4
2.3增加设备信息 5
2.4修改设备信息 6
2.5删除设备 7
2.6上传仓库信息 8
2.7 上传温湿度记录 8
2.8上传设备报停申请 10
3 参考调用(以JAVA为例,其他语言可参考) 11
3.1上报文件 11
3.2获取解析结果 12
1 交互方式
Ø 调用服务器端上传文件请求上传文件,请求中包含企业代码、企业密码、及上报码。服务器对请求加以认证并保存文件,返回对上报文件认证及存储成功的结果。
Ø 服务器解析文件。
Ø 企业调用处理结果请求,获取已上传文件在服务器端的解析结果。
2 上传文件规范
上传文件名规范
序
号
服务
文档编码
后缀
备注
1
更改密码
ChangePWD-企业代码-时间标记
.xml
新单位由监管部门加入,并提供初始密码及上传码
2
更改单位信息
EditEnterpriseInfo-企业代码-时间标记
3
增加设备
AddDevice-企业代码-时间标记
4
修改设备
ModifyDevice-企业代码-时间标记
5
删除设备
DeleteDevice-企业代码-时间标记
6
上传仓库信息
UploadWarehouse-企业代码-时间标记
7
上传温湿度记录
UploadHumitureRecord-企业代码-时间标记
8
设备报停
ReportStop-企业代码-时间标记
注:
(1)文档编码 主要应用在上传文件的内容中,体现该上传文件的功能性和唯一性。
(2)文档编码 加后缀xml可做为上传文件的文件名。
(3)企业代码 药监局统一编码,如SY33010001
(4)时间标记 到毫秒
上传设备、仓库信息规范
序号
上传项目
命名要求
1
设备代码
企业ID-企业内部设备编号
2
仓库代码
企业ID-企业内部仓库编号
2.1 更改密码
传入XML报文
<UPLOAD>
<!--企业信息-->
<ENTERPRISE>
<!—企业代码-->
<CODE></CODE>
<!—文档编码,标记该文件的功能性和唯一性,生成格式参照文档规范-->
<FILETYPENUMBER></FILETYPENUMBER >
<!—文档生成时间,格式 2011-4-23 10:54:01-->
<FILECREATTIME></ FILECREATTTIME>
</ENTERPRISE>
<!—密码信息-->
<RECORD>
<!—新密码-->
<NEWPWD></ NEWPWD >
</ RECORD >
</UPLOAD>
即时返回上传结果报文:
< RETURN >
<!—成功标志 999成功,其他错误-->
<RETURNCODE></ RETURNCODE >
<!—返回信息 -->
< RETURNINFO></ RETURNINFO >
</ RETURN >
2.2更改单位信息
传入XML报文
<UPLOAD>
<!--企业信息-->
<ENTERPRISE>
<!—企业代码-->
<CODE></CODE>
<!—文档编码,标记该文件的功能性和唯一性,生成格式参照文档规范-->
<FILETYPENUMBER></FILETYPENUMBER >
<!—文档生成时间,格式 2011-4-23 10:54:01-->
<FILECREATTIME></ FILECREATTTIME>
</ENTERPRISE>
<!—单位信息-->
<RECORD>
<!—单位名称-->
<NAME> </ NAME >
<!—地址-->
<ADDRESS></ ADDRESS >
<!—联系人-->
<LINKMAN></ LINKMAN >
<!—联系人电话-->
<LINKMAN_TEL></ LINKMAN_TEL>
<!—类型-->
<TYPE></TYPE>
<!— 质量机构负责人-->
<QUALITY_MAN></QUALITY_MAN>
</ RECORD >
</UPLOAD>
即时返回上传结果报文:
< RETURN >
<!—成功标志 999成功,其他错误-->
<RETURNCODE></ RETURNCODE >
<!—返回信息 -->
< RETURNINFO></ RETURNINFO >
</ RETURN >
2.3增加设备信息
传入XML报文
<UPLOAD>
<!--企业信息-->
<ENTERPRISE>
<!—企业代码-->
<CODE></CODE>
<!—文档编码,标记该文件的功能性和唯一性,生成格式参照文档规范-->
<FILETYPENUMBER></FILETYPENUMBER >
<!—文档生成时间,格式 2011-4-23 10:54:01-->
<FILECREATTIME></ FILECREATTTIME>
</ENTERPRISE>
<!—设备信息-->
<RECORD>
<!—设备代码-->
<ID> </ID>
<!—仓库代码-->
<WAREHOUSEID></ WAREHOUSEID >
<!—摆放位置-->
<LOCATION> </ LOCATION >
</ RECORD >
</UPLOAD>
即时返回上传结果报文:
< RETURN >
<!—成功标志 999成功,其他错误-->
<RETURNCODE></ RETURNCODE >
<!—返回信息 -->
< RETURNINFO></ RETURNINFO >
</ RETURN >
2.4修改设备信息
传入XML报文
<UPLOAD>
<!--企业信息-->
<ENTERPRISE>
<!—企业代码-->
<CODE></CODE>
<!—文档编码,标记该文件的功能性和唯一性,生成格式参照文档规范-->
<FILETYPENUMBER></FILETYPENUMBER >
<!—文档生成时间,格式 2011-4-23 10:54:01-->
<FILECREATTIME></ FILECREATTTIME>
</ENTERPRISE>
<!—设备信息-->
<RECORD>
<!—设备代码-->
<ID> </ID>
<!—仓库代码-->
<WAREHOUSEID></ WAREHOUSEID >
<!—摆放位置-->
<LOCATION></ LOCATION >
</ RECORD >
</UPLOAD>
即时返回上传结果报文:
< RETURN >
<!—成功标志 999成功,其他错误-->
<RETURNCODE></ RETURNCODE >
<!—返回信息 -->
< RETURNINFO></ RETURNINFO >
</ RETURN >
2.5删除设备
传入XML报文
<UPLOAD>
<!--企业信息-->
<ENTERPRISE>
<!—企业代码-->
<CODE></CODE>
<!—文档编码,标记该文件的功能性和唯一性,生成格式参照文档规范-->
<FILETYPENUMBER></FILETYPENUMBER >
<!—文档生成时间,格式 2011-4-23 10:54:01-->
<FILECREATTIME></ FILECREATTTIME>
</ENTERPRISE>
<!—删除设备-->
<RECORD>
<!—设备代码->
<ID></ID>
</ RECORD >
</UPLOAD>
即时返回上传结果报文:
< RETURN >
<!—成功标志 999成功,其他错误-->
<RETURNCODE></ RETURNCODE >
<!—返回信息 -->
< RETURNINFO></ RETURNINFO >
</ RETURN >
2.6上传仓库信息
传入XML报文
<UPLOAD>
<!--企业信息-->
<ENTERPRISE>
<!—企业代码-->
<CODE></CODE>
<!—文档编码,标记该文件的功能性和唯一性,生成格式参照文档规范-->
<FILETYPENUMBER></FILETYPENUMBER >
<!—文档生成时间,格式 2011-4-23 10:54:01-->
<FILECREATTIME></ FILECREATTTIME>
</ENTERPRISE>
<RECORD>
<!—仓库代码-->
<WAREHOUSEID></ WAREHOUSEID>
<!—仓库名称-->
<WAREHOUSE></ WAREHOUSE>
<!—仓库地址-->
<ADDRESS></ ADDRESS>
<!—类型1冷库 2阴凉库 3常温库 4冷藏车-->
<TYPE></ TYPE>
<!—主要剂型-->
<DRUG></ DRUG>
</ RECORD >
</UPLOAD>
即时返回上传结果报文:
< RETURN >
<!—成功标志 999成功,其他错误-->
<RETURNCODE></ RETURNCODE >
<!—返回信息 -->
< RETURNINFO></ RETURNINFO >
</ RETURN >
2.7 上传温湿度记录
传入XML报文
<UPLOAD>
<!--企业信息-->
<ENTERPRISE>
<!—企业代码-->
<CODE></CODE>
<!—文档编码,标记该文件的功能性和唯一性,生成格式参照文档规范-->
<FILETYPENUMBER></FILETYPENUMBER >
<!—文档生成时间,格式 2011-4-23 10:54:01-->
<FILECREATTIME></ FILECREATTTIME>
</ENTERPRISE>
<!—温湿度记录,1条或多条-->
<RECORD>
<!—设备代码-->
<ID> </ID>
<!—温度 (只能是数字,可以包括两位小数)-->
< TEMPERATURE ></ TEMPERATURE >
<!—湿度 (只能是数字,可以包括两位小数)-->
< HUMIDITY ></ HUMIDITY >
<!—检测时间 yyyy-MM-dd hh:mm:ss-->
< TIME></TIME >
</ RECORD >
<RECORD>
<!—设备代码-->
<ID> </ID>
<!—温度 (只能是数字,可以包括两位小数)-->
< TEMPERATURE ></ TEMPERATURE >
<!—湿度 (只能是数字,可以包括两位小数)-->
< HUMIDITY ></ HUMIDITY >
<!—检测时间 yyyy-MM-dd hh:mm:ss-->
< TIME></TIME >
</ RECORD >
</UPLOAD>
即时返回上传结果报文:
< RETURN >
<!—成功标志 999成功,其他错误-->
<RETURNCODE></ RETURNCODE >
<!—返回信息 -->
< RETURNINFO></ RETURNINFO >
</ RETURN >
2.8上传设备报停申请
传入XML报文:
<UPLOAD>
<!--企业信息-->
<ENTERPRISE>
<!—企业代码-->
<CODE></CODE>
<!—文档编码,标记该文件的功能性和唯一性,生成格式参照文档规范-->
<FILETYPENUMBER></FILETYPENUMBER >
<!—文档生成时间,格式 2011-4-23 10:54:01-->
<FILECREATTIME></ FILECREATTTIME>
</ENTERPRISE>
<!—报停设备列表-->
<RECORD>
<!—设备代码-->
<ID> </ID>
<!—仓库代码-->
<WAREHOUSEID></ WAREHOUSE ID>
<!—摆放位置-->
<LOCATION></ LOCATION >
<!—报停申请日期 yyyy-MM-dd hh:mm:ss -->
<REPORT_DATE> </REPORT_DATE>
<!—报停起时间 yyyy-MM-dd hh:mm:ss -->
<START_DATE></ START_DATE>
<!—报停止时间 yyyy-MM-dd hh:mm:ss - ->
<STOP_DATE></ STOP_DATE>
<!—报停原因-->
<REASON></ REASON >
</ RECORD >
<RECORD>
<!—设备代码-->
<ID> </ID>
<!—仓库代码-->
<WAREHOUSEID></ WAREHOUSE ID>
<!—摆放位置-->
<LOCATION></ LOCATION >
<!—报停申请日期 yyyy-MM-dd hh:mm:ss -->
<REPORT_DATE> </REPORT_DATE>
<!—报停起时间 yyyy-MM-dd hh:mm:ss -->
<START_DATE></ START_DATE>
<!—报停止时间 yyyy-MM-dd hh:mm:ss - ->
<STOP_DATE></ STOP_DATE>
<!—报停原因-->
<REASON></ REASON >
</ RECORD >
</UPLOAD>
即时返回上传结果报文:
< RETURN >
<!—成功标志 999成功,其他错误-->
<RETURNCODE></ RETURNCODE >
<!—返回信息 -->
< RETURNINFO></ RETURNINFO >
</ RETURN >
3 参考调用(以java为例,其他语言可参考)
3.1上报文件
public class Test {
public static void main(String[] args) {
try{
HttpClient client = new HttpClient();
client.getHostConfiguration().setHost("",8080,"http");
PostMethod mPost=new PostMethod("/upload");
File file=new File("*****.xml"); //上传的文件
Part[] part = {new FilePart("xmlfile",file),new StringPart("corp_id","SY33010001"),new StringPart("corp_pwd","123456"),new StringPart("uploadcode","f9ebfdc79add5a00fbb3a06e9df994864ec02d07dc64943d843eacd97d3d670f")}; //请求参数
mPost.setRequestEntity( new MultipartRequestEntity(part, mPost.getParams())); client.getHttpConnectionManager().getParams().setConnectionTimeout(8000);
int statusCode=client.executeMethod(mPost);
if(statusCode==HttpStatus.SC_OK)
{
String res=mPost.getResponseBodyAsString();
System.out.println(res); //res为上传处理结果,格式同文档规范。
}
mPost.releaseConnection();
}catch(Exception e){e.printStackTrace();}
}
3.2获取解析结果
public class Test {
public static void main(String[] args) {
try{
HttpClient client = new HttpClient();
client.getHostConfiguration().setHost("",8080,"http");
PostMethod mPost=new PostMethod("/query"); //该参数表示为查询
mPost.addParameter("corp_id"," SY33010001");
mPost.addParameter("corp_pwd","JQ33010009");
mPost.addParameter("uploadcode"," f9ebfdc79add5a00fbb3a06e9df994864ec02d07dc64943d843eacd97d3d670f ");
mPost.addParameter("date_from", "2011-4-29 10:00:00"); //获取返回时间段起时间
mPost.addParameter("date_to", "2011-4-30 11:00:00");//获取返回时间段止时间
mPost.addParameter("filetypenumber", "UploadHumitureRecord-123456321");//可选参数,单独获取某已上传文件编码的解析结果 client.getHttpConnectionManager().getParams().setConnectionTimeout(8000);
int statusCode = client.executeMethod(mPost);
if(statusCode==HttpStatus.SC_OK)
{
String res=mPost.getResponseBodyAsString();
System.out.println(res); //res为返回内容
}
mPost.releaseConnection();
}catch(Exception e){e.printStackTrace();}
}
//返回解析内容格式
<RETURN>
<RECODE>
<FILETYPENUMBER>文件编码</FILETYPENUMBER>
<RESULT>解析结果</RESULT>
<FILENAME>文件名</FILENAME>
<PARSEDATE>解析日期<PARSEDATE>
</RECODE>
<RECODE>
……
</RECODE>
</RETURN>
展开阅读全文