summaryrefslogtreecommitdiff
path: root/indoteknik_api/models/res_partner.py
blob: 3a98f3bc24a290675ead515c0a064f707efc118c (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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
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 '',
                'PICBarangMobile' : pengajuan_tempo.pic_mobile if pengajuan_tempo.pic_mobile 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_mobile' : pengajuan_tempo.invoice_pic_mobile if pengajuan_tempo.invoice_pic_mobile 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,
                'dokumen_prosedur':
                    {
                        'name': pengajuan_tempo.dokumen_prosedur.name,
                        'base64': pengajuan_tempo.dokumen_prosedur.datas.decode('utf-8'),
                        'format': pengajuan_tempo.dokumen_prosedur.mimetype,
                    } if pengajuan_tempo.dokumen_prosedur else '',
                '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