Untitled
unknown
php
2 years ago
12 kB
8
Indexable
public function getKomisiSales(&$out_komisi1, &$out_komisi2, &$out_komisi3, &$out_komisi4)
{
//$out_komisi1 = 0; $out_komisi2 = 0; $out_komisi3 = 0; $out_komisi4 = 0;
$row_hd = $this->header[0];
$this->sales1 = (isset($row_hd["KodeSales"])) ? $row_hd["KodeSales"] : $row_hd["kodesales"];
$this->sales2 = (isset($row_hd["KodeSales2"]) ? $row_hd["KodeSales2"] : $row_hd["kodesales2"]);
$this->sales3 = (isset($row_hd["KodeSales3"]) ? $row_hd["KodeSales3"] : $row_hd["kodesales3"]);
$this->sales4 = (isset($row_hd["KodeSales4"]) ? $row_hd["KodeSales4"] : $row_hd["kodesales4"]);
$this->nilai_komisi1 = (isset($row_hd["Komisi1"]) ? $row_hd["Komisi1"] : $row_hd["komisi1"]);
$this->nilai_komisi2 = (isset($row_hd["Komisi2"]) ? $row_hd["Komisi2"] : $row_hd["komisi2"]);
$this->nilai_komisi3 = (isset($row_hd["Komisi3"]) ? $row_hd["Komisi3"] : $row_hd["komisi3"]);
$this->nilai_komisi4 = (isset($row_hd["Komisi4"]) ? $row_hd["Komisi4"] : $row_hd["komisi4"]);
$strSQL = "SELECT 1 as slid, tbl_supel.kode, tbl_supel.pilkomisi, tbl_supel.piljmlkomisi, tbl_supel.komisipr, tbl_supel.komisinom, tbl_supel.periode_hari1, tbl_supel.periode_hari2, tbl_supel.periode_hari3, tbl_supel.periode_hari4, tbl_supel.periode_persen1, tbl_supel.periode_persen2, tbl_supel.periode_persen3, tbl_supel.periode_persen4
FROM tbl_supel WHERE (tbl_supel.kode = :s1) AND (tbl_supel.tipe = 'SE')
UNION
SELECT 2 as slid, tbl_supel.kode, tbl_supel.pilkomisi, tbl_supel.piljmlkomisi, tbl_supel.komisipr, tbl_supel.komisinom, tbl_supel.periode_hari1, tbl_supel.periode_hari2, tbl_supel.periode_hari3, tbl_supel.periode_hari4, tbl_supel.periode_persen1, tbl_supel.periode_persen2, tbl_supel.periode_persen3, tbl_supel.periode_persen4
FROM tbl_supel WHERE (tbl_supel.kode = :s2) AND (tbl_supel.tipe = 'SE')
UNION
SELECT 3 as slid, tbl_supel.kode, tbl_supel.pilkomisi, tbl_supel.piljmlkomisi, tbl_supel.komisipr, tbl_supel.komisinom, tbl_supel.periode_hari1, tbl_supel.periode_hari2, tbl_supel.periode_hari3, tbl_supel.periode_hari4, tbl_supel.periode_persen1, tbl_supel.periode_persen2, tbl_supel.periode_persen3, tbl_supel.periode_persen4
FROM tbl_supel WHERE (tbl_supel.kode = :s3) AND (tbl_supel.tipe = 'SE')
UNION
SELECT 4 as slid, tbl_supel.kode, tbl_supel.pilkomisi, tbl_supel.piljmlkomisi, tbl_supel.komisipr, tbl_supel.komisinom, tbl_supel.periode_hari1, tbl_supel.periode_hari2, tbl_supel.periode_hari3, tbl_supel.periode_hari4, tbl_supel.periode_persen1, tbl_supel.periode_persen2, tbl_supel.periode_persen3, tbl_supel.periode_persen4
FROM tbl_supel WHERE (tbl_supel.kode = :s4) AND (tbl_supel.tipe = 'SE') ";
$data = new XData(AppConfig::$PAGE_CONN);
$data->SetSQL($strSQL);
$data->AddParameter(":s1", $this->sales1);
$data->AddParameter(":s2", $this->sales2);
$data->AddParameter(":s3", $this->sales3);
$data->AddParameter(":s4", $this->sales4);
$rows = null;
$_error = "";
$bRes = $data->ExceuteQuery($rows, $_error);
if (! $bRes)
{
return;
}
$this->opsi_komisi1 = 0;
$this->opsi_komisi2 = 0;
$this->opsi_komisi3 = 0;
$this->opsi_komisi4 = 0;
$this->opsi_nomproc_komisi1 = 0;
$this->opsi_nomproc_komisi2 = 0;
$this->opsi_nomproc_komisi3 = 0;
$this->opsi_nomproc_komisi4 = 0;
if ($rows != null)
{
// memastikan rows adalah array jika null
if ($rows == null || $rows == "") $rows = [];
foreach($rows as $row)
{
$id = $row["slid"];
$opsikomisi = $row["pilkomisi"];
$opsinomproc = $row["piljmlkomisi"];
$nilai_nom = $row["komisinom"];
$nilai_proc = $row["komisipr"];
if($opsinomproc == 3){
$opsinomproc = 1;
if($row_hd['JmlKredit'] == 0){
$nilai_proc = $row["periode_persen1"];
}else{
if($row_hd["krd_jml_byr"] == $row_hd["jmlkredit"] && isset($row_hd["tgl_lunas"])){
$diff = $this->hitung_selisih_hari($row_hd["tanggal"], $row_hd["tgl_lunas"]);
$nilai_proc = $row["periode_persen1"];
if($diff > $row["periode_hari1"]){
$nilai_proc = $row["periode_persen2"];
}elseif($diff > $row["periode_hari2"]){
$nilai_proc = $row["periode_persen3"];
}elseif($diff > $row["periode_hari3"]){
$nilai_proc = $row["periode_persen4"];
}else{
$nilai_proc = $row["periode_persen1"];
}
}
}
}
if ($id == 1)
{
$this->opsi_komisi1 = $opsikomisi;
$this->opsi_nomproc_komisi1 = $opsinomproc;
if ($this->opsi_nomproc_komisi1 == 1)
$this->komisi1 = $nilai_proc;
else if ($this->opsi_nomproc_komisi1 == 2)
$this->komisi1 = $nilai_nom;
}
else if ($id == 2)
{
$this->opsi_komisi2 = $opsikomisi;
$this->opsi_nomproc_komisi2 = $opsinomproc;
if ($this->opsi_nomproc_komisi2 == 1)
$this->komisi2 = $nilai_proc;
else if ($this->opsi_nomproc_komisi2 == 2)
$this->komisi2 = $nilai_nom;
}
else if ($id == 3)
{
$this->opsi_komisi3 = $opsikomisi;
$this->opsi_nomproc_komisi3 = $opsinomproc;
if ($this->opsi_nomproc_komisi3 == 1)
$this->komisi3 = $nilai_proc;
else if ($this->opsi_nomproc_komisi3 == 2)
$this->komisi3 = $nilai_nom;
}
else if ($id == 4)
{
$this->opsi_komisi4 = $opsikomisi;
$this->opsi_nomproc_komisi4 = $opsinomproc;
if ($this->opsi_nomproc_komisi4 == 1)
$this->komisi4 = $nilai_proc;
else if ($this->opsi_nomproc_komisi4 == 2)
$this->komisi4 = $nilai_nom;
}
}
}
// reset nilai komisi //
if ($this->opsi_komisi1 != 0)
$this->nilai_komisi1 = 0;
if ($this->opsi_komisi2 != 0)
$this->nilai_komisi2 = 0;
if ($this->opsi_komisi3 != 0)
$this->nilai_komisi3 = 0;
if ($this->opsi_komisi4 != 0)
$this->nilai_komisi4 = 0;
// Komisi Tipe 2 = Per Faktur
$totalAkhir = $row_hd["TotalAkhir"];
if ($this->opsi_komisi1 == 2)
{
if ($this->opsi_nomproc_komisi1 == 1)
$this->nilai_komisi1 = ($this->komisi1 / 100) * $totalAkhir;
else
$this->nilai_komisi1 = $this->komisi1;
}
if ($this->opsi_komisi2 == 2)
{
if ($this->opsi_nomproc_komisi2 == 1)
$this->nilai_komisi2 = ($this->komisi2 / 100) * $totalAkhir;
else
$this->nilai_komisi2 = $this->komisi2;
}
if ($this->opsi_komisi3 == 2)
{
if ($this->opsi_nomproc_komisi3 == 1)
$this->nilai_komisi3 = ($this->komisi3 / 100) * $totalAkhir;
else
$this->nilai_komisi3 = $this->komisi3;
}
if ($this->opsi_komisi4 == 2)
{
if ($this->opsi_nomproc_komisi4 == 1)
$this->nilai_komisi4 = ($this->komisi4 / 100) * $totalAkhir;
else
$this->nilai_komisi4 = $this->komisi4;
}
// Komisi Tipe 4 = Per Faktur Netto
$subTotal = $row_hd["SubTotal"];
$potNomFaktur = $row_hd["PotNomFaktur"];
$netto = $subTotal - $potNomFaktur;
if ($this->opsi_komisi1 == 4)
{
if ($this->opsi_nomproc_komisi1 == 1)
$this->nilai_komisi1 = ($this->komisi1 / 100) * ($netto);
else
$this->nilai_komisi1 = $this->komisi1;
}
if ($this->opsi_komisi2 == 4)
{
if ($this->opsi_nomproc_komisi2 == 1)
$this->nilai_komisi2 = ($this->komisi2 / 100) * $netto;
else
$this->nilai_komisi2 = $this->komisi2;
}
if ($this->opsi_komisi3 == 4)
{
if ($this->opsi_nomproc_komisi3 == 1)
$this->nilai_komisi3 = ($this->komisi3 / 100) * $netto;
else
$this->nilai_komisi3 = $this->komisi3;
}
if ($this->opsi_komisi4 == 4)
{
if ($this->opsi_nomproc_komisi4 == 1)
$this->nilai_komisi4 = ($this->komisi4 / 100) * $netto;
else
$this->nilai_komisi4 = $this->komisi4;
}
foreach($this->detail as $row)
{
$kodeitem = $row["KodeItem"];
$satuan = $row["Satuan"];
$jumlah = $row["Jumlah"];
$total = $row["Total"];
// Komisi Tipe 1 = Per Barang Harga Jual
if ($this->opsi_komisi1 == 1)
{
if ($this->opsi_nomproc_komisi1 == 1)
$this->nilai_komisi1 += ($this->komisi1 / 100) * $total;
else
$this->nilai_komisi1 += $this->komisi1 * $jumlah;
}
if ($this->opsi_komisi2 == 1)
{
if ($this->opsi_nomproc_komisi2 == 1)
$this->nilai_komisi2 += ($this->komisi2 / 100) * $total;
else
$this->nilai_komisi2 += $this->komisi2 * $jumlah;
}
if ($this->opsi_komisi3 == 1)
{
if ($this->opsi_nomproc_komisi3 == 1)
$this->nilai_komisi3 += ($this->komisi3 / 100) * $total;
else
$this->nilai_komisi3 += $this->komisi3 * $jumlah;
}
if ($this->opsi_komisi4 == 1)
{
if ($this->opsi_nomproc_komisi4 == 1)
$this->nilai_komisi4 += ($this->komisi4 / 100) * $total;
else
$this->nilai_komisi4 += $this->komisi4 * $jumlah;
}
// Komisi Tipe 2 = Per Item
if ($this->opsi_komisi1 == 3)
{
$this->nilai_komisi1 += $this->GetKomisiPerItem($kodeitem, $satuan, $jumlah);
}
if ($this->opsi_komisi2 == 3)
{
$this->nilai_komisi2 += $this->GetKomisiPerItem($kodeitem, $satuan, $jumlah);
}
if ($this->opsi_komisi3 == 3)
{
$this->nilai_komisi3 += $this->GetKomisiPerItem($kodeitem, $satuan, $jumlah);
}
if ($this->opsi_komisi4 == 3)
{
$this->nilai_komisi4 += $this->GetKomisiPerItem($kodeitem, $satuan, $jumlah);
}
}
$out_komisi1 = $this->nilai_komisi1;
$out_komisi2 = $this->nilai_komisi2;
$out_komisi3 = $this->nilai_komisi3;
$out_komisi4 = $this->nilai_komisi4;
}Editor is loading...
Leave a Comment