Beispiel #1
0
        public static string ProcessarMudanca(TRegistro_LanMudanca val, BancoDados.TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_LanMudanca qtb_mud      = new TCD_LanMudanca();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_mud.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_mud.Banco_Dados = banco;
                }
                //Gravar Duplicata
                if (val.lDup.Count > 0)
                {
                    TCN_LanDuplicata.GravarDuplicata(val.lDup, false, qtb_mud.Banco_Dados);
                    val.Nr_lancto = val.lDup[0].Nr_lancto;
                }
                //Gravar lançamento almoxarifado
                val.lMaterialMud.ForEach(p =>
                {
                    //Buscar Almoxarifado
                    CamadaDados.Almoxarifado.TList_CadAlmoxarifado lAlmox =
                        new CamadaDados.Almoxarifado.TCD_CadAlmoxarifado().Select(
                            new Utils.TpBusca[]
                    {
                        new Utils.TpBusca()
                        {
                            vNM_Campo = string.Empty,
                            vOperador = "exists",
                            vVL_Busca = "(select 1 from tb_amx_almox_x_empresa x " +
                                        "where x.id_almox = a.id_almox " +
                                        "and x.cd_empresa = '" + val.Cd_empresa.Trim() + "')"
                        }
                    }, 1, string.Empty);
                    if (lAlmox.Count == 0)
                    {
                        throw new Exception("Não existe configuração de almoxarifado para a empresa!");
                    }
                    //Criar registro movimentação
                    CamadaDados.Almoxarifado.TRegistro_Movimentacao rMov =
                        new CamadaDados.Almoxarifado.TRegistro_Movimentacao();
                    rMov.Ds_observacao = "PRODUTO RETIRADO PELO MÓDULO MUDANÇA";
                    rMov.Cd_empresa    = val.Cd_empresa;
                    rMov.Id_almoxstr   = lAlmox[0].Id_almoxString;
                    rMov.Cd_produto    = p.Cd_produto;
                    rMov.Quantidade    = p.Quantidade;
                    rMov.Vl_unitario   = CamadaNegocio.Almoxarifado.TCN_SaldoAlmoxarifado.Vl_Custo_Almox_Prod(val.Cd_empresa,
                                                                                                              lAlmox[0].Id_almoxString,
                                                                                                              p.Cd_produto,
                                                                                                              qtb_mud.Banco_Dados);
                    rMov.Tp_movimento    = "S";
                    rMov.LoginAlmoxarife = Utils.Parametros.pubLogin;
                    rMov.Dt_movimento    = CamadaDados.UtilData.Data_Servidor();
                    rMov.St_registro     = "A";
                    //Gravar Movimentação
                    CamadaNegocio.Almoxarifado.TCN_Movimentacao.Gravar(rMov, qtb_mud.Banco_Dados);
                    //Gravar Material mudança
                    p.Id_movimento = rMov.Id_movimento;
                    TCN_MaterialMud.Gravar(p, qtb_mud.Banco_Dados);
                });
                val.St_registro = "4";//Processada
                //Gravar processamento mudança
                qtb_mud.Gravar(val);
                if (st_transacao)
                {
                    qtb_mud.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_mud.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro Gravar registro: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_mud.deletarBanco_Dados();
                }
            }
        }
Beispiel #2
0
        public static string Gravar(TRegistro_LanMudanca val, BancoDados.TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_LanMudanca qtb_mud      = new TCD_LanMudanca();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_mud.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_mud.Banco_Dados = banco;
                }
                val.Id_mudancastr = CamadaDados.TDataQuery.getPubVariavel(qtb_mud.Gravar(val), "@P_ID_MUDANCA");
                //Excluir Itens Mudança
                val.lItensMudDel.ForEach(p => TCN_LanItensMud.Excluir(p, qtb_mud.Banco_Dados));
                //Gravar Itens Mudança
                val.lItensMud.ForEach(p =>
                {
                    p.Cd_empresa = val.Cd_empresa;
                    p.Id_mudanca = val.Id_mudanca;
                    TCN_LanItensMud.Gravar(p, qtb_mud.Banco_Dados);
                });
                //Excluir Serviços Mudança
                val.lServicosMudDel.ForEach(p => TCN_LanServicosMud.Excluir(p, qtb_mud.Banco_Dados));
                //Gravar Serviços Mudança
                val.lServicosMud.ForEach(p =>
                {
                    p.Cd_empresa = val.Cd_empresa;
                    p.Id_mudanca = val.Id_mudanca;
                    TCN_LanServicosMud.Gravar(p, qtb_mud.Banco_Dados);
                });
                //Excluir Parcelas Mudança
                val.lParcelasMudDel.ForEach(p => TCN_ParcelasMud.Excluir(p, qtb_mud.Banco_Dados));
                //Gravar Parcelas Mudança
                val.lParcelasMud.ForEach(p =>
                {
                    p.Cd_empresa = val.Cd_empresa;
                    p.Id_mudanca = val.Id_mudanca;
                    TCN_ParcelasMud.Gravar(p, qtb_mud.Banco_Dados);
                });
                //Excluir Material Mudança
                val.lMaterialMudDel.ForEach(p => TCN_MaterialMud.Excluir(p, qtb_mud.Banco_Dados));
                //Gravar Material Mudança
                val.lMaterialMud.ForEach(p =>
                {
                    p.Cd_empresa = val.Cd_empresa;
                    p.Id_mudanca = val.Id_mudanca;
                    TCN_MaterialMud.Gravar(p, qtb_mud.Banco_Dados);
                });
                //Excluir Ajudantes Mudança
                val.lAjudantesMudDel.ForEach(p => TCN_AjudantesMud.Excluir(p, qtb_mud.Banco_Dados));
                //Gravar Ajudantes Mudança
                val.lAjudantesMud.ForEach(p =>
                {
                    p.Cd_empresa = val.Cd_empresa;
                    p.Id_mudanca = val.Id_mudanca;
                    TCN_AjudantesMud.Gravar(p, qtb_mud.Banco_Dados);
                });
                //Gravar Orcamento
                val.lOrcamento.ForEach(p =>
                {
                    p.Id_mudancastr = val.Id_mudancastr;
                    p.St_registro   = "1";
                    TCN_Orcamento.Gravar(p, qtb_mud.Banco_Dados);
                    TCN_LanMudanca.AprovarMudanca(val, qtb_mud.Banco_Dados);
                });
                if (st_transacao)
                {
                    qtb_mud.Banco_Dados.Commit_Tran();
                }
                return(val.Id_mudancastr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_mud.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar mudança: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_mud.deletarBanco_Dados();
                }
            }
        }