smerp-quotation 0.2.3 → 0.2.4
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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a18dda7b56228271c1032e1a27ef4c0a1dabfa1ed8d44c219ba4b88a9ae4d5a
|
4
|
+
data.tar.gz: bd4083071f2cdf271a4eab01422282ad51fc5a55959e40f65514ba8af06e6c2d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f52d9a81d3f337e75eb8abcb9087adc0faf6850b743ffe8378578dcaaa8550f118ae6085992dfb3631cb8c071971a7b9fefe97615787be4092ac7bd24fe6fb3d
|
7
|
+
data.tar.gz: cb3e06001da8068f511261852688f6c19aa2b3716b1db7ca6e99c1420f101e9134faf9014b060939127fbb5fd2dfde7975fdeb86070197a6e39950bb9b45d321
|
data/.release_history.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -73,7 +73,7 @@ module Smerp
|
|
73
73
|
#teLogger.debug "Before recalculate : #{self.inspect}"
|
74
74
|
## Calculate consolidated line total
|
75
75
|
# Calculate line total of each item that push to this parent item
|
76
|
-
if not self.new_record?
|
76
|
+
if self.is_consolidation_destination_item? and not self.new_record?
|
77
77
|
recalculate_total_from_source_quotation_items
|
78
78
|
end
|
79
79
|
#teLogger.debug "After recalculate : #{self.inspect}"
|
@@ -184,6 +184,8 @@ module Smerp
|
|
184
184
|
|
185
185
|
if not pa.nil?
|
186
186
|
|
187
|
+
#pa.reload
|
188
|
+
|
187
189
|
if pa.is_children_linked?
|
188
190
|
|
189
191
|
teLogger.debug "Parent #{pa.inspect} IS children linked"
|
@@ -196,13 +198,17 @@ module Smerp
|
|
196
198
|
# has changed its parent to other parent
|
197
199
|
pa.children.reload
|
198
200
|
|
201
|
+
|
202
|
+
teLogger.debug "Before setting any price : #{pa.inspect}"
|
199
203
|
# for children item that has a parent
|
200
204
|
# update parent line_total
|
201
205
|
pa.line_total = pa.children.sum(:line_total)
|
202
206
|
pa.consolidated_line_total = pa.children.sum(:consolidated_line_total)
|
203
207
|
|
208
|
+
teLogger.debug "Before resetting unit price : #{pa.inspect}"
|
204
209
|
# update unit_price since line_total is sum of children's line_total
|
205
210
|
pa.unit_price = pa.consolidated_line_total / pa.quantity
|
211
|
+
teLogger.debug "After resetting unit price : #{pa.inspect}"
|
206
212
|
|
207
213
|
pa.discount = pa.children.sum(:discount)
|
208
214
|
pa.line_total_after_discount = pa.children.sum(:line_total_after_discount)
|
@@ -222,8 +228,16 @@ module Smerp
|
|
222
228
|
pa.line_total_with_tax = 0.0
|
223
229
|
end
|
224
230
|
|
231
|
+
teLogger.debug "Before save parent #{pa.changes}"
|
225
232
|
pa.save
|
226
233
|
|
234
|
+
#pobj = QuotationItem.find(pa.id)
|
235
|
+
#p pobj
|
236
|
+
#pa.changes.each do |k,v|
|
237
|
+
# pobj.send("#{k}=", v[1])
|
238
|
+
#end
|
239
|
+
#pobj.save
|
240
|
+
|
227
241
|
else
|
228
242
|
teLogger.debug "Parent #{pa.inspect} is NOT children linked. Skipping children update to parent."
|
229
243
|
end
|
@@ -232,7 +246,7 @@ module Smerp
|
|
232
246
|
end
|
233
247
|
|
234
248
|
# calculate if I'm the source to be embedded into other items
|
235
|
-
recalculate_total_to_destination_quotation_items
|
249
|
+
recalculate_total_to_destination_quotation_items if self.is_consolidation_source_item?
|
236
250
|
|
237
251
|
#self.quotation.update_total_from_children
|
238
252
|
|
@@ -7,10 +7,40 @@ module Smerp
|
|
7
7
|
class QuotationItemDistribution < Ca::DataStore::Ar::Model
|
8
8
|
include TR::CondUtils
|
9
9
|
|
10
|
+
include TeLogger::TeLogHelper
|
11
|
+
teLogger_tag :qiDist
|
12
|
+
|
10
13
|
belongs_to :quotation_item
|
11
14
|
belongs_to :distributed_quotation_item, class_name: 'QuotationItem'
|
12
15
|
|
13
16
|
|
17
|
+
around_destroy :update_link_total
|
18
|
+
|
19
|
+
def update_link_total
|
20
|
+
|
21
|
+
src = self.quotation_item
|
22
|
+
dest = self.distributed_quotation_item
|
23
|
+
cal = YAML.load(self.distribution_calculations)
|
24
|
+
|
25
|
+
##
|
26
|
+
# Deleted
|
27
|
+
##
|
28
|
+
yield
|
29
|
+
|
30
|
+
|
31
|
+
teLogger.debug "Result : #{cal.result}"
|
32
|
+
distVal = cal.result[Smerp::Quotation::DistributionCalculator::DistributedAmount]
|
33
|
+
|
34
|
+
#teLogger.debug "Source : #{src.inspect}"
|
35
|
+
#src.consolidated_line_total += distVal
|
36
|
+
#src.save
|
37
|
+
|
38
|
+
teLogger.debug "Dest : #{dest.inspect}"
|
39
|
+
dest.consolidated_line_total -= distVal
|
40
|
+
dest.save
|
41
|
+
|
42
|
+
end
|
43
|
+
|
14
44
|
#after_save :distribute
|
15
45
|
|
16
46
|
#def distribute
|