toolhound-ruby 1.0.19 → 1.0.20

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2106041dac71ba5bd48f71ffdd84b491d35790d5
4
- data.tar.gz: 3443fcb025167519f05e5eb560a650741003122d
3
+ metadata.gz: 18469e7bdcf985b512fc1be48c80f389fc8e183e
4
+ data.tar.gz: 401b6152b06e96f3cd2573729d8927b7f724387a
5
5
  SHA512:
6
- metadata.gz: 3e9a923ba67704b35a400fef2cc7cd65912d77844dcf6a83ff80801dc1e44fb799a858dcffe5dd3d8cebc5db8ff526d8ed317705328559b3d6d35448976bdfe6
7
- data.tar.gz: f2e6402c9d987ec68d9d17edbef74261950e2890319ee08bdb8e5f36da0bfd565f4d414ed07891fc9f9b2d0334776d57f523c1a50a8f5af2dd4c7909d700fbdb
6
+ metadata.gz: 225473e8e08ce1c890871e6e78620a9e5a2dbd620f1a7fbe1801b7476b8e120c1c30e4c84cf36b627908e89eafd989996538dacdb42f0cc6a983806d36ea85b0
7
+ data.tar.gz: 7641e669e0e6aeba2ecd64da00996519485e79bf676fb238bc954246f81a6b6698d6648456c57435003a86d416e2167deee41e2158eccfafd5ea86487990fe74
@@ -27,6 +27,8 @@ require "toolhound-ruby/rental_item"
27
27
  require "toolhound-ruby/rental_charge"
28
28
  require "toolhound-ruby/transaction"
29
29
 
30
+ require "toolhound-ruby/inventory_receipt"
31
+
30
32
  require "toolhound-ruby/vendor"
31
33
  require "toolhound-ruby/manufacturer"
32
34
  require "toolhound-ruby/purchase_order"
@@ -177,6 +177,10 @@ module Toolhound
177
177
  if options[:agg]
178
178
  select = "#{aggs[options[:agg]]}(#{select})"
179
179
  end
180
+ if options[:raw]
181
+ select = v.first[0]
182
+ end
183
+
180
184
  if options[:as]
181
185
  select += " AS #{formmatted_column_name(options[:as])}"
182
186
  end
@@ -117,6 +117,10 @@ module Toolhound
117
117
  @inventory_item ||= Toolhound::InventoryItem.new(self)
118
118
  end
119
119
 
120
+ def inventory_receipt
121
+ @inventory_receipt ||= Toolhound::InventoryReceipt.new(self)
122
+ end
123
+
120
124
  def project
121
125
  @project ||= Toolhound::Project.new(self)
122
126
  end
