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);
}
public function addVat()
{
Vat::create([]);
}
}
@@ -23,7 +23,6 @@ class Qinvoiceoverview {
CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname,
( SELECT vatrate FROM vats WHERE archive = 'F' LIMIT 1 ) AS vatrate,
COALESCE(reserved, 0 ) AS reserved,
COALESCE(reservedpayed, 0 ) AS reservedpayed,
COALESCE(currentforecast, 0) AS currentforecast,
COALESCE(otherforecast, 0) AS otherforecast
FROM invoices INV
@@ -47,8 +46,7 @@ class Qinvoiceoverview {
ON INV.id = Q1.invoice_id
LEFT JOIN (
SELECT project_id,
SUM(IF(payed='UNPAYED', reservationamount, 0)) reserved,
SUM(IF(payed='PAYED', reservationamount, 0)) reservedpayed
SUM( reservationamount) reserved
FROM reservations
GROUP BY project_id
) AS Q2
+2 -2
View File
@@ -7,7 +7,7 @@
<div class="panel-body panel-body-project">
<table class="table table-sm">
<thead>
<th class="table-cyanish-header" width="35%">
<th class="table-cyanish-header" width="32%">
medewerker
</th>
<th class="table-cyanish-header" width="15%">
@@ -16,7 +16,7 @@
<th class="table-cyanish-header" width="15%">
declarabel
</th>
<th class="table-cyanish-header align-right" width="12%">
<th class="table-cyanish-header align-right" width="15%">
uren
</th>
<th class="table-cyanish-header align-right" width="15%">
@@ -4,7 +4,7 @@
uitgaande facturen
</h3>
</div>
<div class="panel-body panel-body-project">
<div class="panel-body panel-body-project" style="overflow-y:scroll;">
<table class="table table-sm">
<thead>
<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/customersModule.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/projectsModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/projects/employeehoursModule.js?version=<?= $this->version ?>"></script>
@@ -4,10 +4,10 @@
<th class="rotate">
<div><span>project</span></div>
</th>
<th class="rotate">
<th class="rotate" width="150px">
<div><span>klant</span></div>
</th>
<th class="rotate">
<th class="rotate" width="100px">
<div><span>status afgehandeld</span></div>
</th>
<!-- <th class="rotate">-->
@@ -43,17 +43,17 @@
</th>
<!-- /ko -->
<!-- ko if:$root.invoiceTab() == 'forecast' -->
<th class="rotate">
<th class="rotate" width="100px">
<div><span>nog te factureren (incl.btw)</span></div>
</th>
<th class="rotate">
<th class="rotate" width="100px">
<div><span>nog te factureren lopend jaar</span></div>
</th>
<th class="rotate">
<th class="rotate" width="100px">
<div><span>nog te factureren na lopend jaar</span></div>
</th>
<th class="rotate">
<div><span>verschil prognose - werkelijk</span></div>
<th class="rotate" width="100px">
<div><span>nog te prognotiseren</span></div>
</th>
<!-- /ko -->
<!-- ko if:$root.invoiceTab() == 'monthforecast' -->
@@ -133,7 +133,7 @@
<i class="icon fa-euro"></i>
<span data-bind="text:otherforecast"></span>
</td>
<th class="align-right">
<th class="align-right focus-green">
<i class="icon fa-euro"></i>
<span data-bind="text:missingForecast"></span>
</th>
@@ -171,6 +171,24 @@
<th colspan="3" class="align-right">
totaal
</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' -->
<th class="align-right">
<i class="icon fa-euro"></i>
@@ -12,6 +12,13 @@ dbo.vatDataService = {
.done( function ( 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,6 +25,10 @@ dbo.outgoinginvoicesInit = function () {
totalToInvoiceFuture: ko.observable(),
initialize : null,
validYear : ko.observable(),
totalToInvoice : ko.observable(),
totalCurrentforecast: ko.observable(),
totalOtherforecast : ko.observable(),
totalMissingForecast: ko.observable(),
init: function () {
var vm = dbo.outgoinginvoicesModel;
@@ -72,6 +76,9 @@ dbo.outgoinginvoicesInit = function () {
} );
vm.totalToInvoice( dbo.helpers.numberWithPoints( Math.round( vm.totalToInvoice() ) ) );
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;
vm.totalToInvoice( 0 );
vm.totalToInvoiceFuture( 0 );
vm.totalCurrentforecast( 0 );
vm.totalOtherforecast( 0 );
vm.totalMissingForecast( 0 );
},
Project: function ( data ) {
@@ -109,8 +119,9 @@ dbo.outgoinginvoicesInit = function () {
self.toInvoiceFuture = dbo.helpers.numberWithPoints( Math.round( totalInvoice - totalInvoiced - Number( data.currentforecast ) ) );
self.currentforecast = dbo.helpers.numberWithPoints( Math.round( data.currentforecast ) );
self.otherforecast = dbo.helpers.numberWithPoints( Math.round( data.otherforecast ) );
self.missingForecast =
dbo.helpers.numberWithPoints( totalInvoice - totalInvoiced - data.otherforecast );
var missingForcast = Math.round( totalInvoice - totalInvoiced - data.otherforecast - data.currentforecast );
console.log( missingForcast );
self.missingForecast = dbo.helpers.numberWithPoints( missingForcast );
self.months = ko.observableArray( [] );
_.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.totalToInvoice( vm.totalToInvoice() + (totalInvoice - totalInvoiced) );
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 ) {