AnonSec Shell
Server IP : 162.214.74.102  /  Your IP : 216.73.217.80
Web Server : Apache
System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64
User : lrsys ( 1015)
PHP Version : 5.6.40
Disable Function : exec,passthru,shell_exec,system
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/lrsys/public_html/lrsys_apps/mundotennis/application/controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/lrsys/public_html/lrsys_apps/mundotennis/application/controllers/nature_operation.php
<?php

_auth();
$ui->assign('_application_menu', 'orders');
$ui->assign('_title', $_L['Nature Of Operation'] . ' - ' . $config['CompanyName']);
$ui->assign('_st', $_L['Nature Of Operation']);
$ui->assign('content_inner', inner_contents($config['c_cache']));
$action = $routes['1'];
$user = User::_info();
$ui->assign('user', $user);

$ui->assign('jsvar', '
_L[\'Working\'] = \'' . $_L['Working'] . '\';
_L[\'Submit\'] = \'' . $_L['Submit'] . '\';
 ');


switch ($action) {
    case 'list':

        // find all groups

        $s = ORM::for_table('nature_operation')->order_by_asc('sorder')->find_array();

        $ui->assign('s', $s);

        $ui->assign('xfooter', Asset::js(array('nature_operation')));

        $ui->assign('jsvar', '
        _L[\'are_you_sure\'] = \'' . $_L['are_you_sure'] . '\';
        _L[\'Save\'] = \'' . $_L['Save'] . '\';
         ');
        $ui->display('nature_operation.tpl');
        break;


    case 'add-post':
        //recebe o nome do segmento para adicionar no banco de dados
        $name = _post('name');
        if ($name != '') {
            //check same group already exist
            $c = ORM::for_table('nature_operation')->where('name', $name)->find_one();
            if ($c) {
                ib_die($_L['Nature Of Operation with same name already exist']);
            }
            $d = ORM::for_table('nature_operation')->create();
            $d->name = $name;
            $d->sorder = 0;
            $d->save();
            echo $d->id();
        } else {
            echo $_L['Nature Of Operation'] . $_L['is required'];
        }

        break;
    case 'add':

        $mode_css = Asset::css(array('modal', 's2/css/select2.min'));
        $mode_js = Asset::js(array('modal', 'numeric', 'nature_operation/form', 's2/js/select2.min'));
        $ui->assign('xheader', $mode_css);
        $ui->assign('xfooter', $mode_js);

        $d['name'] = "";
        $d['crt'] = "";
        $d['id'] = "";
        $d['param_value'] = groupDataJson("");
        $ui->assign('d', $d);
        $ui->assign("listaCfop", ORM::for_table('cfop')
                        ->raw_query('SELECT distinct(desc_cfop),concat("?.",SUBSTRING(code_cfop,3,3)) as code_cfop FROM cfop')
                        ->find_many());

        $e = ORM::for_table('state')->order_by_asc('state_name')->find_many();
        $ui->assign('state', $e);

        $ui->assign('origins', OriginICMS::all());
        $ui->assign('jsvar', '
            _L[\'Input the NCM\'] = \'' . $_L['Input the NCM'] . '\';
            _L[\'Select product\'] = \'' . $_L['Select product'] . '\';
            _L[\'00 - Fully taxed\'] = \'' . $_L['00 - Fully taxed'] . '\';
            _L[\'10 - Taxed and with ICMS tax collection for tax substitution\'] = \'' . $_L['10 - Taxed and with ICMS tax collection for tax substitution'] . '\';
            _L[\'20 - With reduction of base of calculation\'] = \'' . $_L['20 - With reduction of base of calculation'] . '\';
            _L[\'30 - Exempt or not taxed and with ICMS tax collection for tax substitution\'] = \'' . $_L['30 - Exempt or not taxed and with ICMS tax collection for tax substitution'] . '\';
            _L[\'40 - Exempt\'] = \'' . $_L['40 - Exempt'] . '\';
            _L[\'41 - Not taxed\'] = \'' . $_L['41 - Not taxed'] . '\';
            _L[\'50 - Suspension\'] = \'' . $_L['50 - Suspension'] . '\';
            _L[\'51 - Deferral\'] = \'' . $_L['51 - Deferral'] . '\';
            _L[\'60 - ICMS charged previously for tax substitution\'] = \'' . $_L['60 - ICMS charged previously for tax substitution'] . '\';
            _L[\'70 - With reduction of calculation base and collection of ICMS by tax substitution\'] = \'' . $_L['70 - With reduction of calculation base and collection of ICMS by tax substitution'] . '\';
            _L[\'90 - Other\'] = \'' . $_L['90 - Other'] . '\';
                  
            _L[\'50 - Taxable income\'] = \'' . $_L['50 - Taxable income'] . '\';
            _L[\'51 - Taxed income with zero rate\'] = \'' . $_L['51 - Taxed income with zero rate'] . '\';
            _L[\'52 - Exempt output\'] = \'' . $_L['52 - Exempt output'] . '\';
            _L[\'53 - Non-taxable outflow\'] = \'' . $_L['53 - Non-taxable outflow'] . '\';
            _L[\'54 - Immune output\'] = \'' . $_L['54 - Immune output'] . '\';
            _L[\'55 - Output with suspension\'] = \'' . $_L['55 - Output with suspension'] . '\';
            _L[\'99 - Other exits\'] = \'' . $_L['99 - Other exits'] . '\';
            _L[\'Presumed\'] = \'' . $_L['Presumed'] . '\';
                
            _L[\'Taxed\'] = \'' . $_L['Taxed'] . '\';
            _L[\'Exempt\'] = \'' . $_L['Exempt'] . '\';
            _L[\'Other situation\'] = \'' . $_L['Other situation'] . '\';

                      
        ');
        $ui->assign('rowExceptionIcms', 0);
        $ui->assign('rowExceptionIpi', 0);
        $ui->assign('rowExceptionIssqn', 0);
        $ui->assign('rowExceptionPis', 0);
        $ui->assign('rowExceptionCofins', 0);
        $ui->assign('rowExceptionSimples', 0);

        $ui->display('form-nature-operation.tpl');
        break;
    case 'modal_exception':
        $type = _post('type');
        $ui->assign("listaCfop", ORM::for_table('cfop')
                        ->raw_query('SELECT distinct(desc_cfop),concat("?.",SUBSTRING(code_cfop,3,3)) as code_cfop FROM cfop')
                        ->find_many());
        $state = ORM::for_table('state')->order_by_asc('state_name')->find_many();

        $ui->assign('jsvar', '
            _L[\'Input the NCM\'] = \'' . $_L['Input the NCM'] . '\';
            _L[\'Select product\'] = \'' . $_L['Select product'] . '\';
        ');
        $ui->assign('type', $type);
        //trata para os campos , quando vazio
        $jsonFields = groupJsonException(json_decode(_post('exception'), true));

        for ($i = 0; $i < count($state); $i++) {
            $state[$i]['checked'] = "";
            if (isset($jsonFields['destino'])) {
                if (!is_array($jsonFields['destino'])) {
                    if ($jsonFields['destino'] == $state[$i]['id']) {
                        $state[$i]['checked'] = "checked";
                    }
                } else {
                    foreach ($jsonFields['destino'] as $dest) {
                        if ($dest == $state[$i]['id']) {
                            $state[$i]['checked'] = "checked";
                        }
                    }
                }
            }
        }
        $ui->assign('state', $state);

        $origins = OriginICMS::all();
        //tratamentos para pegar o selecionado já
        for ($i = 0; $i < count($origins); $i++) {
            $origins[$i]['selected'] = "";
            if (isset($jsonFields['origin'])) {
                if (!is_array($jsonFields['origin'])) {
                    if ($jsonFields['origin'] == $origins[$i]['id']) {
                        $origins[$i]['selected'] = "selected";
                    }
                } else {
                    foreach ($jsonFields['origin'] as $o) {
                        if ($o == $origins[$i]['id']) {
                            $origins[$i]['selected'] = "selected";
                        }
                    }
                }
            }
        }
        $ui->assign('origins', $origins);

        //pega cada produto e busca o nome correspodente para montar a tela
        if (isset($jsonFields['products'])) {
            if (!is_array($jsonFields['products'])) {
                $prod = ORM::for_table('sys_items')->find_one($jsonFields['products']);
                $products[] = array('id' => $prod->id, 'text' => $prod->id . " - " . $prod->description);
            } else {
                foreach ($jsonFields['products'] as $o) {
                    $prod = ORM::for_table('sys_items')->find_one($o);
                    $products[] = array('id' => $prod->id, 'text' => $prod->id . " - " . $prod->description);
                }
            }
        } else {
            $products = false;
        }
        $ui->assign('products', $products);
        $ui->assign('rowProducts', 0);


        //pega cada ncm
        if (isset($jsonFields['ncm'])) {
            if (!is_array($jsonFields['ncm'])) {
                $jsonFields['ncm'] = array($jsonFields['ncm']);
            }
        } else {
            $jsonFields['ncm'] = '';
        }
        $ui->assign("rowNcmException", 0);
        $ui->assign('d', $jsonFields);
        $ui->assign('title', _post('title'));
        $ui->display('modal_exception_nature_operation.tpl');
        break;

    case 'edit':
        $ui->assign('origins', OriginICMS::all());

        $mode_css = Asset::css(array('modal', 's2/css/select2.min'));
        $mode_js = Asset::js(array('modal', 'numeric', 'nature_operation/form', 's2/js/select2.min'));
        $ui->assign('xheader', $mode_css);
        $ui->assign('xfooter', $mode_js);


        $ui->assign("listaCfop", ORM::for_table('cfop')
                        ->raw_query('SELECT distinct(desc_cfop),concat("?.",SUBSTRING(code_cfop,3,3)) as code_cfop FROM cfop')
                        ->find_many());
        $id = $routes['2'];
        $d = ORM::for_table('nature_operation')->find_one($id);
//        $d['param_value'] = json_decode($d['params'], true);
        $jsonFields = json_decode($d['params'], true);
        $d['param_value'] = groupDataJson($jsonFields);
        $ui->assign('rowExceptionIcms', 0);
        $ui->assign('rowExceptionIpi', 0);
        $ui->assign('rowExceptionIssqn', 0);
        $ui->assign('rowExceptionPis', 0);
        $ui->assign('rowExceptionCofins', 0);
        $ui->assign('rowExceptionSimples', 0);
        $ui->assign('d', $d);
        $e = ORM::for_table('state')->order_by_asc('state_name')->find_many();
        $ui->assign('state', $e);

        $ui->assign('jsvar', '
            _L[\'Input the NCM\'] = \'' . $_L['Input the NCM'] . '\';
            _L[\'Select product\'] = \'' . $_L['Select product'] . '\';
            _L[\'00 - Fully taxed\'] = \'' . $_L['00 - Fully taxed'] . '\';
            _L[\'10 - Taxed and with ICMS tax collection for tax substitution\'] = \'' . $_L['10 - Taxed and with ICMS tax collection for tax substitution'] . '\';
            _L[\'20 - With reduction of base of calculation\'] = \'' . $_L['20 - With reduction of base of calculation'] . '\';
            _L[\'30 - Exempt or not taxed and with ICMS tax collection for tax substitution\'] = \'' . $_L['30 - Exempt or not taxed and with ICMS tax collection for tax substitution'] . '\';
            _L[\'40 - Exempt\'] = \'' . $_L['40 - Exempt'] . '\';
            _L[\'41 - Not taxed\'] = \'' . $_L['41 - Not taxed'] . '\';
            _L[\'50 - Suspension\'] = \'' . $_L['50 - Suspension'] . '\';
            _L[\'51 - Deferral\'] = \'' . $_L['51 - Deferral'] . '\';
            _L[\'60 - ICMS charged previously for tax substitution\'] = \'' . $_L['60 - ICMS charged previously for tax substitution'] . '\';
            _L[\'70 - With reduction of calculation base and collection of ICMS by tax substitution\'] = \'' . $_L['70 - With reduction of calculation base and collection of ICMS by tax substitution'] . '\';
            _L[\'90 - Other\'] = \'' . $_L['90 - Other'] . '\';
                
            _L[\'50 - Taxable income\'] = \'' . $_L['50 - Taxable income'] . '\';
            _L[\'51 - Taxed income with zero rate\'] = \'' . $_L['51 - Taxed income with zero rate'] . '\';
            _L[\'52 - Exempt output\'] = \'' . $_L['52 - Exempt output'] . '\';
            _L[\'53 - Non-taxable outflow\'] = \'' . $_L['53 - Non-taxable outflow'] . '\';
            _L[\'54 - Immune output\'] = \'' . $_L['54 - Immune output'] . '\';
            _L[\'55 - Output with suspension\'] = \'' . $_L['55 - Output with suspension'] . '\';
            _L[\'99 - Other exits\'] = \'' . $_L['99 - Other exits'] . '\';
            _L[\'Presumed\'] = \'' . $_L['Presumed'] . '\';
            
            _L[\'Taxed\'] = \'' . $_L['Taxed'] . '\';
            _L[\'Exempt\'] = \'' . $_L['Exempt'] . '\';
            _L[\'Other situation\'] = \'' . $_L['Other situation'] . '\';

                                      
        ');
        $ui->display('form-nature-operation.tpl');
        break;

    case 'post':

        $id = _post('id');
        $name = _post('name');
        $crt = _post('crt');
//grupos fixos no sistema não pode editar. validação para ação

        if ($name != '') {
            if (!empty($id)) {
                $d = ORM::for_table('nature_operation')->find_one($id);
                if (!$d) {
                    ib_die($_L['Not found']);
                }
            } else {
                $d = ORM::for_table('nature_operation')->create();
            }
            $c = ORM::for_table('nature_operation')
                    ->where('name', $name)
                    ->where_not_equal('id', $d->id)
                    ->find_one();
            if ($c) {
                ib_die($_L['Nature Of Operation with same name already exist']);
            }
            if ($d->default) {
                ib_die($_L['Not Permited']);
            }

            // update all gname in contacts
            $d->name = $name;
            $d->crt = $crt;

            $dataNature['ICMS']['st'] = _post('icms_st');
            $dataNature['ICMS']['cfop'] = _post('icms_cfop');
            $dataNature['ICMS']['aliquota'] = _post('icms_aliquota');
            $dataNature['ICMS']['possui_partilha_interestadual'] = _post('icms_possui_partilha_interestadual');
            $dataNature['ICMS']['base'] = _post('icms_base');
            $dataNature['ICMS']['base_diferimento'] = _post('icms_base_diferimento');
            $dataNature['ICMS']['alq_presumido'] = _post('icms_alq_presumido');
            $dataNature['ICMS']['obs'] = _post('icms_obs');
            $dataNature['ICMS']['icms_icms_st_alq'] = _post('icms_icms_st_alq');
            $dataNature['ICMS']['icms_modBCST'] = _post('icms_modBCST');
            $dataNature['ICMS']['icms_icms_st_base'] = _post('icms_icms_st_base');
            $dataNature['ICMS']['icms_icms_st_valor_adicionado'] = _post('icms_icms_st_valor_adicionado');
            $dataNature['ICMS']['icms_pis_st_alq'] = _post('icms_pis_st_alq');
            $dataNature['ICMS']['icms_cofins_st_alq'] = _post('icms_cofins_st_alq');

            $dataNature['ICMS']['exception'] = isset($_POST['icms_exception']) ? $_POST['icms_exception'] : '';

            $dataNature['IPI']['st'] = _post('ipi_st');
            $dataNature['IPI']['aliquota'] = _post('ipi_aliquota');
            $dataNature['IPI']['c_enq'] = _post('ipi_c_enq');
            $dataNature['IPI']['obs'] = _post('ipi_obs');
            $dataNature['IPI']['exception'] = isset($_POST['ipi_exception']) ? $_POST['ipi_exception'] : '';


            $dataNature['PIS']['st'] = _post('pis_st');
            $dataNature['PIS']['base'] = _post('pis_base');
            $dataNature['PIS']['aliquota'] = _post('pis_aliquota');
            $dataNature['PIS']['obs'] = _post('pis_obs');
            $dataNature['PIS']['exception'] = isset($_POST['pis_exception']) ? $_POST['pis_exception'] : '';

            $dataNature['ISSQN']['st'] = _post('issqn_st');
            $dataNature['ISSQN']['aliquota'] = _post('issqn_aliquota');
            $dataNature['ISSQN']['base'] = _post('issqn_base');
            $dataNature['ISSQN']['desconta_iss_total_nota'] = _post('issqn_desconta_iss_total_nota');
            $dataNature['ISSQN']['obs'] = _post('issqn_obs');
            $dataNature['ISSQN']['exception'] = isset($_POST['issqn_exception']) ? $_POST['issqn_exception'] : '';


            $dataNature['COFINS']['st'] = _post('cofins_st');
            $dataNature['COFINS']['base'] = _post('cofins_base');
            $dataNature['COFINS']['obs'] = _post('cofins_obs');
            $dataNature['COFINS']['aliquota'] = _post('cofins_aliquota');
            $dataNature['COFINS']['exception'] = isset($_POST['cofins_exception']) ? $_POST['cofins_exception'] : '';

            $dataNature['SIMPLES']['st'] = _post('simples_st');
            $dataNature['SIMPLES']['cfop'] = _post('simples_cfop');
            $dataNature['SIMPLES']['aliquota'] = _post('simples_aliquota');
            $dataNature['SIMPLES']['base'] = _post('simples_base');
            $dataNature['SIMPLES']['possui_partilha_icms_interestadual'] = _post('simples_possui_partilha_icms_interestadual');
            $dataNature['SIMPLES']['alq_credito'] = _post('simples_alq_credito');
            $dataNature['SIMPLES']['obs'] = _post('simples_obs');
            $dataNature['SIMPLES']['icms_st_alq'] = _post('simples_icms_st_alq');
            $dataNature['SIMPLES']['icms_st_modBCST'] = _post('simples_icms_st_modBCST');
            $dataNature['SIMPLES']['icms_st_base'] = _post('simples_icms_st_base');
            $dataNature['SIMPLES']['icms_st_valor_adicionado'] = _post('simples_icms_st_valor_adicionado');
            $dataNature['SIMPLES']['alqRetido'] = _post('simples_alqRetido');
            $dataNature['SIMPLES']['baseRetido'] = _post('simples_baseRetido');
            $dataNature['SIMPLES']['exception'] = isset($_POST['simples_exception']) ? $_POST['simples_exception'] : '';


            $dataNature['OBS']['obs'] = _post('obs');

            $dataNature['CONFIG']['serie'] = _post('serie');
            $dataNature['CONFIG']['consumidor'] = _post('consumidor');
            $dataNature['CONFIG']['faturada'] = _post('faturada');
            $dataNature['CONFIG']['expedicao'] = _post('expedicao');
            $dataNature['CONFIG']['devolucao'] = _post('devolucao');
            $dataNature['CONFIG']['compra_produtor_rural'] = _post('compra_produtor_rural');
            $dataNature['CONFIG']['alq_funrural'] = _post('alq_funrural');
            $dataNature['CONFIG']['desconta_funrural'] = _post('desconta_funrural');
            $dataNature['CONFIG']['zona_franca_manaus'] = _post('zona_franca_manaus');
            $dataNature['CONFIG']['soma_impostos_total_nota'] = _post('soma_impostos_total_nota');
            $dataNature['CONFIG']['reducao_bcicms_st_ipi'] = _post('reducao_bcicms_st_ipi');
//            $dataNature['CONFIG']['obs'] = _post('ca_obs');
            $d->params = json_encode($dataNature);
            //   var_dump($d->params); die();
            $d->save();
            if (empty($id)) {
                _notify($_L['Nature Of Operation'] . " " . $_L['added_successful'], 's');
            } else {
                _notify($_L['edit_successful'], 's');
            }
            echo $d->id;
        } else {
            echo $_L['Description'] . $_L['is required'];
        }

        break;

    case 'ajax-list':
//recebe o parametro do estado
        $segment = ORM::for_table('nature_operation')->find_many();
        $data = array();
        foreach ($segment as $s) {
            $data[] = array(
                'id' => $s->id,
                'name' => ($s->default) ? $_L[$s->name] : $s->name
            );
        }
        echo json_encode($data);
        break;

//remove o segmento
    case 'delete':
        $id = intval(str_replace('s', '', $routes[2]));
        $d = ORM::for_table('nature_operation')->find_one($id);
        if ($d) {
            if ($d->default) {
                r2(U . 'nature_operation/list/', 'e', $_L['Not Permited']);
            } else {
                // find all items com a unidade
//            $client = ORM::for_table('crm_accounts')->where("segment_id", $id)->find_many();
//            if (count($client) > 0) {
//                r2(U . 'segment/list/', 'e', $_L['Not permited remove this segment. Segment having  Contacts']);
//            } else {
                $d->delete();
                _log($_L['Nature Operation Deleted Successfully'] . " - " . $d->name, 'Admin', $user['id']);
                r2(U . 'nature_operation/list/', 's', $_L['Nature Operation Deleted Successfully']);
//            }
            }
        } else {
            echo 'not found';
        }
        break;
    case 'reorder':
        $nature = ORM::for_table('nature_operation')->order_by_asc('sorder')->find_array();
//passa o id no getone()
        $ui->assign('ritem', $_L['Nature Of Operation']);
        $ui->assign('d', $nature);
        $ui->assign('xheader', '
        <link rel="stylesheet" type="text/css" href="' . $_theme . '/css/liststyle.css"/>
        ');
        $ui->assign('display_name', 'name');
        $ui->assign('xjq', Reorder::js('nature_operation'));
        $ui->display('reorder.tpl');
        break;
    default:
        echo 'action not defined';
}

function groupDataJson($jsonFields) {
    if (!isset($jsonFields['ICMS']['st'])) {
        $jsonFields['ICMS']['st'] = '';
    }
    if (!isset($jsonFields['ICMS']['cfop'])) {
        $jsonFields['ICMS']['cfop'] = '';
    }

    if (!isset($jsonFields['ICMS']['aliquota'])) {
        $jsonFields['ICMS']['aliquota'] = "";
    }
    if (!isset($jsonFields['ICMS']['possui_partilha_interestadual'])) {
        $jsonFields['ICMS']['possui_partilha_interestadual'] = '';
    }
    if (!isset($jsonFields['ICMS']['base'])) {
        $jsonFields['ICMS']['base'] = '';
    }
    if (!isset($jsonFields['ICMS']['base_diferimento'])) {
        $jsonFields['ICMS']['base_diferimento'] = '';
    }
    if (!isset($jsonFields['ICMS']['alq_presumido'])) {
        $jsonFields['ICMS']['alq_presumido'] = '';
    }
    if (!isset($jsonFields['ICMS']['obs'])) {
        $jsonFields['ICMS']['obs'] = '';
    }
    if (!isset($jsonFields['ICMS']['icms_icms_st_alq'])) {
        $jsonFields['ICMS']['icms_icms_st_alq'] = '';
    }
    if (!isset($jsonFields['ICMS']['icms_modBCST'])) {
        $jsonFields['ICMS']['icms_modBCST'] = '';
    }
    if (!isset($jsonFields['ICMS']['icms_icms_st_base'])) {
        $jsonFields['ICMS']['icms_icms_st_base'] = '';
    }
    if (!isset($jsonFields['ICMS']['icms_icms_st_valor_adicionado'])) {
        $jsonFields['ICMS']['icms_icms_st_valor_adicionado'] = '';
    }
    if (!isset($jsonFields['ICMS']['icms_pis_st_alq'])) {
        $jsonFields['ICMS']['icms_pis_st_alq'] = '';
    }
    if (!isset($jsonFields['ICMS']['icms_cofins_st_alq'])) {
        $jsonFields['ICMS']['icms_cofins_st_alq'] = '';
    }
    if (!isset($jsonFields['ICMS']['exception'])) {
        $jsonFields['ICMS']['exception'] = "";
    } else {
        //tratamento do Exception, de modo a agregar os dados dos produtos
        if (!empty($jsonFields['ICMS']['exception'])) {
            $exception = array();
            foreach ($jsonFields['ICMS']['exception'] as $e) {
                $ex = json_decode($e, true);
                $ex['json'] = $e;
                if (isset($ex['destino'])) {
                    $ex['descriptionDestiny'] = getDestinyException($ex['destino']);
                } else {
                    $ex['descriptionDestiny'] = '';
                }

                if (isset($ex['products'])) {
                    $ex['descriptionProducts'] = getProductsException($ex['products']);
                } else {
                    $ex['descriptionProducts'] = '';
                }

                if (isset($ex['icms_st'])) {
                    $ex['descriptionST'] = getSt("icms" . $ex['icms_st']);
                } else {
                    $ex['descriptionST'] = '';
                }
                $exception[] = $ex;
            }
            $jsonFields['ICMS']['exception'] = $exception;
        }
    }
    if (!isset($jsonFields['IPI'])) {
        $jsonFields['IPI'] = '';
    }
    if (!isset($jsonFields['IPI']['st'])) {
        $jsonFields['IPI']['st'] = '';
    }
    if (!isset($jsonFields['IPI']['aliquota'])) {
        $jsonFields['IPI']['aliquota'] = '';
    }
    if (!isset($jsonFields['IPI']['c_enq'])) {
        $jsonFields['IPI']['c_enq'] = '';
    }
    if (!isset($jsonFields['IPI']['obs'])) {
        $jsonFields['IPI']['obs'] = '';
    }
    if (!isset($jsonFields['IPI']['exception'])) {
        $jsonFields['IPI']['exception'] = "";
    } else {
        //tratamento do Exception, de modo a agregar os dados dos produtos
        if (!empty($jsonFields['IPI']['exception'])) {
            $exception = array();
            foreach ($jsonFields['IPI']['exception'] as $e) {
                $ex = json_decode($e, true);
                $ex['json'] = $e;
                if (isset($ex['destino'])) {
                    $ex['descriptionDestiny'] = getDestinyException($ex['destino']);
                } else {
                    $ex['descriptionDestiny'] = '';
                }

                if (isset($ex['products'])) {
                    $ex['descriptionProducts'] = getProductsException($ex['products']);
                } else {
                    $ex['descriptionProducts'] = '';
                }

                if (isset($ex['ipi_st'])) {
                    $ex['descriptionST'] = getSt("ipi" . $ex['ipi_st']);
                } else {
                    $ex['descriptionST'] = '';
                }
                $exception[] = $ex;
            }
            $jsonFields['IPI']['exception'] = $exception;
        }
    }

    if (!isset($jsonFields['PIS']['st'])) {
        $jsonFields['PIS']['st'] = '';
    }
    if (!isset($jsonFields['PIS']['base'])) {
        $jsonFields['PIS']['base'] = '';
    }
    if (!isset($jsonFields['PIS']['aliquota'])) {
        $jsonFields['PIS']['aliquota'] = '';
    }
    if (!isset($jsonFields['PIS']['obs'])) {
        $jsonFields['PIS']['obs'] = '';
    }
    if (!isset($jsonFields['PIS']['exception'])) {
        $jsonFields['PIS']['exception'] = "";
    } else {
        if (!empty($jsonFields['PIS']['exception'])) {
            //tratamento do Exception, de modo a agregar os dados dos produtos
            $exception = array();
            foreach ($jsonFields['PIS']['exception'] as $e) {
                $ex = json_decode($e, true);
                $ex['json'] = $e;
                if (isset($ex['destino'])) {
                    $ex['descriptionDestiny'] = getDestinyException($ex['destino']);
                } else {
                    $ex['descriptionDestiny'] = '';
                }

                if (isset($ex['products'])) {
                    $ex['descriptionProducts'] = getProductsException($ex['products']);
                } else {
                    $ex['descriptionProducts'] = '';
                }

                if (isset($ex['pis_st'])) {
                    $ex['descriptionST'] = getSt("pis_cofins_" . $ex['pis_st']);
                } else {
                    $ex['descriptionST'] = '';
                }
                $exception[] = $ex;
            }
            $jsonFields['PIS']['exception'] = $exception;
        }
    }


    if (!isset($jsonFields['ISSQN']['st'])) {
        $jsonFields['ISSQN']['st'] = '';
    }
    if (!isset($jsonFields['ISSQN']['aliquota'])) {
        $jsonFields['ISSQN']['aliquota'] = '';
    }
    if (!isset($jsonFields['ISSQN']['base'])) {
        $jsonFields['ISSQN']['base'] = '';
    }
    if (!isset($jsonFields['ISSQN']['desconta_iss_total_nota'])) {
        $jsonFields['ISSQN']['desconta_iss_total_nota'] = '';
    }
    if (!isset($jsonFields['ISSQN']['obs'])) {
        $jsonFields['ISSQN']['obs'] = '';
    }
    if (!isset($jsonFields['ISSQN']['exception'])) {
        $jsonFields['ISSQN']['exception'] = "";
    } else {
        if (!empty($jsonFields['ISSQN']['exception'])) {
            //tratamento do Exception, de modo a agregar os dados dos produtos
            $exception = array();
            foreach ($jsonFields['ISSQN']['exception'] as $e) {
                $ex = json_decode($e, true);
                $ex['json'] = $e;
                if (isset($ex['destino'])) {
                    $ex['descriptionDestiny'] = getDestinyException($ex['destino']);
                } else {
                    $ex['descriptionDestiny'] = '';
                }

                if (isset($ex['products'])) {
                    $ex['descriptionProducts'] = getProductsException($ex['products']);
                } else {
                    $ex['descriptionProducts'] = '';
                }

                if (isset($ex['issqn_st'])) {
                    $ex['descriptionST'] = getSt("issqn" . $ex['issqn_st']);
                } else {
                    $ex['descriptionST'] = '';
                }
                $exception[] = $ex;
            }
            $jsonFields['ISSQN']['exception'] = $exception;
        }
    }

    if (!isset($jsonFields['COFINS']['st'])) {
        $jsonFields['COFINS']['st'] = '';
    }
    if (!isset($jsonFields['COFINS']['base'])) {
        $jsonFields['COFINS']['base'] = '';
    }
    if (!isset($jsonFields['COFINS']['obs'])) {
        $jsonFields['COFINS']['obs'] = '';
    }
    if (!isset($jsonFields['COFINS']['aliquota'])) {
        $jsonFields['COFINS']['aliquota'] = '';
    }
    if (!isset($jsonFields['COFINS']['exception'])) {
        $jsonFields['COFINS']['exception'] = "";
    } else {
        if (!empty($jsonFields['COFINS']['exception'])) {
            //tratamento do Exception, de modo a agregar os dados dos produtos
            $exception = array();
            foreach ($jsonFields['COFINS']['exception'] as $e) {
                $ex = json_decode($e, true);
                $ex['json'] = $e;
                if (isset($ex['destino'])) {
                    $ex['descriptionDestiny'] = getDestinyException($ex['destino']);
                } else {
                    $ex['descriptionDestiny'] = '';
                }

                if (isset($ex['products'])) {
                    $ex['descriptionProducts'] = getProductsException($ex['products']);
                } else {
                    $ex['descriptionProducts'] = '';
                }

                if (isset($ex['cofins_st'])) {
                    $ex['descriptionST'] = getSt("pis_cofins_" . $ex['cofins_st']);
                } else {
                    $ex['descriptionST'] = '';
                }
                $exception[] = $ex;
            }
            $jsonFields['COFINS']['exception'] = $exception;
        }
    }


    if (!isset($jsonFields['SIMPLES']['st'])) {
        $jsonFields['SIMPLES']['st'] = '';
    }
    if (!isset($jsonFields['SIMPLES']['cfop'])) {
        $jsonFields['SIMPLES']['cfop'] = '';
    }
    if (!isset($jsonFields['SIMPLES']['aliquota'])) {
        $jsonFields['SIMPLES']['aliquota'] = '';
    }
    if (!isset($jsonFields['SIMPLES']['base'])) {
        $jsonFields['SIMPLES']['base'] = '';
    }
    if (!isset($jsonFields['SIMPLES']['possui_partilha_icms_interestadual'])) {
        $jsonFields['SIMPLES']['possui_partilha_icms_interestadual'] = '';
    }
    if (!isset($jsonFields['SIMPLES']['alq_credito'])) {
        $jsonFields['SIMPLES']['alq_credito'] = '';
    }
    if (!isset($jsonFields['SIMPLES']['obs'])) {
        $jsonFields['SIMPLES']['obs'] = '';
    }
    if (!isset($jsonFields['SIMPLES']['icms_st_alq'])) {
        $jsonFields['SIMPLES']['icms_st_alq'] = '';
    }
    if (!isset($jsonFields['SIMPLES']['icms_st_modBCST'])) {
        $jsonFields['SIMPLES']['icms_st_modBCST'] = '';
    }
    if (!isset($jsonFields['SIMPLES']['icms_st_base'])) {
        $jsonFields['SIMPLES']['icms_st_base'] = '';
    }
    if (!isset($jsonFields['SIMPLES']['icms_st_valor_adicionado'])) {
        $jsonFields['SIMPLES']['icms_st_valor_adicionado'] = '';
    }
    if (!isset($jsonFields['SIMPLES']['alqRetido'])) {
        $jsonFields['SIMPLES']['alqRetido'] = '';
    }
    if (!isset($jsonFields['SIMPLES']['baseRetido'])) {
        $jsonFields['SIMPLES']['baseRetido'] = '';
    }

    if (!isset($jsonFields['SIMPLES']['exception'])) {
        $jsonFields['SIMPLES']['exception'] = "";
    } else {
        if (!empty($jsonFields['SIMPLES']['exception'])) {
            //tratamento do Exception, de modo a agregar os dados dos produtos
            $exception = array();
            foreach ($jsonFields['SIMPLES']['exception'] as $e) {
                $ex = json_decode($e, true);
                $ex['json'] = $e;
                if (isset($ex['destino'])) {
                    $ex['descriptionDestiny'] = getDestinyException($ex['destino']);
                } else {
                    $ex['descriptionDestiny'] = '';
                }

                if (isset($ex['products'])) {
                    $ex['descriptionProducts'] = getProductsException($ex['products']);
                } else {
                    $ex['descriptionProducts'] = '';
                }

                if (isset($ex['simples_st'])) {
                    $ex['descriptionST'] = getSt("simples" . $ex['simples_st']);
                } else {
                    $ex['descriptionST'] = '';
                }
                $exception[] = $ex;
            }
            $jsonFields['SIMPLES']['exception'] = $exception;
        }
    }

    if (!isset($jsonFields['OBS']['obs'])) {
        $jsonFields['OBS']['obs'] = '';
    }

    if (!isset($jsonFields['CONFIG']['serie'])) {
        $jsonFields['CONFIG']['serie'] = '';
    }
    if (!isset($jsonFields['CONFIG']['consumidor'])) {
        $jsonFields['CONFIG']['consumidor'] = '';
    }
    if (!isset($jsonFields['CONFIG']['faturada'])) {
        $jsonFields['CONFIG']['faturada'] = '';
    }
    if (!isset($jsonFields['CONFIG']['expedicao'])) {
        $jsonFields['CONFIG']['expedicao'] = '';
    }
    if (!isset($jsonFields['CONFIG']['devolucao'])) {
        $jsonFields['CONFIG']['devolucao'] = '';
    }
    if (!isset($jsonFields['CONFIG']['compra_produtor_rural'])) {
        $jsonFields['CONFIG']['compra_produtor_rural'] = '';
    }
    if (!isset($jsonFields['CONFIG']['alq_funrural'])) {
        $jsonFields['CONFIG']['alq_funrural'] = '';
    }
    if (!isset($jsonFields['CONFIG']['desconta_funrural'])) {
        $jsonFields['CONFIG']['desconta_funrural'] = '';
    }
    if (!isset($jsonFields['CONFIG']['zona_franca_manaus'])) {
        $jsonFields['CONFIG']['zona_franca_manaus'] = '';
    }
    if (!isset($jsonFields['CONFIG']['soma_impostos_total_nota'])) {
        $jsonFields['CONFIG']['soma_impostos_total_nota'] = '';
    }
    if (!isset($jsonFields['CONFIG']['reducao_bcicms_st_ipi'])) {
        $jsonFields['CONFIG']['reducao_bcicms_st_ipi'] = '';
    }
    return $jsonFields;
}

function groupJsonException($jsonFields) {
    if (!isset($jsonFields['icms_st'])) {
        $jsonFields['icms_st'] = '';
    }
    if (!isset($jsonFields['icms_cfop'])) {
        $jsonFields['icms_cfop'] = '';
    }

    if (!isset($jsonFields['icms_aliquota'])) {
        $jsonFields['icms_aliquota'] = "";
    }
    if (!isset($jsonFields['icms_possui_partilha_interestadual'])) {
        $jsonFields['icms_possui_partilha_interestadual'] = '';
    }
    if (!isset($jsonFields['icms_base'])) {
        $jsonFields['icms_base'] = '';
    }
    if (!isset($jsonFields['icms_base_diferimento'])) {
        $jsonFields['icms_base_diferimento'] = '';
    }
    if (!isset($jsonFields['icms_alq_presumido'])) {
        $jsonFields['icms_alq_presumido'] = '';
    }
    if (!isset($jsonFields['icms_obs'])) {
        $jsonFields['icms_obs'] = '';
    }
    if (!isset($jsonFields['icms_icms_st_alq'])) {
        $jsonFields['icms_icms_st_alq'] = '';
    }
    if (!isset($jsonFields['icms_icms_st_modBCST'])) {
        $jsonFields['icms_icms_st_modBCST'] = '';
    }
    if (!isset($jsonFields['icms_icms_st_base'])) {
        $jsonFields['icms_icms_st_base'] = '';
    }
    if (!isset($jsonFields['icms_icms_st_valor_adicionado'])) {
        $jsonFields['icms_icms_st_valor_adicionado'] = '';
    }
    if (!isset($jsonFields['icms_icms_pis_st_alq'])) {
        $jsonFields['icms_icms_pis_st_alq'] = '';
    }
    if (!isset($jsonFields['icms_icms_cofins_st_alq'])) {
        $jsonFields['icms_icms_cofins_st_alq'] = '';
    }
    if (!isset($jsonFields['icms_icms_modBCST'])) {
        $jsonFields['icms_icms_modBCST'] = '';
    }

    if (!isset($jsonFields['icms_exception'])) {
        $jsonFields['icms_exception'] = "";
    }

    if (!isset($jsonFields['IPI'])) {
        $jsonFields['IPI'] = '';
    }

    if (!isset($jsonFields['ipi_st'])) {
        $jsonFields['ipi_st'] = '';
    }
    if (!isset($jsonFields['ipi_aliquota'])) {
        $jsonFields['ipi_aliquota'] = '';
    }
    if (!isset($jsonFields['ipi_c_enq'])) {
        $jsonFields['ipi_c_enq'] = '';
    }
    if (!isset($jsonFields['ipi_obs'])) {
        $jsonFields['ipi_obs'] = '';
    }
    if (!isset($jsonFields['ipi_exception'])) {
        $jsonFields['ipi_exception'] = "";
    }

    if (!isset($jsonFields['pis_st'])) {
        $jsonFields['pis_st'] = '';
    }
    if (!isset($jsonFields['pis_base'])) {
        $jsonFields['pis_base'] = '';
    }
    if (!isset($jsonFields['pis_aliquota'])) {
        $jsonFields['pis_aliquota'] = '';
    }
    if (!isset($jsonFields['pis_obs'])) {
        $jsonFields['pis_obs'] = '';
    }
    if (!isset($jsonFields['pis_exception'])) {
        $jsonFields['pis_exception'] = "";
    }

    if (!isset($jsonFields['issqn_st'])) {
        $jsonFields['issqn_st'] = '';
    }
    if (!isset($jsonFields['issqn_aliquota'])) {
        $jsonFields['issqn_aliquota'] = '';
    }
    if (!isset($jsonFields['issqn_base'])) {
        $jsonFields['issqn_base'] = '';
    }
    if (!isset($jsonFields['issqn_desconta_iss_total_nota'])) {
        $jsonFields['issqn_desconta_iss_total_nota'] = '';
    }
    if (!isset($jsonFields['issqn_obs'])) {
        $jsonFields['issqn_obs'] = '';
    }
    if (!isset($jsonFields['issqn_exception'])) {
        $jsonFields['issqn_exception'] = "";
    }

    if (!isset($jsonFields['cofins_st'])) {
        $jsonFields['cofins_st'] = '';
    }
    if (!isset($jsonFields['cofins_base'])) {
        $jsonFields['cofins_base'] = '';
    }
    if (!isset($jsonFields['cofins_obs'])) {
        $jsonFields['cofins_obs'] = '';
    }
    if (!isset($jsonFields['cofins_aliquota'])) {
        $jsonFields['cofins_aliquota'] = '';
    }
    if (!isset($jsonFields['cofins_exception'])) {
        $jsonFields['cofins_exception'] = "";
    }

    if (!isset($jsonFields['simples_st'])) {
        $jsonFields['simples_st'] = '';
    }
    if (!isset($jsonFields['simples_cfop'])) {
        $jsonFields['simples_cfop'] = '';
    }
    if (!isset($jsonFields['simples_aliquota'])) {
        $jsonFields['simples_aliquota'] = '';
    }
    if (!isset($jsonFields['simples_base'])) {
        $jsonFields['simples_base'] = '';
    }
    if (!isset($jsonFields['simples_possui_partilha_icms_interestadual'])) {
        $jsonFields['simples_possui_partilha_icms_interestadual'] = '';
    }
    if (!isset($jsonFields['simples_alq_credito'])) {
        $jsonFields['simples_alq_credito'] = '';
    }
    if (!isset($jsonFields['simples_obs'])) {
        $jsonFields['simples_obs'] = '';
    }
    if (!isset($jsonFields['simples_icms_st_alq'])) {
        $jsonFields['simples_icms_st_alq'] = '';
    }
    if (!isset($jsonFields['simples_icms_st_modBCST'])) {
        $jsonFields['simples_icms_st_modBCST'] = '';
    }
    if (!isset($jsonFields['simples_icms_st_base'])) {
        $jsonFields['simples_icms_st_base'] = '';
    }
    if (!isset($jsonFields['simples_icms_st_valor_adicionado'])) {
        $jsonFields['simples_icms_st_valor_adicionado'] = '';
    }
    if (!isset($jsonFields['simples_alqRetido'])) {
        $jsonFields['simples_alqRetido'] = '';
    }
    if (!isset($jsonFields['simples_baseRetido'])) {
        $jsonFields['simples_baseRetido'] = '';
    }
    return $jsonFields;
}

function getDestinyException($val) {
    $state = ORM::for_table('state')->order_by_asc('state_name')->find_many();
    $statesText = '';
    if (!is_array($val)) {
        for ($i = 0; $i < count($state); $i++) {
            if ($val == $state[$i]['id']) {
                $statesText.=", " . $state[$i]['uf_state'];
            }
        }
    } else {
        foreach ($val as $dest) {

            for ($i = 0; $i < count($state); $i++) {
                if ($dest == $state[$i]['id']) {
                    $statesText.=", " . $state[$i]['uf_state'];
                }
            }
        }
    }
    return empty($statesText) ? '' : substr($statesText, 1);
}

function getProductsException($val) {
    $text = '';
    //pega cada produto e busca o nome correspodente para montar a tela
    if (!is_array($val)) {
        $prod = ORM::for_table('sys_items')->find_one($val);
        $text = $prod->id . " - " . $prod->description . "<br/>";
    } else {
        foreach ($val as $v) {
            $prod = ORM::for_table('sys_items')->find_one($v);
            $text .= $prod->id . " - " . $prod->description . "<br/>";
        }
    }

    return $text;
}

function getSt($val) {
    global $_L;
    $lista['icms00'] = $_L['00 - Fully taxed'];
    $lista['icms10'] = $_L['10 - Taxed and with ICMS tax collection for tax substitution'];
    $lista['icms20'] = $_L['20 - With reduction of base of calculation'];
    $lista['icms30'] = $_L['30 - Exempt or not taxed and with ICMS tax collection for tax substitution'];
    $lista['icms40'] = $_L['40 - Exempt'];
    $lista['icms41'] = $_L['41 - Not taxed'];
    $lista['icms50'] = $_L['50 - Suspension'];
    $lista['icms51'] = $_L['51 - Deferral'];
    $lista['icms60'] = $_L['60 - ICMS charged previously for tax substitution'];
    $lista['icms70'] = $_L['70 - With reduction of calculation base and collection of ICMS by tax substitution'];
    $lista['icms90'] = $_L['90 - Other'];

    $lista['ipi50'] = $_L['50 - Taxable income'];
    $lista['ipi51'] = $_L['51 - Taxed income with zero rate'];
    $lista['ipi52'] = $_L['52 - Exempt output'];
    $lista['ipi53'] = $_L['53 - Non-taxable outflow'];
    $lista['ipi54'] = $_L['54 - Immune output'];
    $lista['ipi55'] = $_L['55 - Output with suspension'];
    $lista['ipi99'] = $_L['99 - Other exits'];
    $lista['ipiZZ'] = $_L['Presumed'];

    $lista['issqn00'] = $_L['Taxed'];
    $lista['issqn01'] = $_L['Exempt'];
    $lista['issqn02'] = $_L['Other situation'];

    $lista["pis_cofins_01"] = "01 - Operação tributável (alíquota normal, cumulativo ou não)";
    $lista["pis_cofins_02"] = "02 - Operação tributável (alíquota diferenciada)";
    $lista["pis_cofins_03"] = "03 - Operação tributável (alíquota por unidade de produto)";
    $lista["pis_cofins_04"] = "04 - Operação tributável (tributação monofásica, alíquota zero)";
    $lista["pis_cofins_05"] = "05 - Operação Tributável (Substituição Tributária)";
    $lista["pis_cofins_06"] = "06 - Operação tributável (alíquota zero)";
    $lista["pis_cofins_07"] = "07 - Operação isenta da contribuição";
    $lista["pis_cofins_08"] = "08 - Operação sem incidência da contribuição";
    $lista["pis_cofins_09"] = "09 - Operação com suspensão da contribuição";
    $lista["pis_cofins_49"] = "49 - Outras Operações de Saída";
    $lista["pis_cofins_50"] = "50 - Operação com Direito a Crédito - Vinculada Exclusivamente a Receita Tributada no Mercado Interno";
    $lista["pis_cofins_51"] = "51 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita Não Tributada no Mercado Interno";
    $lista["pis_cofins_52"] = "52 - Operação com Direito a Crédito - Vinculada Exclusivamente a Receita de Exportação";
    $lista["pis_cofins_53"] = "53 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno";
    $lista["pis_cofins_54"] = "54 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas no Mercado Interno e de Exportação";
    $lista["pis_cofins_55"] = "55 - Operação com Direito a Crédito - Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação";
    $lista["pis_cofins_56"] = "56 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação";
    $lista["pis_cofins_60"] = "60 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Tributada no Mercado Interno";
    $lista["pis_cofins_61"] = "61 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno";
    $lista["pis_cofins_62"] = "62 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita de Exportação";
    $lista["pis_cofins_63"] = "63 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno";
    $lista["pis_cofins_64"] = "64 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas no Mercado Interno e de Exportação";
    $lista["pis_cofins_65"] = "65 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação";
    $lista["pis_cofins_66"] = "66 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação";
    $lista["pis_cofins_67"] = "67 - Crédito Presumido - Outras Operações";
    $lista["pis_cofins_70"] = "70 - Operação de Aquisição sem Direito a Crédito";
    $lista["pis_cofins_71"] = "71 - Operação de Aquisição com Isenção";
    $lista["pis_cofins_72"] = "72 - Operação de Aquisição com Suspensão";
    $lista["pis_cofins_73"] = "73 - Operação de Aquisição a Alíquota Zero";
    $lista["pis_cofins_74"] = "74 - Operação de Aquisição sem Incidência da Contribuição";
    $lista["pis_cofins_75"] = "75 - Operação de Aquisição por Substituição Tributária";
    $lista["pis_cofins_98"] = "98 - Outras Operações de Entrada";
    $lista["pis_cofins_99"] = "99 - Outras operações";
    $lista["simples101"] = "101 - Tributada com permissão de crédito";
    $lista["simples102"] = "102 - Tributada sem permissão de crédito";
    $lista["simples103"] = "103 - Isenção do ICMS para faixa de receita bruta";
    $lista["simples201"] = "201 - Tributada com permissão de crédito e com cobrança do ICMS por ST";
    $lista["simples202"] = "202 - Tributada sem permissão de crédito e com cobrança do ICMS por ST";
    $lista["simples203"] = "203 - Isenção do ICMS para faixa de receita bruta e com cobrança do ICMS por ST";
    $lista["simples300"] = "300 - Imune";
    $lista["simples400"] = "400 - Não tributada";
    $lista["simples500"] = "500 - ICMS cobrado anteriormente por ST ou por antecipação";
    $lista["simples900"] = "900 - Outros";

    if (empty($val)) {
        return "";
    }
    if (isset($lista[$val])) {
        return $lista[$val];
    } else {
        return "";
    }
}

Anon7 - 2022
AnonSec Team