tachain-sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +21 -0
  4. data/README.md +226 -0
  5. data/Rakefile +10 -0
  6. data/git_push.sh +54 -0
  7. data/lib/tachain-sdk/api/api_declaration_api.rb +396 -0
  8. data/lib/tachain-sdk/api/api_delivery_api.rb +676 -0
  9. data/lib/tachain-sdk/api/api_enum_api.rb +94 -0
  10. data/lib/tachain-sdk/api/api_order_api.rb +846 -0
  11. data/lib/tachain-sdk/api/api_order_workflow_api.rb +170 -0
  12. data/lib/tachain-sdk/api/api_production_api.rb +466 -0
  13. data/lib/tachain-sdk/api_client.rb +397 -0
  14. data/lib/tachain-sdk/api_error.rb +58 -0
  15. data/lib/tachain-sdk/api_model_base.rb +88 -0
  16. data/lib/tachain-sdk/configuration.rb +329 -0
  17. data/lib/tachain-sdk/models/api_declaration_delete_request.rb +341 -0
  18. data/lib/tachain-sdk/models/api_declaration_document_request.rb +209 -0
  19. data/lib/tachain-sdk/models/api_declaration_list_dto.rb +251 -0
  20. data/lib/tachain-sdk/models/api_declaration_submit_request.rb +251 -0
  21. data/lib/tachain-sdk/models/api_declaration_submit_result_dto.rb +197 -0
  22. data/lib/tachain-sdk/models/api_integration_delete_request.rb +209 -0
  23. data/lib/tachain-sdk/models/api_order_confirm_receipt_request.rb +216 -0
  24. data/lib/tachain-sdk/models/api_order_submit_audit_request.rb +243 -0
  25. data/lib/tachain-sdk/models/api_response_api_declaration_list_dto.rb +199 -0
  26. data/lib/tachain-sdk/models/api_response_api_declaration_submit_result_dto.rb +199 -0
  27. data/lib/tachain-sdk/models/api_response_delivery_note_api_dto.rb +199 -0
  28. data/lib/tachain-sdk/models/api_response_order_api_dto.rb +199 -0
  29. data/lib/tachain-sdk/models/api_response_production_api_dto.rb +199 -0
  30. data/lib/tachain-sdk/models/api_response_string.rb +200 -0
  31. data/lib/tachain-sdk/models/attachment_in_api_create_dto.rb +262 -0
  32. data/lib/tachain-sdk/models/attachment_in_api_dto.rb +363 -0
  33. data/lib/tachain-sdk/models/brand_kpi_policy_result.rb +334 -0
  34. data/lib/tachain-sdk/models/brand_order_kpi_snapshot_dto.rb +880 -0
  35. data/lib/tachain-sdk/models/brand_order_supplier_order_snapshot_dto.rb +749 -0
  36. data/lib/tachain-sdk/models/brand_order_uncompleted_declare_snapshot_dto.rb +513 -0
  37. data/lib/tachain-sdk/models/company.rb +780 -0
  38. data/lib/tachain-sdk/models/company_compliance_profile.rb +547 -0
  39. data/lib/tachain-sdk/models/company_utility_declaration.rb +592 -0
  40. data/lib/tachain-sdk/models/customer.rb +569 -0
  41. data/lib/tachain-sdk/models/delivery_note_api_dto.rb +597 -0
  42. data/lib/tachain-sdk/models/delivery_note_detail_api_dto.rb +682 -0
  43. data/lib/tachain-sdk/models/document_type_api_dto.rb +480 -0
  44. data/lib/tachain-sdk/models/factory.rb +545 -0
  45. data/lib/tachain-sdk/models/get_v1_enum_get_list200_response.rb +201 -0
  46. data/lib/tachain-sdk/models/microsoft_asp_net_core_mvc_problem_details.rb +188 -0
  47. data/lib/tachain-sdk/models/model1.rb +157 -0
  48. data/lib/tachain-sdk/models/model3.rb +202 -0
  49. data/lib/tachain-sdk/models/model4.rb +202 -0
  50. data/lib/tachain-sdk/models/order.rb +974 -0
  51. data/lib/tachain-sdk/models/order_api_dto.rb +918 -0
  52. data/lib/tachain-sdk/models/order_line.rb +1184 -0
  53. data/lib/tachain-sdk/models/order_line_api_dto.rb +1277 -0
  54. data/lib/tachain-sdk/models/order_stage_form_api_dto.rb +270 -0
  55. data/lib/tachain-sdk/models/order_stage_form_datum_api_dto.rb +260 -0
  56. data/lib/tachain-sdk/models/order_stage_form_dto.rb +254 -0
  57. data/lib/tachain-sdk/models/paged_response_delivery_note_api_dto.rb +296 -0
  58. data/lib/tachain-sdk/models/paged_response_order_api_dto.rb +296 -0
  59. data/lib/tachain-sdk/models/paged_response_production_api_dto.rb +296 -0
  60. data/lib/tachain-sdk/models/product_bom_grouping_dto.rb +280 -0
  61. data/lib/tachain-sdk/models/production_api_dto.rb +639 -0
  62. data/lib/tachain-sdk/models/production_raw_material_api_dto.rb +481 -0
  63. data/lib/tachain-sdk/models/production_raw_material_dto.rb +548 -0
  64. data/lib/tachain-sdk/models/production_sales_order_api_dto.rb +436 -0
  65. data/lib/tachain-sdk/models/result_api_enum.rb +270 -0
  66. data/lib/tachain-sdk/models/result_brand_report_allocated_delivery_kpi_detail.rb +331 -0
  67. data/lib/tachain-sdk/models/result_brand_report_unlinked_order_detail.rb +229 -0
  68. data/lib/tachain-sdk/models/result_kpi_archived_data_change_detail.rb +418 -0
  69. data/lib/tachain-sdk/models/result_mapping_order_select.rb +335 -0
  70. data/lib/tachain-sdk/models/result_order_trace_report.rb +721 -0
  71. data/lib/tachain-sdk/models/stage_attachment_api_dto.rb +398 -0
  72. data/lib/tachain-sdk/models/supplier.rb +585 -0
  73. data/lib/tachain-sdk/models/supplier_onboarding_ext.rb +383 -0
  74. data/lib/tachain-sdk/models/template_dto_business_risk_warn_info_dto.rb +456 -0
  75. data/lib/tachain-sdk/models/template_dto_multi_so_line_complete_status.rb +227 -0
  76. data/lib/tachain-sdk/models/trader.rb +506 -0
  77. data/lib/tachain-sdk/signed_api_client.rb +65 -0
  78. data/lib/tachain-sdk/version.rb +15 -0
  79. data/lib/tachain-sdk.rb +108 -0
  80. data/spec/spec_helper.rb +111 -0
  81. data/tachain-sdk.gemspec +39 -0
  82. metadata +165 -0
