Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Controller dialogo
- function DialogController($scope, $mdDialog, employee) {
- $scope.employee = {};
- var factorDias = 30 / 28;
- vm.settlements.child('liqui')
- .orderByChild("rut")
- .equalTo(employee.rut)
- .on("child_added", function (snapshot) {
- vm.keyExist = snapshot.val().idLiqui;
- });
- if (true) {
- var obj = $firebaseObject(vm.liquidaciones.child(vm.keyExist))
- obj.$loaded()
- .then(function (ress) {
- $scope.employee = ress;
- });
- } else {
- $scope.employee = employee;
- }
- // $scope.employee = employee;
- // if ($scope.employee.impo == undefined) {
- // $scope.employee.impo = {};
- // };
- // $scope.employee.noImpo = {};
- // $scope.employee.DTO = {};
- // $scope.asigZona = vm.generalLiqui.asigZona;
- // // BONOS
- // $scope.employee.bonosImponibles = _.map($scope.employee.bonosImponibles, function (dat) {
- // var obj = vm.bonosImponibles.$getRecord(dat.id);
- // dat.nombre = obj.nombre;
- // return dat;
- // });
- // $scope.employee.bonosNoImponibles = _.map($scope.employee.bonosNoImponibles, function (dat) {
- // var obj = vm.bonosNoImponibles.$getRecord(dat.id);
- // dat.nombre = obj.nombre;
- // return dat;
- // });
- // $scope.employee.baseGENERAL = parseInt(parseFloat(employee.GENERALhrsValor) * parseInt(employee.GENERALhrs));
- // $scope.employee.basePIE = parseFloat(employee.PIEhrsValor) * parseInt(employee.PIEhrs);
- // $scope.employee.baseSEP = parseFloat(employee.SEPhrsValor) * parseInt(employee.SEPhrs);
- // $scope.valuesAFP = vm.AFP.$getRecord($scope.employee.AFP);
- // var hrsTotalBase = parseInt(employee.GENERALhrs) + parseInt(employee.PIEhrs) + parseInt(employee.SEPhrs);
- // var hrsTotal = hrsTotalBase * 4;
- // var sueldoBase = $scope.employee.baseGENERAL + $scope.employee.basePIE + $scope.employee.baseSEP;
- // var valorHrs = ((sueldoBase / 30) * 28) / hrsTotal;
- $scope.result_GENERAL = function () {
- if ($scope.employee.inasistGeneral == undefined) {
- var inasis = 0;
- }
- else {
- var inasis = $scope.employee.inasistGeneral;
- }
- var total_h = (parseInt(employee.GENERALhrs) * 4) - parseInt(inasis);
- $scope.employee.impo.sueldoGENERAL = ((total_h) * factorDias) * valorHrs;
- if (_.isNaN($scope.employee.impo.sueldoGENERAL)) {
- $scope.employee.impo.sueldoGENERAL = 0;
- }
- }
- $scope.result_PIE = function () {
- if ($scope.employee.inasistPIE == undefined) {
- var inasis = 0;
- }
- else {
- var inasis = $scope.employee.inasistPIE;
- }
- var inasis = $scope.employee.inasistPIE;
- var total_h = (parseInt(employee.PIEhrs) * 4) - parseInt(inasis);
- $scope.employee.impo.sueldoPIE = ((total_h) * factorDias) * valorHrs;
- if (_.isNaN($scope.employee.impo.sueldoPIE)) {
- $scope.employee.impo.sueldoPIE = 0;
- }
- }
- $scope.result_SEP = function () {
- if ($scope.employee.inasistSEP == undefined) {
- var inasis = 0;
- }
- else {
- var inasis = $scope.employee.inasistSEP;
- }
- var inasis = $scope.employee.inasistSEP;
- var total_h = (parseInt(employee.SEPhrs) * 4) - parseInt(inasis);
- $scope.employee.impo.sueldoSEP = ((total_h) * factorDias) * valorHrs;
- if (_.isNaN($scope.employee.impo.sueldoSEP)) {
- $scope.employee.impo.sueldoSEP = 0;
- }
- }
- //calculo valores imponibles
- $scope.total_impo = function () {
- //asignacion zona
- var sumaSueldoBase = $scope.employee.impo.sueldoGENERAL +
- $scope.employee.impo.sueldoSEP +
- $scope.employee.impo.sueldoPIE;
- if ($scope.employee.asigZona) {
- $scope.employee.impo.asigZona = (sumaSueldoBase * parseInt($scope.asigZona)) / 100;
- }
- var sumaImponible = _.sum(
- _.values(
- _.map($scope.employee.impo, function (value, key) {
- return parseFloat(value)
- })
- )
- );
- var sumaBonosImponibles = _.sum(
- _.values(
- _.map($scope.employee.bonosImponibles, function (value, key) {
- return parseFloat(value.valor)
- })
- )
- );
- $scope.employee.totalImponible = sumaBonosImponibles + sumaImponible;
- }
- //calculo valores no imponibles
- $scope.total_noImponibl = function () {
- var sumaBonos = _.sum(
- _.values(
- _.map($scope.employee.bonosNoImponibles, function (value, key) {
- return parseFloat(value.valor)
- })
- )
- );
- var sumaExtras = _.sum(
- _.values(
- _.map($scope.employee.noImpo, function (value, key) {
- return parseFloat(value)
- })
- )
- );
- $scope.employee.totalNoImponible = parseFloat(sumaBonos) + parseFloat(sumaExtras);
- $scope.employee.totalHaberes = $scope.employee.totalNoImponible + $scope.employee.totalImponible;
- }
- //Calculo descuentos
- $scope.total_descuentos = function () {
- //AFP
- if (parseFloat($scope.employee.totalImponible) <= parseFloat(vm.indicador.RentasTopesImponibles.afAFP)) {
- console.log('es MEnor a 75UF')
- var aa = parseFloat($scope.employee.totalImponible);
- var ss = parseFloat($scope.valuesAFP.DepAfp);
- $scope.employee.DTO.calAFP = (aa * ss) / 100;
- var SALUD = 7;
- $scope.employee.DTO.calSALUD = (aa * SALUD) / 100;
- } else {
- console.log('Es mayor a 75 uf')
- $scope.employee.DTO.calAFP = (parseFloat(vm.indicador.RentasTopesImponibles.afAFP) * parseFloat($scope.valuesAFP.DepAfp)) / 100;
- $scope.employee.DTO.calSALUD = (parseFloat(vm.indicador.RentasTopesImponibles.afAFP) * 7) / 100;
- }
- //Seguro de cesantia
- if (parseFloat($scope.employee.totalImponible) <= parseFloat(vm.indicador.RentasTopesImponibles.sCesantia)) {
- console.log('es MEnor a 75UF')
- $scope.employee.DTO.segCesantia = (parseFloat($scope.employee.totalImponible) * 0.6) / 100;
- } else {
- console.log('Es mayor a 75 uf')
- $scope.employee.DTO.segCesantia = (parseFloat(vm.indicador.RentasTopesImponibles.sCesantia) * 0.6) / 100;
- }
- $scope.employee.totalDescuentos = _.sum(
- _.values(
- _.map($scope.employee.DTO, function (value, key) {
- return parseFloat(value)
- })
- )
- );
- $scope.employee.totalLiquiPagar = $scope.employee.totalHaberes - $scope.employee.totalDescuentos;
- };
- $scope.imprimirSingle = function () {
- pdfMake.createPdf(generadorLiqui.multiple(vm.selectedContacts)).open();
- }
- $scope.getNombre = function (valueKey, tipo) {
- if (tipo == 'impo') {
- var rec = vm.bonosImponibles.$getRecord(valueKey);
- }
- if (tipo == 'noImpo') {
- var rec = vm.bonosNoImponibles.$getRecord(valueKey);
- }
- return rec.nombre;
- }
- //INIT
- $scope.$watch('employee', function (newVal, oldVal) {
- $scope.result_GENERAL();
- $scope.result_PIE();
- $scope.result_SEP();
- $scope.total_impo();
- $scope.total_noImponibl();
- $scope.total_descuentos();
- console.log('changed');
- }, true);
- $scope.guardar = function () {
- $firebaseArray(vm.liquidaciones)
- .$add($scope.employee)
- .then(function (dataRes) {
- var refSettlement = $firebaseArray(vm.settlements.child('liqui'));
- var employeeEstatus = {
- rut: $scope.employee.rut,
- idLiqui: dataRes.key,
- status: 'pendiente'
- };
- refSettlement.$add(employeeEstatus).then(function (res) {
- });
- });
- }
- vm.hide = function () {
- $mdDialog.hide();
- };
- vm.cancel = function () {
- $mdDialog.cancel();
- };
- vm.answer = function (answer) {
- $mdDialog.hide(answer);
- };
- }
- ///:: fin controller
Advertisement
Add Comment
Please, Sign In to add comment