Exemple #1
0
 private bool BuscarSaldoLocal(string pCd_empresa, string pCd_produto, bool AlterarQTD)
 {
     if ((!string.IsNullOrEmpty(pCd_empresa)) &&
         (!string.IsNullOrEmpty(pCd_produto)))
     {
         //Buscar Local Arm
         CamadaDados.Estoque.Cadastros.TList_CadLocalArm_X_Empresa lLocal =
             new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm_X_Empresa().Select(
                 new TpBusca[]
         {
             new TpBusca()
             {
                 vNM_Campo = "a.cd_empresa",
                 vOperador = "=",
                 vVL_Busca = "'" + pCd_empresa.Trim() + "'"
             }
         }, 1, string.Empty);
         if (lLocal.Count.Equals(0))
         {
             MessageBox.Show("Não existe Local de armazenagem configurado para Empresa" + pCd_empresa.Trim() + "!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             return(false);
         }
         decimal saldo = decimal.Zero;
         CamadaNegocio.Estoque.TCN_LanEstoque.SaldoEstoqueLocal(pCd_empresa,
                                                                pCd_produto,
                                                                lLocal[0].CD_Local,
                                                                ref saldo,
                                                                null);
         if (saldo < (bsCarga.Current as TRegistro_CargaAvulsa).lItens
             .FindAll(p => p.Cd_produto.Equals((bsItens.Current as TRegistro_ItensCargaAvulsa).Cd_produto)).Sum(p => p.Quantidade))
         {
             MessageBox.Show("Não existe saldo disponivel no estoque.\r\n" +
                             "Empresa.........: " + pCd_empresa.Trim() + "-" + (bsCarga.Current as TRegistro_CargaAvulsa).Nm_empresa.Trim() + "\r\n" +
                             "Produto.........: " + pCd_produto.Trim() + "-" + (bsItens.Current as TRegistro_ItensCargaAvulsa).Ds_produto.Trim() + "\r\n" +
                             "Local Arm.......: " + lLocal[0].CD_Local.Trim() + "-" + lLocal[0].DS_Local + "\r\n" +
                             "Saldo Disponivel: " + saldo.ToString("N3", new System.Globalization.CultureInfo("pt-BR", true)),
                             "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             if (AlterarQTD)
             {
                 Quantidade.Value = saldo;
                 (bsItens.Current as TRegistro_ItensCargaAvulsa).Quantidade = Quantidade.Value;
                 Quantidade.Focus();
             }
             else
             {
                 bsItens.RemoveCurrent();
             }
             return(false);
         }
         else
         {
             return(true);
         }
     }
     else
     {
         return(false);
     }
 }
Exemple #2
0
        private void GerarNFCe()
        {
            using (TFVendaItensCargaAvulsa fGerar = new TFVendaItensCargaAvulsa())
            {
                if (fGerar.ShowDialog() == DialogResult.OK)
                {
                    if (fGerar.lItens != null)
                    {
                        if (fGerar.lItens.Count > 0)
                        {
                            try
                            {
                                //Processar cupom fiscal
                                PDV.TDadosCupom dados = new PDV.TDadosCupom();
                                //Buscar dados PDV
                                object obj = new CamadaDados.Faturamento.Cadastros.TCD_PontoVenda().BuscarEscalar(
                                    new TpBusca[]
                                {
                                    new TpBusca()
                                    {
                                        vNM_Campo = "a.cd_terminal",
                                        vOperador = "=",
                                        vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'"
                                    }
                                }, "a.id_pdv");
                                if (obj == null)
                                {
                                    MessageBox.Show("Não existe PDV cadastrado para o terminal " + Utils.Parametros.pubTerminal,
                                                    "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    return;
                                }
                                if (new TCD_Sessao().BuscarEscalar(
                                        new TpBusca[]
                                {
                                    new TpBusca()
                                    {
                                        vNM_Campo = "isnull(a.st_registro, 'A')",
                                        vOperador = "=",
                                        vVL_Busca = "'A'"
                                    },
                                    new TpBusca()
                                    {
                                        vNM_Campo = "a.id_pdv",
                                        vOperador = "=",
                                        vVL_Busca = obj.ToString()
                                    },
                                    new TpBusca()
                                    {
                                        vNM_Campo = "a.login",
                                        vOperador = "=",
                                        vVL_Busca = "'" + Utils.Parametros.pubLogin + "'"
                                    }
                                }, "1") == null)
                                {
                                    CamadaNegocio.Faturamento.PDV.TCN_Sessao.AbrirSessao(
                                        new TRegistro_Sessao()
                                    {
                                        Id_pdvstr = obj.ToString(),
                                        Login     = Utils.Parametros.pubLogin
                                    }, null);
                                }
                                //Buscar sessao aberta
                                dados.rSessao = CamadaNegocio.Faturamento.PDV.TCN_Sessao.Buscar(obj.ToString(),
                                                                                                string.Empty,
                                                                                                Utils.Parametros.pubLogin,
                                                                                                string.Empty,
                                                                                                string.Empty,
                                                                                                string.Empty,
                                                                                                "'A'",
                                                                                                1,
                                                                                                null)[0];
                                //Buscar Local Arm
                                object LocalArm = new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm_X_Empresa().BuscarEscalar(
                                    new TpBusca[]
                                {
                                    new TpBusca()
                                    {
                                        vNM_Campo = "a.cd_empresa",
                                        vOperador = "=",
                                        vVL_Busca = "'" + fGerar.Cd_empresa.Trim() + "'"
                                    }
                                }, "a.CD_Local");
                                if (LocalArm == null)
                                {
                                    throw new Exception("Não existe Local de armazenagem configurado para Empresa" + fGerar.Cd_empresa.Trim() + "!");
                                }
                                //Montar Itens Cupom
                                dados.lItens = new List <TRegistro_VendaRapida_Item>();
                                fGerar.lItens.ForEach(p =>
                                                      dados.lItens.Add(new TRegistro_VendaRapida_Item
                                {
                                    Cd_empresa            = p.Cd_empresa,
                                    Cd_local              = LocalArm.ToString(),
                                    Cd_produto            = p.Cd_produto,
                                    Ds_produto            = p.Ds_produto,
                                    Cd_unidade            = p.Cd_unidade,
                                    Ds_unidade            = p.Ds_unidade,
                                    Sigla_unidade         = p.Sigla,
                                    Cd_condfiscal_produto = p.Cd_condfiscal_produto,
                                    Quantidade            = p.Quantidade,
                                    Vl_subtotal           = p.Vl_subtotal,
                                    Vl_unitario           = p.Vl_unitario,
                                    lAbastItens           = new CamadaDados.Locacao.TList_AbastItens()
                                    {
                                        p
                                    }
                                }));
                                dados.Cd_clifor           = string.Empty;
                                dados.Nm_clifor           = string.Empty;
                                dados.CpfCgc              = string.Empty;
                                dados.Endereco            = string.Empty;
                                dados.Mensagem            = string.Empty;
                                dados.lPortador           = new List <CamadaDados.Financeiro.Cadastros.TRegistro_CadPortador>();
                                dados.St_vendacombustivel = false;
                                dados.St_cupomavulso      = true;
                                dados.St_agruparProduto   = false;
                                dados.St_abastItens       = true;

                                TRegistro_NFCe rNFCe = new PDV.TGerenciarCupom().GerarNFCe(dados, false);
                                if (rNFCe != null)
                                {
                                    if (!rNFCe.St_contingencia)
                                    {
                                        using (NFCe.TFGerenciarNFCe fGerNfe = new NFCe.TFGerenciarNFCe())
                                        {
                                            fGerNfe.rNFCe = CamadaNegocio.Faturamento.PDV.TCN_NFCe.BuscarNFCe(rNFCe.Cd_empresa,
                                                                                                              rNFCe.Id_nfcestr,
                                                                                                              null);
                                            fGerNfe.ShowDialog();
                                        }
                                    }
                                    else
                                    {
                                        FormRelPadrao.Relatorio Rel = new FormRelPadrao.Relatorio();
                                        Rel.Altera_Relatorio = Altera_Relatorio;
                                        BindingSource dts = new BindingSource();
                                        dts.DataSource    = new TList_NFCe_Item();
                                        Rel.DTS_Relatorio = dts; // bsItens;
                                                                 //DTS Cupom
                                        BindingSource bsNFCe = new BindingSource();
                                        bsNFCe.DataSource = CamadaNegocio.Faturamento.PDV.TCN_NFCe.Buscar(rNFCe.Id_nfcestr,
                                                                                                          string.Empty,
                                                                                                          rNFCe.Cd_empresa,
                                                                                                          string.Empty,
                                                                                                          string.Empty,
                                                                                                          string.Empty,
                                                                                                          string.Empty,
                                                                                                          decimal.Zero,
                                                                                                          decimal.Zero,
                                                                                                          string.Empty,
                                                                                                          string.Empty,
                                                                                                          string.Empty,
                                                                                                          string.Empty,
                                                                                                          false,
                                                                                                          string.Empty,
                                                                                                          string.Empty,
                                                                                                          1,
                                                                                                          null);
                                        (bsNFCe.Current as TRegistro_NFCe).lItem =
                                            CamadaNegocio.Faturamento.PDV.TCN_NFCe_Item.Buscar((bsNFCe.Current as TRegistro_NFCe).Id_nfcestr,
                                                                                               (bsNFCe.Current as TRegistro_NFCe).Cd_empresa,
                                                                                               string.Empty,
                                                                                               null);
                                        NFCe.TGerarQRCode.GerarQRCode2(bsNFCe.Current as TRegistro_NFCe);
                                        Rel.Adiciona_DataSource("DTS_NFCE", bsNFCe);
                                        //Buscar Empresa
                                        BindingSource bsEmpresa = new BindingSource();
                                        bsEmpresa.DataSource = CamadaNegocio.Diversos.TCN_CadEmpresa.Busca(rNFCe.Cd_empresa,
                                                                                                           string.Empty,
                                                                                                           string.Empty,
                                                                                                           null);
                                        Rel.Adiciona_DataSource("DTS_EMP", bsEmpresa);
                                        //Forma Pagamento
                                        BindingSource             bsPagto = new BindingSource();
                                        List <TRegistro_MovCaixa> lPagto  = new List <TRegistro_MovCaixa>();
                                        new TCD_CaixaPDV().SelectMovCaixa(
                                            new TpBusca[]
                                        {
                                            new TpBusca()
                                            {
                                                vNM_Campo = string.Empty,
                                                vOperador = "exists",
                                                vVL_Busca = "(select 1 from tb_pdv_cupom_x_vendarapida x " +
                                                            "where x.cd_empresa = a.cd_empresa " +
                                                            "and x.id_vendarapida = a.id_cupom " +
                                                            "and x.cd_empresa = '" + (bsNFCe.Current as TRegistro_NFCe).Cd_empresa.Trim() + "' " +
                                                            "and x.id_cupom = " + (bsNFCe.Current as TRegistro_NFCe).Id_nfcestr + ")"
                                            }
                                        }, string.Empty).GroupBy(v => v.Tp_portador,
                                                                 (aux, venda) =>
                                                                 new
                                        {
                                            tp_portador = aux,
                                            Vl_recebido = venda.Sum(x => x.Vl_recebido),
                                            Vl_troco_ch = venda.Sum(x => x.Vl_troco_ch),
                                            Vl_troco_dh = venda.Sum(x => x.Vl_troco_dh)
                                        }).ToList().ForEach(x => lPagto.Add(new TRegistro_MovCaixa()
                                        {
                                            Tp_portador = x.tp_portador,
                                            Vl_recebido = x.Vl_recebido,
                                            Vl_troco_ch = x.Vl_troco_ch,
                                            Vl_troco_dh = x.Vl_troco_dh
                                        }));
                                        CamadaDados.Financeiro.Duplicata.TList_RegLanDuplicata lDup =
                                            new CamadaDados.Financeiro.Duplicata.TCD_LanDuplicata().Select(
                                                new TpBusca[]
                                        {
                                            new TpBusca()
                                            {
                                                vNM_Campo = string.Empty,
                                                vOperador = "exists",
                                                vVL_Busca = "(select 1 from TB_PDV_CupomFiscal_X_Duplicata x " +
                                                            "inner join TB_PDV_Cupom_X_VendaRapida y " +
                                                            "on x.cd_empresa = y.cd_empresa " +
                                                            "and x.id_cupom = y.id_vendarapida " +
                                                            "where x.cd_empresa = a.cd_empresa " +
                                                            "and x.Nr_Lancto = a.Nr_Lancto " +
                                                            "and y.cd_empresa = '" + (bsNFCe.Current as TRegistro_NFCe).Cd_empresa.Trim() + "' " +
                                                            "and y.id_cupom = " + (bsNFCe.Current as TRegistro_NFCe).Id_nfcestr + ")"
                                            }
                                        }, 1, string.Empty);
                                        if (lDup.Count > 0)
                                        {
                                            lPagto.Add(new TRegistro_MovCaixa()
                                            {
                                                Tp_portador = "05",
                                                Vl_recebido = lDup[0].Vl_documento
                                            });
                                        }
                                        bsPagto.DataSource = lPagto;
                                        Rel.Adiciona_DataSource("DTS_PAGTO", bsPagto);
                                        //Parametros
                                        Rel.Parametros_Relatorio.Add("TOT_IMP_APROX", (bsNFCe.Current as TRegistro_NFCe).lItem.Sum(p => p.Vl_imposto_Aprox));
                                        Rel.Parametros_Relatorio.Add("QTD_ITENS", (bsNFCe.Current as TRegistro_NFCe).lItem.Count);
                                        Rel.Parametros_Relatorio.Add("TOT_SUBTOTAL", (bsNFCe.Current as TRegistro_NFCe).lItem.Sum(p => p.Vl_subtotal));
                                        Rel.Parametros_Relatorio.Add("TOT_ACRESCIMO", (bsNFCe.Current as TRegistro_NFCe).lItem.Sum(p => p.Vl_acrescimo));
                                        Rel.Parametros_Relatorio.Add("TOT_DESCONTO", (bsNFCe.Current as TRegistro_NFCe).lItem.Sum(p => p.Vl_desconto));
                                        Rel.Parametros_Relatorio.Add("ST_VIAEMPRESA", "N");
                                        obj = new CamadaDados.Faturamento.NFCe.TCD_LoteNFCe().BuscarEscalar(
                                            new TpBusca[]
                                        {
                                            new TpBusca()
                                            {
                                                vNM_Campo = string.Empty,
                                                vOperador = "exists",
                                                vVL_Busca = "(select 1 from TB_FAT_Lote_X_NFCe x " +
                                                            "where x.cd_empresa = a.cd_empresa " +
                                                            "and x.id_lote = a.id_lote " +
                                                            "and x.status = '100')"
                                            }
                                        }, "a.tp_ambiente");
                                        Rel.Parametros_Relatorio.Add("TP_AMBIENTE", obj == null ? string.Empty : obj.ToString());
                                        string dadoscf = CamadaNegocio.Faturamento.PDV.TCN_NFCe.BuscarPlacaKM((bsNFCe.Current as TRegistro_NFCe).Cd_empresa,
                                                                                                              (bsNFCe.Current as TRegistro_NFCe).Id_nfcestr,
                                                                                                              null);
                                        if (!string.IsNullOrEmpty(dadoscf))
                                        {
                                            string[] linhas        = dadoscf.Split(new char[] { ':' });
                                            string   placa         = string.Empty;
                                            string   km            = string.Empty;
                                            string   frota         = string.Empty;
                                            string   requisicao    = string.Empty;
                                            string   nm_motorista  = string.Empty;
                                            string   cpf_motorista = string.Empty;
                                            string   media         = string.Empty;
                                            string   virg          = string.Empty;
                                            foreach (string s in linhas)
                                            {
                                                string[] colunas = s.Split(new char[] { '/' });
                                                placa         += virg + colunas[0];
                                                km            += virg + colunas[1];
                                                frota         += virg + colunas[2];
                                                requisicao    += virg + colunas[3];
                                                nm_motorista  += virg + colunas[4];
                                                cpf_motorista += virg + colunas[5];
                                                media         += virg + colunas[6];
                                                virg           = ",";
                                            }
                                            if (!string.IsNullOrEmpty(placa))
                                            {
                                                Rel.Parametros_Relatorio.Add("PLACA", placa);
                                            }
                                            if (!string.IsNullOrEmpty(km))
                                            {
                                                Rel.Parametros_Relatorio.Add("KM", km);
                                            }
                                            if (!string.IsNullOrEmpty(media))
                                            {
                                                Rel.Parametros_Relatorio.Add("MEDIA", media + " KM/LT");
                                            }
                                            if (!string.IsNullOrEmpty(frota))
                                            {
                                                Rel.Parametros_Relatorio.Add("FROTA", frota);
                                            }
                                            if (!string.IsNullOrEmpty(requisicao))
                                            {
                                                Rel.Parametros_Relatorio.Add("REQUISICAO", requisicao);
                                            }
                                            if (!string.IsNullOrEmpty(nm_motorista))
                                            {
                                                Rel.Parametros_Relatorio.Add("NM_MOTORISTA", nm_motorista);
                                            }
                                            if (!string.IsNullOrEmpty(cpf_motorista))
                                            {
                                                Rel.Parametros_Relatorio.Add("CPF_MOTORISTA", cpf_motorista);
                                            }
                                        }
                                        Rel.Nome_Relatorio = "DANFE_NFCE";
                                        Rel.NM_Classe      = "TFConsultaFrenteCaixa";
                                        Rel.Modulo         = "FAT";
                                        Rel.Ident          = "DANFE_NFCE";
                                        if (CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVlBool("ST_IMP_DANFE_NFCE_DETALHADA", null))
                                        {
                                            BindingSource bsItens = new BindingSource();
                                            bsItens.DataSource = (bsNFCe.Current as TRegistro_NFCe).lItem;
                                            Rel.DTS_Relatorio  = bsItens;
                                        }
                                        if (rNFCe.Id_contingencia.HasValue)
                                        {
                                            if (Rel.Parametros_Relatorio.ContainsKey("ST_VIAEMPRESA"))
                                            {
                                                Rel.Parametros_Relatorio["ST_VIAEMPRESA"] = "S";
                                            }
                                            else
                                            {
                                                Rel.Parametros_Relatorio.Add("ST_VIAEMPRESA", "S");
                                            }
                                        }
                                        //Verificar se existe Impressora padrão para o PDV
                                        obj = new CamadaDados.Faturamento.Cadastros.TCD_PontoVenda().BuscarEscalar(
                                            new TpBusca[]
                                        {
                                            new TpBusca()
                                            {
                                                vNM_Campo = "a.cd_terminal",
                                                vOperador = "=",
                                                vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'"
                                            }
                                        }, "a.impressorapadrao");
                                        string print = obj == null ? string.Empty : obj.ToString();
                                        if (string.IsNullOrEmpty(print))
                                        {
                                            using (Parametros.Diversos.TFListaImpressoras fLista = new Parametros.Diversos.TFListaImpressoras())
                                            {
                                                if (fLista.ShowDialog() == DialogResult.OK)
                                                {
                                                    if (!string.IsNullOrEmpty(fLista.Impressora))
                                                    {
                                                        print = fLista.Impressora;
                                                    }
                                                }
                                            }
                                        }
                                        //Imprimir
                                        if (!string.IsNullOrEmpty(print))
                                        {
                                            Rel.ImprimiGraficoReduzida(print,
                                                                       true,
                                                                       false,
                                                                       null,
                                                                       string.Empty,
                                                                       string.Empty,
                                                                       1);
                                            if ((bsNFCe.Current as TRegistro_NFCe).Id_contingencia.HasValue &&
                                                (bsNFCe.Current as TRegistro_NFCe).rCfgNFCe.Tp_ambiente_nfce.Equals(1))
                                            {
                                                Rel.ImprimiGraficoReduzida(print,
                                                                           true,
                                                                           false,
                                                                           null,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           1);
                                            }
                                        }
                                    }
                                }
                                return;
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                return;
                            }
                        }
                        else
                        {
                            MessageBox.Show("Não existe venda selecionada para gerar cupom.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                }
            }
        }
Exemple #3
0
 public static void GerarPedidoCarga(ref CamadaDados.Faturamento.Pedido.TRegistro_Pedido rPed,
                                     CamadaDados.Faturamento.Entrega.TRegistro_CargaAvulsa rCarga,
                                     CamadaDados.Diversos.TRegistro_CfgEmpresa rParam)
 {
     if (!string.IsNullOrEmpty(rParam.CFG_PedRemCargaAvulsa))
     {
         if (rPed == null)
         {
             rPed              = new CamadaDados.Faturamento.Pedido.TRegistro_Pedido();
             rPed.CD_Empresa   = rCarga.Cd_empresa;
             rPed.DT_Pedido    = DateTime.Now;
             rPed.CFG_Pedido   = rParam.CFG_PedRemCargaAvulsa;
             rPed.TP_Movimento = "S"; //Pedido de saida
             rPed.ST_Pedido    = "F"; //Pedido fechado
             rPed.ST_Registro  = "F"; //Pedido fechado
             rPed.CD_Clifor    = rParam.Cd_clifor;
             rPed.CD_Endereco  = rParam.Cd_endereco;
             //Buscar Moeda Padrao
             TList_Moeda tabela =
                 CamadaNegocio.ConfigGer.TCN_CadParamGer_X_Empresa.BuscarMoedaPadrao(rCarga.Cd_empresa, null);
             if (tabela != null)
             {
                 if (tabela.Count > 0)
                 {
                     rPed.Cd_moeda = tabela[0].Cd_moeda;
                 }
             }
         }
         //Buscar Local Arm
         object LocalArm = new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm_X_Empresa().BuscarEscalar(
             new TpBusca[]
         {
             new TpBusca()
             {
                 vNM_Campo = "a.cd_empresa",
                 vOperador = "=",
                 vVL_Busca = "'" + rCarga.Cd_empresa.Trim() + "'"
             }
         }, "a.CD_Local");
         if (LocalArm == null)
         {
             throw new Exception("Não existe Local de armazenagem configurado para Empresa" + rCarga.Cd_empresa.Trim() + "!");
         }
         for (int i = 0; i < rCarga.lItens.Count; i++)
         {
             //Buscar Preço
             decimal vl_preco = CamadaNegocio.Estoque.Cadastros.TCN_LanPrecoItem.Busca_ConsultaPreco(rCarga.Cd_empresa,
                                                                                                     rCarga.lItens[i].Cd_produto,
                                                                                                     rParam.Cd_tabelapreco,
                                                                                                     null);
             CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item reg = new CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item();
             reg.Cd_Empresa     = rCarga.lItens[i].Cd_empresa;
             reg.Cd_local       = LocalArm.ToString();
             reg.Cd_produto     = rCarga.lItens[i].Cd_produto;
             reg.Ds_produto     = rCarga.lItens[i].Ds_produto;
             reg.Cd_unidade_est = rCarga.lItens[i].Cd_unidade;
             reg.Quantidade     = rCarga.lItens[i].Quantidade;
             reg.Vl_unitario    = vl_preco;
             reg.Vl_subtotal    = vl_preco * rCarga.lItens[i].Quantidade;
             rPed.Pedido_Itens.Add(reg);
         }
     }
     else
     {
         throw new Exception("Não existe configuracao para emitir pedido de remessa para a Empresa " + rCarga.Cd_empresa);
     }
 }
Exemple #4
0
        public static string Gravar(TRegistro_CargaAvulsa val, BancoDados.TObjetoBanco banco)
        {
            bool            st_transacao = false;
            TCD_CargaAvulsa qtb_carga    = new TCD_CargaAvulsa();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_carga.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_carga.Banco_Dados = banco;
                }
                val.Id_cargastr = CamadaDados.TDataQuery.getPubVariavel(qtb_carga.Gravar(val), "@P_ID_CARGA");
                //Buscar Local Arm
                object obj = new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm_X_Empresa(qtb_carga.Banco_Dados).BuscarEscalar(
                    new TpBusca[]
                {
                    new 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 de armazenagem configurado para Empresa" + val.Cd_empresa.Trim() + "!");
                }
                //Item Carga
                val.lItensDel.ForEach(p =>
                {
                    //Cancelar Estoque
                    new CamadaDados.Estoque.TCD_LanEstoque(qtb_carga.Banco_Dados).Select(
                        new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_empresa",
                            vOperador = "=",
                            vVL_Busca = "'" + p.Cd_empresa.Trim() + "'"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_produto",
                            vOperador = "=",
                            vVL_Busca = "'" + p.Cd_produto.Trim() + "'"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.id_lanctoestoque",
                            vOperador = "=",
                            vVL_Busca = p.Id_lanctoEstoqueS.ToString()
                        }
                    }, 0, string.Empty, string.Empty, string.Empty).ForEach(x => Estoque.TCN_LanEstoque.CancelarEstoque(x, qtb_carga.Banco_Dados));
                    TCN_ItensCargaAvulsa.Excluir(p, qtb_carga.Banco_Dados);
                });
                val.lItens.FindAll(p => p.Id_lanctoEstoqueS == null).ForEach(p =>
                {
                    //Buscar Vl.Médio
                    decimal vl_unit = Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(val.Cd_empresa,
                                                                                     p.Cd_produto,
                                                                                     qtb_carga.Banco_Dados);
                    //Gravar Estoque
                    string ret_est =
                        Estoque.TCN_LanEstoque.GravarEstoque(
                            new CamadaDados.Estoque.TRegistro_LanEstoque()
                    {
                        Cd_empresa    = val.Cd_empresa,
                        Cd_produto    = p.Cd_produto,
                        Cd_local      = obj.ToString(),
                        Dt_lancto     = CamadaDados.UtilData.Data_Servidor(),
                        Tp_movimento  = "S",
                        Qtd_entrada   = decimal.Zero,
                        Qtd_saida     = p.Quantidade,
                        Vl_unitario   = vl_unit,
                        Vl_subtotal   = vl_unit * p.Quantidade,
                        Tp_lancto     = "N",
                        St_registro   = "A",
                        Ds_observacao = "SAÍDA DE PRODUTOS CARGA Nº " + val.Id_cargastr,
                    }, qtb_carga.Banco_Dados);
                    p.Id_lanctoEstoqueS = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_est, "@@P_ID_LANCTOESTOQUE"));
                    p.Cd_empresa        = val.Cd_empresa;
                    p.Id_carga          = val.Id_carga;
                    TCN_ItensCargaAvulsa.Gravar(p, qtb_carga.Banco_Dados);
                });
                if (st_transacao)
                {
                    qtb_carga.Banco_Dados.Commit_Tran();
                }
                return(val.Id_cargastr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_carga.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar Carga: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_carga.deletarBanco_Dados();
                }
            }
        }
Exemple #5
0
        public static string RetornoCarga(List <TRegistro_ItensCargaAvulsa> lista, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao = false;
            TCD_ItensCargaAvulsa qtb_carga = new TCD_ItensCargaAvulsa();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_carga.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_carga.Banco_Dados = banco;
                }
                //Buscar Local Arm
                object obj = new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm_X_Empresa(qtb_carga.Banco_Dados).BuscarEscalar(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.cd_empresa",
                        vOperador = "=",
                        vVL_Busca = "'" + lista[0].Cd_empresa.Trim() + "'"
                    }
                }, "a.CD_Local");
                if (obj == null)
                {
                    throw new Exception("Não existe Local de armazenagem configurado para Empresa" + lista[0].Cd_empresa.Trim() + "!");
                }
                lista.ForEach(p =>
                {
                    decimal vl_unit = decimal.Zero;
                    //Buscar Vl.Unitário origem da saida
                    object OBJvl_unit = new CamadaDados.Estoque.TCD_LanEstoque(qtb_carga.Banco_Dados).BuscarEscalar(
                        new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_empresa",
                            vOperador = "=",
                            vVL_Busca = "'" + p.Cd_empresa.Trim() + "'"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_produto",
                            vOperador = "=",
                            vVL_Busca = "'" + p.Cd_produto.Trim() + "'"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.Id_LanctoEstoque",
                            vOperador = "=",
                            vVL_Busca = p.Id_lanctoEstoqueS.ToString()
                        }
                    }, "a.vl_unitario");
                    if (OBJvl_unit == null ? false : !string.IsNullOrEmpty(OBJvl_unit.ToString()))
                    {
                        vl_unit = decimal.Parse(OBJvl_unit.ToString());
                    }
                    else
                    {
                        vl_unit = Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(p.Cd_empresa, p.Cd_produto, qtb_carga.Banco_Dados);
                    }
                    p.lItensLocTerceiro.FindAll(x => x.Qtd_consumo > decimal.Zero).ForEach(x =>
                    {
                        CamadaNegocio.Locacao.TCN_AbastItens.Gravar(
                            new CamadaDados.Locacao.TRegistro_AbastItens()
                        {
                            Cd_empresa   = p.Cd_empresa,
                            Id_loc       = x.Id_loc,
                            Id_item      = x.Id_item,
                            Id_carga     = p.Id_carga,
                            Id_itemcarga = p.Id_item,
                            Dt_abast     = CamadaDados.UtilData.Data_Servidor(),
                            Quantidade   = x.Qtd_consumo,
                            Vl_unitCusto = vl_unit
                        }, qtb_carga.Banco_Dados);
                    });
                });
                System.Collections.Hashtable hs = new System.Collections.Hashtable();
                hs.Add("@CD_EMPRESA", lista[0].Cd_empresa);
                hs.Add("@ID_CARGA", lista[0].Id_carga);
                qtb_carga.executarSql("update TB_FAT_CargaAvulsa set ST_Registro = 'E' " +
                                      "where CD_Empresa = @CD_EMPRESA " +
                                      "and ID_Carga = @ID_CARGA ", hs);
                if (st_transacao)
                {
                    qtb_carga.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_carga.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar itens Carga: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_carga.deletarBanco_Dados();
                }
            }
        }
