新抽样单协议

1. 抽样单协议

为了实现抽样系统中电子抽样单的灵活性,修改原抽样系统中的问题,修改抽样单协议如下。(协议括号中的英文为服务器与手机端传输时定义的Key,未经允许,不可修改。)

1.1 抽样单结构

0抽样单仿照纸质抽样单,但比纸质抽样单功能更加丰富,抽样单的结构如下:

1
2
3
4
--单元格(cell)
--单元格(cell)
...
--单元格(cell)

以上是一张抽样单,由多个单元格组成,没有其他任何杂项。 如果需要添加功能,需要在单元格类型属性中添加类型。 用户通过在线设计不同功能的单元格实现不同功能的抽样单。

1.2 单元格属性

为了实现单元格的多样性,单元格具有多个属性,这些属性在使用在线设计抽样单功能时可以进行修改,下发到手机后,单元格的属性不可修改,手机根据不同的单元格类型(单元格属性之一) 属性,解析成不同的单元格。

下面介绍单元格的属性:

  • 单元格名称(cell_name): 在制表时由用户填写,例如,“样品名称”,“亩产量”等
  • 单元格类型(cell_type): 在制表时由用户选择,例如,文本类,填写类,照相类等。
  • 单元格值(cell_value): 在制表时由用户填写,此属性仅对部分类型单元格有效,如填写类和选择类,其他单元格不受此属性影响。
  • 单元格是否可编辑(cell_editable): 以下全为二值型属性(T,F,分别代表True,False),在制表时选择。此属性仅对部分类型单元格有效,如填写类,其他单元格不受此属性影响。
  • 单元格是否为必填(cell_fill_required): 同上,手机端的必填项单元格如果不填写不能保存
  • 单元格是否可打印(cell_printable): 同上,代表单元格是否具有打印功能
  • 单元格是否默认勾选打印(cell_default_print): 同上,代表单元格打印的默认勾选状态
  • 单元格可否被加样(cell_copyable): 同上。关于加样功能,解释如下:假设以下场景,在同一个村采100个样品,抽样单中的“抽样所在村”单元格每次都要填写相同的村名,而其他的单元格“样品编号等” 则每次填写不同的内容,所以为了方便采样人员在填写抽样单模板时不必每次填写重复内容,本系统设计了加样功能,即填写抽样单时,在不退出当前模板的界面,点击“加样”按钮后,可被加样的单元格(需要改变内容的单元格)被复制,而不可被加样的单元格(不需要改变内容的单元格)不被复制,最后采样人员在一个模板界面可一键保存成多个抽样单。单元格的可否被加样属性需要抽样单设计者在制作抽样单时设计好。

除了以上的属性,开发者可以通过添加单元格类型来增加抽样单功能。但是,开发者在开发网页端和手机端时一定要谨慎:要将不同属性的单元格封装好,日后如果需要添加单元格属性,只需要对新的单元格类型进行封装即可进行二次开发。

可以看出,抽样单是由多个单元格组成,每个单元格具有多个属性,其中单元格的功能体现在单元格类型上,这好比一个公司(抽样单)又许多员工(单元格)组成,每个员工具有多个不同的属性(性别,姓名,工种等),而员工的功能体现在工种(单元格类型)上。

1.3 单元格类型

为了增加抽样单的功能,目前的单元格类型有以下(按常用程度排序):

  • 抽样序列号单元格(type_serial_number): 用户标识抽样单的唯一编号,同时用于将抽样单和样品关联。格式如“W170001”,是最为常用的类型,是否可编辑为否,可否被加样为是,是否为必填为是

  • 填写单元格(type_edit_text): 用于手机端填写信息,所有单元格属性对其生效。

  • 显示单元格(type_text): 仅用于显示信息,单元格是否可编辑属性、单元格是否为必填属性对其无效

  • 单选单元格(type_radio): 用于进行单项选择,如单元格名称为“自然灾害情况”,单元格值为“洪灾,涝灾”。单元格是否可编辑属性对其无效

  • 多选单元格(type_multi_select): 用于进行多项选择,如单元格名称为“喷洒农药名称”,可能喷洒多种农药,单元格值为“A药,B药”。单元格是否可编辑属性对其无效

  • 二级多选单选单元格(type_multi_then_single_choice): 一级为多选,二级也为单选。用于对单选的内容进行补充,如上述自然灾害情况,单元格值为“洪灾,涝灾;轻微,一般,严重”,即可在选择完灾害后,选择严重程度。单元格是否可编辑属性对其无效

  • 地理位置坐标单元格(type_geographic_coordinates): 显示采样人员所在的经纬度。单元格值、单元格是否可编辑属性对其无效

  • 地址单元格(type_address): 用于显示采样人员所在的地址信息,如“XX市,XX区,XX县”。

  • 拍照单元格(type_photos): 用于采集照片。单元格值、单元格是否可打印、单元格是否默认勾选打印属性对其无效

  • 录像单元格(type_vedios): 用于拍摄视频。单元格值、单元格是否可打印、单元格是否默认勾选打印属性对其无效

  • 自动记录日期单元格(type_auto_record_date): 用于自动记录日期,如”XXXX年XX月XX日”。单元格值、单元格是否可编辑属性对其无效

  • 自动记录时间单元格(type_auto_record_time): 用于自动记录时间,如“XX时XX分”。单元格、单元格是否可编辑属性对其无效

  • 日期选择单元格(type_date_select): 用于用于手动选择日期。单元格值、单元格是否可编辑属性对其无效

  • 签名单元格(type_sign) 用于签名。单元格值、单元格是否可编辑、单元格是否可打印、单元格是否默认勾选打印属性对其无效

