<commit_before><?
// **************************************************************************************************
// Holt die Konfigurationseinstellungen für das die Rechnung
// **************************************************************************************************
function getConfig() {
	$db = $GLOBALS['db'];
	$info = array();
	$sql = "SELECT * FROM `rap_config`";
	$db->query($sql);
	while($l = $db->results()){
		$info[$l['name']] = $l['value'];
	}
	foreach($info as $k=>$i) { $info[$k] = utf8_decode($i); }
	return $info;
}

// **************************************************************************************************
// Rechnungstotal
// **************************************************************************************************
function getRechnungsTotal($RechnNr) {
	$db = $GLOBALS['db'];
	$sql = "SELECT * FROM `rap_bills` WHERE `id` = $RechnNr LIMIT 1";
	$db->query($sql);
	while($l = $db->results()) {
		$von = $l['von'];  // Datum von letzter Rechnung
		$bis = $l['bis'];  // Datum von letzter Rechnung
		$vertrag = $l['vertrag'];
	}
	$sql = 'SELECT SUM(stunden) AS total FROM rap_stunden 
	WHERE
	vertrag = '.$vertrag.' AND 
	date >= \''.$von.'\' AND 
	date <= \''.$bis.'\'';
	$db->query($sql);
	while($l = $db->results()) {
		$total = $l['total'];
	}
	return round($total*getVertragsFee($vertrag)/5,2)*5;
}

function getVertragsFee($vertrag) {
	$db = $GLOBALS['db'];
	$sql = "SELECT nettoansatz FROM `rap_vertrag` WHERE `id` = $vertrag LIMIT 1";
	$db->query($sql);
	while($l = $db->results()) {
		return $l['nettoansatz'];
	}
}

function getBillById($id) {
    $db = $GLOBALS['db'];
    $sql = "SELECT * FROM rap_bills WHERE id = $id LIMIT 1";
    $db->query($sql);
    while($l = $db->results()){
        $r = $l;
    }
    return $l;
}
// **************************************************************************************************
// Vertragstotal seit letzter Rechnung
// **************************************************************************************************

function get_Vertragstotal_since_last_bill($vertrag) {
	$db = $GLOBALS['db'];
	// Zeitraum
	$bis = date("Y-m-d");  	// Aktueller Tag
	$von = "2000-01-01";	// default Datum wenn noch keine Rechnung vorhanden
	// Datum von letzter Rechnung
	$sql = "SELECT `date` FROM `rap_bills` WHERE `vertrag` = $vertrag ORDER BY `date` DESC LIMIT 0,1";
	$db->query($sql);
	while($l = $db->results()) {
		$von = $l[0];  // Datum von letzter Rechnung
	}
// **************************************************************************************************
	// Daten für die Arbeitsbeschriebgruppierten Zeilen
	$data = array();
	// SQL zum Auswählen von den Stunden, Gruppiert nach dem Arbeitsbeschrieb
	$sql  = 'SELECT `rap_stunden`.`date`,`rap_arbeit`.`name` AS `arbeitsbeschrieb`, `rap_vertrag`.`nettoansatz`, SUM(`rap_stunden`.`stunden`) AS `total`   
	FROM rap_stunden 
	LEFT JOIN rap_vertrag ON (`rap_stunden`.`vertrag`    = `rap_vertrag`.`ID`) 
	LEFT JOIN rap_arbeit  ON (`rap_stunden`.`arbeit`     = `rap_arbeit`.`ID`) 
	WHERE  <commit_msg>add bootstrap to arbeit<commit_after><?
// **************************************************************************************************
// Holt die Konfigurationseinstellungen für das die Rechnung
// **************************************************************************************************
function getConfig() {
	$db = $GLOBALS['db'];
	$info = array();
	$sql = "SELECT * FROM `rap_config`";
	$db->query($sql);
	while($l = $db->results()){
		$info[$l['name']] = $l['value'];
	}
	foreach($info as $k=>$i) { $info[$k] = utf8_decode($i); }
	return $info;
}

// **************************************************************************************************
// Rechnungstotal
// **************************************************************************************************
function getRechnungsTotal($RechnNr) {
	$db = $GLOBALS['db'];
	$sql = "SELECT * FROM `rap_bills` WHERE `id` = $RechnNr LIMIT 1";
	$db->query($sql);
	while($l = $db->results()) {
		$von = $l['von'];  // Datum von letzter Rechnung
		$bis = $l['bis'];  // Datum von letzter Rechnung
		$vertrag = $l['vertrag'];
	}
	$sql = 'SELECT SUM(stunden) AS total FROM rap_stunden 
	WHERE
	vertrag = '.$vertrag.' AND 
	date >= \''.$von.'\' AND 
	date <= \''.$bis.'\'';
	$db->query($sql);
	while($l = $db->results()) {
		$total = $l['total'];
	}
	return round($total*getVertragsFee($vertrag)/5,2)*5;
}

function getVertragsFee($vertrag) {
	$db = $GLOBALS['db'];
	$sql = "SELECT nettoansatz FROM `rap_vertrag` WHERE `id` = $vertrag LIMIT 1";
	$db->query($sql);
	while($l = $db->results()) {
		return $l['nettoansatz'];
	}
}

function getBillById($id) {
    $db = $GLOBALS['db'];
    $sql = "SELECT * FROM rap_bills WHERE id = ".((int) $id)." LIMIT 1";
    $db->query($sql);
    while($l = $db->results()){
        $r = $l;
    }
    return $r;
}
// **************************************************************************************************
// Vertragstotal seit letzter Rechnung
// **************************************************************************************************

function get_Vertragstotal_since_last_bill($vertrag) {
	$db = $GLOBALS['db'];
	// Zeitraum
	$bis = date("Y-m-d");  	// Aktueller Tag
	$von = "2000-01-01";	// default Datum wenn noch keine Rechnung vorhanden
	// Datum von letzter Rechnung
	$sql = "SELECT `date` FROM `rap_bills` WHERE `vertrag` = $vertrag ORDER BY `date` DESC LIMIT 0,1";
	$db->query($sql);
	while($l = $db->results()) {
		$von = $l[0];  // Datum von letzter Rechnung
	}
// **************************************************************************************************
	// Daten für die Arbeitsbeschriebgruppierten Zeilen
	$data = array();
	// SQL zum Auswählen von den Stunden, Gruppiert nach dem Arbeitsbeschrieb
	$sql  = 'SELECT `rap_stunden`.`date`,`rap_arbeit`.`name` AS `arbeitsbeschrieb`, `rap_vertrag`.`nettoansatz`, SUM(`rap_stunden`.`stunden`) AS `total`   
	FROM rap_stunden 
	LEFT JOIN rap_vertrag ON (`rap_stunden`.`vertrag`    = `rap_vertrag`.`ID`) 
	LEFT JOIN rap_arbeit  ON (`rap_stunden`.`arbeit`     = `rap_arbeit`.`ID`) 
	WHERE  
{'fraction_non_alphanumeric': 0.3824869791666667, 'fraction_numerical': 0.005859375, 'mean_word_length': 5.188318227593152, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 31, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4806565', 'n_tokens_mistral': 2108, 'n_tokens_neox': 2023, 'n_words': 430}