Diversen nav opmerkingen

This commit is contained in:
2018-05-05 20:55:18 +02:00
parent b589058437
commit a3d200c38b
10 changed files with 156 additions and 17 deletions
@@ -33,4 +33,9 @@ class vatController extends MY_Controller {
$this->json($vats); $this->json($vats);
} }
public function addVat()
{
Vat::create([]);
}
} }
@@ -23,7 +23,6 @@ class Qinvoiceoverview {
CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname, CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname,
( SELECT vatrate FROM vats WHERE archive = 'F' LIMIT 1 ) AS vatrate, ( SELECT vatrate FROM vats WHERE archive = 'F' LIMIT 1 ) AS vatrate,
COALESCE(reserved, 0 ) AS reserved, COALESCE(reserved, 0 ) AS reserved,
COALESCE(reservedpayed, 0 ) AS reservedpayed,
COALESCE(currentforecast, 0) AS currentforecast, COALESCE(currentforecast, 0) AS currentforecast,
COALESCE(otherforecast, 0) AS otherforecast COALESCE(otherforecast, 0) AS otherforecast
FROM invoices INV FROM invoices INV
@@ -47,8 +46,7 @@ class Qinvoiceoverview {
ON INV.id = Q1.invoice_id ON INV.id = Q1.invoice_id
LEFT JOIN ( LEFT JOIN (
SELECT project_id, SELECT project_id,
SUM(IF(payed='UNPAYED', reservationamount, 0)) reserved, SUM( reservationamount) reserved
SUM(IF(payed='PAYED', reservationamount, 0)) reservedpayed
FROM reservations FROM reservations
GROUP BY project_id GROUP BY project_id
) AS Q2 ) AS Q2
+2 -2
View File
@@ -7,7 +7,7 @@
<div class="panel-body panel-body-project"> <div class="panel-body panel-body-project">
<table class="table table-sm"> <table class="table table-sm">
<thead> <thead>
<th class="table-cyanish-header" width="35%"> <th class="table-cyanish-header" width="32%">
medewerker medewerker
</th> </th>
<th class="table-cyanish-header" width="15%"> <th class="table-cyanish-header" width="15%">
@@ -16,7 +16,7 @@
<th class="table-cyanish-header" width="15%"> <th class="table-cyanish-header" width="15%">
declarabel declarabel
</th> </th>
<th class="table-cyanish-header align-right" width="12%"> <th class="table-cyanish-header align-right" width="15%">
uren uren
</th> </th>
<th class="table-cyanish-header align-right" width="15%"> <th class="table-cyanish-header align-right" width="15%">
@@ -4,7 +4,7 @@
uitgaande facturen uitgaande facturen
</h3> </h3>
</div> </div>
<div class="panel-body panel-body-project"> <div class="panel-body panel-body-project" style="overflow-y:scroll;">
<table class="table table-sm"> <table class="table table-sm">
<thead> <thead>
<th class="table-cyanish-header">&nbsp;</th> <th class="table-cyanish-header">&nbsp;</th>
+33
View File
@@ -0,0 +1,33 @@
<div class="VAT">
<div class="row">
<div class="col-md-4">
<table class="table table-condensed">
<thead>
<tr>
<th>percentage</th>
<th></th>
</tr>
</thead>
<tbody data-bind="foreach:vats">
<tr>
<td>
<input type="text" data-bind="text:vatrate" />
</td>
<td width="60px">
<i class="icon fa-sellsy"></i>
<i class="icon fa-edit" data-bind="click:$root.toggleEdit"></i>
<i class="icon fa-trash redish" data-bind="$root.removeVat"></i>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<th colspan="2">
<button class="btn btn-primary" data-bind="click:addVat">voeg btw toe</button>
</th>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
+1
View File
@@ -28,6 +28,7 @@
<script src="js/lib/modules/beheer/usersModule.js?version=<?= $this->version ?>"></script> <script src="js/lib/modules/beheer/usersModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/beheer/customersModule.js?version=<?= $this->version ?>"></script> <script src="js/lib/modules/beheer/customersModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/beheer/externalsModule.js?version=<?= $this->version ?>"></script> <script src="js/lib/modules/beheer/externalsModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/beheer/vatModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/projects/offersModule.js?version=<?= $this->version ?>"></script> <script src="js/lib/modules/projects/offersModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/projects/projectsModule.js?version=<?= $this->version ?>"></script> <script src="js/lib/modules/projects/projectsModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/projects/employeehoursModule.js?version=<?= $this->version ?>"></script> <script src="js/lib/modules/projects/employeehoursModule.js?version=<?= $this->version ?>"></script>
@@ -4,10 +4,10 @@
<th class="rotate"> <th class="rotate">
<div><span>project</span></div> <div><span>project</span></div>
</th> </th>
<th class="rotate"> <th class="rotate" width="150px">
<div><span>klant</span></div> <div><span>klant</span></div>
</th> </th>
<th class="rotate"> <th class="rotate" width="100px">
<div><span>status afgehandeld</span></div> <div><span>status afgehandeld</span></div>
</th> </th>
<!-- <th class="rotate">--> <!-- <th class="rotate">-->
@@ -43,17 +43,17 @@
</th> </th>
<!-- /ko --> <!-- /ko -->
<!-- ko if:$root.invoiceTab() == 'forecast' --> <!-- ko if:$root.invoiceTab() == 'forecast' -->
<th class="rotate"> <th class="rotate" width="100px">
<div><span>nog te factureren (incl.btw)</span></div> <div><span>nog te factureren (incl.btw)</span></div>
</th> </th>
<th class="rotate"> <th class="rotate" width="100px">
<div><span>nog te factureren lopend jaar</span></div> <div><span>nog te factureren lopend jaar</span></div>
</th> </th>
<th class="rotate"> <th class="rotate" width="100px">
<div><span>nog te factureren na lopend jaar</span></div> <div><span>nog te factureren na lopend jaar</span></div>
</th> </th>
<th class="rotate"> <th class="rotate" width="100px">
<div><span>verschil prognose - werkelijk</span></div> <div><span>nog te prognotiseren</span></div>
</th> </th>
<!-- /ko --> <!-- /ko -->
<!-- ko if:$root.invoiceTab() == 'monthforecast' --> <!-- ko if:$root.invoiceTab() == 'monthforecast' -->
@@ -133,7 +133,7 @@
<i class="icon fa-euro"></i> <i class="icon fa-euro"></i>
<span data-bind="text:otherforecast"></span> <span data-bind="text:otherforecast"></span>
</td> </td>
<th class="align-right"> <th class="align-right focus-green">
<i class="icon fa-euro"></i> <i class="icon fa-euro"></i>
<span data-bind="text:missingForecast"></span> <span data-bind="text:missingForecast"></span>
</th> </th>
@@ -171,6 +171,24 @@
<th colspan="3" class="align-right"> <th colspan="3" class="align-right">
totaal totaal
</th> </th>
<!-- ko if:$root.invoiceTab() == 'forecast' -->
<th class="align-right">
<i class="icon fa-euro"></i>
<span data-bind="text:totalToInvoice"></span>
</th>
<th class="align-right">
<i class="icon fa-euro"></i>
<span data-bind="text:totalCurrentforecast"></span>
</th>
<th class="align-right">
<i class="icon fa-euro"></i>
<span data-bind="text:totalOtherforecast"></span>
</th>
<th class="align-right focus-green">
<i class="icon fa-euro"></i>
<span data-bind="text:totalMissingForecast"></span>
</th>
<!-- /ko -->
<!-- ko if:$root.invoiceTab() == 'monthforecast' --> <!-- ko if:$root.invoiceTab() == 'monthforecast' -->
<th class="align-right"> <th class="align-right">
<i class="icon fa-euro"></i> <i class="icon fa-euro"></i>
@@ -12,6 +12,13 @@ dbo.vatDataService = {
.done( function ( data ) { .done( function ( data ) {
callback( data ); callback( data );
} ); } );
},
addVat: function ( callback ) {
$.get( 'index.php/beheer/vatController/addVat' )
.done( function () {
callback();
} );
} }
} }
+62
View File
@@ -0,0 +1,62 @@
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 05/05/2018
* Time: 20:15
*/
dbo.vatInit = function () {
if ( dbo.vatModel !== undefined ) {
} else {
dbo.vatModel = {
vats: ko.observableArray( [] ),
init: function () {
var vm = dbo.vatModel;
vm.refreshVat();
},
addVat: function () {
var vm = dbo.vatModel;
dbo.vatDataService.addVat( function () {
vm.refreshVat();
} );
},
refreshVat: function () {
var vm = dbo.vatModel;
dbo.vatDataService.getVats( 'F', function ( data ) {
vm.vats.removeAll();
_.each( data, function ( p ) {
vm.vats( new vm.Vat( p ) );
} )
} );
},
toggleEdit: function () {
this.inEdit( !this.inEdit() );
},
Vat: function ( data, inEdit = false ) {
this.id = data.id;
this.vatrate = ko.observable( data.vatrate );
this.inEdit = ko.observable( inEdit );
},
removeVat : function(){
}
}
dbo.vatModel.init();
ko.applyBindings( dbo.vatModel, document.getElementById( 'VAT' ) );
}
};
@@ -25,13 +25,17 @@ dbo.outgoinginvoicesInit = function () {
totalToInvoiceFuture: ko.observable(), totalToInvoiceFuture: ko.observable(),
initialize : null, initialize : null,
validYear : ko.observable(), validYear : ko.observable(),
totalToInvoice : ko.observable(),
totalCurrentforecast: ko.observable(),
totalOtherforecast : ko.observable(),
totalMissingForecast: ko.observable(),
init: function () { init: function () {
var vm = dbo.outgoinginvoicesModel; var vm = dbo.outgoinginvoicesModel;
vm.selectedYear( (new Date()).getFullYear() ); vm.selectedYear( (new Date()).getFullYear() );
vm.selectedMonthID( 0 ); vm.selectedMonthID( 0 );
vm.validYear(true); vm.validYear( true );
vm.initModule(); vm.initModule();
}, },
@@ -72,6 +76,9 @@ dbo.outgoinginvoicesInit = function () {
} ); } );
vm.totalToInvoice( dbo.helpers.numberWithPoints( Math.round( vm.totalToInvoice() ) ) ); vm.totalToInvoice( dbo.helpers.numberWithPoints( Math.round( vm.totalToInvoice() ) ) );
vm.totalToInvoiceFuture( dbo.helpers.numberWithPoints( Math.round( vm.totalToInvoiceFuture() ) ) ); vm.totalToInvoiceFuture( dbo.helpers.numberWithPoints( Math.round( vm.totalToInvoiceFuture() ) ) );
vm.totalCurrentforecast( dbo.helpers.numberWithPoints( Math.round( vm.totalCurrentforecast() ) ) );
vm.totalOtherforecast( dbo.helpers.numberWithPoints( Math.round( vm.totalOtherforecast() ) ) );
vm.totalMissingForecast( dbo.helpers.numberWithPoints( Math.round( vm.totalMissingForecast() ) ) );
} ); } );
}, },
@@ -79,6 +86,9 @@ dbo.outgoinginvoicesInit = function () {
var vm = dbo.outgoinginvoicesModel; var vm = dbo.outgoinginvoicesModel;
vm.totalToInvoice( 0 ); vm.totalToInvoice( 0 );
vm.totalToInvoiceFuture( 0 ); vm.totalToInvoiceFuture( 0 );
vm.totalCurrentforecast( 0 );
vm.totalOtherforecast( 0 );
vm.totalMissingForecast( 0 );
}, },
Project: function ( data ) { Project: function ( data ) {
@@ -109,8 +119,9 @@ dbo.outgoinginvoicesInit = function () {
self.toInvoiceFuture = dbo.helpers.numberWithPoints( Math.round( totalInvoice - totalInvoiced - Number( data.currentforecast ) ) ); self.toInvoiceFuture = dbo.helpers.numberWithPoints( Math.round( totalInvoice - totalInvoiced - Number( data.currentforecast ) ) );
self.currentforecast = dbo.helpers.numberWithPoints( Math.round( data.currentforecast ) ); self.currentforecast = dbo.helpers.numberWithPoints( Math.round( data.currentforecast ) );
self.otherforecast = dbo.helpers.numberWithPoints( Math.round( data.otherforecast ) ); self.otherforecast = dbo.helpers.numberWithPoints( Math.round( data.otherforecast ) );
self.missingForecast = var missingForcast = Math.round( totalInvoice - totalInvoiced - data.otherforecast - data.currentforecast );
dbo.helpers.numberWithPoints( totalInvoice - totalInvoiced - data.otherforecast ); console.log( missingForcast );
self.missingForecast = dbo.helpers.numberWithPoints( missingForcast );
self.months = ko.observableArray( [] ); self.months = ko.observableArray( [] );
_.each( data.months, function ( p ) { _.each( data.months, function ( p ) {
@@ -123,8 +134,12 @@ dbo.outgoinginvoicesInit = function () {
vm['payment' + p.month]( Number( vm['payment' + p.month]() ) + Number( p.paymentamount ) ); vm['payment' + p.month]( Number( vm['payment' + p.month]() ) + Number( p.paymentamount ) );
} ); } );
vm.totalToInvoice( vm.totalToInvoice() + (totalInvoice - totalInvoiced) ); vm.totalToInvoice( vm.totalToInvoice() + (totalInvoice - totalInvoiced) );
vm.totalToInvoiceFuture( vm.totalToInvoiceFuture() + (totalInvoice - totalInvoiced - Number( data.currentforecast )) ); vm.totalToInvoiceFuture( vm.totalToInvoiceFuture() + (totalInvoice - totalInvoiced - Number( data.currentforecast )) );
vm.totalCurrentforecast( Number( vm.totalCurrentforecast() ) + Number( data.currentforecast ) );
vm.totalOtherforecast( Number( vm.totalOtherforecast() ) + Number( data.otherforecast ) );
vm.totalMissingForecast( Number( vm.totalMissingForecast() ) + Number( missingForcast ) );
}, },
Month: function ( data ) { Month: function ( data ) {