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
|
from odoo import models
import json
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,
'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,
'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 '',
'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 '',
'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_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_nib':
{
'name': pengajuan_tempo.dokumen_nib.name,
'base64': pengajuan_tempo.dokumen_nib.local_url,
}
if pengajuan_tempo.dokumen_nib else '',
'dokumen_npwp':
{
'name': pengajuan_tempo.dokumen_npwp.name,
'base64': pengajuan_tempo.dokumen_npwp.local_url,
} if pengajuan_tempo.dokumen_npwp else '',
'dokumen_sppkp': {
'name': pengajuan_tempo.dokumen_sppkp.name,
'base64': pengajuan_tempo.dokumen_sppkp.local_url,
} if pengajuan_tempo.dokumen_sppkp else '',
'dokumen_akta_perubahan': {
'name': pengajuan_tempo.dokumen_akta_perubahan.name,
'base64': pengajuan_tempo.dokumen_akta_perubahan.local_url,
} if pengajuan_tempo.dokumen_akta_perubahan else '',
'dokumen_ktp_dirut': {
'name': pengajuan_tempo.dokumen_ktp_dirut.name,
'base64': pengajuan_tempo.dokumen_ktp_dirut.local_url,
} if pengajuan_tempo.dokumen_ktp_dirut else '',
'dokumen_akta_pendirian': {
'name': pengajuan_tempo.dokumen_akta_pendirian.name,
'base64': pengajuan_tempo.dokumen_akta_pendirian.local_url,
} if pengajuan_tempo.dokumen_akta_pendirian else '',
'dokumen_laporan_keuangan': {
'name': pengajuan_tempo.dokumen_laporan_keuangan.name,
'base64': pengajuan_tempo.dokumen_laporan_keuangan.local_url,
} if pengajuan_tempo.dokumen_laporan_keuangan else '',
'dokumen_foto_kantor': {
'name': pengajuan_tempo.dokumen_foto_kantor.name,
'base64': pengajuan_tempo.dokumen_foto_kantor.local_url,
} if pengajuan_tempo.dokumen_foto_kantor else '',
'dokumen_tempat_bekerja': {
'name': pengajuan_tempo.dokumen_tempat_bekerja.name,
'base64': pengajuan_tempo.dokumen_tempat_bekerja.local_url,
} if pengajuan_tempo.dokumen_tempat_bekerja else '',
}
return data
|