toolhound-ruby 1.0.12 → 1.0.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5c1330e5e87e5b5925f1ef0b6a02853130b071db
4
- data.tar.gz: ec2def52c791cf6d319b7b07be6e968c666de80a
3
+ metadata.gz: 2066d770abb531ef783f2453f8df79e09f4cf3f8
4
+ data.tar.gz: e344e681caf7bb9e4ffd3255e89261ab57e4ca5b
5
5
  SHA512:
6
- metadata.gz: d39e0acfc9459ff2df7255dd48efe91ec9ba3b68e3756a36bd73ce31f49d6fcd8ddf2b23a44b43642c16e6525a3b996bcb00ea5e1493b9232ee843ac8ffe8b50
7
- data.tar.gz: 7aef31b3d8572765eefd86c499619ec4b1ef7611f5b680b5950f4bce44c0aa502a99e8173865a6e03f443b4293f9a7fb54bc0e5d82a805315fe1013847b0d93e
6
+ metadata.gz: e02ea1af8bda11dd2e7ebbc500a5e2329b3bf3fe76c6cdbf17a4629488c86a2117c8753da74722810a248cef0b0eb4b3e77beb9aaaf5a768a2c655703500e364
7
+ data.tar.gz: 3f7277d8f6a8935a7b11f527b3310a6e0b93a2859eca1a6d07a1dae2e52f0f85d8c6d44f4483e1d4389c9afe4c593b812632226a06a79b154fb9ab633e5b51fe
@@ -10,24 +10,85 @@ module Toolhound
10
10
  # self.primary_key = :int_rental_id
11
11
 
12
12
  def default_selects
13
+ # tblWorkOrder.varWorkOrderNo,
14
+ # tblInventoryID.varInventoryID,
13
15
  {
14
- # manufacturer: [:int_manufacturer_id ],
15
- # manufacturer_text: [:var_manufacturer, :var_phone, :var_fax, :var_url]
16
- # rental_item_detail: [:var_status, :status_date, ],
17
- # rental_detail: [:int_rental_id, :int_inventory_id, :int_quantity, :dec_daily, :dec_weekly, :dec_monthly, :dec_selling_price],
16
+ transaction_detail: ['intInventoryIdID', :int_transaction_detail_id, :int_qty, :int_qty_return, :dec_unit_cost],
17
+ transaction: [:int_transaction_id, :dte_transaction_date, :var_transaction_no, :int_location_id, :int_entity_id, :int_job_id],
18
+ transaction_type: [:bol_return],
19
+ job_text: [:var_job_number, :var_job],
20
+ return_status: [:int_return_status_id],
21
+ return_status_text: [:var_return_status],
22
+ inventory_status_text: [:var_inventory_status],
23
+ entity: [{var_entity_id: "varJobNo"}],
24
+ entity_location_text: [:var_location_name],
25
+
26
+ inventory_id: [{var_inventory_id: "varInventoryIdNo"}],
27
+ inventory: [:int_inventory_id, :int_category_id, :int_sub_category_id],
28
+ inventory_text: [:var_description, :var_part_no, {varUserField1: "varGlRevenue"}, {varUserField2: "varGlCOGSCode"}, {varUserField3: "varPhaseCode"}],
29
+ inventory_item_text: [:var_serial_number]
18
30
  }
19
31
  end
20
32
 
21
33
  def default_joins
22
34
  arr = []
