Ejemplo n.º 1
0
        public static string Gravar(TRegistro_LanServicosPecas val, TObjetoBanco banco)
        {
            bool st_transacao = false;
            TCD_LanServicosPecas qtb_pecas = new TCD_LanServicosPecas();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_pecas.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_pecas.Banco_Dados = banco;
                }

                string retorno = qtb_pecas.Gravar(val);
                val.Id_pecastr = CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_PECA");
                //Excluir Ficha
                val.lFichaTecOSDel.ForEach(p => TCN_FichaTecOS.Excluir(p, qtb_pecas.Banco_Dados));
                //Gravar Ficha
                val.lFichaTecOS.ForEach(p =>
                {
                    p.Cd_empresa = val.Cd_empresa;
                    p.Id_os      = val.Id_os;
                    p.Id_peca    = val.Id_peca;
                    TCN_FichaTecOS.Gravar(p, qtb_pecas.Banco_Dados);
                });
                if (st_transacao)
                {
                    qtb_pecas.Banco_Dados.Commit_Tran();
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_pecas.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar peças/serviços: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_pecas.deletarBanco_Dados();
                }
            }
        }
Ejemplo n.º 2
0
        public static string Excluir(TRegistro_LanServicosPecas val, TObjetoBanco banco)
        {
            bool st_transacao = false;
            TCD_LanServicosPecas qtb_pecas = new TCD_LanServicosPecas();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_pecas.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_pecas.Banco_Dados = banco;
                }
                //Verificar se peca teve origem orcamento venda
                CamadaDados.Faturamento.Orcamento.TList_Orcamento_X_OS lOrc =
                    new CamadaDados.Faturamento.Orcamento.TCD_Orcamento_X_OS(qtb_pecas.Banco_Dados).Select(
                        new TpBusca[]
                {
                    new TpBusca()
                    {
                        vNM_Campo = "a.cd_empresa",
                        vOperador = "=",
                        vVL_Busca = "'" + val.Cd_empresa.Trim() + "'"
                    },
                    new TpBusca()
                    {
                        vNM_Campo = "a.id_os",
                        vOperador = "=",
                        vVL_Busca = val.Id_osstr
                    },
                    new TpBusca()
                    {
                        vNM_Campo = "a.id_peca",
                        vOperador = "=",
                        vVL_Busca = val.Id_pecastr
                    }
                }, 0, string.Empty);
                lOrc.ForEach(p =>
                {
                    //Excluir registro
                    CamadaNegocio.Faturamento.Orcamento.TCN_Orcamento_X_OS.Excluir(p, qtb_pecas.Banco_Dados);
                    //Verificar se o orcamento nao possui pedido
                    CamadaDados.Faturamento.Orcamento.TList_Orcamento lOrcamento =
                        CamadaNegocio.Faturamento.Orcamento.TCN_Orcamento.Buscar(p.Nr_orcamentostr,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 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,
                                                                                 string.Empty,
                                                                                 false,
                                                                                 false,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 false,
                                                                                 false,
                                                                                 qtb_pecas.Banco_Dados);
                    if (lOrcamento.Count > 0)
                    {
                        if (!lOrcamento[0].Nr_pedidovenda.HasValue)
                        {
                            lOrcamento[0].St_registro = "AB";
                            CamadaNegocio.Faturamento.Orcamento.TCN_Orcamento.Gravar(lOrcamento[0], qtb_pecas.Banco_Dados);
                        }
                    }
                });
                //Excluir Ficha Tecnica Item
                TCN_FichaTecOS.Buscar(val.Cd_empresa,
                                      val.Id_osstr,
                                      val.Id_pecastr,
                                      string.Empty,
                                      qtb_pecas.Banco_Dados).ForEach(p => TCN_FichaTecOS.Excluir(p, qtb_pecas.Banco_Dados));

                //Excluir movimentações geradas em TB_FAT_CompraItens_X_PecaOS
                Faturamento.CompraAvulsa.TCN_CompraItens_X_PecaOS.Buscar(val.Cd_empresa,
                                                                         string.Empty,
                                                                         string.Empty,
                                                                         qtb_pecas.Banco_Dados,
                                                                         val.Id_osstr,
                                                                         val.Id_pecastr)
                .ForEach(r => Faturamento.CompraAvulsa.TCN_CompraItens_X_PecaOS.Excluir(r, qtb_pecas.Banco_Dados));

                qtb_pecas.Excluir(val);

                if (st_transacao)
                {
                    qtb_pecas.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_pecas.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro excluir peça/serviço: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_pecas.deletarBanco_Dados();
                }
            }
        }
