• (022) 6902 1117

Drupal 7: Sinkronisasi dengan Odoo 10

 

Pada project ini Anda diminta utk melakukan sinkronisasi satu arah antara Drupal 7 dan Odoo, dengan menggunakan API-nya Odoo.  Web API-nya Odoo bisa dibaca di sini:

https://www.odoo.com/documentation/10.0/api_integration.html

Proses sinkronisasi dimaksud harus menggunakan batch API drupal 7.  Contoh batch API Drupal 7 bisa dilihat di sini:

https://api.drupal.org/api/examples/batch_example%21batch_example.module/group/batch_example/7.x-1.x

Jika Anda berminat mengerjakan project ini, harap sertakan contoh module Drupal 7 yang pernah Anda buat; akan lebih baik jika ada yang berkaitan dengan EntityFieldQuery, Drupal Form API, Batch API, dan Web Service.

Source code Drupal 7 dan database-nya, dan database Odoo-nya, akan diberikan jika Anda terpilih utk mengerjakan project ini. Buat sinkronisasi batch untuk proses2 berikut:

Tugas 1: Sinkonisasi FEED dan Product

Sinkronisasi ini merupakan sinkronisasi satu arah yang membaca data Product di Odoo, utk kemudian di-sinkronkan dengan content type FEED di Drupal 7. Anda cukup membuatkan menu routing-nya di hook_menu.

Ketentuannya adalah sbb:
  • Yang disinkronkan ke content type FEED di Drupal 7 adalah product-produk di Odoo yang memiliki BoM dan Can be Sold dan Internal Category-nya Pakan Jadi (lihat bagian yang dilingkari pada gambar di bawah). 
  • Lakukan baik utk product Active maupun Archieve.
  • Mapping-nya sbb:
    • (Odoo) Product Name --> (D7) field_feed_name
    • (Odoo) Active jika Active, Inactive jika Archieve --> (D7) field_feed_status
  • Sebelum disinkronkan ke Drupal 7, check dulu apakah data product yang dimaksud sudah ada atau belum. Jangan sampai terjadi duplikasi.
  • Semua content di content type FEED yang tidak terdapat di Odoo dinonaktifkan.

201712085a2abe03aedde.jpg
201712085a2abe10aad99.jpg


Tugas 2: Sinkronisasi OVK dan Product

Sinkronisasi ini merupakan sinkronisasi satu arah yang membaca data Product di Odoo, utk kemudian di-sinkronkan dengan content type OVK di Drupal 7. Anda cukup membuatkan menu routing-nya di hook_menu.

Ketentuannya adalah sbb:
  • Yang disinkronkan ke content type OVK di Drupal 7 adalah product-produk di Odoo yang Internal Category-nya Obat-obatan (lihat bagian yang dilingkari di bawah). 
  • Lakukan baik utk product Active maupun Archieve.
  • Mapping-nya sbb:
    • (Odoo) Product Name --> (D7) field_ovk_product_name
    • (Odoo) Active jika Active, Inactive jika Archieve --> (D7) field_ovk_status
  • Sebelum disinkronkan ke Drupal 7, check dulu apakah data product yang dimaksud sudah ada atau belum. Jangan sampai terjadi duplikasi.
  • Semua content di content type OVK yang tidak terdapat di Odoo dinonaktifkan.
201712085a2abe2f852e8.jpg


Tugas 3: Sinkronisasi Invoice FEED dan PRICE LIST

Sinkronisasi ini merupakan sinkronisasi satu arah yang membaca data Invoice dari Sales Order product dengan Internal Category-nya Pakan Jadi di Odoo, utk kemudian di-sinkronkan dengan content type PRICE LIST di Drupal 7. Anda cukup membuatkan menu routing-nya di hook_menu.

Ketentuannya adalah sbb:
  • Cari Invoice product yang DIJUAL dengan Internal Category-nya Pakan Jadi di Odoo, yang statusnya Open atau Paid, untuk mendapatkan Amount-nya (harga product) untuk Invoice Date dalam kurun waktu 3 bulan terakhir.
201712095a2b5682efdad.jpg

  • Lakukan update content type PRICE LIST di Drupal 7 utk field_price_list_movement utk product di atas. field_price_list_movement merupakan field collection yang berisi tanggal dan harga.
  • Jika harga product suatu product sama dengan tanggal sebelumnya, maka content type PRICE LIST tidak perlu di-update.

Tugas 4: Sinkronisasi Bill OVK dan PRICE LIST

Sinkronisasi ini merupakan sinkronisasi satu arah yang membaca data Billing dari Purchase product dengan Internal Category-nya Obat-obatan di Odoo, utk kemudian di-sinkronkan dengan content type PRICE LIST di Drupal 7. Anda cukup membuatkan menu routing-nya di hook_menu.

