Add new function fields.

FIX "purchased_quantity" function field.

Task #060226
This commit is contained in:
Juanjo Garcia 2023-05-17 16:18:14 +02:00
parent c580b8721e
commit 557b2e7ae3
2 changed files with 37 additions and 1 deletions

30
plot.py
View File

@ -209,9 +209,21 @@ class Parcel(ModelSQL, ModelView):
purchased_quantity = fields.Function(
fields.Float("Bought Quantity", digits=(16, 2)),
'get_purchased_quantity')
purchased_quantity_do = fields.Function(
fields.Float("Bought Quantity Do", digits=(16, 2)),
'get_purchased_quantity_do')
purchased_quantity_table = fields.Function(
fields.Float("Bought Quantity Table", digits=(16, 2)),
'get_purchased_quantity_table')
remaining_quantity = fields.Function(
fields.Float("Remainig Quantity", digits=(16, 2)),
'get_remaining_quantity')
remaining_quantity_do = fields.Function(
fields.Float("Remainig Quantity Do", digits=(16, 2)),
'get_remaining_quantity_do')
exceeded_quantity = fields.Function(
fields.Float("Exceeded Quantity", digits=(16, 2)),
'get_exceeded_quantity')
def get_rec_name(self, name):
if self.plantation and self.crop:
@ -231,11 +243,27 @@ class Parcel(ModelSQL, ModelView):
)*self.surface, 2)
def get_purchased_quantity(self, name):
return sum([(w.netweight or 0) for w in self.weighings if not w.table])
return sum([(w.weighing.netweight or 0) for w in self.weighings if w.weighing])
def get_purchased_quantity_do(self, name):
return sum([(w.weighing.netweight or 0) for w in self.weighings if w.weighing and not w.table])
def get_purchased_quantity_table(self, name):
return sum([(w.weighing.netweight or 0) for w in self.weighings if w.weighing and w.table])
def get_remaining_quantity(self, name):
if (self.purchased_quantity or 0) > (self.max_production or 0):
return 0
return (self.max_production or 0) - (self.purchased_quantity or 0)
def get_remaining_quantity_do(self, name):
return (self.max_production or 0) - (self.purchased_quantity_do or 0)
def get_exceeded_quantity(self, name):
if (self.purchased_quantity or 0) < (self.max_production or 0):
return 0
return (self.purchased_quantity or 0) - (self.max_production or 0)
class ParcelDo(ModelSQL):
"Parcel - Denomination Origin"

View File

@ -29,6 +29,14 @@
<field name="purchased_quantity"/>
<label name="remaining_quantity"/>
<field name="remaining_quantity"/>
<label name="purchased_quantity_do"/>
<field name="purchased_quantity_do"/>
<label name="purchased_quantity_table"/>
<field name="purchased_quantity_table"/>
<label name="remaining_quantity_do"/>
<field name="remaining_quantity_do"/>
<label name="exceeded_quantity"/>
<field name="exceeded_quantity"/>
<newline/>
<label name="tenure_regime"/>
<field name="tenure_regime" colspan="3"/>