Exemple #6
0
        public static string DevCarga(List <TRegistro_ItensCargaAvulsa> lista, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao = false;
            TCD_ItensCargaAvulsa qtb_carga = new TCD_ItensCargaAvulsa();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_carga.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_carga.Banco_Dados = banco;
                }
                //Buscar Local Arm
                object obj = new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm_X_Empresa(qtb_carga.Banco_Dados).BuscarEscalar(
                    new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.cd_empresa",
                        vOperador = "=",
                        vVL_Busca = "'" + lista[0].Cd_empresa.Trim() + "'"
                    }
                }, "a.CD_Local");
                if (obj == null)
                {
                    throw new Exception("Não existe Local de armazenagem configurado para Empresa" + lista[0].Cd_empresa.Trim() + "!");
                }
                lista.ForEach(p =>
                {
                    decimal vl_unit = decimal.Zero;
                    //Buscar Vl.Unitário origem da saida
                    object OBJvl_unit = new CamadaDados.Estoque.TCD_LanEstoque(qtb_carga.Banco_Dados).BuscarEscalar(
                        new TpBusca[]
                    {
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_empresa",
                            vOperador = "=",
                            vVL_Busca = "'" + p.Cd_empresa.Trim() + "'"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.cd_produto",
                            vOperador = "=",
                            vVL_Busca = "'" + p.Cd_produto.Trim() + "'"
                        },
                        new TpBusca()
                        {
                            vNM_Campo = "a.Id_LanctoEstoque",
                            vOperador = "=",
                            vVL_Busca = p.Id_lanctoEstoqueS.ToString()
                        }
                    }, "a.vl_unitario");
                    if (OBJvl_unit == null ? false : !string.IsNullOrEmpty(OBJvl_unit.ToString()))
                    {
                        vl_unit = decimal.Parse(OBJvl_unit.ToString());
                    }
                    else
                    {
                        vl_unit = Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(p.Cd_empresa, p.Cd_produto, qtb_carga.Banco_Dados);
                    }
                    if (p.Qtd_devolvida > decimal.Zero)
                    {
                        //Cancelar Estoque - Devolução
                        if (p.Id_lanctoEstoqueD != null)
                        {
                            new CamadaDados.Estoque.TCD_LanEstoque(qtb_carga.Banco_Dados).Select(
                                new TpBusca[]
                            {
                                new TpBusca()
                                {
                                    vNM_Campo = "a.cd_empresa",
                                    vOperador = "=",
                                    vVL_Busca = "'" + p.Cd_empresa.Trim() + "'"
                                },
                                new TpBusca()
                                {
                                    vNM_Campo = "a.cd_produto",
                                    vOperador = "=",
                                    vVL_Busca = "'" + p.Cd_produto.Trim() + "'"
                                },
                                new TpBusca()
                                {
                                    vNM_Campo = "a.id_lanctoestoque",
                                    vOperador = "=",
                                    vVL_Busca = p.Id_lanctoEstoqueD.ToString()
                                }
                            }, 0, string.Empty, string.Empty, string.Empty).ForEach(x => Estoque.TCN_LanEstoque.CancelarEstoque(x, qtb_carga.Banco_Dados));
                        }
                        //Gravar Estoque
                        string ret_est =
                            Estoque.TCN_LanEstoque.GravarEstoque(
                                new CamadaDados.Estoque.TRegistro_LanEstoque()
                        {
                            Cd_empresa    = p.Cd_empresa,
                            Cd_produto    = p.Cd_produto,
                            Cd_local      = obj.ToString(),
                            Dt_lancto     = CamadaDados.UtilData.Data_Servidor(),
                            Tp_movimento  = "E",
                            Qtd_entrada   = p.Qtd_devolvida,
                            Qtd_saida     = decimal.Zero,
                            Vl_unitario   = vl_unit,
                            Vl_subtotal   = vl_unit * p.Quantidade,
                            Tp_lancto     = "N",
                            St_registro   = "A",
                            Ds_observacao = "DEVOLUÇÃO DE PRODUTOS CARGA Nº " + p.Id_cargastr,
                        }, qtb_carga.Banco_Dados);
                        p.Id_lanctoEstoqueD = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_est, "@@P_ID_LANCTOESTOQUE"));
                        p.Cd_empresa        = p.Cd_empresa;
                        p.Id_carga          = p.Id_carga;
                        Gravar(p, qtb_carga.Banco_Dados);
                    }
                });
                if (st_transacao)
                {
                    qtb_carga.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_carga.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar itens Carga: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_carga.deletarBanco_Dados();
                }
            }
        }