Exemple #1
0
        private void afterPrint()
        {
            if (bsMDFe.Current != null)
            {
                if (!(bsMDFe.Current as TRegistro_Lote_X_MDFe).cStat.Trim().Equals("100"))
                {
                    MessageBox.Show("Permitido imprimir DAMDFE somente de MDF-e aceito pela receita.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }

                using (FormRelPadrao.TFGerenciadorImpressao fImp = new FormRelPadrao.TFGerenciadorImpressao())
                {
                    FormRelPadrao.Relatorio Rel = new FormRelPadrao.Relatorio();
                    Rel.Altera_Relatorio = Altera_Relatorio;
                    BindingSource BinDados = new BindingSource();
                    BinDados.DataSource = TCN_MDFe.Buscar((bsMDFe.Current as TRegistro_Lote_X_MDFe).Cd_empresa,
                                                          (bsMDFe.Current as TRegistro_Lote_X_MDFe).Id_mdfestr,
                                                          string.Empty,
                                                          string.Empty,
                                                          string.Empty,
                                                          string.Empty,
                                                          string.Empty,
                                                          string.Empty,
                                                          string.Empty,
                                                          string.Empty,
                                                          string.Empty,
                                                          string.Empty,
                                                          null);
                    Rel.DTS_Relatorio = BinDados;
                    //Buscar Empresa
                    BindingSource bs_empresa = new BindingSource();
                    bs_empresa.DataSource = new CamadaDados.Diversos.TList_CadEmpresa()
                    {
                        empresa.SelectedItem as CamadaDados.Diversos.TRegistro_CadEmpresa
                    };
                    Rel.Adiciona_DataSource("EMPRESA", bs_empresa);
                    //Parametro RNTRC
                    object obj_rntrc = new CamadaDados.Frota.Cadastros.TCD_CfgFrota().BuscarEscalar(
                        new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "a.cd_empresa",
                            vOperador = "=",
                            vVL_Busca = "'" + (empresa.SelectedItem as CamadaDados.Diversos.TRegistro_CadEmpresa).Cd_empresa.Trim() + "'"
                        }
                    }, "a.rntrc");
                    if (obj_rntrc != null)
                    {
                        Rel.Parametros_Relatorio.Add("RNTRC", obj_rntrc.ToString());
                    }
                    //Montar Parametros Veiculos
                    TList_MDFe_Veiculo lVeic = TCN_MDFe_Veiculo.Buscar((bsMDFe.Current as TRegistro_Lote_X_MDFe).Cd_empresa,
                                                                       (bsMDFe.Current as TRegistro_Lote_X_MDFe).Id_mdfestr,
                                                                       null);
                    if (lVeic.Count > 0)
                    {
                        for (int i = 0; i < lVeic.Count; i++)
                        {
                            if (i < 3)
                            {
                                Rel.Parametros_Relatorio.Add("PLACA" + (i + 1).ToString(), lVeic[i].Placa);
                                Rel.Parametros_Relatorio.Add("RNTRC" + (i + 1).ToString(), lVeic[i].rVeic.Rntrc_prop);
                            }
                            else
                            {
                                break;
                            }
                        }
                    }
                    //Montar Parametros Motorista
                    TList_MDFe_Motorista lMot = TCN_MDFe_Motorista.Buscar((bsMDFe.Current as TRegistro_Lote_X_MDFe).Cd_empresa,
                                                                          (bsMDFe.Current as TRegistro_Lote_X_MDFe).Id_mdfestr,
                                                                          null);
                    int index = 0;
                    if (lMot.Count > 0)
                    {
                        while (index < 6 && index < lMot.Count)
                        {
                            Rel.Parametros_Relatorio.Add("NOME" + (index + 1).ToString(), lMot[index].Nm_motorista.Trim());
                            Rel.Parametros_Relatorio.Add("CPF" + (index + 1).ToString(), lMot[index].Cpf_motorista.Trim());
                            index++;
                        }
                    }
                    if (index < 6)
                    {
                        TList_MDFe_Evento lEvent = TCN_MDFe_Evento.Buscar((bsMDFe.Current as TRegistro_Lote_X_MDFe).Cd_empresa,
                                                                          (bsMDFe.Current as TRegistro_Lote_X_MDFe).Id_mdfestr,
                                                                          "IC",
                                                                          "T",
                                                                          null);
                        if (lEvent.Count > 0)
                        {
                            while (index < 6 && index < lEvent.Count)
                            {
                                Rel.Parametros_Relatorio.Add("NOME" + (index + 1).ToString(), lEvent[index].Nm_motorista.Trim());
                                Rel.Parametros_Relatorio.Add("CPF" + (index + 1).ToString(), lEvent[index].Cpf_motorista.Trim());
                                index++;
                            }
                        }
                    }
                    //Parametros Documentos
                    TList_MDFe_Documentos lDoc = TCN_MDFe_Documentos.Buscar((bsMDFe.Current as TRegistro_Lote_X_MDFe).Cd_empresa,
                                                                            (bsMDFe.Current as TRegistro_Lote_X_MDFe).Id_mdfestr,
                                                                            null);
                    if (lDoc.Count > 0)
                    {
                        Rel.Parametros_Relatorio.Add("QTD_CTE", lDoc.Count(p => !string.IsNullOrEmpty(p.ChaveCTe)));
                        Rel.Parametros_Relatorio.Add("QTD_NFE", lDoc.Count(p => !string.IsNullOrEmpty(p.ChaveNFe)));
                        Rel.Parametros_Relatorio.Add("PESO", lDoc.Sum(p => p.PesoBrutoNFe));
                        for (int i = 0; i < lDoc.Count; i++)
                        {
                            if (i >= 8)
                            {
                                break;
                            }
                            else
                            {
                                Rel.Parametros_Relatorio.Add("CHAVE" + (i + 1).ToString(), string.IsNullOrEmpty(lDoc[i].ChaveCTe) ? lDoc[i].ChaveNFe : lDoc[i].ChaveCTe);
                            }
                        }
                    }
                    Rel.Nome_Relatorio          = "TFLanMDFe_DAMDFe";
                    Rel.NM_Classe               = "TFLanMDFe";
                    Rel.Modulo                  = "FRT";
                    Rel.Ident                   = "TFLanMDFe_DAMDFe";
                    fImp.St_enabled_enviaremail = true;
                    fImp.pCd_clifor             = string.Empty;
                    fImp.pMensagem              = "DAMDFe";
                    //Verificar se existe logo configurada para a empresa
                    if ((empresa.SelectedItem as CamadaDados.Diversos.TRegistro_CadEmpresa).Img != null)
                    {
                        Rel.Parametros_Relatorio.Add("IMAGEM_RELATORIO", (empresa.SelectedItem as CamadaDados.Diversos.TRegistro_CadEmpresa).Img);
                    }
                    if (Altera_Relatorio)
                    {
                        Rel.Gera_Relatorio(string.Empty,
                                           fImp.pSt_imprimir,
                                           fImp.pSt_visualizar,
                                           fImp.pSt_enviaremail,
                                           fImp.pSt_exportPdf,
                                           fImp.Path_exportPdf,
                                           fImp.pDestinatarios,
                                           null,
                                           "DAMDFe",
                                           fImp.pDs_mensagem);
                        Altera_Relatorio = false;
                    }
                    else if ((fImp.ShowDialog() == DialogResult.OK) || (fImp.pSt_enviaremail))
                    {
                        List <string> Anexo = null;
                        if (fImp.St_receberXmlNfe)
                        {
                            string path_anexo = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVlString("PATH_ANEXO_EMAIL", null);
                            if (!string.IsNullOrEmpty(path_anexo))
                            {
                                if (!System.IO.Directory.Exists(path_anexo))
                                {
                                    System.IO.Directory.CreateDirectory(path_anexo);
                                }
                                if (!path_anexo.EndsWith("\\"))
                                {
                                    path_anexo += System.IO.Path.DirectorySeparatorChar.ToString();
                                }
                            }
                        }
                        Rel.Gera_Relatorio(string.Empty,
                                           fImp.pSt_imprimir,
                                           fImp.pSt_visualizar,
                                           fImp.pSt_enviaremail,
                                           fImp.pSt_exportPdf,
                                           fImp.Path_exportPdf,
                                           fImp.pDestinatarios,
                                           Anexo,
                                           "MDFe",
                                           fImp.pDs_mensagem);
                    }
                }
            }
        }
