You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1050 lines
36 KiB
TypeScript

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),
]);