diff options
| author | Indoteknik . <it@fixcomart.co.id> | 2025-07-16 14:55:03 +0700 |
|---|---|---|
| committer | Indoteknik . <it@fixcomart.co.id> | 2025-07-16 14:55:03 +0700 |
| commit | 861ceb85ad813050331200b41ba4fe08b314d08f (patch) | |
| tree | 0dbb2b246bb5d3062da09426ae92f61126a37dc2 | |
| parent | f3fc6d3d1a4c5ac0b287e3bb7e1163b99393c728 (diff) | |
(andri) init pum
| -rw-r--r-- | indoteknik_custom/models/down_payment.py | 97 |
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) + + + + + + + + + + + + + + + |