Ejemplo n.º 3
0
        public static TList_LanServicosPecas Buscar(string vId_os,
                                                    string vCd_empresa,
                                                    string vId_peca,
                                                    string vCd_produto,
                                                    string vCd_local,
                                                    decimal vQuantidade,
                                                    decimal vVl_unitario,
                                                    decimal vVl_subtotal,
                                                    decimal vVl_desconto,
                                                    decimal vPc_desconto,
                                                    string vDs_observacao,
                                                    string vNm_campo,
                                                    bool vST_Registro,
                                                    int vTop,
                                                    TObjetoBanco banco)
        {
            TpBusca[] filtro = new TpBusca[0];
            if (!string.IsNullOrEmpty(vId_os))
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.ID_OS";
                filtro[filtro.Length - 1].vVL_Busca = vId_os;
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vCd_empresa.Trim() != string.Empty)
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.CD_Empresa";
                filtro[filtro.Length - 1].vVL_Busca = "'" + vCd_empresa.Trim() + "'";
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (!string.IsNullOrEmpty(vId_peca))
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.ID_Peca";
                filtro[filtro.Length - 1].vVL_Busca = vId_peca;
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vCd_produto.Trim() != string.Empty)
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.CD_Produto";
                filtro[filtro.Length - 1].vVL_Busca = "'" + vCd_produto.Trim() + "'";
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vCd_local.Trim() != string.Empty)
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.cd_local";
                filtro[filtro.Length - 1].vOperador = "=";
                filtro[filtro.Length - 1].vVL_Busca = "'" + vCd_local.Trim() + "'";
            }
            if (vQuantidade > 0)
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.Quantidade";
                filtro[filtro.Length - 1].vVL_Busca = vQuantidade.ToString(new System.Globalization.CultureInfo("en-US", true));
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vVl_unitario > 0)
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.Vl_Unitario";
                filtro[filtro.Length - 1].vVL_Busca = vVl_unitario.ToString(new System.Globalization.CultureInfo("en-US", true));
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vVl_subtotal > 0)
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.Vl_SubTotal";
                filtro[filtro.Length - 1].vVL_Busca = vVl_subtotal.ToString(new System.Globalization.CultureInfo("en-US", true));
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vVl_desconto > 0)
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.Vl_Desconto";
                filtro[filtro.Length - 1].vVL_Busca = vVl_desconto.ToString(new System.Globalization.CultureInfo("en-US", true));
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vPc_desconto > 0)
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.PC_Desconto";
                filtro[filtro.Length - 1].vVL_Busca = vPc_desconto.ToString(new System.Globalization.CultureInfo("en-US", true));
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vDs_observacao.Trim() != string.Empty)
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.DS_Observacao";
                filtro[filtro.Length - 1].vVL_Busca = "('%" + vDs_observacao.Trim() + "%')";
                filtro[filtro.Length - 1].vOperador = "like";
            }

            if (vST_Registro == true)
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.ST_Registro";
                filtro[filtro.Length - 1].vOperador = "<>";
                filtro[filtro.Length - 1].vVL_Busca = "'C'";
            }

            TCD_LanServicosPecas qtb_pecas = new TCD_LanServicosPecas();

            qtb_pecas.Banco_Dados = banco;
            return(qtb_pecas.Select(filtro, vTop, vNm_campo, string.Empty));
        }