Finalize all-report

This commit is contained in:
2026-08-04 15:51:35 +07:00
parent 73fff183d7
commit 9547bdca7c
21 changed files with 1246 additions and 819 deletions
View File
+375 -177
View File
@@ -37,10 +37,38 @@ function printPDF(data) {
// ===== SUSUN BODY TABEL =====
const vehicleBody = [];
let totalTunaiJml = 0,
totalTunaiNilai = 0;
let totalNonTunaiJml = 0,
totalNonTunaiNilai = 0;
// init print nontunai
let vehicleCashCasualJml = 0,
vehicleCashCasualNilai = 0;
let vehicleCashLostJml = 0,
vehicleCashLostNilai = 0;
let vehicleCashPassJml = 0,
vehicleCashPassNilai = 0;
let vehicleCashManualJml = 0,
vehicleCashManualNilai = 0;
let vehicleCashManualMixJml = 0,
vehicleCashManualMixNilai = 0;
let vehicleCashMasalahJml = 0,
vehicleCashMasalahNilai = 0;
let vehicleCashTotal = 0;
// init print nontunai
let vehicleCashlessCasualJml = 0,
vehicleCashlessCasualNilai = 0;
let vehicleCashlessLostJml = 0,
vehicleCashlessLostNilai = 0;
let vehicleCashlessPassJml = 0,
vehicleCashlessPassNilai = 0;
let vehicleCashlessManualJml = 0,
vehicleCashlessManualNilai = 0;
let vehicleCashlessManualMixJml = 0,
vehicleCashlessManualMixNilai = 0;
let vehicleCashlessMasalahJml = 0,
vehicleCashlessMasalahNilai = 0;
let vehicleCashlessTotal = 0;
let grandTotal = 0;
data.vehicle.tunai.forEach(function (cash) {
@@ -60,15 +88,18 @@ function printPDF(data) {
const tLost = cash.keluar.lost;
const tMember = cash.keluar.member;
const tManual = cash.keluar.manual;
const tManualMix = cash.keluar.manualmix ?? { jumlah: 0, income: 0 };
const tMasalah = cash.keluar.masalah ?? { jumlah: 0, income: 0 };
const totalTunai = cash.totalCash || 0;
const vehicleCashTotal = cash.totalCash || 0;
const nCasual = cashless.keluar.casual;
const nLost = cashless.keluar.lost;
const nMember = cashless.keluar.member;
const nManual = cashless.keluar.manual;
const nManualMix = cashless.keluar.manualmix ?? { jumlah: 0, income: 0 };
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
const totalNonTunai = cashless.totalCashless || 0;
const vehicleCashlessTotal = cashless.totalCashless || 0;
// baris TUNAI
vehicleBody.push([
@@ -84,8 +115,8 @@ function printPDF(data) {
rupiah(tMember.income),
tManual.jumlah,
rupiah(tManual.income),
0,
0,
tManualMix.jumlah || 0,
rupiah(tManualMix.income),
tMasalah.jumlah,
rupiah(tMasalah.income),
{ content: rupiah(cash.totalCash), styles: { valign: "middle", fontStyle: "bold" } },
@@ -110,8 +141,8 @@ function printPDF(data) {
nManual.jumlah,
rupiah(nManual.income),
0,
0,
tManualMix.jumlah,
rupiah(tManualMix.income),
nMasalah.jumlah,
rupiah(nMasalah.income),
@@ -119,67 +150,107 @@ function printPDF(data) {
{ content: rupiah(cashless.totalCashless), styles: { valign: "middle", fontStyle: "bold" } },
]);
totalTunaiJml += tCasual.jumlah + tLost.jumlah + tMember.jumlah + tManual.jumlah + tMasalah.jumlah;
totalTunaiNilai += cash.totalCash || 0;
totalNonTunaiJml += nCasual.jumlah + nLost.jumlah + nMember.jumlah + nManual.jumlah + nMasalah.jumlah;
totalNonTunaiNilai += cashless.totalCashless || 0;
grandTotal += (cash.totalCash || 0) + (cashless.totalCashless || 0);
// init sum cash
vehicleCashCasualJml += tCasual.jumlah;
vehicleCashCasualNilai += tCasual.income || 0;
vehicleCashLostJml += tLost.jumlah;
vehicleCashLostNilai += tLost.income;
vehicleCashPassJml += tMember.jumlah;
vehicleCashPassNilai += tMember.income;
vehicleCashManualJml += tManual.jumlah;
vehicleCashManualNilai += tManual.income;
vehicleCashManualMixJml += tManualMix.jumlah;
vehicleCashManualMixNilai += tManualMix.income;
vehicleCashMasalahJml += tMasalah.jumlah;
vehicleCashMasalahNilai += tMasalah.income;
// totalTunaiNilai = "X";
// init sum cashless
vehicleCashlessCasualJml += nCasual.jumlah;
vehicleCashlessCasualNilai += nCasual.income || 0;
vehicleCashlessLostJml += nLost.jumlah;
vehicleCashlessLostNilai += nLost.income;
vehicleCashlessPassJml += nMember.jumlah;
vehicleCashlessPassNilai += nMember.income;
vehicleCashlessManualJml += nManual.jumlah;
vehicleCashlessManualNilai += nManual.income;
vehicleCashlessManualMixJml += nManualMix.jumlah;
vehicleCashlessManualMixNilai += nManualMix.income;
vehicleCashlessMasalahJml += nMasalah.jumlah;
vehicleCashlessMasalahNilai += nMasalah.income;
// init sum grandTotal
subTotalCash =
vehicleCashCasualNilai +
vehicleCashLostNilai +
vehicleCashPassNilai +
vehicleCashManualNilai +
vehicleCashlessManualMixNilai +
vehicleCashlessMasalahNilai;
subTotalCashless =
vehicleCashlessCasualNilai +
vehicleCashlessLostNilai +
vehicleCashlessPassNilai +
vehicleCashlessManualNilai +
vehicleCashlessManualMixNilai +
vehicleCashlessMasalahNilai;
grandTotal = (subTotalCash || 0) + (subTotalCashless || 0);
});
// baris TOTAL & GRAND TOTAL
vehicleBody.push([
{ content: "TOTAL", rowSpan: 2, styles: { fontStyle: "bold" } },
{ content: "SUB TOTAL\nKENDARAAN", rowSpan: 2, styles: { fontStyle: "bold" } },
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
"",
"",
{ content: totalTunaiJml, styles: { fontStyle: "bold" } },
rupiah(totalTunaiNilai),
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
rupiah(totalTunaiNilai),
vehicleCashCasualJml,
rupiah(vehicleCashCasualNilai),
vehicleCashLostJml,
rupiah(vehicleCashLostNilai),
vehicleCashPassJml,
rupiah(vehicleCashPassNilai),
vehicleCashManualJml,
rupiah(vehicleCashManualNilai),
vehicleCashManualMixJml,
rupiah(vehicleCashManualMixNilai),
vehicleCashMasalahJml,
rupiah(vehicleCashMasalahNilai),
rupiah(subTotalCash),
]);
vehicleBody.push([
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
"",
"",
{ content: totalNonTunaiJml, styles: { fontStyle: "bold" } },
rupiah(totalNonTunaiNilai),
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
rupiah(totalNonTunaiNilai),
{ content: vehicleCashlessCasualJml, styles: { fontStyle: "bold" } },
rupiah(vehicleCashlessCasualNilai),
vehicleCashlessLostJml,
rupiah(vehicleCashlessLostNilai),
vehicleCashlessPassJml,
rupiah(vehicleCashlessPassNilai),
vehicleCashlessManualJml,
rupiah(vehicleCashlessManualNilai),
vehicleCashlessManualMixJml,
rupiah(vehicleCashlessManualMixNilai),
vehicleCashlessMasalahJml,
rupiah(vehicleCashlessMasalahNilai),
rupiah(subTotalCashless),
]);
vehicleBody.push([
{ content: "GRAND TOTAL", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
{ content: totalTunaiJml + totalNonTunaiJml, styles: { fontStyle: "bold" } },
{ content: rupiah(totalTunaiNilai + totalNonTunaiNilai), styles: { fontStyle: "bold" } },
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
{ content: "GRAND TOTAL\nKENDARAAN", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
{ content: vehicleCashCasualJml + vehicleCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
rupiah(vehicleCashCasualNilai + vehicleCashlessCasualNilai), //Income Casual
{ content: vehicleCashLostJml + vehicleCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost
rupiah(vehicleCashLostNilai + vehicleCashlessLostNilai), //Income Tiket Hilang
vehicleCashPassJml + vehicleCashlessPassJml, //Jumlah Member
rupiah(vehicleCashPassNilai + vehicleCashlessPassNilai), //Income Member
vehicleCashManualJml + vehicleCashlessManualJml, //Jumlah Tiket Manual
rupiah(vehicleCashManualNilai + vehicleCashlessManualNilai), //Income Tiket Manual
vehicleCashManualMixJml + vehicleCashlessManualMixJml,
rupiah(vehicleCashManualMixNilai + vehicleCashlessManualMixNilai),
vehicleCashMasalahJml + vehicleCashlessMasalahJml,
rupiah(vehicleCashMasalahNilai + vehicleCashlessMasalahNilai),
{ content: rupiah(grandTotal), styles: { fontStyle: "bold" } },
]);
@@ -232,28 +303,41 @@ function printPDF(data) {
(on.overNight || 0) + (on.onExpired || 0),
]);
// doc.setFont("helvetica", "bold");
// doc.setFontSize(8);
// doc.text("Kendaraan yang masih menginap (Over Night)", 14, doc.lastAutoTable.finalY + 10);
// doc.autoTable({
// head: [["Jenis Kend", "Menginap", "ON (Expired)", "Total"]],
// body: onBody,
// startY: doc.lastAutoTable.finalY + 13,
// theme: "grid",
// styles: { fontSize: 7, cellPadding: 1 },
// headStyles: { fontSize: 8, fillColor: [230, 230, 230], textColor: 0 },
// tableWidth: 100,
// });
//==================================================================
//===================== Print table officer ========================
//==================================================================
const officerStartY = doc.lastAutoTable.finalY + 15;
const officerBody = [];
let ptotalTunaiJml = 0,
ptotalTunaiNilai = 0;
// init print nont tunai
let officerCashCasualJml = 0,
officerCashCasualNilai = 0;
let officerCashLostJml = 0,
officerCashLostNilai = 0;
let officerCashPassJml = 0,
officerCashPassNilai = 0;
let officerCashManualJml = 0,
officerCashManualNilai = 0;
let officerCashManualMixJml = 0,
officerCashManualMixNilai = 0;
let officerCashMasalahJml = 0,
officerCashMasalahNilai = 0;
// init print nont tunai
let ptotalNonTunaiJml = 0,
ptotalNonTunaiNilai = 0;
let officerCashlessCasualJml = 0,
officerCashlessCasualNilai = 0;
let officerCashlessLostJml = 0,
officerCashlessLostNilai = 0;
let officerCashlessPassJml = 0,
officerCashlessPassNilai = 0;
let officerCashlessManualJml = 0,
officerCashlessManualNilai = 0;
let officerCashlessManualMixJml = 0,
officerCashlessManualMixNilai = 0;
let officerCashlessMasalahJml = 0,
officerCashlessMasalahNilai = 0;
let pgrandTotal = 0;
data.officer.tunai.forEach(function (cash) {
@@ -274,13 +358,15 @@ function printPDF(data) {
const tMember = cash.keluar.member;
const tManual = cash.keluar.manual;
const tMasalah = cash.keluar.masalah ?? { jumlah: 0, income: 0 };
const tManualMix = cash.keluar.manualmix ?? { jumlah: 0, income: 0 };
const totalTunai = cash.totalCash || 0;
const oCasual = cashless.keluar.casual;
const nCasual = cashless.keluar.casual;
const nLost = cashless.keluar.lost;
const nMember = cashless.keluar.member;
const nManual = cashless.keluar.manual;
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
const nManualMix = cashless.keluar.manualmix ?? { jumlah: 0, income: 0 };
const totalNonTunai = cashless.totalCashless || 0;
// baris TUNAI
@@ -315,8 +401,8 @@ function printPDF(data) {
cash.total,
cashless.nonTunaiOut,
oCasual.jumlah,
rupiah(oCasual.income),
nCasual.jumlah,
rupiah(nCasual.income),
nLost.jumlah,
cash.totalCashless,
@@ -336,68 +422,107 @@ function printPDF(data) {
{ content: rupiah(cashless.totalCashless), styles: { valign: "middle", fontStyle: "bold" } },
]);
ptotalTunaiJml += tCasual.jumlah + tLost.jumlah + tMember.jumlah + tManual.jumlah + tMasalah.jumlah;
ptotalTunaiNilai += cash.totalCash || 0;
ptotalNonTunaiJml += oCasual.jumlah + nLost.jumlah + nMember.jumlah + nManual.jumlah + nMasalah.jumlah;
ptotalNonTunaiJml += nCasual.jumlah + nLost.jumlah + nMember.jumlah + nManual.jumlah + nMasalah.jumlah;
ptotalNonTunaiNilai += cashless.totalCashless || 0;
pgrandTotal += (cash.totalCash || 0) + (cashless.totalCashless || 0);
officerCashCasualJml += tCasual.jumlah;
officerCashCasualNilai += tCasual.income || 0;
officerCashLostJml += tLost.jumlah;
officerCashLostNilai += tLost.income;
officerCashPassJml += tMember.jumlah;
officerCashPassNilai += tMember.income;
officerCashManualJml += tManual.jumlah;
officerCashManualNilai += tManual.income;
officerCashManualMixJml += tManualMix.jumlah;
officerCashManualMixNilai += tManualMix.income;
officerCashMasalahJml += tMasalah.jumlah;
officerCashMasalahNilai += tMasalah.income;
// init sum cashless
officerCashlessCasualJml += nCasual.jumlah;
officerCashlessCasualNilai += nCasual.income || 0;
officerCashlessLostJml += nLost.jumlah;
officerCashlessLostNilai += nLost.income;
officerCashlessPassJml += nMember.jumlah;
officerCashlessPassNilai += nMember.income;
officerCashlessManualJml += nManual.jumlah;
officerCashlessManualNilai += nManual.income;
officerCashlessManualMixJml += nManualMix.jumlah;
officerCashlessManualMixNilai += nManualMix.income;
officerCashlessMasalahJml += nMasalah.jumlah;
officerCashlessMasalahNilai += nMasalah.income;
// sub total cash/ init sum grandTotal
subTotalCash =
officerCashCasualNilai +
officerCashLostNilai +
officerCashPassNilai +
officerCashManualNilai +
officerCashlessManualMixNilai +
officerCashlessMasalahNilai;
subTotalCashless =
officerCashlessCasualNilai +
officerCashlessLostNilai +
officerCashlessPassNilai +
officerCashlessManualNilai +
officerCashlessManualMixNilai +
officerCashlessMasalahNilai;
});
// baris TOTAL & GRAND TOTAL
officerBody.push([
{ content: "TOTAL", rowSpan: 2, styles: { fontStyle: "bold" } },
{ content: "SUB TOTAL\NPer Petugas", rowSpan: 2, styles: { fontStyle: "bold" } },
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
"",
"",
{ content: ptotalTunaiJml, styles: { fontStyle: "bold" } },
rupiah(ptotalTunaiNilai),
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
rupiah(ptotalTunaiNilai),
{ content: officerCashCasualJml, styles: { fontStyle: "bold" } },
rupiah(officerCashCasualNilai),
officerCashLostJml,
rupiah(officerCashLostNilai),
officerCashPassJml,
rupiah(officerCashPassNilai),
officerCashManualJml,
rupiah(officerCashManualNilai),
officerCashManualMixJml,
rupiah(officerCashManualMixNilai),
officerCashMasalahJml,
rupiah(officerCashMasalahNilai),
rupiah(subTotalCash),
]);
officerBody.push([
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
"",
"",
{ content: ptotalNonTunaiJml, styles: { fontStyle: "bold" } },
rupiah(ptotalNonTunaiNilai),
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
rupiah(ptotalNonTunaiNilai),
{ content: officerCashlessCasualJml, styles: { fontStyle: "bold" } },
rupiah(officerCashlessCasualNilai),
officerCashlessLostJml,
rupiah(officerCashlessLostNilai),
officerCashlessPassJml,
rupiah(officerCashlessPassNilai),
officerCashlessManualJml,
rupiah(officerCashlessManualNilai),
officerCashlessManualMixJml,
rupiah(officerCashlessManualMixNilai),
officerCashlessMasalahJml,
rupiah(officerCashlessMasalahNilai),
rupiah(subTotalCashless),
]);
officerBody.push([
{ content: "GRAND TOTAL", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
{ content: ptotalTunaiJml + ptotalNonTunaiJml, styles: { fontStyle: "bold" } },
{ content: rupiah(ptotalTunaiNilai + ptotalNonTunaiNilai), styles: { fontStyle: "bold" } },
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
// "",
// "",
{ content: rupiah(pgrandTotal), styles: { fontStyle: "bold" } },
{ content: "GRAND TOTAL\nPETUGAS", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
{ content: officerCashCasualJml + officerCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
rupiah(officerCashCasualNilai + officerCashlessCasualNilai), //Income Casual
{ content: officerCashLostJml + officerCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost
rupiah(officerCashLostNilai + officerCashlessLostNilai), //Income Tiket Hilang
officerCashPassJml + officerCashlessPassJml, //Jumlah Member
rupiah(officerCashPassNilai + officerCashlessPassNilai), //Income Member
officerCashManualJml + officerCashlessManualJml, //Jumlah Tiket Manual
rupiah(officerCashManualNilai + officerCashlessManualNilai), //Income Tiket Manual
officerCashManualMixJml + officerCashlessManualMixJml,
rupiah(officerCashManualMixNilai + officerCashlessManualMixNilai),
officerCashMasalahJml + officerCashlessMasalahJml,
rupiah(officerCashMasalahNilai + officerCashlessMasalahNilai),
{ content: rupiah(grandTotal), styles: { fontStyle: "bold" } },
]);
// ===== HEADER 2 BARIS (grouping) =====
@@ -438,7 +563,7 @@ function printPDF(data) {
doc.setFont("helvetica", "normal");
doc.setFontSize(9);
doc.text("Tanggal : " + (data.vehicle.date ?? "-"), pageWidth / 2, officerStartY - 2, { align: "center" });
doc.text("Tanggal : " + (data.officer.date ?? "-"), pageWidth / 2, officerStartY - 2, { align: "center" });
doc.text("By : " + (data.vehicle.reportTime ?? "-"), pageWidth - 14, officerStartY - 2, { align: "right" });
doc.autoTable({
@@ -457,10 +582,40 @@ function printPDF(data) {
//====================================
const paymentStartY = doc.lastAutoTable.finalY + 15;
const paymentBody = [];
let payTotalTunaiJml = 0,
payTotalTunaiNilai = 0;
let payTotalNonTunaiJml = 0,
payTotalNonTunaiNilai = 0;
// let payTotalTunaiJml = 0,
// payTotalTunaiNilai = 0;
// init print nont tunai
let paymentCashCasualJml = 0,
paymentCashCasualNilai = 0;
let paymentCashLostJml = 0,
paymentCashLostNilai = 0;
let paymentCashPassJml = 0,
paymentCashPassNilai = 0;
let paymentCashManualJml = 0,
paymentCashManualNilai = 0;
let paymentCashManualMixJml = 0,
paymentCashManualMixNilai = 0;
let paymentCashMasalahJml = 0,
paymentCashMasalahNilai = 0;
// init print nont tunai
// let ptotalNonTunaiJml = 0,
// ptotalNonTunaiNilai = 0;
let paymentCashlessCasualJml = 0,
paymentCashlessCasualNilai = 0;
let paymentCashlessLostJml = 0,
paymentCashlessLostNilai = 0;
let paymentCashlessPassJml = 0,
paymentCashlessPassNilai = 0;
let paymentCashlessManualJml = 0,
paymentCashlessManualNilai = 0;
let paymentCashlessManualMixJml = 0,
paymentCashlessManualMixNilai = 0;
let paymentCashlessMasalahJml = 0,
paymentCashlessMasalahNilai = 0;
// let payTotalNonTunaiJml = 0,
// payTotalNonTunaiNilai = 0;
let payGrandTotal = 0;
data.payment.tunai.forEach(function (cash) {
@@ -481,13 +636,15 @@ function printPDF(data) {
const tLost = cash.keluar.lost;
const tMember = cash.keluar.member;
const tManual = cash.keluar.manual;
const tManualMix = cash.keluar.manualmix ?? { jumlah: 0, income: 0 };
const tMasalah = cash.keluar.masalah ?? { jumlah: 0, income: 0 };
const totalTunai = cash.totalCash || 0;
const oCasual = cashless.keluar.casual;
const nCasual = cashless.keluar.casual;
const nLost = cashless.keluar.lost;
const nMember = cashless.keluar.member;
const nManual = cashless.keluar.manual;
const nManualMix = cashless.keluar.manualmix ?? { jumlah: 0, income: 0 };
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
const totalNonTunai = cashless.totalCashless || 0;
@@ -523,8 +680,8 @@ function printPDF(data) {
cash.total,
cashless.nonTunaiOut,
oCasual.jumlah,
rupiah(oCasual.income),
nCasual.jumlah,
rupiah(nCasual.income),
nLost.jumlah,
rupiah(nLost.income),
@@ -544,68 +701,109 @@ function printPDF(data) {
{ content: rupiah(cashless.totalCashless), styles: { valign: "middle", fontStyle: "bold" } },
]);
payTotalTunaiJml += tCasual.jumlah + tLost.jumlah + tMember.jumlah + tManual.jumlah + tMasalah.jumlah;
payTotalTunaiNilai += cash.totalCash || 0;
payTotalNonTunaiJml += oCasual.jumlah + nLost.jumlah + nMember.jumlah + nManual.jumlah + nMasalah.jumlah;
payTotalNonTunaiNilai += cashless.totalCashless || 0;
payGrandTotal += (cash.totalCash || 0) + (cashless.totalCashless || 0);
// payTotalTunaiJml += tCasual.jumlah + tLost.jumlah + tMember.jumlah + tManual.jumlah + tMasalah.jumlah;
// payTotalTunaiNilai += cash.totalCash || 0;
// payTotalNonTunaiJml += nCasual.jumlah + nLost.jumlah + nMember.jumlah + nManual.jumlah + nMasalah.jumlah;
// payTotalNonTunaiNilai += cashless.totalCashless || 0;
// payGrandTotal += (cash.totalCash || 0) + (cashless.totalCashless || 0);
paymentCashCasualJml += tCasual.jumlah;
paymentCashCasualNilai += tCasual.income || 0;
paymentCashLostJml += tLost.jumlah;
paymentCashLostNilai += tLost.income;
paymentCashPassJml += tMember.jumlah;
paymentCashPassNilai += tMember.income;
paymentCashManualJml += tManual.jumlah;
paymentCashManualNilai += tManual.income;
paymentCashManualMixJml += tManualMix.jumlah;
paymentCashManualMixNilai += tManualMix.income;
paymentCashMasalahJml += tMasalah.jumlah;
paymentCashMasalahNilai += tMasalah.income;
// init sum cashless
paymentCashlessCasualJml += nCasual.jumlah;
paymentCashlessCasualNilai += nCasual.income || 0;
paymentCashlessLostJml += nLost.jumlah;
paymentCashlessLostNilai += nLost.income;
paymentCashlessPassJml += nMember.jumlah;
paymentCashlessPassNilai += nMember.income;
paymentCashlessManualJml += nManual.jumlah;
paymentCashlessManualNilai += nManual.income;
paymentCashlessManualMixJml += nManualMix.jumlah;
paymentCashlessManualMixNilai += nManualMix.income;
paymentCashlessMasalahJml += nMasalah.jumlah;
paymentCashlessMasalahNilai += nMasalah.income;
// sub total cash/ init sum grandTotal
subTotalCash =
paymentCashCasualNilai +
paymentCashLostNilai +
paymentCashPassNilai +
paymentCashManualNilai +
paymentCashlessManualMixNilai +
paymentCashlessMasalahNilai;
subTotalCashless =
paymentCashlessCasualNilai +
paymentCashlessLostNilai +
paymentCashlessPassNilai +
paymentCashlessManualNilai +
paymentCashlessManualMixNilai +
paymentCashlessMasalahNilai;
});
// baris TOTAL & GRAND TOTAL
paymentBody.push([
{ content: "TOTAL", rowSpan: 2, styles: { fontStyle: "bold" } },
{ content: "SUB TOTAL\NPer Pembayaran", rowSpan: 2, styles: { fontStyle: "bold" } },
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
"",
"",
{ content: payTotalTunaiJml, styles: { fontStyle: "bold" } },
rupiah(payTotalTunaiNilai),
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
rupiah(ptotalTunaiNilai),
{ content: paymentCashCasualJml, styles: { fontStyle: "bold" } },
rupiah(paymentCashCasualNilai),
paymentCashLostJml,
rupiah(paymentCashLostNilai),
paymentCashPassJml,
rupiah(paymentCashPassNilai),
paymentCashManualJml,
rupiah(paymentCashManualNilai),
paymentCashManualMixJml,
rupiah(paymentCashManualMixNilai),
paymentCashMasalahJml,
rupiah(paymentCashMasalahNilai),
rupiah(subTotalCash),
]);
paymentBody.push([
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
"",
"",
{ content: payTotalNonTunaiJml, styles: { fontStyle: "bold" } },
rupiah(payTotalNonTunaiNilai),
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
rupiah(payTotalNonTunaiNilai),
{ content: paymentCashlessCasualJml, styles: { fontStyle: "bold" } },
rupiah(paymentCashlessCasualNilai),
paymentCashlessLostJml,
rupiah(paymentCashlessLostNilai),
paymentCashlessPassJml,
rupiah(paymentCashlessPassNilai),
paymentCashlessManualJml,
rupiah(paymentCashlessManualNilai),
paymentCashlessManualMixJml,
rupiah(paymentCashlessManualMixNilai),
paymentCashlessMasalahJml,
rupiah(paymentCashlessMasalahNilai),
rupiah(subTotalCashless),
]);
paymentBody.push([
{ content: "GRAND TOTAL", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
{ content: payTotalTunaiJml + payTotalNonTunaiJml, styles: { fontStyle: "bold" } },
{ content: rupiah(payTotalTunaiNilai + payTotalNonTunaiNilai), styles: { fontStyle: "bold" } },
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
// "",
// "",
{ content: rupiah(payGrandTotal), styles: { fontStyle: "bold" } },
{ content: "GRAND TOTAL\nPEMBAYARAN", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
{ content: paymentCashCasualJml + paymentCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
rupiah(paymentCashCasualNilai + paymentCashlessCasualNilai), //Income Casual
{ content: paymentCashLostJml + paymentCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost
rupiah(paymentCashLostNilai + paymentCashlessLostNilai), //Income Tiket Hilang
paymentCashPassJml + paymentCashlessPassJml, //Jumlah Member
rupiah(paymentCashPassNilai + paymentCashlessPassNilai), //Income Member
paymentCashManualJml + paymentCashlessManualJml, //Jumlah Tiket Manual
rupiah(paymentCashManualNilai + paymentCashlessManualNilai), //Income Tiket Manual
paymentCashManualMixJml + paymentCashlessManualMixJml,
rupiah(paymentCashManualMixNilai + paymentCashlessManualMixNilai),
paymentCashMasalahJml + paymentCashlessMasalahJml,
rupiah(paymentCashMasalahNilai + paymentCashlessMasalahNilai),
{ content: rupiah(grandTotal), styles: { fontStyle: "bold" } },
]);
// ===== HEADER 2 BARIS (grouping) =====
File diff suppressed because one or more lines are too long
+248 -140
View File
@@ -312,9 +312,31 @@ function tableVehicle(response) {
let jmlCashCasual = 0;
let incomeCashCasual = 0;
let jmlCashLost = 0;
let incomeCashLost = 0;
let jmlCashMember = 0;
let incomeCashMember = 0;
let jmlCashManual = 0;
let incomeCashManual = 0;
let jmlCashMasalah = 0;
let incomeCashMasalah = 0;
// Init data cashless
let jmlCashlessCasual = 0;
let incomeCashlessCasual = 0;
let jmlCashlessLost = 0;
let incomeCashlessLost = 0;
let jmlCashlessMember = 0;
let incomeCashlessMember = 0;
let jmlCashlessManual = 0;
let incomeCashlessManual = 0;
let grandTotal = 0;
response.tunai.forEach(function (cash) {
@@ -340,6 +362,8 @@ function tableVehicle(response) {
let tLost = cash.keluar.lost;
let tMember = cash.keluar.member;
let tManual = cash.keluar.manual;
let tManualMix = cash.keluar.manualMix;
let tMasalah = cash.keluar.masalah;
// ===== DATA NON TUNAI =====
let nonTunaiOut = cashless.nonTunaiOut;
@@ -348,65 +372,49 @@ function tableVehicle(response) {
let nLost = cashless.keluar.lost;
let nMember = cashless.keluar.member;
let nManual = cashless.keluar.manual;
let nManualMix = cashless.keluar.manualMix;
let nMasalah = cashless.keluar.masalah;
let totalTunai = cash.totalCash || 0;
let totalNonTunai = cashless.totalCashless || 0;
// init data cash
jmlCashCasual += cash.keluar.casual.jumlah;
incomeCashCasual += cash.keluar.casual.income;
jmlCashLost += tLost.jumlah;
incomeCashLost += tLost.income;
jmlCashMember += tMember.jumlah;
incomeCashMember += tMember.income;
jmlCashManual += tManual.jumlah;
incomeCashManual += tManual.income;
subTotalIncomeCash = incomeCashCasual + incomeCashLost + incomeCashMember + incomeCashManual;
// ========= init data cashless
jmlCashlessCasual += cashless.keluar.casual.jumlah;
incomeCashlessCasual += cashless.keluar.casual.income;
grandTotal += totalTunai + totalNonTunai;
// let casualCash = cash.keluar.casual;
// let lostCash = cash.keluar.lost;
// let memberCash = cash.keluar.member;
// let casualIn = cash.total;
jmlCashlessLost += nLost.jumlah;
incomeCashlessLost += nLost.income;
// let casualNon = cashless ? cashless.keluar.casual : { jumlah: 0, income: 0 };
// let lostNon = cashless ? cashless.keluar.lost : { jumlah: 0, income: 0 };
// let memberNon = cashless ? cashless.keluar.member : { jumlah: 0, income: 0 };
jmlCashlessMember += nMember.jumlah;
incomeCashlessMember += nMember.income;
// let totalIncome =
// (cash.totalCash || 0);
jmlCashlessManual += nManual.jumlah;
incomeCashlessManual += nManual.income;
// html += `
// <tr>
// <td style="text-align: left;">${cash.jenis_mobil}</td>
subTotalIncomeCashless =
incomeCashlessCasual + incomeCashlessLost + incomeCashlessMember + incomeCashlessManual;
// <!-- Jenis Transaksi -->
// <td>${casualIn}</td>
// <td>${cash.tunaiOut}</td>
//
grandTotal = subTotalIncomeCash + subTotalIncomeCashless;
// <!-- Casual -->
// <td>${casualCash.jumlah}</td>
// <td>${rupiah(casualCash.income)}</td>
// console.log(tLost.income);
// console.log(incomeCashLost);
// <!-- Tiket Hilang -->
// <td>${lostCash.jumlah}</td>
// <td>${rupiah(lostCash.income)}</td>
// <!-- Member -->
// <td>${memberCash.jumlah}</td>
// <td>${rupiah(memberCash.income)}</td>
// <!-- Manual Input -->
// <td>0</td>
// <td>0</td>
// <!-- Manual Mix -->
// <td>0</td>
// <td>0</td>
// <!-- Tiket Masalah -->
// <td>0</td>
// <td>0</td>
// <!-- Pendapatan -->
// <td><strong>${rupiah(totalIncome)}</strong></td>
// </tr>
// `;
html += `
<tr>
<td rowspan="2" style="text-align: left;"><strong>${cash.jenis_mobil}</strong></td>
@@ -468,13 +476,22 @@ function tableVehicle(response) {
// ===== FOOTER TOTAL =====
html += `
<tr class="table">
<td rowspan="2" style="text-align: center;"><strong>TOTAL</strong></td>
<td rowspan="2" style="text-align: center;"><strong>SUB TOTAL<br>KENDARAAN</strong></td>
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
<td>0</td>
<td>0</td>
<td data-value="${jmlCashCasual}">${rupiah(jmlCashCasual)}</td>
<td data-value="${jmlCashCasual}">${jmlCashCasual}</td>
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
<td colspan="10"></td>
<td data-value="${jmlCashLost}">${jmlCashLost}</td>
<td data-value="${incomeCashLost}">${rupiah(incomeCashLost)}</td>
<td data-value="${jmlCashMember}">${jmlCashMember}</td>
<td data-value="${incomeCashMember}">${rupiah(incomeCashMember)}</td>
<td data-value="${jmlCashManual}">${jmlCashManual}</td>
<td data-value="${incomeCashManual}">${rupiah(incomeCashManual)}</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
</tr>
<tr>
@@ -483,24 +500,33 @@ function tableVehicle(response) {
<td>0</td>
<td>${jmlCashlessCasual}</td>
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
<td colspan="10"></td>
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
<td data-value="${jmlCashlessLost}">${rupiah(jmlCashlessLost)}</td>
<td data-value="${incomeCashlessLost}">${rupiah(incomeCashlessLost)}</td>
<td data-value="${jmlCashlessMember}">${rupiah(jmlCashlessMember)}</td>
<td data-value="${incomeCashlessMember}">${rupiah(incomeCashlessMember)}</td>
<td data-value="${jmlCashlessManual}">${rupiah(jmlCashlessManual)}</td>
<td data-value="${incomeCashlessManual}">${rupiah(incomeCashlessManual)}</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td data-value="${subTotalIncomeCashless}">${rupiah(subTotalIncomeCashless)}</td>
</tr>
<tr class="table">
<td colspan="3" class="text-center"><strong>GRAND TOTAL</strong></td>
<td colspan="3" class="text-center"><strong>GRAND TOTAL<br>Pendapatan Per Kendaraan</strong></td>
<td colspan="0"></td>
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}">${rupiah(incomeCashCasual + incomeCashlessCasual)}</td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0" data-value="${jmlCashLost + jmlCashlessLost}">${rupiah(jmlCashLost + jmlCashlessLost)}</td>
<td colspan="0" data-value="${incomeCashLost + incomeCashlessLost}">${rupiah(incomeCashLost + incomeCashlessLost)}</td>
<td colspan="0" data-value="${jmlCashMember + incomeCashlessMember}">${rupiah(jmlCashMember + incomeCashlessMember)}</td>
<td colspan="0" data-value="${incomeCashMember + incomeCashlessMember}">${rupiah(incomeCashMember + incomeCashlessMember)}</td>
<td colspan="0" data-value="${jmlCashManual + jmlCashlessManual}">${rupiah(jmlCashManual + jmlCashlessManual)}</td>/td>
<td colspan="0" data-value="${incomeCashManual + incomeCashlessManual}">${rupiah(incomeCashManual + incomeCashlessManual)}</td>
<td colspan="0" data-value="0">0</td>/td>
<td colspan="0" data-value="0">0</td>
<td colspan="0" data-value="0">0</td>
<td colspan="0" data-value="0">0</td>
<td><strong>${rupiah(grandTotal)}</strong></td>
</tr>
`;
@@ -534,13 +560,32 @@ function tableOfficer(response) {
console.log(response);
let html = "";
let onData = "";
// init petugas data cash
let jmlCashCasual = 0;
let incomeCashCasual = 0;
let jmlCashLost = 0;
let incomeCashLost = 0;
let jmlCashMember = 0;
let incomeCashMember = 0;
let jmlCashManual = 0;
let incomeCashManual = 0;
// init petugas data cash
let jmlCashlessCasual = 0;
let incomeCashlessCasual = 0;
let jmlCashlessLost = 0;
let incomeCashlessLost = 0;
let jmlCashlessMember = 0;
let incomeCashlessMember = 0;
let jmlCashlessManual = 0;
let incomeCashlessManual = 0;
let grandTotal = 0;
response.tunai.forEach(function (cash) {
@@ -579,61 +624,40 @@ function tableOfficer(response) {
let totalTunai = cash.totalCash || 0;
let totalNonTunai = cashless.totalCashless || 0;
// get data cash
jmlCashCasual += cash.keluar.casual.jumlah;
incomeCashCasual += cash.keluar.casual.income;
jmlCashLost += cash.keluar.lost.jumlah;
incomeCashLost += tLost.income;
jmlCashMember += cash.keluar.member.jumlah;
incomeCashMember += cash.keluar.member.income;
jmlCashManual += cash.keluar.manual.jumlah;
incomeCashManual += cash.keluar.manual.income;
subTotalIncomeCash = incomeCashCasual + incomeCashLost + incomeCashMember + incomeCashManual;
// ========= init data cashless
jmlCashlessCasual += cashless.keluar.casual.jumlah;
incomeCashlessCasual += cashless.keluar.casual.income;
grandTotal += totalTunai + totalNonTunai;
// let casualCash = cash.keluar.casual;
// let lostCash = cash.keluar.lost;
// let memberCash = cash.keluar.member;
// let casualIn = cash.total;
jmlCashlessLost += nLost.jumlah;
incomeCashlessLost += nLost.income;
// let casualNon = cashless ? cashless.keluar.casual : { jumlah: 0, income: 0 };
// let lostNon = cashless ? cashless.keluar.lost : { jumlah: 0, income: 0 };
// let memberNon = cashless ? cashless.keluar.member : { jumlah: 0, income: 0 };
jmlCashlessMember += cashless.keluar.member.jumlah;
incomeCashlessMember += cashless.keluar.member.income;
// let totalIncome =
// (cash.totalCash || 0);
jmlCashlessManual += cashless.keluar.manual.jumlah;
incomeCashlessManual += cashless.keluar.manual.income;
// html += `
// <tr>
// <td style="text-align: left;">${cash.jenis_mobil}</td>
subTotalIncomeCashless =
incomeCashlessCasual + incomeCashlessLost + incomeCashlessMember + incomeCashlessManual;
// <!-- Jenis Transaksi -->
// <td>${casualIn}</td>
// <td>${cash.tunaiOut}</td>
// <!-- Casual -->
// <td>${casualCash.jumlah}</td>
// <td>${rupiah(casualCash.income)}</td>
// <!-- Tiket Hilang -->
// <td>${lostCash.jumlah}</td>
// <td>${rupiah(lostCash.income)}</td>
// <!-- Member -->
// <td>${memberCash.jumlah}</td>
// <td>${rupiah(memberCash.income)}</td>
// <!-- Manual Input -->
// <td>0</td>
// <td>0</td>
// <!-- Manual Mix -->
// <td>0</td>
// <td>0</td>
// <!-- Tiket Masalah -->
// <td>0</td>
// <td>0</td>
// <!-- Pendapatan -->
// <td><strong>${rupiah(totalIncome)}</strong></td>
// </tr>
// `;
//
grandTotal = subTotalIncomeCash + subTotalIncomeCashless;
//========= init table body by petugas
html += `
<tr>
<td rowspan="2" style="text-align: left;"><strong>${petugas}</strong></td>
@@ -655,10 +679,10 @@ function tableOfficer(response) {
<td data-value="${tManual.income}">${rupiah(tManual.income)}</td>
<td>0</td>
<td data-value="0}">0</td>
<td data-value="0">0</td>
<td>0</td>
<td data-value="0"></td>
<td data-value="0">0</td>
<td data-value="${totalTunai}"><strong>${rupiah(totalTunai)}</strong></td>
</tr>
@@ -695,13 +719,23 @@ function tableOfficer(response) {
// ===== FOOTER TOTAL =====
html += `
<tr class="table">
<td rowspan="2" style="text-align: center;"><strong>TOTAL</strong></td>
<td rowspan="2" style="text-align: center;"><strong>SUB TOTAL<br>Per Petugas</strong></td>
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
<td>0</td>
<td>0</td>
<td data-value="${jmlCashCasual}">${rupiah(jmlCashCasual)}</td>
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
<td colspan="11">${rupiah(incomeCashCasual)}</td>
<td data-value="${jmlCashLost}">${rupiah(jmlCashLost)}</td>
<td data-value="${incomeCashLost}">${incomeCashLost}</td>
<td data-value="${jmlCashMember}">${rupiah(jmlCashMember)}</td>
<td data-value="${incomeCashMember}">${rupiah(incomeCashMember)}</td>
<td data-value="${jmlCashManual}">${rupiah(jmlCashManual)}</td>
<td data-value="${incomeCashManual}">${rupiah(incomeCashManual)}</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
</tr>
<tr>
<td style="text-align: left;"><span class="badge bg-warning">NON TUNAI</td>
@@ -709,23 +743,33 @@ function tableOfficer(response) {
<td>0</td>
<td>${jmlCashlessCasual}</td>
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
<td colspan="11">${rupiah(incomeCashlessCasual)}</td>
<td data-value="${jmlCashlessLost}">${rupiah(jmlCashlessLost)}</td>
<td data-value="${incomeCashlessLost}">${rupiah(incomeCashlessLost)}</td>
<td data-value="${jmlCashlessMember}">${rupiah(jmlCashlessMember)}</td>
<td data-value="${incomeCashlessMember}">${rupiah(incomeCashlessMember)}</td>
<td data-value="${jmlCashlessManual}">${rupiah(jmlCashlessManual)}</td>
<td data-value="${incomeCashlessManual}">${rupiah(incomeCashlessManual)}</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td data-value="${subTotalIncomeCashless}">${rupiah(subTotalIncomeCashless)}</td>
</tr>
<tr class="table">
<td colspan="3" class="text-center"><strong>GRAND TOTAL</strong></td>
<td colspan="3" class="text-center"><strong>GRAND TOTAL<br>Pendapatan Per Petugas</strong></td>
<td colspan="0"></td>
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}">${rupiah(incomeCashCasual + incomeCashlessCasual)}</td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0" data-value="${jmlCashLost + jmlCashlessLost}">${rupiah(jmlCashLost + jmlCashlessLost)}</td>
<td colspan="0" data-value="${incomeCashLost + incomeCashlessLost}">${rupiah(incomeCashLost + incomeCashlessLost)}</td>
<td colspan="0" data-value="${jmlCashMember + incomeCashlessMember}">${rupiah(jmlCashMember + incomeCashlessMember)}</td>
<td colspan="0" data-value="${incomeCashMember + incomeCashlessMember}">${rupiah(incomeCashMember + incomeCashlessMember)}</td>
<td colspan="0" data-value="${jmlCashManual + jmlCashlessManual}">${rupiah(jmlCashManual + jmlCashlessManual)}</td>/td>
<td colspan="0" data-value="${incomeCashManual + incomeCashlessManual}">${rupiah(incomeCashManual + incomeCashlessManual)}</td>
<td colspan="0" data-value="0">0</td>/td>
<td colspan="0" data-value="0">0</td>
<td colspan="0" data-value="0">0</td>
<td colspan="0" data-value="0">0</td>
<td><strong>${rupiah(grandTotal)}</strong></td>
</tr>
`;
@@ -756,16 +800,35 @@ function tableOfficer(response) {
function tablePayment(response) {
// Update tabel dengan data yang diterima
console.log(response);
// console.log(response);
let html = "";
let onData = "";
// init data cash
let jmlCashCasual = 0;
let incomeCashCasual = 0;
let jmlCashLost = 0;
let incomeCashLost = 0;
let jmlCashMember = 0;
let incomeCashMember = 0;
let jmlCashManual = 0;
let incomeCashManual = 0;
// init data cashless
let jmlCashlessCasual = 0;
let incomeCashlessCasual = 0;
let jmlCashlessLost = 0;
let incomeCashlessLost = 0;
let jmlCashlessMember = 0;
let incomeCashlessMember = 0;
let jmlCashlessManual = 0;
let incomeCashlessManual = 0;
let grandTotal = 0;
response.tunai.forEach(function (cash) {
@@ -808,10 +871,35 @@ function tablePayment(response) {
jmlCashCasual += cash.keluar.casual.jumlah;
incomeCashCasual += cash.keluar.casual.income;
jmlCashLost += cash.keluar.lost.jumlah;
incomeCashLost += tLost.income;
jmlCashMember += cash.keluar.member.jumlah;
incomeCashMember += cash.keluar.member.income;
jmlCashManual += cash.keluar.manual.jumlah;
incomeCashManual += cash.keluar.manual.income;
subTotalIncomeCash = incomeCashCasual + incomeCashLost + incomeCashMember + incomeCashManual;
// ========= init data cashless
jmlCashlessCasual += cashless.keluar.casual.jumlah;
incomeCashlessCasual += cashless.keluar.casual.income;
grandTotal += totalTunai + totalNonTunai;
jmlCashlessLost += nLost.jumlah;
incomeCashlessLost += nLost.income;
jmlCashlessMember += cashless.keluar.member.jumlah;
incomeCashlessMember += cashless.keluar.member.income;
jmlCashlessManual += cashless.keluar.manual.jumlah;
incomeCashlessManual += cashless.keluar.manual.income;
subTotalIncomeCashless =
incomeCashlessCasual + incomeCashlessLost + incomeCashlessMember + incomeCashlessManual;
grandTotal = subTotalIncomeCash + subTotalIncomeCashless;
html += `
<tr>
<td rowspan="2" style="text-align: left;"><strong>${payment}</strong></td>
@@ -836,7 +924,7 @@ function tablePayment(response) {
<td data-value="0}">0</td>
<td>0</td>
<td data-value="0"></td>
<td data-value="0">0</td>
<td data-value="${totalTunai}"><strong>${rupiah(totalTunai)}</strong></td>
</tr>
@@ -873,13 +961,23 @@ function tablePayment(response) {
// ===== FOOTER TOTAL =====
html += `
<tr class="table">
<td rowspan="2" style="text-align: center;"><strong>TOTAL</strong></td>
<td rowspan="2" style="text-align: center;"><strong>SUB TOTAL<br>Per Jenis Pembayaran</strong></td>
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
<td>0</td>
<td>0</td>
<td data-value="${jmlCashCasual}">${rupiah(jmlCashCasual)}</td>
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
<td colspan="11">${rupiah(incomeCashCasual)}</td>
<td data-value="${jmlCashLost}">${rupiah(jmlCashLost)}</td>
<td data-value="${incomeCashLost}">${incomeCashLost}</td>
<td data-value="${jmlCashMember}">${rupiah(jmlCashMember)}</td>
<td data-value="${incomeCashMember}">${rupiah(incomeCashMember)}</td>
<td data-value="${jmlCashManual}">${rupiah(jmlCashManual)}</td>
<td data-value="${incomeCashManual}">${rupiah(incomeCashManual)}</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
</tr>
<tr>
<td style="text-align: left;"><span class="badge bg-warning">NON TUNAI</td>
@@ -887,23 +985,33 @@ function tablePayment(response) {
<td>0</td>
<td>${jmlCashlessCasual}</td>
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
<td colspan="11">${rupiah(incomeCashlessCasual)}</td>
<td data-value="${jmlCashlessLost}">${rupiah(jmlCashlessLost)}</td>
<td data-value="${incomeCashlessLost}">${rupiah(incomeCashlessLost)}</td>
<td data-value="${jmlCashlessMember}">${rupiah(jmlCashlessMember)}</td>
<td data-value="${incomeCashlessMember}">${rupiah(incomeCashlessMember)}</td>
<td data-value="${jmlCashlessManual}">${rupiah(jmlCashlessManual)}</td>
<td data-value="${incomeCashlessManual}">${rupiah(incomeCashlessManual)}</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td data-value="${subTotalIncomeCashless}">${rupiah(subTotalIncomeCashless)}</td>
</tr>
<tr class="table">
<td colspan="3" class="text-center"><strong>GRAND TOTAL</strong></td>
<td colspan="3" class="text-center"><strong>GRAND TOTAL<br>Pendapatan Per Pembayaran</strong></td>
<td colspan="0"></td>
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}"><strong>${rupiah(incomeCashCasual + incomeCashlessCasual)}</strong></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0"></td>
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}">${rupiah(incomeCashCasual + incomeCashlessCasual)}</td>
<td colspan="0" data-value="${jmlCashLost + jmlCashlessLost}">${rupiah(jmlCashLost + jmlCashlessLost)}</td>
<td colspan="0" data-value="${incomeCashLost + incomeCashlessLost}">${rupiah(incomeCashLost + incomeCashlessLost)}</td>
<td colspan="0" data-value="${jmlCashMember + incomeCashlessMember}">${rupiah(jmlCashMember + incomeCashlessMember)}</td>
<td colspan="0" data-value="${incomeCashMember + incomeCashlessMember}">${rupiah(incomeCashMember + incomeCashlessMember)}</td>
<td colspan="0" data-value="${jmlCashManual + jmlCashlessManual}">${rupiah(jmlCashManual + jmlCashlessManual)}</td>/td>
<td colspan="0" data-value="${incomeCashManual + incomeCashlessManual}">${rupiah(incomeCashManual + incomeCashlessManual)}</td>
<td colspan="0" data-value="0">0</td>/td>
<td colspan="0" data-value="0">0</td>
<td colspan="0" data-value="0">0</td>
<td colspan="0" data-value="0">0</td>
<td><strong>${rupiah(grandTotal)}</strong></td>
</tr>
`;
File diff suppressed because one or more lines are too long