@@ -0,0 +1,79 @@
1
+ # EXECUTE HumanResources.uspGetEmployees @FirstName = N'Pilar', @LastName = N'Ackerman';
2
+ module Toolhound
3
+
4
+ # Class to parse GitHub repository owner and name from
5
+ # URLs and to generate URLs
6
+ class InventoryReceipt < Base
7
+
8
+ self.table_name = :inventory_receipt_detail
9
+ self.primary_key = :int_inventory_receipt_id
10
+
11
+ def default_selects
12
+ {
13
+ inventory: [:int_category_id, :int_sub_category_id],
14
+ inventory_type: [:bol_serialized, :bol_bulk, :bol_consumable],
15
+ inventory_text: [:var_part_no, :var_description, {varUserField1: "varGlRevenue"}, {varUserField2: "varGlCOGSCode"}, {varUserField3: "varPhaseCode"}],
16
+ inventory_receipt_detail: [
17
+ :int_inventory_receipt_detail_id, :int_received_qty, :var_serial_number, :dec_cost, 'intInventoryIDID',
18
+ {"(ISNULL(tblInventoryReceiptDetail.intReceivedQty, 0) * ISNULL(tblInventoryReceiptDetail.decCost, 0))" => {raw: true, as: :dec_total_cost}}
19
+ ],
20
+ inventory_id: [{var_inventory_id: "varInventoryIdNo"}],
21
+ purchase_order: [{"varPONO" => :po_no}],
22
+ inventory_receipt_text: [:var_notes],
23
+ inventory_receipt: [
24
+ :int_inventory_receipt_id, {'intPOID' => :po_id}, :var_receipt_no, :var_invoice_number, :dte_created_date, :dte_modified_date,
25
+ :dte_received_date, :int_vendor_id
26
+ ],
27
+ vendor: [{var_vendor_id: "varVendorNo"}],
28
+ vendor_text: [:var_organization]
29
+ }
30
+ end
31
+
32
+ def default_joins
33
+ arr = []
34
+ arr << "INNER JOIN tblInventoryReceipt ON tblInventoryReceipt.intInventoryReceiptID = tblInventoryReceiptDetail.intInventoryReceiptID"
35
+ arr << "INNER JOIN tblInventoryReceiptText ON tblInventoryReceiptText.intInventoryReceiptID = tblInventoryReceipt.intInventoryReceiptID AND tblInventoryReceiptText.varLocaleID = '#{locale}'"
36
+ arr << "INNER JOIN tblPurchaseOrder ON tblPurchaseOrder.intPOID = tblInventoryReceipt.intPOID"
37
+ arr << "LEFT OUTER JOIN tblVendor ON tblVendor.intVendorID = tblInventoryReceipt.intVendorID"
38
+ arr << "LEFT OUTER JOIN tblVendorText ON tblVendor.intVendorID = tblVendorText.intVendorID"
39
+ arr << "INNER JOIN tblInventoryID ON tblInventoryID.intInventoryIdID = tblInventoryReceiptDetail.intInventoryIDID"
40
+ arr << "INNER JOIN tblInventory ON tblInventoryID.intInventoryID = tblInventory.intInventoryID"
41
+ arr << "INNER JOIN tblInventoryText ON tblInventoryText.intInventoryID = tblInventory.intInventoryID AND tblInventoryText.varLocaleID = '#{locale}'"
42
+ arr << "INNER JOIN tblInventoryType ON tblInventoryType.intInventoryTypeID = tblInventory.intInventoryTypeID"
43
+
44
+ arr
45
+ end
46
+
47
+ def all(options = {})
48
+ options = (options || {}).dup
49
+
50
+ from = options.delete(:from)
51
+ to = options.delete(:to)
52
+ fixed = options.delete(:fixed_assets)
53
+ consumable = options.delete(:consumable)
54
+ wheres = []
55
+
56
+ selects = default_selects
57
+ joins = default_joins
58
+
59
+ # wheres << "tblInventoryReceipt.dteReceivedDate BETWEEN '#{parse_time(from)}' AND '#{parse_time(to)}'" if from && to
60
+ wheres << {"inventory_receipt.dte_received_date" => {value: [parse_time(from), parse_time(to)], op: :between} } if from && to
61
+ wheres << "(
62
+ (tblInventoryType.bolSerialized = 1 AND tblInventoryReceiptDetail.decCost > 1499.00) OR
63
+ (tblInventoryType.bolBulk = 1 AND (tblInventoryReceiptDetail.decCost * tblInventoryReceiptDetail.intReceivedQty) > 20000.00)
64
+ )" if fixed
65
+
66
+ wheres << {"inventory_type.bol_consumable" => {value: 1}} if consumable
67
+
68
+ build_and_query(
69
+ joins: joins,
70
+ selects: selects,
71
+ where: wheres,
72
+ from: 'tblInventoryReceiptDetail'
73
+ )
74
+
75
+ end
76
+
77
+
78
+ end
79
+ end
@@ -1,3 +1,3 @@
1
1
  module Toolhound
2
- VERSION = "1.0.19"
2
+ VERSION = "1.0.20"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: toolhound-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.19
4
+ version: 1.0.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Klooth
@@ -73,6 +73,7 @@ files:
73
73
  - lib/toolhound-ruby/incident.rb
74
74
  - lib/toolhound-ruby/inventory.rb
75
75
  - lib/toolhound-ruby/inventory_item.rb
76
+ - lib/toolhound-ruby/inventory_receipt.rb
76
77
  - lib/toolhound-ruby/job.rb
77
78
  - lib/toolhound-ruby/manufacturer.rb
78
79
  - lib/toolhound-ruby/project.rb