Files
dbois/public/js/lib/modules/dashboard/dashboardModule.js
T
2020-01-10 15:30:30 +01:00

76 lines
2.5 KiB
JavaScript

/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 31/10/2019
* Time: 14:31
*/
dbo.dashboardInit = function () {
if ( dbo.dashboardModel !== undefined ) {
dbo.dashboardModel.init();
} else {
dbo.dashboardModel = {
owpThisYear : ko.observable( null ),
owpNextYear : ko.observable( null ),
owpTotal : ko.observable( null ),
revenuesNextyear : ko.observable( null ),
totalRevenues : ko.observable( null ),
outstanding : ko.observable( null ),
toInvoice : ko.observable( null ),
openCosts : ko.observable( null ),
revenues : ko.observable( null ),
revenues : ko.observable( null ),
revenueCurrentYear: ko.observable( null ),
init: function () {
var self = dbo.dashboardModel;
dbo.dashboardDataservice.getOwhp( function ( data ) {
var outstandings = self.getOutstandingTotal( data.outstandings );
var revCurYear = Number( data.currentFinancialYear ) + Number( data.totalOwp );
self.owpThisYear( dbo.helpers.thousandSeparator( data.currentFinancialYear ) );
self.owpNextYear( dbo.helpers.thousandSeparator( data.owpNextyear ) );
self.owpTotal( dbo.helpers.thousandSeparator( data.totalOwp ) );
self.revenuesNextyear( dbo.helpers.thousandSeparator( data.revenuesNextyear ) );
self.totalRevenues( dbo.helpers.thousandSeparator( data.totalRevenues ) );
self.outstanding( dbo.helpers.thousandSeparator( outstandings.open ) );
self.toInvoice( dbo.helpers.thousandSeparator( outstandings.toInvoice ) );
self.openCosts( dbo.helpers.thousandSeparator( outstandings.openCosts ) );
self.revenues( dbo.helpers.thousandSeparator( outstandings.revenues ) );
self.revenueCurrentYear( dbo.helpers.thousandSeparator( revCurYear ) );
} );
},
getOutstandingTotal: function ( data ) {
var open = 0;
var toInvoice = 0;
var costs = 0;
var openCosts = 0;
_.each( data, function ( p ) {
open += Number( p.invoiced ) - Number( p.payment );
toInvoice += Number( p.revenues ) - Number( p.invoiced );
costs += Number( p.costs );
openCosts += Number( p.costs ) - Number( p.payedcosts )
} );
var revenues = (Number( open ) + Number( toInvoice ) - Number( openCosts )) / 1.21;
return {
open : open,
toInvoice: toInvoice,
costs : costs,
revenues : Math.round( revenues ),
openCosts: openCosts
};
}
};
dbo.dashboardModel.init();
ko.applyBindings( dbo.dashboardModel, document.getElementById( 'DASHBOARD' ) );
}
};