2. Json实例

下面的Json为使用该协议时,服务器与手机端传送的抽样单数据:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
{
"specimen_sheet": [
{
"cell_name": "样品编号",
"cell_type": "type_serial_number",
"cell_value": " ",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "抽样地点",
"cell_type": "type_address",
"cell_value": "",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "抽样地点经纬度",
"cell_type": "type_geographic_coordinates",
"cell_value": "",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "品种名称",
"cell_type": "type_edit_text",
"cell_value": " ",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "样品照片",
"cell_type": "type_photos",
"cell_value": "",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "F",
"cell_default_print": "F",
"cell_copyable": "T"
},
{
"cell_name": "采样视频",
"cell_type": "type_vedios",
"cell_value": "",
"cell_editable": "T",
"cell_fill_required": "F",
"cell_printable": "F",
"cell_default_print": "F",
"cell_copyable": "T"
},
{
"cell_name": "该品种种植面积(亩)",
"cell_type": "type_edit_text",
"cell_value": " ",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "地力级别",
"cell_type": "type_radio",
"cell_value": "1级地,2级地,3级地",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "预估亩产水平(每亩)",
"cell_type": "type_radio",
"cell_value": "200-250,250-300,300-350,350-400,400-450,450-500,500以上",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "播种日期",
"cell_type": "type_date_select",
"cell_value": "",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "F",
"cell_default_print": "F",
"cell_copyable": "T"
},
{
"cell_name": "取样时间",
"cell_type": "type_auto_record_date",
"cell_value": "",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "F",
"cell_default_print": "F",
"cell_copyable": "T"
},
{
"cell_name": "施用农药情况",
"cell_type": "type_edit_text",
"cell_value": " ",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "F",
"cell_default_print": "F",
"cell_copyable": "T"
},
{
"cell_name": "主要气象灾害",
"cell_type": "type_multi_then_single_choice",
"cell_value": "干旱,洪涝,高温,低温;严重,一般,轻微",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "主要病虫害发生情况",
"cell_type": "type_multi_then_single_choice",
"cell_value": "条锈病,赤霉病,白粉病,纹枯病,蚜虫,麦蜘蛛,吸浆虫;严重,一般,轻微",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "病虫害情况照片",
"cell_type": "type_photos",
"cell_value": "",
"cell_editable": "T",
"cell_fill_required": "F",
"cell_printable": "F",
"cell_default_print": "F",
"cell_copyable": "T"
},
{
"cell_name": "采样人签名",
"cell_type": "type_sign",
"cell_value": "",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "F",
"cell_default_print": "F",
"cell_copyable": "F"
}
]
}

以上Json已经通过校验。

抽样单填写完成后,服务器收到的内容为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
{
"specimen_sheet": [
{
"cell_name": "样品编号",
"cell_type": "type_serial_number",
"cell_value": "W170103",
"cell_editable": "F",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "抽样地点",
"cell_type": "type_address",
"cell_value": "黑龙江省哈尔滨市南岗区汇文广场",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "抽样地点经纬度",
"cell_type": "type_geographic_coordinates",
"cell_value": "经度:126.628284\n纬度:45.715476\n定位类型:网络定位",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "品种名称",
"cell_type": "type_edit_text",
"cell_value": " 1",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "样品照片",
"cell_type": "type_photos",
"cell_value": "CAMERA_868030021837446170514165338.jpg",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "F",
"cell_default_print": "F",
"cell_copyable": "T"
},
{
"cell_name": "采样视频",
"cell_type": "type_vedios",
"cell_value": "",
"cell_editable": "T",
"cell_fill_required": "F",
"cell_printable": "F",
"cell_default_print": "F",
"cell_copyable": "T"
},
{
"cell_name": "该品种种植面积(亩)",
"cell_type": "type_edit_text",
"cell_value": " 38",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "地力级别",
"cell_type": "type_radio",
"cell_value": "3级地",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "预估亩产水平(每亩)",
"cell_type": "type_radio",
"cell_value": "300-350",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "播种日期",
"cell_type": "type_date_select",
"cell_value": "2017-05-14",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "F",
"cell_default_print": "F",
"cell_copyable": "T"
},
{
"cell_name": "取样时间",
"cell_type": "type_auto_record_date",
"cell_value": "2017-05-14",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "F",
"cell_default_print": "F",
"cell_copyable": "T"
},
{
"cell_name": "施用农药情况",
"cell_type": "type_edit_text",
"cell_value": " 38",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "F",
"cell_default_print": "F",
"cell_copyable": "T"
},
{
"cell_name": "主要气象灾害",
"cell_type": "type_multi_then_single_choice",
"cell_value": "高温,一般;",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "主要病虫害发生情况",
"cell_type": "type_multi_then_single_choice",
"cell_value": "赤霉病,一般;",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "T",
"cell_default_print": "T",
"cell_copyable": "T"
},
{
"cell_name": "病虫害情况照片",
"cell_type": "type_photos",
"cell_value": "",
"cell_editable": "T",
"cell_fill_required": "F",
"cell_printable": "F",
"cell_default_print": "F",
"cell_copyable": "T"
},
{
"cell_name": "采样人签名",
"cell_type": "type_sign",
"cell_value": "SIGN_868030021837446170514165225.jpg",
"cell_editable": "T",
"cell_fill_required": "T",
"cell_printable": "F",
"cell_default_print": "F",
"cell_copyable": "F"
}
]
}
Author

calvinche

Posted on

2017-04-17

Licensed under

CC BY-NC-SA 4.0

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×