static function ICMS($produto, $operacao, $emitente, $destinatario)
 {
     $filtroTributosDao = new FiltroTributosDao();
     $tributoData = $filtroTributosDao->getFiltroTributos($emitente, $destinatario, $operacao, $produto, "ICMS");
     if (!$tributoData) {
         $erros = array("mensagem" => "Configuração de ICMS não encontrada");
         Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($erros))->send();
     }
     /* Tributação 1 - CSOSN 101 com IPI e ICMS ST não Destacado */
     $config = new \stdClass();
     $config->CSOSN = $tributoData['dsc_cson'];
     $config->CST = $tributoData['dsc_cst'];
     $config->IncluirIPIBaseICMS = $tributoData['flg_incluir_ipi_base_icms'];
     $config->PercMVAProprio = $tributoData['num_percentual_mva_proprio'];
     $config->IncluirFreteBaseICMS = $tributoData['flg_incluir_frete_base_icms'];
     $config->PercRedICMS = $tributoData['num_percentual_reducao_icms'];
     $config->DestacarICMSDes = $tributoData['flg_destacar_icms_des'];
     $config->MotivoDesICMS = $tributoData['MotivoDesICMS'];
     $config->ModalidadeBaseICMS = $tributoData['ModalidadeBaseICMS'];
     $config->AliquotaICMS = $tributoData['vlr_aliquota_icms'];
     $config->AliquotaICMSST = $tributoData['vlr_aliquota_icms_st'];
     $config->ModalidadeBaseICMSST = $tributoData['ModalidadeBaseICMSST'];
     $config->PercMVAAjustadoST = $tributoData['num_percentual_mva_ajustado_st'];
     $config->DestacarICMSST = $tributoData['flg_destacar_icms_st'];
     $config->PercDifICMS = $tributoData['num_percentual_diferimento_icms'];
     $config->ValorBaseICMS = $tributoData['vlr_base_calculo_icms'];
     $config->DestacarICMS = $tributoData['flg_destacar_icms'];
     $config->PercDiferimento = $tributoData['num_percentual_diferimento'];
     $config->BaseCalcICMSST = $tributoData['vlr_base_calculo_icms_st'];
     return $config;
 }
 public static function delete($cod_regra_tributos)
 {
     $FiltroTributosDao = new FiltroTributosDao();
     if (is_numeric($cod_regra_tributos)) {
         if ($FiltroTributosDao->delete($cod_regra_tributos)) {
             Flight::halt(200, '');
         } else {
             Flight::halt(500, 'erro ao excluir');
         }
     } else {
         Flight::halt(406, 'parametro recusado');
     }
 }