Exemple #2
0
        public static string Gravar(TRegistro_AbastVeiculo val, BancoDados.TObjetoBanco banco)
        {
            bool             st_transacao = false;
            TCD_AbastVeiculo qtb_abast    = new TCD_AbastVeiculo();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_abast.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_abast.Banco_Dados = banco;
                }
                if (val.Tp_abastecimento.Trim().ToUpper().Equals("P") &&
                    val.Tp_registro.Trim().ToUpper().Equals("A") &&
                    (!val.Id_lanctoestoque.HasValue))
                {
                    //Buscar local armazenagem
                    object obj = new CamadaDados.Frota.Cadastros.TCD_CfgFrota(qtb_abast.Banco_Dados).BuscarEscalar(
                        new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = "a.cd_empresa",
                            vOperador = "=",
                            vVL_Busca = "'" + val.Cd_empresa.Trim() + "'"
                        }
                    }, "a.cd_local");
                    if (obj == null)
                    {
                        throw new Exception("Não existe local armazenagem configurado para empresa " + val.Cd_empresa.Trim());
                    }
                    //Baixar estoque
                    string ret_est =
                        CamadaNegocio.Estoque.TCN_LanEstoque.GravarEstoque(
                            new CamadaDados.Estoque.TRegistro_LanEstoque()
                    {
                        Cd_empresa    = val.Cd_empresa,
                        Cd_produto    = val.Cd_produto,
                        Cd_local      = obj.ToString(),
                        Dt_lancto     = val.Dt_abastecimento,
                        Tp_movimento  = "S",
                        Qtd_entrada   = decimal.Zero,
                        Qtd_saida     = val.Volume,
                        Vl_unitario   = val.Vl_unitario,
                        Vl_subtotal   = val.Vl_subtotal,
                        Tp_lancto     = "N",
                        St_registro   = "A",
                        Ds_observacao = "BAIXA ABASTECIMENTO INTERNO"
                    }, qtb_abast.Banco_Dados);
                    //baixa estoque no abastecimento
                    val.Id_lanctoestoque = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_est, "@@P_ID_LANCTOESTOQUE"));
                }
                val.Id_abastecimentostr = CamadaDados.TDataQuery.getPubVariavel(qtb_abast.Gravar(val), "@P_ID_ABASTECIMENTO");
                if (val.rAbast != null)
                {
                    val.rAbast.Id_abastecimento = val.Id_abastecimento;
                    TCN_Abastecidas.Gravar(val.rAbast, qtb_abast.Banco_Dados);
                }
                if (val.rDup != null)
                {
                    CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.GravarDuplicata(val.rDup, false, qtb_abast.Banco_Dados);
                    //Gravar Abast X Duplicata
                    TCN_Abast_X_Duplicata.Gravar(new TRegistro_Abast_X_Duplicata()
                    {
                        Id_abastecimento = val.Id_abastecimento,
                        Cd_empresa       = val.rDup.Cd_empresa,
                        Nr_lancto        = val.rDup.Nr_lancto
                    }, qtb_abast.Banco_Dados);
                }
                if (val.lCCusto != null)
                {
                    val.lCCusto.ForEach(p =>
                    {
                        p.Cd_empresa = val.Cd_empresa;
                        CamadaNegocio.Financeiro.CCustoLan.TCN_LanCCustoLancto.Gravar(p, qtb_abast.Banco_Dados);
                        TCN_AbastFrota_X_CCusto.Gravar(new TRegistro_AbastFrota_X_CCusto()
                        {
                            Id_abastecimento = val.Id_abastecimento,
                            Id_ccustolan     = p.Id_ccustolan
                        }, qtb_abast.Banco_Dados);
                    });
                }
                //Gravar configuracao produto x fornecedor
                if (val.rProdForn != null)
                {
                    CamadaNegocio.Estoque.Cadastros.TCN_Produto_X_Fornecedor.Gravar(
                        new CamadaDados.Estoque.Cadastros.TRegistro_Produto_X_Fornecedor()
                    {
                        Cd_fornecedor     = val.Cd_fornecedor,
                        Cd_produto        = val.Cd_produto,
                        Cd_unidade_fornec = val.rProdForn.Cd_unidade_fornec,
                        Codigo_fornecedor = val.rProdForn.Cd_produto_xml,
                    }, qtb_abast.Banco_Dados);
                }
                if (st_transacao)
                {
                    qtb_abast.Banco_Dados.Commit_Tran();
                }
                return(val.Id_abastecimentostr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_abast.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar abastecimento: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_abast.deletarBanco_Dados();
                }
            }
        }