Class: Toolhound::Transaction
- Defined in:
- lib/toolhound-ruby/transaction.rb
Overview
Class to parse GitHub repository owner and name from URLs and to generate URLs
Constant Summary
Constants inherited from Base
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #default_joins ⇒ Object
-
#default_selects ⇒ Object
self.table_name = :rental self.primary_key = :int_rental_id.
-
#remove(job_id) ⇒ Object
def insert(variables = {}) vars = 1, modified_user_id: 1, active: true, job: nil, created_date: nil, modified_date: nil # procedure("Job_Insert", vars) end.
- #return_periods_for_entity(entity_id) ⇒ Object
- #returns(options) ⇒ Object
Methods inherited from Base
#_build_joins, #_build_selects, #_build_where, #all, #build_and_query, #build_joins, #build_selects, #build_sql, #build_where, #default_wheres, #find, #formatted_table_and_column, #formatted_table_name, #formmatted_column_name, #get_operator, #initialize, #insert, #locale, #merge_options, primary_key, #primary_key, primary_key=, #procedure, #query, rename_attributes, renamed_attributes, #table_name, table_name, table_name=, #transform_attribute_key, #transform_attributes, #transform_procedure_key, #transform_procedure_value, #transform_procedure_variables
Methods included from Util
#acronym_regex, #acronyms, #camelize, #demodulize, #underscore
Constructor Details
This class inherits a constructor from Toolhound::Base
Instance Method Details
#default_joins ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/toolhound-ruby/transaction.rb', line 33 def default_joins arr = [] arr << "INNER JOIN tblTransaction ON tblTransaction.intTransactionID = tblTransactionDetail.intTransactionID" arr << "INNER JOIN tblTransactionType ON tblTransactionType.intTransactionTypeID = tblTransactionDetail.intTransactionTypeID" arr << "INNER JOIN tblReturnStatus ON tblReturnStatus.intReturnStatusID = tblTransactionDetail.intReturnStatusID" arr << "INNER JOIN tblReturnStatusText ON tblReturnStatusText.intReturnStatusID = tblReturnStatus.intReturnStatusID AND tblReturnStatusText.varLocaleID = '#{locale}'" arr << "INNER JOIN tblInventoryStatusText ON tblInventoryStatusText.intInventoryStatusID = tblTransactionType.intInventoryStatusID AND tblInventoryStatusText.varLocaleID = '#{locale}'" arr << "INNER JOIN tblInventoryID ON tblInventoryID.intInventoryIdID = tblTransactionDetail.intInventoryIdID" arr << "INNER JOIN tblInventory ON tblInventory.intInventoryID = tblInventoryID.intInventoryID" arr << "INNER JOIN tblInventoryText ON tblInventoryText.intInventoryID = tblInventory.intInventoryID AND tblInventoryText.varLocaleID = '#{locale}'" arr << "LEFT OUTER JOIN tblInventoryItem ON tblInventoryItem.intInventoryItemID = tblInventoryID.intInventoryItemID" arr << "LEFT OUTER JOIN tblInventoryItemText ON tblInventoryItemText.intInventoryItemID = tblInventoryItem.intInventoryItemID AND tblInventoryItemText.varLocaleID = '#{locale}'" arr << "INNER JOIN tblEntity ON tblTransaction.intEntityID = tblEntity.intEntityID" arr << "INNER JOIN tblLocation AS tblEntityLocation ON tblEntityLocation.intEntityID = tblEntity.intEntityID" arr << "INNER JOIN tblLocationText AS tblEntityLocationText ON tblEntityLocationText.intLocationID = tblEntityLocation.intLocationID AND tblEntityLocationText.varLocaleID = '#{locale}'" arr << "LEFT OUTER JOIN tblJobText ON tblJobText.intJobID = tblTransaction.intJobID AND tblJobText.varLocaleID = '#{locale}'" # AND tblTransactionType.bolReturn = 'true' arr end |
#default_selects ⇒ Object
self.table_name = :rental self.primary_key = :int_rental_id
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/toolhound-ruby/transaction.rb', line 12 def default_selects # tblWorkOrder.varWorkOrderNo, # tblInventoryID.varInventoryID, { transaction_detail: ['intInventoryIdID', :int_transaction_detail_id, :int_qty, :int_qty_return, :dec_unit_cost], transaction: [:int_transaction_id, :dte_transaction_date, :var_transaction_no, :int_location_id, :int_entity_id, :int_job_id], transaction_type: [:bol_return], job_text: [:var_job_number, :var_job], return_status: [:int_return_status_id], return_status_text: [:var_return_status], inventory_status_text: [:var_inventory_status], entity: [{var_entity_id: "varJobNo"}], entity_location_text: [:var_location_name], inventory_id: [{var_inventory_id: "varInventoryIdNo"}], inventory: [:int_inventory_id, :int_category_id, :int_sub_category_id], inventory_text: [:var_description, :var_part_no, {varUserField1: "varGlRevenue"}, {varUserField2: "varGlCOGSCode"}, {varUserField3: "varPhaseCode"}], inventory_item_text: [:var_serial_number] } end |
#remove(job_id) ⇒ Object
def insert(variables = {}) vars = 1, modified_user_id: 1, active: true, job: nil, created_date: nil, modified_date: nil
procedure("Job_Insert", vars)
end
98 99 100 |
# File 'lib/toolhound-ruby/transaction.rb', line 98 def remove(job_id) # procedure("Job_Delete", {job_id: job_id}) end |
#return_periods_for_entity(entity_id) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/toolhound-ruby/transaction.rb', line 56 def return_periods_for_entity(entity_id) selects = { transaction: [ {dte_transaction_date: {as: :min_date, agg: :min} }, {dte_transaction_date: {as: :max_date, agg: :max} } ] } joins = [] joins << "INNER JOIN tblTransaction ON tblTransaction.intTransactionID = tblTransactionDetail.intTransactionID" joins << "INNER JOIN tblTransactionType ON tblTransactionType.intTransactionTypeID = tblTransactionDetail.intTransactionTypeID AND tblTransactionType.bolReturn = 'true' " build_and_query(joins: joins, selects: selects, where: [{'transaction.int_entity_id' => entity_id}], from: 'tblTransactionDetail').first end |
#returns(options) ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/toolhound-ruby/transaction.rb', line 75 def returns() entity_id = .delete :entity_id from_date = .delete :from_date to_date = .delete :to_date damaged_only = .delete :damaged_only selects = default_selects joins = default_joins wheres = [] wheres << {"transaction_type.bol_return" => 'true'} wheres << {"transaction.int_entity_id" => entity_id} if entity_id wheres << "tblTransaction.dteTransactionDate BETWEEN '#{from_date}' AND '#{to_date}'" if from_date && to_date wheres << "(tblReturnStatus.bolCreateWO = 1 OR tblReturnStatus.bolRetire = 1)" if damaged_only == true build_and_query(joins: joins, selects: selects, where: wheres, from: 'tblTransactionDetail', order: "tblEntityLocationText.varLocationName") end |