| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- NUMBER_FIELDS = (
- 'declaration_numbers',
- 'sys_bl_numbers',
- 'container_codes',
- 'order_numbers',
- 'clearance_numbers',
- 'customer_names',
- 'so_numbers',
- 'bl_numbers',
- 'trailer_numbers',
- 'truck_bol_numbers',
- 'provider_names',
- 'importer_names',
- )
- NUMBER_FIELD_LABELS = {
- 'declaration_numbers': '报关单号',
- 'sys_bl_numbers': '系统提单号',
- 'container_codes': '柜号',
- 'order_numbers': '订单号',
- 'clearance_numbers': '清关单号',
- 'customer_names': '客户',
- 'so_numbers': 'SO号',
- 'bl_numbers': '提单号',
- 'trailer_numbers': '拖车单',
- 'truck_bol_numbers': '卡车单号',
- 'provider_names': '供应商',
- 'importer_names': '进口商',
- }
- FILTER_TYPES = ('查询文档类型', '添加文档类型', '录入单号种类')
- UPLOAD_PATH = '/mcp/upload-headhaul-document'
- def number_list(values, field):
- if not isinstance(values, list) or not values:
- raise ValueError(field + ' is invalid')
- result = []
- for value in values:
- if not isinstance(value, str):
- raise ValueError(field + ' is invalid')
- value = value.strip()
- if not value or len(value) > 100:
- raise ValueError(field + ' is invalid')
- if value not in result:
- result.append(value)
- if len(result) > 200:
- raise ValueError('at most 200 numbers are allowed')
- return result
- def bounded_integer(value, field):
- if isinstance(value, bool) or not isinstance(value, int):
- raise ValueError(field + ' is invalid')
- if value < 1 or value > 100:
- raise ValueError(field + ' is invalid')
- return value
- def number_properties():
- properties = {}
- for field, label in NUMBER_FIELD_LABELS.items():
- properties[field] = {
- 'type': 'array',
- 'minItems': 1,
- 'maxItems': 200,
- 'items': {
- 'type': 'string',
- 'minLength': 1,
- 'maxLength': 100,
- 'pattern': '.*\\S.*',
- },
- 'description': (
- '{0}数组。仅当用户明确说{0}时使用;不得与其他号码种类混放。'
- .format(label)
- ),
- }
- return properties
|