smerp-quotation 0.2.3 → 0.2.4
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
|
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
|