@@ -0,0 +1,918 @@
1
+ =begin
2
+ #Tactic Chain Public API
3
+
4
+ #Public integration endpoints. Set your own base URL and credential before calling.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TachainSdk
17
+ # 统一订单表
18
+ class OrderApiDto < ApiModelBase
19
+ # 订单唯一标识
20
+ attr_accessor :id
21
+
22
+ # 订单编号
23
+ attr_accessor :order_number
24
+
25
+ # 订购日期
26
+ attr_accessor :order_date
27
+
28
+ # 订单类型:0 正式, 1 测试,2 预下单
29
+ attr_accessor :order_type
30
+
31
+ # 客户ID
32
+ attr_accessor :customer_id
33
+
34
+ # 供应商ID
35
+ attr_accessor :supplier_id
36
+
37
+ # 制造商ID
38
+ attr_accessor :facility_id
39
+
40
+ attr_accessor :customer_name
41
+
42
+ attr_accessor :supplier_name
43
+
44
+ # 供应商公司当地语言全称,来源于实时公司信息 company.navite_name。
45
+ attr_accessor :supplier_navite_name
46
+
47
+ attr_accessor :facility_name
48
+
49
+ # 合同编号
50
+ attr_accessor :contract_no
51
+
52
+ # 发票号
53
+ attr_accessor :invoice_no
54
+
55
+ # 订单总额
56
+ attr_accessor :total_amount
57
+
58
+ # 交易币种
59
+ attr_accessor :currency_code
60
+
61
+ # 品牌
62
+ attr_accessor :brand
63
+
64
+ # 备注
65
+ attr_accessor :remarks
66
+
67
+ # -9 禁用, -1 删除, 0 正常
68
+ attr_accessor :status
69
+
70
+ # 客户租户ID
71
+ attr_accessor :customer_tenant_id
72
+
73
+ # 供应商租户ID
74
+ attr_accessor :supplier_tenant_id
75
+
76
+ # 租户ID(创建者)
77
+ attr_accessor :tenant_id
78
+
79
+ # 环境类型:0 正式, 1 测试
80
+ attr_accessor :environment_type
81
+
82
+ # 创建用户ID
83
+ attr_accessor :created_by
84
+
85
+ # 修改用户ID
86
+ attr_accessor :updated_by
87
+
88
+ # 部门ID
89
+ attr_accessor :division_id
90
+
91
+ # 创建时间
92
+ attr_accessor :created_at
93
+
94
+ # 更新时间
95
+ attr_accessor :updated_at
96
+
97
+ # 品牌商:可多个值,使用|分割,
98
+ attr_accessor :brand_company_id
99
+
100
+ # 纤维商:可多个值,使用|分割,
101
+ attr_accessor :fiber_company_id
102
+
103
+ # 是否是订单最后尾端一级默认否,当订单的供应商选择是无需上线时为true
104
+ attr_accessor :is_end_order
105
+
106
+ # 申报情况是否完成,1完成:0未完成
107
+ attr_accessor :declare_complete
108
+
109
+ # 销售订单贸易标识:0 非贸易,1 含贸易销售单
110
+ attr_accessor :trade_type
111
+
112
+ # 订单来源:0 默认创建,9 主数据抓取
113
+ attr_accessor :source
114
+
115
+ # 整单申报文件风险邮件提醒情况。0客户不需要邮件提醒,1客户需要邮件提醒,2已经邮件提醒,3ai审核存在
116
+ attr_accessor :po_riskattachment_email
117
+
118
+ # 整单申报文件风险邮件提醒情况。0供应商不需要邮件提醒,1供应商需要邮件提醒,2已经邮件提醒,3ai审核存在
119
+ attr_accessor :so_riskattachment_email
120
+
121
+ # 是否可以发起转贸易;贸易配置开启后,贸易订单始终为 true,非贸易订单按销售明细状态判断。
122
+ attr_accessor :is_can_re_trader
123
+
124
+ # 采购状态:待接单 9|待生产 10|待发货 20|已发货 30|待收货 40|已收货 50|已使用 60|已用完 70
125
+ attr_accessor :po_status
126
+
127
+ # 销售状态:待接单 9|待生产 10|待发货 20|已发货 30|待收货 40|已收货 50|已使用 60|已用完 70
128
+ attr_accessor :so_status
129
+
130
+ attr_accessor :order_line
131
+
132
+ attr_accessor :order_trace_report
133
+
134
+ # 订单明细
135
+ attr_accessor :order_lines
136
+
137
+ attr_accessor :order_datev
138
+
139
+ attr_accessor :estimated_time_of_departure
140
+
141
+ attr_accessor :adjust_delivery_remark
142
+
143
+ attr_accessor :kpi_exclude_flag
144
+
145
+ attr_accessor :kpi_exclude_reason
146
+
147
+ # 订单链条未完成数
148
+ attr_accessor :count_chain_order_uncomplete
149
+
150
+ # 订单链条已完成数
151
+ attr_accessor :count_chain_order_complete
152
+
153
+ # 证明文件链条未完成数
154
+ attr_accessor :count_chain_proof_doc_uncomplete
155
+
156
+ # 证明文件链条已完成数
157
+ attr_accessor :count_chain_proof_doc_complete
158
+
159
+ # 所处销售阶段
160
+ attr_accessor :scope_code
161
+
162
+ attr_accessor :scope_code_name
163
+
164
+ attr_accessor :brand_name
165
+
166
+ attr_accessor :brand_company_name
167
+
168
+ attr_accessor :division_name
169
+
170
+ # 供应商最高风险等级
171
+ attr_accessor :max_risk_level
172
+
173
+ # 名称
174
+ attr_accessor :max_risk_level_name
175
+
176
+ # 名称
177
+ attr_accessor :order_name
178
+
179
+ # 供应商风险预警信息列表(新DTO)
180
+ attr_accessor :risk_warn_infos
181
+
182
+ attr_accessor :so_declare_progress
183
+
184
+ # 订单中的文件信息
185
+ attr_accessor :attachments
186
+
187
+ attr_accessor :delivery_note_details
188
+
189
+ # 采购头部回显使用工厂,优先取跨国使用明细中的工厂,不入库。
190
+ attr_accessor :use_factory_id
191
+
192
+ # Attribute mapping from ruby-style variable name to JSON key.
193
+ def self.attribute_map
194
+ {
195
+ :'id' => :'id',
196
+ :'order_number' => :'orderNumber',
197
+ :'order_date' => :'orderDate',
198
+ :'order_type' => :'orderType',
199
+ :'customer_id' => :'customerId',
200
+ :'supplier_id' => :'supplierId',
201
+ :'facility_id' => :'facilityId',
202
+ :'customer_name' => :'customerName',
203
+ :'supplier_name' => :'supplierName',
204
+ :'supplier_navite_name' => :'supplierNaviteName',
205
+ :'facility_name' => :'facilityName',
206
+ :'contract_no' => :'contractNo',
207
+ :'invoice_no' => :'invoiceNo',
208
+ :'total_amount' => :'totalAmount',
209
+ :'currency_code' => :'currencyCode',
210
+ :'brand' => :'brand',
211
+ :'remarks' => :'remarks',
212
+ :'status' => :'status',
213
+ :'customer_tenant_id' => :'customerTenantId',
214
+ :'supplier_tenant_id' => :'supplierTenantId',
215
+ :'tenant_id' => :'tenantId',
216
+ :'environment_type' => :'environmentType',
217
+ :'created_by' => :'createdBy',
218
+ :'updated_by' => :'updatedBy',
219
+ :'division_id' => :'divisionId',
220
+ :'created_at' => :'createdAt',
221
+ :'updated_at' => :'updatedAt',
222
+ :'brand_company_id' => :'brandCompanyId',
223
+ :'fiber_company_id' => :'fiberCompanyId',
224
+ :'is_end_order' => :'isEndOrder',
225
+ :'declare_complete' => :'declareComplete',
226
+ :'trade_type' => :'tradeType',
227
+ :'source' => :'source',
228
+ :'po_riskattachment_email' => :'poRiskattachmentEmail',
229
+ :'so_riskattachment_email' => :'soRiskattachmentEmail',
230
+ :'is_can_re_trader' => :'isCanReTrader',
231
+ :'po_status' => :'poStatus',
232
+ :'so_status' => :'soStatus',
233
+ :'order_line' => :'orderLine',
234
+ :'order_trace_report' => :'orderTraceReport',
235
+ :'order_lines' => :'orderLines',
236
+ :'order_datev' => :'orderDatev',
237
+ :'estimated_time_of_departure' => :'estimatedTimeOfDeparture',
238
+ :'adjust_delivery_remark' => :'adjustDeliveryRemark',
239
+ :'kpi_exclude_flag' => :'kpiExcludeFlag',
240
+ :'kpi_exclude_reason' => :'kpiExcludeReason',
241
+ :'count_chain_order_uncomplete' => :'countChainOrderUncomplete',
242
+ :'count_chain_order_complete' => :'countChainOrderComplete',
243
+ :'count_chain_proof_doc_uncomplete' => :'countChainProofDocUncomplete',
244
+ :'count_chain_proof_doc_complete' => :'countChainProofDocComplete',
245
+ :'scope_code' => :'scopeCode',
246
+ :'scope_code_name' => :'scopeCodeName',
247
+ :'brand_name' => :'brandName',
248
+ :'brand_company_name' => :'brandCompanyName',
249
+ :'division_name' => :'divisionName',
250
+ :'max_risk_level' => :'maxRiskLevel',
251
+ :'max_risk_level_name' => :'maxRiskLevelName',
252
+ :'order_name' => :'orderName',
253
+ :'risk_warn_infos' => :'riskWarnInfos',
254
+ :'so_declare_progress' => :'soDeclareProgress',
255
+ :'attachments' => :'attachments',
256
+ :'delivery_note_details' => :'deliveryNoteDetails',
257
+ :'use_factory_id' => :'useFactoryId'
258
+ }
259
+ end
260
+
261
+ # Returns attribute mapping this model knows about
262
+ def self.acceptable_attribute_map
263
+ attribute_map
264
+ end
265
+
266
+ # Returns all the JSON keys this model knows about
267
+ def self.acceptable_attributes
268
+ acceptable_attribute_map.values
269
+ end
270
+
271
+ # Attribute type mapping.
272
+ def self.openapi_types
273
+ {
274
+ :'id' => :'String',
275
+ :'order_number' => :'String',
276
+ :'order_date' => :'Time',
277
+ :'order_type' => :'Integer',
278
+ :'customer_id' => :'String',
279
+ :'supplier_id' => :'String',
280
+ :'facility_id' => :'String',
281
+ :'customer_name' => :'String',
282
+ :'supplier_name' => :'String',
283
+ :'supplier_navite_name' => :'String',
284
+ :'facility_name' => :'String',
285
+ :'contract_no' => :'String',
286
+ :'invoice_no' => :'String',
287
+ :'total_amount' => :'Float',
288
+ :'currency_code' => :'String',
289
+ :'brand' => :'String',
290
+ :'remarks' => :'String',
291
+ :'status' => :'Integer',
292
+ :'customer_tenant_id' => :'String',
293
+ :'supplier_tenant_id' => :'String',
294
+ :'tenant_id' => :'String',
295
+ :'environment_type' => :'Integer',
296
+ :'created_by' => :'String',
297
+ :'updated_by' => :'String',
298
+ :'division_id' => :'String',
299
+ :'created_at' => :'Time',
300
+ :'updated_at' => :'Time',
301
+ :'brand_company_id' => :'String',
302
+ :'fiber_company_id' => :'String',
303
+ :'is_end_order' => :'Boolean',
304
+ :'declare_complete' => :'Boolean',
305
+ :'trade_type' => :'Integer',
306
+ :'source' => :'Integer',
307
+ :'po_riskattachment_email' => :'Integer',
308
+ :'so_riskattachment_email' => :'Integer',
309
+ :'is_can_re_trader' => :'Boolean',
310
+ :'po_status' => :'Integer',
311
+ :'so_status' => :'Integer',
312
+ :'order_line' => :'OrderLineApiDto',
313
+ :'order_trace_report' => :'ResultOrderTraceReport',
314
+ :'order_lines' => :'Array<OrderLineApiDto>',
315
+ :'order_datev' => :'String',
316
+ :'estimated_time_of_departure' => :'Time',
317
+ :'adjust_delivery_remark' => :'String',
318
+ :'kpi_exclude_flag' => :'Boolean',
319
+ :'kpi_exclude_reason' => :'String',
320
+ :'count_chain_order_uncomplete' => :'Integer',
321
+ :'count_chain_order_complete' => :'Integer',
322
+ :'count_chain_proof_doc_uncomplete' => :'Integer',
323
+ :'count_chain_proof_doc_complete' => :'Integer',
324
+ :'scope_code' => :'String',
325
+ :'scope_code_name' => :'String',
326
+ :'brand_name' => :'String',
327
+ :'brand_company_name' => :'String',
328
+ :'division_name' => :'String',
329
+ :'max_risk_level' => :'Integer',
330
+ :'max_risk_level_name' => :'String',
331
+ :'order_name' => :'String',
332
+ :'risk_warn_infos' => :'Array<TemplateDtoBusinessRiskWarnInfoDto>',
333
+ :'so_declare_progress' => :'TemplateDtoMultiSoLineCompleteStatus',
334
+ :'attachments' => :'Array<DocumentTypeApiDto>',
335
+ :'delivery_note_details' => :'Array<DeliveryNoteDetailApiDto>',
336
+ :'use_factory_id' => :'String'
337
+ }
338
+ end
339
+
340
+ # List of attributes with nullable: true
341
+ def self.openapi_nullable
342
+ Set.new([
343
+ :'id',
344
+ :'order_number',
345
+ :'order_date',
346
+ :'order_type',
347
+ :'customer_id',
348
+ :'supplier_id',
349
+ :'facility_id',
350
+ :'customer_name',
351
+ :'supplier_name',
352
+ :'supplier_navite_name',
353
+ :'facility_name',
354
+ :'contract_no',
355
+ :'invoice_no',
356
+ :'total_amount',
357
+ :'currency_code',
358
+ :'brand',
359
+ :'remarks',
360
+ :'status',
361
+ :'customer_tenant_id',
362
+ :'supplier_tenant_id',
363
+ :'tenant_id',
364
+ :'environment_type',
365
+ :'created_by',
366
+ :'updated_by',
367
+ :'division_id',
368
+ :'created_at',
369
+ :'updated_at',
370
+ :'brand_company_id',
371
+ :'fiber_company_id',
372
+ :'is_end_order',
373
+ :'declare_complete',
374
+ :'trade_type',
375
+ :'source',
376
+ :'po_riskattachment_email',
377
+ :'so_riskattachment_email',
378
+ :'po_status',
379
+ :'so_status',
380
+ :'order_datev',
381
+ :'estimated_time_of_departure',
382
+ :'adjust_delivery_remark',
383
+ :'kpi_exclude_flag',
384
+ :'kpi_exclude_reason',
385
+ :'count_chain_order_uncomplete',
386
+ :'count_chain_order_complete',
387
+ :'count_chain_proof_doc_uncomplete',
388
+ :'count_chain_proof_doc_complete',
389
+ :'scope_code',
390
+ :'scope_code_name',
391
+ :'brand_name',
392
+ :'brand_company_name',
393
+ :'division_name',
394
+ :'max_risk_level_name',
395
+ :'order_name',
396
+ :'delivery_note_details',
397
+ :'use_factory_id'
398
+ ])
399
+ end
400
+
401
+ # Initializes the object
402
+ # @param [Hash] attributes Model attributes in the form of hash
403
+ def initialize(attributes = {})
404
+ if (!attributes.is_a?(Hash))
405
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TachainSdk::OrderApiDto` initialize method"
406
+ end
407
+
408
+ # check to see if the attribute exists and convert string to symbol for hash key
409
+ acceptable_attribute_map = self.class.acceptable_attribute_map
410
+ attributes = attributes.each_with_object({}) { |(k, v), h|
411
+ if (!acceptable_attribute_map.key?(k.to_sym))
412
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TachainSdk::OrderApiDto`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
413
+ end
414
+ h[k.to_sym] = v
415
+ }
416
+
417
+ if attributes.key?(:'id')
418
+ self.id = attributes[:'id']
419
+ end
420
+
421
+ if attributes.key?(:'order_number')
422
+ self.order_number = attributes[:'order_number']
423
+ end
424
+
425
+ if attributes.key?(:'order_date')
426
+ self.order_date = attributes[:'order_date']
427
+ end
428
+
429
+ if attributes.key?(:'order_type')
430
+ self.order_type = attributes[:'order_type']
431
+ end
432
+
433
+ if attributes.key?(:'customer_id')
434
+ self.customer_id = attributes[:'customer_id']
435
+ end
436
+
437
+ if attributes.key?(:'supplier_id')
438
+ self.supplier_id = attributes[:'supplier_id']
439
+ end
440
+
441
+ if attributes.key?(:'facility_id')
442
+ self.facility_id = attributes[:'facility_id']
443
+ end
444
+
445
+ if attributes.key?(:'customer_name')
446
+ self.customer_name = attributes[:'customer_name']
447
+ end
448
+
449
+ if attributes.key?(:'supplier_name')
450
+ self.supplier_name = attributes[:'supplier_name']
451
+ end
452
+
453
+ if attributes.key?(:'supplier_navite_name')
454
+ self.supplier_navite_name = attributes[:'supplier_navite_name']
455
+ end
456
+
457
+ if attributes.key?(:'facility_name')
458
+ self.facility_name = attributes[:'facility_name']
459
+ end
460
+
461
+ if attributes.key?(:'contract_no')
462
+ self.contract_no = attributes[:'contract_no']
463
+ end
464
+
465
+ if attributes.key?(:'invoice_no')
466
+ self.invoice_no = attributes[:'invoice_no']
467
+ end
468
+
469
+ if attributes.key?(:'total_amount')
470
+ self.total_amount = attributes[:'total_amount']
471
+ end
472
+
473
+ if attributes.key?(:'currency_code')
474
+ self.currency_code = attributes[:'currency_code']
475
+ end
476
+
477
+ if attributes.key?(:'brand')
478
+ self.brand = attributes[:'brand']
479
+ end
480
+
481
+ if attributes.key?(:'remarks')
482
+ self.remarks = attributes[:'remarks']
483
+ end
484
+
485
+ if attributes.key?(:'status')
486
+ self.status = attributes[:'status']
487
+ end
488
+
489
+ if attributes.key?(:'customer_tenant_id')
490
+ self.customer_tenant_id = attributes[:'customer_tenant_id']
491
+ end
492
+
493
+ if attributes.key?(:'supplier_tenant_id')
494
+ self.supplier_tenant_id = attributes[:'supplier_tenant_id']
495
+ end
496
+
497
+ if attributes.key?(:'tenant_id')
498
+ self.tenant_id = attributes[:'tenant_id']
499
+ end
500
+
501
+ if attributes.key?(:'environment_type')
502
+ self.environment_type = attributes[:'environment_type']
503
+ end
504
+
505
+ if attributes.key?(:'created_by')
506
+ self.created_by = attributes[:'created_by']
507
+ end
508
+
509
+ if attributes.key?(:'updated_by')
510
+ self.updated_by = attributes[:'updated_by']
511
+ end
512
+
513
+ if attributes.key?(:'division_id')
514
+ self.division_id = attributes[:'division_id']
515
+ end
516
+
517
+ if attributes.key?(:'created_at')
518
+ self.created_at = attributes[:'created_at']
519
+ end
520
+
521
+ if attributes.key?(:'updated_at')
522
+ self.updated_at = attributes[:'updated_at']
523
+ end
524
+
525
+ if attributes.key?(:'brand_company_id')
526
+ self.brand_company_id = attributes[:'brand_company_id']
527
+ end
528
+
529
+ if attributes.key?(:'fiber_company_id')
530
+ self.fiber_company_id = attributes[:'fiber_company_id']
531
+ end
532
+
533
+ if attributes.key?(:'is_end_order')
534
+ self.is_end_order = attributes[:'is_end_order']
535
+ end
536
+
537
+ if attributes.key?(:'declare_complete')
538
+ self.declare_complete = attributes[:'declare_complete']
539
+ end
540
+
541
+ if attributes.key?(:'trade_type')
542
+ self.trade_type = attributes[:'trade_type']
543
+ end
544
+
545
+ if attributes.key?(:'source')
546
+ self.source = attributes[:'source']
547
+ end
548
+
549
+ if attributes.key?(:'po_riskattachment_email')
550
+ self.po_riskattachment_email = attributes[:'po_riskattachment_email']
551
+ end
552
+
553
+ if attributes.key?(:'so_riskattachment_email')
554
+ self.so_riskattachment_email = attributes[:'so_riskattachment_email']
555
+ end
556
+
557
+ if attributes.key?(:'is_can_re_trader')
558
+ self.is_can_re_trader = attributes[:'is_can_re_trader']
559
+ else
560
+ self.is_can_re_trader = nil
561
+ end
562
+
563
+ if attributes.key?(:'po_status')
564
+ self.po_status = attributes[:'po_status']
565
+ end
566
+
567
+ if attributes.key?(:'so_status')
568
+ self.so_status = attributes[:'so_status']
569
+ end
570
+
571
+ if attributes.key?(:'order_line')
572
+ self.order_line = attributes[:'order_line']
573
+ end
574
+
575
+ if attributes.key?(:'order_trace_report')
576
+ self.order_trace_report = attributes[:'order_trace_report']
577
+ end
578
+
579
+ if attributes.key?(:'order_lines')
580
+ if (value = attributes[:'order_lines']).is_a?(Array)
581
+ self.order_lines = value
582
+ end
583
+ else
584
+ self.order_lines = nil
585
+ end
586
+
587
+ if attributes.key?(:'order_datev')
588
+ self.order_datev = attributes[:'order_datev']
589
+ end
590
+
591
+ if attributes.key?(:'estimated_time_of_departure')
592
+ self.estimated_time_of_departure = attributes[:'estimated_time_of_departure']
593
+ end
594
+
595
+ if attributes.key?(:'adjust_delivery_remark')
596
+ self.adjust_delivery_remark = attributes[:'adjust_delivery_remark']
597
+ end
598
+
599
+ if attributes.key?(:'kpi_exclude_flag')
600
+ self.kpi_exclude_flag = attributes[:'kpi_exclude_flag']
601
+ end
602
+
603
+ if attributes.key?(:'kpi_exclude_reason')
604
+ self.kpi_exclude_reason = attributes[:'kpi_exclude_reason']
605
+ end
606
+
607
+ if attributes.key?(:'count_chain_order_uncomplete')
608
+ self.count_chain_order_uncomplete = attributes[:'count_chain_order_uncomplete']
609
+ end
610
+
611
+ if attributes.key?(:'count_chain_order_complete')
612
+ self.count_chain_order_complete = attributes[:'count_chain_order_complete']
613
+ end
614
+
615
+ if attributes.key?(:'count_chain_proof_doc_uncomplete')
616
+ self.count_chain_proof_doc_uncomplete = attributes[:'count_chain_proof_doc_uncomplete']
617
+ end
618
+
619
+ if attributes.key?(:'count_chain_proof_doc_complete')
620
+ self.count_chain_proof_doc_complete = attributes[:'count_chain_proof_doc_complete']
621
+ end
622
+
623
+ if attributes.key?(:'scope_code')
624
+ self.scope_code = attributes[:'scope_code']
625
+ end
626
+
627
+ if attributes.key?(:'scope_code_name')
628
+ self.scope_code_name = attributes[:'scope_code_name']
629
+ end
630
+
631
+ if attributes.key?(:'brand_name')
632
+ self.brand_name = attributes[:'brand_name']
633
+ end
634
+
635
+ if attributes.key?(:'brand_company_name')
636
+ self.brand_company_name = attributes[:'brand_company_name']
637
+ end
638
+
639
+ if attributes.key?(:'division_name')
640
+ self.division_name = attributes[:'division_name']
641
+ end
642
+
643
+ if attributes.key?(:'max_risk_level')
644
+ self.max_risk_level = attributes[:'max_risk_level']
645
+ else
646
+ self.max_risk_level = nil
647
+ end
648
+
649
+ if attributes.key?(:'max_risk_level_name')
650
+ self.max_risk_level_name = attributes[:'max_risk_level_name']
651
+ end
652
+
653
+ if attributes.key?(:'order_name')
654
+ self.order_name = attributes[:'order_name']
655
+ end
656
+
657
+ if attributes.key?(:'risk_warn_infos')
658
+ if (value = attributes[:'risk_warn_infos']).is_a?(Array)
659
+ self.risk_warn_infos = value
660
+ end
661
+ else
662
+ self.risk_warn_infos = nil
663
+ end
664
+
665
+ if attributes.key?(:'so_declare_progress')
666
+ self.so_declare_progress = attributes[:'so_declare_progress']
667
+ else
668
+ self.so_declare_progress = nil
669
+ end
670
+
671
+ if attributes.key?(:'attachments')
672
+ if (value = attributes[:'attachments']).is_a?(Array)
673
+ self.attachments = value
674
+ end
675
+ else
676
+ self.attachments = nil
677
+ end
678
+
679
+ if attributes.key?(:'delivery_note_details')
680
+ if (value = attributes[:'delivery_note_details']).is_a?(Array)
681
+ self.delivery_note_details = value
682
+ end
683
+ end
684
+
685
+ if attributes.key?(:'use_factory_id')
686
+ self.use_factory_id = attributes[:'use_factory_id']
687
+ end
688
+ end
689
+
690
+ # Show invalid properties with the reasons. Usually used together with valid?
691
+ # @return Array for valid properties with the reasons
692
+ def list_invalid_properties
693
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
694
+ invalid_properties = Array.new
695
+ if @is_can_re_trader.nil?
696
+ invalid_properties.push('invalid value for "is_can_re_trader", is_can_re_trader cannot be nil.')
697
+ end
698
+
699
+ if @order_lines.nil?
700
+ invalid_properties.push('invalid value for "order_lines", order_lines cannot be nil.')
701
+ end
702
+
703
+ if @max_risk_level.nil?
704
+ invalid_properties.push('invalid value for "max_risk_level", max_risk_level cannot be nil.')
705
+ end
706
+
707
+ if @risk_warn_infos.nil?
708
+ invalid_properties.push('invalid value for "risk_warn_infos", risk_warn_infos cannot be nil.')
709
+ end
710
+
711
+ if @so_declare_progress.nil?
712
+ invalid_properties.push('invalid value for "so_declare_progress", so_declare_progress cannot be nil.')
713
+ end
714
+
715
+ if @attachments.nil?
716
+ invalid_properties.push('invalid value for "attachments", attachments cannot be nil.')
717
+ end
718
+
719
+ invalid_properties
720
+ end
721
+
722
+ # Check to see if the all the properties in the model are valid
723
+ # @return true if the model is valid
724
+ def valid?
725
+ warn '[DEPRECATED] the `valid?` method is obsolete'
726
+ return false if @is_can_re_trader.nil?
727
+ return false if @order_lines.nil?
728
+ return false if @max_risk_level.nil?
729
+ return false if @risk_warn_infos.nil?
730
+ return false if @so_declare_progress.nil?
731
+ return false if @attachments.nil?
732
+ true
733
+ end
734
+
735
+ # Custom attribute writer method with validation
736
+ # @param [Object] is_can_re_trader Value to be assigned
737
+ def is_can_re_trader=(is_can_re_trader)
738
+ if is_can_re_trader.nil?
739
+ fail ArgumentError, 'is_can_re_trader cannot be nil'
740
+ end
741
+
742
+ @is_can_re_trader = is_can_re_trader
743
+ end
744
+
745
+ # Custom attribute writer method with validation
746
+ # @param [Object] order_lines Value to be assigned
747
+ def order_lines=(order_lines)
748
+ if order_lines.nil?
749
+ fail ArgumentError, 'order_lines cannot be nil'
750
+ end
751
+
752
+ @order_lines = order_lines
753
+ end
754
+
755
+ # Custom attribute writer method with validation
756
+ # @param [Object] max_risk_level Value to be assigned
757
+ def max_risk_level=(max_risk_level)
758
+ if max_risk_level.nil?
759
+ fail ArgumentError, 'max_risk_level cannot be nil'
760
+ end
761
+
762
+ @max_risk_level = max_risk_level
763
+ end
764
+
765
+ # Custom attribute writer method with validation
766
+ # @param [Object] risk_warn_infos Value to be assigned
767
+ def risk_warn_infos=(risk_warn_infos)
768
+ if risk_warn_infos.nil?
769
+ fail ArgumentError, 'risk_warn_infos cannot be nil'
770
+ end
771
+
772
+ @risk_warn_infos = risk_warn_infos
773
+ end
774
+
775
+ # Custom attribute writer method with validation
776
+ # @param [Object] so_declare_progress Value to be assigned
777
+ def so_declare_progress=(so_declare_progress)
778
+ if so_declare_progress.nil?
779
+ fail ArgumentError, 'so_declare_progress cannot be nil'
780
+ end
781
+
782
+ @so_declare_progress = so_declare_progress
783
+ end
784
+
785
+ # Custom attribute writer method with validation
786
+ # @param [Object] attachments Value to be assigned
787
+ def attachments=(attachments)
788
+ if attachments.nil?
789
+ fail ArgumentError, 'attachments cannot be nil'
790
+ end
791
+
792
+ @attachments = attachments
793
+ end
794
+
795
+ # Checks equality by comparing each attribute.
796
+ # @param [Object] Object to be compared
797
+ def ==(o)
798
+ return true if self.equal?(o)
799
+ self.class == o.class &&
800
+ id == o.id &&
801
+ order_number == o.order_number &&
802
+ order_date == o.order_date &&
803
+ order_type == o.order_type &&
804
+ customer_id == o.customer_id &&
805
+ supplier_id == o.supplier_id &&
806
+ facility_id == o.facility_id &&
807
+ customer_name == o.customer_name &&
808
+ supplier_name == o.supplier_name &&
809
+ supplier_navite_name == o.supplier_navite_name &&
810
+ facility_name == o.facility_name &&
811
+ contract_no == o.contract_no &&
812
+ invoice_no == o.invoice_no &&
813
+ total_amount == o.total_amount &&
814
+ currency_code == o.currency_code &&
815
+ brand == o.brand &&
816
+ remarks == o.remarks &&
817
+ status == o.status &&
818
+ customer_tenant_id == o.customer_tenant_id &&
819
+ supplier_tenant_id == o.supplier_tenant_id &&
820
+ tenant_id == o.tenant_id &&
821
+ environment_type == o.environment_type &&
822
+ created_by == o.created_by &&
823
+ updated_by == o.updated_by &&
824
+ division_id == o.division_id &&
825
+ created_at == o.created_at &&
826
+ updated_at == o.updated_at &&
827
+ brand_company_id == o.brand_company_id &&
828
+ fiber_company_id == o.fiber_company_id &&
829
+ is_end_order == o.is_end_order &&
830
+ declare_complete == o.declare_complete &&
831
+ trade_type == o.trade_type &&
832
+ source == o.source &&
833
+ po_riskattachment_email == o.po_riskattachment_email &&
834
+ so_riskattachment_email == o.so_riskattachment_email &&
835
+ is_can_re_trader == o.is_can_re_trader &&
836
+ po_status == o.po_status &&
837
+ so_status == o.so_status &&
838
+ order_line == o.order_line &&
839
+ order_trace_report == o.order_trace_report &&
840
+ order_lines == o.order_lines &&
841
+ order_datev == o.order_datev &&
842
+ estimated_time_of_departure == o.estimated_time_of_departure &&
843
+ adjust_delivery_remark == o.adjust_delivery_remark &&
844
+ kpi_exclude_flag == o.kpi_exclude_flag &&
845
+ kpi_exclude_reason == o.kpi_exclude_reason &&
846
+ count_chain_order_uncomplete == o.count_chain_order_uncomplete &&
847
+ count_chain_order_complete == o.count_chain_order_complete &&
848
+ count_chain_proof_doc_uncomplete == o.count_chain_proof_doc_uncomplete &&
849
+ count_chain_proof_doc_complete == o.count_chain_proof_doc_complete &&
850
+ scope_code == o.scope_code &&
851
+ scope_code_name == o.scope_code_name &&
852
+ brand_name == o.brand_name &&
853
+ brand_company_name == o.brand_company_name &&
854
+ division_name == o.division_name &&
855
+ max_risk_level == o.max_risk_level &&
856
+ max_risk_level_name == o.max_risk_level_name &&
857
+ order_name == o.order_name &&
858
+ risk_warn_infos == o.risk_warn_infos &&
859
+ so_declare_progress == o.so_declare_progress &&
860
+ attachments == o.attachments &&
861
+ delivery_note_details == o.delivery_note_details &&
862
+ use_factory_id == o.use_factory_id
863
+ end
864
+
865
+ # @see the `==` method
866
+ # @param [Object] Object to be compared
867
+ def eql?(o)
868
+ self == o
869
+ end
870
+
871
+ # Calculates hash code according to all attributes.
872
+ # @return [Integer] Hash code
873
+ def hash
874
+ [id, order_number, order_date, order_type, customer_id, supplier_id, facility_id, customer_name, supplier_name, supplier_navite_name, facility_name, contract_no, invoice_no, total_amount, currency_code, brand, remarks, status, customer_tenant_id, supplier_tenant_id, tenant_id, environment_type, created_by, updated_by, division_id, created_at, updated_at, brand_company_id, fiber_company_id, is_end_order, declare_complete, trade_type, source, po_riskattachment_email, so_riskattachment_email, is_can_re_trader, po_status, so_status, order_line, order_trace_report, order_lines, order_datev, estimated_time_of_departure, adjust_delivery_remark, kpi_exclude_flag, kpi_exclude_reason, count_chain_order_uncomplete, count_chain_order_complete, count_chain_proof_doc_uncomplete, count_chain_proof_doc_complete, scope_code, scope_code_name, brand_name, brand_company_name, division_name, max_risk_level, max_risk_level_name, order_name, risk_warn_infos, so_declare_progress, attachments, delivery_note_details, use_factory_id].hash
875
+ end
876
+
877
+ # Builds the object from hash
878
+ # @param [Hash] attributes Model attributes in the form of hash
879
+ # @return [Object] Returns the model itself
880
+ def self.build_from_hash(attributes)
881
+ return nil unless attributes.is_a?(Hash)
882
+ attributes = attributes.transform_keys(&:to_sym)
883
+ transformed_hash = {}
884
+ openapi_types.each_pair do |key, type|
885
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
886
+ transformed_hash["#{key}"] = nil
887
+ elsif type =~ /\AArray<(.*)>/i
888
+ # check to ensure the input is an array given that the attribute
889
+ # is documented as an array but the input is not
890
+ if attributes[attribute_map[key]].is_a?(Array)
891
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
892
+ end
893
+ elsif !attributes[attribute_map[key]].nil?
894
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
895
+ end
896
+ end
897
+ new(transformed_hash)
898
+ end
899
+
900
+ # Returns the object in the form of hash
901
+ # @return [Hash] Returns the object in the form of hash
902
+ def to_hash
903
+ hash = {}
904
+ self.class.attribute_map.each_pair do |attr, param|
905
+ value = self.send(attr)
906
+ if value.nil?
907
+ is_nullable = self.class.openapi_nullable.include?(attr)
908
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
909
+ end
910
+
911
+ hash[param] = _to_hash(value)
912
+ end
913
+ hash
914
+ end
915
+
916
+ end
917
+
918
+ end