opzioniPianoEstrazioneCtrl.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. app.controller('opzioniPianoEstrazioneCtrl',
  2. function ($scope,$mdDialog,utilsSvc, PianoEstrazioneTipoFlusso, locals) {
  3. $scope.idPiano = locals.id;
  4. $scope.opzioni= [];
  5. $scope.opzioniEliminate=[];
  6. PianoEstrazioneTipoFlusso.List({id: $scope.idPiano})
  7. .$promise.then(function(data){
  8. $scope.opzioni = data;
  9. });
  10. $scope.nuovaOpzione = function(event){
  11. PianoEstrazioneTipoFlusso.New({id: $scope.idPiano})
  12. .$promise.then(function(data){
  13. $scope.opzioni.push(data);
  14. $scope.editOpzione($scope.opzioni.length-1,event);
  15. });
  16. }
  17. $scope.editOpzione= function(index,ev) {
  18. $mdDialog.show({
  19. targetEvent:ev,
  20. templateUrl: 'templates/opzionePianoEstrazione.html',
  21. controller: 'opzionePianoEstrazioneCtrl',
  22. locals: {opzione: $scope.opzioni[index], opzioni: $scope.opzioni, index: index},
  23. multiple: true
  24. }).then(function(opzione){
  25. $scope.opzioni[index] = opzione;
  26. },function(err){
  27. if ($scope.opzioni[index].id==null)
  28. $scope.opzioni.splice(index,1);
  29. });
  30. }
  31. $scope.deleteOpzione = function(index,ev) {
  32. utilsSvc.showConfirm("Conferma","Confermi la cancellazione dell'opzione?")
  33. .then(function(res){
  34. if (res) {
  35. if ($scope.opzioni[index].id!=null && $scope.opzioni[index].id!=0)
  36. $scope.opzioniEliminate.push($scope.opzioni[index].id);
  37. $scope.opzioni.splice(index,1);
  38. } else {
  39. utilsSvc.showMessage('Cancellazione non effettuata');
  40. }
  41. })
  42. }
  43. $scope.decodeTipologia = function(value) {
  44. switch(value) {
  45. case 1: return "Suddivisione distinte per Banca Destinataria = Banca Ordinante e altre banche"; break;
  46. case 3: return "Indirizzamento flusso in uscita su altra Banca Ordinante"; break;
  47. case 2: return "Modifica prefisso flusso in uscita"; break;
  48. }
  49. }
  50. $scope.confirmDialog = function(index) {
  51. PianoEstrazioneTipoFlusso.Save({idPiano: $scope.idPiano}, {opzioni: $scope.opzioni, idCancellati:$scope.opzioniEliminate})
  52. .$promise.then(function(data){
  53. if (data) {
  54. utilsSvc.showMessage("Salvataggio modifiche effettuato");
  55. $mdDialog.hide();
  56. } else
  57. utils.showMessage("Si è verificato un errore durante il salvataggio");
  58. });
  59. }
  60. $scope.cancelDialog = function() {
  61. $mdDialog.cancel();
  62. }
  63. })
  64. .controller('opzionePianoEstrazioneCtrl',
  65. function ($scope, $mdDialog, utilsSvc, locals) {
  66. $scope.opzione = angular.copy(locals.opzione);
  67. $scope.tipologiaValida = function() {
  68. var trovata=false;
  69. for(var i=0;i<locals.opzioni.length;i++){
  70. if (i!=locals.index)
  71. if (locals.opzioni[i].tipologiaEstrazione == $scope.opzione.tipologiaEstrazione)
  72. trovata = true;
  73. }
  74. return !trovata;
  75. }
  76. $scope.toUpperCase=function(event) {
  77. event.key = event.key.toUpperCase();
  78. }
  79. $scope.cancelDialog = function(ev){
  80. if ($scope.form.$dirty)
  81. utilsSvc.showConfirm('Conferma',"Confermi l'annullamento delle modifiche?",ev)
  82. .then(function(res){
  83. $mdDialog.cancel();
  84. });
  85. else
  86. $mdDialog.cancel();
  87. }
  88. $scope.confirmDialog = function(){
  89. if (!$scope.tipologiaValida()) {
  90. utilsSvc.showMessage('La tipologia è già stata usata');
  91. $scope.opzione.tipologiaEstrazione = "";
  92. return;
  93. }
  94. if ($scope.opzione.abiordinante==null || $scope.opzione.abiordinante.trim()=='') {
  95. utilsSvc.showMessage('Inserire il codice ABI ordinante per cui effettuare la funzione');
  96. return;
  97. }
  98. if ($scope.opzione.tipologiaEstrazione==1 && ($scope.opzione.valore!=null && $scope.opzione.valore.trim()!='')) {
  99. utilsSvc.showMessage('La funzione selezionata non richiede il valore di assegnazione');
  100. return;
  101. }
  102. if ($scope.opzione.tipologiaEstrazione!=1 && ($scope.opzione.valore==null || $scope.opzione.valore.trim()=='')) {
  103. utilsSvc.showMessage('La funzione selezionata richiede il valore di assegnazione');
  104. return;
  105. }
  106. $mdDialog.hide($scope.opzione);
  107. }
  108. })
  109. ;