Finalize value on all-report

This commit is contained in:
2026-08-05 15:33:24 +07:00
parent 2b09537122
commit e8b00b10d2
11 changed files with 479 additions and 230 deletions
+60 -30
View File
@@ -51,8 +51,6 @@ function printPDF(data) {
let vehicleCashMasalahJml = 0,
vehicleCashMasalahNilai = 0;
let vehicleCashTotal = 0;
// init print nontunai
let vehicleCashlessCasualJml = 0,
vehicleCashlessCasualNilai = 0;
@@ -67,6 +65,10 @@ function printPDF(data) {
let vehicleCashlessMasalahJml = 0,
vehicleCashlessMasalahNilai = 0;
let vehicleInCashSubTotal = 0;
let vehicleOutCashSubTotal = 0;
let vehicleOutCashlessSubTotal = 0;
let vehicleCashlessTotal = 0;
let grandTotal = 0;
@@ -83,6 +85,7 @@ function printPDF(data) {
totalCashless: 0,
};
// debugger;
const casualIn = cash.masuk.casual;
const tCasual = cash.keluar.casual;
const tLost = cash.keluar.lost;
@@ -91,8 +94,6 @@ function printPDF(data) {
const tManualMix = cash.keluar.manualmix ?? { jumlah: 0, income: 0 };
const tMasalah = cash.keluar.masalah ?? { jumlah: 0, income: 0 };
const vehicleCashTotal = cash.totalCash || 0;
const nCasual = cashless.keluar.casual;
const nLost = cashless.keluar.lost;
const nMember = cashless.keluar.member;
@@ -101,11 +102,15 @@ function printPDF(data) {
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
const vehicleCashlessTotal = cashless.totalCashless || 0;
vehicleInCashSubTotal += casualIn.jumlah || 0;
vehicleOutCashSubTotal += cash.tunaiOut || 0;
vehicleOutCashlessSubTotal += nCasual.jumlah || 0;
// baris TUNAI
vehicleBody.push([
{ content: cash.jenis_mobil, rowSpan: 2, styles: { valign: "middle" } },
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
cash.total,
casualIn.jumlah,
cash.tunaiOut,
tCasual.jumlah,
rupiah(tCasual.income),
@@ -126,7 +131,8 @@ function printPDF(data) {
vehicleBody.push([
{ content: "Non Tunai", styles: { fillColor: [255, 193, 7], textColor: 0, fontStyle: "bold" } },
cash.total,
// cash.total,
casualIn.jumlah,
cashless.nonTunaiOut,
nCasual.jumlah,
@@ -203,8 +209,8 @@ function printPDF(data) {
vehicleBody.push([
{ content: "SUB TOTAL\nKENDARAAN", rowSpan: 2, styles: { fontStyle: "bold" } },
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
"",
"",
{ content: vehicleInCashSubTotal, styles: { textColor: [40, 167, 69], fontStyle: "bold" } },
{ content: vehicleOutCashSubTotal, styles: { textColor: [40, 167, 69], fontStyle: "bold" } },
vehicleCashCasualJml,
rupiah(vehicleCashCasualNilai),
vehicleCashLostJml,
@@ -221,9 +227,9 @@ function printPDF(data) {
]);
vehicleBody.push([
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
"",
"",
{ content: vehicleCashlessCasualJml, styles: { fontStyle: "bold" } },
{ content: vehicleInCashSubTotal, styles: { textColor: [255, 193, 7], fontStyle: "bold" } },
{ content: vehicleOutCashlessSubTotal, styles: { textColor: [255, 193, 7], fontStyle: "bold" } },
vehicleCashlessCasualJml,
rupiah(vehicleCashlessCasualNilai),
vehicleCashlessLostJml,
rupiah(vehicleCashlessLostNilai),
@@ -238,7 +244,9 @@ function printPDF(data) {
rupiah(subTotalCashless),
]);
vehicleBody.push([
{ content: "GRAND TOTAL\nKENDARAAN", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
{ content: "GRAND TOTAL\nKENDARAAN", colSpan: 2, styles: { fontStyle: "bold", halign: "center" } },
{ content: vehicleInCashSubTotal + vehicleInCashSubTotal, styles: { fontStyle: "bold" } },
{ content: vehicleOutCashSubTotal + vehicleOutCashlessSubTotal, styles: { fontStyle: "bold" } },
{ content: vehicleCashCasualJml + vehicleCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
rupiah(vehicleCashCasualNilai + vehicleCashlessCasualNilai), //Income Casual
{ content: vehicleCashLostJml + vehicleCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost
@@ -338,6 +346,11 @@ function printPDF(data) {
officerCashlessManualMixNilai = 0;
let officerCashlessMasalahJml = 0,
officerCashlessMasalahNilai = 0;
let officerInCashSubTotal = 0;
let officerOutCashSubTotal = 0;
let officerOutCashlessSubTotal = 0;
let pgrandTotal = 0;
data.officer.tunai.forEach(function (cash) {
@@ -352,6 +365,7 @@ function printPDF(data) {
totalCashless: 0,
};
// debugger;
const casualIn = cash.masuk.casual;
const tCasual = cash.keluar.casual;
const tLost = cash.keluar.lost;
@@ -369,6 +383,10 @@ function printPDF(data) {
const nManualMix = cashless.keluar.manualmix ?? { jumlah: 0, income: 0 };
const totalNonTunai = cashless.totalCashless || 0;
officerInCashSubTotal += casualIn.jumlah || 0;
officerOutCashSubTotal += cash.tunaiOut || 0;
officerOutCashlessSubTotal += nCasual.jumlah || 0;
// baris TUNAI
officerBody.push([
{
@@ -377,7 +395,7 @@ function printPDF(data) {
styles: { valign: "middle" },
},
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
cash.total,
0,
cash.tunaiOut,
tCasual.jumlah,
rupiah(tCasual.income),
@@ -398,7 +416,7 @@ function printPDF(data) {
officerBody.push([
{ content: "Non Tunai", styles: { fillColor: [255, 193, 7], textColor: 0, fontStyle: "bold" } },
cash.total,
0,
cashless.nonTunaiOut,
nCasual.jumlah,
@@ -474,9 +492,9 @@ function printPDF(data) {
officerBody.push([
{ content: "SUB TOTAL\NPer Petugas", rowSpan: 2, styles: { fontStyle: "bold" } },
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
"",
"",
{ content: officerCashCasualJml, styles: { fontStyle: "bold" } },
{ content: officerInCashSubTotal, styles: { textColor: [40, 167, 69], fontStyle: "bold" } },
{ content: officerOutCashSubTotal, styles: { textColor: [40, 167, 69], fontStyle: "bold" } },
officerCashCasualJml,
rupiah(officerCashCasualNilai),
officerCashLostJml,
rupiah(officerCashLostNilai),
@@ -492,9 +510,9 @@ function printPDF(data) {
]);
officerBody.push([
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
"",
"",
{ content: officerCashlessCasualJml, styles: { fontStyle: "bold" } },
{ content: officerInCashSubTotal, styles: { textColor: [255, 193, 7], fontStyle: "bold" } },
{ content: officerOutCashlessSubTotal, styles: { textColor: [255, 193, 7], fontStyle: "bold" } },
officerCashlessCasualJml,
rupiah(officerCashlessCasualNilai),
officerCashlessLostJml,
rupiah(officerCashlessLostNilai),
@@ -509,7 +527,9 @@ function printPDF(data) {
rupiah(subTotalCashless),
]);
officerBody.push([
{ content: "GRAND TOTAL\nPETUGAS", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
{ content: "GRAND TOTAL\nPETUGAS", colSpan: 2, styles: { fontStyle: "bold", halign: "center" } },
{ content: officerInCashSubTotal + officerInCashSubTotal, styles: { fontStyle: "bold" } },
{ content: officerOutCashSubTotal + officerOutCashlessSubTotal, styles: { fontStyle: "bold" } },
{ content: officerCashCasualJml + officerCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
rupiah(officerCashCasualNilai + officerCashlessCasualNilai), //Income Casual
{ content: officerCashLostJml + officerCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost
@@ -614,6 +634,9 @@ function printPDF(data) {
let paymentCashlessMasalahJml = 0,
paymentCashlessMasalahNilai = 0;
let paymentInCashSubTotal = 0;
let paymentOutCashSubTotal = 0;
let paymentOutCashlessSubTotal = 0;
// let payTotalNonTunaiJml = 0,
// payTotalNonTunaiNilai = 0;
let payGrandTotal = 0;
@@ -632,6 +655,8 @@ function printPDF(data) {
// debugger;
let typePayment = paymentType(cash.typePayment);
const casualIn = cash.masuk.casual;
const tCasual = cash.keluar.casual;
const tLost = cash.keluar.lost;
const tMember = cash.keluar.member;
@@ -648,6 +673,9 @@ function printPDF(data) {
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
const totalNonTunai = cashless.totalCashless || 0;
paymentInCashSubTotal += casualIn.jumlah || 0;
paymentOutCashSubTotal += cash.tunaiOut || 0;
paymentOutCashlessSubTotal += nCasual.jumlah || 0;
// baris TUNAI
paymentBody.push([
{
@@ -656,7 +684,7 @@ function printPDF(data) {
styles: { valign: "middle" },
},
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
cash.total,
0,
cash.tunaiOut,
tCasual.jumlah,
rupiah(tCasual.income),
@@ -677,7 +705,7 @@ function printPDF(data) {
paymentBody.push([
{ content: "Non Tunai", styles: { fillColor: [255, 193, 7], textColor: 0, fontStyle: "bold" } },
cash.total,
0,
cashless.nonTunaiOut,
nCasual.jumlah,
@@ -755,9 +783,9 @@ function printPDF(data) {
paymentBody.push([
{ content: "SUB TOTAL\NPer Pembayaran", rowSpan: 2, styles: { fontStyle: "bold" } },
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
"",
"",
{ content: paymentCashCasualJml, styles: { fontStyle: "bold" } },
{ content: paymentInCashSubTotal, styles: { textColor: [40, 167, 69], fontStyle: "bold" } },
{ content: paymentOutCashSubTotal, styles: { textColor: [40, 167, 69], fontStyle: "bold" } },
paymentCashCasualJml,
rupiah(paymentCashCasualNilai),
paymentCashLostJml,
rupiah(paymentCashLostNilai),
@@ -773,9 +801,9 @@ function printPDF(data) {
]);
paymentBody.push([
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
"",
"",
{ content: paymentCashlessCasualJml, styles: { fontStyle: "bold" } },
{ content: paymentInCashSubTotal, styles: { textColor: [255, 193, 7], fontStyle: "bold" } },
{ content: paymentOutCashlessSubTotal, styles: { textColor: [255, 193, 7], fontStyle: "bold" } },
paymentCashlessCasualJml,
rupiah(paymentCashlessCasualNilai),
paymentCashlessLostJml,
rupiah(paymentCashlessLostNilai),
@@ -790,7 +818,9 @@ function printPDF(data) {
rupiah(subTotalCashless),
]);
paymentBody.push([
{ content: "GRAND TOTAL\nPEMBAYARAN", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
{ content: "GRAND TOTAL\nPEMBAYARAN", colSpan: 2, styles: { fontStyle: "bold", halign: "center" } },
{ content: paymentInCashSubTotal + paymentInCashSubTotal, styles: { fontStyle: "bold" } },
{ content: paymentOutCashSubTotal + paymentOutCashlessSubTotal, styles: { fontStyle: "bold" } },
{ content: paymentCashCasualJml + paymentCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
rupiah(paymentCashCasualNilai + paymentCashlessCasualNilai), //Income Casual
{ content: paymentCashLostJml + paymentCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost