
app.controller("imprimirControllerF2",function ($scope, cadastroFactory, localizacaoFactory,notificationFactory, entidadeFactory, Base64) {
        $scope.ano = new Date().getFullYear();

        $scope.tipos = [
            { id: 0, desc: "Todos" },
            { id: 1, desc: "Acréscimo" },
            { id: 2, desc: "Diminuição" },
            { id: 3, desc: "Abate" }
        ];
        
        $scope.selectedTipo = $scope.tipos[0];

        $scope.selTipo = function (t) {
            $scope.selectedTipo = t;

        };

        $scope.printFichaInv = function (excel) {
            
            var ano = $scope.ano;
            var tipo = $scope.selectedTipo.id;

            var idEdificio = 0;
            var idPiso = 0;
            var idSala = 0;
            if ($scope.selectedEdificio != null)
                idEdificio = $scope.selectedEdificio.PK_Edificio;
            if ($scope.selectedPiso!=null)
                idPiso = $scope.selectedPiso.PK_Piso;
            if ($scope.selectedSala!=null)
                idSala = $scope.selectedSala.PK_Sala;

            if (isNaN(idEdificio))
                idEdificio = 0;
            if (isNaN(idPiso))
                idPiso = 0;
            if (isNaN(idSala))
                idSala = 0;

            //var entidade = $scope.selectedEntidade;
            var nent = 0;
            //if (entidade != null)
            //    nent = entidade.PK_Entidade;
            if ($scope.selectedEdificio != null)
                nent = $scope.selectedEdificio.FK_Entidade;
            

            var conta = "";
            var contapoc = $scope.selectedClass;
            conta = "";
            if (contapoc != null)
                conta = Base64.encode(contapoc._CodigoConta + ' ' + contapoc._DescricaoConta);

            var xls = "";
            if (excel == true)
                xls = "&xls=1";
            
            var w = window.open("../api/finv/?tipo=" + tipo + "&ano=" + ano + "&nent=" + nent + "&classi=" + conta + "&edificio=" + idEdificio + "&piso=" + idPiso + "&sala=" + idSala + "&tk=" + sessionStorage.getItem("CibeAtk") + xls);
            $(w.document.body).html('<p align="center">Por Favor Aguarde. Este Processo pode demorar um pouco...</p>');
        };

        $scope.carregarClassificacoesPatri = function () {

            var getSuccessCallback = function (data, status) {
                $scope.classificacoesPatri = data;
                //if ($scope.classificacoesPatri.length > 0)
                //    $scope.selClass($scope.classificacoesPatri[0]);
            };

            var errorCallback = function (data, status, headers, config) {
                //notificationFactory.error(data);
                console.log(data);
            };

            cadastroFactory.getClassificacoesPatri().success(getSuccessCallback).error(errorCallback);
        };

        $scope.selClass = function (row) {
            $scope.selectedClass = row;
        };

        $scope.selEntidade = function (row) {
            $scope.selectedEntidade = row;
        };

        $scope.carregarEntidades = function (id) {


            var getSuccessCallback = function (data, status) {

                $scope.entidades = data;
                $scope.selEntidade(null);
            };

            var errorCallback = function (data, status, headers, config) {
                //notificationFactory.error(data);
            };

            entidadeFactory.getEntidades().success(getSuccessCallback).error(errorCallback);

        };

        $scope.selEdificio = function (row) {
            $scope.selectedEdificio = row;
            $scope.selPiso(null);
            $scope.selSala(null);
        };

        $scope.selPiso = function (row) {
            $scope.selectedPiso = row;
            $scope.selSala(null);
        };

        $scope.selSala = function (row) {
            $scope.selectedSala = row;
        };

        $scope.carregarEdificios = function (id) {


            var getSuccessCallback = function (data, status) {

                $scope.edificios = data;
                $scope.selEdificio(null);
                $scope.selPiso(null);
                $scope.selSala(null);
            };

            var errorCallback = function (data, status, headers, config) {
                //notificationFactory.error(data);
            };

            localizacaoFactory.getEdificios().success(getSuccessCallback).error(errorCallback);

        };

        

    });