Ketentuannya adalah sbb:
  • Cari Billing product yang DIBELI dengan Internal Category-nya Obat-obatan di Odoo, yang statusnya Open atau Paid, untuk mendapatkan Amount-nya (harga product) untuk Invoice Date dalam kurun waktu 3 bulan terakhir.
201712095a2b572375364.jpg

  • Lakukan update content type PRICE LIST di Drupal 7 utk field_price_list_movement utk product di atas. field_price_list_movement merupakan field collection yang berisi tanggal dan harga.
  • Jika harga product suatu product sama dengan tanggal sebelumnya, maka content type PRICE LIST tidak perlu di-update.

Tugas 5: Sinkronisasi Production dan Purchase Order (PO)

Buat dua halaman berikut menggunakan drupal form API:

201708155992610787686.jpg

API untuk mendapatkan data2 utk menyusun halaman di atas dapat kami disediakan.

Halaman Posting Production adalah halaman utk mem-posting produksi harian utk kemudian dibuatkan PO-nya di Odoo.

Ketentuannya adalah sbb:
  • Produksi yang di-posting bisa kg atau butir telur sesuai konfigurasi di halaman Setting
  • Jumlah kg atau butir yang dimunculkan di halaman Posting Production juga disesuaikan dengan konfigurasi di halaman Setting (apakah dimunculkan sebagai kg atau sebagai butir). 
  • Tanggal di datepicker maksium yang bisa dipilih adalah hari ini. 
  • Ketika di-tekan "Post", maka akan menjalankan batch API utk membuatkan PO di Odoo. Penjelasannya PO yang seperti apa yang dibuat akan dijelaskan di bawah. 
  • Setiap harinya hanya ada satu PO utk suatu kategori. Jadi jika ketika ditekan "Post" ternyata sudah ada PO sebelumnya utk suatu kategori di tanggal yang sama, PO yang sudah ada tsb di-update dengan baru. 
  • PO yang di-update sebagaimana di atas adalah jika status PO-nya masih RFQ. Jika status PO-nya sudah Purchase Order, proses "Post" tidak perlu melakukan apa2 karena sudah final PO-nya.
PO yang harus dibuat ketika ditekan "Post": 
  • PO yang dibuat adalah dalam status RFQ. Vendor, Order Date, Product, Quantity, dan Unit of Measurement-nya disesuaikan dengan konfigurasi di Setting (apakah kg atau butir telur) dan Lokasi yang di-post di halaman Posting ProductionUnit Price-nya dikosongkan. Lebih kurang spt gambar di bawah PO-nya nanti yang terbuat. 
  • Pastikan Delivery To bersesuaian dengan Warehouse/Location di Setting, contohnya sebagaimana gambar di bawah.
201712095a2c03882d353.jpg
201712095a2c0394e4863.jpg

PHP Drupal

Published Budget: Rp 1,000,000
Finish Days: 14
Published Date: 24/01/2018 15:29:57 WIB
Start Date: 21/02/2018 21:35:29 WIB
Finish Date:
Project Status: Running
Accepted Worker: nugrohoaw (nugrohoaw)
Accepted Budget: Rp 1,000,000
Project Ending: In Progress

Project Owner

agungsuyono
    
9.56/10.00
1,329 Point
#425 dari 1,098,337

Accepted Worker

nugrohoaw
    
0.00/10.00
0 Point
No Ranking

      User Bids

 

Recommended Workers

rakifsul

27,395 points
78 projects
    
10.00/10.00

manakreatif

18,642 points
149 projects
    
9.76/10.00

Muhammad.Rahman

17,917 points
190 projects
    
9.80/10.00

programmerkreatif

12,122 points
53 projects
    
9.61/10.00

arkhan7

10,595 points
190 projects
    
9.82/10.00

Recommended Services

Tiru Website Lain Sesuai Keinginan (Cloning)

Rp 650,000
18 sales
    
9.83/10.00

Jasa Pembuatan website Wordpress + Elementor

Rp 650,000
13 sales
    
10.00/10.00

Jasa pembuatan landing page

Rp 400,000
12 sales
    
9.92/10.00

Script API Mutasi Bank BCA Personal

Rp 2,000,000
3 sales
    
9.00/10.00

Open Projects

Mempercepat loading website dan setting plugin

Owner: danusan
Budget: Rp 250,000 - 500,000

Butuh bantuan untuk menghubungkan sharepoint dan PHP native

Owner: danaprakoso250
Budget: Rp 500,000 - 1,000,000

Aplikasi GYM PWA dan Reactjs

Owner: BRIANCAV1209
Budget: Rp 1,000,000 - 16,000,000

Dicari yang bisa bikin plugin wordpress custom

Owner: Kreatif456
Budget: Rp 1,000,000 - 2,000,000

 


Live Chat