import { mysqlTable, char, varchar, int, date, datetime, bigint, float, mysqlEnum, text, tinyint, decimal, double, index, primaryKey } from "drizzle-orm/mysql-core"; export const barang = mysqlTable("barang", { kode_barang: char({ length: 9 }), kode_lama: varchar({ length: 15 }).notNull(), nama_barang: varchar({ length: 50 }).notNull(), kode_toko: char({ length: 2 }).notNull(), kelompok: char({ length: 2 }), tahun: int(), bulan: int(), id_gabungan: char({ length: 13 }).notNull().primaryKey(), kode_strip: char({ length: 2 }), kode_supplier: char({ length: 6 }), ked_produk: char({ length: 1 }), kode_merk: char({ length: 4 }), }, (table) => [ index("kode_strip").on(table.kode_strip), index("kode_supplier").on(table.kode_supplier), index("ked_produk").on(table.ked_produk), index("kode_lama").on(table.kode_lama), index("kode_barang").on(table.kode_barang), index("kode_merk").on(table.kode_merk), ]); export const bayar = mysqlTable("bayar", { IDbayar: int().autoincrement().notNull().primaryKey(), // you can use { mode: 'date' }, if you want to have Date as type for this column periode_awal: date({ mode: 'string' }).notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column periode_akhir: date({ mode: 'string' }).notNull(), tgl_bayar: datetime({ mode: 'string'}).notNull(), jenis_bayar: varchar({ length: 10 }).notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_cair: date({ mode: 'string' }), no_giro: varchar({ length: 20 }), kd_supplier: varchar({ length: 6 }).notNull(), diskon: int(), penyesuaian: int(), materai: int(), total_bayar: int().notNull(), ket_bayar: varchar({ length: 255 }).notNull(), }); export const bayar_bon = mysqlTable("bayar_bon", { id: int().autoincrement().notNull().primaryKey(), no_bon: char({ length: 15 }), jumlah_bon: int().notNull(), bayar_bon: bigint({ mode: "number" }).notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_byr: date({ mode: 'string' }), kd_plg: char({ length: 11 }), kd_kasir: varchar({ length: 8 }), }, (table) => [ index("kd_plg").on(table.kd_plg), ]); export const department = mysqlTable("department", { id_department: char({ length: 2 }).notNull().primaryKey(), department: varchar({ length: 50 }).notNull(), }); export const diskon = mysqlTable("diskon", { id: int().autoincrement().notNull().primaryKey(), nama_diskon: varchar({ length: 50 }), nilai_diskon: float(), }); export const d_bon = mysqlTable("d_bon", { no_bon: char({ length: 15 }), kd_brg: char({ length: 19 }), jumlah: int().notNull(), nomor: char({ length: 3 }).notNull(), harga_pokok: varchar({ length: 30 }).notNull(), hrg_satuan: bigint({ mode: "number" }).notNull(), diskon: float(), kd_pram: varchar({ length: 8 }), status: char({ length: 1 }), bonus: float(), id: int().autoincrement().notNull().primaryKey(), }, (table) => [ index("no").on(table.no_bon), index("kd_brg").on(table.kd_brg), ]); export const d_nota_bawa = mysqlTable("d_nota_bawa", { id: bigint({ mode: "number" }).autoincrement().notNull().primaryKey(), no_nota: char({ length: 15 }), kd_barang: char({ length: 19 }), no_barang: char({ length: 4 }), jumlah: int().default(0), harga_satuan: bigint({ mode: "number" }), status_barang: mysqlEnum(['T','B','C']), kode_pram: varchar({ length: 8 }), }, (table) => [ index("no_nota").on(table.no_nota), index("kd_barang").on(table.kd_barang), index("no_brg").on(table.no_barang), ]); export const d_nota_retur = mysqlTable("d_nota_retur", { id: int().autoincrement().notNull().primaryKey(), no_nota: char({ length: 15 }), kd_barang: char({ length: 19 }), no_barang: char({ length: 4 }), jumlah: int().default(0), diskon: float(), harga_jual: bigint({ mode: "number" }), harga_pokok: varchar({ length: 30 }), kode_pram: varchar({ length: 8 }), no_nota_tunai: varchar({ length: 15 }).notNull(), bonus: float(), }, (table) => [ index("kd_barang").on(table.kd_barang), index("no_nota").on(table.no_nota), index("no_brg").on(table.no_barang), ]); export const d_nota_tunai = mysqlTable("d_nota_tunai", { id: int().autoincrement().notNull().primaryKey(), no_nota: char({ length: 13 }), kd_barang: char({ length: 19 }), no_barang: char({ length: 4 }).notNull(), jumlah: int().default(0).notNull(), jenis_diskon: varchar({ length: 50 }).notNull(), diskon: float(), harga_jual: bigint({ mode: "number" }).notNull(), harga_pokok: varchar({ length: 30 }), kode_pram: varchar({ length: 8 }), bonus: float(), }, (table) => [ index("kd_barang").on(table.kd_barang), index("no_nota").on(table.no_nota), index("no_brg").on(table.no_barang), ]); export const d_order = mysqlTable("d_order", { id: int().autoincrement().notNull().primaryKey(), no_order: char({ length: 10 }), kode_strip: char({ length: 2 }), artikel: varchar({ length: 100 }).notNull(), nomor: char({ length: 4 }).notNull(), jumlah: int().notNull(), harga_order: bigint({ mode: "number" }).notNull(), id_rencana: int().default(0), }, (table) => [ index("idr").on(table.id_rencana), index("no_order").on(table.no_order), index("kd_strip").on(table.kode_strip), ]); export const d_pembelian = mysqlTable("d_pembelian", { id: int().autoincrement().notNull().primaryKey(), no_faktur: char({ length: 30 }), kode_barang: char({ length: 9 }), nomor: char({ length: 4 }), harga_satuan: bigint({ mode: "number" }).notNull(), harga_pokok: varchar({ length: 30 }).notNull(), diskon: float().notNull(), diskonrp: bigint({ mode: "number" }).notNull(), ppn: float().notNull(), profit: float().notNull(), kode_asli: varchar({ length: 25 }), jum_fisik: int().notNull(), lokasi: char({ length: 2 }).default("1A").notNull(), hj_final: bigint({ mode: "number" }).notNull(), nm_brg: varchar({ length: 100 }).notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column exp_date: date({ mode: 'string' }), }, (table) => [ index("no_faktur").on(table.no_faktur), index("kode_barang").on(table.kode_barang), index("nm").on(table.nm_brg), ]); export const d_rencana_beli = mysqlTable("d_rencana_beli", { id: int(), kode_supplier: char({ length: 6 }), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_rencana: date({ mode: 'string' }).notNull(), vol_rencana: int().notNull(), rupiah_rencana: bigint({ mode: "number" }).notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_revisi: date({ mode: 'string' }), vol_revisi: int(), rupiah_revisi: bigint({ mode: "number" }), idd: int().autoincrement().notNull().primaryKey(), artikel_rencana: varchar({ length: 100 }).notNull(), nomor_rencana: char({ length: 4 }).notNull(), artikel_revisi: varchar({ length: 100 }).notNull(), nomor_revisi: char({ length: 4 }).notNull(), keterangan: varchar({ length: 100 }).notNull(), status: varchar({ length: 10 }).default("ok").notNull(), }, (table) => [ index("id").on(table.id), ]); export const d_retur_beli = mysqlTable("d_retur_beli", { id: int().autoincrement().notNull().primaryKey(), id_retur: int(), kd_barang: char({ length: 19 }), jumlah: int().notNull(), harga_satuan: bigint({ mode: "number" }).notNull(), nomor_barang: char({ length: 4 }).notNull(), }, (table) => [ index("kd_barang").on(table.kd_barang), index("no_brg").on(table.nomor_barang), index("id").on(table.id_retur), ]); export const d_stock_opname = mysqlTable("d_stock_opname", { no_nota: varchar({ length: 15 }).default("").notNull(), kode_barang: varchar({ length: 13 }).default("").notNull(), nomor: varchar({ length: 4 }).default("").notNull(), jumlah_asli: int(), jumlah_stok_sebelum: int(), keterangan: varchar({ length: 100 }), }, (table) => [ primaryKey({ columns: [table.no_nota, table.kode_barang, table.nomor] }), index("kdbrg").on(table.kode_barang), ]); export const d_transfer = mysqlTable("d_transfer", { id_transfer: int(), kode_barang_nota: varchar({ length: 15 }).notNull(), jumlah: int().default(0).notNull(), harga_satuan: bigint({ mode: "number" }).notNull(), nomor: char({ length: 4 }).notNull(), kd_supplier: char({ length: 6 }), no_nota: varchar({ length: 20 }).notNull(), id: int().autoincrement().notNull().primaryKey(), }); export const d_transfer_kembali = mysqlTable("d_transfer_kembali", { id_transfer: int(), kode_barang_nota: varchar({ length: 15 }).notNull(), jumlah: int().default(0).notNull(), harga_satuan: bigint({ mode: "number" }).notNull(), nomor: char({ length: 4 }).notNull(), kd_supplier: char({ length: 6 }), no_nota: varchar({ length: 20 }).notNull(), id: int().autoincrement().notNull().primaryKey(), }); export const karyawan = mysqlTable("karyawan", { nik: varchar({ length: 8 }).notNull().primaryKey(), nama: varchar({ length: 100 }).notNull(), username: varchar({ length: 20 }).notNull(), password: varchar({ length: 100 }).notNull(), id_pekerjaan: varchar({ length: 50 }).notNull(), id_department: char({ length: 2 }).notNull(), last_login: datetime({ mode: 'string'}).notNull(), }); export const kas_keluar = mysqlTable("kas_keluar", { id: int().autoincrement().notNull().primaryKey(), tanggal: datetime({ mode: 'string'}).notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_transaksi: date({ mode: 'string' }).notNull(), pic: varchar({ length: 20 }), bank: varchar({ length: 8 }), project: varchar({ length: 100 }), detail_project: varchar({ length: 100 }), kodeakun: varchar({ length: 8 }), keterangan: varchar({ length: 200 }), nominal: int().notNull(), }, (table) => [ index("kodeakun").on(table.kodeakun), index("tanggal").on(table.tanggal), ]); export const kas_masuk = mysqlTable("kas_masuk", { id: int().autoincrement().notNull().primaryKey(), tanggal: datetime({ mode: 'string'}).notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_transaksi: date({ mode: 'string' }).notNull(), pic: varchar({ length: 20 }), bank: varchar({ length: 8 }), project: varchar({ length: 100 }), detail_project: varchar({ length: 100 }), kodeakun: varchar({ length: 8 }), keterangan: varchar({ length: 200 }), nominal: int().notNull(), }, (table) => [ index("kodeakun").on(table.kodeakun), index("tanggal").on(table.tanggal), ]); export const kedalaman_produk = mysqlTable("kedalaman_produk", { kode_ked_produk: char({ length: 1 }).notNull(), ked_produk: varchar({ length: 50 }).notNull(), kode_strip: char({ length: 2 }), id: int().autoincrement().notNull().primaryKey(), }, (table) => [ index("kode_strip").on(table.kode_strip), index("kd_kedproduk").on(table.kode_ked_produk), ]); export const komisi = mysqlTable("komisi", { id: int().autoincrement().notNull().primaryKey(), jumlah: int(), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_ambil: date({ mode: 'string' }), kd_plg: char({ length: 11 }), kd_kasir: char({ length: 8 }), }); export const lokasi = mysqlTable("lokasi", { kd_lokasi: char({ length: 5 }).notNull().primaryKey(), dusun: varchar({ length: 50 }), kelurahan: varchar({ length: 50 }), kecamatan: varchar({ length: 50 }), kabupaten: varchar({ length: 50 }), propinsi: varchar({ length: 50 }), }); export const lokasi_barang = mysqlTable("lokasi_barang", { kode_lokasi: char({ length: 2 }).notNull(), lokasi: varchar({ length: 20 }).notNull(), id: int().autoincrement().notNull().primaryKey(), }); export const merk = mysqlTable("merk", { kode_merk: char({ length: 4 }).notNull().primaryKey(), merk: varchar({ length: 50 }), id_merk: char({ length: 2 }).notNull(), kode_lama: char({ length: 3 }), }); export const m_bon = mysqlTable("m_bon", { no_bon: char({ length: 15 }).default("").notNull().primaryKey(), tgl_bon: datetime({ mode: 'string'}), kode_plg: char({ length: 11 }), diskon: int().default(0), status: char({ length: 1 }), kasir: varchar({ length: 30 }), jumlah_total: bigint({ mode: "number" }), status_bayar: mysqlEnum(['T','K']), bank: varchar({ length: 50 }), no_kartu: char({ length: 20 }), no_validasi_bank: varchar({ length: 20 }), }, (table) => [ index("kd_plg").on(table.kode_plg), index("tgl").on(table.tgl_bon), ]); export const m_nota_bawa = mysqlTable("m_nota_bawa", { no_nota: char({ length: 15 }).notNull().primaryKey(), nota_lama: varchar({ length: 6 }), tgl_nota: datetime({ mode: 'string'}), kd_customer: char({ length: 11 }), status: char({ length: 1 }), jumlah_total: bigint({ mode: "number" }), kasir: varchar({ length: 30 }), status_nota: mysqlEnum(['S','T']), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_kembali: date({ mode: 'string' }), }); export const m_nota_retur = mysqlTable("m_nota_retur", { no_nota: char({ length: 15 }).notNull().primaryKey(), tgl_nota: datetime({ mode: 'string'}), kd_customer: char({ length: 11 }), jumlah_total: bigint({ mode: "number" }), kasir: varchar({ length: 30 }), total_diskon: bigint({ mode: "number" }), keterangan: text(), status_nota: mysqlEnum(['T','K','D','B']).default("D"), }); export const m_nota_tunai = mysqlTable("m_nota_tunai", { no_nota: char({ length: 13 }).notNull().primaryKey(), nota_lama: varchar({ length: 6 }), tgl_nota: datetime({ mode: 'string'}), kd_customer: char({ length: 11 }), jumlah_total: bigint({ mode: "number" }), kasir: varchar({ length: 30 }).notNull(), total_uang: bigint({ mode: "number" }).notNull(), total_diskon: bigint({ mode: "number" }).notNull(), status_bayar: mysqlEnum(['T','K']), bank: varchar({ length: 50 }), no_kartu: char({ length: 20 }), no_validasi_bank: varchar({ length: 20 }), status_nota: mysqlEnum(['S','T']), no_nota_retur: char({ length: 15 }), jumlah_total_retur: bigint({ mode: "number" }), }, (table) => [ index("tgl_nota").on(table.tgl_nota), index("statusnota").on(table.status_nota), ]); export const m_order = mysqlTable("m_order", { no_order: char({ length: 10 }).notNull().primaryKey(), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_order: date({ mode: 'string' }).notNull(), kd_supplier: char({ length: 6 }), // you can use { mode: 'date' }, if you want to have Date as type for this column rencana_datang: date({ mode: 'string' }).notNull(), jenis_pembayaran: char({ length: 1 }), rp_order: bigint({ mode: "number" }), total_order: bigint({ mode: "number" }), status_order: char({ length: 1 }).notNull(), }); export const m_pembelian = mysqlTable("m_pembelian", { no_faktur: varchar({ length: 30 }).notNull().primaryKey(), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_nota: date({ mode: 'string' }).notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_masuk: date({ mode: 'string' }).notNull(), no_order: char({ length: 10 }), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_jatuh_tempo: date({ mode: 'string' }).notNull(), kd_supplier: char({ length: 6 }), status: char({ length: 1 }), diskon: float(), diskon_pembelian: bigint({ mode: "number" }), ppn: float(), nik: char({ length: 8 }).notNull(), rp_beli: bigint({ mode: "number" }).notNull(), total_beli: int().notNull(), validasi: char({ length: 1 }), keterangan: varchar({ length: 100 }), tgl_entry: datetime({ mode: 'string'}).notNull(), referensi: varchar({ length: 20 }), status_revisi: char({ length: 1 }).default("1").notNull(), status_bayar: varchar({ length: 1 }).default("0"), IDbayar: int(), }, (table) => [ index("kd_supp").on(table.kd_supplier), index("tgl_masuk").on(table.tgl_masuk), ]); export const m_rencana_beli = mysqlTable("m_rencana_beli", { id: int().autoincrement().notNull().primaryKey(), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_rencana_beli: date({ mode: 'string' }).notNull(), jml_rencana: int().notNull(), status_rencana: char({ length: 1 }), kode_strip: char({ length: 2 }), status_revisi: char({ length: 1 }), bulanR: char({ length: 2 }).notNull(), tahunR: char({ length: 2 }).notNull(), }); export const m_retur_beli = mysqlTable("m_retur_beli", { id_retur: int().autoincrement().notNull().primaryKey(), no_nota: char({ length: 20 }), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_retur: date({ mode: 'string' }), keterangan: varchar({ length: 100 }), total_retur: bigint({ mode: "number" }).notNull(), nik: char({ length: 8 }).notNull(), validasi: char({ length: 1 }).default("0").notNull(), alasan: varchar({ length: 255 }).notNull(), kd_supplier: char({ length: 6 }), jml_item: int(), status_bayar: varchar({ length: 1 }).default("0"), IDbayar: int(), }, (table) => [ index("tgl").on(table.tgl_retur), index("no_nota").on(table.no_nota), ]); export const m_stock_opname = mysqlTable("m_stock_opname", { id: int().autoincrement().notNull().primaryKey(), no_nota: varchar({ length: 15 }), // you can use { mode: 'date' }, if you want to have Date as type for this column tanggal: date({ mode: 'string' }), pelaku: varchar({ length: 100 }), keterangan: text(), konfirmasi: tinyint().notNull(), strip: varchar({ length: 3 }).notNull(), }); export const m_transfer = mysqlTable("m_transfer", { id_transfer: int().autoincrement().notNull().primaryKey(), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_transfer: date({ mode: 'string' }).notNull(), toko_asal: varchar({ length: 50 }).notNull(), toko_tujuan: varchar({ length: 50 }).notNull(), diskon: int().notNull(), validasi: char({ length: 1 }).default("0").notNull(), total_transfer: bigint({ mode: "number" }).notNull(), jml_item: int().notNull(), faktur_oper: char({ length: 20 }).notNull(), }); export const m_transfer_kembali = mysqlTable("m_transfer_kembali", { id_transfer: int().autoincrement().notNull().primaryKey(), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_transfer: date({ mode: 'string' }).notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_kembali: date({ mode: 'string' }).notNull(), toko_asal: varchar({ length: 50 }).notNull(), toko_tujuan: varchar({ length: 50 }).notNull(), diskon: int().notNull(), validasi: char({ length: 1 }).default("0").notNull(), total_transfer: bigint({ mode: "number" }).notNull(), jml_item: int().notNull(), faktur_oper: char({ length: 20 }).notNull(), }); export const nolpromo = mysqlTable("nolpromo", { id: int().autoincrement().notNull().primaryKey(), kode_barang: char({ length: 19 }).notNull(), nomor: char({ length: 4 }).notNull(), diskon: int().notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column awal_periode: date({ mode: 'string' }).notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column akhir_periode: date({ mode: 'string' }).notNull(), stokcatat: int().notNull(), }, (table) => [ index("kd_barang").on(table.kode_barang), index("nomor").on(table.nomor), ]); export const nomor_urut = mysqlTable("nomor_urut", { id: int().notNull().primaryKey(), urut: char({ length: 3 }).notNull(), }, (table) => [ index("urut").on(table.urut), ]); export const no_barang = mysqlTable("no_barang", { id: int().autoincrement().notNull().primaryKey(), id_gabungan: char({ length: 13 }).notNull(), nomor: char({ length: 4 }).notNull(), harga_pokok: varchar({ length: 30 }).notNull(), harga_jual: int().notNull(), harga_jual2: int().notNull(), isi_max2: int().notNull(), harga_jual3: int().notNull(), isi_max3: int().notNull(), satuan: varchar({ length: 15 }).notNull(), stok_min: int().notNull(), stok: int().default(0).notNull(), }, (table) => [ index("id_gabungan").on(table.id_gabungan), index("nomor").on(table.nomor), ]); export const pelanggan = mysqlTable("pelanggan", { kd_customer: char({ length: 11 }).notNull().primaryKey(), alias: char({ length: 11 }).notNull(), ktp: varchar({ length: 16 }).notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column member: date({ mode: 'string' }).notNull(), nama: varchar({ length: 100 }).notNull(), alamat: varchar({ length: 100 }).default("tidak tahu").notNull(), tempat_lahir: varchar({ length: 50 }), tgl_lahir: varchar({ length: 15 }), jns_kelamin: char({ length: 1 }), agama: char({ length: 1 }), kd_lokasi: char({ length: 5 }), wilayah: varchar({ length: 200 }), pekerjaan: char({ length: 2 }), status_nikah: char({ length: 1 }), telp: varchar({ length: 15 }), ponsel: varchar({ length: 15 }), email: varchar({ length: 30 }), status: char({ length: 1 }), upline: char({ length: 11 }), bts_bon: int().default(0), nilai_bon: int().default(0), bts_bon_istimewa: int().default(0), nilai_komisi: int().default(0), komisi_diambil: int().default(0), jenis_customer: char({ length: 1 }).default("Z"), kode_customer_lama: varchar({ length: 11 }), tgl_entry: varchar({ length: 15 }), poin: int().default(0), }, (table) => [ index("kdcust").on(table.kd_customer, table.kode_customer_lama), index("kd_cust").on(table.kd_customer), index("upline").on(table.upline), ]); export const penyesuaian = mysqlTable("penyesuaian", { id: int().autoincrement().notNull().primaryKey(), diskon: int(), pembulatan: int(), materai: int(), IDbayar: int(), }); export const rak = mysqlTable("rak", { idRak: bigint({ mode: "number" }).autoincrement().notNull().primaryKey(), namaRak: varchar({ length: 30 }), }); export const retur_bon_lama = mysqlTable("retur_bon_lama", { id: int().autoincrement().notNull().primaryKey(), no_nota: varchar({ length: 15 }).notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column tgl_retur: date({ mode: 'string' }).notNull(), kd_customer: varchar({ length: 11 }).notNull(), kd_barang: varchar({ length: 15 }).notNull(), nomor: varchar({ length: 3 }).notNull(), harga_pokok: varchar({ length: 30 }).notNull(), harga_jual: int().notNull(), keterangan: text().notNull(), no_nota_bon: varchar({ length: 15 }).notNull(), }); export const satuan_barang = mysqlTable("satuan_barang", { idSatuanBarang: int().autoincrement().notNull().primaryKey(), namaSatuanBarang: varchar({ length: 30 }), }); export const setup = mysqlTable("setup", { parameter: varchar({ length: 20 }).notNull().primaryKey(), nilai: varchar({ length: 250 }), }); export const setupPromo = mysqlTable("setupPromo", { id: int().autoincrement().notNull().primaryKey(), kode_barang: char({ length: 19 }).notNull(), nomor: char({ length: 4 }).notNull(), diskon: int().notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column awal_periode: date({ mode: 'string' }).notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column akhir_periode: date({ mode: 'string' }).notNull(), stokcatat: int().notNull(), }, (table) => [ index("kdbarang").on(table.kode_barang), index("nomor").on(table.nomor), ]); export const sisapromo = mysqlTable("sisapromo", { id: int().autoincrement().notNull().primaryKey(), kode_barang: char({ length: 19 }).notNull(), nomor: char({ length: 4 }).notNull(), diskon: int().notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column awal_periode: date({ mode: 'string' }).notNull(), // you can use { mode: 'date' }, if you want to have Date as type for this column akhir_periode: date({ mode: 'string' }).notNull(), stokcatat: int().notNull(), }, (table) => [ index("kd_barang").on(table.kode_barang), index("nomor").on(table.nomor), ]); export const strip = mysqlTable("strip", { kd_strip: char({ length: 2 }).notNull().primaryKey(), nama_strip: varchar({ length: 50 }).notNull(), murah1: int().notNull(), murah2: int().notNull(), sedang1: int().notNull(), sedang2: int().notNull(), mahal1: int().notNull(), mahal2: int().notNull(), benik_murah: int().notNull(), benik_sedang: int().notNull(), benik_mahal: int().notNull(), kel_brg: char({ length: 1 }), kel_jns: char({ length: 1 }).notNull(), persen_tiwul: float().default(0.025).notNull(), }); export const sub_kategori = mysqlTable("sub_kategori", { kode_sub: char({ length: 1 }).notNull().primaryKey(), keterangan: varchar({ length: 20 }).notNull(), }); export const supplier = mysqlTable("supplier", { kd_supplier: char({ length: 6 }).notNull().primaryKey(), nama_supplier: varchar({ length: 50 }).notNull(), alamat1: varchar({ length: 100 }).notNull(), alamat2: varchar({ length: 100 }), nama_rekening: varchar({ length: 50 }).notNull(), rekening1: varchar({ length: 30 }).notNull(), rekening2: varchar({ length: 30 }), bank1: varchar({ length: 30 }).notNull(), bank2: varchar({ length: 30 }), telp: varchar({ length: 50 }).notNull(), ponsel: varchar({ length: 15 }).notNull(), email: varchar({ length: 30 }).notNull(), fax: varchar({ length: 50 }).notNull(), jns_pembayaran: char({ length: 1 }).notNull(), lama_tempo: int().notNull(), }); export const supp_barang = mysqlTable("supp_barang", { id: int().autoincrement().notNull().primaryKey(), kd_supplier: char({ length: 6 }), kd_strip: char({ length: 2 }), ranking: int().notNull(), }, (table) => [ index("kd_supplier").on(table.kd_supplier), index("kd_strip").on(table.kd_strip), ]); export const tabelbenik = mysqlTable("tabelbenik", { kode_pram: varchar({ length: 8 }), jvbenik: decimal({ precision: 55, scale: 0 }), jrpbenik: double(), jbenik: double(), id: int().autoincrement().notNull().primaryKey(), }); export const tabelbonus = mysqlTable("tabelbonus", { nik: varchar({ length: 8 }).notNull(), nama: varchar({ length: 100 }).notNull(), lbrnota: decimal({ precision: 41, scale: 0 }), jvbenik: decimal({ precision: 55, scale: 0 }), jrpbenik: double(), jbenik: double(), jvthiwul: decimal({ precision: 55, scale: 0 }), jrpthiwul: double(), jthiwul: double(), id: int().autoincrement().notNull().primaryKey(), }); export const tabelthiwul = mysqlTable("tabelthiwul", { kode_pram: varchar({ length: 8 }), jvthiwul: decimal({ precision: 55, scale: 0 }), jrpthiwul: double(), jthiwul: double(), id: int().autoincrement().notNull().primaryKey(), }); export const tbl_lmbrnota = mysqlTable("tbl_lmbrnota", { kode_pram: varchar({ length: 8 }), lbrnota: decimal({ precision: 41, scale: 0 }), id: int().autoincrement().notNull().primaryKey(), }); export const tempAK7 = mysqlTable("tempAK7", { id: int().autoincrement().notNull().primaryKey(), // you can use { mode: 'date' }, if you want to have Date as type for this column tanggal: date({ mode: 'string' }).notNull(), stockawal: bigint({ mode: "number" }), pembelian: bigint({ mode: "number" }), revisi: bigint({ mode: "number" }), retur: bigint({ mode: "number" }), transfer: bigint({ mode: "number" }), transferkembali: bigint({ mode: "number" }), penjualan: bigint({ mode: "number" }), bawa: bigint({ mode: "number" }), kembalibawa: bigint({ mode: "number" }), stockopname: bigint({ mode: "number" }), stockminus: bigint({ mode: "number" }), stockakhir: bigint({ mode: "number" }), keterangan: varchar({ length: 100 }), }); export const tempAK7rinci = mysqlTable("tempAK7rinci", { id: int().autoincrement().notNull().primaryKey(), // you can use { mode: 'date' }, if you want to have Date as type for this column tanggal: date({ mode: 'string' }).notNull(), lini: char({ length: 2 }), stockawal: bigint({ mode: "number" }), pembelian: bigint({ mode: "number" }), revisi: bigint({ mode: "number" }), retur: bigint({ mode: "number" }), transfer: bigint({ mode: "number" }), transferkembali: bigint({ mode: "number" }), penjualan: bigint({ mode: "number" }), bawa: bigint({ mode: "number" }), kembalibawa: bigint({ mode: "number" }), stockopname: bigint({ mode: "number" }), stockminus: bigint({ mode: "number" }), stockakhir: bigint({ mode: "number" }), }); export const tempplg = mysqlTable("tempplg", { n1: varchar({ length: 11 }), n2: char({ length: 32 }), n3: int(), n4: int(), n5: int(), n6: int(), n7: int(), n8: int(), id: int().autoincrement().notNull().primaryKey(), }); export const tempstockopname = mysqlTable("tempstockopname", { kode_barang: varchar({ length: 13 }), nomor: varchar({ length: 4 }), id: int().autoincrement().notNull().primaryKey(), }); export const temp_d_nota_tunai = mysqlTable("temp_d_nota_tunai", { id: int().autoincrement().notNull().primaryKey(), no_nota: char({ length: 13 }), toko: char({ length: 2 }).notNull(), kd_barang: char({ length: 19 }), no_barang: char({ length: 4 }).notNull(), jumlah: int().default(1).notNull(), diskon: float(), harga_jual: bigint({ mode: "number" }).notNull(), harga_jual_fix: bigint({ mode: "number" }).notNull(), harga_pokok: varchar({ length: 30 }), }, (table) => [ index("kd_barang").on(table.kd_barang), index("no_nota").on(table.no_nota), index("no_brg").on(table.no_barang), ]); export const temp_nota_plg = mysqlTable("temp_nota_plg", { id: int().autoincrement().notNull().primaryKey(), kd_customer: char({ length: 11 }), no_nota: char({ length: 13 }), }, (table) => [ index("kd_customer").on(table.kd_customer), ]); export const temp_no_nota = mysqlTable("temp_no_nota", { username: varchar({ length: 30 }).default("").notNull().primaryKey(), tunai: char({ length: 13 }), retur: char({ length: 15 }), bawa: char({ length: 15 }), bon: char({ length: 15 }), }); export const temp_order = mysqlTable("temp_order", { no_order: char({ length: 10 }).notNull().primaryKey(), }); export const temp_sisaob = mysqlTable("temp_sisaob", { kode_barang: varchar({ length: 13 }), nomor: varchar({ length: 4 }), id: int().autoincrement().notNull().primaryKey(), }, (table) => [ index("kode_barang").on(table.kode_barang), ]); export const tlaporan1 = mysqlTable("tlaporan1", { kel_jns: char({ length: 1 }).notNull(), kode_strip1: char({ length: 2 }), kode_supplier1: char({ length: 6 }), nama_supplier1: varchar({ length: 50 }).notNull(), jml1: decimal({ precision: 32, scale: 0 }), rp1: decimal({ precision: 41, scale: 0 }), id: int().autoincrement().notNull().primaryKey(), }); export const tlaporan2 = mysqlTable("tlaporan2", { kel_jns: char({ length: 1 }).notNull(), kode_strip2: char({ length: 2 }), kode_supplier2: char({ length: 6 }), nama_supplier2: varchar({ length: 50 }).notNull(), jml2: decimal({ precision: 32, scale: 0 }), rp2: decimal({ precision: 41, scale: 0 }), id: int().autoincrement().notNull().primaryKey(), }); export const tlaporan3 = mysqlTable("tlaporan3", { kel_jns: char({ length: 1 }).notNull(), kode_strip3: varchar({ length: 2 }), kode_supplier3: char({ length: 6 }), nama_supplier3: varchar({ length: 50 }).notNull(), jml3: decimal({ precision: 32, scale: 0 }), rp3: decimal({ precision: 41, scale: 0 }), id: int().autoincrement().notNull().primaryKey(), }); export const tlaporan4 = mysqlTable("tlaporan4", { kel_jns: char({ length: 1 }).default("").notNull(), kd_strip: char({ length: 2 }).notNull(), kode_strip1: char({ length: 2 }), kode_supplier1: char({ length: 6 }), nama_supplier1: varchar({ length: 50 }), jml1: decimal({ precision: 32, scale: 0 }), rp1: decimal({ precision: 41, scale: 0 }), kode_strip2: char({ length: 2 }), kode_supplier2: char({ length: 6 }), nama_supplier2: varchar({ length: 50 }), jml2: decimal({ precision: 32, scale: 0 }), rp2: decimal({ precision: 41, scale: 0 }), id: int().autoincrement().notNull().primaryKey(), }); export const tlaporan5 = mysqlTable("tlaporan5", { kel_jns: char({ length: 1 }).default("").notNull(), kd_strip: char({ length: 2 }).notNull(), kode_strip1: char({ length: 2 }), kode_supplier1: char({ length: 6 }), nama_supplier1: varchar({ length: 50 }), jml1: decimal({ precision: 32, scale: 0 }), rp1: decimal({ precision: 41, scale: 0 }), kode_strip2: char({ length: 2 }), kode_supplier2: char({ length: 6 }), nama_supplier2: varchar({ length: 50 }), jml2: decimal({ precision: 32, scale: 0 }), rp2: decimal({ precision: 41, scale: 0 }), kode_strip3: varchar({ length: 2 }), kode_supplier3: char({ length: 6 }), nama_supplier3: varchar({ length: 50 }), jml3: decimal({ precision: 32, scale: 0 }), rp3: decimal({ precision: 41, scale: 0 }), id: int().autoincrement().notNull().primaryKey(), }); export const tmp_lapdetailjual = mysqlTable("tmp_lapdetailjual", { total_tunai: bigint({ mode: "number" }).notNull(), total_omset: bigint({ mode: "number" }).notNull(), andil: decimal({ precision: 10, scale: 2 }).notNull(), id: int().autoincrement().notNull().primaryKey(), }); export const tmp_lapjualperkat = mysqlTable("tmp_lapjualperkat", { kel_jns: char({ length: 1 }).notNull(), lini: varchar({ length: 2 }), vol: decimal({ precision: 55, scale: 0 }), HJbruto: decimal({ precision: 65, scale: 0 }), Disc: double(), totHJ: double(), totHP: double(), nettprofit: double(), id: int().autoincrement().notNull().primaryKey(), }); export const tro = mysqlTable("tro", { artikelRencana: varchar({ length: 100 }), ukurRencana: char({ length: 4 }), volRencana: int(), rupiahRencana: bigint({ mode: "number" }), artikelOrder: varchar({ length: 100 }), ukurOrder: char({ length: 4 }), volOrder: int(), rupiahOrder: bigint({ mode: "number" }), noOrder: char({ length: 10 }), id: int().autoincrement().notNull().primaryKey(), }, (table) => [ index("id4").on(table.noOrder, table.artikelOrder, table.ukurOrder), ]); export const vdetailretur = mysqlTable("vdetailretur", { id_retur: int(), kd_barang: char({ length: 19 }), jumlah: int().notNull(), harga_satuan: bigint({ mode: "number" }).notNull(), nomor_barang: char({ length: 4 }).notNull(), harga_jual: int().notNull(), id: int().autoincrement().notNull().primaryKey(), }, (table) => [ index("idx").on(table.id_retur, table.kd_barang), ]); export const vdetailtransfer = mysqlTable("vdetailtransfer", { id_transfer: int(), kode_barang_nota: varchar({ length: 15 }).notNull(), jumlah: int().default(0).notNull(), harga_satuan: bigint({ mode: "number" }).notNull(), nomor: char({ length: 4 }).notNull(), harga_jual: int().notNull(), id: int().autoincrement().notNull().primaryKey(), }, (table) => [ index("idx").on(table.id_transfer, table.kode_barang_nota), ]); export const vlap = mysqlTable("vlap", { kodeStripSkg: char({ length: 2 }), supplierSkg: varchar({ length: 50 }), merkSkg: varchar({ length: 50 }), kodeStripLalu: char({ length: 2 }), supplierLalu: varchar({ length: 50 }), merkLalu: varchar({ length: 50 }), unitTotalSkg: decimal({ precision: 55, scale: 0 }), unitTotalLalu: decimal({ precision: 55, scale: 0 }), rupiahTotalSkg: double(), rupiahTotalLalu: double(), HPSkg: double(), HPLalu: double(), id: int().autoincrement().notNull().primaryKey(), }); export const vlaporan = mysqlTable("vlaporan", { kd_supplier: char({ length: 6 }), nama_supplier: varchar({ length: 50 }).notNull(), kode_barang: char({ length: 9 }), nm_brg: varchar({ length: 100 }).notNull(), jmlbeli: decimal({ precision: 32, scale: 0 }), jmljual: decimal({ precision: 55, scale: 0 }), stokakh: decimal({ precision: 32, scale: 0 }), hj: int().notNull(), id: int().autoincrement().notNull().primaryKey(), }, (table) => [ index("brg_supp").on(table.kd_supplier, table.kode_barang), ]); export const vlaporan1 = mysqlTable("vlaporan1", { kd_supplier: char({ length: 6 }), nama_supplier: varchar({ length: 50 }).notNull(), kode_barang: char({ length: 9 }), nm_brg: varchar({ length: 100 }).notNull(), jmlbeli: decimal({ precision: 32, scale: 0 }), id: int().autoincrement().notNull().primaryKey(), }, (table) => [ index("brg_supp").on(table.kd_supplier, table.kode_barang), ]); export const vlaporan2 = mysqlTable("vlaporan2", { komposisi: varchar({ length: 7 }).default("").notNull(), kode_barang: char({ length: 9 }), stokakh: decimal({ precision: 32, scale: 0 }), hj: int().notNull(), id: int().autoincrement().notNull().primaryKey(), }, (table) => [ index("kdbrg").on(table.kode_barang), ]); export const vlaporan3 = mysqlTable("vlaporan3", { kd_barang: char({ length: 19 }), jmljual: decimal({ precision: 55, scale: 0 }), id: int().autoincrement().notNull().primaryKey(), }, (table) => [ index("kdbrg").on(table.kd_barang), ]);