コード例 #1
0
        public static string Excluir(TRegistro_ItensCargaAvulsa val, 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;
                }
                if (new CamadaDados.Locacao.TCD_AbastItens(qtb_carga.Banco_Dados).BuscarEscalar(
                        new TpBusca[]
                {
                    new TpBusca {
                        vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa + "'"
                    },
                    new TpBusca {
                        vNM_Campo = "a.id_carga", vOperador = "=", vVL_Busca = val.Id_cargastr
                    },
                    new TpBusca {
                        vNM_Campo = "a.id_itemcarga", vOperador = "=", vVL_Busca = val.Id_itemstr
                    }
                }, "1") != null)
                {
                    throw new Exception("Não é possível excluir uma carga avulsa que contenha produtos relacionados com abastecimento de patrimônio." +
                                        " Produto em questão: " + val.Cd_produto + ".");
                }
                qtb_carga.Excluir(val);
                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 excluir item Carga: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_carga.deletarBanco_Dados();
                }
            }
        }
コード例 #2
0
        public static string Gravar(TRegistro_ItensCargaAvulsa val, 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;
                }
                val.Id_itemstr = CamadaDados.TDataQuery.getPubVariavel(qtb_carga.Gravar(val), "@P_ID_ITEM");
                if (st_transacao)
                {
                    qtb_carga.Banco_Dados.Commit_Tran();
                }
                return(val.Id_itemstr);
            }
            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();
                }
            }
        }
コード例 #3
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();
                }
            }
        }
コード例 #4
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();
                }
            }
        }