toolhound-ruby 1.0.10 → 1.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/toolhound-ruby.rb +2 -0
- data/lib/toolhound-ruby/base.rb +40 -2
- data/lib/toolhound-ruby/client.rb +8 -0
- data/lib/toolhound-ruby/inventory_item.rb +25 -3
- data/lib/toolhound-ruby/rental_charge.rb +0 -1
- data/lib/toolhound-ruby/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4b7320fb09cf1d6d020be8caab6ea0e0a06f7a1
|
4
|
+
data.tar.gz: 393645f776dd26590718bb020a3423e85f35ccc7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ab2999cbc0846eb533a3227cefd245ba4ef9c46e3d21f00c7711d0bc44d7a8ecca298b424e897747665dd2e2b7ce352b4f6f509d359b1eb55d813d350ea1fa3
|
7
|
+
data.tar.gz: f9aa7ba6d92e068c678147806225d27c319a4ceab8e15e771884900883bb1db71fd0666e7c15cf7d02c7690fe8550956f8cb7acf513595e82d2b43b0b94293d1
|
data/lib/toolhound-ruby.rb
CHANGED
@@ -18,12 +18,14 @@ require "toolhound-ruby/client"
|
|
18
18
|
require "toolhound-ruby/default"
|
19
19
|
require "toolhound-ruby/base"
|
20
20
|
|
21
|
+
require "toolhound-ruby/job"
|
21
22
|
require "toolhound-ruby/project"
|
22
23
|
require "toolhound-ruby/inventory"
|
23
24
|
require "toolhound-ruby/inventory_item"
|
24
25
|
require "toolhound-ruby/rental"
|
25
26
|
require "toolhound-ruby/rental_item"
|
26
27
|
require "toolhound-ruby/rental_charge"
|
28
|
+
require "toolhound-ruby/transaction"
|
27
29
|
|
28
30
|
require "toolhound-ruby/vendor"
|
29
31
|
require "toolhound-ruby/manufacturer"
|
data/lib/toolhound-ruby/base.rb
CHANGED
@@ -87,6 +87,26 @@ module Toolhound
|
|
87
87
|
results.first
|
88
88
|
end
|
89
89
|
|
90
|
+
def procedure(procedure_name, variables = {})
|
91
|
+
# procedure_name = "Job_GetList"
|
92
|
+
|
93
|
+
# EXECUTE HumanResources.uspGetEmployees @FirstName = N'Pilar', @LastName = N'Ackerman';
|
94
|
+
vars = transform_procedure_variables(variables)
|
95
|
+
pairs = vars.map {|pair| pair.join(" = ") }
|
96
|
+
vars_query = pairs.join(", ")
|
97
|
+
|
98
|
+
# EXECUTE HumanResources.uspGetEmployees @FirstName = N'Pilar', @LastName = N'Ackerman';
|
99
|
+
|
100
|
+
sql = "EXECUTE dbo.#{procedure_name} #{vars_query};"
|
101
|
+
results = connection.execute(sql)
|
102
|
+
# results = connection.execute(query)
|
103
|
+
end
|
104
|
+
|
105
|
+
def insert(table, variables)
|
106
|
+
|
107
|
+
|
108
|
+
end
|
109
|
+
|
90
110
|
def merge_options(defaults, options = {})
|
91
111
|
where = options.delete :where
|
92
112
|
selects = options.delete :selects
|
@@ -209,7 +229,7 @@ module Toolhound
|
|
209
229
|
arr = []
|
210
230
|
case wheres.class.to_s
|
211
231
|
when "String"
|
212
|
-
|
232
|
+
arr << wheres
|
213
233
|
when "Hash"
|
214
234
|
wheres.each do |k, v|
|
215
235
|
table, column = formatted_table_and_column(k)
|
@@ -269,7 +289,7 @@ module Toolhound
|
|
269
289
|
|
270
290
|
end
|
271
291
|
|
272
|
-
def query(query, options)
|
292
|
+
def query(query, options = {})
|
273
293
|
data = []
|
274
294
|
results = connection.execute(query)
|
275
295
|
results.each(:cache_rows => false) do |row|
|
@@ -323,6 +343,24 @@ module Toolhound
|
|
323
343
|
hash
|
324
344
|
end
|
325
345
|
|
346
|
+
def transform_procedure_variables(variables)
|
347
|
+
vars = []
|
348
|
+
variables.each do |key, value|
|
349
|
+
vars << [transform_procedure_key(key), transform_procedure_value(value)]
|
350
|
+
end
|
351
|
+
vars
|
352
|
+
end
|
353
|
+
|
354
|
+
def transform_procedure_value(value)
|
355
|
+
"'#{value}'"
|
356
|
+
end
|
357
|
+
|
358
|
+
def transform_procedure_key(key)
|
359
|
+
key = key.to_s
|
360
|
+
key = camelize(key, true)
|
361
|
+
"@p_#{key}"
|
362
|
+
end
|
363
|
+
|
326
364
|
def transform_attribute_key(key)
|
327
365
|
renamed = self.class.renamed_attributes
|
328
366
|
if renamed.include? key
|
@@ -101,6 +101,14 @@ module Toolhound
|
|
101
101
|
@connection = nil
|
102
102
|
end
|
103
103
|
|
104
|
+
def job
|
105
|
+
@job ||= Toolhound::Job.new(self)
|
106
|
+
end
|
107
|
+
|
108
|
+
def transaction
|
109
|
+
@transaction ||= Toolhound::Transaction.new(self)
|
110
|
+
end
|
111
|
+
|
104
112
|
def inventory
|
105
113
|
@inventory ||= Toolhound::Inventory.new(self)
|
106
114
|
end
|
@@ -38,7 +38,7 @@ module Toolhound
|
|
38
38
|
],
|
39
39
|
inventory_item_text: [:var_serial_number, :var_user_field1, :var_user_field2, :var_user_field3, :var_bin],
|
40
40
|
inventory: [:int_category_id, :int_sub_category_id],
|
41
|
-
inventory_text: [:var_description, :var_part_no],
|
41
|
+
inventory_text: [:var_description, :var_part_no, {varUserField1: "varGlRevenue"}, {varUserField2: "varGlCOGSCode"}, {varUserField3: "varPhaseCode"}],
|
42
42
|
inventory_id: ["intInventoryIdID", {varInventoryID: "inventory_idid"}]
|
43
43
|
}
|
44
44
|
|
@@ -66,7 +66,7 @@ module Toolhound
|
|
66
66
|
|
67
67
|
end
|
68
68
|
|
69
|
-
def charges_for_entity(entity_id)
|
69
|
+
def charges_for_entity(entity_id, job_id=nil)
|
70
70
|
joins = default_joins
|
71
71
|
joins << "INNER JOIN tblInventoryType ON tblInventoryType.intInventoryTypeID = tblInventoryItem.intInventoryTypeID AND tblInventoryType.bolSerialized = 1"
|
72
72
|
joins << "INNER JOIN(
|
@@ -76,11 +76,33 @@ module Toolhound
|
|
76
76
|
INNER JOIN tblRental ON tblRental.intRentalID = tblRentalDetail.intRentalID AND tblRental.intEntityID = '#{entity_id}'
|
77
77
|
GROUP BY tblRentalItem.intInventoryIDID
|
78
78
|
) AS tblRentalQuery ON tblRentalQuery.intInventoryIDID = tblInventoryID.intInventoryIdID"
|
79
|
+
joins << "LEFT OUTER JOIN (
|
80
|
+
SELECT rc.intInventoryIDID, MAX(rc.intRentalChargeID) AS latest_id
|
81
|
+
FROM tblRentalCharge as rc
|
82
|
+
WHERE rc.intEntityID = '#{entity_id}'
|
83
|
+
GROUP BY rc.intInventoryIDID
|
84
|
+
) AS tblLatestCharge ON tblLatestCharge.intInventoryIDID = tblInventoryID.intInventoryIdID"
|
85
|
+
joins << "LEFT OUTER JOIN (
|
86
|
+
SELECT tblRentalCharge.intJobID, tblRentalCharge.intRentalChargeID
|
87
|
+
FROM tblRentalCharge
|
88
|
+
WHERE intEntityID = '#{entity_id}'
|
89
|
+
) AS tblJobCharge ON tblJobCharge.intRentalChargeID = tblLatestCharge.latest_id"
|
90
|
+
joins << "LEFT OUTER JOIN tblJobText on tblJobText.intJobID = tblJobCharge.intJobID AND tblJobText.varLocaleID = '#{locale}'"
|
79
91
|
|
80
92
|
selects = default_selects
|
93
|
+
selects[:job_text] = [:int_job_id, :int_job_text_id, :var_job_number, :var_job]
|
81
94
|
selects[:rental_query] = [:dec_total_rent]
|
82
95
|
|
83
|
-
|
96
|
+
# (tblInventoryItem.intQOH=@p_QOH OR @p_QOH IS NULL)
|
97
|
+
wheres = []
|
98
|
+
if job_id
|
99
|
+
if job_id == :null
|
100
|
+
wheres << "(tblJobText.intJobID IS NULL)"
|
101
|
+
else
|
102
|
+
wheres << "(tblJobText.intJobID = #{job_id})"
|
103
|
+
end
|
104
|
+
end
|
105
|
+
build_and_query(selects: selects, where: wheres, joins: joins, order: "tblInventoryText.varPartNo")
|
84
106
|
|
85
107
|
# SELECT tblInventoryItem.*, subquery1.total_rent FROM tblInventoryItem
|
86
108
|
# INNER JOIN tblInventoryID ON tblInventoryItem.intInventoryItemID = tblInventoryID.intInventoryItemID
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toolhound-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Markus Klooth
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tiny_tds
|