From f2fe626d721be7f6ebcfc344f771a841d088c5cb Mon Sep 17 00:00:00 2001 From: laurentbarontini Date: Mon, 13 Jul 2026 16:52:53 +0200 Subject: [PATCH] Add mid price value field --- modules/price/price_value.py | 39 +++++++++++-------- modules/price/view/price_report_list.xml | 11 +++--- modules/price/view/price_value_form.xml | 12 +++--- modules/price/view/price_value_graph.xml | 1 + modules/price/view/price_value_tree.xml | 11 +++--- .../price/view/price_value_tree_sequence.xml | 11 +++--- modules/purchase_trade/pricing.py | 29 ++++++++------ modules/purchase_trade/tests/test_module.py | 3 +- 8 files changed, 67 insertions(+), 50 deletions(-) diff --git a/modules/price/price_value.py b/modules/price/price_value.py index 7b0e93e..ff6e629 100755 --- a/modules/price/price_value.py +++ b/modules/price/price_value.py @@ -35,10 +35,11 @@ class PriceValue( }), 'get_price_index') price_date = fields.Date("Price date") - price_value = fields.Float("Price value") - open_price = fields.Float("Open price") - low_price = fields.Float("Low price") - high_price = fields.Float("High price") + price_value = fields.Float("Price value") + open_price = fields.Float("Open price") + low_price = fields.Float("Low price") + mid_price = fields.Float("Mid price") + high_price = fields.Float("High price") def get_price_index(self, name): if self.price: @@ -55,9 +56,10 @@ class PriceValueReport( r_price_desc = fields.Char("Description") r_price_date = fields.Date("Price date") r_price_value = fields.Float("Price") - r_open_price = fields.Float("Open price") - r_low_price = fields.Float("Low price") - r_high_price = fields.Float("High price") + r_open_price = fields.Float("Open price") + r_low_price = fields.Float("Low price") + r_mid_price = fields.Float("Mid price") + r_high_price = fields.Float("High price") @classmethod def table_query(cls): @@ -86,10 +88,11 @@ class PriceValueReport( pp.price_desc.as_('r_price_desc'), pv.price_date.as_('r_price_date'), pv.price_value.as_('r_price_value'), - pv.open_price.as_('r_open_price'), - pv.low_price.as_('r_low_price'), - pv.high_price.as_('r_high_price'), - where=wh) + pv.open_price.as_('r_open_price'), + pv.low_price.as_('r_low_price'), + pv.mid_price.as_('r_mid_price'), + pv.high_price.as_('r_high_price'), + where=wh) return query @@ -116,9 +119,10 @@ class PriceValueReport2( r_price_desc = fields.Char("Description") r_price_date = fields.Date("Price date") r_price_value = fields.Float("Price") - r_open_price = fields.Float("Open price") - r_low_price = fields.Float("Low price") - r_high_price = fields.Float("High price") + r_open_price = fields.Float("Open price") + r_low_price = fields.Float("Low price") + r_mid_price = fields.Float("Mid price") + r_high_price = fields.Float("High price") r_naphta_fob_low = fields.Float("Naph F Med l", digits=(1,2), help="Naphta Fob PAAAI00 low") r_naphta_fob_high = fields.Float("Naph F Med h", digits=(1,2), help="Naphta Fob PAAAI00 high") r_naphta_fob_mid = fields.Float("Naph F Med m", digits=(1,2), help="Naphta Fob PAAAI00 mid") @@ -171,9 +175,10 @@ class PriceValueReport2( Max(pp.price_desc).as_('r_price_desc'), pv.price_date.as_('r_price_date'), Max(pv.price_value).as_('r_price_value'), - Max(pv.open_price).as_('r_open_price'), - Max(pv.low_price).as_('r_low_price'), - Max(pv.high_price).as_('r_high_price'), + Max(pv.open_price).as_('r_open_price'), + Max(pv.low_price).as_('r_low_price'), + Max(pv.mid_price).as_('r_mid_price'), + Max(pv.high_price).as_('r_high_price'), Max(Case((pv.price==15, pv.low_price),else_=0)).as_('r_naphta_fob_low'), Max(Case((pv.price==15, pv.high_price),else_=0)).as_('r_naphta_fob_high'), Max(Case((pv.price==15, (pv.high_price-pv.low_price)/2 + pv.low_price),else_=0)).as_('r_naphta_fob_mid'), diff --git a/modules/price/view/price_report_list.xml b/modules/price/view/price_report_list.xml index 01ab595..67f103e 100755 --- a/modules/price/view/price_report_list.xml +++ b/modules/price/view/price_report_list.xml @@ -2,8 +2,9 @@ - - - - - + + + + + + diff --git a/modules/price/view/price_value_form.xml b/modules/price/view/price_value_form.xml index 57d8fcd..3672e0e 100755 --- a/modules/price/view/price_value_form.xml +++ b/modules/price/view/price_value_form.xml @@ -8,10 +8,12 @@