top of page
Gambar penulisPT. DENTSU SOKEN INDONESIA

Mengakses Sumber Data Eksternal Menggunakan iReporter dan ConMas Gateway.

iReporter dapat digunakan sebagai alat utama untuk mengurangi pengisian manual formulir pelaporan dan inspeksi di berbagai bidang. i-Reporter memiliki berbagai fungsi untuk mendukung pekerja lapangan dalam memasukkan data dengan mudah tanpa kesalahan. Data ini dapat diperoleh dari sumber yang ada atau sumber eksternal. Artikel ini menjelaskan cara mengakses sumber data eksternal dalam format Excel menggunakan iReporter dan ConMas Gateway.


Apa itu ConMas Gateway?


ConMas Gateway adalah perangkat lunak yang memungkinkan akuisisi data secara real-time dari sumber data eksternal. ConMas Gateway dapat mengambil sumber data eksternal apa pun secara real-time ke laporan i-Reporter. Selain itu, juga dapat mengirim data input formulir ke sumber eksternal.

Contoh berikut dapat diwujudkan dengan menggunakan ConMas Gateway:

  1. Menggunakan informasi terkini dari sistem lain tanpa pembuatan formulir otomatis.

  2. Mengambil data master langsung dari berbagai DB master sistem bisnis secara real-time tanpa menggunakan custom master.

  3. Mendapatkan data bisnis langsung secara real-time dari sistem eksternal seperti sistem inti, sistem manajemen produksi, atau cloud.

  4. Mengambil data perangkat IoT langsung dari perangkat secara real-time.

  5. Mengakuisisi konten input masa lalu (termasuk gambar) dari formulir lain.

  6. Menggunakan beberapa nilai cluster yang dimasukkan dalam formulir (membuat grafik, membuat kode QR, membuat kode batang satu dimensi).

  7. Melakukan perhitungan kompleks menggunakan beberapa nilai cluster yang dimasukkan dalam formulir dan memperoleh hasil perhitungan. (Dukungan untuk fungsi EXCEL yang tidak didukung.)


Memulai ConMas Gateway


Buka folder tempat ConMas Gateway diinstal. Jika folder yang diinstal adalah [\ConMas\gateway], gunakan perintah berikut untuk berpindah folder.

>cd \ConMas\gateway

Setelah itu, jalankan perintah berikut:

>node index.js


Kasus Bisnis


Contoh ini menunjukkan pelaksanaan pekerjaan inspeksi menggunakan ConMas Gateway untuk mengambil data dari lembar cek Excel dan menampilkannya di iReporter iPad.

Inspeksi produk adalah proses memeriksa barang untuk memastikan kesesuaiannya berdasarkan spesifikasi dan persyaratan. Proses inspeksi produk terutama fokus pada pemeriksaan tampilan, konstruksi, dan fungsi dasar produk.

Salah satu sasaran adalah data pengukuran Nikon MM-400 yang digunakan sebagai referensi untuk proses inspeksi dan saat ini belum terintegrasi dengan iReporter. Integrasi data pengukuran Nikon MM-400 dengan iReporter akan memberikan keuntungan dalam hal akurasi dan kecepatan sehingga meningkatkan kinerja secara keseluruhan.

Detail dari diagram di atas adalah sebagai berikut:

  1. Nikon MM-400 PC

    a. Bagian diukur menggunakan Nikon MM-400.

    b. File Excel akan dihasilkan oleh Nikon MM-400 yang terletak di PC perangkat dan folder bersama yang terletak di server ConMas Gateway.

  2. Server ConMas Gateway

    a. Server ConMas Gateway berjalan di port 3000 untuk menyediakan layanan web.

    b. Layanan web menggunakan Python untuk membaca lembar cek Excel.

    c. Skrip Python akan membaca lembar cek Excel yang dihasilkan oleh Nikon MM-400.

    d. Skrip Python dipetakan ke setiap template lembar cek Excel.

    e. Hasilnya akan ditampilkan di iReporter iPad.

  3. iReporter iPad

    a. Membuat dokumen baru berdasarkan template yang tersedia setelah MM-400 mengukur bagian tersebut.

    b. Ketika dokumen dibuka, iReporter iPad akan mengakses layanan web di ConMas Gateway untuk memuat data dari lembar cek Excel.


Pengaturan ConMas Gateway


Terdapat subfolder dan file berikut di folder tempat Anda menginstal ConMas Gateway. Struktur file konfigurasi dijelaskan di bawah ini.


Python Code


import sys
import os
import traceback
import logging
import json
import pandas as pd
import numpy as np
from pandas import ExcelFile, Series, DataFrame


logging.basicConfig(filename="./logs/python.log", level=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s")
source_filepath = "C:/ConMas/gateway/ex/Sample2.xlsx"
source_sheetname = "MASTER ASLI"

mappings = {}

def main(args):
  # parse file
  dataFrame = ExcelFile(source_filepath).parse(
    sheet_name = source_sheetname,
    index_col=None,
    header=None
  )
 
  mappings = [
    { 
      "item": "", 
      "sheet": 1, 
      "cluster": 6 ,
      "type": "string",
      "value": str(dataFrame.iloc[12,7])
     },
     { 
      "item": "", 
      "sheet": 1, 
      "cluster": 7 ,
      "type": "string",
      "value": str(dataFrame.iloc[12,8])
     },
     { 
      "item": "", 
      "sheet": 1, 
      "cluster": 8 ,
      "type": "string",
      "value": str(dataFrame.iloc[12,9])
     },
     { 
      "item": "", 
      "sheet": 1, 
      "cluster": 9 ,
      "type": "string",
      "value": str(dataFrame.iloc[12,10])
     },
     #ROW 2
     { 
      "item": "", 
      "sheet": 1, 
      "cluster": 10 ,
      "type": "string",
      "value": str(dataFrame.iloc[13,7])
     },
     { 
      "item": "", 
      "sheet": 1, 
      "cluster": 11 ,
      "type": "string",
      "value": str(dataFrame.iloc[13,8])
     },
     { 
      "item": "", 
      "sheet": 1, 
      "cluster": 12 ,
      "type": "string",
      "value": str(dataFrame.iloc[13,9]
     },
     { 
      "item": "", 
      "sheet": 1, 
      "cluster": 13 ,
      "type": "string",
      "value": str(dataFrame.iloc[13,10])
     },
     
    ]
 
 
  logging.debug(json.dumps(mappings))
  
  return mappings
  
try:
  result_arr = []
  if sys.stdin.isatty():
    mappings = {"error": "", "mappings": main(())}
  else:
    payload = json.loads(sys.stdin.readline())
    logging.debug(payload['data'])
    mappings = {"error": "", "mappings": main(payload['data'])}
except Exception as e:
  logging.error(traceback.format_exc())
  mappings = {"error": str(e), "mappings": ""}
  logging.debug(json.dumps(mappings, indent=2, ensure_ascii=False))
finally:
  print(json.dumps(mappings, ensure_ascii=False))
  #os.remove(source_filepath)

Mempersiapkan Definisi Contoh


Baca definisi contoh .xml di Designer dan persiapkan untuk digunakan, kemudian mulai Designer.



Pengaturan Klaster Aksi


Klik dua kali tombol dalam dokumen contoh, dan isi properti di bawah ini.


Hasil


Buat dokumen baru berdasarkan template yang tersedia setelah MM-400 mengukur bagian tersebut. Ketika dokumen dibuka, iReporter iPad akan mengakses layanan web di ConMas Gateway untuk memuat data dari lembar cek Excel.



2 tampilan0 komentar

Postingan Terkait

Lihat Semua

Comments


bottom of page