luisruiz

Untitled

Jul 31st, 2017
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.25 KB | None | 0 0
  1.  
  2.  
  3. //Controller dialogo
  4. function DialogController($scope, $mdDialog, employee) {
  5.  
  6. $scope.employee = {};
  7. var factorDias = 30 / 28;
  8.  
  9. vm.settlements.child('liqui')
  10. .orderByChild("rut")
  11. .equalTo(employee.rut)
  12. .on("child_added", function (snapshot) {
  13. vm.keyExist = snapshot.val().idLiqui;
  14. });
  15.  
  16.  
  17. if (true) {
  18. var obj = $firebaseObject(vm.liquidaciones.child(vm.keyExist))
  19. obj.$loaded()
  20. .then(function (ress) {
  21.  
  22. $scope.employee = ress;
  23. });
  24.  
  25. } else {
  26. $scope.employee = employee;
  27.  
  28. }
  29.  
  30.  
  31.  
  32.  
  33.  
  34. // $scope.employee = employee;
  35.  
  36. // if ($scope.employee.impo == undefined) {
  37. // $scope.employee.impo = {};
  38. // };
  39.  
  40. // $scope.employee.noImpo = {};
  41. // $scope.employee.DTO = {};
  42. // $scope.asigZona = vm.generalLiqui.asigZona;
  43.  
  44.  
  45. // // BONOS
  46. // $scope.employee.bonosImponibles = _.map($scope.employee.bonosImponibles, function (dat) {
  47. // var obj = vm.bonosImponibles.$getRecord(dat.id);
  48. // dat.nombre = obj.nombre;
  49. // return dat;
  50. // });
  51.  
  52. // $scope.employee.bonosNoImponibles = _.map($scope.employee.bonosNoImponibles, function (dat) {
  53. // var obj = vm.bonosNoImponibles.$getRecord(dat.id);
  54. // dat.nombre = obj.nombre;
  55. // return dat;
  56. // });
  57.  
  58.  
  59.  
  60.  
  61. // $scope.employee.baseGENERAL = parseInt(parseFloat(employee.GENERALhrsValor) * parseInt(employee.GENERALhrs));
  62. // $scope.employee.basePIE = parseFloat(employee.PIEhrsValor) * parseInt(employee.PIEhrs);
  63. // $scope.employee.baseSEP = parseFloat(employee.SEPhrsValor) * parseInt(employee.SEPhrs);
  64.  
  65.  
  66.  
  67. // $scope.valuesAFP = vm.AFP.$getRecord($scope.employee.AFP);
  68.  
  69.  
  70.  
  71. // var hrsTotalBase = parseInt(employee.GENERALhrs) + parseInt(employee.PIEhrs) + parseInt(employee.SEPhrs);
  72.  
  73. // var hrsTotal = hrsTotalBase * 4;
  74.  
  75. // var sueldoBase = $scope.employee.baseGENERAL + $scope.employee.basePIE + $scope.employee.baseSEP;
  76.  
  77.  
  78.  
  79. // var valorHrs = ((sueldoBase / 30) * 28) / hrsTotal;
  80.  
  81.  
  82.  
  83.  
  84.  
  85. $scope.result_GENERAL = function () {
  86. if ($scope.employee.inasistGeneral == undefined) {
  87. var inasis = 0;
  88. }
  89. else {
  90. var inasis = $scope.employee.inasistGeneral;
  91. }
  92. var total_h = (parseInt(employee.GENERALhrs) * 4) - parseInt(inasis);
  93. $scope.employee.impo.sueldoGENERAL = ((total_h) * factorDias) * valorHrs;
  94. if (_.isNaN($scope.employee.impo.sueldoGENERAL)) {
  95. $scope.employee.impo.sueldoGENERAL = 0;
  96. }
  97.  
  98. }
  99.  
  100. $scope.result_PIE = function () {
  101. if ($scope.employee.inasistPIE == undefined) {
  102. var inasis = 0;
  103. }
  104. else {
  105. var inasis = $scope.employee.inasistPIE;
  106. }
  107. var inasis = $scope.employee.inasistPIE;
  108. var total_h = (parseInt(employee.PIEhrs) * 4) - parseInt(inasis);
  109. $scope.employee.impo.sueldoPIE = ((total_h) * factorDias) * valorHrs;
  110. if (_.isNaN($scope.employee.impo.sueldoPIE)) {
  111. $scope.employee.impo.sueldoPIE = 0;
  112. }
  113.  
  114. }
  115.  
  116. $scope.result_SEP = function () {
  117. if ($scope.employee.inasistSEP == undefined) {
  118. var inasis = 0;
  119. }
  120. else {
  121. var inasis = $scope.employee.inasistSEP;
  122. }
  123. var inasis = $scope.employee.inasistSEP;
  124. var total_h = (parseInt(employee.SEPhrs) * 4) - parseInt(inasis);
  125. $scope.employee.impo.sueldoSEP = ((total_h) * factorDias) * valorHrs;
  126. if (_.isNaN($scope.employee.impo.sueldoSEP)) {
  127. $scope.employee.impo.sueldoSEP = 0;
  128. }
  129. }
  130.  
  131.  
  132. //calculo valores imponibles
  133. $scope.total_impo = function () {
  134. //asignacion zona
  135. var sumaSueldoBase = $scope.employee.impo.sueldoGENERAL +
  136. $scope.employee.impo.sueldoSEP +
  137. $scope.employee.impo.sueldoPIE;
  138.  
  139. if ($scope.employee.asigZona) {
  140. $scope.employee.impo.asigZona = (sumaSueldoBase * parseInt($scope.asigZona)) / 100;
  141. }
  142.  
  143. var sumaImponible = _.sum(
  144. _.values(
  145. _.map($scope.employee.impo, function (value, key) {
  146.  
  147. return parseFloat(value)
  148. })
  149. )
  150. );
  151.  
  152. var sumaBonosImponibles = _.sum(
  153. _.values(
  154. _.map($scope.employee.bonosImponibles, function (value, key) {
  155.  
  156. return parseFloat(value.valor)
  157. })
  158. )
  159. );
  160.  
  161.  
  162. $scope.employee.totalImponible = sumaBonosImponibles + sumaImponible;
  163.  
  164.  
  165.  
  166. }
  167.  
  168. //calculo valores no imponibles
  169. $scope.total_noImponibl = function () {
  170.  
  171.  
  172. var sumaBonos = _.sum(
  173. _.values(
  174. _.map($scope.employee.bonosNoImponibles, function (value, key) {
  175.  
  176. return parseFloat(value.valor)
  177. })
  178. )
  179. );
  180.  
  181. var sumaExtras = _.sum(
  182. _.values(
  183. _.map($scope.employee.noImpo, function (value, key) {
  184.  
  185. return parseFloat(value)
  186. })
  187. )
  188. );
  189.  
  190. $scope.employee.totalNoImponible = parseFloat(sumaBonos) + parseFloat(sumaExtras);
  191. $scope.employee.totalHaberes = $scope.employee.totalNoImponible + $scope.employee.totalImponible;
  192. }
  193.  
  194. //Calculo descuentos
  195. $scope.total_descuentos = function () {
  196.  
  197. //AFP
  198.  
  199. if (parseFloat($scope.employee.totalImponible) <= parseFloat(vm.indicador.RentasTopesImponibles.afAFP)) {
  200. console.log('es MEnor a 75UF')
  201.  
  202. var aa = parseFloat($scope.employee.totalImponible);
  203. var ss = parseFloat($scope.valuesAFP.DepAfp);
  204. $scope.employee.DTO.calAFP = (aa * ss) / 100;
  205. var SALUD = 7;
  206. $scope.employee.DTO.calSALUD = (aa * SALUD) / 100;
  207. } else {
  208. console.log('Es mayor a 75 uf')
  209.  
  210.  
  211. $scope.employee.DTO.calAFP = (parseFloat(vm.indicador.RentasTopesImponibles.afAFP) * parseFloat($scope.valuesAFP.DepAfp)) / 100;
  212. $scope.employee.DTO.calSALUD = (parseFloat(vm.indicador.RentasTopesImponibles.afAFP) * 7) / 100;
  213.  
  214. }
  215.  
  216. //Seguro de cesantia
  217. if (parseFloat($scope.employee.totalImponible) <= parseFloat(vm.indicador.RentasTopesImponibles.sCesantia)) {
  218. console.log('es MEnor a 75UF')
  219.  
  220. $scope.employee.DTO.segCesantia = (parseFloat($scope.employee.totalImponible) * 0.6) / 100;
  221. } else {
  222. console.log('Es mayor a 75 uf')
  223.  
  224.  
  225. $scope.employee.DTO.segCesantia = (parseFloat(vm.indicador.RentasTopesImponibles.sCesantia) * 0.6) / 100;
  226.  
  227. }
  228.  
  229. $scope.employee.totalDescuentos = _.sum(
  230. _.values(
  231. _.map($scope.employee.DTO, function (value, key) {
  232.  
  233. return parseFloat(value)
  234. })
  235. )
  236. );
  237.  
  238. $scope.employee.totalLiquiPagar = $scope.employee.totalHaberes - $scope.employee.totalDescuentos;
  239.  
  240. };
  241.  
  242.  
  243.  
  244. $scope.imprimirSingle = function () {
  245.  
  246. pdfMake.createPdf(generadorLiqui.multiple(vm.selectedContacts)).open();
  247.  
  248. }
  249.  
  250.  
  251. $scope.getNombre = function (valueKey, tipo) {
  252.  
  253. if (tipo == 'impo') {
  254. var rec = vm.bonosImponibles.$getRecord(valueKey);
  255.  
  256. }
  257.  
  258. if (tipo == 'noImpo') {
  259. var rec = vm.bonosNoImponibles.$getRecord(valueKey);
  260.  
  261. }
  262.  
  263. return rec.nombre;
  264.  
  265. }
  266.  
  267.  
  268.  
  269.  
  270. //INIT
  271.  
  272. $scope.$watch('employee', function (newVal, oldVal) {
  273. $scope.result_GENERAL();
  274. $scope.result_PIE();
  275. $scope.result_SEP();
  276.  
  277. $scope.total_impo();
  278. $scope.total_noImponibl();
  279. $scope.total_descuentos();
  280. console.log('changed');
  281. }, true);
  282.  
  283.  
  284.  
  285. $scope.guardar = function () {
  286.  
  287. $firebaseArray(vm.liquidaciones)
  288. .$add($scope.employee)
  289. .then(function (dataRes) {
  290.  
  291. var refSettlement = $firebaseArray(vm.settlements.child('liqui'));
  292.  
  293. var employeeEstatus = {
  294. rut: $scope.employee.rut,
  295. idLiqui: dataRes.key,
  296. status: 'pendiente'
  297. };
  298. refSettlement.$add(employeeEstatus).then(function (res) {
  299.  
  300. });
  301.  
  302.  
  303. });
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313. }
  314.  
  315.  
  316.  
  317. vm.hide = function () {
  318. $mdDialog.hide();
  319. };
  320. vm.cancel = function () {
  321. $mdDialog.cancel();
  322. };
  323. vm.answer = function (answer) {
  324. $mdDialog.hide(answer);
  325. };
  326. }
  327. ///:: fin controller
Advertisement
Add Comment
Please, Sign In to add comment