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
Base::DATE_TIME_FORMAT, Base::DB_TYPE_REGEX
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(options = {}) ⇒ Object
- #returns(options = {}) ⇒ Object
Methods inherited from Base
#_build_joins, #_build_selects, #_build_where, #all, #build_and_query, #build_group, #build_joins, #build_selects, #build_sql, #build_update_attributes, #build_update_sql, #build_where, #default_wheres, #find, #formatted_table_and_column, #formatted_table_name, #formmatted_column_name, #get_operator, #initialize, #insert, #locale, #merge_options, #parse_time, 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, #update, #update_query
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 = {created_user_id: 1, modified_user_id: 1, active: true, job: nil, created_date: nil, modified_date: nil}
# procedure("Job_Insert", vars)
end
110 111 112 |
# File 'lib/toolhound-ruby/transaction.rb', line 110 def remove(job_id) # procedure("Job_Delete", {job_id: job_id}) end |
#return_periods(options = {}) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/toolhound-ruby/transaction.rb', line 56 def return_periods( = {}) = ( || {}).dup entity_id = .delete :entity_id damaged_only = .delete :damaged_only wheres = [] wheres << {'transaction.int_entity_id' => entity_id} if 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' " if damaged_only joins << "INNER JOIN tblReturnStatus ON tblReturnStatus.intReturnStatusID = tblTransactionDetail.intReturnStatusID" wheres << "(tblReturnStatus.bolCreateWO = 1 OR tblReturnStatus.bolRetire = 1)" end build_and_query(joins: joins, selects: selects, where: wheres, from: 'tblTransactionDetail').first end |
#returns(options = {}) ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/toolhound-ruby/transaction.rb', line 86 def returns( = {}) = ( || {}).dup entity_id = .delete :entity_id from_date = .delete :from to_date = .delete :to 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.present? wheres << "tblTransaction.dteTransactionDate BETWEEN '#{parse_time(from_date)}' AND '#{parse_time(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 |