Esempio n. 1
0
        public static string AcertarVlMedio(TRegistro_LanEstoque val, TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_LanEstoque qtb_estoque  = new TCD_LanEstoque();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_estoque.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_estoque.Banco_Dados = banco;
                }
                string retorno = qtb_estoque.AcertarVlMedio(val);
                if (st_transacao)
                {
                    qtb_estoque.Banco_Dados.Commit_Tran();
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_estoque.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro acertar valor medio: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_estoque.deletarBanco_Dados();
                }
            }
        }
Esempio n. 2
0
        public static void CancelarEstoque(TRegistro_LanEstoque val, TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_LanEstoque qtb_est      = new TCD_LanEstoque();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_est.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_est.Banco_Dados = banco;
                }
                qtb_est.CancelarEstoque(val);
                if (st_transacao)
                {
                    qtb_est.Banco_Dados.Commit_Tran();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_est.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro cancelar estoque: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_est.deletarBanco_Dados();
                }
            }
        }
Esempio n. 3
0
        public static string DeletarEstoque(TRegistro_LanEstoque val, TObjetoBanco banco)
        {
            if (val.Cd_empresa.Trim().Equals(""))
            {
                throw new Exception("Campo Obrigatorio !\r\n" +
                                    "Campo: CD_Empresa\r\n" +
                                    "Método: DeletarEstoque\r\n" +
                                    "Classe: TCN_LanEstoque");
            }
            if (val.Cd_produto.Trim().Equals(""))
            {
                throw new Exception("Campo Obrigatorio !\r\n" +
                                    "Campo: CD_Produto\r\n" +
                                    "Método: DeletarEstoque\r\n" +
                                    "Classe: TCN_LanEstoque");
            }
            if (val.Id_lanctoestoque < 1)
            {
                throw new Exception("Campo Obrigatorio !\r\n" +
                                    "Campo: ID_LanctoEstoque\r\n" +
                                    "Método: DeletarEstoque\r\n" +
                                    "Classe: TCN_LanEstoque");
            }
            string         retorno      = string.Empty;
            bool           pode_liberar = false;
            TCD_LanEstoque qtb_estoque  = new TCD_LanEstoque();

            try
            {
                if (banco == null)
                {
                    pode_liberar = qtb_estoque.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_estoque.Banco_Dados = banco;
                }

                retorno = qtb_estoque.DeletaEstoque(val);
                if (pode_liberar)
                {
                    qtb_estoque.Banco_Dados.Commit_Tran();
                }
                return(retorno);
            }
            catch
            {
                if (pode_liberar)
                {
                    qtb_estoque.Banco_Dados.RollBack_Tran();
                }
                return(string.Empty);
            }
            finally
            {
                if (pode_liberar)
                {
                    qtb_estoque.deletarBanco_Dados();
                }
            }
        }
Esempio n. 4
0
        public static string GravarEstoque(TRegistro_LanEstoque val, TObjetoBanco banco)
        {
            //Validar Campos obrigatorios para gravar estoque
            if (string.IsNullOrEmpty(val.Cd_empresa))
            {
                throw new Exception("Campo Obrigatorio !\r\n" +
                                    "Campo: CD_Empresa\r\n" +
                                    "Método: GravarEstoque\r\n" +
                                    "Classe: TCN_LanEstoque");
            }
            if (string.IsNullOrEmpty(val.Cd_produto))
            {
                throw new Exception("Campo Obrigatorio !\r\n" +
                                    "Campo: CD_Produto\r\n" +
                                    "Método: GravarEstoque\r\n" +
                                    "Classe: TCN_LanEstoque");
            }
            if (val.Dt_lancto.Equals(new DateTime()))
            {
                throw new Exception("Campo Obrigatorio !\r\n" +
                                    "Campo: DT_Lancto\r\n" +
                                    "Método: GravarEstoque\r\n" +
                                    "Classe: TCN_LanEstoque");
            }
            if (string.IsNullOrEmpty(val.Tp_movimento))
            {
                throw new Exception("Campo Obrigatorio !\r\n" +
                                    "Campo: TP_Movimento\r\n" +
                                    "Método: GravarEstoque\r\n" +
                                    "Classe: TCN_LanEstoque");
            }
            if (string.IsNullOrEmpty(val.Tp_lancto))
            {
                throw new Exception("Campo Obrigatorio !\r\n" +
                                    "Campo: TP_Lancto\r\n" +
                                    "Método: GravarEstoque\r\n" +
                                    "Classe: TCN_LanEstoque");
            }
            bool           pode_liberar = false;
            TCD_LanEstoque qtb_estoque  = new TCD_LanEstoque();

            try
            {
                if (banco == null)
                {
                    pode_liberar = qtb_estoque.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_estoque.Banco_Dados = banco;
                }
                //Gravar Estoque
                string retorno = string.Empty;
                if ((!new TCD_CadProduto(qtb_estoque.Banco_Dados).ItemServico(val.Cd_produto)) &&
                    (!new TCD_CadProduto(qtb_estoque.Banco_Dados).ProdutoConsumoInterno(val.Cd_produto)))
                {
                    if (val.Tp_movimento.Trim().Equals("S"))
                    {
                        decimal saldo = 0;
                        if (BloquearEstoqueNegativo(val.Cd_empresa, val.Cd_produto, val.Cd_local, val.Qtd_saida, ref saldo, qtb_estoque.Banco_Dados))
                        {
                            throw new Exception("Saldo insuficiente para baixar estoque do produto:\r\n" +
                                                val.Cd_produto + " - " + val.Ds_produto + "\r\n" +
                                                "No local de armazenagem: " + val.Cd_local.Trim() + "-" + val.Ds_local.Trim() + "\r\n" +
                                                "Saldo Disponivel: " + saldo.ToString("### ### ##0.000") + "\r\n" +
                                                "Saldo Requerido: " + val.Qtd_saida.ToString("### ### ##0.000") + "\r\n" +
                                                "Informe o Depto Contabil para lançamento  da provisão de estoque !");
                        }
                    }
                    retorno = qtb_estoque.GravaEstoque(val);
                    val.Id_lanctoestoque = decimal.Parse(CamadaDados.TDataQuery.getPubVariavel(retorno, "@@P_ID_LANCTOESTOQUE"));
                    //Gravar Lote Anvisa
                    val.lMovLoteAnvisa.ForEach(p =>
                    {
                        p.Id_lanctoestoque = val.Id_lanctoestoque;
                        Faturamento.LoteAnvisa.TCN_MovLoteAnvisa.Gravar(p, qtb_estoque.Banco_Dados);
                    });
                    //Gravar Grade
                    val.lGrade.ForEach(p => TCN_GradeEstoque.Gravar(new TRegistro_GradeEstoque()
                    {
                        Cd_empresa        = val.Cd_empresa,
                        Cd_produto        = val.Cd_produto,
                        Id_lanctoestoque  = val.Id_lanctoestoque,
                        Id_caracteristica = p.Id_caracteristica,
                        Id_item           = p.Id_item,
                        quantidade        = p.Vl_mov
                    }, qtb_estoque.Banco_Dados));
                    if (pode_liberar)
                    {
                        qtb_estoque.Banco_Dados.Commit_Tran();
                    }
                    return(retorno);
                }
                return(string.Empty);
            }
            catch (Exception ex)
            {
                if (pode_liberar)
                {
                    qtb_estoque.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar estoque: " + ex.Message.Trim());
            }
            finally
            {
                if (pode_liberar)
                {
                    qtb_estoque.deletarBanco_Dados();
                }
            }
        }