公司内部握手协议

 

握手协议

定义一个byte类型数组发送(或接收),第一位做为判断的校验头&HAA、&HBB、&HCC、&HDD、&HEE、&HFF,第二位为窗体代码,第三位为功能码,第四位、第五位、第六位、第七位文件字节总数(高位在前、低位在后)。

发送(接收)内容均以文本文件形式出现,其中发送文件保存为本地路径下olshineS.hov,接收文件保存为本地路径下olshineR.hov。

    

发送(接收)格式:

0xAA、0xBB、0xCC、0xDD、0xEE、0xFF,窗体代码,功能码,文件拆分总章节数高位(两位),文件拆分总章节数低位(两位),……发送(接收)内容……

 

Switch case 窗体代码

Case 0x01    请求连接窗体

1.客户端发送请求

功能码  0x00        无请求(即正常连接数据库)

发送内容   

服务端回复:

a.     如数据库存在

功能码 0x00

发送内容 succeed

b.  如数据库不存在

功能码 0x00

发送内容 loss

    2.客户端发送请求

        功能码  0x01    发送数据库文件以备还原

        发送内容    数据库恢复文件

      服务端回复:

a.       还原成功

功能码  0x01

发送内容  succeed

b.       还原失败

功能码  0x01

发送内容  loss

 

Case 0x02    登陆窗体

1.     客户端发送请求

功能码 0x01 调用所有用户名(read)

发送内容

服务端回复:

功能码 0x01

发送内容 XXXXX;XXX;XX   姓名字符串(按登陆排序,第一个为上次系统登陆用户)

 

2.     客户端发送请求

功能码 0x01 验证当前登陆用户密码(write)

发送内容 XXXXX 当前用户所输入的密码

服务端回复:

功能码 0x01

发送内容   right/error 密码正确与否

 

Case 0x03    系统字典

1.     客户端发送请求:

功能码 0x01 请求部门表数据

发送内容  

服务端回复:

功能码 0x01

发送内容   xxx;xxx;……;xxx & 回车符

     xxx;xxx;……;xxx & 回车符

     ………………

     xxx;xxx;……;xxx (所有数据集内容,按字段顺序发送,每行为一行数据集内容)

 

2.     客户端发送请求:

功能码 0x02 请求科目代码表数据

发送内容  

服务端回复:

功能码 0x02

发送内容   xxx;xxx;……;xxx & 回车符

     xxx;xxx;……;xxx & 回车符

     ………………

     xxx;xxx;……;xxx (所有数据集内容,按字段顺序发送,每行为一行数据集内容)

 

3.     客户端发送请求:

功能码 0x11 请求新增部门表数据

发送内容   xxx;xxx;……;xxx(修改的数据集内容)

服务端回复:

功能码 0x11

发送内容   succeed/loss 成功/失败

 

4.     客户端发送请求:

功能码 0x21 请求修改部门表数据

发送内容   xxx;xxx;……;xxx(修改的数据集内容)

服务端回复:

功能码 0x21

发送内容   succeed/loss 成功/失败

 

5.     客户端发送请求:

功能码 0x31 请求删除部门表数据

发送内容   xxx;xxxx (删除的数据集内容,xxx代表删除内容的部门ID,xxxx代表部门名称)

服务端回复:

功能码 0x31

发送内容   succeed/loss 成功/失败

 

6.     客户端发送请求:

功能码 0x12 请求新增科目表数据

发送内容   xxx;xxx;……;xxx(新增的数据集内容)

服务端回复:

功能码 0x12

发送内容   succeed/loss 成功/失败

 

7.     客户端发送请求:

功能码 0x22 请求修改科目表数据

发送内容   xxx;xxx;……;xxx(修改的数据集内容)

服务端回复:

功能码 0x22

发送内容   succeed/loss 成功/失败

 

Case 0x04    季度计划窗体

1.     客户端发送请求:

功能码:0x01 请求机关部门名称

发送内容  

服务端回复:

功能码 0x01

发送内容:xxx;xx(机关名称;是否分劈)

 

2.     客户端发送请求:

功能码 0x02 请求科目代码表数据

发送内容  

服务端回复:

功能码 0x02

发送内容   xxx;xxx;……;xxx & 回车符

     xxx;xxx;……;xxx & 回车符

     ………………

     xxx;xxx;……;xxx (所有数据集内容,按字段顺序发送,每行为一行数据集内容)

 

3.     客户端发送请求:

功能码 0x03 请求当前选择部门对应的科目显示

发送内容   xxx;xxxx(部门名称,当前年份)

服务端回复:     

功能码 0x03

发送内容   xxx;xxx;……;xxx & 回车符

     xxx;xxx;……;xxx & 回车符

     ………………

     xxx;xxx;……;xxx (所有数据集内容,按字段顺序发送,每行为一行数据集内容)

 

4.     客户端发送请求:

功能码 0x04 存储新增(或修改)部门对应科目

发送内容   xxx;xxx;……;xxx(需新增或修改的内容,第一位部门名称,第二位科目代码,倒数第二位当前年份,最后一位为当前月份)

服务端回复:

功能码 0x04

发送内容   succeed/loss 成功/失败

 

5.     客户端发送请求:

功能码 0x05 删除选择的部门对应科目

发送内容   xx;xxx;xxxx;xxxxx(xx为所要删除的id,xxx为部门名称,xxxx为科目代码,xxxxx为当前年份)

服务端回复:

功能码 0x05

发送内容   succeed/loss 成功/失败

 

Case 0x05    年度计划窗体

1.     客户端发送请求:

功能码:0x01 请求车间部门名称

发送内容  

服务端回复:

功能码 0x01

发送内容:xxx(车间名称)

 

2.     客户端发送请求:

功能码 0x02 请求科目代码表数据

发送内容  

服务端回复:

功能码 0x02

发送内容   xxx;xxx;……;xxx & 回车符

     xxx;xxx;……;xxx & 回车符

     ………………

     xxx;xxx;……;xxx (所有数据集内容,按字段顺序发送,每行为一行数据集内容)

 

3.     客户端发送请求:

功能码 0x03 请求当前选择部门对应的科目显示

发送内容   xxx;xxxx(部门名称,当前年份)

服务端回复:     

功能码 0x03

发送内容   xxx;xxx;……;xxx & 回车符

     xxx;xxx;……;xxx & 回车符

     ………………

     xxx;xxx;……;xxx (所有数据集内容,按字段顺序发送,每行为一行数据集内容)

 

4.     客户端发送请求:

功能码 0x04 存储新增(或修改)部门对应科目

发送内容   xxx;xxx;……;xxx(需新增或修改的内容,第一位部门名称,第二位科目代码,倒数第二位当前年份,最后一位为当前月份)

服务端回复:

功能码 0x04

发送内容   succeed/loss 成功/失败

 

5.     客户端发送请求:

功能码 0x05 删除选择的部门对应科目

发送内容   xx;xxx;xxxx;xxxxx(xx为所要删除的id,xxx为部门名称,xxxx为科目代码,xxxxx为当前年份)

服务端回复:

功能码 0x05

发送内容   succeed/loss 成功/失败

Case 0x06    追加计划窗体

1.     客户端发送请求:

功能码:0x01 请求所有部门名称

发送内容  

服务端回复:     

功能码 0x01

发送内容:xxx(部门名称)

 

2.     客户端发送请求:

功能码 0x03 请求当前选择部门对应的科目显示

发送内容   xxx;xxxx(部门名称,当前年份)

服务端回复:     

功能码 0x03

发送内容   xxx;xxx;……;xxx & 回车符

     xxx;xxx;……;xxx & 回车符

     ………………

     xxx;xxx;……;xxx (所有数据集内容,按字段顺序发送,每行为一行数据集内容)

 

3.     客户端发送请求:

功能码 0x04 存储新增部门对应科目追加金额

发送内容   xxx;xxx;……;xxx(需新增或修改的内容,第一位部门名称,第二位科目代码,倒数第二位当前年份,最后一位为当前月份)

服务端回复:

功能码 0x04

发送内容   succeed/loss 成功/失败

 

 

Case 0x07    报销窗体

1.     客户端发送请求:

功能码:0x01 请求所有部门名称

发送内容  

服务端回复:     

功能码 0x01

发送内容:xxx(部门名称)

 

2.     客户端发送请求:

功能码 0x03 请求当前选择部门对应的科目,余额

发送内容   xxx;xxxx;xxx(部门名称,当前年份,当前月份)

服务端回复:     

功能码 0x03

发送内容   xxx;xxx;……;xxx & 回车符

     xxx;xxx;……;xxx & 回车符

     ………………

     xxx;xxx;……;xxx (所有数据集内容,按字段顺序发送,每行为一行数据集内容)

 

