app.controller('acquisizioneFlussiCtrl', function ($scope,$http,$cookies,$window, $location,$timeout, $mdDialog, $q, $routeParams, $mdBottomSheet, $mdMedia, utilsSvc, userService, DistintaFlussiInput, UserManager) { var vm=this; vm.maxItems = 0; vm.itemsPerPage = 100; vm.selectedIndex=-1; vm.records=[]; vm.filter={ orderField:null }; vm.setSelected=function(idx) { vm.selectedIndex = idx; } vm.columnWidths=[ 70, //0 150, //1 110, //2 90, //3 90, //4 100, //5 150, //6 380, //7 100, //8 150 //9 ]; vm.getGridItemHeight = function() { return utilsSvc.getGridHeight(); } vm.apriFlusso = function(distinta) { if (distinta.tipologia=='RID') { var filtro = userService.clearFiltroIncassiSDD(); filtro.idDistintaFlusso = distinta.iddistintaFlusso; filtro.tipoChiamata = 'DistinteFlussiInput'; userService.setFiltroIncassiSDD(filtro); $location.path('/incassiSDD'); } else if (distinta.tipologia=='AEA') { var filtro = userService.clearFiltroIncassiSDD(); filtro.idDistintaFlusso = distinta.iddistintaFlusso; filtro.tipoChiamata = 'DistinteFlussiInput'; userService.setFiltroIncassiSRfettDD(filtro); $location.path('/allineamentoSEDA'); } else if (distinta.tipologia=='BONIFICI' && distinta.tipologiaDbgrid=='BONIFICI') { var filtro = userService.clearFiltroIncassiSDD(); filtro.idDistintaFlusso = distinta.iddistintaFlusso; filtro.tipoChiamata = 'DistinteFlussiInput'; userService.setFiltroIncassiSDD(filtro); $location.path('/pagamentiSCT'); } else if (distinta.tipologia=='BONIFICI' && distinta.tipologiaDbgrid=='DOM') { var filtro = userService.clearFiltroIncassiSDD(); filtro.idDistintaFlusso = distinta.iddistintaFlusso; filtro.tipoChiamata = 'DistinteFlussiInput'; userService.setFiltroIncassiSDD(filtro); $location.path('/pagamentiDOM'); } else if (distinta.tipologia=='BONIFICI' && distinta.tipologiaDbgrid=='BONIFICI_INTERNI') { var filtro = userService.clearFiltroIncassiSDD(); filtro.idDistintaFlusso = distinta.iddistintaFlusso; filtro.tipoChiamata = 'DistinteFlussiInput'; userService.setFiltroIncassiSDD(filtro); $location.path('/pagamentiSCT'); }else if (distinta.tipologia=='BONIFICI' && distinta.tipologiaDbgrid=='BONIFICI_INPS') { var filtro = userService.clearFiltroIncassiSDD(); filtro.idDistintaFlusso = distinta.iddistintaFlusso; filtro.tipoChiamata = 'DistinteFlussiInput'; userService.setFiltroIncassiSDD(filtro); $location.path('/pagamentiSCTInps'); } else if (distinta.tipologia=='BONIFICI' && distinta.tipologiaDbgrid=='SCT_ESTERI') { var filtro = userService.clearFiltroIncassiSDD(); filtro.idDistintaFlusso = distinta.iddistintaFlusso; filtro.tipoChiamata = 'DistinteFlussiInput'; userService.setFiltroIncassiSDD(filtro); $location.path('/pagamentiSCT_ESTERI'); } else if (distinta.tipologia=='BONIFICI' && distinta.tipologiaDbgrid=='ASSEGNI_INTESA') { var filtro = userService.clearFiltroIncassiSDD(); filtro.idDistintaFlusso = distinta.iddistintaFlusso; filtro.tipoChiamata = 'DistinteFlussiInput'; userService.setFiltroIncassiSDD(filtro); $location.path('/AssegniIntesa'); } } vm.annullaFlusso = function(distinta) { utilsSvc.showConfirm("Conferma","Confermi l'annullamento del flusso?") .then(function(res){ DistintaFlussiInput.Annulla({id: distinta.id}) .$promise.then(function(data){ if (data.value=="0") utilsSvc.showMessage("Annullamento flusso effettuato."); else if (data.value=="1") utilsSvc.showMessage("Il flusso in oggetto contiene disposizioni con stato modificato o giĆ  estratte in distinte banca, annullamento flusso non effettuabile"); else if (data.value=="4") utilsSvc.showMessage("Un altro utente ha effettuato delle modifiche sul flusso, annullamento flusso non effettuabile"); else if (data.value=="5") utilsSvc.showMessage("Un altro utente ha eliminato il flusso, annullamento flusso non effettuabile"); ; vm.getFlussi(); },function() { vm.getFlussi(); }) }) } vm.stampaLogStatiFlusso=function() { utilsSvc.showForever('Generazione in corso...'); DistintaFlussiInput.Print({},vm.filter).$promise.then(function(data){ utilsSvc.downloadFile('application/pdf',data.response,'LogFlussiInput.pdf'); utilsSvc.cancelMessage(); }); } vm.showCommands = function(distinta,index,$event) { vm.selectedIndex = index; $mdBottomSheet.show({ templateUrl: 'templates/bottom-sheet-template.html', controller: 'comandiAcquisizioneFlussiCtrl', distinta: distinta, idx: index, appVariables: vm.appVariables, targetEvent: $event }).then(function(selectedCommand) { vm.executeCommand(selectedCommand.cmdIndex, selectedCommand.recordIdx, $event); }, function(){} ); } vm.logStatiDistinta = function(distinta,event) { DistintaFlussiInput.LogStati({id: distinta.iddistintaFlusso}) .$promise.then(function(data){ if (data.length==0) { utilsSvc.showMessage("Nessuno stato presente"); } else { vm.showLog(data, "Log stati flusso " +distinta.iddistintaFlusso, event); } }) } vm.showLog = function(log, title, event) { $mdDialog.show({ templateUrl: 'templates/logStati.html', controller: 'logStatiCtrl', targetEvent: event, locals: {log:log, dialogTitle: title}, multiple: true }) } vm.executeCommand = function(id,idx, $event) { switch(id) { case 0: vm.apriFlusso(vm.records[idx], $event); break; case 1: vm.annullaFlusso(vm.records[idx], $event); break; case 2: vm.logStatiDistinta(vm.records[idx], $event); break; } } vm.getListHeight = function() { containerHeight = ($window.innerHeight - $('#container').position().top - $('#view').position().top); return {'height': containerHeight + 'px'}; }; $window.addEventListener('resize', onResize); function onResize() { $scope.$digest(); } $scope.$on('$destroy', function() { $window.removeEventListener('resize', onResize); }); vm.getColumnWidth = // } // this.lastStartIdx = index; function(idx) { return { 'width': vm.columnWidths[idx] + 'px', 'min-width':vm.columnWidths[idx] + 'px', //'padding-left':'6px', //'padding-right':'6px', 'margin-left':'8px', 'margin-right':'8px' }; } vm.getMaxListWidth = function() { var res=0; for (var i=0;ivm.maxItems) return null; if (index > vm.records.length) if (!vm.infiniteItems.loading_) { this.fetchMoreItems_(index); return null; } return vm.records [index]; }, // Required. // For infinite scroll behavior, we always return a slightly // higher // number than the previously loaded items. getLength: function() { return vm.maxItems; }, fetchMoreItems_: function(index) { if (vm.infiniteItems.toLoad_ < index) { vm.infiniteItems.toLoad_ += vm.itemsPerPage; utilsSvc.showWaitMessage('Ricerca in corso...'); vm.infiniteItems.loading_ = true; this.listPromise = DistintaFlussiInput.List({start: vm.records.length,size:Math.max(vm.records.length+index,vm.itemsPerPage),orderBy:vm.filter.orderField}).$promise; var mod=this; this.listPromise.then( function(data){ vm.infiniteItems.loading_ = false; vm.infiniteItems.toLoad_=0; utilsSvc.cancelWaitMessage(); vm.records = vm.records.concat(data); mod.numLoaded_ = vm.records.length; mod.lastStartIdx = vm.records.length; }, function(error) { vm.infiniteItems.loading_ = false; vm.infiniteItems.toLoad_=0; utilsSvc.handleHttpError(error); } ) } } } vm.getFlussi = function(){ DistintaFlussiInput.Count({}).$promise.then( function(data){ vm.records=[]; vm.maxItems = data.value; vm.infiniteItems.numLoaded_ = 0; vm.infiniteItems.toLoad_ = 0; } ); } vm.init = function() { vm.getFlussi(); UserManager.AppVariables().$promise.then(function(data) { vm.appVariables = data; }); } vm.decodeFlusso=function(codFlusso){ if (codFlusso=='R1'|| codFlusso=='R2' || codFlusso=='R3' || codFlusso=='R4') return 'CBI'; else if (codFlusso=='R5' || codFlusso=='R9') return 'TEXT CUSTOM' else if (codFlusso=='R6') return 'XML PLAIN' else if (codFlusso=='R7' || codFlusso=='R8') return 'EXCEL' else if (codFlusso=='RI') return 'XML 20022' else return codFlusso; } vm.init(); } ) .controller('comandiAcquisizioneFlussiCtrl', function($scope, $mdBottomSheet, utilsSvc, distinta, idx, appVariables) { $scope.title = 'Comandi'; $scope.items = [ { id:0, name: "Apri distinta", icon: 'fa-folder-open',visible: true }, { id:1, name: "Annulla distinta", icon: 'fa-exclamation-triangle', visible: true }, { id:2, name: "Log stati distinta", icon: 'fa-file-text-o', visible: true } ]; if (distinta.statoDistinta == "Elaborato") { if (distinta.tipoFlusso!='R1' && distinta.tipoFlusso!='R3' && distinta.tipoFlusso!='R4' && distinta.tipoFlusso!='R5') $scope.items[1].visible = false; } else $scope.items[1].visible = false; if (appVariables.profiloLocale=='VI') $scope.items[1].visible = false; $scope.listItemClick = function($index, $event) { var clickedItem = $scope.items[$index]; var result = {cmdIndex: $index, recordIdx: idx, event:$event} $mdBottomSheet.hide(result); }; $scope.dismissBottomSheet = function() { $mdBottomSheet.cancel(); } $scope.smallScreen = function() { return utilsSvc.smallScreen(); } $scope.listClass = function(){ if (utilsSvc.smallScreen()) return 'md-list'; else return 'md-grid'; } }) ;