218 lines
12 KiB
PHP
218 lines
12 KiB
PHP
<?php
|
|
$pagination_baseurl = $this->getUrl($Mod, "Index");
|
|
$pagination_baseurl_params = ["filter" => $filter];
|
|
$pagination_entity_name = "Billingrecords";
|
|
?>
|
|
<?php include(realpath(dirname(__FILE__) . "/../../$mfLayoutPackage") . "/header.php"); ?>
|
|
|
|
<!-- start page title -->
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="page-title-box">
|
|
<div class="page-title-right">
|
|
<ol class="breadcrumb m-0">
|
|
<li class="breadcrumb-item"><a href="<?=self::getUrl("Dashboard")?>"><?=MFAPPNAME_SLUG?></a></li>
|
|
<li class="breadcrumb-item"><a href="<?=self::getUrl("Preordercampaign")?>">Vorbestellkampagnen</a></li>
|
|
<li class="breadcrumb-item active">Rechnungsdatensätze</li>
|
|
</ol>
|
|
</div>
|
|
<h4 class="page-title">Rechnungsdatensätze</h4>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- end page title -->
|
|
|
|
<div class="row">
|
|
<div class="col-lg-12">
|
|
|
|
<div class="card">
|
|
<div class="card-body mb-3">
|
|
<h4 class="header-title mb-3">Filter</h4>
|
|
|
|
<form method="get" action="<?=self::getUrl("PreorderBilling")?>">
|
|
<div class="row">
|
|
|
|
<div class="col-2">
|
|
<label class="form-label" for="filter_netzgebiet_id">Kampagne</label>
|
|
<select class="form-control" name="filter[preordercampaign_id]" id="filter_preordercampaign_id">
|
|
<option></option>
|
|
<?php foreach($my_campaigns as $campaign): ?>
|
|
<option value="<?=$campaign->id?>" <?=(is_array($filter) && $filter["preordercampaign_id"] == $campaign->id) ? "selected='selected'" : ""?>><?=$campaign->name?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</div>
|
|
<div class="col-1">
|
|
<label class="form-label" for="filter_oaid">OAID</label>
|
|
<input type="text" class="form-control" name="filter[oaid]" id="filter_oaid" value="<?=(array_key_exists("oaid", $filter)) ? $filter['oaid'] : ""?>"/>
|
|
</div>
|
|
<div class="col-2">
|
|
<label class="form-label" for="filter_owner_id">Netzbetreiber</label>
|
|
<select class="form-control" name="filter[owner_id]" id="filter_owner_id">
|
|
<option></option>
|
|
<?php foreach($netoperators as $netop): ?>
|
|
<option value="<?=$netop->id?>" <?=(is_array($filter) && $filter["owner_id"] == $netop->id) ? "selected='selected'" : ""?>><?=$netop->getCompanyOrName()?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</div>
|
|
<div class="col-1">
|
|
<label class="form-label" for="filter_fibu_account_number">Fibu Kontonummer</label>
|
|
<input type="text" class="form-control" name="filter[fibu_account_number]" id="filter_fibu_account_number" value="<?=(array_key_exists("fibu_account_number", $filter)) ? $filter['fibu_account_number'] : ""?>"/>
|
|
</div>
|
|
|
|
<div class="col-2">
|
|
<label class="form-label" for="filter_product">Produkt</label>
|
|
<select class="form-control" name="filter[product_id]" id="filter_product_id">
|
|
<option></option>
|
|
<?php foreach(PreorderProduct::getWithTypes() as $product): ?>
|
|
<option value="<?=$product->id?>" <?=(is_array($filter) && $filter["product_id"] == $product->id) ? "selected='selected'" : ""?>><?=$product->name?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</div>
|
|
<div class="col-1">
|
|
<label class="form-label" for="filter_start_date_from">Periode von</label>
|
|
<input type="text" class="form-control" name="filter[start_date_from]" id="filter_start_date_from" value="<?=(array_key_exists("start_date_from", $filter)) ? $filter['start_date_from'] : ""?>"/>
|
|
</div>
|
|
<div class="col-1">
|
|
<label class="form-label" for="filter_start_date_to">Periode bis</label>
|
|
<input type="text" class="form-control" name="filter[start_date_to]" id="filter_start_date_to" value="<?=(array_key_exists("start_date_to", $filter)) ? $filter['start_date_to'] : ""?>"/>
|
|
</div>
|
|
|
|
<div class="col-2">
|
|
<label class="form-label" for="filter_status">Status</label>
|
|
<select class="form-control" name="filter[status]" id="filter_status">
|
|
<option value="open" <?=(array_key_exists("status", $filter) && $filter['status'] == "open") ? "selected='selected'" : ""?>>Nur offene</option>
|
|
<option value="billed" <?=(array_key_exists("status", $filter) && $filter['status'] == "billed" ) ? "selected='selected'" : ""?>>Nur verrechnete</option>
|
|
</select>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row mt-2">
|
|
<div class="col">
|
|
<button type="submit" class="btn btn-primary">Filter anwenden</button>
|
|
<a class="btn btn-secondary" href="<?=self::getUrl("PreorderBilling")?>?resetFilter=1">Filter zurücksetzen</a>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<a href="<?=self::getUrl("PreorderBillingInvoice")?>" class="btn btn-outline-primary"><i class="fas fa-fw fa-list"></i> Rechnungen anzeigen</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<div class="card-body mb-3">
|
|
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="float-left">
|
|
<h4 class="header-title">Verrechnungsdatensätze</h4>
|
|
<!--button type="submit" class="btn btn-primary"><i class="fas fa-fw fa-check"></i> Markierte Elemente als Contract übernehmen</button-->
|
|
</div>
|
|
<div class="float-right">
|
|
<a class="btn btn-outline-primary mb-2" href="<?=self::getUrl("PreorderBilling", "importPreorders")?>">
|
|
<i class="far fa-fw fa-file-import"></i> Rechnungsdatensätze erstellen
|
|
</a>
|
|
<a class="btn btn-primary mb-2 ml-2" href="<?=self::getUrl("PreorderBillingInvoice", "create")?>">
|
|
<i class="far fa-fw fa-file-invoice"></i> Rechnungen erstellen
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<?php include(realpath(dirname(__FILE__)."/../")."/tpl/pagination.php"); ?>
|
|
<?php include(realpath(dirname(__FILE__)."/../")."/tpl/pagination-summary.php"); ?>
|
|
|
|
<table class="table table-sm table-striped table-hover">
|
|
<tr>
|
|
<th>Netzgebiet</th>
|
|
<th>OAID</th>
|
|
<th>Bestelldatum</th>
|
|
<th>Periode</th>
|
|
<th>Vertragsinhaber</th>
|
|
<th>Fibu Account</th>
|
|
<th>Produkt</th>
|
|
<th>Anzahl</th>
|
|
<th>Preis</th>
|
|
<th>Preis Setup</th>
|
|
<th>Zustellung</th>
|
|
<th></th>
|
|
</tr>
|
|
<?php foreach($billings as $billing): ?>
|
|
<tr>
|
|
<td><?=$billing->preorder->adb_hausnummer->netzgebiet->name?></td>
|
|
<td><a href="<?=self::getUrl("Preorder", "Index", ["filter" => ["oaid" => $billing->oaid]])?>" target="_blank"><?=$billing->oaid?></a></td>
|
|
<td><?=$billing->order_date?></td>
|
|
<td>
|
|
<?php if($billing->start_date == $billing->end_date): ?>
|
|
<?=$billing->start_date?>
|
|
<?php else: ?>
|
|
<?=$billing->start_date?> -<br /><?=$billing->end_date?>
|
|
<?php endif; ?>
|
|
</td>
|
|
<td>
|
|
<?=($billing->company) ? $billing->company."<br />" : ""?>
|
|
<?=($billing->firstname || $billing->lastname) ? $billing->firstname." ".$billing->lastname."<br />" : ""?>
|
|
<?=$billing->street?><br />
|
|
<?=$billing->zip?> <?=$billing->city?><br />
|
|
<?=$billing->name?>
|
|
</td>
|
|
|
|
<td><?=$billing->fibu_account_number?></td>
|
|
<td>
|
|
<?=$billing->product_name?>
|
|
</td>
|
|
<td><?=($billing->amount / (int)$billing->amount > 1) ? number_format($billing->amount,3,",",".") : (int)$billing->amount?></td>
|
|
<td class="<?=($billing->price < 0) ? "text-danger" : ""?>">€ <?=number_format($billing->price,2,",",".")?></td>
|
|
<td class="<?=($billing->price_setup < 0) ? "text-danger" : ""?>">€ <?=number_format($billing->price_setup,2,",",".")?></td>
|
|
<td><?=($billing->billing_delivery == "email") ? "Email" : "Papier"?></td>
|
|
<td></td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</table>
|
|
|
|
<?php include(realpath(dirname(__FILE__)."/../")."/tpl/pagination-summary.php"); ?>
|
|
<?php include(realpath(dirname(__FILE__)."/../")."/tpl/pagination.php"); ?>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<script>
|
|
$("#filter_start_date_from").datepicker({
|
|
orientation: "bottom",
|
|
language: 'de',
|
|
format: "dd.mm.yyyy",
|
|
showWeekDays: true,
|
|
todayBtn: 'linked',
|
|
autoclose: true
|
|
});
|
|
$("#filter_start_date_to").datepicker({
|
|
orientation: "bottom",
|
|
language: 'de',
|
|
format: "dd.mm.yyyy",
|
|
showWeekDays: true,
|
|
todayBtn: 'linked',
|
|
autoclose: true
|
|
});
|
|
</script>
|
|
<?php include(realpath(dirname(__FILE__) . "/../../$mfLayoutPackage") . "/footer.php"); ?>
|