3.     客户端发送请求:

功能码 0x04 存储新的支出

发送内容   xxx;xxx;……;xxx(新支出内容,第一位部门名称,第二位科目代码,倒数第四位当前年份,倒数第三位为当前月份,倒数第二位为最新总支出数,最后一位为最新余额)

服务端回复:

功能码 0x04

发送内容   succeed/loss 成功/失败

 

Case 0x08    结转窗体

1.     客户端发送请求:

功能码 0x01 结转

发送内容   xxx;xxxx(当前年份;当前月份)

服务端回复:

功能码 0x01

发送内容   succeed/loss 成功/失败

 

Case 0x09    追加查询窗体

1.     客户端发送请求:

功能码 0x01 请求追加表Addplans里所有部门数据

发送内容  

服务端回复:

功能码 0x01

发送内容   xxx;xxx;……;xxx(所有部门数据)

    

2.     客户端发送请求:

功能码 0x02 请求所有根据条件的查询结果

发送内容   xxx;xxx;xxx;xxx;xxxx(查询起始时间;查询结束时间;部门;追加人;文件编号)

服务端回复:

功能码 0x02

发送内容   xxx;xxx;xxx;xxx;xxx;xxx;xxx;xxx;xx;xx & 回车符

     ………………

     xxx;xxx;xxx;xxx;xxx;xxx;xxx;xxx(部门名称;科目代码;科目名称;文件编号;文件发布日期;追加人;追加日期;追加金额;当前年份;当前月份。其中最后两位没用,只是为了sql语句写的方便,可不处理)

 

 

Case 0x0A    支票查询窗体

1.     客户端发送请求:

功能码 0x01 请求报销表Apply里所有部门数据

发送内容  

服务端回复:

功能码 0x01

发送内容   xxx;xxx;……;xxx(所有部门数据)

    

2.     客户端发送请求:

功能码 0x02 请求所有根据条件的查询结果

发送内容   xxx;xxx;xxx;xxx;xxxx(查询起始时间;查询结束时间;部门;报销类型;支票编号)

服务端回复:

功能码 0x02

发送内容   xxx;xxx;xxx;……;xxx;xxx;xxx;& 回车符

     ………………

     xxx;xxx;xxx;……;xxx;xxx;xxx(部门名称;科目代码;科目名称;报销人;摘要;报销类型;支票号码;报销时间;报销金额;当前年份;当前月份。其中最后两位没用,只是为了sql语句写的方便,可不处理)

 

Case 0x0B    部门汇总窗体

1.     客户端发送请求:、

功能码 0x01 请求所有已用部门数据

发送内容  

服务端回复

功能码 0x01

发送内容   xxx(部门名称)

 

2.     客户端发送请求:

功能码 0x02 请求查询数据

发送内容   xxx;xxx;xxx(部门名称;查询年份;查询月份 注:部门名称为空则代表查询所有部门)

服务端回复:

功能码 0x02

发送内容   xxx;xxx;……;xxx & 回车符

     …… ……

     xxx;xxx;……;xxx(部门名称;科目代码;科目名称;计划数;追加数;上月余额;支出数;余额;年份;月份。其中最后两位没用,只是为了sql语句写的方便,可不处理)

 

Case 0x0C    科目汇总窗体

1.     客户端发送请求:、

功能码 0x01 请求所有已用科目数据

发送内容  

服务端回复

功能码 0x01

发送内容   xxx(科目代码)

 

2.     客户端发送请求:

功能码 0x02 请求查询数据

发送内容   xxx;xxx;xxx(科目代码;查询年份;查询月份 注:科目代码为空则代表查询所有部门)

服务端回复:

功能码 0x02

发送内容   xxx;xxx;……;xxx & 回车符

     …… ……

     xxx;xxx;……;xxx(部门名称;科目代码;科目名称;计划数;追加数;上月余额;支出数;余额;年份;月份。其中最后两位没用,只是为了sql语句写的方便,可不处理)

 

 

 

Case 0x0D     删除数据窗体

1.  客户端发送请求:

功能码 0x01 请求删除数据库中相应记录

发送内容   xxx(删除年份)

服务端回复:

功能码 0x01

发送内容   succeed/loss 成功/失败

 

    Case 0x0E    备份数据窗体

1.     客户端发送请求:

功能码 0x01 请求备份当前数据库

发送内容  

服务端回复:

功能码 0x01

发送内容   数据库备份文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值