Commit a9e117e3 by aa.gusti

data

1 parent 50e19232
"id","state_id","name","code","typ" "id","state_id","name","code","typ"
ct_jb_19,JB,"Ciamis","19","kab" ct_jb_19,JB,"Ciamis","19","kab"
ct_jb_71,JB,"Bogor","71","kota" 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_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): ...@@ -460,7 +460,7 @@ class AccountAccount(models.Model):
with opening debit/credit. In that case, the auto-balance is postpone with opening debit/credit. In that case, the auto-balance is postpone
until the whole file has been imported. 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) rslt = super(AccountAccount, self).load(fields, data)
# if 'import_file' in self.env.context: # if 'import_file' in self.env.context:
......
No preview for this file type
import logging import logging
from datetime import datetime from datetime import datetime
from psycopg2 import DatabaseError, sql from odoo import fields, models, api
from odoo import fields, models, api, _
from odoo.exceptions import UserError
# from odoo.tools import sql
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
class IdgRegionTaxPlan(models.Model): class IdgRegionTaxActual(models.Model):
_name = 'idg.region.tax.actual' _name = 'idg.region.tax.actual'
_inherit = 'portal.mixin' _inherit = 'portal.mixin'
_description = 'Region Tax Actual' _description = 'Region Tax Actual'
...@@ -29,13 +24,15 @@ class IdgRegionTaxPlan(models.Model): ...@@ -29,13 +24,15 @@ class IdgRegionTaxPlan(models.Model):
qty = fields.Integer(required=True, default=0) qty = fields.Integer(required=True, default=0)
amount = fields.Integer(required=True, default=0) amount = fields.Integer(required=True, default=0)
@api.depends('date')
def _compute_date(self): def _compute_date(self):
for row in self: for row in self:
row.year = row.date.year row.year = row.date.year
row.month = row.date.month row.month = row.date.month
row.day = row.date.day row.day = row.date.day
def update_group(self, vals): @api.depends('accountd_id')
def update_group(self):
for r in self: for r in self:
query = """ query = """
SELECT id FROM account_group agroup SELECT id FROM account_group agroup
...@@ -66,7 +63,6 @@ class IdgRegionTaxPlan(models.Model): ...@@ -66,7 +63,6 @@ class IdgRegionTaxPlan(models.Model):
"day": r.day, "day": r.day,
"date": r.date "date": r.date
} }
_logger.info(value)
self.env["idg.region.tax.actual.sum"]. \ self.env["idg.region.tax.actual.sum"]. \
create(value) create(value)
...@@ -77,34 +73,75 @@ class IdgRegionTaxPlan(models.Model): ...@@ -77,34 +73,75 @@ class IdgRegionTaxPlan(models.Model):
return result return result
def create(self, vals): def create(self, vals):
res = super(IdgRegionTaxPlan, self).create(vals) res = super(IdgRegionTaxActual, self).create(vals)
self.update_group(vals) self.update_group()
return res return res
def write(self, vals): def write(self, vals):
res = super(IdgRegionTaxPlan, self).write(vals) res = super(IdgRegionTaxActual, self).write(vals)
self.update_group(vals) self.update_group()
return res 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') @api.onchange('district_id')
def _onchange_district_id(self): def _onchange_district_id(self):
if self.district_id and self.district_id.state_id != self.state_id: if self.district_id and self.district_id.state_id != self.state_id:
self.state_id = self.district_id.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') @api.onchange('state_id')
def _onchange_state_id(self): def _onchange_state_id(self):
if not self.state_id or self.state_id != self.district_id.state_id: if not self.state_id or self.state_id != self.district_id.state_id:
self.district_id = False self.district_id = False
@api.onchange('country_id') @api.onchange('country_id')
def _onchange_country_id(self): def _onchange_country_id(self):
if not self.country_id or self.country_id != self.state_id.country_id: if not self.country_id or self.country_id != self.state_id.country_id:
self.state_id = False self.state_id = False
class IdgRegionTaxPlanSum(models.Model): class IdgRegionTaxActualSum(models.Model):
_name = 'idg.region.tax.actual.sum' _name = 'idg.region.tax.actual.sum'
_inherit = 'portal.mixin' _inherit = 'portal.mixin'
_description = 'Region Tax Actual' _description = 'Region Tax Actual'
...@@ -119,20 +156,23 @@ class IdgRegionTaxPlanSum(models.Model): ...@@ -119,20 +156,23 @@ class IdgRegionTaxPlanSum(models.Model):
month = fields.Integer(compute='_compute_date', store=True) month = fields.Integer(compute='_compute_date', store=True)
day = fields.Integer(compute='_compute_date', store=True) day = fields.Integer(compute='_compute_date', store=True)
date = fields.Date(default=datetime.now().date(), required=True) date = fields.Date(default=datetime.now().date(), required=True)
qty = fields.Integer(compute='_compute_summary', default=0) qty = fields.Integer(compute='_compute_summary', store=True)
amount = fields.Integer(compute="_compute_summary", default=0) amount = fields.Integer(compute="_compute_summary", store=True)
level = fields.Integer(compute="_compute_level", store=True) level = fields.Integer(compute="_compute_level", store=True)
@api.depends('date')
def _compute_date(self): def _compute_date(self):
for row in self: for row in self:
row.year = row.date.year row.year = row.date.year
row.month = row.date.month row.month = row.date.month
row.day = row.date.day row.day = row.date.day
@api.depends('account_group_id')
def _compute_level(self): def _compute_level(self):
for r in self: for r in self:
r.level = len(r.account_group_id.code_prefix_start) r.level = len(r.account_group_id.code_prefix_start)
@api.depends('account_group_id')
def _compute_summary(self): def _compute_summary(self):
for r in self: for r in self:
code_prefix_start = r.account_group_id.code_prefix_start code_prefix_start = r.account_group_id.code_prefix_start
......
...@@ -21,7 +21,8 @@ class IdgRegionTaxPlan(models.Model): ...@@ -21,7 +21,8 @@ class IdgRegionTaxPlan(models.Model):
qty = fields.Integer(required=True, default=0) qty = fields.Integer(required=True, default=0)
amount = 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: for r in self:
query = """ query = """
SELECT id FROM account_group agroup SELECT id FROM account_group agroup
...@@ -57,22 +58,50 @@ class IdgRegionTaxPlan(models.Model): ...@@ -57,22 +58,50 @@ class IdgRegionTaxPlan(models.Model):
result.append((record.id, f"{record.account_id.name} ({record.account_id.code})")) result.append((record.id, f"{record.account_id.name} ({record.account_id.code})"))
return result 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): def create(self, vals):
res = super(IdgRegionTaxPlan, self).create(vals) res = super(IdgRegionTaxPlan, self).create(vals)
self.update_group(vals) self.update_group()
return res return res
def write(self, vals): def write(self, vals):
res = super(IdgRegionTaxPlan, self).write(vals) res = super(IdgRegionTaxPlan, self).write(vals)
self.update_group(vals) self.update_group()
return res return res
@api.onchange('district_id') @api.onchange('district_id')
def _onchange_district_id(self): def _onchange_district_id(self):
if self.district_id and self.district_id.state_id != self.state_id: if self.district_id and self.district_id.state_id != self.state_id:
self.state_id = self.district_id.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') @api.onchange('state_id')
def _onchange_state_id(self): def _onchange_state_id(self):
...@@ -97,8 +126,8 @@ class IdgRegionTaxPlanSum(models.Model): ...@@ -97,8 +126,8 @@ class IdgRegionTaxPlanSum(models.Model):
account_group_id = fields.Many2one('account.group', required=True) account_group_id = fields.Many2one('account.group', required=True)
year = fields.Integer(required=True, default=datetime.now().year) year = fields.Integer(required=True, default=datetime.now().year)
month = fields.Integer(required=True, default=datetime.now().month) month = fields.Integer(required=True, default=datetime.now().month)
qty = fields.Integer(compute='_compute_summary', default=0) qty = fields.Integer(compute='_compute_summary', store=True)
amount = fields.Integer(compute="_compute_summary", default=0) amount = fields.Integer(compute="_compute_summary", store=True)
level = fields.Integer(compute="_compute_level", store=True) level = fields.Integer(compute="_compute_level", store=True)
def name_get(self): def name_get(self):
...@@ -107,10 +136,12 @@ class IdgRegionTaxPlanSum(models.Model): ...@@ -107,10 +136,12 @@ class IdgRegionTaxPlanSum(models.Model):
result.append((record.id, f"{record.account_group_id.name}")) result.append((record.id, f"{record.account_group_id.name}"))
return result return result
@api.depends('account_group_id')
def _compute_level(self): def _compute_level(self):
for r in self: for r in self:
r.level = len(r.account_group_id.code_prefix_start) r.level = len(r.account_group_id.code_prefix_start)
@api.depends('account_group_id')
def _compute_summary(self): def _compute_summary(self):
for r in self: for r in self:
code_prefix_start = r.account_group_id.code_prefix_start code_prefix_start = r.account_group_id.code_prefix_start
......
...@@ -27,7 +27,8 @@ class IdgRegionTaxPotency(models.Model): ...@@ -27,7 +27,8 @@ class IdgRegionTaxPotency(models.Model):
qty = fields.Integer(required=True, default=0) qty = fields.Integer(required=True, default=0)
amount = 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: for r in self:
query = """ query = """
SELECT id FROM account_group agroup SELECT id FROM account_group agroup
...@@ -63,20 +64,26 @@ class IdgRegionTaxPotency(models.Model): ...@@ -63,20 +64,26 @@ class IdgRegionTaxPotency(models.Model):
def create(self, vals): def create(self, vals):
res = super(IdgRegionTaxPotency, self).create(vals) res = super(IdgRegionTaxPotency, self).create(vals)
self.update_group(vals) # self.flush()
self.update_group()
return res return res
def write(self, vals): def write(self, vals):
res = super(IdgRegionTaxPotency, self).write(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 return res
@api.onchange('district_id') @api.onchange('district_id')
def _onchange_district_id(self): def _onchange_district_id(self):
if self.district_id and self.district_id.state_id != self.state_id: if self.district_id and self.district_id.state_id != self.state_id:
self.state_id = self.district_id.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') @api.onchange('state_id')
def _onchange_state_id(self): def _onchange_state_id(self):
...@@ -100,8 +107,8 @@ class IdgRegionTaxPotencySum(models.Model): ...@@ -100,8 +107,8 @@ class IdgRegionTaxPotencySum(models.Model):
domain="[('state_id', '=?', state_id)]") domain="[('state_id', '=?', state_id)]")
account_group_id = fields.Many2one('account.group', required=True) account_group_id = fields.Many2one('account.group', required=True)
year = fields.Integer(required=True, default=datetime.now().year) year = fields.Integer(required=True, default=datetime.now().year)
qty = 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) amount = fields.Integer(compute="_compute_summary", default=0, store=True)
level = fields.Integer(compute="_compute_level", store=True) level = fields.Integer(compute="_compute_level", store=True)
def name_get(self): def name_get(self):
...@@ -110,10 +117,12 @@ class IdgRegionTaxPotencySum(models.Model): ...@@ -110,10 +117,12 @@ class IdgRegionTaxPotencySum(models.Model):
result.append((record.id, f"{record.account_group_id.name}")) result.append((record.id, f"{record.account_group_id.name}"))
return result return result
@api.depends('account_group_id')
def _compute_level(self): def _compute_level(self):
for r in self: for r in self:
r.level = len(r.account_group_id.code_prefix_start) r.level = len(r.account_group_id.code_prefix_start)
@api.depends('account_group_id')
def _compute_summary(self): def _compute_summary(self):
for r in self: for r in self:
code_prefix_start = r.account_group_id.code_prefix_start 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!