コード例 #1
0
        public static string Excluir(TRegistro_LoteRPS_X_NFES val, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao           = false;
            TCD_LoteRPS_X_NFES qtb_lote = new TCD_LoteRPS_X_NFES();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_lote.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_lote.Banco_Dados = banco;
                }
                qtb_lote.Excluir(val);
                if (st_transacao)
                {
                    qtb_lote.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_lote.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro excluir registro: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_lote.deletarBanco_Dados();
                }
            }
        }
コード例 #2
0
        public static void CorrigirNumeroNFSe(TRegistro_LoteRPS_X_NFES val, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao           = false;
            TCD_LoteRPS_X_NFES qtb_lote = new TCD_LoteRPS_X_NFES();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_lote.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_lote.Banco_Dados = banco;
                }
                if (val.Nr_notafiscal.HasValue && val.Nr_nfse.HasValue)
                {
                    if (val.Nr_notafiscal.Value != val.Nr_nfse.Value)
                    {
                        //Verificar se existe NF-e utilizando numero nota
                        CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento lFat =
                            CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.Busca(val.Cd_empresa,
                                                                                          val.Nr_nfse.Value.ToString(),
                                                                                          val.Nr_serie,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          decimal.Zero,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          false,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          decimal.Zero,
                                                                                          decimal.Zero,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          false,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          1,
                                                                                          string.Empty,
                                                                                          qtb_lote.Banco_Dados);
                        if (lFat.Count > 0)
                        {
                            if (lFat[0].St_registro.Trim().ToUpper().Equals("C"))
                            {
                                throw new Exception("Nº de NFS-e <" + val.Nr_nfse.Value.ToString() + "> já esta em uso no sistema.");
                            }
                            else if (new TCD_LoteRPS(qtb_lote.Banco_Dados).BuscarEscalar(
                                         new Utils.TpBusca[]
                            {
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "a.st_lote",
                                    vOperador = "=",
                                    vVL_Busca = "3"
                                },
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = string.Empty,
                                    vOperador = "exists",
                                    vVL_Busca = "(select 1 from TB_FAT_LoteRPS_X_NFES x " +
                                                "where x.cd_empresa = a.cd_empresa " +
                                                "and x.id_lote = a.id_lote " +
                                                "and x.cd_empresa = '" + lFat[0].Cd_empresa.Trim() + "' " +
                                                "and x.nr_lanctofiscal = " + lFat[0].Nr_lanctofiscalstr + ")"
                                }
                            }, "1") != null)
                            {
                                throw new Exception("Nº de NFS-e <" + val.Nr_nfse.Value.ToString() + "> já esta em uso no sistema.");
                            }
                            else
                            {
                                CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.CancelarFaturamento(lFat[0], qtb_lote.Banco_Dados);
                            }
                        }
                        //Buscar Nota Fiscal para alterar numero
                        lFat =
                            CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.Busca(val.Cd_empresa,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          val.Nr_lanctofiscal.Value.ToString(),
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          decimal.Zero,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          false,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          "A",
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          decimal.Zero,
                                                                                          decimal.Zero,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          false,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          1,
                                                                                          string.Empty,
                                                                                          qtb_lote.Banco_Dados);
                        if (lFat.Count > 0)
                        {
                            lFat[0].Nr_notafiscal = val.Nr_nfse;
                            CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.AlterarFaturamento(lFat[0], qtb_lote.Banco_Dados);
                            //Buscar sequencia NFSe
                            CamadaDados.Faturamento.Cadastros.TList_CadSequenciaNF lSeq =
                                new CamadaDados.Faturamento.Cadastros.TCD_CadSequenciaNF(qtb_lote.Banco_Dados).Select(
                                    new Utils.TpBusca[]
                            {
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "a.cd_empresa",
                                    vOperador = "=",
                                    vVL_Busca = "'" + lFat[0].Cd_empresa.Trim() + "'"
                                },
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "a.nr_serie",
                                    vOperador = "=",
                                    vVL_Busca = "'" + lFat[0].Nr_serie.Trim() + "'"
                                },
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "a.cd_modelo",
                                    vOperador = "=",
                                    vVL_Busca = "'" + lFat[0].Cd_modelo.Trim() + "'"
                                }
                            }, 1, string.Empty);
                            if (lSeq.Count > 0)
                            {
                                if (lSeq[0].Seq_NotaFiscal < val.Nr_nfse.Value)
                                {
                                    lSeq[0].Seq_NotaFiscal = val.Nr_nfse.Value;
                                    CamadaNegocio.Faturamento.Cadastros.TCN_CadSequenciaNF.Gravar(lSeq[0], qtb_lote.Banco_Dados);
                                }
                            }
                            //Se possuir duplicata alterar Nº Docto
                            CamadaDados.Financeiro.Duplicata.TList_RegLanDuplicata lDup =
                                new CamadaDados.Financeiro.Duplicata.TCD_LanDuplicata(qtb_lote.Banco_Dados).Select(
                                    new TpBusca[]
                            {
                                new TpBusca()
                                {
                                    vNM_Campo = "isnull(a.st_registro, 'A')",
                                    vOperador = "<>",
                                    vVL_Busca = "'C'"
                                },
                                new TpBusca()
                                {
                                    vNM_Campo = string.Empty,
                                    vOperador = "exists",
                                    vVL_Busca = "(select 1 from tb_fat_notafiscal_x_duplicata x " +
                                                "where x.cd_empresa = a.cd_empresa " +
                                                "and x.Nr_LanctoDuplicata = a.nr_lancto " +
                                                "and x.cd_empresa = '" + val.Cd_empresa.Trim() + "'" +
                                                "and x.nr_lanctofiscal = " + val.Nr_lanctofiscal + ") "
                                }
                            }, 1, string.Empty);
                            if (lDup.Count > 0)
                            {
                                qtb_lote.executarSql("update TB_FIN_Duplicata set Nr_docto = '" + val.Nr_nfse.Value.ToString() + "' " +
                                                     "where cd_empresa = '" + lDup[0].Cd_empresa.Trim() + "' " +
                                                     "and nr_lancto = " + lDup[0].Nr_lancto.ToString(), null);
                            }
                        }
                    }
                }
                if (st_transacao)
                {
                    qtb_lote.Banco_Dados.Commit_Tran();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_lote.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro corrigir numero NFS-e: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_lote.deletarBanco_Dados();
                }
            }
        }