Commit a9e117e3 by aa.gusti

data

1 parent 50e19232
"id","state_id","name","code","typ"
ct_jb_19,JB,"Ciamis","19","kab"
ct_jb_71,JB,"Bogor","71","kota"
ct_jb_76,JB,"Depok","76","kota"
ct_jb_72,JB,"Depok","72","kota"
ct_jt_19,JT,"Cilacap","19","kab"
ct_jt_71,JT,"Semarang","71","kota"
ct_jt_72,JT,"Tegal","72","kota"
......@@ -460,7 +460,7 @@ class AccountAccount(models.Model):
with opening debit/credit. In that case, the auto-balance is postpone
until the whole file has been imported.
"""
# _logger.info(f"fields,data")
# _logger.info(f"F: {fields}, D: {data}")
rslt = super(AccountAccount, self).load(fields, data)
# if 'import_file' in self.env.context:
......
No preview for this file type
import logging
from datetime import datetime
from psycopg2 import DatabaseError, sql
from odoo import fields, models, api, _
from odoo.exceptions import UserError
# from odoo.tools import sql
from odoo import fields, models, api
_logger = logging.getLogger(__name__)
class IdgRegionTaxPlan(models.Model):
class IdgRegionTaxActual(models.Model):
_name = 'idg.region.tax.actual'
_inherit = 'portal.mixin'
_description = 'Region Tax Actual'
......@@ -29,13 +24,15 @@ class IdgRegionTaxPlan(models.Model):
qty = fields.Integer(required=True, default=0)
amount = fields.Integer(required=True, default=0)
@api.depends('date')
def _compute_date(self):
for row in self:
row.year = row.date.year
row.month = row.date.month
row.day = row.date.day
def update_group(self, vals):
@api.depends('accountd_id')
def update_group(self):
for r in self:
query = """
SELECT id FROM account_group agroup
......@@ -66,7 +63,6 @@ class IdgRegionTaxPlan(models.Model):
"day": r.day,
"date": r.date
}
_logger.info(value)
self.env["idg.region.tax.actual.sum"]. \
create(value)
......@@ -77,34 +73,75 @@ class IdgRegionTaxPlan(models.Model):
return result
def create(self, vals):
res = super(IdgRegionTaxPlan, self).create(vals)
self.update_group(vals)
res = super(IdgRegionTaxActual, self).create(vals)
self.update_group()
return res
def write(self, vals):
res = super(IdgRegionTaxPlan, self).write(vals)
self.update_group(vals)
res = super(IdgRegionTaxActual, self).write(vals)
self.update_group()
return res
@api.model
def load(self, fields, data):
""" Overridden for better performances when importing a list of account
with opening debit/credit. In that case, the auto-balance is postpone
until the whole file has been imported.
"""
new_data = []
zipped = None
for dat in data:
zipped = dict(zip(fields, dat))
date = datetime.now().date() if 'date' not in zipped else\
datetime.strptime(zipped['date'],
'%Y-%m-%d').date()
year = date.year if 'year' not in zipped else zipped["year"]
month = date.month if 'month' not in zipped else zipped["month"]
day = date.day if 'day' not in zipped else zipped["day"]
month = str(month).zfill(2)
day = str(day).zfill(2)
date = datetime.strptime(f"{year}-{month}-{day}", '%Y-%m-%d').date()
if 'year' not in zipped:
dat.append(year)
if 'month' not in zipped:
dat.append(month)
if 'day' not in zipped:
dat.append(day)
if 'date' not in zipped:
dat.append(date.strftime('%Y-%m-%d'))
new_data.append(dat)
if 'year' not in zipped:
fields.append('year')
if 'month' not in zipped:
fields.append('month')
if 'day' not in zipped:
fields.append('day')
if 'date' not in zipped:
fields.append('date')
result = super(IdgRegionTaxActual, self).load(fields, new_data)
return result
@api.onchange('district_id')
def _onchange_district_id(self):
if self.district_id and self.district_id.state_id != self.state_id:
self.state_id = self.district_id.state_id
if not self.district_id or self.district_id != self.sub_district_id.district_id:
self.sub_district_id = False
@api.onchange('state_id')
def _onchange_state_id(self):
if not self.state_id or self.state_id != self.district_id.state_id:
self.district_id = False
@api.onchange('country_id')
def _onchange_country_id(self):
if not self.country_id or self.country_id != self.state_id.country_id:
self.state_id = False
class IdgRegionTaxPlanSum(models.Model):
class IdgRegionTaxActualSum(models.Model):
_name = 'idg.region.tax.actual.sum'
_inherit = 'portal.mixin'
_description = 'Region Tax Actual'
......@@ -119,20 +156,23 @@ class IdgRegionTaxPlanSum(models.Model):
month = fields.Integer(compute='_compute_date', store=True)
day = fields.Integer(compute='_compute_date', store=True)
date = fields.Date(default=datetime.now().date(), required=True)
qty = fields.Integer(compute='_compute_summary', default=0)
amount = fields.Integer(compute="_compute_summary", default=0)
qty = fields.Integer(compute='_compute_summary', store=True)
amount = fields.Integer(compute="_compute_summary", store=True)
level = fields.Integer(compute="_compute_level", store=True)
@api.depends('date')
def _compute_date(self):
for row in self:
row.year = row.date.year
row.month = row.date.month
row.day = row.date.day
@api.depends('account_group_id')
def _compute_level(self):
for r in self:
r.level = len(r.account_group_id.code_prefix_start)
@api.depends('account_group_id')
def _compute_summary(self):
for r in self:
code_prefix_start = r.account_group_id.code_prefix_start
......
......@@ -21,7 +21,8 @@ class IdgRegionTaxPlan(models.Model):
qty = fields.Integer(required=True, default=0)
amount = fields.Integer(required=True, default=0)
def update_group(self, vals):
@api.depends('accountd_id')
def update_group(self):
for r in self:
query = """
SELECT id FROM account_group agroup
......@@ -57,22 +58,50 @@ class IdgRegionTaxPlan(models.Model):
result.append((record.id, f"{record.account_id.name} ({record.account_id.code})"))
return result
@api.model
def load(self, fields, data):
""" Overridden for better performances when importing a list of account
with opening debit/credit. In that case, the auto-balance is postpone
until the whole file has been imported.
"""
# _logger.info(f"F: {fields}, D: {data}")
new_data = []
zipped = None
for dat in data:
zipped = dict(zip(fields, dat))
date = datetime.now().date() if 'date' not in zipped else \
datetime.strptime(zipped['date'], '%Y-%m-%d').date()
year = date.year if 'year' not in zipped else zipped["year"]
month = date.month if 'month' not in zipped else zipped["month"]
month = str(month).zfill(2)
if 'year' not in zipped:
dat.append(year)
if 'month' not in zipped:
dat.append(month)
new_data.append(dat)
if 'year' not in zipped:
fields.append('year')
if 'month' not in zipped:
fields.append('month')
result = super(IdgRegionTaxPlan, self).load(fields, new_data)
self.update_group()
return result
def create(self, vals):
res = super(IdgRegionTaxPlan, self).create(vals)
self.update_group(vals)
self.update_group()
return res
def write(self, vals):
res = super(IdgRegionTaxPlan, self).write(vals)
self.update_group(vals)
self.update_group()
return res
@api.onchange('district_id')
def _onchange_district_id(self):
if self.district_id and self.district_id.state_id != self.state_id:
self.state_id = self.district_id.state_id
if not self.district_id or self.district_id != self.sub_district_id.district_id:
self.sub_district_id = False
@api.onchange('state_id')
def _onchange_state_id(self):
......@@ -97,8 +126,8 @@ class IdgRegionTaxPlanSum(models.Model):
account_group_id = fields.Many2one('account.group', required=True)
year = fields.Integer(required=True, default=datetime.now().year)
month = fields.Integer(required=True, default=datetime.now().month)
qty = fields.Integer(compute='_compute_summary', default=0)
amount = fields.Integer(compute="_compute_summary", default=0)
qty = fields.Integer(compute='_compute_summary', store=True)
amount = fields.Integer(compute="_compute_summary", store=True)
level = fields.Integer(compute="_compute_level", store=True)
def name_get(self):
......@@ -107,10 +136,12 @@ class IdgRegionTaxPlanSum(models.Model):
result.append((record.id, f"{record.account_group_id.name}"))
return result
@api.depends('account_group_id')
def _compute_level(self):
for r in self:
r.level = len(r.account_group_id.code_prefix_start)
@api.depends('account_group_id')
def _compute_summary(self):
for r in self:
code_prefix_start = r.account_group_id.code_prefix_start
......
......@@ -27,7 +27,8 @@ class IdgRegionTaxPotency(models.Model):
qty = fields.Integer(required=True, default=0)
amount = fields.Integer(required=True, default=0)
def update_group(self, vals):
@api.depends('accountd_id')
def update_group(self):
for r in self:
query = """
SELECT id FROM account_group agroup
......@@ -63,20 +64,26 @@ class IdgRegionTaxPotency(models.Model):
def create(self, vals):
res = super(IdgRegionTaxPotency, self).create(vals)
self.update_group(vals)
# self.flush()
self.update_group()
return res
def write(self, vals):
res = super(IdgRegionTaxPotency, self).write(vals)
self.update_group(vals)
# self.flush()
self.update_group()
return res
def load(self, fields, data):
res = super(IdgRegionTaxPotency, self).load(fields, data)
# self.flush()
self.update_group()
return res
@api.onchange('district_id')
def _onchange_district_id(self):
if self.district_id and self.district_id.state_id != self.state_id:
self.state_id = self.district_id.state_id
if not self.district_id or self.district_id != self.sub_district_id.district_id:
self.sub_district_id = False
@api.onchange('state_id')
def _onchange_state_id(self):
......@@ -100,8 +107,8 @@ class IdgRegionTaxPotencySum(models.Model):
domain="[('state_id', '=?', state_id)]")
account_group_id = fields.Many2one('account.group', required=True)
year = fields.Integer(required=True, default=datetime.now().year)
qty = fields.Integer(compute='_compute_summary', default=0)
amount = fields.Integer(compute="_compute_summary", default=0)
qty = fields.Integer(compute='_compute_summary', default=0, store=True)
amount = fields.Integer(compute="_compute_summary", default=0, store=True)
level = fields.Integer(compute="_compute_level", store=True)
def name_get(self):
......@@ -110,10 +117,12 @@ class IdgRegionTaxPotencySum(models.Model):
result.append((record.id, f"{record.account_group_id.name}"))
return result
@api.depends('account_group_id')
def _compute_level(self):
for r in self:
r.level = len(r.account_group_id.code_prefix_start)
@api.depends('account_group_id')
def _compute_summary(self):
for r in self:
code_prefix_start = r.account_group_id.code_prefix_start
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!