summaryrefslogtreecommitdiff
path: root/indoteknik_api/models/res_partner.py
diff options
context:
space:
mode:
authortrisusilo48 <tri.susilo@altama.co.id>2025-01-14 09:31:44 +0700
committertrisusilo48 <tri.susilo@altama.co.id>2025-01-14 09:31:44 +0700
commit183cd9e68ea05e31c63000aeb992eb618edb02b5 (patch)
tree45d710db372c2a0eba437a0137cbb74d9935a7f2 /indoteknik_api/models/res_partner.py
parent63878bd84a6eb9094e702963d7c78fcd8dfa1808 (diff)
parent6dda865a1b3262ce78ed2db024fd03efb091d6a6 (diff)
Merge branch 'odoo-production' into feature/integrasi_biteship
# Conflicts: # indoteknik_custom/__manifest__.py # indoteknik_custom/models/__init__.py # indoteknik_custom/security/ir.model.access.csv
Diffstat (limited to 'indoteknik_api/models/res_partner.py')
-rw-r--r--indoteknik_api/models/res_partner.py170
1 files changed, 170 insertions, 0 deletions
diff --git a/indoteknik_api/models/res_partner.py b/indoteknik_api/models/res_partner.py
new file mode 100644
index 00000000..0e09fbc6
--- /dev/null
+++ b/indoteknik_api/models/res_partner.py
@@ -0,0 +1,170 @@
+from odoo import models
+import json
+import base64
+
+class ResPartner(models.Model):
+ _inherit = 'res.partner'
+
+ def api_single_response(self, pengajuan_tempo, with_detail=''):
+ config = self.env['ir.config_parameter']
+
+ partner = pengajuan_tempo.partner_id
+
+ dokumen_kirim = [
+ ['Surat Tanda Terima Barang (STTB)', '0'],
+ ['Good Receipt (GR)', '1'],
+ ['Surat Terima Barang (STB)', '2'],
+ ['Lembar Penerimaan Barang (LPB)', '3']
+ ]
+ dokumen_pengiriman = []
+ if pengajuan_tempo.dokumen_pengiriman :
+ pengajuan_tempo_dokumen_pengiriman = pengajuan_tempo.dokumen_pengiriman
+ mapping_dokumen = {item[0]: item[1] for item in dokumen_kirim}
+ dokumen_pengiriman_list = [dokumen.strip() for dokumen in pengajuan_tempo_dokumen_pengiriman.split(',')]
+ dokumen_pengiriman = [mapping_dokumen.get(dokumen, '4') for dokumen in dokumen_pengiriman_list]
+ data = {
+ 'name' : pengajuan_tempo.name_tempo.name,
+ 'industry_id' : pengajuan_tempo.industry_id_tempo.id,
+ 'street' : pengajuan_tempo.street_tempo,
+ 'state' : pengajuan_tempo.state_id_tempo.id,
+ 'city' : pengajuan_tempo.city_id_tempo.id,
+ 'district' : pengajuan_tempo.district_id_tempo.id,
+ 'subDistrict' : pengajuan_tempo.subDistrict_id_tempo.id,
+ 'zip' : pengajuan_tempo.zip_tempo,
+ 'mobile' : pengajuan_tempo.mobile_tempo,
+ 'bank_name' : pengajuan_tempo.bank_name_tempo,
+ 'account_name' : pengajuan_tempo.account_name_tempo,
+ 'account_number' : pengajuan_tempo.account_number_tempo,
+ 'website' : pengajuan_tempo.website_tempo if pengajuan_tempo.website_tempo else '',
+ 'estimasi' : pengajuan_tempo.estimasi_tempo,
+ 'bersedia' : pengajuan_tempo.bersedia,
+ 'portal' : 'ada' if pengajuan_tempo.portal else 'tidak',
+ 'tempo_duration' : pengajuan_tempo.tempo_duration.id,
+ 'tempo_limit' : pengajuan_tempo.tempo_limit,
+ 'category_produk': ','.join([str(cat.id) for cat in pengajuan_tempo.category_produk_ids]) if pengajuan_tempo.category_produk_ids else '',
+
+ # Kontak Perusahaan
+ 'direktur_tittle': pengajuan_tempo.direktur_tittle if pengajuan_tempo.direktur_tittle else '',
+ 'direktur_name' : pengajuan_tempo.direktur_name if pengajuan_tempo.direktur_name else '',
+ 'direktur_mobile' : pengajuan_tempo.direktur_mobile if pengajuan_tempo.direktur_mobile else '',
+ 'direktur_email' : pengajuan_tempo.direktur_email if pengajuan_tempo.direktur_email else '',
+ 'purchasing_tittle': pengajuan_tempo.purchasing_tittle if pengajuan_tempo.purchasing_tittle else '',
+ 'purchasing_name' : pengajuan_tempo.purchasing_name if pengajuan_tempo.purchasing_name else '',
+ 'purchasing_mobile' : pengajuan_tempo.purchasing_mobile if pengajuan_tempo.purchasing_mobile else '',
+ 'purchasing_email' : pengajuan_tempo.purchasing_email if pengajuan_tempo.purchasing_email else '',
+ 'finance_tittle': pengajuan_tempo.finance_tittle if pengajuan_tempo.finance_tittle else '',
+ 'finance_name' : pengajuan_tempo.finance_name if pengajuan_tempo.finance_name else '',
+ 'finance_mobile' : pengajuan_tempo.finance_mobile if pengajuan_tempo.finance_mobile else '',
+ 'finance_email' : pengajuan_tempo.finance_email if pengajuan_tempo.finance_email else '',
+
+ # Pengiriman
+ 'PIC_tittle' : pengajuan_tempo.pic_tittle if pengajuan_tempo.pic_tittle else '',
+ 'PIC_name' : pengajuan_tempo.pic_name if pengajuan_tempo.pic_name else '',
+ 'street_pengiriman' : pengajuan_tempo.street_pengiriman if pengajuan_tempo.street_pengiriman else '',
+ 'state_pengiriman' : pengajuan_tempo.state_id_pengiriman.id if pengajuan_tempo.state_id_pengiriman else '',
+ 'city_pengiriman' : pengajuan_tempo.city_id_pengiriman.id if pengajuan_tempo.city_id_pengiriman else '',
+ 'district_pengiriman': pengajuan_tempo.district_id_pengiriman.id if pengajuan_tempo.district_id_pengiriman else '',
+ 'subDistrict_pengiriman': pengajuan_tempo.subDistrict_id_pengiriman.id if pengajuan_tempo.subDistrict_id_pengiriman else '',
+ 'zip_pengiriman' : pengajuan_tempo.zip_pengiriman if pengajuan_tempo.zip_pengiriman else '',
+ 'invoice_pic_tittle' : pengajuan_tempo.invoice_pic_tittle if pengajuan_tempo.invoice_pic_tittle else '',
+ 'invoice_pic' : pengajuan_tempo.invoice_pic if pengajuan_tempo.invoice_pic else '',
+ 'street_invoice' : pengajuan_tempo.street_invoice if pengajuan_tempo.street_invoice else '',
+ 'state_invoice' : pengajuan_tempo.state_id_invoice.id if pengajuan_tempo.state_id_invoice else '',
+ 'city_invoice' : pengajuan_tempo.city_id_invoice.id if pengajuan_tempo.city_id_invoice else '',
+ 'district_invoice': pengajuan_tempo.district_id_invoice.id if pengajuan_tempo.district_id_invoice else '',
+ 'subDistrict_invoice': pengajuan_tempo.subDistrict_id_invoice.id if pengajuan_tempo.subDistrict_id_invoice else '',
+ 'zip_invoice': pengajuan_tempo.zip_invoice if pengajuan_tempo.zip_invoice else '',
+ 'tukar_invoice_input' : pengajuan_tempo.tukar_invoice if pengajuan_tempo.tukar_invoice else '',
+ 'tukar_invoice_input_pembayaran' : pengajuan_tempo.jadwal_bayar if pengajuan_tempo.jadwal_bayar else '',
+ 'dokumen_pengiriman' : ','.join(dokumen_pengiriman) if dokumen_pengiriman else '',
+ 'dokumen_pengiriman_input' : pengajuan_tempo.dokumen_pengiriman_input if pengajuan_tempo.dokumen_pengiriman_input else '',
+ 'dokumen_kirim_input' : pengajuan_tempo.dokumen_kirim_input if pengajuan_tempo.dokumen_kirim_input else '',
+ 'dokumen_pengiriman_invoice' : pengajuan_tempo.dokumen_invoice if pengajuan_tempo.dokumen_invoice else '',
+ 'is_same_addrees': pengajuan_tempo.is_same_address if pengajuan_tempo.is_same_address else False,
+ 'is_same_addrees_street': pengajuan_tempo.is_same_address_street if pengajuan_tempo.is_same_address_street else False,
+ 'supplier_ids': [
+ {
+ 'id': supplier.id,
+ 'supplier': supplier.name_supplier,
+ 'telepon': supplier.phone,
+ 'pic': supplier.pic_name,
+ 'credit_limit': supplier.credit_limit,
+ 'durasi_tempo': supplier.tempo_duration
+ }
+ for supplier in pengajuan_tempo.supplier_ids
+ ] if pengajuan_tempo.supplier_ids else '',
+ # Dokumen
+ 'dokumen_npwp':
+ {
+ 'name': pengajuan_tempo.dokumen_npwp.name,
+ 'base64': pengajuan_tempo.dokumen_npwp.datas.decode('utf-8'),
+ 'format': pengajuan_tempo.dokumen_npwp.mimetype,
+ } if pengajuan_tempo.dokumen_npwp else '',
+ 'dokumen_sppkp': {
+ 'name': pengajuan_tempo.dokumen_sppkp.name,
+ 'base64': pengajuan_tempo.dokumen_sppkp.datas.decode('utf-8'),
+ 'format': pengajuan_tempo.dokumen_sppkp.mimetype,
+ } if pengajuan_tempo.dokumen_sppkp else '',
+ 'dokumen_nib':
+ {
+ 'name': pengajuan_tempo.dokumen_nib.name,
+ 'base64': pengajuan_tempo.dokumen_nib.datas.decode('utf-8'),
+ 'format': pengajuan_tempo.dokumen_nib.mimetype,
+ }if pengajuan_tempo.dokumen_nib else '',
+ 'dokumen_siup':
+ {
+ 'name': pengajuan_tempo.dokumen_siup.name,
+ 'base64': pengajuan_tempo.dokumen_siup.datas.decode('utf-8'),
+ 'format': pengajuan_tempo.dokumen_siup.mimetype,
+ }if pengajuan_tempo.dokumen_siup else '',
+ 'dokumen_tdp':
+ {
+ 'name': pengajuan_tempo.dokumen_tdp.name,
+ 'base64': pengajuan_tempo.dokumen_tdp.datas.decode('utf-8'),
+ 'format': pengajuan_tempo.dokumen_tdp.mimetype,
+ }if pengajuan_tempo.dokumen_tdp else '',
+ 'dokumen_skdp':
+ {
+ 'name': pengajuan_tempo.dokumen_skdp.name,
+ 'base64': pengajuan_tempo.dokumen_skdp.datas.decode('utf-8'),
+ 'format': pengajuan_tempo.dokumen_skdp.mimetype,
+ }if pengajuan_tempo.dokumen_skdp else '',
+ 'dokumen_skt':
+ {
+ 'name': pengajuan_tempo.dokumen_skt.name,
+ 'base64': pengajuan_tempo.dokumen_skt.datas.decode('utf-8'),
+ 'format': pengajuan_tempo.dokumen_skt.mimetype,
+ }if pengajuan_tempo.dokumen_skt else '',
+ 'dokumen_akta_perubahan': {
+ 'name': pengajuan_tempo.dokumen_akta_perubahan.name,
+ 'base64': pengajuan_tempo.dokumen_akta_perubahan.datas.decode('utf-8'),
+ 'format': pengajuan_tempo.dokumen_akta_perubahan.mimetype,
+ } if pengajuan_tempo.dokumen_akta_perubahan else '',
+ 'dokumen_ktp_dirut': {
+ 'name': pengajuan_tempo.dokumen_ktp_dirut.name,
+ 'base64': pengajuan_tempo.dokumen_ktp_dirut.datas.decode('utf-8'),
+ 'format': pengajuan_tempo.dokumen_ktp_dirut.mimetype,
+ } if pengajuan_tempo.dokumen_ktp_dirut else '',
+ 'dokumen_akta_pendirian': {
+ 'name': pengajuan_tempo.dokumen_akta_pendirian.name,
+ 'base64': pengajuan_tempo.dokumen_akta_pendirian.datas.decode('utf-8'),
+ 'format': pengajuan_tempo.dokumen_akta_pendirian.mimetype,
+ } if pengajuan_tempo.dokumen_akta_pendirian else '',
+ 'dokumen_laporan_keuangan': {
+ 'name': pengajuan_tempo.dokumen_laporan_keuangan.name,
+ 'base64': pengajuan_tempo.dokumen_laporan_keuangan.datas.decode('utf-8'),
+ 'format': pengajuan_tempo.dokumen_laporan_keuangan.mimetype,
+ } if pengajuan_tempo.dokumen_laporan_keuangan else '',
+ 'dokumen_foto_kantor': {
+ 'name': pengajuan_tempo.dokumen_foto_kantor.name,
+ 'base64': pengajuan_tempo.dokumen_foto_kantor.datas.decode('utf-8'),
+ 'format': pengajuan_tempo.dokumen_foto_kantor.mimetype,
+ } if pengajuan_tempo.dokumen_foto_kantor else '',
+ 'dokumen_tempat_bekerja': {
+ 'name': pengajuan_tempo.dokumen_tempat_bekerja.name,
+ 'base64': pengajuan_tempo.dokumen_tempat_bekerja.datas.decode('utf-8'),
+ 'format': pengajuan_tempo.dokumen_tempat_bekerja.mimetype,
+ } if pengajuan_tempo.dokumen_tempat_bekerja else '',
+ }
+
+ return data \ No newline at end of file