summaryrefslogtreecommitdiff
path: root/indoteknik_api/models/res_partner.py
blob: 9b9f87d422bc57df325231d5f9c7051798d6b4f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
from odoo import models
import json

class ResPartner(models.Model):
    _inherit = 'res.partner'

    def api_single_response(self, res_partner, with_detail=''):
        config = self.env['ir.config_parameter']

        partner = res_partner.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 res_partner.dokumen_pengiriman :
            res_partner_dokumen_pengiriman = res_partner.dokumen_pengiriman
            mapping_dokumen = {item[0]: item[1] for item in dokumen_kirim}
            dokumen_pengiriman_list = [dokumen.strip() for dokumen in res_partner_dokumen_pengiriman.split(',')]
            dokumen_pengiriman = [mapping_dokumen.get(dokumen, '4') for dokumen in dokumen_pengiriman_list]

        dokumen = [
            ['Invoice Pembelian','0'],
            ['Surat Jalan','1'],
            ['Berita Acara Serah Terima (BAST)','2'],
            ['Faktur Pajak','3'],
            ['Good Receipt (GR)','4']
        ]
        dokumen_invoice = []
        if res_partner.dokumen_invoice:
            res_partner_dokumen_invoice = res_partner.dokumen_invoice
            mapping_dokumen = {item[0]: item[1] for item in dokumen}
            dokumen_invoice_list = [dokumen.strip() for dokumen in res_partner_dokumen_invoice.split(',')]
            dokumen_invoice = [mapping_dokumen.get(dokumen, '4') for dokumen in dokumen_invoice_list]


        data = {
                'name' : res_partner.name_tempo.name,
                'industry_id' : res_partner.industry_id_tempo.id,
                'street' : res_partner.street_tempo,
                'state' : res_partner.state_id_tempo.id,
                'city' : res_partner.city_id_tempo.id,
                'zip' : res_partner.zip_tempo,
                'mobile' : res_partner.mobile_tempo,
                'bank_name' : res_partner.bank_name_tempo,
                'account_name' : res_partner.account_name_tempo,
                'account_number' : res_partner.account_number_tempo,
                'website' : res_partner.website_tempo if res_partner.website_tempo else '',
                'estimasi' : res_partner.estimasi_tempo,
                'tempo_duration' : res_partner.tempo_duration.id,
                'tempo_limit' : res_partner.tempo_limit,
                'category_produk': ','.join([str(cat.id) for cat in res_partner.category_produk_ids]) if res_partner.category_produk_ids else '',

                # Kontak Perusahaan
                'direktur_name' : res_partner.direktur_name if res_partner.direktur_name else '',
                'direktur_mobile' : res_partner.direktur_mobile if res_partner.direktur_mobile else '',
                'direktur_email' : res_partner.direktur_email if res_partner.direktur_email else '',
                'purchasing_name' : res_partner.purchasing_name if res_partner.purchasing_name else '',
                'purchasing_mobile' : res_partner.purchasing_mobile if res_partner.purchasing_mobile else '',
                'purchasing_email' : res_partner.purchasing_email if res_partner.purchasing_email else '',
                'finance_name' : res_partner.finance_name if res_partner.finance_name else '',
                'finance_mobile' : res_partner.finance_mobile if res_partner.finance_mobile else '',
                'finance_email' : res_partner.finance_email if res_partner.finance_email else '',

                # Pengiriman
                'PIC_name' : res_partner.pic_name if res_partner.pic_name else '',
                'street_pengiriman' : res_partner.street_pengiriman if res_partner.street_pengiriman else '',
                'state_id_pengiriman' : res_partner.state_id_pengiriman.id if res_partner.state_id_pengiriman else '',
                'city_id_pengiriman' : res_partner.city_id_pengiriman.id if res_partner.city_id_pengiriman  else '',
                'zip_pengiriman' : res_partner.zip_pengiriman if res_partner.zip_pengiriman else '',
                'invoice_pic' : res_partner.invoice_pic if res_partner.invoice_pic else '',
                'street_invoice' : res_partner.street_invoice if res_partner.street_invoice else '',
                'state_id_invoice' : res_partner.state_id_invoice.id if res_partner.state_id_invoice else '',
                'city_id_invoice' : res_partner.city_id_invoice.id if res_partner.city_id_invoice else '',
                'tukar_invoice' : res_partner.tukar_invoice if res_partner.tukar_invoice else '',
                'jadwal_bayar' : res_partner.jadwal_bayar if res_partner.jadwal_bayar else '',
                'dokumen_pengiriman' : ','.join(dokumen_pengiriman) if dokumen_pengiriman else '',
                'dokumen_pengiriman_invoice' : ','.join(dokumen_invoice) if dokumen_invoice else '',
                'is_same_address': res_partner.is_same_address if res_partner.is_same_address else False,
                'res_partner.is_same_address': res_partner.is_same_address_street if res_partner.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 res_partner.supplier_ids
                ] if res_partner.supplier_ids else ''

                # Dokumen
                # 'dokumen_nib': res_partner.dokumen_nib if res_partner.dokumen_nib else '',
                # 'dokumen_npwp': res_partner.dokumen_npwp if res_partner.dokumen_npwp else '',
                # 'dokumen_sppkp': res_partner.dokumen_sppkp if res_partner.dokumen_sppkp else '',
                # 'dokumen_akta_perubahan': res_partner.dokumen_akta_perubahan if res_partner.dokumen_akta_perubahan else '',
                # 'dokumen_ktp_dirut': res_partner.dokumen_ktp_dirut if res_partner.dokumen_ktp_dirut else '',
                # 'dokumen_akta_pendirian': res_partner.dokumen_akta_pendirian if res_partner.dokumen_akta_pendirian else '',
                # 'dokumen_laporan_keuangan': res_partner.dokumen_laporan_keuangan if res_partner.dokumen_laporan_keuangan else '',
                # 'dokumen_foto_kantor': res_partner.dokumen_foto_kantor if res_partner.dokumen_foto_kantor else '',
                # 'dokumen_tempat_bekerja': res_partner.dokumen_tempat_bekerja if res_partner.dokumen_tempat_bekerja else '',
        }

        return data