예제 #1
0
 private void GerarCarne()
 {
     using (TFProcLoteContrato fProc = new TFProcLoteContrato())
     {
         fProc.St_gerarCarne = true;
         if (fProc.ShowDialog() == DialogResult.OK)
         {
             if (fProc.lContratos != null)
             {
                 try
                 {
                     CamadaNegocio.Servicos.TCN_Contrato.GerarCarne(fProc.lContratos, fProc.Dt_referencia, null);
                     MessageBox.Show("Lote processado com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     afterBusca();
                 }
                 catch (Exception ex)
                 { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
             }
         }
     }
 }
예제 #2
0
 private void FaturarLote()
 {
     using (TFProcLoteContrato fProc = new TFProcLoteContrato())
     {
         if (fProc.ShowDialog() == DialogResult.OK)
         {
             if (fProc.lContratos != null)
             {
                 Utils.ThreadEspera tEspera = new Utils.ThreadEspera("Inicio processamento lote.");
                 string             ret     = string.Empty;
                 try
                 {
                     ret = CamadaNegocio.Servicos.TCN_Contrato.ProcessarLote(fProc.lContratos, fProc.Dt_referencia, tEspera, null);
                 }
                 finally
                 {
                     tEspera.Fechar();
                     tEspera = null;
                 }
                 MessageBox.Show("Lote processado com sucesso." + (string.IsNullOrEmpty(ret) ? string.Empty : "\r\nOs seguintes contratos não foram processados:\r\n" + ret.Trim()), "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento lLote = new CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento();
                 //Buscar CfgNfe para a empresa
                 CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfgNfe =
                     CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(fProc.lContratos[0].Cd_empresa,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           null);
                 if (lCfgNfe.Count.Equals(0))
                 {
                     MessageBox.Show("Não existe configuração para envio de NFS-e para a empresa " + fProc.lContratos[0].Cd_empresa.Trim() + ".",
                                     "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
                 else
                 {
                     fProc.lContratos.ForEach(p =>
                     {
                         if (p.lNF.Count > 0)
                         {
                             if (p.lNF[0].Cd_modelo.Trim().Equals("55"))
                             {
                                 lLote.Add(CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(p.lNF[0].Cd_empresa, p.lNF[0].Nr_lanctofiscalstr, null));
                             }
                         }
                         if (lLote.Count.Equals(50))
                         {
                             NFES.TGerarRPS.CriarArquivoRPS(lCfgNfe[0], lLote);
                             MessageBox.Show("Lote RPS enviado com sucesso. Aguarde alguns segundos e consulte o status do lote.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             lLote.Clear();
                         }
                     });
                     if (lLote.Count > 0)
                     {
                         NFES.TGerarRPS.CriarArquivoRPS(lCfgNfe[0], lLote);
                         MessageBox.Show("Lote RPS enviado com sucesso. Aguarde alguns segundos e consulte o status do lote.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
                 }
                 //Imprimir boletos
                 CamadaDados.Financeiro.Bloqueto.blListaTitulo lBloq = new CamadaDados.Financeiro.Bloqueto.blListaTitulo();
                 fProc.lContratos.ForEach(p =>
                 {
                     if (p.lNF.Count > 0)
                     {
                         if (p.lNF[0].Duplicata.Count > 0)
                         {
                             CamadaNegocio.Financeiro.Bloqueto.TCN_Titulo.Buscar(p.lNF[0].Cd_empresa,
                                                                                 p.lNF[0].Duplicata[0].Nr_lancto,
                                                                                 decimal.Zero,
                                                                                 decimal.Zero,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 decimal.Zero,
                                                                                 decimal.Zero,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 false,
                                                                                 0,
                                                                                 null).ForEach(v => lBloq.Add(v));
                         }
                     }
                 });
                 if (lBloq.Count > 0)
                 {
                     FormRelPadrao.TCN_LayoutBloqueto.Imprime_Bloqueto(false,
                                                                       lBloq,
                                                                       false,
                                                                       true,
                                                                       false,
                                                                       false,
                                                                       string.Empty,
                                                                       null,
                                                                       "BLOQUETO(S) CONTRATO SERVIÇO",
                                                                       string.Empty,
                                                                       false);
                 }
             }
         }
     }
 }