lib/tsubaiso_sdk.rb in tsubaiso-sdk-1.2.7 vs lib/tsubaiso_sdk.rb in tsubaiso-sdk-1.2.8

- old
+ new

@@ -588,11 +588,13 @@ 'withholding_tax_base', 'withholding_tax_segment', 'zip', 'pay_date_if_holiday', 'receive_date_if_holiday', - 'data_partner' + 'data_partner', + 'corporate_mynumber', + 'pay_method', ] params = {} params = create_parameters(available_keys.map{|x| x.to_sym},options) params['format'] = 'json' @@ -729,18 +731,82 @@ uri = URI.parse(@base_url + '/manual_journals/create') api_request(uri, 'POST', params) end + def create_corp(options) + params = { + 'format' => 'json', + 'stage' => options[:stage], + 'corporate_master_type' => options[:corporate_master_type], + 'email_to' => options[:email_to], + 'name' => options[:name], + 'freeze_login' => options[:freeze_login] + } + uri = URI.parse(@base_url + '/corporate_masters/create') + api_request(uri, 'POST', params) + end + + def create_user(options) + params = { + 'format' => 'json' + } + uri = URI.parse(@base_url + '/users/create') + api_request(uri, 'POST', params) + end + + def update_user(options) + params = { + 'format' => 'json', + 'id' => options[:id], + 'email' => options[:email], + 'firstname' => options[:firstname], + 'lastname' => options[:lastname], + 'permitted_address' => options[:permitted_address], + 'dept_codes' => options[:dept_codes], + 'lang' => options[:lang], + 'inuse' => options[:inuse], + } + uri = URI.parse(@base_url + '/users/update') + api_request(uri, 'POST', params) + end + + def add_domains(options) + params = { + 'format' => 'json', + 'id' => options[:id], + 'domains' => options[:domains] + } + uri = URI.parse(@base_url + '/users/add_domains') + api_request(uri, 'POST', params) + end + + def create_fiscal_master(options) + params = { + 'format' => 'json', + 'term' => options[:term], + 'start_timestamp' => options[:start_timestamp], + 'finish_timestamp' => options[:finish_timestamp], + 'launch_timestamp' => options[:launch_timestamp], + 'status' => options[:status], + 'sales_tax_system' => options[:sales_tax_system] + } + uri = URI.parse(@base_url + '/fiscal_masters/create') + api_request(uri, 'POST', params) + end + def create_reimbursement(options) params = { 'format' => 'json', 'applicant' => options[:applicant], 'application_term' => options[:application_term], 'staff_code' => options[:staff_code], 'dept_code' => options[:dept_code], - 'memo' => options[:memo] + 'memo' => options[:memo], + 'applicant_staff_code' => options[:applicant_staff_code], + 'transactions' => options[:transactions], + 'pay_date' => options[:pay_date] } uri = URI.parse(@base_url + '/reimbursements/create') api_request(uri, 'POST', params) end @@ -943,12 +1009,13 @@ params['format'] = 'json' uri = URI.parse(@base_url + '/bank_reason_masters/update/' + options[:id].to_s) api_request(uri, "POST",params) end - def update_staff_data(options) + def update_staff_data(staff_data_id, options) params = { + 'code' => options[:code], 'memo' => options[:memo], 'value' => options[:value], 'start_timestamp' => options[:start_timestamp], 'format' => 'json' } @@ -957,11 +1024,11 @@ params[:finish_timestamp] = options[:finish_timestamp] elsif options[:no_finish_timestamp] params[:no_finish_timestamp] = options[:no_finish_timestamp] end - uri = URI.parse(@base_url + "/staff_data/update/#{options[:staff_id]}") + uri = URI.parse(@base_url + "/staff_data/update/#{staff_data_id}") api_request(uri, 'POST', params) end def update_manual_journal(options) params = { @@ -1172,10 +1239,516 @@ } uri = URI.parse(@base_url + '/customer_masters/next_code') api_request(uri, 'GET', params) end + def create_account_masters(options) + candidate_keys = [ + :account_code, + :account_name, + :descid, + :account_kana, + :dc, + :bspl, + :sum_no, + :brief, + :inputtable, + :use_in_balance, + :status, + ] + params = create_parameters(candidate_keys,options) + uri = URI.parse(@base_url + '/account_masters/create') + api_request(uri, 'POST', params) + end + + def update_account_masters(options) + candidate_keys = [ + :id, + :account_code, + :account_name, + :account_kana, + :descid, + :brief, + :sum_no, + :dc, + :bspl, + :inputtable, + :use_in_balance, + :status, + ] + params = create_parameters(candidate_keys,options) + uri = URI.parse(@base_url + '/account_masters/update') + api_request(uri, 'POST', params) + end + + def list_account_masters + params = { + 'format' => 'json', + } + uri = URI.parse(@base_url + "/account_masters/list") + api_request(uri, 'GET', params) + end + + def create_corporate_data(options) + params = { + 'format' => 'json', + 'code' => options[:code], + 'start_timestamp' => options[:start_timestamp], + 'finish_timestamp' => options[:finish_timestamp], + 'value' => options[:value], + 'memo' => options[:memo] + } + uri = URI.parse(@base_url + '/corporate_data/create') + api_request(uri, 'POST', params) + end + + def create_petty_cash_masters(options) + params = { + 'format' => 'json', + 'name' => options[:name], + 'start_ymd' => options[:start_ymd], + 'finish_ymd' => options[:finish_ymd], + 'memo' => options[:memo], + } + uri = URI.parse(@base_url + '/petty_cash_masters/create') + api_request(uri, 'POST', params) + end + + def create_ar_reason_masters(options) + params = { + 'format' => 'json', + 'reason_code' => options[:reason_code], + 'reason_name' => options[:reason_name], + 'dc' => options[:dc], + 'account_code' => options[:account_code], + 'sort_number' => options[:sort_number], + 'is_valid' => options[:is_valid], + 'memo' => options[:memo], + 'ar_reason_taxes' => options[:ar_reason_taxes], + } + uri = URI.parse(@base_url + '/ar_reason_masters/create') + api_request(uri, 'POST', params) + end + + def update_ar_reason_masters(id, options) + params = { + 'format' => 'json', + 'reason_code' => options[:reason_code], + 'reason_name' => options[:reason_name], + 'dc' => options[:dc], + 'sort_number' => options[:sort_number], + 'is_valid' => options[:is_valid], + 'memo' => options[:memo], + 'ar_reason_taxes' => options[:ar_reason_taxes], + } + uri = URI.parse(@base_url + "/ar_reason_masters/update/#{id}") + api_request(uri, 'POST', params) + end + + def create_ap_reason_masters(options) + params = { + 'format' => 'json', + 'reason_code' => options[:reason_code], + 'reason_name' => options[:reason_name], + 'dc' => options[:dc], + 'account_code' => options[:account_code], + 'sort_number' => options[:sort_number], + 'is_valid' => options[:is_valid], + 'memo' => options[:memo], + 'port_type' => options[:port_type], + 'ap_reason_taxes' => options[:ap_reason_taxes], + } + uri = URI.parse(@base_url + '/ap_reason_masters/create') + api_request(uri, 'POST', params) + end + + def update_ap_reason_masters(id, options) + params = { + 'format' => 'json', + 'reason_code' => options[:reason_code], + 'reason_name' => options[:reason_name], + 'dc' => options[:dc], + 'port_type' => options[:port_type], + 'sort_number' => options[:sort_number], + 'is_valid' => options[:is_valid], + 'memo' => options[:memo], + } + uri = URI.parse(@base_url + "/ap_reason_masters/update/#{id}") + api_request(uri, 'POST', params) + end + + def list_users + params = { 'format' => 'json' } + uri = URI.parse(@base_url + '/users/list') + api_request(uri, 'GET', params) + end + + def list_depts + params = { 'format' => 'json' } + uri = URI.parse(@base_url + '/depts/list/') + api_request(uri, 'GET', params) + end + + def update_system_managements(options) + params = { + 'format' => 'json', + 'code' => options[:code], + 'enable' => options[:enable], + } + uri = URI.parse(@base_url + '/system_managements/update') + api_request(uri, 'POST', params) + end + + def create_tags(options) + params = { + 'format' => 'json', + 'code' => options[:code], + 'name' => options[:name], + 'sort_no' => options[:sort_no], + 'tag_group_code' => options[:tag_group_code], + 'start_ymd' => options[:start_ymd], + 'finish_ymd' => options[:finish_ymd], + } + uri = URI.parse(@base_url + '/tags/create') + api_request(uri, 'POST', params) + end + + def create_ar_segment_masters(options) + params = { + 'format' => 'json', + 'account_descid' => options[:account_descid], + 'priority_order' => options[:priority_order], + 'enable' => options[:enable], + 'name' => options[:name], + 'description' => options[:description], + } + uri = URI.parse(@base_url + '/ar_segment_masters/create') + api_request(uri, 'POST', params) + end + + def create_ap_segment_masters(options) + params = { + 'format' => 'json', + 'account_descid' => options[:account_descid], + 'priority_order' => options[:priority_order], + 'enable' => options[:enable], + 'name' => options[:name], + 'description' => options[:description], + } + uri = URI.parse(@base_url + '/ap_segment_masters/create') + api_request(uri, 'POST', params) + end + + def list_fiscal_masters + params = { + 'format' => 'json', + } + uri = URI.parse(@base_url + "/fiscal_masters/list") + api_request(uri, 'GET', params) + end + + def list_balance_plan_masters + params = { + 'format' => 'json', + } + uri = URI.parse(@base_url + "/balance_plan_masters/list") + api_request(uri, 'GET', params) + end + + def create_balance_plan_masters(options) + params = { + 'format' => 'json', + 'code' => options[:code], + 'name' => options[:name], + 'memo' => options[:memo], + 'start_ymd' => options[:start_ymd], + 'finish_ymd' => options[:finish_ymd], + 'in_use' => options[:in_use], + 'is_default' => options[:is_default], + } + uri = URI.parse(@base_url + '/balance_plan_masters/create') + api_request(uri, 'POST', params) + end + + def update_staffs(id, options) + candidate_keys = [ + :code, + :status, + :dept_codes, + ] + params = create_parameters(candidate_keys,options) + uri = URI.parse(@base_url + "/staffs/update/#{id}") + api_request(uri, 'POST', params) + end + + def create_personalized_asset_type_masters(options) + candidate_keys = [ + :code, + :name, + :asset_account_code, + :contra_account_code, + :contra_mc_account_code, + :impairment_account_code, + :impairment_mc_account_code, + :accumulated_depreciation_account_code, + :local_tax_segment_code, + :corporate_tax_segment_name, + :sort_no + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + '/personalized_asset_type_masters/create') + api_request(uri, 'POST', params) + end + + def bulk_create_or_update_balance_plans(options) + candidate_keys = [ + :balance_plans + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + '/balance_plans/bulk_create_or_update') + api_request(uri, 'POST', params) + end + + def list_petty_cash_masters + params = { 'format' => 'json' } + uri = URI.parse(@base_url + '/petty_cash_masters/list') + api_request(uri, 'GET', params) + end + + def create_petty_cashes(options) + candidate_keys = [ + :petty_cash_master_id, + :start_ymd, + :finish_ymd, + :start_balance_fixed, + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + '/petty_cashes/create') + api_request(uri, 'POST', params) + end + + def create_petty_cash_transactions(options) + candidate_keys = [ + :petty_cash_id, + :journal_timestamp, + :price_value, + :reason_code, + :dc, + :tax_type, + :brief, + :memo, + :tag_list, + :dept_code, + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + '/petty_cash_transactions/create') + api_request(uri, 'POST', params) + end + + def list_ar_reconciliations(year, month) + params = { 'format' => 'json' } + uri = URI.parse(@base_url + "/ar_reconciliations/list/#{year}/#{month}") + api_request(uri, 'GET', params) + end + + def reconcile_ar_reconciliations(options) + candidate_keys = [ + :reconciliation_id, # (BankAccount Transaction / PettyCash Transaction / Reimbursement Transaction) JournalDc ID. + :reconcile_transactions + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + "/ar_reconciliations/reconcile") + api_request(uri, 'POST', params) + end + + def reconcile_ap_reconciliations(options) + candidate_keys = [ + :reconciliation_id, # (BankAccount Transaction / PettyCash Transaction / Reimbursement Transaction) JournalDc ID. + :reconcile_transactions + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + "/ap_reconciliations/reconcile") + api_request(uri, 'POST', params) + end + + # @param [String] arap 'ar' または 'ap' + def search_customer_masters_by_reconcile_keyword(keyword, arap) + params = { + 'format' => 'json', + 'keyword' => keyword, + 'arap' => arap, + } + uri = URI.parse(@base_url + "/customer_masters/search_by_reconcile_keyword") + api_request(uri, 'GET', params) + end + + def list_ar_cashflow_schedule(year, month) + params = { 'format' => 'json' } + uri = URI.parse(@base_url + "/ar_reports/list_cashflow_schedule/#{year}/#{month}") + api_request(uri, 'GET', params) + end + + def list_ap_cashflow_schedule(year, month) + params = { 'format' => 'json' } + uri = URI.parse(@base_url + "/ap_reports/list_cashflow_schedule/#{year}/#{month}") + api_request(uri, 'GET', params) + end + + def standardize_payroll_column_masters(year, month) + params = { + 'format' => 'json', + 'year' => year, + 'month' => month, + } + uri = URI.parse(@base_url + "/payroll_column_masters/standardize") + api_request(uri, 'POST', params) + end + + def show_payroll_column_masters(year, month) + params = { + 'format' => 'json', + 'year' => year, + 'month' => month, + } + uri = URI.parse(@base_url + "/payroll_column_masters/show") + api_request(uri, 'GET', params) + end + + def update_payrolls(options) + candidate_keys = [ + :year, + :month, + :only_save, + :update_journal, + :staffs + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + "/payrolls/update") + api_request(uri, 'POST', params) + end + + def list_ap_reconciliations(year, month) + params = { 'format' => 'json' } + uri = URI.parse(@base_url + "/ap_reconciliations/list/#{year}/#{month}") + api_request(uri, 'GET', params) + end + + def update_boy_adjusts(options) + candidate_keys = [ + :term, + :dept_code, + :fixed_balances + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + "/adjusts/update_boy") + api_request(uri, 'POST', params) + end + + def brought_forward_adjusts(options) + candidate_keys = [ + :term, + :dept_code, + :calc_common + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + "/adjusts/brought_forward") + api_request(uri, 'POST', params) + end + + def update_bank_adjusts(options) + candidate_keys = [ + :bank_term_balances + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + "/adjusts/update_bank") + api_request(uri, 'POST', params) + end + + def create_fixed_assets(options) + candidate_keys = [ + :acquire_method, + :acquire_source_journal_dc_id, + :acquire_ymd, + :asset_type_master_id, + :brief, + :code, + :depreciation_entry_method, + :depreciation_method, + :dept_code, + :durable_years, + :ignore_immediate_depreciation_limit, + :initial_depreciated_amount, + :installed_place, + :is_product_cost, + :name, + :quantity, + :start_ymd, + :tag_list, + :target_ym, + :amount_inclusive, + :tax_code + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + "/fixed_assets/create") + api_request(uri, 'POST', params) + end + + def list_personalized_asset_type_masters + params = { 'format' => 'json' } + uri = URI.parse(@base_url + '/personalized_asset_type_masters/list') + api_request(uri, 'GET', params) + end + + def update_journals_payrolls(options) + candidate_keys = [ + :year, + :month + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + "/payrolls/update_journals") + api_request(uri, 'POST', params) + end + + def calc_balances_queues(options) + candidate_keys = [ + :dept_code, + :account_code, + :ym_from, + :ym_until + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + "/balances/calc_queues") + api_request(uri, 'POST', params) + end + + def default_fixed_assets_revaluations(id) + params = { 'format' => 'json' } + uri = URI.parse(@base_url + "/fixed_assets/default_revaluations/#{id}") + api_request(uri, 'GET', params) + end + + def create_fixed_assets_revaluations(options) + candidate_keys = [ + :id, + :asset_revaluations + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + "/fixed_assets/create_revaluations") + api_request(uri, 'POST', params) + end + + def create_fixed_assets_journal(options) + candidate_keys = [ + :id, + :year, + :month + ] + params = create_parameters(candidate_keys, options) + uri = URI.parse(@base_url + "/fixed_assets/create_journal") + api_request(uri, 'POST', params) + end + private def create_parameters(keys,options) # Add new keys and value if options has keys, even if value in options is nil. @@ -1195,17 +1768,20 @@ request = Net::HTTP::Post.new(uri.path, initheader) end request['Access-Token'] = @access_token request.body = params.to_json response = http.request(request) - if response.body + if response.body && !response.body.empty? begin { :status => response.code, :json => recursive_symbolize_keys(JSON.parse(response.body)) } rescue + puts "rescue" + puts "response.code:#{response.code}" + puts "response.body:#{response.body}" response.body end else - response.code + { :status => response.code } end end def recursive_symbolize_keys(data) case data