From 5c40bc011dd1ea27c1407709914ee9db039fa6fe Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Fri, 13 Jun 2025 10:22:14 +0700 Subject: change approval customer commission --- indoteknik_custom/models/commision.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indoteknik_custom/models/commision.py') diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py index eeaa8efc..dc7f5f46 100644 --- a/indoteknik_custom/models/commision.py +++ b/indoteknik_custom/models/commision.py @@ -354,12 +354,12 @@ class CustomerCommision(models.Model): if not self.status or self.status == 'draft': self.status = 'pengajuan1' - elif self.status == 'pengajuan1' and self.env.user.is_sales_manager: + elif self.status == 'pengajuan1' and self.env.user.id == 19: self.status = 'pengajuan2' self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name self.date_approved_sales = now_naive - self.position_sales = 'Sales Manager' - elif self.status == 'pengajuan2' and self.env.user.id == 19: + self.position_sales = 'Purchasing Manager' + elif self.status == 'pengajuan2' and self.env.user.id == 216: self.status = 'pengajuan3' self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name self.date_approved_marketing = now_naive -- cgit v1.2.3 From 98c757b960591eeb2ac6da272bfc8822663918a4 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Fri, 13 Jun 2025 10:25:35 +0700 Subject: change approval customer commission --- indoteknik_custom/models/commision.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indoteknik_custom/models/commision.py') diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py index dc7f5f46..842e64bf 100644 --- a/indoteknik_custom/models/commision.py +++ b/indoteknik_custom/models/commision.py @@ -358,7 +358,7 @@ class CustomerCommision(models.Model): self.status = 'pengajuan2' self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name self.date_approved_sales = now_naive - self.position_sales = 'Purchasing Manager' + self.position_sales = 'Sales Manager' elif self.status == 'pengajuan2' and self.env.user.id == 216: self.status = 'pengajuan3' self.approved_by = (self.approved_by + ', ' if self.approved_by else '') + self.env.user.name -- cgit v1.2.3 From f4486625017ee5edae369a6be283863a30066b3b Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Wed, 18 Jun 2025 10:30:02 +0700 Subject: cashback 15% customer commision --- indoteknik_custom/models/commision.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'indoteknik_custom/models/commision.py') diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py index 842e64bf..d3392a0c 100644 --- a/indoteknik_custom/models/commision.py +++ b/indoteknik_custom/models/commision.py @@ -177,6 +177,8 @@ class CustomerCommision(models.Model): ], string='Status') commision_percent = fields.Float(string='Commision %', tracking=3) commision_amt = fields.Float(string='Commision Amount', tracking=3) + cashback = fields.Float(string='Cashback', tracking=3) + total_commision = fields.Float(string='Total Commision', tracking=3) commision_amt_text = fields.Char(string='Commision Amount Text', compute='compute_delivery_amt_text') total_dpp = fields.Float(string='Total DPP', compute='_compute_total_dpp') commision_type = fields.Selection([ @@ -316,6 +318,9 @@ class CustomerCommision(models.Model): if self.commision_amt == 0: self.commision_amt = self.commision_percent * self.total_dpp // 100 + if self.commision_type == 'cashback': + self.cashback = self.commision_amt * 0.15 + self.total_commision = self.commision_amt * 0.85 @api.constrains('commision_amt') def _onchange_commision_amt(self): @@ -328,6 +333,12 @@ class CustomerCommision(models.Model): if self.total_dpp > 0 and self.commision_percent == 0: self.commision_percent = (self.commision_amt / self.total_dpp) * 100 + @api.constrains('commision_type') + def _onchange_commision_amt(self): + if self.commision_type == 'cashback' and self.commision_amt > 0: + self.cashback = self.commision_amt * 0.15 + self.total_commision = self.commision_amt * 0.85 + def _compute_total_dpp(self): for data in self: total_dpp = 0 -- cgit v1.2.3 From 587547a2689b4d089302dfb50feb2f876f2633d0 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Wed, 18 Jun 2025 10:51:56 +0700 Subject: push --- indoteknik_custom/models/commision.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'indoteknik_custom/models/commision.py') diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py index d3392a0c..03d32d2d 100644 --- a/indoteknik_custom/models/commision.py +++ b/indoteknik_custom/models/commision.py @@ -177,8 +177,9 @@ class CustomerCommision(models.Model): ], string='Status') commision_percent = fields.Float(string='Commision %', tracking=3) commision_amt = fields.Float(string='Commision Amount', tracking=3) - cashback = fields.Float(string='Cashback', tracking=3) - total_commision = fields.Float(string='Total Commision', tracking=3) + cashback = fields.Float(string='Cashback', compute="compute_cashback") + total_commision = fields.Float(string='Total Commision', compute="compute_cashback") + total_cashback = fields.Float(string='Total Cashback') commision_amt_text = fields.Char(string='Commision Amount Text', compute='compute_delivery_amt_text') total_dpp = fields.Float(string='Total DPP', compute='_compute_total_dpp') commision_type = fields.Selection([ @@ -318,9 +319,6 @@ class CustomerCommision(models.Model): if self.commision_amt == 0: self.commision_amt = self.commision_percent * self.total_dpp // 100 - if self.commision_type == 'cashback': - self.cashback = self.commision_amt * 0.15 - self.total_commision = self.commision_amt * 0.85 @api.constrains('commision_amt') def _onchange_commision_amt(self): @@ -333,11 +331,13 @@ class CustomerCommision(models.Model): if self.total_dpp > 0 and self.commision_percent == 0: self.commision_percent = (self.commision_amt / self.total_dpp) * 100 - @api.constrains('commision_type') - def _onchange_commision_amt(self): + def compute_cashback(self): if self.commision_type == 'cashback' and self.commision_amt > 0: self.cashback = self.commision_amt * 0.15 self.total_commision = self.commision_amt * 0.85 + else: + self.cashback = 0 + self.total_commision = 0 def _compute_total_dpp(self): for data in self: -- cgit v1.2.3 From 06afce2162894ef23163062092daf00882de8a85 Mon Sep 17 00:00:00 2001 From: "Indoteknik ." Date: Fri, 20 Jun 2025 09:04:18 +0700 Subject: (andri) revisi penamaan field pada jika commision type adalah cashback --- indoteknik_custom/models/commision.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'indoteknik_custom/models/commision.py') diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py index 03d32d2d..215e2ded 100644 --- a/indoteknik_custom/models/commision.py +++ b/indoteknik_custom/models/commision.py @@ -175,10 +175,19 @@ class CustomerCommision(models.Model): ('approved', 'Approved'), ('reject', 'Rejected'), ], string='Status') - commision_percent = fields.Float(string='Commision %', tracking=3) - commision_amt = fields.Float(string='Commision Amount', tracking=3) - cashback = fields.Float(string='Cashback', compute="compute_cashback") - total_commision = fields.Float(string='Total Commision', compute="compute_cashback") + + # commision_percent = fields.Float(string='Commision %', tracking=3) + commision_percent = fields.Float(string='Cashback %', tracking=3) + + # commision_amt = fields.Float(string='Commision Amount', tracking=3) + commision_amt = fields.Float(string='Cashback', tracking=3) + + # cashback = fields.Float(string='Cashback', compute="compute_cashback") + cashback = fields.Float(string='PPh Cashback', compute="compute_cashback") + + # total_commision = fields.Float(string='Total Commision', compute="compute_cashback") + total_commision = fields.Float(string='Cashback yang dibayarkan', compute="compute_cashback") + total_cashback = fields.Float(string='Total Cashback') commision_amt_text = fields.Char(string='Commision Amount Text', compute='compute_delivery_amt_text') total_dpp = fields.Float(string='Total DPP', compute='_compute_total_dpp') -- cgit v1.2.3 From 8a3717c34e0968f3f6ddd7d0cc4fb18aeb218bfe Mon Sep 17 00:00:00 2001 From: "Indoteknik ." Date: Fri, 20 Jun 2025 10:04:01 +0700 Subject: (andri) ganti no dokumen yang lama (CC) sesuai dengan commision type yang dipilih (RB/FE/CB) --- indoteknik_custom/models/commision.py | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) (limited to 'indoteknik_custom/models/commision.py') diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py index 215e2ded..46718397 100644 --- a/indoteknik_custom/models/commision.py +++ b/indoteknik_custom/models/commision.py @@ -175,7 +175,7 @@ class CustomerCommision(models.Model): ('approved', 'Approved'), ('reject', 'Rejected'), ], string='Status') - + # commision_percent = fields.Float(string='Commision %', tracking=3) commision_percent = fields.Float(string='Cashback %', tracking=3) @@ -357,14 +357,31 @@ class CustomerCommision(models.Model): @api.model def create(self, vals): - vals['number'] = self.env['ir.sequence'].next_by_code('customer.commision') or '0' - # if vals['commision_amt'] > 0: - # commision_amt = vals['commision_amt'] - # total_dpp = vals['total_dpp'] - # commision_percent = commision_amt / total_dpp * 100 - # vals['commision_percent'] = commision_percent - result = super(CustomerCommision, self).create(vals) - return result + commision_type = vals.get('commision_type') + + if commision_type == 'cashback': + sequence_code = 'customer.commision.cashback' + elif commision_type == 'fee': + sequence_code = 'customer.commision.fee' + elif commision_type == 'rebate': + sequence_code = 'customer.commision.rebate' + else: + raise UserError('Tipe komisi tidak dikenal!') + + vals['number'] = self.env['ir.sequence'].next_by_code(sequence_code) or '0' + + return super(CustomerCommision, self).create(vals) + + # @api.model + # def create(self, vals): + # vals['number'] = self.env['ir.sequence'].next_by_code('customer.commision') or '0' + # # if vals['commision_amt'] > 0: + # # commision_amt = vals['commision_amt'] + # # total_dpp = vals['total_dpp'] + # # commision_percent = commision_amt / total_dpp * 100 + # # vals['commision_percent'] = commision_percent + # result = super(CustomerCommision, self).create(vals) + # return result def action_confirm_customer_commision(self): jakarta_tz = pytz.timezone('Asia/Jakarta') -- cgit v1.2.3 From 6ae8ac2d0a560d850e7e8dc2ce87157f3e5a9669 Mon Sep 17 00:00:00 2001 From: "Indoteknik ." Date: Mon, 23 Jun 2025 10:10:51 +0700 Subject: (andri) menu commision customer menjadi commision benefits --- indoteknik_custom/models/commision.py | 1 + 1 file changed, 1 insertion(+) (limited to 'indoteknik_custom/models/commision.py') diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py index 46718397..199aa106 100644 --- a/indoteknik_custom/models/commision.py +++ b/indoteknik_custom/models/commision.py @@ -148,6 +148,7 @@ class CustomerCommision(models.Model): _order = 'id desc' _inherit = ['mail.thread'] _rec_name = 'number' + _description = 'Customer Benefits' number = fields.Char(string='Document No', index=True, copy=False, readonly=True) date_from = fields.Date(string='Date From', required=True) -- cgit v1.2.3 From 8ca3394604d088a683fc4a3c69321ad65f093b7f Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Wed, 25 Jun 2025 11:18:33 +0700 Subject: add terbilang total cashback customer commision --- indoteknik_custom/models/commision.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'indoteknik_custom/models/commision.py') diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py index 199aa106..997d4470 100644 --- a/indoteknik_custom/models/commision.py +++ b/indoteknik_custom/models/commision.py @@ -191,6 +191,7 @@ class CustomerCommision(models.Model): total_cashback = fields.Float(string='Total Cashback') commision_amt_text = fields.Char(string='Commision Amount Text', compute='compute_delivery_amt_text') + total_cashback_text = fields.Char(string='Commision Amount Text', compute='compute_total_cashback_text') total_dpp = fields.Float(string='Total DPP', compute='_compute_total_dpp') commision_type = fields.Selection([ ('fee', 'Fee'), @@ -281,6 +282,20 @@ class CustomerCommision(models.Model): except: record.commision_amt_text = res + def compute_total_cashback_text(self): + tb = Terbilang() + + for record in self: + res = '' + + try: + if record.total_commision > 0: + tb.parse(int(record.total_commision)) + res = tb.getresult().title() + record.commision_amt_text = res + ' Rupiah' + except: + record.commision_amt_text = res + def _compute_grouped_numbers(self): for rec in self: so_numbers = set() -- cgit v1.2.3 From f87442f721ea925bd2763492f990bbe68e1627ac Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Wed, 25 Jun 2025 13:09:24 +0700 Subject: fix terbilang cashback customer benefits --- indoteknik_custom/models/commision.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'indoteknik_custom/models/commision.py') diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py index 997d4470..b685f6e1 100644 --- a/indoteknik_custom/models/commision.py +++ b/indoteknik_custom/models/commision.py @@ -191,7 +191,7 @@ class CustomerCommision(models.Model): total_cashback = fields.Float(string='Total Cashback') commision_amt_text = fields.Char(string='Commision Amount Text', compute='compute_delivery_amt_text') - total_cashback_text = fields.Char(string='Commision Amount Text', compute='compute_total_cashback_text') + total_cashback_text = fields.Char(string='Cashback Text', compute='compute_total_cashback_text') total_dpp = fields.Float(string='Total DPP', compute='_compute_total_dpp') commision_type = fields.Selection([ ('fee', 'Fee'), @@ -287,14 +287,14 @@ class CustomerCommision(models.Model): for record in self: res = '' - try: if record.total_commision > 0: tb.parse(int(record.total_commision)) res = tb.getresult().title() - record.commision_amt_text = res + ' Rupiah' - except: - record.commision_amt_text = res + record.total_cashback_text = f"{res} Rupiah" if res else "" + except Exception as e: + record.total_cashback_text = "" + _logger.error("Error computing cashback text: %s", str(e)) def _compute_grouped_numbers(self): for rec in self: -- cgit v1.2.3 From e483cf1634b16df7c9ecc4a89007dbc253b68da1 Mon Sep 17 00:00:00 2001 From: "Indoteknik ." Date: Wed, 25 Jun 2025 14:50:32 +0700 Subject: (andri) ganti penamaan field commision --- indoteknik_custom/models/commision.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indoteknik_custom/models/commision.py') diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py index b685f6e1..4db6c009 100644 --- a/indoteknik_custom/models/commision.py +++ b/indoteknik_custom/models/commision.py @@ -178,10 +178,10 @@ class CustomerCommision(models.Model): ], string='Status') # commision_percent = fields.Float(string='Commision %', tracking=3) - commision_percent = fields.Float(string='Cashback %', tracking=3) + commision_percent = fields.Float(string='Persentase', tracking=3) # commision_amt = fields.Float(string='Commision Amount', tracking=3) - commision_amt = fields.Float(string='Cashback', tracking=3) + commision_amt = fields.Float(string='Amount', tracking=3) # cashback = fields.Float(string='Cashback', compute="compute_cashback") cashback = fields.Float(string='PPh Cashback', compute="compute_cashback") @@ -190,7 +190,7 @@ class CustomerCommision(models.Model): total_commision = fields.Float(string='Cashback yang dibayarkan', compute="compute_cashback") total_cashback = fields.Float(string='Total Cashback') - commision_amt_text = fields.Char(string='Commision Amount Text', compute='compute_delivery_amt_text') + commision_amt_text = fields.Char(string='Amount Text', compute='compute_delivery_amt_text') total_cashback_text = fields.Char(string='Cashback Text', compute='compute_total_cashback_text') total_dpp = fields.Float(string='Total DPP', compute='_compute_total_dpp') commision_type = fields.Selection([ -- cgit v1.2.3 From 27926566ef6fee5a5a4be9c4cfcaddc6edfa23a9 Mon Sep 17 00:00:00 2001 From: "Indoteknik ." Date: Thu, 26 Jun 2025 08:44:24 +0700 Subject: (andri) fix price coretax & penamaan field cust benefits --- indoteknik_custom/models/commision.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indoteknik_custom/models/commision.py') diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py index 4db6c009..97184cdb 100644 --- a/indoteknik_custom/models/commision.py +++ b/indoteknik_custom/models/commision.py @@ -178,7 +178,7 @@ class CustomerCommision(models.Model): ], string='Status') # commision_percent = fields.Float(string='Commision %', tracking=3) - commision_percent = fields.Float(string='Persentase', tracking=3) + commision_percent = fields.Float(string='Persentase (%)', tracking=3) # commision_amt = fields.Float(string='Commision Amount', tracking=3) commision_amt = fields.Float(string='Amount', tracking=3) -- cgit v1.2.3 From 8c51dd97b7ddba2059d1b648799844aedd733501 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Mon, 14 Jul 2025 11:38:37 +0700 Subject: add biaya lain2 field in customer commision --- indoteknik_custom/models/commision.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'indoteknik_custom/models/commision.py') diff --git a/indoteknik_custom/models/commision.py b/indoteknik_custom/models/commision.py index 97184cdb..26b5df37 100644 --- a/indoteknik_custom/models/commision.py +++ b/indoteknik_custom/models/commision.py @@ -193,6 +193,7 @@ class CustomerCommision(models.Model): commision_amt_text = fields.Char(string='Amount Text', compute='compute_delivery_amt_text') total_cashback_text = fields.Char(string='Cashback Text', compute='compute_total_cashback_text') total_dpp = fields.Float(string='Total DPP', compute='_compute_total_dpp') + biaya_lain_lain = fields.Float(string='Biaya Lain-lain') commision_type = fields.Selection([ ('fee', 'Fee'), ('cashback', 'Cashback'), @@ -363,13 +364,13 @@ class CustomerCommision(models.Model): else: self.cashback = 0 self.total_commision = 0 - + def _compute_total_dpp(self): for data in self: total_dpp = 0 for line in data.commision_lines: total_dpp = total_dpp + line.dpp - data.total_dpp = total_dpp + data.total_dpp = total_dpp - data.biaya_lain_lain @api.model def create(self, vals): -- cgit v1.2.3