if (isset($_POST['vahvistamattomat_edellisesta_kk'])) { $criteria = new CDbCriteria(); $criteria->condition = " \n\t\t\tmyyja_id='" . $_POST['user_id'] . "' \n\t\t\tAND vuosi='" . (int) date("Y", strtotime($_POST['vuosi'] . '-' . $_POST['kuukausi'] . ' -1 month')) . "'\n\t\t\tAND kuukausi='" . (int) date("n", strtotime($_POST['vuosi'] . '-' . $_POST['kuukausi'] . ' -1 month')) . "'\n\t\t"; $prE = Provisiot::model()->find($criteria); if (isset($prE->id) and !empty($prE->maksetut_kuitista)) { $vahvistammatomat_edellisesta_kk = json_decode($_POST['vahvistamattomat_edellisesta_kk'], true); $maksetut_kuitista = json_decode($prE->maksetut_kuitista, true); $newArray = array(); foreach ($vahvistammatomat_edellisesta_kk as $k => $v) { $newArray[$k] = $v; } foreach ($maksetut_kuitista as $k => $v) { $newArray[$k] = $v; } //print_r($newArray); Provisiot::model()->updateBypk($prE->id, array('maksetut_kuitista' => json_encode($newArray))); } } } echo '<h2>Tilityslista</h2>'; $months = array('1' => 'Tammikuu', '2' => 'Helmikuu', '3' => 'Maaliskuu', '4' => 'Huhtikuu', '5' => 'Toukokuu', '6' => 'Kesäkuu', '7' => 'Heinäkuu', '8' => 'Elokuu', '9' => 'Syyskuu', '10' => 'Lokakuu', '11' => 'Marraskuu', '12' => 'Joulukuu'); $thisYear = !empty($_GET['y']) ? (int) $_GET['y'] : date('Y'); $thisMonth = !empty($_GET['m']) ? (int) $_GET['m'] : date('n'); echo '<div class="row"> <div class="col-sm-3">'; echo '<p> <h4><a href="?y=' . ($thisYear - 1) . '">', $thisYear - 1, '</a> - <a href="?y=', $thisYear + 1, '">', $thisYear + 1, '</a> </h4></p>'; for ($month = 1; $month <= 12; $month++) { $cl = 'btn btn-block btn-sm btn-warning';
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer $id the ID of the model to be loaded * @return Provisiot the loaded model * @throws CHttpException */ public function loadModel($id) { $model = Provisiot::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
echo '<p>Vahvistamattomat provisiot: ' . number_format(array_sum($vahvistamattomat), 2, ',', ' ') . ' €</p>'; echo '<p>' . $masmattomatNimike . ': ' . number_format(array_sum($maksamattomat), 2, ',', ' ') . ' €</p>'; echo '<p>Tämän kuukauden myynneistä maksettava provisio: ' . number_format(array_sum($maksetut), 2, ',', ' ') . ' €</p>'; // vahvistomattomat edellinen kk $criteria = new CDbCriteria(); $criteria->order = " id DESC "; $criteria->condition = " myyja_id='" . $id . "' AND vuosi='" . (int) date("Y", strtotime($thisYear . '-' . $thisMonth . ' -1 month')) . "' AND kuukausi='" . (int) date("n", strtotime($thisYear . '-' . $thisMonth . ' -1 month')) . "' "; $prE = Provisiot::model()->find($criteria); $edellinenkkVahv = 0; if (isset($prE->id)) { $edellinenkkVahv = $prE->vahvistamattomat; } $criteria = new CDbCriteria(); $criteria->order = " id DESC "; $criteria->condition = " myyja_id='" . $id . "' AND vuosi='" . $thisYear . "' AND kuukausi='" . (int) $thisMonth . "' "; $pr = Provisiot::model()->find($criteria); $edellinen_maksamattomat = 0; if (isset($pr->id)) { if (array_sum($maksamattomatE) > 0) { $edellinen_maksamattomat = array_sum($maksamattomatE); echo '<b>Edelliseltä kohdekuukaudelta maksettava provisio:</b>'; echo '<p>' . $months[date("n", strtotime($thisYear . '-' . $thisMonth . ' -1 month'))] . ': ' . number_format(array_sum($maksamattomatE), 2, ',', ' ') . ' €</p>'; } else { echo '<b>Edelliseltä kohdekuukaudelta ei maksettavaa</b>'; } $yht = $edellinen_maksamattomat + array_sum($maksetut); $alv = 0; $alvT = ''; if ($alv_velvollinen == 'Kyllä') { $alv = $yht * 0.24; $alvT = '<p>ALV: ' . number_format($alv, 2, ',', ' ') . '€</p>';
protected function allProvisio($id, $thisYear, $thisMonth) { $profile = Profile::model()->findByPk($id); $alv_velvollinen = $profile->alv_velvollinen == 1 ? 'Kyllä' : 'Ei'; $maksetut = array(); $criteria = new CDbCriteria(); $criteria->condition = " \n\t\tmyyja_id='" . $id . "' \n\t\tAND vuosi='" . $thisYear . "'\n\t\tAND kuukausi='" . $thisMonth . "'\n\t"; $pr = Provisiot::model()->find($criteria); if (isset($pr->id)) { $m = json_decode($pr->maksettu_id, true); } if (isset($m) and is_array($m)) { $maksetut = $m; } $u = User::model()->findAll(" myyjaID='" . $id . "' "); $vahvistamattomat = array(); $maksamattomat = array(); foreach ($u as $data) { $o = $this->ordersDataForProvision($data->id, $thisYear, $thisMonth); foreach ($o as $ord) { $v = date("Y-m-d", strtotime($ord->maksettu_pvm . " +14 day")); $ord->hinta = $this->hintaLaske($ord, 0.3); if ($v > date("Y-m-d")) { $vahvistamattomat[$ord->id] = $ord->hinta; } elseif ($v <= date("Y-m-d") and !isset($maksetut[$ord->id])) { $maksamattomat[$ord->id] = $ord->hinta; } } } // Muut myyjat $u = User::model()->findAll(" paa_myyja='" . $id . "' "); foreach ($u as $uu) { if (isset($uu->id)) { $criteria = new CDbCriteria(); $criteria->order = " id DESC "; $criteria->condition = " myyjaID='" . $uu->id . "' "; $u = User::model()->findAll($criteria); foreach ($u as $data) { $o = $this->ordersDataForProvision($data->id, $thisYear, $thisMonth); foreach ($o as $ord) { $v = date("Y-m-d", strtotime($ord->maksettu_pvm . " +14 day")); $ord->hinta = $this->hintaLaske($ord, 0.1); if ($v > date("Y-m-d")) { $vahvistamattomat[$ord->id] = $ord->hinta; } elseif ($v <= date("Y-m-d") and !isset($maksetut[$ord->id])) { $maksamattomat[$ord->id] = $ord->hinta; } } } } } // Edellinen maksamattomat $criteria = new CDbCriteria(); $criteria->condition = " \n\t\tmyyja_id='" . $id . "' \n\t\tAND vuosi='" . date("Y", strtotime($thisYear . '-' . $thisMonth . ' -1 month')) . "'\n\t\tAND kuukausi='" . (int) date("n", strtotime($thisYear . '-' . $thisMonth . ' -1 month')) . "'\n\n\t"; $prEE = Provisiot::model()->find($criteria); if (isset($prEE->id)) { $m = json_decode($prEE->maksettu_id, true); } if (isset($m) and is_array($m)) { $maksetutE = $m; } $u = User::model()->findAll(" myyjaID='" . $id . "' "); $maksamattomatE = array(); foreach ($u as $data) { $o = $this->ordersDataForProvisionEdellinen($data->id, $thisYear, $thisMonth); foreach ($o as $ord) { $v = date("Y-m-d", strtotime($ord->maksettu_pvm . " +14 day")); $ord->hinta = $this->hintaLaske($ord, 0.3); if ($v > date("Y-m-d")) { } elseif ($v <= date("Y-m-d") and !isset($maksetutE[$ord->id])) { $maksamattomatE[$ord->id] = $ord->hinta; } } } // Muut myyjat $u = User::model()->findAll(" paa_myyja='" . $id . "' "); foreach ($u as $uu) { if (isset($uu->id)) { $p = Profile::model()->findByPk($uu->id); $criteria = new CDbCriteria(); $criteria->order = " id DESC "; $criteria->condition = " myyjaID='" . $uu->id . "' "; $u = User::model()->findAll($criteria); foreach ($u as $data) { $o = $this->ordersDataForProvisionEdellinen($data->id, $thisYear, $thisMonth); foreach ($o as $ord) { $v = date("Y-m-d", strtotime($ord->maksettu_pvm . " +14 day")); $ord->hinta = $this->hintaLaske($ord, 0.1); if ($v > date("Y-m-d")) { } elseif ($v <= date("Y-m-d") and !isset($maksetutE[$ord->id])) { $maksamattomatE[$ord->id] = $ord->hinta; } } } } } // vahvistomattomat edellinen kk $criteria = new CDbCriteria(); $criteria->order = " id DESC "; $criteria->condition = " myyja_id='" . $id . "' AND vuosi='" . (int) date("Y", strtotime($thisYear . '-' . $thisMonth . ' -1 month')) . "' AND kuukausi='" . (int) date("n", strtotime($thisYear . '-' . $thisMonth . ' -1 month')) . "' "; $prE = Provisiot::model()->find($criteria); $edellinenkkVahv = 0; if (isset($prE->id)) { $edellinenkkVahv = $prE->vahvistamattomat; } $criteria = new CDbCriteria(); $criteria->order = " id DESC "; $criteria->condition = " myyja_id='" . $id . "' AND vuosi='" . $thisYear . "' AND kuukausi='" . (int) $thisMonth . "' "; $pr = Provisiot::model()->find($criteria); $edellinen_maksamattomat = 0; if (isset($pr->id)) { if (array_sum($maksamattomatE) > 0) { $edellinen_maksamattomat = array_sum($maksamattomatE); } $yht = $edellinen_maksamattomat + array_sum($maksetut); $alv = 0; $alvT = ''; $maksettava_prov = 0; if ($alv_velvollinen == 'Kyllä') { $alv = $yht * 0.24; $alvT = 'ALV: ' . number_format($alv, 2, ',', ' ') . '€'; } $maksettava_prov = number_format($yht + $alv, 2, ',', ' ') . ' €'; } if (isset($pr->id) and $pr->kuitattu == 0) { $vahvistamattomat_edellisesta_kk = ''; if (isset($prE->vahvistamattomat_id) and !empty($prE->vahvistamattomat_id)) { $vahvistamattomat_edellisesta_kk = '<textarea name="vahvistamattomat_edellisesta_kk" style="display:none">' . $prE->vahvistamattomat_id . '</textarea>'; } $painike = ' <form action="#" method="POST"> <input type="hidden" name="newprovisio"> <input type="hidden" name="user_id" value="' . $id . '"> <input type="hidden" name="vuosi" value="' . $thisYear . '"> <input type="hidden" name="kuukausi" value="' . $thisMonth . '"> <textarea name="maksetut_kuitista" style="display:none">' . json_encode($maksetut) . '</textarea> ' . $vahvistamattomat_edellisesta_kk; if ($maksettava_prov == 0) { $teksti1 = 'Kuittaa kuukausi'; } else { $teksti1 = 'Kuittaa maksetuksi'; } if (isset($prE->id) and $prE->kuitattu == 0) { $painike .= 'Edellinen kuukausi on kuittaamatta.'; } else { $painike .= '<input type="submit" class="kuitta btn btn-success btn-sm" value="' . $teksti1 . '">'; } $painike .= '</form>'; } elseif (isset($pr->id) and $pr->kuitattu == 1) { $painike = 'Provisiot on kuitattu maksetuksi'; } $linkki = ''; if (date("Ym") > date("Ym", strtotime($thisYear . '-' . $thisMonth)) and isset($pr->id)) { $edellinen_maksamattomat = ''; if (array_sum($maksamattomatE) > 0) { $edellinen_maksamattomat = '&em=' . array_sum($maksamattomatE); } $linkki = '<a href="tilitysraportti?myyja_id=' . $id . '&y=' . $thisYear . '&m=' . date("m", strtotime($thisYear . '-' . $thisMonth)) . $edellinen_maksamattomat . '">linkki</a>'; } $return = array($profile->firstname, $profile->lastname, $profile->pankkitilinumero, $alv_velvollinen, $profile->y_tunnus, $maksettava_prov, $alvT, $linkki, $painike); return $return; }