diff --git a/application/controllers/reports/ReservationsController.php b/application/controllers/reports/ReservationsController.php
index e2eaa6a..f2e8598 100644
--- a/application/controllers/reports/ReservationsController.php
+++ b/application/controllers/reports/ReservationsController.php
@@ -27,6 +27,7 @@ class ReservationsController extends MY_Controller {
{
$projects[ $result->projectID ] = [
'projectnumber' => $result->projectnumber,
+ 'projectname' => $result->projectname,
'costs' => 0,
'reservation' => 0,
'payed' => 0,
diff --git a/application/libraries/reports/invoice/Excel/InvoiceSpreadsheet.php b/application/libraries/reports/invoice/Excel/InvoiceSpreadsheet.php
index a06caba..2482df7 100644
--- a/application/libraries/reports/invoice/Excel/InvoiceSpreadsheet.php
+++ b/application/libraries/reports/invoice/Excel/InvoiceSpreadsheet.php
@@ -40,7 +40,9 @@ class InvoiceSpreadsheet {
$this->setMonthForecast();
- $this->setMonthPayment();
+ $this->setMonthPayment();
+
+ $this->setInvoiced();
$this->setFilename();
@@ -86,15 +88,25 @@ class InvoiceSpreadsheet {
new MonthForecastSheet( $this->invoiceReport['monthForecasts'], $this->invoiceSheet );
}
- private function setMonthPayment()
- {
- $invoiceSheet = new Worksheet( $this->spreadsheet, 'maand betalingen' );
+ private function setMonthPayment()
+ {
+ $invoiceSheet = new Worksheet( $this->spreadsheet, 'maand betalingen' );
- $this->invoiceSheet =
- $this->spreadsheet->addSheet( $invoiceSheet );
+ $this->invoiceSheet =
+ $this->spreadsheet->addSheet( $invoiceSheet );
- new MonthPaymentSheet( $this->invoiceReport['monthPayments'], $this->invoiceSheet );
- }
+ new MonthPaymentSheet( $this->invoiceReport['monthPayments'], $this->invoiceSheet );
+ }
+
+ private function setInvoiced()
+ {
+ $invoiceSheet = new Worksheet( $this->spreadsheet, 'ontvangen facturen' );
+
+ $this->invoiceSheet =
+ $this->spreadsheet->addSheet( $invoiceSheet );
+
+ new InvoicedSheet( $this->invoiceReport['invoiced'], $this->invoiceSheet );
+ }
private function setFilename()
{
@@ -121,4 +133,4 @@ class InvoiceSpreadsheet {
}
-}
\ No newline at end of file
+}
diff --git a/application/libraries/reports/invoice/Excel/InvoicedSheet.php b/application/libraries/reports/invoice/Excel/InvoicedSheet.php
new file mode 100644
index 0000000..d0de687
--- /dev/null
+++ b/application/libraries/reports/invoice/Excel/InvoicedSheet.php
@@ -0,0 +1,67 @@
+ 'factuurnummer',
+ 'B' => 'project',
+ 'C' => 'klant',
+ 'D' => 'factuurdatum',
+ 'E' => 'exc btw',
+ 'F' => 'btw',
+ 'G' => 'incl btw'
+ ];
+
+ private $invoiced;
+ private $sheet;
+ private $row;
+
+ public function __construct( $invoiced, $sheet )
+ {
+ $this->invoiced = $invoiced;
+ $this->sheet = $sheet;
+
+ $this->handle();
+ }
+
+ private function handle()
+ {
+ $this->setHeader();
+
+ $this->setBody();
+ }
+
+ private function setHeader()
+ {
+ foreach ( self::HEADERS as $cell => $header )
+ {
+ $this->sheet->setCellValue( $cell . '1', $header );
+ $this->sheet->getColumnDimension( $cell )->setAutoSize( TRUE );
+ }
+ }
+
+ private function setBody()
+ {
+ $this->row = 2;
+ foreach ( $this->invoiced AS $invoice )
+ {
+ $vat = ROUND($invoice->invoiceamount * 0.21, 2);
+ $this->sheet->setCellValue( 'A' . $this->row, $invoice->invoicenumber );
+ $this->sheet->setCellValue( 'B' . $this->row, ($invoice->projectnumber . ' ' . $invoice['projectname']));
+ $this->sheet->setCellValue( 'C' . $this->row, $invoice->name );
+ $this->sheet->setCellValue( 'D' . $this->row, $invoice->invoicenumber );
+ $this->sheet->setCellValue( 'E' . $this->row, $invoice->invoiceamount );
+ $this->sheet->setCellValue( 'F' . $this->row, $vat );
+ $this->sheet->setCellValue( 'G' . $this->row, $invoice->invoiceamount + $vat );
+
+ $this->row ++;
+ }
+ }
+
+}
diff --git a/application/libraries/reports/invoice/Invoices.php b/application/libraries/reports/invoice/Invoices.php
index c011455..bc5b56b 100644
--- a/application/libraries/reports/invoice/Invoices.php
+++ b/application/libraries/reports/invoice/Invoices.php
@@ -23,6 +23,8 @@ class Invoices {
private $orderType;
private $orderDirection;
private $archive;
+ private $invoicedYears;
+ private $invoiced;
public function __construct( $year, $orderType, $orderDirection, $archive )
{
@@ -48,6 +50,10 @@ class Invoices {
//only projects with payments also archived projects
$this->setMonthPayments();
+ $this->setInvoicedyears();
+
+ $this->setInvoiced();
+
$this->setInvoiceReport();
}
@@ -95,18 +101,33 @@ class Invoices {
public function setMonthPayments()
{
$monthPayment = new MonthPayments(
- $this->year, $this->orderType, $this->orderDirection );
+ $this->year, $this->orderType, $this->orderDirection );
$this->monthPayments = $monthPayment->getProjectDetails();
}
+ private function setInvoiced()
+ {
+ $this->invoiced = Invoice::getInvoiced( $this->year );
+ }
+
+ private function setInvoicedYears()
+ {
+ $this->invoicedYears = Invoice::selectRaw( 'DATE_FORMAT(invoicedate, "%Y") AS years' )
+ ->distinct()
+ ->orderBy( 'invoicedate' )
+ ->lists( 'years' );
+ }
+
private function setInvoiceReport()
{
$this->invoiceReport = [
'invoiceOverview' => $this->invoiceOverviews,
'forecasts' => $this->invoiceForecasts,
'monthForecasts' => $this->monthForecasts,
- 'monthPayments' => $this->monthPayments
+ 'monthPayments' => $this->monthPayments,
+ 'invoicedYears' => $this->invoicedYears,
+ 'invoiced' => $this->invoiced
];
}
}
diff --git a/application/models/eloquent/Invoice.php b/application/models/eloquent/Invoice.php
index 6430b1e..6a44250 100644
--- a/application/models/eloquent/Invoice.php
+++ b/application/models/eloquent/Invoice.php
@@ -62,4 +62,16 @@ class Invoice extends BaseModel {
return $invoiceID;
}
-}
\ No newline at end of file
+
+ public static function getInvoiced( $year )
+ {
+ $invoiced = Invoice::selectRaw('invoicenumber, PRJ.projectname, projectnumber, CUS.name, invoicedate, CUS.name, invoiceamount')
+ ->join('projects AS PRJ', 'PRJ.id', '=', 'invoices.project_id')
+ ->join('customers AS CUS', 'CUS.id', '=', 'PRJ.customer_id')
+ ->whereRaw("DATE_FORMAT(invoicedate, '%Y') = {$year}")
+ ->orderBy('invoicedate')
+ ->get();
+
+ return $invoiced;
+ }
+}
diff --git a/application/models/eloquent/queries/ReservationTotals.php b/application/models/eloquent/queries/ReservationTotals.php
index 44f7002..d5b9edb 100644
--- a/application/models/eloquent/queries/ReservationTotals.php
+++ b/application/models/eloquent/queries/ReservationTotals.php
@@ -11,7 +11,8 @@ class ReservationTotals {
public static function fire()
{
// UNION ALL wordt gebruikt voor een full outer join
- $sql = " SELECT PRJ.id AS projectID, external_id AS externalID,
+ $sql = "SELECT PRJ.id AS projectID, external_id AS externalID,
+ PRJ.projectname,
COALESCE(fromreservation, 0) AS fromreservation,
COALESCE(Q5.costs, 0) AS costs, COALESCE(reservation, 0) AS reservation,
COALESCE(payed, 0) AS payed, (COALESCE(reservation, 0) - COALESCE(fromreservation, 0)) AS saldo,
diff --git a/application/views/pages/invoicereport_view.php b/application/views/pages/invoicereport_view.php
index 4633042..7c86fe3 100644
--- a/application/views/pages/invoicereport_view.php
+++ b/application/views/pages/invoicereport_view.php
@@ -48,9 +48,12 @@
maand prognoses
-
- maand betalingen
-
+
+ maand betalingen
+
+
+ ontvangen facturen
+
@@ -65,9 +68,12 @@
load->view('reports/invoices/monthforecast_report'); ?>
-
- load->view('reports/invoices/monthpayment_report'); ?>
-
+
+ load->view('reports/invoices/monthpayment_report'); ?>
+
+
+ load->view('reports/invoices/invoices_report'); ?>
+
load->view('reports/invoices/contractors_report'); ?>
@@ -76,4 +82,4 @@
-
\ No newline at end of file
+
diff --git a/application/views/pages/reservations_view.php b/application/views/pages/reservations_view.php
index 4ff4e39..a081d64 100644
--- a/application/views/pages/reservations_view.php
+++ b/application/views/pages/reservations_view.php
@@ -7,16 +7,16 @@
- | |
- project |
- Kosten derden |
- factuur INK |
- gereserveerd op spaarrekening |
- betaald |
- saldo te betalen |
- betaald via reserveringen |
- saldo reservering |
- saldo facturen INK |
+ |
+ project |
+ Kosten derden |
+ factuur INK |
+ gereserveerd op spaarrekening |
+ betaald |
+ nog te betalen facturen |
+ betaald via reserveringen |
+ saldo reservering |
+ saldo facturen INK |
diff --git a/application/views/reports/invoices/invoices_report.php b/application/views/reports/invoices/invoices_report.php
new file mode 100644
index 0000000..c40df1c
--- /dev/null
+++ b/application/views/reports/invoices/invoices_report.php
@@ -0,0 +1,56 @@
+
+
+
+
+
+ |
+ factuurnummer
+ |
+
+ project
+ |
+
+ klant
+ |
+
+ factuur datum
+ |
+
+ excl btw
+ |
+
+ btw
+ |
+
+ incl btw
+ |
+
+
+
+
+ |
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+
+
diff --git a/public/js/lib/modules/reports/invoicereport.js b/public/js/lib/modules/reports/invoicereport.js
index 832dae9..7cc66cb 100644
--- a/public/js/lib/modules/reports/invoicereport.js
+++ b/public/js/lib/modules/reports/invoicereport.js
@@ -5,24 +5,24 @@
* Time: 11:43
*/
-
dbo.invoicereportInit = function () {
- if ( dbo.invoicereport !== undefined ) {
+ if (dbo.invoicereport !== undefined) {
- dbo.invoicereport.initModule();
+ dbo.invoicereport.initModule()
} else {
dbo.invoicereport = {
+ years : ko.observableArray([]),
selectedYear : ko.observable(),
- invoiceOverview : ko.observableArray( [] ),
- forecasts : ko.observableArray( [] ),
- monthForecasts : ko.observableArray( [] ),
- monthPayments : ko.observableArray( [] ),
- months : ko.observableArray( [] ),
- monthTotals : ko.observableArray( [] ),
- monthPaymentTotals : ko.observableArray( [] ),
+ invoiceOverview : ko.observableArray([]),
+ forecasts : ko.observableArray([]),
+ monthForecasts : ko.observableArray([]),
+ monthPayments : ko.observableArray([]),
+ months : ko.observableArray([]),
+ monthTotals : ko.observableArray([]),
+ monthPaymentTotals : ko.observableArray([]),
validYear : ko.observable(),
invoiceTab : ko.observable(),
totalToInvoicingExcl : ko.observable(),
@@ -39,221 +39,239 @@ dbo.invoicereportInit = function () {
totalProjectPayments : ko.observable(),
orderType : 'projectnumber',
orderDirection : false,
- archive : ko.observable( false ),
+ archive : ko.observable(false),
+ recievedInvoices : ko.observableArray([]),
+ invoiced : ko.observableArray([]),
init: function () {
- var vm = dbo.invoicereport;
+ var vm = dbo.invoicereport
- vm.selectedYear( (new Date()).getFullYear() );
- vm.invoiceTab( 'invoice' );
- vm.validYear( true );
- vm.months( dbo.monthArray );
+ vm.selectedYear((new Date()).getFullYear())
+ vm.invoiceTab('invoice')
+ vm.validYear(true)
+ vm.months(dbo.monthArray)
- vm.initModule();
+ vm.initModule()
},
initModule: function () {
- var vm = dbo.invoicereport;
+ var vm = dbo.invoicereport
- vm.resetTotals();
+ vm.resetTotals()
- var orderDirection = vm.orderDirection ? 'ASC' : 'DESC';
- var archive = vm.archive() ? 'T' : 'F';
+ var orderDirection = vm.orderDirection ? 'ASC' : 'DESC'
+ var archive = vm.archive() ? 'T' : 'F'
- dbo.invoiceDataService.getInvoiceOverview( vm.selectedYear(), vm.orderType, orderDirection, archive, function ( data ) {
- vm.invoiceOverview( data.invoiceOverview );
- vm.setInvoiceOverviewTotals( data.invoiceOverview );
+ dbo.invoiceDataService.getInvoiceOverview(vm.selectedYear(), vm.orderType, orderDirection, archive, function (data) {
+ vm.invoiceOverview(data.invoiceOverview)
+ vm.setInvoiceOverviewTotals(data.invoiceOverview)
- vm.forecasts( data.forecasts );
- vm.setForecastsTotals( data.forecasts );
+ vm.forecasts(data.forecasts)
+ vm.setForecastsTotals(data.forecasts)
- vm.monthForecasts.removeAll();
- _.each( data.monthForecasts, function ( p ) {
- vm.monthForecasts.push( new vm.Monthforecast( p ) );
- } );
- _.each( vm.monthTotals(), function ( p ) {
- p.forecastamount( dbo.helpers.thousandSeparator( p.forecastamount() ) );
- } );
+ vm.monthForecasts.removeAll()
+ _.each(data.monthForecasts, function (p) {
+ vm.monthForecasts.push(new vm.Monthforecast(p))
+ })
+ _.each(vm.monthTotals(), function (p) {
+ p.forecastamount(dbo.helpers.thousandSeparator(p.forecastamount()))
+ })
- vm.monthPayments.removeAll();
- _.each( data.monthPayments, function ( p ) {
- vm.monthPayments.push( new vm.Monthpayment( p ) );
- vm.totalProjectPayments( Number( vm.totalProjectPayments() ) + Number( p.totalProjectPayments.replace( '.', '' ) ) );
- } );
- vm.totalProjectPayments( dbo.helpers.thousandSeparator( vm.totalProjectPayments() ) );
- _.each( vm.monthPaymentTotals(), function ( p ) {
- p.paymentamount( dbo.helpers.thousandSeparator( p.paymentamount() ) );
- } );
+ vm.monthPayments.removeAll()
+ _.each(data.monthPayments, function (p) {
+ vm.monthPayments.push(new vm.Monthpayment(p))
+ vm.totalProjectPayments(Number(vm.totalProjectPayments()) + Number(p.totalProjectPayments.replace('.', '')))
+ })
+ vm.totalProjectPayments(dbo.helpers.thousandSeparator(vm.totalProjectPayments()))
+ _.each(vm.monthPaymentTotals(), function (p) {
+ p.paymentamount(dbo.helpers.thousandSeparator(p.paymentamount()))
+ })
- } );
+ vm.years(data.invoicedYears);
+
+ vm.invoiced.removeAll()
+ _.each(data.invoiced, function(p){
+ vm.invoiced.push( new vm.Invoice(p));
+ });
+
+ })
},
toggleArchive: function () {
- var vm = dbo.invoicereport;
- vm.archive( !vm.archive() );
+ var vm = dbo.invoicereport
+ vm.archive(!vm.archive())
- vm.initModule();
+ vm.initModule()
},
- sortList: function ( orderType ) {
- var vm = dbo.invoicereport;
+ sortList: function (orderType) {
+ var vm = dbo.invoicereport
- vm.orderType = orderType;
- vm.orderDirection = !vm.orderDirection;
+ vm.orderType = orderType
+ vm.orderDirection = !vm.orderDirection
- vm.initModule();
+ vm.initModule()
},
resetTotals: function () {
- var vm = dbo.invoicereport;
+ var vm = dbo.invoicereport
- vm.totalToInvoicingExcl( 0 );
- vm.totalToInvoicingIncl( 0 );
- vm.totalInvoicedOtherYears( 0 );
- vm.totalInvoicedThisYear( 0 );
- vm.invoicesTotal( 0 );
- vm.totalPayment( 0 );
- vm.totalToPay( 0 );
- vm.needInvoice( Number( 0 ) );
- vm.forecastThisYear( 0 );
- vm.forecastOtherYears( 0 );
- vm.forecastRemaining( 0 );
- vm.totalProjectPayments( 0 );
+ vm.totalToInvoicingExcl(0)
+ vm.totalToInvoicingIncl(0)
+ vm.totalInvoicedOtherYears(0)
+ vm.totalInvoicedThisYear(0)
+ vm.invoicesTotal(0)
+ vm.totalPayment(0)
+ vm.totalToPay(0)
+ vm.needInvoice(Number(0))
+ vm.forecastThisYear(0)
+ vm.forecastOtherYears(0)
+ vm.forecastRemaining(0)
+ vm.totalProjectPayments(0)
- vm.monthTotals.removeAll();
- vm.monthPaymentTotals.removeAll();
- for ( var i = 1; i <= 12; i++ ) {
- vm.monthTotals.push( {monthID: i, forecastamount: ko.observable( 0 )} );
- vm.monthPaymentTotals.push( {monthID: i, paymentamount: ko.observable( 0 )} );
+ vm.monthTotals.removeAll()
+ vm.monthPaymentTotals.removeAll()
+ for (var i = 1; i <= 12; i++) {
+ vm.monthTotals.push({ monthID: i, forecastamount: ko.observable(0) })
+ vm.monthPaymentTotals.push({ monthID: i, paymentamount: ko.observable(0) })
}
},
- setInvoiceOverviewTotals: function ( data ) {
- var vm = dbo.invoicereport;
+ setInvoiceOverviewTotals: function (data) {
+ var vm = dbo.invoicereport
- _.each( data, function ( p ) {
- vm.totalToInvoicingExcl( vm.totalToInvoicingExcl() + Number( p.totalToInvoicingExcl.replace( '.', '' ) ) );
- vm.totalToInvoicingIncl( vm.totalToInvoicingIncl() + Number( p.totalToInvoicingIncl.replace( '.', '' ) ) );
- vm.totalInvoicedOtherYears( vm.totalInvoicedOtherYears() + Number( p.totalInvoicedOtherYears.replace( '.', '' ) ) );
- vm.totalInvoicedThisYear( vm.totalInvoicedThisYear() + Number( p.totalInvoicedThisYear.replace( '.', '' ) ) );
- vm.invoicesTotal( vm.invoicesTotal() + Number( p.invoicesTotal.replace( '.', '' ) ) );
- vm.totalPayment( vm.totalPayment() + Number( p.projectPayment.replace( '.', '' ) ) );
- vm.totalToPay( vm.totalToPay() + Number( p.invoiceToPay.replace( '.', '' ) ) );
- vm.needInvoice( Number( vm.needInvoice() ) + Number( p.needInvoice.replace( '.', '' ) ) );
- } );
+ _.each(data, function (p) {
+ vm.totalToInvoicingExcl(vm.totalToInvoicingExcl() + Number(p.totalToInvoicingExcl.replace('.', '')))
+ vm.totalToInvoicingIncl(vm.totalToInvoicingIncl() + Number(p.totalToInvoicingIncl.replace('.', '')))
+ vm.totalInvoicedOtherYears(vm.totalInvoicedOtherYears() + Number(p.totalInvoicedOtherYears.replace('.', '')))
+ vm.totalInvoicedThisYear(vm.totalInvoicedThisYear() + Number(p.totalInvoicedThisYear.replace('.', '')))
+ vm.invoicesTotal(vm.invoicesTotal() + Number(p.invoicesTotal.replace('.', '')))
+ vm.totalPayment(vm.totalPayment() + Number(p.projectPayment.replace('.', '')))
+ vm.totalToPay(vm.totalToPay() + Number(p.invoiceToPay.replace('.', '')))
+ vm.needInvoice(Number(vm.needInvoice()) + Number(p.needInvoice.replace('.', '')))
+ })
- vm.totalToInvoicingExcl( dbo.helpers.thousandSeparator( vm.totalToInvoicingExcl() ) );
- vm.totalToInvoicingIncl( dbo.helpers.thousandSeparator( vm.totalToInvoicingIncl() ) );
- vm.totalInvoicedOtherYears( dbo.helpers.thousandSeparator( vm.totalInvoicedOtherYears() ) );
- vm.totalInvoicedThisYear( dbo.helpers.thousandSeparator( vm.totalInvoicedThisYear() ) );
- vm.invoicesTotal( dbo.helpers.thousandSeparator( vm.invoicesTotal() ) );
- vm.totalPayment( dbo.helpers.thousandSeparator( vm.totalPayment() ) );
- vm.totalToPay( dbo.helpers.thousandSeparator( vm.totalToPay() ) );
- vm.needInvoice( dbo.helpers.thousandSeparator( vm.needInvoice() ) );
+ vm.totalToInvoicingExcl(dbo.helpers.thousandSeparator(vm.totalToInvoicingExcl()))
+ vm.totalToInvoicingIncl(dbo.helpers.thousandSeparator(vm.totalToInvoicingIncl()))
+ vm.totalInvoicedOtherYears(dbo.helpers.thousandSeparator(vm.totalInvoicedOtherYears()))
+ vm.totalInvoicedThisYear(dbo.helpers.thousandSeparator(vm.totalInvoicedThisYear()))
+ vm.invoicesTotal(dbo.helpers.thousandSeparator(vm.invoicesTotal()))
+ vm.totalPayment(dbo.helpers.thousandSeparator(vm.totalPayment()))
+ vm.totalToPay(dbo.helpers.thousandSeparator(vm.totalToPay()))
+ vm.needInvoice(dbo.helpers.thousandSeparator(vm.needInvoice()))
},
- setForecastsTotals: function ( data ) {
- var vm = dbo.invoicereport;
+ setForecastsTotals: function (data) {
+ var vm = dbo.invoicereport
- _.each( data, function ( p ) {
- vm.forecastThisYear( vm.forecastThisYear() + Number( p.forecastThisYear.replace( '.', '' ) ) );
- vm.forecastOtherYears( vm.forecastOtherYears() + Number( p.forecastOtherYears.replace( '.', '' ) ) );
- vm.forecastRemaining( vm.forecastRemaining() + Number( p.forecastRemaining.replace( '.', '' ) ) );
- } );
- vm.forecastThisYear( dbo.helpers.thousandSeparator( vm.forecastThisYear() ) );
- vm.forecastOtherYears( dbo.helpers.thousandSeparator( vm.forecastOtherYears() ) );
- vm.forecastRemaining( dbo.helpers.thousandSeparator( vm.forecastRemaining() ) );
+ _.each(data, function (p) {
+ vm.forecastThisYear(vm.forecastThisYear() + Number(p.forecastThisYear.replace('.', '')))
+ vm.forecastOtherYears(vm.forecastOtherYears() + Number(p.forecastOtherYears.replace('.', '')))
+ vm.forecastRemaining(vm.forecastRemaining() + Number(p.forecastRemaining.replace('.', '')))
+ })
+ vm.forecastThisYear(dbo.helpers.thousandSeparator(vm.forecastThisYear()))
+ vm.forecastOtherYears(dbo.helpers.thousandSeparator(vm.forecastOtherYears()))
+ vm.forecastRemaining(dbo.helpers.thousandSeparator(vm.forecastRemaining()))
},
- setForecastMonthsTotals: function ( data ) {
- console.log( data );
- var vm = dbo.invoicereport;
+ setForecastMonthsTotals: function (data) {
+ console.log(data)
+ var vm = dbo.invoicereport
- _.each( data, function ( p ) {
- _.each( p.forecastMonths(), function ( q ) {
- vm.forecastMonths( vm.forecastMonths() + q );
- } );
- } );
+ _.each(data, function (p) {
+ _.each(p.forecastMonths(), function (q) {
+ vm.forecastMonths(vm.forecastMonths() + q)
+ })
+ })
},
checkYear: function () {
- var vm = dbo.invoicereport;
- if ( !Number.isInteger( Number( vm.selectedYear() ) ) ) return vm.validYear( false );
- if ( Number( vm.selectedYear() ) > 2100 ) return vm.validYear( false );
- if ( Number( vm.selectedYear() ) < 2000 ) return vm.validYear( false );
- vm.validYear( true );
+ var vm = dbo.invoicereport
+ if (!Number.isInteger(Number(vm.selectedYear()))) return vm.validYear(false)
+ if (Number(vm.selectedYear()) > 2100) return vm.validYear(false)
+ if (Number(vm.selectedYear()) < 2000) return vm.validYear(false)
+ vm.validYear(true)
- vm.initModule();
+ vm.initModule()
},
- setActivetab: function ( page ) {
- var vm = dbo.invoicereport;
+ setActivetab: function (page) {
+ var vm = dbo.invoicereport
- vm.invoiceTab( page );
+ vm.invoiceTab(page)
},
- Monthforecast: function ( data ) {
- console.log( data );
- var vm = dbo.invoicereport;
- var self = this;
- self.projectnumber = data.projectnumber;
- self.projectname = data.projectname;
- self.customer = data.customer;
- self.needInvoice = data.needInvoice;
- self.forecastOtherYears = data.forecastOtherYears;
- self.forecastRemaining = data.forecastRemaining;
+ Monthforecast: function (data) {
+ var vm = dbo.invoicereport
+ var self = this
+ self.projectnumber = data.projectnumber
+ self.projectname = data.projectname
+ self.customer = data.customer
+ self.needInvoice = data.needInvoice
+ self.forecastOtherYears = data.forecastOtherYears
+ self.forecastRemaining = data.forecastRemaining
- self.forecastMonths = ko.observableArray( [] );
- _.each( data.forecastMonths, function ( p, i ) {
- self.forecastMonths.push( new vm.ForecastMonth( p ) );
- _.each( vm.monthTotals(), function ( q ) {
- if ( q.monthID == (i + 1) ) q.forecastamount( Math.round( Number( q.forecastamount() ) ) + Math.round( Number( p.forecastamount ) ) );
- } );
- } );
+ self.forecastMonths = ko.observableArray([])
+ _.each(data.forecastMonths, function (p, i) {
+ self.forecastMonths.push(new vm.ForecastMonth(p))
+ _.each(vm.monthTotals(), function (q) {
+ if (q.monthID == (i + 1)) q.forecastamount(Math.round(Number(q.forecastamount())) + Math.round(Number(p.forecastamount)))
+ })
+ })
},
- ForecastMonth: function ( data ) {
- this.forecastamount = dbo.helpers.thousandSeparator( Math.round( data.forecastamount ) );
+ ForecastMonth: function (data) {
+ this.forecastamount = dbo.helpers.thousandSeparator(Math.round(data.forecastamount))
},
- Monthpayment: function ( data ) {
- var vm = dbo.invoicereport;
- var self = this;
- self.projectname = data.projectname;
- self.customer = data.customer;
- self.totalProjectPayments = data.totalProjectPayments;
+ Monthpayment: function (data) {
+ var vm = dbo.invoicereport
+ var self = this
+ self.projectname = data.projectname
+ self.customer = data.customer
+ self.totalProjectPayments = data.totalProjectPayments
- self.paymentMonths = ko.observableArray( [] );
- _.each( data.monthPayments, function ( p, i ) {
- self.paymentMonths.push( new vm.PaymentMonth( p ) );
- _.each( vm.monthPaymentTotals(), function ( q ) {
- if ( q.monthID == i ) q.paymentamount( Math.round(Number( q.paymentamount()) ) + Math.round(Number( p.paymentamount ) ));
- } );
- } );
+ self.paymentMonths = ko.observableArray([])
+ _.each(data.monthPayments, function (p, i) {
+ self.paymentMonths.push(new vm.PaymentMonth(p))
+ _.each(vm.monthPaymentTotals(), function (q) {
+ if (q.monthID == i) q.paymentamount(Math.round(Number(q.paymentamount())) + Math.round(Number(p.paymentamount)))
+ })
+ })
},
- PaymentMonth: function ( data ) {
- this.paymentamount = dbo.helpers.thousandSeparator( Math.round(data.paymentamount) );
+ PaymentMonth: function (data) {
+ this.paymentamount = dbo.helpers.thousandSeparator(Math.round(data.paymentamount))
+ },
+
+ Invoice : function(data){
+ var vat = Math.round((data.invoiceamount * 21) / 100);
+ var inclVat = vat + Number(data.invoiceamount);
+ this.invoiceamount = dbo.helpers.thousandSeparator(data.invoiceamount)
+ this.vat = dbo.helpers.thousandSeparator(vat)
+ this.inclVat = dbo.helpers.thousandSeparator(inclVat)
+ this.project = data.projectnumber + ' ' + data.projectname
+ this.invoicedate = data.invoicedate
+ this.name = data.name
+ this.invoicenumber = ko.observable(data.invoicenumber)
},
createSpreadsheet: function () {
- var vm = dbo.invoicereport;
+ var vm = dbo.invoicereport
- var orderDirection = vm.orderDirection ? 'ASC' : 'DESC';
- var archive = vm.archive() ? 'T' : 'F';
+ var orderDirection = vm.orderDirection ? 'ASC' : 'DESC'
+ var archive = vm.archive() ? 'T' : 'F'
- var url = 'index.php/reports/reportsController/createInvoicesSpreadsheet/' + vm.selectedYear() + '/' + vm.orderType + '/' + orderDirection + '/' + archive;
- window.open( url, '_blank' );
+ var url = 'index.php/reports/reportsController/createInvoicesSpreadsheet/' + vm.selectedYear() + '/' + vm.orderType + '/' + orderDirection + '/' + archive
+ window.open(url, '_blank')
}
}
- dbo.invoicereport.init();
+ dbo.invoicereport.init()
ko.applyBindings(
- dbo.invoicereport, document.getElementById( "INVOICEREPORT" ) );
-
+ dbo.invoicereport, document.getElementById('INVOICEREPORT'))
}
-
}
diff --git a/public/js/lib/modules/reports/reservations.js b/public/js/lib/modules/reports/reservations.js
index c234136..b66ecbf 100644
--- a/public/js/lib/modules/reports/reservations.js
+++ b/public/js/lib/modules/reports/reservations.js
@@ -68,7 +68,7 @@ dbo.reservationsInit = function () {
var vm = dbo.reservationsModel;
var self = this;
- self.projectnumber = data.projectnumber;
+ self.projectnumber = data.projectnumber + ' ' + data.projectname;
self.costs = dbo.helpers.numberWithPoints( data.costs );
self.reservation = dbo.helpers.numberWithPoints( data.reservation );
self.payed = dbo.helpers.numberWithPoints( data.payed );