23
- # arr << "INNER JOIN tblManufacturerText ON (tblManufacturerText.intManufacturerID = tblManufacturer.intManufacturerID AND varLocaleID = '#{locale}')"
24
- # arr << "INNER JOIN tblRentalDetail ON (tblRentalDetail.intRentalDetailID = tblRentalItem.intRentalDetailID)"
35
+ arr << "INNER JOIN tblTransaction ON tblTransaction.intTransactionID = tblTransactionDetail.intTransactionID"
36
+ arr << "INNER JOIN tblTransactionType ON tblTransactionType.intTransactionTypeID = tblTransactionDetail.intTransactionTypeID"
37
+ arr << "INNER JOIN tblReturnStatus ON tblReturnStatus.intReturnStatusID = tblTransactionDetail.intReturnStatusID"
38
+ arr << "INNER JOIN tblReturnStatusText ON tblReturnStatusText.intReturnStatusID = tblReturnStatus.intReturnStatusID AND tblReturnStatusText.varLocaleID = '#{locale}'"
39
+ arr << "INNER JOIN tblInventoryStatusText ON tblInventoryStatusText.intInventoryStatusID = tblTransactionType.intInventoryStatusID AND tblInventoryStatusText.varLocaleID = '#{locale}'"
40
+ arr << "INNER JOIN tblInventoryID ON tblInventoryID.intInventoryIdID = tblTransactionDetail.intInventoryIdID"
41
+ arr << "INNER JOIN tblInventory ON tblInventory.intInventoryID = tblInventoryID.intInventoryID"
42
+ arr << "INNER JOIN tblInventoryText ON tblInventoryText.intInventoryID = tblInventory.intInventoryID AND tblInventoryText.varLocaleID = '#{locale}'"
43
+ arr << "LEFT OUTER JOIN tblInventoryItem ON tblInventoryItem.intInventoryItemID = tblInventoryID.intInventoryItemID"
44
+ arr << "LEFT OUTER JOIN tblInventoryItemText ON tblInventoryItemText.intInventoryItemID = tblInventoryItem.intInventoryItemID AND tblInventoryItemText.varLocaleID = '#{locale}'"
45
+ arr << "INNER JOIN tblEntity ON tblTransaction.intEntityID = tblEntity.intEntityID"
46
+ arr << "INNER JOIN tblLocation AS tblEntityLocation ON tblEntityLocation.intEntityID = tblEntity.intEntityID"
47
+ arr << "INNER JOIN tblLocationText AS tblEntityLocationText ON tblEntityLocationText.intLocationID = tblEntityLocation.intLocationID AND tblEntityLocationText.varLocaleID = '#{locale}'"
48
+ arr << "LEFT OUTER JOIN tblJobText ON tblJobText.intJobID = tblTransaction.intJobID AND tblJobText.varLocaleID = '#{locale}'"
49
+
25
50
 
51
+ # AND tblTransactionType.bolReturn = 'true'
26
52
  arr
27
53
  end
28
54
 
29
- def returns
30
-
55
+
56
+ def return_periods_for_entity(entity_id)
57
+ selects = {
58
+ transaction: [
59
+ {dte_transaction_date: {as: :min_date, agg: :min} },
60
+ {dte_transaction_date: {as: :max_date, agg: :max} }
61
+ ]
62
+ }
63
+ joins = []
64
+ joins << "INNER JOIN tblTransaction ON tblTransaction.intTransactionID = tblTransactionDetail.intTransactionID"
65
+ joins << "INNER JOIN tblTransactionType ON
66
+ tblTransactionType.intTransactionTypeID = tblTransactionDetail.intTransactionTypeID
67
+ AND tblTransactionType.bolReturn = 'true'
68
+ "
69
+
70
+
71
+ build_and_query(joins: joins, selects: selects, where: [{'transaction.int_entity_id' => entity_id}], from: 'tblTransactionDetail').first
72
+
73
+ end
74
+
75
+ def returns(options)
76
+ entity_id = options.delete :entity_id
77
+ from_date = options.delete :from_date
78
+ to_date = options.delete :to_date
79
+ damaged_only = options.delete :damaged_only
80
+
81
+ selects = default_selects
82
+ joins = default_joins
83
+ wheres = []
84
+ wheres << {"transaction_type.bol_return" => 'true'}
85
+
86
+ wheres << {"transaction.int_entity_id" => entity_id} if entity_id
87
+ wheres << "tblTransaction.dteTransactionDate BETWEEN '#{from_date}' AND '#{to_date}'" if from_date && to_date
88
+ wheres << "(tblReturnStatus.bolCreateWO = 1 OR tblReturnStatus.bolRetire = 1)" if damaged_only == true
89
+
90
+ build_and_query(joins: joins, selects: selects, where: wheres, from: 'tblTransactionDetail', order: "tblEntityLocationText.varLocationName")
91
+
31
92
  end
32
93
  # def insert(variables = {})
33
94
  # vars = {created_user_id: 1, modified_user_id: 1, active: true, job: nil, created_date: nil, modified_date: nil}
@@ -1,3 +1,3 @@
1
1
  module Toolhound
2
- VERSION = "1.0.12"
2
+ VERSION = "1.0.13"
3
3
  end
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.12
4
+ version: 1.0.13
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-09 00:00:00.000000000 Z
11
+ date: 2016-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tiny_tds