mainAppModule.controller('plecareBileteCtrl', function($scope,ajaxService,browserInfoService,dateService){ $scope.jsonRequestUrl = ""; $scope.AdeverintaPDFUrlParams = "";//CNPPEGUVM-2530 $scope.adeverintaURL = "";//CNPPEGUVM-2530 $scope.unitateCazare = "";//CNPPEGUVM-2530 $scope.solicitant = "";//CNPPEGUVM-2530 $scope.selectValues = { nrSerie : "Selectati nr serie", dataIntrare : "Selectati data", prevDataIntrare : "TOATE" }; $scope.selectOptions = { nrSerii : [$scope.selectValues.nrSerie], dateIntrare : [$scope.selectValues.dataIntrare] }; $scope.info = { items : null, totalItemsCount : -1, totalPageNum : -1, groupSelectOptions : null, pageSelectOptions : null, crtPageGroup : -1, crtPageNum : -1, dateIntrare : null, taken : null, tarifMasa : -1, tarifCazare : -1, tarifTratament : -1, zileMinusTratament : -1 }; $scope.additInfo = { search : { resultMessage : "", activateReset : false, judet : "", nrBilet : "", serieBilet : "", cnp : "" }, status : { message : "", type : "" }, inputErrors : { count : 0, show : false, exists : false, map : {} }, isFutureChecked : browserInfoService.getCBNativeOnChValue(), selectedItems : { local : {}, server : {}, queue : [], lastSelDetails : null }, zileMinusTratament : -1 }; $scope.successSearch = null; $scope.template = { additInfo : null, selectedItemLocal : { queuePosition : -1, nrZileMasa : 0, nrZileCazare : 0, nrZileTratament : 0, valoareMasa : "0", valoareCazare : "0", valoareTratament : "0", valoareTotala : "0", notIntNrZM : false, notIntNrZC : false, notIntNrZT : false, dataPlecare : null } }; $scope.onEnterKey = function(event){ if(event.which == 13){ var params = { type : "cauta", searchValues : null, nrSerie : $scope.selectValues.nrSerie }; if($scope.selectValues.dataIntrare != "Selectati data" && $scope.selectValues.dataIntrare != "TOATE") params.dataIntrare = $scope.selectValues.dataIntrare; $searchValues = []; $searchValues.push($scope.additInfo.search.judet); $searchValues.push($scope.additInfo.search.nrBilet); $searchValues.push($scope.additInfo.search.serieBilet); $searchValues.push($scope.additInfo.search.cnp); params.searchValues = angular.toJson($searchValues); ajaxService.sendXTR($scope.jsonRequestUrl,$.param(params)) .then(function(result){ $scope.onResolveCauta(result,angular.copy($scope.additInfo.search)); }, function(status){ console.log("Eroare la request XHR trimis pentru cautare bilet :"); console.log(status); }); } }; $scope.onResolveCauta = function(result,search){ $scope.info.items = result.items; $scope.info.totalItemsCount = result.totalItemsCount; $scope.info.totalPageNum = result.totalPageNum; $scope.info.groupSelectOptions = result.groupSelectOptions; $scope.info.pageSelectOptions = result.pageSelectOptions; $scope.info.crtPageGroup = result.crtPageGroup; $scope.info.crtPageNum = result.crtPageNum; $scope.info.taken = result.taken; $scope.template.additInfo.search.activateReset = true; $scope.additInfo = angular.copy($scope.template.additInfo); $scope.additInfo.search = search; $scope.additInfo.search.activateReset = true; $scope.additInfo.search.resultMessage = "Numar bilete ramase : " + ($scope.info.totalItemsCount == null ? 0 : $scope.info.totalItemsCount); $scope.successSearch = angular.copy($scope.additInfo.search); $("#datePickerActivator").trigger("special-change"); }; $scope.anuleazaFiltrare = function(){ $scope.info.crtPageGroup = 5; $scope.info.crtPageNum = 1; $scope.successSearch = null; $scope.template.additInfo.search.activateReset = false; $scope.additInfo = angular.copy($scope.template.additInfo); $scope.onChangePage(); }; $scope.reseteaza = function(){ var queue = $scope.additInfo.selectedItems.queue; if(queue.length > 0){ var selectedKey = queue[queue.length - 1]; var trId = selectedKey.replace(",","_") + "_tr"; $("#" + trId).removeAttr("class"); } angular.forEach($scope.info.items,function(item,key){ item.check = false; },null); var search = null; if($scope.successSearch != null) search = $scope.additInfo.search; $scope.additInfo = angular.copy($scope.template.additInfo); if(search != null){ $scope.additInfo.search = search; } $(".date_picker").val(""); $(".date_picker").prop("disabled",true); }; $scope.onChangeCB = function(cbElement){ var id = cbElement.id; var index = id.split("_")[2]; var key = $scope.info.items[index].idBiletSpa + "," + $scope.info.items[index].idJudetSpa; //CNPPEGUVM-2530 $scope.AdeverintaPDFUrlParams = "numePersoana="+$scope.info.items[index].numeComplet+"&dateIdentitate="+$scope.info.items[index].actIdentitate+"&serieBilet="+$scope.info.items[index].serieBilet+" "+$scope.info.items[index].nrBilet+"&dataIncepereSejur="+$scope.info.items[index].dataIntrare+"&casaTeritoriala="+$scope.info.items[index].judet+"&nrZileCazare=&perioadaCazare="+$scope.info.items[index].dataPrezentare+"-"+$scope.info.items[index].dataPlecare; var nrItemsChecked = 0; angular.forEach($scope.info.items,function(item,key){ if (item.check == true) { nrItemsChecked++; } },null); if (cbElement.check == true){ nrItemsChecked++; }else{ nrItemsChecked--; } console.log("nrItemsChecked="+nrItemsChecked); if (nrItemsChecked == 1) { $scope.AdeverintaPDFUrlParams = ""; } nrItemsChecked = 0; var selectedItems = $scope.additInfo.selectedItems; $scope.info.taken = null; $scope.additInfo.status.message = ""; $scope.additInfo.status.type = ""; $scope.$apply(function(){ if(selectedItems.local[key] == undefined){ if(selectedItems.queue.length > 0){ var keyOfLastSel = selectedItems.queue[selectedItems.queue.length - 1]; var trId = keyOfLastSel.replace(",","_") + "_tr"; $("#" + trId).removeAttr("class"); } selectedItems.local[key] = angular.copy($scope.template.selectedItemLocal); $dataPlecare = dateService.getDaysAddedDate($scope.info.items[index].dataPrezentare,16); $daysBetween = dateService.getDaysBetween($dataPlecare,new Date($scope.info.items[index].dataPrezentare)); selectedItems.local[key].nrZileMasa = $daysBetween + ""; selectedItems.local[key].nrZileCazare = $daysBetween + ""; selectedItems.local[key].nrZileTratament = ($daysBetween - $scope.additInfo.zileMinusTratament >= 0 ? $daysBetween - $scope.additInfo.zileMinusTratament : 0) + ""; var params = { type : "onCBSelectedCalcPrices", nrZileMasa : selectedItems.local[key].nrZileMasa, nrZileCazare : selectedItems.local[key].nrZileCazare, nrZileTratament : selectedItems.local[key].nrZileTratament, tarifMasa : $scope.info.tarifMasa, tarifCazare : $scope.info.tarifCazare, tarifTratament : $scope.info.tarifTratament }; ajaxService.sendXTR($scope.jsonRequestUrl,$.param(params)) .then(function(result){ selectedItems.local[key].valoareMasa = result.valoareMasa; selectedItems.local[key].valoareCazare = result.valoareCazare; selectedItems.local[key].valoareTratament = result.valoareTratament; selectedItems.local[key].valoareTotala = result.valoareTotala; },function(status){ console.log("Eroare la calculare preturi la selectare CB"); console.log(status); }); selectedItems.server[key] = "1"; selectedItems.queue.push(key); selectedItems.local[key].queuePosition = selectedItems.queue.length - 1; selectedItems.lastSelDetails = selectedItems.local[key]; $("#" + key.replace(",", "_") + "_tr").attr("class","last_selected_tr"); $("#" + key.replace(",", "_") + "_date").prop("disabled", false); $("#" + key.replace(",", "_") + "_date").datepicker("setDate",$dataPlecare); selectedItems.local[key].dataPlecare = $("#" + key.replace(",", "_") + "_date").val(); } else{ var deletePosition = selectedItems.local[key].queuePosition; var queue = selectedItems.queue; $("#" + key.replace(",", "_") + "_tr").removeAttr('class'); $("#" + key.replace(",", "_") + "_date").prop("disabled", true); $("#" + key.replace(",", "_") + "_date").val(""); delete $scope.additInfo.inputErrors.map[key]; var count = 0; angular.forEach($scope.additInfo.inputErrors.map,function(item,key){ count++; },null); if(count == 0) $scope.additInfo.inputErrors.exists = false; $scope.additInfo.inputErrors.count = count; delete selectedItems.server[key]; delete selectedItems.local[key]; for(var i = deletePosition + 1;i < queue.length;++i) selectedItems.local[queue[i]].queuePosition--; queue.splice(deletePosition,1); if(queue.length > 0){ var prevSelectedKey = queue[queue.length - 1]; var trId = prevSelectedKey.replace(",","_") + "_tr"; $("#" + trId).attr("class","last_selected_tr"); selectedItems.lastSelDetails = selectedItems.local[queue[queue.length - 1]]; } else selectedItems.lastSelDetails = null; } }); }; $scope.adeverinta = function(){ console.log($scope.adeverintaURL); console.log($scope.unitateCazare); console.log($scope.solicitant); var params = { type : "adeverinta", selectedItems : angular.toJson($scope.additInfo.selectedItems.server), crtPageGroup : $scope.info.crtPageGroup, nrSerie : $scope.selectValues.nrSerie }; ajaxService.sendXTR($scope.adeverintaURL,$.param(params)) .then(function(result){ console.log(result); }, function(status){ console.log("Eroare la request XHR trimis pentru stergerea biletelor :"); console.log(status); }); }; $scope.sterge = function(){ var params = { type : "sterge", selectedItems : angular.toJson($scope.additInfo.selectedItems.server), crtPageGroup : $scope.info.crtPageGroup, nrSerie : $scope.selectValues.nrSerie }; if($scope.selectValues.dataIntrare != "Selectati data" && $scope.selectValues.dataIntrare != "TOATE") params.dataIntrare = $scope.selectValues.dataIntrare; if($scope.successSearch != null){ params.searchValues = []; params.searchValues.push($scope.successSearch.judet); params.searchValues.push($scope.successSearch.nrBilet); params.searchValues.push($scope.successSearch.serieBilet); params.searchValues.push($scope.successSearch.cnp); params.searchValues = angular.toJson(params.searchValues); } ajaxService.sendXTR($scope.jsonRequestUrl,$.param(params)) .then(function(result){ $scope.onResolveSterge(result); }, function(status){ console.log("Eroare la request XHR trimis pentru stergerea biletelor :"); console.log(status); }); }; $scope.onResolveSterge = function(result){ $scope.info.items = result.items; $scope.info.totalItemsCount = result.totalItemsCount; $scope.info.totalPageNum = result.totalPageNum; $scope.info.groupSelectOptions = result.groupSelectOptions; $scope.info.pageSelectOptions = result.pageSelectOptions; $scope.info.crtPageGroup = result.crtPageGroup; $scope.info.crtPageNum = result.crtPageNum; $scope.info.taken = result.taken; var search = null; if($scope.successSearch != null) search = $scope.additInfo.search; $scope.additInfo = angular.copy($scope.template.additInfo); if(search != null){ $scope.additInfo.search = search; $scope.additInfo.search.resultMessage = "Numar bilete ramase : " + ($scope.info.totalItemsCount == null ? 0 : $scope.info.totalItemsCount); } $scope.additInfo.status.type = "SUCCESS"; $scope.additInfo.status.message = "Biletele au fost sterse cu success"; $("#datePickerActivator").trigger("special-change"); }; $scope.retreiveNrSerii = function(){ $scope.template.additInfo = angular.copy($scope.additInfo); var params = { type : "nrSerii" }; ajaxService.sendXTR($scope.jsonRequestUrl,$.param(params)) .then(function(result){ $scope.onResolveNrSerii(result); }, function(status){ console.log("Eroare la request XHR pentru numar serii :"); console.log(status); }); }; $scope.onResolveNrSerii = function(result){ $scope.selectOptions.nrSerii = result; $scope.selectOptions.nrSerii[0] = $scope.selectValues.nrSerie; }; $scope.onChangeNrSerie = function(){ if($scope.selectOptions.nrSerii[0] == "Selectati nr serie") $scope.selectOptions.nrSerii.splice(0,1); var params = { type : "initTabela", nrSerie : $scope.selectValues.nrSerie }; ajaxService.sendXTR($scope.jsonRequestUrl,$.param(params)) .then(function(result){ $scope.onResolveInitTabela(result); }, function(status){ console.log("Eroare la request XHR pentru date de initializare la onChangeNrSerie :"); console.log(status); }); }; $scope.onChangeDataIntrare = function(){ if($scope.selectOptions.dateIntrare[0] == "Selectati data") $scope.selectOptions.dateIntrare.splice(0,1); if($scope.selectValues.dataIntrare != "TOATE" || $scope.selectValues.dataIntrare == "TOATE" && $scope.selectValues.prevDataIntrare != "TOATE"){ $scope.selectValues.prevDataIntrare = $scope.selectValues.dataIntrare; var params = { type : "initTabela", nrSerie : $scope.selectValues.nrSerie, dataIntrare : $scope.selectValues.dataIntrare }; ajaxService.sendXTR($scope.jsonRequestUrl,$.param(params)) .then(function(result){ $scope.onResolveInitTabela(result); }, function(status){ console.log("Eroare la request XHR pentru date de initializare onChangeDataIntrare :"); console.log(status); }); } }; $scope.onResolveInitTabela = function(result){ if($scope.successSearch != null){ $scope.successSearch = null; $scope.template.additInfo.search.activateReset = false; } $scope.info = result; $scope.template.selectedItemLocal.tarifMasa = "" + $scope.info.tarifMasa; $scope.template.selectedItemLocal.tarifCazare = "" + $scope.info.tarifCazare; $scope.template.selectedItemLocal.tarifTratament = "" + $scope.info.tarifTratament; $scope.template.additInfo.zileMinusTratament = $scope.info.zileMinusTratament; $scope.additInfo = angular.copy($scope.template.additInfo); if($scope.info.dateIntrare != null){ $scope.selectValues.prevDataIntrare = "TOATE"; $scope.selectValues.dataIntrare = "Selectati data"; $scope.selectOptions.dateIntrare = $scope.info.dateIntrare; $scope.selectOptions.dateIntrare[0] = $scope.selectValues.dataIntrare; } $("#datePickerActivator").trigger("special-change"); }; $scope.onChangeGroup = function(){ var params = { type : "onChangeGroup", crtPageGroup : $scope.info.crtPageGroup, selectedItems : angular.toJson($scope.additInfo.selectedItems.server), nrSerie : $scope.selectValues.nrSerie }; if($scope.selectValues.dataIntrare != "Selectati data" && $scope.selectValues.dataIntrare != "TOATE") params.dataIntrare = $scope.selectValues.dataIntrare; if($scope.successSearch != null){ params.searchValues = []; params.searchValues.push($scope.successSearch.judet); params.searchValues.push($scope.successSearch.nrBilet); params.searchValues.push($scope.successSearch.serieBilet); params.searchValues.push($scope.successSearch.cnp); params.searchValues = angular.toJson(params.searchValues); } ajaxService.sendXTR($scope.jsonRequestUrl,$.param(params)) .then(function(result){ $scope.onResolveChangePG(result); }, function(status){ console.log("Eroare la request XHR pentru date de schimbare pagina onChangeGroup :"); console.log(status); }); }; $scope.onChangePage = function(){ var params = { type : "onChangePage", crtPageGroup : $scope.info.crtPageGroup, crtPageNum : $scope.info.crtPageNum, selectedItems : angular.toJson($scope.additInfo.selectedItems.server), nrSerie : $scope.selectValues.nrSerie }; if($scope.selectValues.dataIntrare != "Selectati data" && $scope.selectValues.dataIntrare != "TOATE") params.dataIntrare = $scope.selectValues.dataIntrare; if($scope.successSearch != null){ params.searchValues = []; params.searchValues.push($scope.successSearch.judet); params.searchValues.push($scope.successSearch.nrBilet); params.searchValues.push($scope.successSearch.serieBilet); params.searchValues.push($scope.successSearch.cnp); params.searchValues = angular.toJson(params.searchValues); } ajaxService.sendXTR($scope.jsonRequestUrl,$.param(params)) .then(function(result){ $scope.onResolveChangePG(result); }, function(status){ console.log("Eroare la request XHR pentru date de schimbare pagina onChangePage :"); console.log(status); }); }; $scope.salveaza = function(){ var params = { type : "salveaza", crtPageGroup : $scope.info.crtPageGroup, selectedItems : angular.toJson($scope.additInfo.selectedItems.server), nrSerie : $scope.selectValues.nrSerie }; if($scope.selectValues.dataIntrare != "Selectati data" && $scope.selectValues.dataIntrare != "TOATE") params.dataIntrare = $scope.selectValues.dataIntrare; if($scope.successSearch != null){ params.searchValues = []; params.searchValues.push($scope.successSearch.judet); params.searchValues.push($scope.successSearch.nrBilet); params.searchValues.push($scope.successSearch.serieBilet); params.searchValues.push($scope.successSearch.cnp); params.searchValues = angular.toJson(params.searchValues); } var selectedItemsD = {}; var selectedItems = $scope.additInfo.selectedItems; angular.forEach(selectedItems.local,function(item,key){ selectedItemsD[key] = { nrZileMasa : item.nrZileMasa, nrZileCazare : item.nrZileCazare, nrZileTratament : item.nrZileTratament, valoareMasa : item.valoareMasa, valoareCazare : item.valoareCazare, valoareTratament : item.valoareTratament, valoareTotala : item.valoareTotala, dataPlecare : item.dataPlecare }; },null); params.selectedItemsD = angular.toJson(selectedItemsD); ajaxService.sendXTR($scope.jsonRequestUrl,$.param(params)) .then(function(result){ $scope.onResolveSalveaza(result); }, function(status){ console.log("Eroare la request XHR pentru salvare date selectate:"); console.log(status); }); }; $scope.onResolveSalveaza = function(result){ $scope.info.items = result.items; $scope.info.totalItemsCount = result.totalItemsCount; $scope.info.totalPageNum = result.totalPageNum; $scope.info.groupSelectOptions = result.groupSelectOptions; $scope.info.pageSelectOptions = result.pageSelectOptions; $scope.info.crtPageGroup = result.crtPageGroup; $scope.info.crtPageNum = result.crtPageNum; $scope.info.taken = result.taken; var countTaken = 0; if(result.taken != null) angular.forEach(result.taken,function(item,key){ countTaken++; },null); var queueLen = $scope.additInfo.selectedItems.queue.length; var search = null; if($scope.successSearch != null) search = $scope.additInfo.search; $scope.additInfo = angular.copy($scope.template.additInfo); if(search != null){ $scope.additInfo.search = search; $scope.additInfo.search.resultMessage = "Numar bilete ramase : " + ($scope.info.totalItemsCount == null ? 0 : $scope.info.totalItemsCount); } if(queueLen == countTaken){ $scope.additInfo.status.message = "Toate biletele selectate au fost intre timp tranzitate in alte stari"; $scope.additInfo.status.type = "ERROR"; } else if(countTaken > 0){ $scope.additInfo.status.message = "Salvarea a fost efectuata cu succes. Unele bilete au fost intre timp tranzitate in alte stari"; $scope.additInfo.status.type = "SUCCESS"; } else if(countTaken == 0){ $scope.additInfo.status.message = "Salvarea a fost efectuata cu succes pentru toate biletele selectate"; $scope.additInfo.status.type = "SUCCESS"; } $("#datePickerActivator").trigger("special-change"); }; $scope.onResolveChangePG = function(result){ var selectedItems = $scope.additInfo.selectedItems; var queue = selectedItems.queue; if(queue.length > 0){ var prevSelectedId = queue[queue.length - 1]; var trId = prevSelectedId.replace(",","_") + "_tr"; $("#" + trId).removeAttr("class"); } $scope.info.items = result.items; angular.forEach($scope.info.items,function(item,key){ if($scope.additInfo.selectedItems.server[item.idBiletSpa + "," + item.idJudetSpa] != undefined){ item.check = true; } },null); $scope.info.totalItemsCount = result.totalItemsCount; $scope.info.totalPageNum = result.totalPageNum; $scope.info.groupSelectOptions = result.groupSelectOptions; $scope.info.pageSelectOptions = result.pageSelectOptions; $scope.info.crtPageGroup = result.crtPageGroup; $scope.info.crtPageNum = result.crtPageNum; $scope.info.taken = result.taken; $scope.additInfo.status.message = ""; $scope.additInfo.status.type = ""; if($scope.successSearch != null){ $scope.additInfo.search.resultMessage = "Numar bilete ramase : " + ($scope.info.totalItemsCount == null ? 0 : $scope.info.totalItemsCount); } if($scope.info.taken != null){ angular.forEach($scope.info.taken,function(itemTaken, keyTaken){ var deletePosition = -1; angular.forEach(selectedItems.local,function(itemLocal, keyLocal){ if(keyLocal == keyTaken){ deletePosition = itemLocal.queuePosition; } },null); delete $scope.additInfo.inputErrors.map[keyTaken]; delete selectedItems.local[keyTaken]; delete selectedItems.server[keyTaken]; for(var i = deletePosition + 1;i < queue.length;++i){ selectedItems.local[queue[i]].queuePosition--; } queue.splice(deletePosition,1); },null); var count = 0; angular.forEach($scope.additInfo.inputErrors.map,function(item,key){ count++; },null); if(count == 0) $scope.additInfo.inputErrors.exists = false; $scope.additInfo.inputErrors.count = count; } if(queue.length > 0){ selectedItems.lastSelDetails = selectedItems.local[queue[queue.length - 1]]; var toEnableDPArray = []; angular.forEach(queue,function(itemAsKey,key){ this.push({ id : itemAsKey.replace(",","_") + "_date", val : selectedItems.local[itemAsKey].dataPlecare }); },toEnableDPArray); $("#lastSelTrIdHolder").val(angular.toJson({ lastSelTrId : queue[queue.length - 1].replace(",","_") + "_tr", toEnableDP : toEnableDPArray })); $("#lastSelTrIdHolder").trigger("special-change"); } else selectedItems.lastSelDetails = null; $("#datePickerActivator").trigger("special-change"); }; $scope.onTrMouseClick = function(elementArray){ var id = elementArray[0].id; var splitArray = id.split("_"); var key = splitArray[0] + "," + splitArray[1]; var selectedItems = $scope.additInfo.selectedItems; $scope.info.taken = null; if(selectedItems.server[key] != undefined && selectedItems.queue[selectedItems.queue.length - 1] != key){ $("#" + id).attr('class',"last_selected_tr"); $scope.$apply(function(){ selectedItems.lastSelDetails = selectedItems.local[key]; }); var deletePosition = selectedItems.local[key].queuePosition; var queue = selectedItems.queue; var queueLen = queue.length; var prevSelectedId = queue[queueLen - 1]; var trId = prevSelectedId.replace(",","_") + "_tr"; $("#" + trId).removeAttr("class"); for(var i = deletePosition + 1;i < queueLen;++i) selectedItems.local[queue[i]].queuePosition--; queue.splice(deletePosition,1); queue.push(key); selectedItems.local[key].queuePosition = queueLen - 1; } }; $scope.onTrMouseOver = function(trElement){ var id = trElement.id; var splitArray = id.split("_"); var key = splitArray[0] + "," + splitArray[1]; var selectedItems = $scope.additInfo.selectedItems; if(selectedItems.server[key] != undefined && selectedItems.queue[selectedItems.queue.length - 1] != key){ $("#" + id).attr('class','selected_mouse_over'); } }; $scope.onTrMouseLeave = function(trElement){ var id = trElement.id; var splitArray = id.split("_"); var key = splitArray[0] + "," + splitArray[1]; var selectedItems = $scope.additInfo.selectedItems; if(selectedItems.server[key] != undefined && selectedItems.queue[selectedItems.queue.length - 1] != key){ $("#" + id).removeAttr('class'); } }; $scope.onChangeDate = function(inputDateElem){ var id = inputDateElem.id; var splitArray = id.split("_"); var key = splitArray[0] + "," + splitArray[1]; var index = $("#" + id).parent().attr("id").split("_")[2]; var val = $("#" + id).val(); var dataPrezentare = new Date($scope.info.items[index].dataPrezentare); var dataPlecare = new Date(val); $local = $scope.additInfo.selectedItems.local[key]; $scope.$apply(function(){ if(dataPlecare < dataPrezentare){ $local.nrZileMasa = "0"; $local.nrZileCazare = "0"; $local.nrZileTratament = "0"; $local.valoareMasa = "0"; $local.valoareCazare = "0"; $local.valoareTratament = "0"; $local.valoareTotala = "0"; $scope.additInfo.inputErrors.exists = true; if($scope.additInfo.inputErrors.map[key] == undefined){ $scope.additInfo.inputErrors.map[key] = { numeComplet : $scope.info.items[index].numeComplet, dataPrezentare : $scope.info.items[index].dataPrezentare, dataPlecare : val }; $scope.additInfo.inputErrors.count++; } else $scope.additInfo.inputErrors.map[key].dataPlecare = val; } else{ $daysBetween = dateService.getDaysBetween(dataPlecare,dataPrezentare); $local.nrZileMasa = $local.nrZileCazare = $daysBetween + ""; $local.nrZileTratament = ($daysBetween - $scope.additInfo.zileMinusTratament >= 0 ? $daysBetween - $scope.additInfo.zileMinusTratament : 0) + ""; var params = { type : "onCBSelectedCalcPrices", nrZileMasa : $local.nrZileMasa, nrZileCazare : $local.nrZileCazare, nrZileTratament : $local.nrZileTratament, tarifMasa : $scope.info.tarifMasa, tarifCazare : $scope.info.tarifCazare, tarifTratament : $scope.info.tarifTratament }; ajaxService.sendXTR($scope.jsonRequestUrl,$.param(params)) .then(function(result){ $local.valoareMasa = result.valoareMasa; $local.valoareCazare = result.valoareCazare; $local.valoareTratament = result.valoareTratament; $local.valoareTotala = result.valoareTotala; },function(status){ console.log("Eroare la calculare preturi la schimbare data plecare"); console.log(status); }); delete $scope.additInfo.inputErrors.map[key]; var count = 0; angular.forEach($scope.additInfo.inputErrors.map,function(item,key){ count++; },null); if(count == 0) $scope.additInfo.inputErrors.exists = false; $scope.additInfo.inputErrors.count = count; } $scope.additInfo.selectedItems.local[key].dataPlecare = val; }); }; $scope.onChangeNrZile = function(type){ $nrZile = null; $tarif = null; $otherTotal1 = null; $otherTotal2 = null; var isInteger = true; if(type == 1){ $nrZile = $scope.additInfo.selectedItems.lastSelDetails.nrZileMasa; $tarif = $scope.info.tarifMasa; $otherTotal1 = $scope.additInfo.selectedItems.lastSelDetails.valoareCazare; $otherTotal2 = $scope.additInfo.selectedItems.lastSelDetails.valoareTratament; } else if(type == 2){ $nrZile = $scope.additInfo.selectedItems.lastSelDetails.nrZileCazare; $tarif = $scope.info.tarifCazare; $otherTotal1 = $scope.additInfo.selectedItems.lastSelDetails.valoareMasa; $otherTotal2 = $scope.additInfo.selectedItems.lastSelDetails.valoareTratament; } else{ $nrZile = $scope.additInfo.selectedItems.lastSelDetails.nrZileTratament; $tarif = $scope.info.tarifTratament; $otherTotal1 = $scope.additInfo.selectedItems.lastSelDetails.valoareMasa; $otherTotal2 = $scope.additInfo.selectedItems.lastSelDetails.valoareCazare; } if($nrZile.length > 0 &&$nrZile.indexOf(".") == -1 && Number($nrZile) != NaN && Number($nrZile) >= 0 && Number($nrZile) == parseInt($nrZile)){ } else{ if(type == 1) $scope.additInfo.selectedItems.lastSelDetails.notIntNrZM = true; else if(type == 2) $scope.additInfo.selectedItems.lastSelDetails.notIntNrZC = true; else $scope.additInfo.selectedItems.lastSelDetails.notIntNrZT = true; $nrZile = 0; isInteger = false; } var params = { type : "calcPrices", nrZile : $nrZile, tarif : $tarif, otherTotal1 : $otherTotal1, otherTotal2 : $otherTotal2 }; ajaxService.sendXTR($scope.jsonRequestUrl,$.param(params)) .then(function(result){ if(type == 1){ if(isInteger) $scope.additInfo.selectedItems.lastSelDetails.notIntNrZM = false; $scope.additInfo.selectedItems.lastSelDetails.valoareMasa = result.ownTotal; } else if(type == 2){ if(isInteger) $scope.additInfo.selectedItems.lastSelDetails.notIntNrZC = false; $scope.additInfo.selectedItems.lastSelDetails.valoareCazare = result.ownTotal; } else{ if(isInteger) $scope.additInfo.selectedItems.lastSelDetails.notIntNrZT = false; $scope.additInfo.selectedItems.lastSelDetails.valoareTratament = result.ownTotal; } $scope.additInfo.selectedItems.lastSelDetails.valoareTotala = result.generalTotal; }, function(status){ console.log("Eroare la request XHR pentru date de calcul preturi onChangeNrZile :"); console.log(status); }); }; });