summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIndoteknik . <it@fixcomart.co.id>2025-07-16 14:55:03 +0700
committerIndoteknik . <it@fixcomart.co.id>2025-07-16 14:55:03 +0700
commit861ceb85ad813050331200b41ba4fe08b314d08f (patch)
tree0dbb2b246bb5d3062da09426ae92f61126a37dc2
parentf3fc6d3d1a4c5ac0b287e3bb7e1163b99393c728 (diff)
(andri) init pum
-rw-r--r--indoteknik_custom/models/down_payment.py97
1 files changed, 97 insertions, 0 deletions
diff --git a/indoteknik_custom/models/down_payment.py b/indoteknik_custom/models/down_payment.py
new file mode 100644
index 00000000..8b57bc2f
--- /dev/null
+++ b/indoteknik_custom/models/down_payment.py
@@ -0,0 +1,97 @@
+from odoo import models, api, fields, _
+from odoo.exceptions import UserError
+from datetime import datetime
+# import datetime
+import logging
+from terbilang import Terbilang
+import pytz
+
+
+class DownPayment(models.Model):
+ _name = 'down.payment'
+ _description = 'Down Payment Management'
+
+ number = fields.Char(string='No. Dokumen', required=True, tracking=3)
+
+ applicant_name = fields.Char(string='Nama Pemohon', tracking=3, required=True)
+ nominal = fields.Float(string='Nominal', tracking=3, required=True)
+
+ bank_name = fields.Char(string='Bank', tracking=3, required=True)
+ account_name = fields.Char(string='Nama Account', tracking=3, required=True)
+ bank_account = fields.Char(string='No. Rekening', tracking=3, required=True)
+ detail_note = fields.Text(string='Keterangan Penggunaan Rinci', tracking=3)
+
+ status = fields.Selection([
+ ('draft', 'Draft'),
+ ('pengajuan1', 'Approval Departement'),
+ ('pengajuan2', 'Approval AP'),
+ ('pengajuan3', 'Approval Pimpinan'),
+ ('approved', 'Approved'),
+ ('reject', 'Rejected')
+ ], string='Status Down Payment', default='draft', tracking=3)
+
+ status_pay_down_payment = fields.Selection([
+ ('pending', 'Pending'),
+ ('payment', 'Payment'),
+ ], string='Status Pembayaran', default='pending', tracking=3)
+
+ departement_type = fields.Selection([
+ ('sales', 'Sales'),
+ ('md', 'MD'),
+ ('marketing', 'Marketing'),
+ ('logistic', 'Logistic'),
+ ('procurement', 'Procurement'),
+ ('fat', 'FAT'),
+ ('hr_ga', 'HR & GA'),
+ ], string='Departement Type', tracking=3, required=True)
+
+ # Sales & MD : Darren ID 19
+ # Marketing : Iwan ID 216
+ # Logistic & Procurement : Rafly H ID 21
+ # FAT : Stephan ID 28
+ # HR & GA : Akbar ID 7 / Pimpinan
+ # ---------------------------------------
+ # AP : Manzila (Finance) ID 23
+
+ created_date = fields.Datetime(string='Created Date', default=lambda self: fields.Datetime.now(), tracking=3)
+
+
+class RealizationDownPayment(models.Model):
+ _name = 'realization.down.payment'
+ _description = 'Realization Down Payment Management'
+
+ title = fields.Char(string='Judul', required=True, tracking=3)
+ goals = fields.Text(string='Tujuan', tracking=3, required=True)
+ related = fields.Char(string='Terkait', tracking=3, required=True)
+
+ # Rincian Pemberian PUM
+ date_line = fields.Date(string='Tanggal', required=True, tracking=3, default=lambda self: fields.Date.today())
+ info_line = fields.Char(string='Description', required=True, tracking=3)
+ value_line = fields.Float(string='Nilai', required=True, tracking=3)
+ grand_total = fields.Float(string='Grand Total', tracking=3)
+
+ # Rincian Penggunaan PUM
+ date_line_use = fields.Date(string='Tanggal', required=True, tracking=3, default=lambda self: fields.Date.today())
+ info_line_use = fields.Char(string='Description', required=True, tracking=3)
+ value_line_use = fields.Float(string='Nominal', required=True, tracking=3)
+ attachment = fields.Boolean(string='Attachment', tracking=3, default=False)
+ grand_total_use = fields.Float(string='Grand Total', tracking=3)
+ value_down_payment = fields.Float(string='PUM', required=True, tracking=3)
+ remaining_value = fields.Float(string='Sisa Uang PUM', tracking=3)
+
+ note_approval = fields.Text(string='Note Persetujuan', tracking=3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+