query ( $query ); $receiptData = $result->fetch_assoc (); $receiptData ["items"] = ReceiptItems::getByReceiptId ( $id ); $receiptData ["account"] = Account::getByInvoiceId ( $id ); return $receiptData; } /** * Pobiera wszystkie paragony z podanego przedziału dat * * @param $date_from - * data od( w formacie YYYY-mm-dd ) * @param $date_to - * data do( w formacie YYYY-mm-dd ) * @param $type - * typ paragonu(normal/correct) */ public static function getBetweenDate($date_from, $date_to, $type, $contractorId) { $db = $GLOBALS ['db']; $query = "SELECT * FROM ecmreceipts WHERE date_entered >= '$date_from' AND date_entered <='$date_to' AND type LIKE '$type' AND deleted=0 "; if (! empty ( $contractorId )) { $query .= " AND parent_id = '" . $contractorId . "'"; } $result = $db->query ( $query ); $receiptsArray = array (); while ( $receiptData = $result->fetch_assoc () ) { // Formatowanie dat zgodnie z datą systemową $date = new DateTime ( $receiptData ["register_date"] ); $receiptData ["register_date"] = $date->format ( 'd.m.Y' ); $date = new DateTime ( $receiptData ["sell_date"] ); $receiptData ["sell_date"] = $date->format ( 'd.m.Y' ); $receiptData ["items"] = ReceiptItems::getByReceiptId ( $receiptData ["id"] ); $receiptData ["account"] = Account::getByAccountId ( $receiptData ["parent_id"] ); // Mnożę odpowiednie sumy przez currency_value Invoice::multiplyValuesByCurrencyValue ( $receiptData ); // Obliczam wysokość VAT i sumę netto $receiptData ["netto0"] = Receipt::getNetto ( $receiptData ["vats_summary"], "0%", $receiptData["currency_value"]); $receiptData ["netto7"] = Receipt::getNetto ( $receiptData ["vats_summary"], "7%", $receiptData["currency_value"]); $receiptData ["netto8"] = Receipt::getNetto ( $receiptData ["vats_summary"], "8%", $receiptData["currency_value"]); $receiptData ["netto22"] = Receipt::getNetto ( $receiptData ["vats_summary"], "22%", $receiptData["currency_value"]); $receiptData ["netto23"] = Receipt::getNetto ( $receiptData ["vats_summary"], "23%", $receiptData["currency_value"]); $receiptData ["vat0"] = Receipt::getVat ( $receiptData ["vats_summary"], "0%", $receiptData["currency_value"]); $receiptData ["vat7"] = Receipt::getVat ( $receiptData ["vats_summary"], "7%", $receiptData["currency_value"]); $receiptData ["vat8"] = Receipt::getVat ( $receiptData ["vats_summary"], "8%", $receiptData["currency_value"]); $receiptData ["vat22"] = Receipt::getVat ( $receiptData ["vats_summary"], "22%", $receiptData["currency_value"]); $receiptData ["vat23"] = Receipt::getVat ( $receiptData ["vats_summary"], "23%", $receiptData["currency_value"]); // Wyliczam marżę dla paragonu( nie ma to chyba sensu, ale ... :D ) $receiptData["margin"] = ($receiptData['total_netto'] - $receiptData['purchase_price'])/($receiptData['total_netto'])*100; if ($type == "correct") { $receiptData ["showType"] = "PRK"; $receiptData ["marginInPercent"] = 0; $receiptData ["margin"] = 0; } else { $receiptData ["showType"] = "PR"; $receiptData ["marginInPercent"] = ($receiptData ['total_netto'] - $receiptData ['purchase_price']) / ($receiptData ['total_netto']) * 100; $receiptData ["margin"] = $receiptData ['total_netto'] - $receiptData ['purchase_price']; } // Jeżeli koszt własny na fakturze jest zerem albo nulem if ($receiptData ["purchase_price"] == NULL || $receiptData ["purchase_price"] == "") { $receiptData ["purchase_price"] = "0.00"; } array_push ( $receiptsArray, $receiptData ); } return $receiptsArray; } /** * Funkcja wyciąga netto z bazy( w bazie zapisane jest to w formacie: 23%:2000.00:460.00:2460.00 ) * @param unknown $formatted_string * @param unknown $param_vat * @param unknown $currency_value * @return Ambigous */ public static function getNetto($formatted_string, $param_vat, $currency_value) { $return = NULL; $vats = explode( ";" , $formatted_string); foreach( $vats as $vat ) { $split_values = explode( ":" , $vat ); if( $split_values[0] == $param_vat ) { // Ceny na itemach wymagają przemnożenia przez kurs walutowy ($currency_value == NULL || $currency_value == "") ? $currency_value = 1 : $currency_value = $currency_value; $return = $split_values[1] * $currency_value; } } return $return; } /** * Funkcja wyciąga vat z bazy( w bazie zapisane jest to w formacie: 23%:2000.00:460.00:2460.00 ) * @param unknown $formatted_string * @param unknown $param_vat * @param unknown $currency_value * @return Ambigous */ public static function getVat($formatted_string, $param_vat, $currency_value) { $return = NULL; $vats = explode( ";" , $formatted_string); foreach( $vats as $vat ) { $split_values = explode( ":" , $vat ); if( $split_values[0] == $param_vat ) { // Ceny na itemach wymagają przemnożenia przez kurs walutowy ($currency_value == NULL || $currency_value == "") ? $currency_value = 1 : $currency_value = $currency_value; $return = $split_values[2] * $currency_value; } } return $return; } } ?>