Memakai simple-escp Di Griffon


Sebagai latihan, saya akan mulai dengan membuat proyek Griffon baru dengan memberikan perintah:

griffon create-app latihan

Untuk menambahkan library simple-jpa, saya membuka file griffon-app\conf\BuildConfig.groovy dan mengubah bagian griffon.project.dependency.resolution sehingga menjadi seperti yang terlihat berikut ini:

griffon.project.dependency.resolution = {
    // inherit Griffon' default dependencies
    inherits("global") {
    }
    log "warn" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose'
    repositories {
        griffonHome()
        mavenRepo "http://dl.bintray.com/jockihendry/maven"
    }
    dependencies {
        compile 'jockihendry:simple-escp:0.4'
    }
}

Binary simple-escp telah tersedia di Bintray sehingga dapat di-download oleh Griffon secara otomatis.

Agar lebih nyaman membuat kode program, saya akan menghasilkan proyek IntelliJ IDEA dengan memberikan perintah berikut ini:

griffon integrate-with --idea

Sekarang, saya bisa membuka proyek Griffon tersebut di IntelliJ IDEA. Saya kemudian menambahkan file template JSON di lokasi griffon-app\resources dengan nama template.json yang isinya seperti berikut ini:

{
     "pageFormat": {
         "pageLength": 10,
         "pageWidth": 50,
         "usePageLengthFromPrinter": false
     },
     "template": {
         "header": [ "  PT. XYZ                              HAL: %{PAGE_NO}" ],
         "detail": [
             " Nomor Faktur: ${nomorFaktur:20}",
             {
                "table": "listItemFaktur",
                "border": true,
                "columns": [
                    { "caption": "Nama Barang", "source": "namaBarang", "width": 25, "wrap": true },
                    { "caption": "Qty", "source": "qty::right", "width": 5 },
                    { "caption": "Harga", "source": "harga::right::number", "width": 15 }
                ]
             }
         ]
     }
 }

Berikutnya, saya mengubah file griffon-app\views\latihan\LatihanController.groovy sehingga menjadi seperti berikut ini:

package latihan

import simple.escp.Template
import simple.escp.json.JsonTemplate
import simple.escp.swing.PrintPreviewPane
import javax.swing.JFrame

class LatihanController {

    def model
    def view

    void mvcGroupInit(Map args) {
        def source = [nomorFaktur: 'FA-1234-556677-XX-BB-CC']
        source['listItemFaktur'] = [
            [namaBarang: 'Plantronics Backbeat Go 2 With Charging Case', qty: 1, harga: 13750000],
            [namaBarang: 'CORT Gitar Akustik AD810 - Natural Satin', qty: 1, harga: 14900000],
            [namaBarang: 'SAMSON Monitor Speaker System MediaOne 3A', qty: 1, harga: 14250000]
        ]
        Template template = new JsonTemplate(app.getResourceAsStream("template.json"))
        PrintPreviewPane previewPane = new PrintPreviewPane(template, source, null)
        JFrame startingFrame = app.windowManager.getStartingWindow()
        startingFrame.contentPane.removeAll()
        startingFrame.add(previewPane)
    }

}

Bila saya menjalankan proyek dengan memberikan perintah:

griffon run-app

Saya akan memperoleh hasil seperti pada gambar berikut ini:

Tampilan saat aplikasi dijalankan

Tampilan saat aplikasi dijalankan

Perihal Solid Snake
I'm nothing...

One Response to Memakai simple-escp Di Griffon

  1. Ping-balik: Menyimpan Template simple-escp Di Database | The Solid Snake

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: