tsubaiso-sdk 1.2.6 → 1.2.7
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.
- checksums.yaml +4 -4
- data/Rakefile +3 -2
- data/lib/tsubaiso_sdk.rb +550 -118
- data/test/stubbings/stub_register.rb +196 -0
- data/test/tsubaiso_sdk/common_setup_and_teardown.rb +23 -0
- data/test/tsubaiso_sdk/test_ap_reason_masters.rb +26 -0
- data/test/tsubaiso_sdk/test_api_history.rb +27 -0
- data/test/tsubaiso_sdk/test_ar_reason_masters.rb +26 -0
- data/test/tsubaiso_sdk/test_bank_account.rb +34 -0
- data/test/tsubaiso_sdk/test_bank_account_master.rb +119 -0
- data/test/tsubaiso_sdk/test_bank_account_transaction.rb +61 -0
- data/test/tsubaiso_sdk/test_bank_reason_master.rb +90 -0
- data/test/tsubaiso_sdk/test_bonus.rb +26 -0
- data/test/tsubaiso_sdk/test_bulk_scheduled_dates.rb +24 -0
- data/test/tsubaiso_sdk/test_corporate_master.rb +27 -0
- data/test/tsubaiso_sdk/test_customer.rb +71 -0
- data/test/tsubaiso_sdk/test_dept.rb +66 -0
- data/test/tsubaiso_sdk/test_fixed_assets.rb +18 -0
- data/test/tsubaiso_sdk/test_journal.rb +53 -0
- data/test/tsubaiso_sdk/test_journal_distribution.rb +29 -0
- data/test/tsubaiso_sdk/test_manual_journal.rb +84 -0
- data/test/tsubaiso_sdk/test_payrolles.rb +26 -0
- data/test/tsubaiso_sdk/test_petty_cash_reason_master.rb +72 -0
- data/test/tsubaiso_sdk/test_physical_inventory_master.rb +84 -0
- data/test/tsubaiso_sdk/test_purchase.rb +120 -0
- data/test/tsubaiso_sdk/test_reimbursement_reason_master.rb +27 -0
- data/test/tsubaiso_sdk/test_reimbursements.rb +63 -0
- data/test/tsubaiso_sdk/test_reimbursements_transactions.rb +75 -0
- data/test/tsubaiso_sdk/test_sale.rb +125 -0
- data/test/tsubaiso_sdk/test_scheduled_dates.rb +16 -0
- data/test/tsubaiso_sdk/test_staff.rb +26 -0
- data/test/tsubaiso_sdk/test_staff_data.rb +71 -0
- data/test/tsubaiso_sdk/test_staff_datum_master.rb +37 -0
- data/test/tsubaiso_sdk/test_tag.rb +53 -0
- data/test/tsubaiso_sdk/test_tax_master.rb +25 -0
- metadata +35 -5
- data/test/test_tsubaiso_sdk.rb +0 -964
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 394ff46b866be9b88b3f3240d749d5981ae40c659f08c388adc763908f15b861
|
|
4
|
+
data.tar.gz: caa5951cfbc2dbcb16a72f240e5ebdfb3f70151eb7b763bb2c52a158fa72200d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7681bd9b474bf300e774b8d4594dd99580924af1563e8bafe2e605503023f8f66b87aaf976bf3539038240c74e67b817466e6eafb87127e603d2cb7a638d5a92
|
|
7
|
+
data.tar.gz: 8f8b1b847e9e876a5be43ea21826bd72144c26c4b2a45d67d732fd25a7d3d373129e20e1ea9120a762451f1fdf6bd53b40f765444420ae5f9b52462adb05ea88
|
data/Rakefile
CHANGED
data/lib/tsubaiso_sdk.rb
CHANGED
|
@@ -2,18 +2,181 @@ class TsubaisoSDK
|
|
|
2
2
|
require 'net/http'
|
|
3
3
|
require 'json'
|
|
4
4
|
|
|
5
|
+
module UrlBuilder
|
|
6
|
+
def url(root, resource, method, year = nil, month = nil)
|
|
7
|
+
if year && month && method == "list"
|
|
8
|
+
return root + "/" + resource + "/list/" + year.to_s + "/" + month.to_s
|
|
9
|
+
else
|
|
10
|
+
return root + "/" + resource + "/" + method
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
5
15
|
def initialize(options = {})
|
|
6
16
|
@base_url = options[:base_url] || 'https://tsubaiso.net'
|
|
7
|
-
@access_token = options[:access_token]
|
|
17
|
+
@access_token = options[:access_token] || "Fake_Token"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def list_bank_account_masters
|
|
21
|
+
params = { 'format' => 'json' }
|
|
22
|
+
uri = URI.parse(@base_url + '/bank_account_masters/list')
|
|
23
|
+
api_request(uri, 'GET', params)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def update_bank_account_master(options)
|
|
28
|
+
params = {}
|
|
29
|
+
candidate_keys = [
|
|
30
|
+
:name,
|
|
31
|
+
:account_type,
|
|
32
|
+
:account_number,
|
|
33
|
+
:nominee,
|
|
34
|
+
:memo,
|
|
35
|
+
:start_ymd,
|
|
36
|
+
:finish_ymd,
|
|
37
|
+
:zengin_bank_code,
|
|
38
|
+
:zengin_branch_code,
|
|
39
|
+
:zengin_client_code_sogo,
|
|
40
|
+
:currency_code,
|
|
41
|
+
:currency_rate_master_code
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
params = create_parameters(candidate_keys,options)
|
|
45
|
+
params['format'] = 'json'
|
|
46
|
+
uri = URI.parse(@base_url + '/bank_account_masters/update/' + options[:id].to_s)
|
|
47
|
+
api_request(uri, 'POST', params)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def list_bank_account_transactions(bank_account_id)
|
|
51
|
+
params = {
|
|
52
|
+
'format' => 'json',
|
|
53
|
+
'bank_account_id' => bank_account_id.to_i
|
|
54
|
+
}
|
|
55
|
+
uri = URI.parse(@base_url + "/bank_account_transactions/list")
|
|
56
|
+
api_request(uri, 'GET', params)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def show_bank_account_transaction(id)
|
|
60
|
+
params = {
|
|
61
|
+
'format' => 'json',
|
|
62
|
+
}
|
|
63
|
+
uri = URI.parse(@base_url + "/bank_account_transactions/show/#{id}")
|
|
64
|
+
api_request(uri, 'GET', params)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def create_bank_account_transaction(options)
|
|
68
|
+
params = {
|
|
69
|
+
'bank_account_id' => options[:bank_account_id],
|
|
70
|
+
'journal_timestamp' => options[:journal_timestamp],
|
|
71
|
+
'price_value' => options[:price_value],
|
|
72
|
+
'price_value_fc' => options[:price_value_fc],
|
|
73
|
+
'exchange_rate' => options[:exchange_rate],
|
|
74
|
+
'reason_code' => options[:reason_code],
|
|
75
|
+
'dc' => options[:dc],
|
|
76
|
+
'brief' => options[:brief],
|
|
77
|
+
'memo' => options[:memo],
|
|
78
|
+
'tag_list' => options[:tag_list],
|
|
79
|
+
'dept_code' => options[:dept_code],
|
|
80
|
+
'format' => 'json'
|
|
81
|
+
}
|
|
82
|
+
uri = URI.parse(@base_url + '/bank_account_transactions/create')
|
|
83
|
+
api_request(uri, 'POST', params)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def destroy_bank_account_transaction(id)
|
|
87
|
+
params = {
|
|
88
|
+
'format' => 'json'
|
|
89
|
+
}
|
|
90
|
+
uri = URI.parse(@base_url + "/bank_account_transactions/destroy/#{id}")
|
|
91
|
+
api_request(uri, 'POST', params)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def update_bank_account_transaction(options)
|
|
95
|
+
params = {}
|
|
96
|
+
candidate_keys = [
|
|
97
|
+
:bank_account_id,
|
|
98
|
+
:journal_timestamp,
|
|
99
|
+
:price_value,
|
|
100
|
+
:price_value_fc,
|
|
101
|
+
:exchange_rate,
|
|
102
|
+
:reason_code,
|
|
103
|
+
:dc,
|
|
104
|
+
:brief,
|
|
105
|
+
:memo,
|
|
106
|
+
:tag_list,
|
|
107
|
+
:dept_code,
|
|
108
|
+
]
|
|
109
|
+
|
|
110
|
+
params = create_parameters(candidate_keys,options)
|
|
111
|
+
params['format'] = 'json'
|
|
112
|
+
uri = URI.parse(@base_url + "/bank_account_transactions/update/#{options[:id]}")
|
|
113
|
+
api_request(uri, "POST",params)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
def list_bank_account(options)
|
|
117
|
+
params = {
|
|
118
|
+
'format' => 'json',
|
|
119
|
+
}
|
|
120
|
+
uri = URI.parse(@base_url + "/bank_accounts/list/#{options[:year]}/#{options[:month]}")
|
|
121
|
+
api_request(uri,'GET',params)
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def create_bank_account(options)
|
|
125
|
+
params = {
|
|
126
|
+
'bank_account_master_id' => options[:bank_account_master_id],
|
|
127
|
+
'start_timestamp' => options[:start_timestamp],
|
|
128
|
+
'finish_timestamp' => options[:finish_timestamp],
|
|
129
|
+
'format' => 'json'
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
uri = URI.parse(@base_url + '/bank_accounts/create')
|
|
133
|
+
api_request(uri, 'POST', params)
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
def show_bank_account_master(master_id)
|
|
137
|
+
params = { 'format' => 'json' }
|
|
138
|
+
uri = URI.parse(@base_url + '/bank_account_masters/show/' + master_id.to_s)
|
|
139
|
+
api_request(uri, 'GET', params)
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
def destroy_bank_account_master(destroy_id)
|
|
143
|
+
params = { 'format' => 'json' }
|
|
144
|
+
uri = URI.parse(@base_url + '/bank_account_masters/destroy/' + destroy_id.to_s)
|
|
145
|
+
api_request(uri, 'POST', params)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
def create_bank_account_master(options)
|
|
149
|
+
params = {
|
|
150
|
+
'format' => 'json',
|
|
151
|
+
'name' => options[:name],
|
|
152
|
+
'account_type' => options[:account_type],
|
|
153
|
+
'account_number' => options[:account_number],
|
|
154
|
+
'nominee' => options[:nominee],
|
|
155
|
+
'memo' => options[:memo],
|
|
156
|
+
'start_ymd' => options[:start_ymd],
|
|
157
|
+
'finish_ymd' => options[:finish_ymd],
|
|
158
|
+
'zengin_bank_code' => options[:zengin_bank_code],
|
|
159
|
+
'zengin_branch_code' => options[:zengin_branch_code],
|
|
160
|
+
'zengin_client_code_sogo' => options[:zengin_client_code_sogo],
|
|
161
|
+
'currency_code' => options[:currency_code],
|
|
162
|
+
'currency_rate_master_code' => options[:currency_rate_master_code]
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
uri = URI.parse(@base_url + '/bank_account_masters/create')
|
|
166
|
+
api_request(uri, 'POST', params)
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
def index_api_history
|
|
170
|
+
params = { 'format' => 'json' }
|
|
171
|
+
uri = URI.parse(@base_url + '/api_histories/index')
|
|
172
|
+
api_request(uri, 'GET', params)
|
|
8
173
|
end
|
|
9
174
|
|
|
10
175
|
def list_sales(year, month)
|
|
11
176
|
params = {
|
|
12
|
-
'year' => year,
|
|
13
|
-
'month' => month,
|
|
14
177
|
'format' => 'json'
|
|
15
178
|
}
|
|
16
|
-
uri = URI.parse(@base_url +
|
|
179
|
+
uri = URI.parse(@base_url + "/ar/list/#{year.to_i}/#{month.to_i}")
|
|
17
180
|
api_request(uri, 'GET', params)
|
|
18
181
|
end
|
|
19
182
|
|
|
@@ -25,17 +188,15 @@ class TsubaisoSDK
|
|
|
25
188
|
'ar_segment' => options[:ar_segment],
|
|
26
189
|
'format' => 'json'
|
|
27
190
|
}
|
|
28
|
-
uri = URI.parse(@base_url + '/
|
|
191
|
+
uri = URI.parse(@base_url + '/ar/balance')
|
|
29
192
|
api_request(uri, 'GET', params)
|
|
30
193
|
end
|
|
31
194
|
|
|
32
195
|
def list_purchases(year, month)
|
|
33
196
|
params = {
|
|
34
|
-
'year' => year,
|
|
35
|
-
'month' => month,
|
|
36
197
|
'format' => 'json'
|
|
37
198
|
}
|
|
38
|
-
uri = URI.parse(@base_url +
|
|
199
|
+
uri = URI.parse(@base_url + "/ap_payments/list/#{year.to_i}/#{month.to_i}")
|
|
39
200
|
api_request(uri, 'GET', params)
|
|
40
201
|
end
|
|
41
202
|
|
|
@@ -47,29 +208,27 @@ class TsubaisoSDK
|
|
|
47
208
|
'ap_segment' => options[:ap_segment],
|
|
48
209
|
'format' => 'json'
|
|
49
210
|
}
|
|
50
|
-
uri = URI.parse(@base_url + '/ap_payments/balance
|
|
211
|
+
uri = URI.parse(@base_url + '/ap_payments/balance')
|
|
51
212
|
api_request(uri, 'GET', params)
|
|
52
213
|
end
|
|
53
214
|
|
|
54
215
|
def list_customers
|
|
55
216
|
params = { 'format' => 'json' }
|
|
56
|
-
uri = URI.parse(@base_url + '/customer_masters/list
|
|
217
|
+
uri = URI.parse(@base_url + '/customer_masters/list')
|
|
57
218
|
api_request(uri, 'GET', params)
|
|
58
219
|
end
|
|
59
220
|
|
|
60
221
|
def list_payrolls(year, month)
|
|
61
222
|
params = {
|
|
62
|
-
'format' => 'json'
|
|
63
|
-
'year' => year,
|
|
64
|
-
'month' => month
|
|
223
|
+
'format' => 'json'
|
|
65
224
|
}
|
|
66
|
-
uri = URI.parse(@base_url +
|
|
225
|
+
uri = URI.parse(@base_url + "/payrolls/list/#{year.to_s}/#{month.to_s}")
|
|
67
226
|
api_request(uri, 'GET', params)
|
|
68
227
|
end
|
|
69
228
|
|
|
70
229
|
def list_staff
|
|
71
230
|
params = { 'format' => 'json' }
|
|
72
|
-
uri = URI.parse(@base_url + '/staffs/list
|
|
231
|
+
uri = URI.parse(@base_url + '/staffs/list')
|
|
73
232
|
api_request(uri, 'GET', params)
|
|
74
233
|
end
|
|
75
234
|
|
|
@@ -78,13 +237,13 @@ class TsubaisoSDK
|
|
|
78
237
|
'format' => 'json',
|
|
79
238
|
'staff_id' => staff_id
|
|
80
239
|
}
|
|
81
|
-
uri = URI.parse(@base_url + '/staff_data/list
|
|
240
|
+
uri = URI.parse(@base_url + '/staff_data/list')
|
|
82
241
|
api_request(uri, 'GET', params)
|
|
83
242
|
end
|
|
84
243
|
|
|
85
244
|
def list_staff_datum_masters
|
|
86
245
|
params = { 'format' => 'json' }
|
|
87
|
-
uri = URI.parse(@base_url + '/staff_datum_masters/list
|
|
246
|
+
uri = URI.parse(@base_url + '/staff_datum_masters/list')
|
|
88
247
|
api_request(uri, 'GET', params)
|
|
89
248
|
end
|
|
90
249
|
|
|
@@ -94,7 +253,7 @@ class TsubaisoSDK
|
|
|
94
253
|
'year' => year,
|
|
95
254
|
'month' => month
|
|
96
255
|
}
|
|
97
|
-
uri = URI.parse(@base_url + '/reimbursements/list
|
|
256
|
+
uri = URI.parse(@base_url + '/reimbursements/list')
|
|
98
257
|
api_request(uri, 'GET', params)
|
|
99
258
|
end
|
|
100
259
|
|
|
@@ -103,54 +262,58 @@ class TsubaisoSDK
|
|
|
103
262
|
'format' => 'json',
|
|
104
263
|
'id' => reimbursement_id.to_i
|
|
105
264
|
}
|
|
106
|
-
uri = URI.parse(@base_url + '/reimbursement_transactions/list
|
|
265
|
+
uri = URI.parse(@base_url + '/reimbursement_transactions/list')
|
|
107
266
|
api_request(uri, 'GET', params)
|
|
108
267
|
end
|
|
109
268
|
|
|
110
269
|
def list_reimbursement_reason_masters
|
|
111
270
|
params = { 'format' => 'json' }
|
|
112
|
-
uri = URI.parse(@base_url + '/reimbursement_reason_masters/list
|
|
271
|
+
uri = URI.parse(@base_url + '/reimbursement_reason_masters/list')
|
|
113
272
|
api_request(uri, 'GET', params)
|
|
114
273
|
end
|
|
115
274
|
|
|
116
|
-
def list_manual_journals(year
|
|
117
|
-
params = {
|
|
118
|
-
|
|
119
|
-
'month' => month,
|
|
120
|
-
'format' => 'json'
|
|
121
|
-
}
|
|
122
|
-
uri = URI.parse(@base_url + '/manual_journals/list/')
|
|
275
|
+
def list_manual_journals(year, month)
|
|
276
|
+
params = { 'format' => 'json' }
|
|
277
|
+
uri = URI.parse(@base_url + "/manual_journals/list/#{year.to_i}/#{month.to_i}")
|
|
123
278
|
api_request(uri, 'GET', params)
|
|
124
279
|
end
|
|
125
280
|
|
|
126
281
|
def list_journals(options)
|
|
127
|
-
params = {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
282
|
+
params = {}
|
|
283
|
+
candidate_keys = [
|
|
284
|
+
:start_date,
|
|
285
|
+
:finish_date,
|
|
286
|
+
:start_created_at,
|
|
287
|
+
:finish_created_at,
|
|
288
|
+
:account_codes,
|
|
289
|
+
:price_min,
|
|
290
|
+
:price_max,
|
|
291
|
+
:memo,
|
|
292
|
+
:dept_code,
|
|
293
|
+
:id,
|
|
294
|
+
:tag_list,
|
|
295
|
+
]
|
|
296
|
+
params = create_parameters(candidate_keys,options)
|
|
297
|
+
params['format'] = 'json'
|
|
298
|
+
uri = URI.parse(@base_url + '/journals/list')
|
|
142
299
|
api_request(uri, 'GET', params)
|
|
143
300
|
end
|
|
144
301
|
|
|
145
302
|
def list_depts
|
|
146
303
|
params = { 'format' => 'json' }
|
|
147
|
-
uri = URI.parse(@base_url + '/depts/list
|
|
304
|
+
uri = URI.parse(@base_url + '/depts/list')
|
|
305
|
+
api_request(uri, 'GET', params)
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
def list_tax_masters
|
|
309
|
+
params = { 'format' => 'json' }
|
|
310
|
+
uri = URI.parse(@base_url + '/tax_masters/list')
|
|
148
311
|
api_request(uri, 'GET', params)
|
|
149
312
|
end
|
|
150
313
|
|
|
151
314
|
def list_tags
|
|
152
315
|
params = { 'format' => 'json' }
|
|
153
|
-
uri = URI.parse(@base_url + '/tags/list
|
|
316
|
+
uri = URI.parse(@base_url + '/tags/list')
|
|
154
317
|
api_request(uri, 'GET', params)
|
|
155
318
|
end
|
|
156
319
|
|
|
@@ -160,7 +323,7 @@ class TsubaisoSDK
|
|
|
160
323
|
'bonus_no' => bonus_no,
|
|
161
324
|
'target_year' => target_year
|
|
162
325
|
}
|
|
163
|
-
uri = URI.parse(@base_url + '/bonuses/list
|
|
326
|
+
uri = URI.parse(@base_url + '/bonuses/list')
|
|
164
327
|
api_request(uri, 'GET', params)
|
|
165
328
|
end
|
|
166
329
|
|
|
@@ -172,14 +335,42 @@ class TsubaisoSDK
|
|
|
172
335
|
|
|
173
336
|
def list_ar_reason_masters
|
|
174
337
|
params = { 'format' => 'json' }
|
|
175
|
-
uri = URI.parse(@base_url + '/ar_reason_masters/list
|
|
338
|
+
uri = URI.parse(@base_url + '/ar_reason_masters/list')
|
|
339
|
+
api_request(uri, 'GET', params)
|
|
340
|
+
end
|
|
341
|
+
|
|
342
|
+
def list_physical_inventory_masters
|
|
343
|
+
params = { 'format' => 'json' }
|
|
344
|
+
uri = URI.parse(@base_url + '/physical_inventory_masters/list')
|
|
345
|
+
api_request(uri, 'GET', params)
|
|
346
|
+
end
|
|
347
|
+
|
|
348
|
+
def list_bank_reason_masters
|
|
349
|
+
params = { 'format' => 'json' }
|
|
350
|
+
uri = URI.parse(@base_url + '/bank_reason_masters/list')
|
|
176
351
|
api_request(uri, 'GET', params)
|
|
177
352
|
end
|
|
178
353
|
|
|
179
354
|
# Alpha version now.
|
|
180
355
|
def list_fixed_assets
|
|
181
356
|
params = { 'format' => 'json' }
|
|
182
|
-
uri = URI.parse(@base_url + '/fixed_assets/list
|
|
357
|
+
uri = URI.parse(@base_url + '/fixed_assets/list')
|
|
358
|
+
api_request(uri, 'GET', params)
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
def list_petty_cash_reason_masters
|
|
362
|
+
params = { 'format' => 'json' }
|
|
363
|
+
uri = URI.parse(@base_url + '/petty_cash_reason_masters/list')
|
|
364
|
+
api_request(uri, 'GET', params)
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
def list_api_history(options)
|
|
368
|
+
params = {
|
|
369
|
+
'format' => 'json',
|
|
370
|
+
'month' => options[:month],
|
|
371
|
+
'year' => options[:year]
|
|
372
|
+
}
|
|
373
|
+
uri = URI.parse(@base_url + '/api_histories/list')
|
|
183
374
|
api_request(uri, 'GET', params)
|
|
184
375
|
end
|
|
185
376
|
|
|
@@ -190,6 +381,12 @@ class TsubaisoSDK
|
|
|
190
381
|
api_request(uri, 'GET', params)
|
|
191
382
|
end
|
|
192
383
|
|
|
384
|
+
def show_tax_master(tax_master_id)
|
|
385
|
+
params = { 'format' => 'json' }
|
|
386
|
+
uri = URI.parse(@base_url + "/tax_masters/show/#{tax_master_id}")
|
|
387
|
+
api_request(uri, 'GET', params)
|
|
388
|
+
end
|
|
389
|
+
|
|
193
390
|
def show_purchase(voucher)
|
|
194
391
|
purchase_id = voucher.scan(/\d/).join('')
|
|
195
392
|
params = { 'format' => 'json' }
|
|
@@ -204,6 +401,15 @@ class TsubaisoSDK
|
|
|
204
401
|
api_request(uri, 'GET', params)
|
|
205
402
|
end
|
|
206
403
|
|
|
404
|
+
def show_customer_by_code(code)
|
|
405
|
+
params = {
|
|
406
|
+
'code' => code,
|
|
407
|
+
'format' => 'json'
|
|
408
|
+
}
|
|
409
|
+
uri = URI.parse(@base_url + '/customer_masters/show')
|
|
410
|
+
api_request(uri, 'GET', params)
|
|
411
|
+
end
|
|
412
|
+
|
|
207
413
|
def show_staff(staff_id)
|
|
208
414
|
staff_id = staff_id.to_i
|
|
209
415
|
params = { 'format' => 'json' }
|
|
@@ -219,12 +425,12 @@ class TsubaisoSDK
|
|
|
219
425
|
'time' => options[:time],
|
|
220
426
|
'format' => 'json'
|
|
221
427
|
}
|
|
222
|
-
id = options[:id]
|
|
428
|
+
# id = options[:id]
|
|
223
429
|
else
|
|
224
430
|
params = { 'format' => 'json' }
|
|
225
|
-
id = options
|
|
431
|
+
id = "/" + options.to_s
|
|
226
432
|
end
|
|
227
|
-
uri = URI.parse(@base_url + "/staff_data/show
|
|
433
|
+
uri = URI.parse(@base_url + "/staff_data/show#{id}")
|
|
228
434
|
api_request(uri, 'GET', params)
|
|
229
435
|
end
|
|
230
436
|
|
|
@@ -234,12 +440,11 @@ class TsubaisoSDK
|
|
|
234
440
|
'code' => options[:code],
|
|
235
441
|
'format' => 'json'
|
|
236
442
|
}
|
|
237
|
-
id = options[:id]
|
|
238
443
|
else
|
|
239
444
|
params = { 'format' => 'json' }
|
|
240
|
-
id = options
|
|
445
|
+
id = '/' + options.to_s
|
|
241
446
|
end
|
|
242
|
-
uri = URI.parse(@base_url + "/staff_datum_masters/show
|
|
447
|
+
uri = URI.parse(@base_url + "/staff_datum_masters/show#{id}")
|
|
243
448
|
api_request(uri, 'GET', params)
|
|
244
449
|
end
|
|
245
450
|
|
|
@@ -309,6 +514,35 @@ class TsubaisoSDK
|
|
|
309
514
|
api_request(uri, 'GET', params)
|
|
310
515
|
end
|
|
311
516
|
|
|
517
|
+
def show_physical_inventory_master(physical_inventory_master_id)
|
|
518
|
+
params = { 'format' => 'json' }
|
|
519
|
+
uri = URI.parse(@base_url + "/physical_inventory_masters/show/#{physical_inventory_master_id}")
|
|
520
|
+
api_request(uri, 'GET', params)
|
|
521
|
+
end
|
|
522
|
+
|
|
523
|
+
def show_bank_reason_master(bank_reason_master_id)
|
|
524
|
+
params = { 'format' => 'json' }
|
|
525
|
+
uri = URI.parse(@base_url + "/bank_reason_masters/show/#{bank_reason_master_id}")
|
|
526
|
+
api_request(uri, 'GET', params)
|
|
527
|
+
end
|
|
528
|
+
|
|
529
|
+
def show_petty_cash_reason_master(petty_cash_reason_master_id)
|
|
530
|
+
params = { 'format' => 'json' }
|
|
531
|
+
uri = URI.parse(@base_url + "/petty_cash_reason_masters/show/#{petty_cash_reason_master_id}")
|
|
532
|
+
api_request(uri, 'GET', params)
|
|
533
|
+
end
|
|
534
|
+
|
|
535
|
+
def show_corporate_master(corporate_master_id, options = {})
|
|
536
|
+
params = {
|
|
537
|
+
'ccode' => options[:ccode],
|
|
538
|
+
'format' => 'json'
|
|
539
|
+
}
|
|
540
|
+
corporate_master_id = '/' + corporate_master_id.to_s if corporate_master_id
|
|
541
|
+
|
|
542
|
+
uri = URI.parse(@base_url + "/corporate_masters/show#{corporate_master_id}")
|
|
543
|
+
api_request(uri, 'GET', params)
|
|
544
|
+
end
|
|
545
|
+
|
|
312
546
|
def create_customer(options)
|
|
313
547
|
available_keys = [
|
|
314
548
|
'accountant_email',
|
|
@@ -354,18 +588,33 @@ class TsubaisoSDK
|
|
|
354
588
|
'withholding_tax_base',
|
|
355
589
|
'withholding_tax_segment',
|
|
356
590
|
'zip',
|
|
591
|
+
'pay_date_if_holiday',
|
|
592
|
+
'receive_date_if_holiday',
|
|
357
593
|
'data_partner'
|
|
358
594
|
]
|
|
359
595
|
params = {}
|
|
360
|
-
available_keys.
|
|
361
|
-
params[key.to_s] = options[key.to_sym]
|
|
362
|
-
end
|
|
596
|
+
params = create_parameters(available_keys.map{|x| x.to_sym},options)
|
|
363
597
|
params['format'] = 'json'
|
|
364
598
|
|
|
365
599
|
uri = URI.parse(@base_url + '/customer_masters/create')
|
|
366
600
|
api_request(uri, 'POST', params)
|
|
367
601
|
end
|
|
368
602
|
|
|
603
|
+
def create_bank_reason_masters(options)
|
|
604
|
+
params = {
|
|
605
|
+
'sort_number' => options[:sort_number],
|
|
606
|
+
'reason_code' => options[:reason_code],
|
|
607
|
+
'reason_name' => options[:reason_name],
|
|
608
|
+
'dc' => options[:dc],
|
|
609
|
+
'is_valid' => options[:is_valid],
|
|
610
|
+
'memo' => options[:memo],
|
|
611
|
+
'account_code' => options[:account_code],
|
|
612
|
+
'format' => 'json'
|
|
613
|
+
}
|
|
614
|
+
uri = URI.parse(@base_url + '/bank_reason_masters/create')
|
|
615
|
+
api_request(uri, 'POST', params)
|
|
616
|
+
end
|
|
617
|
+
|
|
369
618
|
def create_sale(options)
|
|
370
619
|
params = {
|
|
371
620
|
'price_including_tax' => options[:price_including_tax],
|
|
@@ -387,6 +636,30 @@ class TsubaisoSDK
|
|
|
387
636
|
api_request(uri, 'POST', params)
|
|
388
637
|
end
|
|
389
638
|
|
|
639
|
+
def find_or_create_sale(options)
|
|
640
|
+
params = {}
|
|
641
|
+
available_keys = [
|
|
642
|
+
'price_including_tax',
|
|
643
|
+
'realization_timestamp',
|
|
644
|
+
'customer_master_code',
|
|
645
|
+
'dept_code',
|
|
646
|
+
'reason_master_code',
|
|
647
|
+
'dc',
|
|
648
|
+
'memo',
|
|
649
|
+
'tax_code',
|
|
650
|
+
'sales_tax',
|
|
651
|
+
'scheduled_memo',
|
|
652
|
+
'scheduled_receive_timestamp',
|
|
653
|
+
'tag_list',
|
|
654
|
+
'data_partner',
|
|
655
|
+
'key'
|
|
656
|
+
]
|
|
657
|
+
params = create_parameters(available_keys.map{|x| x.to_sym},options)
|
|
658
|
+
params['format'] = 'json'
|
|
659
|
+
uri = URI.parse(@base_url + '/ar/find_or_create')
|
|
660
|
+
api_request(uri, 'POST', params)
|
|
661
|
+
end
|
|
662
|
+
|
|
390
663
|
def create_purchase(options)
|
|
391
664
|
params = {
|
|
392
665
|
'price_including_tax' => options[:price_including_tax],
|
|
@@ -406,6 +679,26 @@ class TsubaisoSDK
|
|
|
406
679
|
api_request(uri, 'POST', params)
|
|
407
680
|
end
|
|
408
681
|
|
|
682
|
+
def find_or_create_purchase(options)
|
|
683
|
+
params = {
|
|
684
|
+
'price_including_tax' => options[:price_including_tax],
|
|
685
|
+
'accrual_timestamp' => options[:accrual_timestamp],
|
|
686
|
+
'customer_master_code' => options[:customer_master_code],
|
|
687
|
+
'dept_code' => options[:dept_code],
|
|
688
|
+
'reason_master_code' => options[:reason_master_code],
|
|
689
|
+
'dc' => options[:dc],
|
|
690
|
+
'memo' => options[:memo],
|
|
691
|
+
'tax_code' => options[:tax_code],
|
|
692
|
+
'port_type' => options[:port_type],
|
|
693
|
+
'tag_list' => options[:tag_list],
|
|
694
|
+
'data_partner' => options[:data_partner],
|
|
695
|
+
'key' => options[:key],
|
|
696
|
+
'format' => 'json'
|
|
697
|
+
}
|
|
698
|
+
uri = URI.parse(@base_url + '/ap_payments/find_or_create')
|
|
699
|
+
api_request(uri, 'POST', params)
|
|
700
|
+
end
|
|
701
|
+
|
|
409
702
|
def create_staff_data(options)
|
|
410
703
|
params = {
|
|
411
704
|
'staff_id' => options[:staff_id],
|
|
@@ -447,7 +740,7 @@ class TsubaisoSDK
|
|
|
447
740
|
'dept_code' => options[:dept_code],
|
|
448
741
|
'memo' => options[:memo]
|
|
449
742
|
}
|
|
450
|
-
uri = URI.parse(@base_url + '/reimbursements/create
|
|
743
|
+
uri = URI.parse(@base_url + '/reimbursements/create')
|
|
451
744
|
api_request(uri, 'POST', params)
|
|
452
745
|
end
|
|
453
746
|
|
|
@@ -466,7 +759,7 @@ class TsubaisoSDK
|
|
|
466
759
|
'tax_type' => options[:tax_type],
|
|
467
760
|
'data_partner' => options[:data_partner]
|
|
468
761
|
}
|
|
469
|
-
uri = URI.parse(@base_url + '/reimbursement_transactions/create
|
|
762
|
+
uri = URI.parse(@base_url + '/reimbursement_transactions/create')
|
|
470
763
|
api_request(uri, 'POST', params)
|
|
471
764
|
end
|
|
472
765
|
|
|
@@ -482,7 +775,7 @@ class TsubaisoSDK
|
|
|
482
775
|
'start_date' => options[:start_date],
|
|
483
776
|
'finish_date' => options[:finish_date]
|
|
484
777
|
}
|
|
485
|
-
uri = URI.parse(@base_url + '/depts/create
|
|
778
|
+
uri = URI.parse(@base_url + '/depts/create')
|
|
486
779
|
api_request(uri, 'POST', params)
|
|
487
780
|
end
|
|
488
781
|
|
|
@@ -496,7 +789,7 @@ class TsubaisoSDK
|
|
|
496
789
|
'start_ymd' => options[:start_ymd],
|
|
497
790
|
'finish_ymd' => options[:finish_ymd]
|
|
498
791
|
}
|
|
499
|
-
uri = URI.parse(@base_url + '/tags/create
|
|
792
|
+
uri = URI.parse(@base_url + '/tags/create')
|
|
500
793
|
api_request(uri, 'POST', params)
|
|
501
794
|
end
|
|
502
795
|
|
|
@@ -516,12 +809,56 @@ class TsubaisoSDK
|
|
|
516
809
|
'criteria' => options[:criteria],
|
|
517
810
|
'distribution_conditions' => options[:distribution_conditions]
|
|
518
811
|
}
|
|
519
|
-
uri = URI.parse(@base_url + '/journal_distributions/create
|
|
812
|
+
uri = URI.parse(@base_url + '/journal_distributions/create')
|
|
813
|
+
api_request(uri, 'POST', params)
|
|
814
|
+
end
|
|
815
|
+
|
|
816
|
+
def create_petty_cash_reason_master(options)
|
|
817
|
+
params = {
|
|
818
|
+
'format' => 'json',
|
|
819
|
+
'reason_code' => options[:reason_code],
|
|
820
|
+
'reason_name' => options[:reason_name],
|
|
821
|
+
'dc' => options[:dc],
|
|
822
|
+
'account_code' => options[:account_code],
|
|
823
|
+
'is_valid' => options[:is_valid],
|
|
824
|
+
'memo' => options[:memo],
|
|
825
|
+
'port_type' => options[:port_type],
|
|
826
|
+
'sort_number' => options[:sort_number]
|
|
827
|
+
}
|
|
828
|
+
uri = URI.parse(@base_url + '/petty_cash_reason_masters/create')
|
|
829
|
+
api_request(uri, 'POST', params)
|
|
830
|
+
end
|
|
831
|
+
|
|
832
|
+
def create_physical_inventory_masters(options)
|
|
833
|
+
params = {}
|
|
834
|
+
candidate_keys = [:name, :start_ymd, :finish_ymd, :memo, :tag_list, :dept_code]
|
|
835
|
+
params = create_parameters(candidate_keys,options)
|
|
836
|
+
params['format'] = 'json'
|
|
837
|
+
|
|
838
|
+
uri = URI.parse(@base_url + '/physical_inventory_masters/create')
|
|
520
839
|
api_request(uri, 'POST', params)
|
|
521
840
|
end
|
|
522
841
|
|
|
523
842
|
def update_sale(options)
|
|
524
|
-
|
|
843
|
+
available_keys = [
|
|
844
|
+
'id',
|
|
845
|
+
'price_including_tax',
|
|
846
|
+
'realization_timestamp',
|
|
847
|
+
'customer_master_code',
|
|
848
|
+
'dept_code',
|
|
849
|
+
'reason_master_code',
|
|
850
|
+
'dc',
|
|
851
|
+
'memo',
|
|
852
|
+
'tax_code',
|
|
853
|
+
'sales_tax',
|
|
854
|
+
'scheduled_memo',
|
|
855
|
+
'scheduled_receive_timestamp',
|
|
856
|
+
'tag_list',
|
|
857
|
+
'data_partner'
|
|
858
|
+
]
|
|
859
|
+
params = {}
|
|
860
|
+
params = create_parameters(available_keys.map{|x| x.to_sym},options)
|
|
861
|
+
params['format'] = 'json'
|
|
525
862
|
uri = URI.parse(@base_url + "/ar/update/#{options[:id]}")
|
|
526
863
|
api_request(uri, 'POST', params)
|
|
527
864
|
end
|
|
@@ -578,18 +915,36 @@ class TsubaisoSDK
|
|
|
578
915
|
'withholding_tax_base',
|
|
579
916
|
'withholding_tax_segment',
|
|
580
917
|
'zip',
|
|
918
|
+
'pay_date_if_holiday',
|
|
919
|
+
'receive_date_if_holiday',
|
|
581
920
|
'data_partner'
|
|
582
921
|
]
|
|
583
922
|
params = {}
|
|
584
|
-
available_keys.
|
|
585
|
-
params[key.to_s] = options[key.to_sym]
|
|
586
|
-
end
|
|
923
|
+
params = create_parameters(available_keys.map{|x| x.to_sym},options)
|
|
587
924
|
params['format'] = 'json'
|
|
588
925
|
|
|
589
926
|
uri = URI.parse(@base_url + "/customer_masters/update/#{options[:id]}")
|
|
590
927
|
api_request(uri, 'POST', params)
|
|
591
928
|
end
|
|
592
929
|
|
|
930
|
+
def update_bank_reason_masters(options)
|
|
931
|
+
params = {}
|
|
932
|
+
candidate_keys = [
|
|
933
|
+
:sort_number,
|
|
934
|
+
:reason_code,
|
|
935
|
+
:reason_name,
|
|
936
|
+
:dc,
|
|
937
|
+
:is_valid,
|
|
938
|
+
:memo,
|
|
939
|
+
:account_code
|
|
940
|
+
]
|
|
941
|
+
|
|
942
|
+
params = create_parameters(candidate_keys,options)
|
|
943
|
+
params['format'] = 'json'
|
|
944
|
+
uri = URI.parse(@base_url + '/bank_reason_masters/update/' + options[:id].to_s)
|
|
945
|
+
api_request(uri, "POST",params)
|
|
946
|
+
end
|
|
947
|
+
|
|
593
948
|
def update_staff_data(options)
|
|
594
949
|
params = {
|
|
595
950
|
'memo' => options[:memo],
|
|
@@ -604,7 +959,7 @@ class TsubaisoSDK
|
|
|
604
959
|
params[:no_finish_timestamp] = options[:no_finish_timestamp]
|
|
605
960
|
end
|
|
606
961
|
|
|
607
|
-
uri = URI.parse(@base_url + "/staff_data/update/#{options[:
|
|
962
|
+
uri = URI.parse(@base_url + "/staff_data/update/#{options[:staff_id]}")
|
|
608
963
|
api_request(uri, 'POST', params)
|
|
609
964
|
end
|
|
610
965
|
|
|
@@ -621,66 +976,103 @@ class TsubaisoSDK
|
|
|
621
976
|
end
|
|
622
977
|
|
|
623
978
|
def update_reimbursement(reimbursement_id, options)
|
|
624
|
-
params = {
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
979
|
+
params = {}
|
|
980
|
+
candidate_keys = [
|
|
981
|
+
:applicant,
|
|
982
|
+
:application_term,
|
|
983
|
+
:staff_code,
|
|
984
|
+
:dept_code,
|
|
985
|
+
:memo,
|
|
986
|
+
]
|
|
987
|
+
params = create_parameters(candidate_keys,options)
|
|
988
|
+
params['format'] = 'json'
|
|
632
989
|
uri = URI.parse(@base_url + "/reimbursements/update/#{reimbursement_id}")
|
|
633
990
|
api_request(uri, 'POST', params)
|
|
634
991
|
end
|
|
635
992
|
|
|
636
993
|
def update_reimbursement_transaction(options)
|
|
637
|
-
params = {
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
994
|
+
params = {}
|
|
995
|
+
candidate_keys = [
|
|
996
|
+
:port_type,
|
|
997
|
+
:transaction_timestamp,
|
|
998
|
+
:price_value,
|
|
999
|
+
:bc,
|
|
1000
|
+
:reason_code,
|
|
1001
|
+
:brief,
|
|
1002
|
+
:memo,
|
|
1003
|
+
:tag_list,
|
|
1004
|
+
:tax_type,
|
|
1005
|
+
:data_partner
|
|
1006
|
+
]
|
|
1007
|
+
params = create_parameters(candidate_keys,options)
|
|
1008
|
+
params['format'] = 'json'
|
|
1009
|
+
|
|
650
1010
|
uri = URI.parse(@base_url + "/reimbursement_transactions/update/#{options[:id]}")
|
|
651
1011
|
api_request(uri, 'POST', params)
|
|
652
1012
|
end
|
|
653
1013
|
|
|
654
1014
|
def update_dept(dept_id, options)
|
|
655
|
-
params = {
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
1015
|
+
params = {}
|
|
1016
|
+
candidate_keys = [
|
|
1017
|
+
:sort_no,
|
|
1018
|
+
:code,
|
|
1019
|
+
:name,
|
|
1020
|
+
:memo,
|
|
1021
|
+
:name_abbr,
|
|
1022
|
+
:color,
|
|
1023
|
+
:start_date,
|
|
1024
|
+
:finish_date
|
|
1025
|
+
]
|
|
1026
|
+
params = create_parameters(candidate_keys,options)
|
|
1027
|
+
params['format'] = 'json'
|
|
666
1028
|
uri = URI.parse(@base_url + "/depts/update/#{dept_id}")
|
|
667
1029
|
api_request(uri, 'POST', params)
|
|
668
1030
|
end
|
|
669
1031
|
|
|
670
1032
|
def update_tag(tag_id, options)
|
|
671
|
-
params = {
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
1033
|
+
params = {}
|
|
1034
|
+
candidate_keys = [
|
|
1035
|
+
:code,
|
|
1036
|
+
:name,
|
|
1037
|
+
:sort_no,
|
|
1038
|
+
:tagg_group_code,
|
|
1039
|
+
:start_ymd,
|
|
1040
|
+
:finish_ymd
|
|
1041
|
+
]
|
|
1042
|
+
params = create_parameters(candidate_keys,options)
|
|
1043
|
+
params['format'] = 'json'
|
|
680
1044
|
uri = URI.parse(@base_url + "/tags/update/#{tag_id}")
|
|
681
1045
|
api_request(uri, 'POST', params)
|
|
682
1046
|
end
|
|
683
1047
|
|
|
1048
|
+
def update_petty_cash_reason_master(petty_cash_reason_master_id, options)
|
|
1049
|
+
params = {}
|
|
1050
|
+
candidate_keys = [
|
|
1051
|
+
:reason_code,
|
|
1052
|
+
:reason_name,
|
|
1053
|
+
:dc,
|
|
1054
|
+
:account_code,
|
|
1055
|
+
:is_valid,
|
|
1056
|
+
:memo,
|
|
1057
|
+
:port_type,
|
|
1058
|
+
:sort_number
|
|
1059
|
+
]
|
|
1060
|
+
params = create_parameters(candidate_keys,options)
|
|
1061
|
+
params['format'] = 'json'
|
|
1062
|
+
uri = URI.parse(@base_url + "/petty_cash_reason_masters/update/#{petty_cash_reason_master_id}")
|
|
1063
|
+
api_request(uri, 'POST', params)
|
|
1064
|
+
end
|
|
1065
|
+
|
|
1066
|
+
def update_physical_inventory_masters(options)
|
|
1067
|
+
params = {}
|
|
1068
|
+
candidate_keys = [:name, :start_ymd, :finish_ymd, :memo]
|
|
1069
|
+
params = create_parameters(candidate_keys,options)
|
|
1070
|
+
params['format'] = 'json'
|
|
1071
|
+
|
|
1072
|
+
uri = URI.parse(@base_url + "/physical_inventory_masters/update/#{options[:id]}")
|
|
1073
|
+
api_request(uri, 'POST', params)
|
|
1074
|
+
end
|
|
1075
|
+
|
|
684
1076
|
def destroy_sale(voucher)
|
|
685
1077
|
sale_id = voucher.scan(/\d/).join('')
|
|
686
1078
|
params = { 'format' => 'json' }
|
|
@@ -688,6 +1080,12 @@ class TsubaisoSDK
|
|
|
688
1080
|
api_request(uri, 'POST', params)
|
|
689
1081
|
end
|
|
690
1082
|
|
|
1083
|
+
def destroy_bank_reason_masters(destroy_id)
|
|
1084
|
+
params = {'format' => 'json'}
|
|
1085
|
+
uri = URI.parse(@base_url + '/bank_reason_masters/destroy/' + destroy_id.to_s)
|
|
1086
|
+
api_request(uri,"POST",params)
|
|
1087
|
+
end
|
|
1088
|
+
|
|
691
1089
|
def destroy_purchase(voucher)
|
|
692
1090
|
purchase_id = voucher.scan(/\d/).join('')
|
|
693
1091
|
params = { 'format' => 'json' }
|
|
@@ -750,8 +1148,43 @@ class TsubaisoSDK
|
|
|
750
1148
|
api_request(uri, 'POST', params)
|
|
751
1149
|
end
|
|
752
1150
|
|
|
1151
|
+
def scheduled_date(target_date, sight, closing_day, shift = 'before')
|
|
1152
|
+
params = { 'format' => 'json', target_date: target_date, sight: sight, closing_day: closing_day, shift: shift }
|
|
1153
|
+
uri = URI.parse(@base_url + '/scheduled_dates/calc')
|
|
1154
|
+
api_request(uri, 'GET', params)
|
|
1155
|
+
end
|
|
1156
|
+
|
|
1157
|
+
def destroy_petty_cash_reason_master(petty_cash_reason_master_id)
|
|
1158
|
+
params = { 'format' => 'json' }
|
|
1159
|
+
uri = URI.parse(@base_url + "/petty_cash_reason_masters/destroy/#{petty_cash_reason_master_id}")
|
|
1160
|
+
api_request(uri, 'POST', params)
|
|
1161
|
+
end
|
|
1162
|
+
|
|
1163
|
+
def destroy_physical_inventory_masters(physical_inventory_masters_id)
|
|
1164
|
+
params = { 'format' => 'json' }
|
|
1165
|
+
uri = URI.parse(@base_url + "/physical_inventory_masters/destroy/#{physical_inventory_masters_id}")
|
|
1166
|
+
api_request(uri, 'POST', params)
|
|
1167
|
+
end
|
|
1168
|
+
|
|
1169
|
+
def next_customer_code
|
|
1170
|
+
params = {
|
|
1171
|
+
'format' => 'json'
|
|
1172
|
+
}
|
|
1173
|
+
uri = URI.parse(@base_url + '/customer_masters/next_code')
|
|
1174
|
+
api_request(uri, 'GET', params)
|
|
1175
|
+
end
|
|
1176
|
+
|
|
753
1177
|
private
|
|
754
1178
|
|
|
1179
|
+
|
|
1180
|
+
def create_parameters(keys,options)
|
|
1181
|
+
# Add new keys and value if options has keys, even if value in options is nil.
|
|
1182
|
+
# This code avoid updateing attributes witch is not specified by the users.
|
|
1183
|
+
(keys & options.keys).inject({ 'format' => 'json' }) do |params, key|
|
|
1184
|
+
params.merge(key.to_s => options[key]) # Hash#slice can be replace this code if your ruby is =< 2.5.0
|
|
1185
|
+
end
|
|
1186
|
+
end
|
|
1187
|
+
|
|
755
1188
|
def api_request(uri, http_verb, params)
|
|
756
1189
|
http = Net::HTTP.new(uri.host, uri.port)
|
|
757
1190
|
initheader = { 'Content-Type' => 'application/json' }
|
|
@@ -792,29 +1225,28 @@ class TsubaisoSDK
|
|
|
792
1225
|
|
|
793
1226
|
def make_journal_dcs(journal_dcs)
|
|
794
1227
|
return nil if journal_dcs.nil?
|
|
1228
|
+
|
|
795
1229
|
journal_dcs.map { |journal_dc| make_journal_dc(journal_dc) }
|
|
796
1230
|
end
|
|
797
1231
|
|
|
798
1232
|
def make_journal_dc(journal_dc)
|
|
799
|
-
{
|
|
1233
|
+
{
|
|
1234
|
+
'debit' => make_journal_dc_oneside(journal_dc[:debit]),
|
|
800
1235
|
'credit' => make_journal_dc_oneside(journal_dc[:credit]),
|
|
801
1236
|
'dept_code' => journal_dc[:dept_code],
|
|
802
|
-
'memo' => journal_dc[:memo]
|
|
1237
|
+
'memo' => journal_dc[:memo],
|
|
1238
|
+
'tag_list' => journal_dc[:tag_list]
|
|
1239
|
+
}
|
|
803
1240
|
end
|
|
804
1241
|
|
|
805
1242
|
def make_journal_dc_oneside(side)
|
|
806
1243
|
return nil if side.nil?
|
|
807
|
-
|
|
1244
|
+
|
|
1245
|
+
{
|
|
1246
|
+
'account_code' => side[:account_code].to_s,
|
|
808
1247
|
'price_including_tax' => side[:price_including_tax],
|
|
809
1248
|
'tax_type' => side[:tax_type],
|
|
810
|
-
'sales_tax' => side[:sales_tax]
|
|
811
|
-
end
|
|
812
|
-
|
|
813
|
-
def next_customer_code
|
|
814
|
-
params = {
|
|
815
|
-
'format' => 'json'
|
|
1249
|
+
'sales_tax' => side[:sales_tax]
|
|
816
1250
|
}
|
|
817
|
-
uri = URI.parse(@base_url + '/customer_masters/next_code')
|
|
818
|
-
api_request(uri, 'GET', params)
|
|
819
1251
|
end
|
|
820
1252
|
end
|