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(); } } }
public static string Excluir(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; } try { //Excluir qtb_mud.Excluir(val); } catch { //Cancelar val.St_registro = "3"; qtb_mud.Gravar(val); } //Verificar se Mudança possui Orçamento TList_Orcamento lOrcamento = new TCD_Orcamento(qtb_mud.Banco_Dados).Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.id_mudanca", vOperador = "=", vVL_Busca = val.Id_mudancastr }, new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" } }, 0, string.Empty); lOrcamento.ForEach(p => { p.St_registro = "0"; p.Id_mudancastr = string.Empty; TCN_Orcamento.Gravar(p, 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 excluir mudança: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_mud.deletarBanco_Dados(); } } }
public static void AprovarMudanca(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.St_registro = "1";//Aprovado //Gravar Viagem if (!val.Id_viagem.HasValue) { CamadaDados.Frota.TRegistro_Viagem rViagem = new CamadaDados.Frota.TRegistro_Viagem(); rViagem.Cd_empresa = val.Cd_empresa; rViagem.Id_veiculostr = val.Id_veiculostr; rViagem.Cd_motorista = val.Cd_motorista; rViagem.Dt_viagemstr = val.Dt_coletastr; rViagem.Ds_viagem = "VIAGEM REALIZADA PELA MUDANÇA Nº" + val.Id_mudancastr; rViagem.St_viagem = "E"; CamadaNegocio.Frota.TCN_Viagem.Gravar(rViagem, qtb_mud.Banco_Dados); val.Id_viagem = rViagem.Id_viagem; } //Gravar Guarda Volume if (val.St_utilizaguardamoveisbool) { TRegistro_GuardaVolume rGuarda = new TRegistro_GuardaVolume(); rGuarda.Cd_empresa = val.Cd_empresa; rGuarda.Cd_clifor = val.Cd_clifor; rGuarda.Cd_endereco = val.Cd_endereco; rGuarda.Id_mudanca = val.Id_mudanca; rGuarda.Dt_registro = CamadaDados.UtilData.Data_Servidor(); rGuarda.Dt_prevretirada = CamadaDados.UtilData.Data_Servidor().AddDays(Convert.ToDouble(val.NR_DiasGuardaMoveis.ToString())); rGuarda.NR_GuardaVol = val.Nr_guardavol; rGuarda.St_registro = "A"; val.lItensMud.ForEach(p => { rGuarda.lItensGuardaVolume.Add( new TRegistro_ItensGuardaVolume() { Id_item = p.Id_item, Dt_locacao = rGuarda.Dt_registro, Quantidade = p.Quantidade, St_registro = "A" }); }); TCN_GuardaVolume.Gravar(rGuarda, qtb_mud.Banco_Dados); } //Gravar Aprovação qtb_mud.Gravar(val); if (st_transacao) { qtb_mud.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_mud.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro aprovar orçamento: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_mud.deletarBanco_Dados(); } } }
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(); } } }