smerp-quotation 0.2.1 → 0.2.3
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 +4 -4
- data/.release_history.yml +4 -0
- data/Gemfile.lock +1 -1
- data/lib/smerp/quotation/ar_model/quotation.rb +2 -1
- data/lib/smerp/quotation/ar_model/quotation_item.rb +381 -66
- data/lib/smerp/quotation/calculators/discount_calculator.rb +1 -1
- data/lib/smerp/quotation/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e42c00897ec17d8b63b419e3ed0ac415c067474de1dbf1e9c058a20ff2b79d5
|
4
|
+
data.tar.gz: eae98863ae3ca0604e35181283df1a38977f55b1d80428fd5a9ed61974c9b19a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 92f27ab04cb522e2aa3c61e76d1aa231245e40c54969de1e23a57b2d6ede741f5b330fabdd88bbf1ed926164d5ab60e16d95f14304ce94a75e049028d81583a2
|
7
|
+
data.tar.gz: ac6611999cf8a7c8ec1b0e22f192083ebdfa800fdbd999b49f5bdb18909f453ecc3610ec6a3cf2c7632c74e56cdcd899750dbd396523da2e09c984e42261a2cd
|
data/.release_history.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -33,13 +33,17 @@ module Smerp
|
|
33
33
|
|
34
34
|
belongs_to :quotation_item_group, optional: true
|
35
35
|
|
36
|
-
before_save :update_total
|
37
|
-
after_save :update_group_total, :update_quotation_total
|
36
|
+
#before_save :update_total
|
37
|
+
#after_save :update_group_total, :update_quotation_total
|
38
38
|
|
39
|
-
|
40
|
-
after_destroy :update_group_total, :update_quotation_total, :remove_total_from_destination_quotation_items
|
39
|
+
around_save :update_related_around_save
|
41
40
|
|
42
|
-
|
41
|
+
#before_destroy :update_total, :update_group_total, :update_quotation_total, :remove_total_from_destination_quotation_items
|
42
|
+
#after_destroy :update_group_total, :update_quotation_total, :remove_total_from_destination_quotation_items
|
43
|
+
#after_destroy :update_quotation_total, :remove_total_from_destination_quotation_items
|
44
|
+
around_destroy :destroy_hook
|
45
|
+
|
46
|
+
def update_related_around_save
|
43
47
|
|
44
48
|
if self.children.length == 0
|
45
49
|
self.line_total = self.quantity * self.unit_price if self.quantity_changed? or self.unit_price_changed?
|
@@ -142,9 +146,213 @@ module Smerp
|
|
142
146
|
self.extended_calculators = YAML.dump(res)
|
143
147
|
## Calculator execution completed
|
144
148
|
|
145
|
-
|
149
|
+
# cater parent changed
|
150
|
+
oldParent = nil
|
151
|
+
if self.parent_id_changed? and not self.parent_id_was.nil?
|
152
|
+
oldParent = QuotationItem.find(self.parent_id_was)
|
153
|
+
end
|
154
|
+
|
155
|
+
# cater group changed
|
156
|
+
oldGroup = nil
|
157
|
+
if self.quotation_item_group_id_changed? and not self.quotation_item_group_id_was.nil?
|
158
|
+
oldGroup = QuotationItemGroup.find(self.quotation_item_group_id)
|
159
|
+
end
|
160
|
+
|
161
|
+
###
|
162
|
+
# SAVE HAPPENED HERE
|
163
|
+
###
|
164
|
+
yield
|
165
|
+
|
166
|
+
|
167
|
+
#
|
168
|
+
# AFTER SAVE
|
169
|
+
#
|
170
|
+
grp = self.quotation_item_group
|
171
|
+
[grp, oldGroup].each do |g|
|
172
|
+
|
173
|
+
if not g.nil?
|
174
|
+
# update total
|
175
|
+
g.group_total = g.children.sum(:group_total) + g.quotation_items.sum(:line_total)
|
176
|
+
g.group_discount = g.children.sum(:group_discount) + g.quotation_items.sum(:discount)
|
177
|
+
g.group_tax = g.children.sum(:group_tax) + g.quotation_items.sum(:tax)
|
178
|
+
g.save
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
182
|
+
|
183
|
+
[self.parent, oldParent].each do |pa|
|
184
|
+
|
185
|
+
if not pa.nil?
|
186
|
+
|
187
|
+
if pa.is_children_linked?
|
188
|
+
|
189
|
+
teLogger.debug "Parent #{pa.inspect} IS children linked"
|
190
|
+
#
|
191
|
+
# Children of another QuotationItem
|
192
|
+
#
|
193
|
+
if pa.quantity > 0
|
194
|
+
|
195
|
+
# this parent children has changed because self
|
196
|
+
# has changed its parent to other parent
|
197
|
+
pa.children.reload
|
198
|
+
|
199
|
+
# for children item that has a parent
|
200
|
+
# update parent line_total
|
201
|
+
pa.line_total = pa.children.sum(:line_total)
|
202
|
+
pa.consolidated_line_total = pa.children.sum(:consolidated_line_total)
|
203
|
+
|
204
|
+
# update unit_price since line_total is sum of children's line_total
|
205
|
+
pa.unit_price = pa.consolidated_line_total / pa.quantity
|
206
|
+
|
207
|
+
pa.discount = pa.children.sum(:discount)
|
208
|
+
pa.line_total_after_discount = pa.children.sum(:line_total_after_discount)
|
209
|
+
pa.tax = pa.children.sum(:tax)
|
210
|
+
pa.line_total_with_tax = pa.children.sum(:line_total_with_tax)
|
211
|
+
|
212
|
+
#teLogger.debug "After update from children : #{self.parent.inspect}"
|
213
|
+
|
214
|
+
else
|
215
|
+
|
216
|
+
pa.line_total = 0.0
|
217
|
+
pa.consolidated_line_total = 0.0
|
218
|
+
pa.unit_price = 0.0
|
219
|
+
pa.discount = 0.0
|
220
|
+
pa.line_total_after_discount = 0.0
|
221
|
+
pa.tax = 0.0
|
222
|
+
pa.line_total_with_tax = 0.0
|
223
|
+
end
|
224
|
+
|
225
|
+
pa.save
|
226
|
+
|
227
|
+
else
|
228
|
+
teLogger.debug "Parent #{pa.inspect} is NOT children linked. Skipping children update to parent."
|
229
|
+
end
|
230
|
+
|
231
|
+
end # if parent exist
|
232
|
+
end
|
233
|
+
|
234
|
+
# calculate if I'm the source to be embedded into other items
|
235
|
+
recalculate_total_to_destination_quotation_items
|
236
|
+
|
237
|
+
#self.quotation.update_total_from_children
|
238
|
+
|
239
|
+
self.quotation.total = self.quotation.quotation_items.where(["parent_id is null"]).sum(:line_total)
|
240
|
+
self.quotation.total_discount = self.quotation.quotation_items.where(["parent_id is null"]).sum(:discount)
|
241
|
+
self.quotation.total_after_discount = self.quotation.quotation_items.where(["parent_id is null"]).sum(:line_total_after_discount)
|
242
|
+
self.quotation.total_tax = self.quotation.quotation_items.where(["parent_id is null"]).sum(:tax)
|
243
|
+
self.quotation.total_with_tax = self.quotation.quotation_items.where(["parent_id is null"]).sum(:line_total_with_tax)
|
244
|
+
|
245
|
+
self.quotation.save
|
246
|
+
|
146
247
|
end
|
147
248
|
|
249
|
+
#def update_total
|
250
|
+
|
251
|
+
# if self.children.length == 0
|
252
|
+
# self.line_total = self.quantity * self.unit_price if self.quantity_changed? or self.unit_price_changed?
|
253
|
+
# self.line_total_after_discount = self.line_total
|
254
|
+
# self.line_total_with_tax = self.line_total
|
255
|
+
|
256
|
+
# #teLogger.debug "sync consolidated #{self.inspect} to line_total #{self.line_total.to_i}"
|
257
|
+
# self.consolidated_line_total = self.line_total if self.new_record?
|
258
|
+
# #teLogger.debug "sync consolidated #{self.inspect} to line_total #{self.line_total.to_i}"
|
259
|
+
|
260
|
+
# else
|
261
|
+
# #teLogger.debug "#{self.inspect} has children : #{self.children}"
|
262
|
+
# end
|
263
|
+
|
264
|
+
# if self.quantity_changed?
|
265
|
+
# teLogger.debug "Quantity changed"
|
266
|
+
# # Change unit_price for record that has children
|
267
|
+
# # since unit_price is 'derived' from children's line_total
|
268
|
+
# if self.quantity > 0
|
269
|
+
# self.unit_price = self.line_total / self.quantity
|
270
|
+
# else
|
271
|
+
# self.unit_price = 0.0
|
272
|
+
# self.line_total = 0.0
|
273
|
+
# end
|
274
|
+
# end
|
275
|
+
|
276
|
+
# #teLogger.debug "Before recalculate : #{self.inspect}"
|
277
|
+
# ## Calculate consolidated line total
|
278
|
+
# # Calculate line total of each item that push to this parent item
|
279
|
+
# if not self.new_record?
|
280
|
+
# recalculate_total_from_source_quotation_items
|
281
|
+
# end
|
282
|
+
# #teLogger.debug "After recalculate : #{self.inspect}"
|
283
|
+
|
284
|
+
# #
|
285
|
+
# # Start trigger defined calculators
|
286
|
+
# #
|
287
|
+
# res = { local: [], quotation: [] }
|
288
|
+
# extCals = { local: [], quotation: [] }
|
289
|
+
# if not_empty?(self.extended_calculators)
|
290
|
+
# extCals = YAML.load(self.extended_calculators)
|
291
|
+
# end
|
292
|
+
|
293
|
+
# extCals[:local].each do |ec|
|
294
|
+
# teLogger.debug "Executing item calculator : #{ec.inspect}"
|
295
|
+
# ec.calculate(self)
|
296
|
+
# ec.owner_id = self.id if is_empty?(ec.owner_id) and not self.new_record?
|
297
|
+
# res[:local] << ec.for_storage
|
298
|
+
# end
|
299
|
+
|
300
|
+
# if self.new_record?
|
301
|
+
#
|
302
|
+
# # apply global calculator from quotation
|
303
|
+
# gExtCals = []
|
304
|
+
# if not_empty?(self.quotation.extended_calculators)
|
305
|
+
# gExtCals = YAML.load(self.quotation.extended_calculators)
|
306
|
+
# end
|
307
|
+
|
308
|
+
# #cals = []
|
309
|
+
# gExtCals.each do |ec|
|
310
|
+
|
311
|
+
# teLogger.debug "Executing item-quotation calculator : #{ec.inspect}"
|
312
|
+
# ec.calculate(self)
|
313
|
+
# ec.owner_id = self.quotation.id if is_empty?(ec.owner_id)
|
314
|
+
# res[:quotation] << ec.for_storage
|
315
|
+
|
316
|
+
# end
|
317
|
+
|
318
|
+
# else
|
319
|
+
|
320
|
+
# extCals[:quotation].each do |ec|
|
321
|
+
# teLogger.debug "Executing item-quotation calculator : #{ec.inspect}"
|
322
|
+
# ec.calculate(self)
|
323
|
+
# ec.owner_id = self.quotation.id if is_empty?(ec.owner_id)
|
324
|
+
# res[:quotation] << ec.for_storage
|
325
|
+
# end
|
326
|
+
#
|
327
|
+
# end
|
328
|
+
|
329
|
+
|
330
|
+
# # after calculate, remove item with zero params
|
331
|
+
# res[:local].delete_if { |c|
|
332
|
+
# case c.params
|
333
|
+
# when Smerp::Common::FinUtils::Percent
|
334
|
+
# c.params.value == 0
|
335
|
+
# else
|
336
|
+
# c.params.to_i == 0
|
337
|
+
# end
|
338
|
+
# }
|
339
|
+
|
340
|
+
# res[:quotation].delete_if { |c|
|
341
|
+
# case c.params
|
342
|
+
# when Smerp::Common::FinUtils::Percent
|
343
|
+
# c.params.value == 0
|
344
|
+
# else
|
345
|
+
# c.params.to_i == 0
|
346
|
+
# end
|
347
|
+
# }
|
348
|
+
|
349
|
+
# self.extended_calculators = YAML.dump(res)
|
350
|
+
# ## Calculator execution completed
|
351
|
+
|
352
|
+
# teLogger.debug "before save done : #{self.inspect}"
|
353
|
+
|
354
|
+
#end
|
355
|
+
|
148
356
|
def update_group_total
|
149
357
|
|
150
358
|
grp = self.quotation_item_group
|
@@ -158,66 +366,203 @@ module Smerp
|
|
158
366
|
|
159
367
|
end
|
160
368
|
|
161
|
-
|
369
|
+
# Only for destroy operation
|
370
|
+
def destroy_hook
|
371
|
+
|
372
|
+
parent = self.parent.clone
|
373
|
+
qi_dist = self.quotation_item_distributions
|
374
|
+
quotation = self.quotation
|
162
375
|
|
163
|
-
|
376
|
+
# record deleteion here
|
377
|
+
yield
|
164
378
|
|
165
|
-
|
379
|
+
if not parent.nil?
|
166
380
|
|
167
|
-
if
|
381
|
+
if parent.is_children_linked?
|
168
382
|
|
169
|
-
teLogger.debug "Parent #{
|
383
|
+
teLogger.debug "Parent #{parent.inspect} IS children linked"
|
170
384
|
#
|
171
385
|
# Children of another QuotationItem
|
172
386
|
#
|
173
|
-
if
|
387
|
+
if parent.quantity > 0
|
174
388
|
# for children item that has a parent
|
175
389
|
# update parent line_total
|
176
|
-
|
177
|
-
|
390
|
+
parent.line_total = parent.children.sum(:line_total)
|
391
|
+
parent.consolidated_line_total = parent.children.sum(:consolidated_line_total)
|
178
392
|
|
179
393
|
# update unit_price since line_total is sum of children's line_total
|
180
|
-
|
394
|
+
parent.unit_price = parent.consolidated_line_total / parent.quantity
|
181
395
|
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
396
|
+
parent.discount = parent.children.sum(:discount)
|
397
|
+
parent.line_total_after_discount = parent.children.sum(:line_total_after_discount)
|
398
|
+
parent.tax = parent.children.sum(:tax)
|
399
|
+
parent.line_total_with_tax = parent.children.sum(:line_total_with_tax)
|
186
400
|
|
187
401
|
#teLogger.debug "After update from children : #{self.parent.inspect}"
|
188
402
|
|
189
403
|
else
|
190
404
|
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
405
|
+
parent.line_total = 0.0
|
406
|
+
parent.consolidated_line_total = 0.0
|
407
|
+
parent.unit_price = 0.0
|
408
|
+
parent.discount = 0.0
|
409
|
+
parent.line_total_after_discount = 0.0
|
410
|
+
parent.tax = 0.0
|
411
|
+
parent.line_total_with_tax = 0.0
|
198
412
|
end
|
199
413
|
|
200
|
-
|
414
|
+
parent.save
|
201
415
|
|
202
416
|
else
|
203
|
-
teLogger.debug "Parent #{
|
417
|
+
teLogger.debug "Parent #{parent.inspect} is NOT children linked. Skipping children update to parent."
|
204
418
|
end
|
205
419
|
|
206
420
|
end # if parent exist
|
207
421
|
|
208
|
-
#
|
209
|
-
|
422
|
+
# remove the distributed figure from other record if this record is the source item
|
423
|
+
qi_dist.each do |qid|
|
424
|
+
|
425
|
+
citm = qid.distributed_quotation_item
|
210
426
|
|
211
|
-
|
212
|
-
self.quotation.total_discount = self.quotation.quotation_items.where(["parent_id is null"]).sum(:discount)
|
213
|
-
self.quotation.total_after_discount = self.quotation.quotation_items.where(["parent_id is null"]).sum(:line_total_after_discount)
|
214
|
-
self.quotation.total_tax = self.quotation.quotation_items.where(["parent_id is null"]).sum(:tax)
|
215
|
-
self.quotation.total_with_tax = self.quotation.quotation_items.where(["parent_id is null"]).sum(:line_total_with_tax)
|
427
|
+
next if citm.nil?
|
216
428
|
|
217
|
-
|
429
|
+
cal = YAML.load(qid.distribution_calculations)
|
430
|
+
extRes = cal.result.clone
|
431
|
+
|
432
|
+
citm.consolidated_line_total = (citm.consolidated_line_total - extRes[Smerp::Quotation::DistributionCalculator::DistributedAmount])
|
433
|
+
|
434
|
+
qid.destroy
|
435
|
+
|
436
|
+
citm.source_quotation_items_link.reload
|
437
|
+
|
438
|
+
citm.save
|
439
|
+
|
440
|
+
end
|
441
|
+
|
442
|
+
quotation.total = quotation.quotation_items.where(["parent_id is null"]).sum(:line_total)
|
443
|
+
quotation.total_discount = quotation.quotation_items.where(["parent_id is null"]).sum(:discount)
|
444
|
+
quotation.total_after_discount = quotation.quotation_items.where(["parent_id is null"]).sum(:line_total_after_discount)
|
445
|
+
quotation.total_tax = quotation.quotation_items.where(["parent_id is null"]).sum(:tax)
|
446
|
+
quotation.total_with_tax = quotation.quotation_items.where(["parent_id is null"]).sum(:line_total_with_tax)
|
447
|
+
|
448
|
+
quotation.save
|
218
449
|
|
219
450
|
end
|
220
451
|
|
452
|
+
# trigger after save
|
453
|
+
#def update_quotation_total
|
454
|
+
|
455
|
+
# if not self.parent.nil?
|
456
|
+
|
457
|
+
# self.parent.reload
|
458
|
+
|
459
|
+
# if self.parent.is_children_linked?
|
460
|
+
|
461
|
+
# teLogger.debug "Parent #{self.parent.inspect} IS children linked"
|
462
|
+
# #
|
463
|
+
# # Children of another QuotationItem
|
464
|
+
# #
|
465
|
+
# if self.parent.quantity > 0
|
466
|
+
#
|
467
|
+
# # this parent children has changed because self
|
468
|
+
# # has changed its parent to other parent
|
469
|
+
# self.parent.children.reload
|
470
|
+
|
471
|
+
# # for children item that has a parent
|
472
|
+
# # update parent line_total
|
473
|
+
# self.parent.line_total = self.parent.children.sum(:line_total)
|
474
|
+
# self.parent.consolidated_line_total = self.parent.children.sum(:consolidated_line_total)
|
475
|
+
|
476
|
+
# # update unit_price since line_total is sum of children's line_total
|
477
|
+
# self.parent.unit_price = self.parent.consolidated_line_total / self.parent.quantity
|
478
|
+
|
479
|
+
# self.parent.discount = self.parent.children.sum(:discount)
|
480
|
+
# self.parent.line_total_after_discount = self.parent.children.sum(:line_total_after_discount)
|
481
|
+
# self.parent.tax = self.parent.children.sum(:tax)
|
482
|
+
# self.parent.line_total_with_tax = self.parent.children.sum(:line_total_with_tax)
|
483
|
+
|
484
|
+
# #teLogger.debug "After update from children : #{self.parent.inspect}"
|
485
|
+
|
486
|
+
# else
|
487
|
+
|
488
|
+
# self.parent.line_total = 0.0
|
489
|
+
# self.parent.consolidated_line_total = 0.0
|
490
|
+
# self.parent.unit_price = 0.0
|
491
|
+
# self.parent.discount = 0.0
|
492
|
+
# self.parent.line_total_after_discount = 0.0
|
493
|
+
# self.parent.tax = 0.0
|
494
|
+
# self.parent.line_total_with_tax = 0.0
|
495
|
+
# end
|
496
|
+
|
497
|
+
# self.parent.save
|
498
|
+
|
499
|
+
# else
|
500
|
+
# teLogger.debug "Parent #{self.parent.inspect} is NOT children linked. Skipping children update to parent."
|
501
|
+
# end
|
502
|
+
|
503
|
+
# end # if parent exist
|
504
|
+
|
505
|
+
# # calculate if I'm the source to be embedded into other items
|
506
|
+
# recalculate_total_to_destination_quotation_items
|
507
|
+
|
508
|
+
# #self.quotation.update_total_from_children
|
509
|
+
|
510
|
+
# self.quotation.total = self.quotation.quotation_items.where(["parent_id is null"]).sum(:line_total)
|
511
|
+
# self.quotation.total_discount = self.quotation.quotation_items.where(["parent_id is null"]).sum(:discount)
|
512
|
+
# self.quotation.total_after_discount = self.quotation.quotation_items.where(["parent_id is null"]).sum(:line_total_after_discount)
|
513
|
+
# self.quotation.total_tax = self.quotation.quotation_items.where(["parent_id is null"]).sum(:tax)
|
514
|
+
# self.quotation.total_with_tax = self.quotation.quotation_items.where(["parent_id is null"]).sum(:line_total_with_tax)
|
515
|
+
|
516
|
+
# self.quotation.save
|
517
|
+
|
518
|
+
#end
|
519
|
+
|
520
|
+
# this called after child is destroy
|
521
|
+
#def update_self_as_parent
|
522
|
+
|
523
|
+
# self.reload
|
524
|
+
|
525
|
+
# if self.is_children_linked?
|
526
|
+
|
527
|
+
# teLogger.debug "Parent #{self.inspect} IS children linked"
|
528
|
+
# #
|
529
|
+
# # Children of another QuotationItem
|
530
|
+
# #
|
531
|
+
# if self.quantity > 0
|
532
|
+
# # for children item that has a parent
|
533
|
+
# # update parent line_total
|
534
|
+
# self.line_total = self.children.sum(:line_total)
|
535
|
+
# self.consolidated_line_total = self.children.sum(:consolidated_line_total)
|
536
|
+
|
537
|
+
# # update unit_price since line_total is sum of children's line_total
|
538
|
+
# self.unit_price = self.consolidated_line_total / self.quantity
|
539
|
+
|
540
|
+
# self.discount = self.children.sum(:discount)
|
541
|
+
# self.line_total_after_discount = self.children.sum(:line_total_after_discount)
|
542
|
+
# self.tax = self.children.sum(:tax)
|
543
|
+
# self.line_total_with_tax = self.children.sum(:line_total_with_tax)
|
544
|
+
|
545
|
+
# #teLogger.debug "After update from children : #{self.parent.inspect}"
|
546
|
+
|
547
|
+
# else
|
548
|
+
|
549
|
+
# self.line_total = 0.0
|
550
|
+
# self.consolidated_line_total = 0.0
|
551
|
+
# self.unit_price = 0.0
|
552
|
+
# self.discount = 0.0
|
553
|
+
# self.line_total_after_discount = 0.0
|
554
|
+
# self.tax = 0.0
|
555
|
+
# self.line_total_with_tax = 0.0
|
556
|
+
# end
|
557
|
+
|
558
|
+
# self.save
|
559
|
+
|
560
|
+
# else
|
561
|
+
# teLogger.debug "Parent #{self.inspect} is NOT children linked. Skipping children update to parent."
|
562
|
+
# end
|
563
|
+
|
564
|
+
#end
|
565
|
+
|
221
566
|
|
222
567
|
def recalculate
|
223
568
|
|
@@ -320,36 +665,6 @@ module Smerp
|
|
320
665
|
|
321
666
|
end
|
322
667
|
|
323
|
-
# item that is being distributed to other
|
324
|
-
# quotation items is being destroyed
|
325
|
-
# Remove those portion from each and every items
|
326
|
-
def remove_total_from_destination_quotation_items
|
327
|
-
|
328
|
-
self.quotation_item_distributions.each do |qid|
|
329
|
-
|
330
|
-
citm = qid.distributed_quotation_item
|
331
|
-
|
332
|
-
next if citm.nil?
|
333
|
-
|
334
|
-
cal = YAML.load(qid.distribution_calculations)
|
335
|
-
extRes = cal.result.clone
|
336
|
-
|
337
|
-
#teLogger.debug "before citm #{citm.inspect} / #{citm.consolidated_line_total}"
|
338
|
-
citm.consolidated_line_total = (citm.consolidated_line_total - extRes[Smerp::Quotation::DistributionCalculator::DistributedAmount])
|
339
|
-
#teLogger.debug "after deduction citm #{citm.inspect} / #{citm.consolidated_line_total}"
|
340
|
-
|
341
|
-
#teLogger.debug "qid : #{qid.inspect}"
|
342
|
-
qid.destroy
|
343
|
-
|
344
|
-
citm.source_quotation_items_link.reload
|
345
|
-
|
346
|
-
citm.save
|
347
|
-
#teLogger.debug "after citm #{citm.inspect} / #{citm.consolidated_line_total}"
|
348
|
-
|
349
|
-
end
|
350
|
-
|
351
|
-
end
|
352
|
-
|
353
668
|
def total_distributed
|
354
669
|
|
355
670
|
ttl = 0.0
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smerp-quotation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ian
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-10-
|
11
|
+
date: 2022-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: toolrack
|