| 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 : |
<?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 "";
}
}