public static string Excluir(TRegistro_Rodado val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Rodado qtb_con = new TCD_Rodado(); try { if (banco == null) { st_transacao = qtb_con.CriarBanco_Dados(true); } else { qtb_con.Banco_Dados = banco; } //Validar se possui veiculo relacionado TpBusca[] tpBuscas = new TpBusca[0]; Estruturas.CriarParametro(ref tpBuscas, "a.id_rodado", val.Id_rodadostr); if (Convert.ToInt32(new TCD_RodadoVeic().BuscarEscalar(tpBuscas, "count(*)")) > 0) { throw new Exception("Não foi possível excluir o rodado selecionado, pois possui veiculo vinculado."); } qtb_con.Excluir(val); if (st_transacao) { qtb_con.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_con.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir rodado: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_con.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_Rodado val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Rodado qtb_con = new TCD_Rodado(); try { if (banco == null) { st_transacao = qtb_con.CriarBanco_Dados(true); } else { qtb_con.Banco_Dados = banco; } val.Id_rodadostr = CamadaDados.TDataQuery.getPubVariavel(qtb_con.Gravar(val), "@P_ID_RODADO"); if (st_transacao) { qtb_con.Banco_Dados.Commit_Tran(); } return(val.Id_rodadostr); } catch (Exception ex) { if (st_transacao) { qtb_con.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar rodado: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_con.deletarBanco_Dados(); } } }
public static string GravarTrocaPneu(TRegistro_LanPneu _LanPneuOrigem, TRegistro_Rodado _RodadoDestino, string Id_veiculoOrigem, string Id_veiculoDestino, BancoDados.TObjetoBanco banco, int HodometroOrigem = 0, int HodometroDestino = 0, decimal ProfundidadeOrigem = 0, decimal ProfundidadeDestino = 0) { bool st_transacao = false; TCD_MovPneu qtb_pneu = new TCD_MovPneu(); try { if (banco == null) { st_transacao = qtb_pneu.CriarBanco_Dados(true); } else { qtb_pneu.Banco_Dados = banco; } if (_LanPneuOrigem.Status.Equals("ALMOXARIFADO") && HodometroDestino < 1) { throw new Exception("Pneu de origem não possui hodometro inicial"); } else if (!string.IsNullOrEmpty(_RodadoDestino.Id_pneu) && HodometroDestino < 1) { throw new Exception("Para rodado com pneu em movimentação é obrigatório informar hodometro destino."); } else if (!string.IsNullOrEmpty(_RodadoDestino.Id_pneu)) { //Para rodados com pneu deve-se finalizar está movimentação e dar entrada no almoxarifado TRegistro_LanPneu _LanPneu = new TRegistro_LanPneu(); _LanPneu = new TCD_LanPneu().Select(new TpBusca[] { new TpBusca() { vNM_Campo = "a.id_pneu", vOperador = "=", vVL_Busca = _RodadoDestino.Id_pneu } }, 1, string.Empty)[0]; CamadaDados.Almoxarifado.TRegistro_Movimentacao rMov = new CamadaDados.Almoxarifado.TRegistro_Movimentacao(); rMov.Ds_observacao = "ENTRADA REALIZADA POR MOVIMENTAÇÃO"; rMov.Cd_empresa = _LanPneu.Cd_empresa; rMov.Id_almoxstr = _LanPneu.Id_almoxstr; rMov.Cd_produto = _LanPneu.Cd_produto; rMov.Quantidade = 1; rMov.Vl_unitario = CamadaNegocio.Almoxarifado.TCN_SaldoAlmoxarifado.Vl_Custo_Almox_Prod(_LanPneu.Cd_empresa, _LanPneu.Id_almoxstr, _LanPneu.Cd_produto, null); rMov.Tp_movimento = "E"; rMov.LoginAlmoxarife = Utils.Parametros.pubLogin; rMov.Dt_movimento = CamadaDados.UtilData.Data_Servidor(); rMov.St_registro = "A"; CamadaNegocio.Almoxarifado.TCN_Movimentacao.Gravar(rMov, banco); TRegistro_MovPneu _MovPneu = new TCD_MovPneu().Select(new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = _LanPneu.Cd_empresa }, new TpBusca() { vNM_Campo = "a.id_pneu", vOperador = "=", vVL_Busca = _LanPneu.Id_pneustr }, new TpBusca() { vNM_Campo = "a.id_veiculo", vOperador = "=", vVL_Busca = _LanPneu.Id_veiculo }, new TpBusca() { vNM_Campo = "a.id_rodado", vOperador = "=", vVL_Busca = _RodadoDestino.Id_rodadostr }, new TpBusca() { vNM_Campo = "a.st_rodando", vOperador = "=", vVL_Busca = "'S'" } }, 1)[0]; //Atualizar movimentação/pneu para almoxarifado qtb_pneu.executarSql("update tb_frt_movpneu " + " set st_rodando = 'N', HodometroFinal = " + HodometroDestino + ", Dt_Alt = getdate(), EspessuraBorracha = convert(decimal(15,3), replace('" + ProfundidadeDestino + "', ',','.')) " + " where id_mov = " + _MovPneu.Id_movstr + " " + " and cd_empresa = " + _MovPneu.Cd_empresa + " " + " and id_pneu = " + _LanPneu.Id_pneustr + " " + " and id_veiculo = " + _LanPneu.Id_veiculo + " " + " and id_rodado = " + _RodadoDestino.Id_rodadostr + " " + " and st_rodando = 'S'", null); qtb_pneu.executarSql("update tb_frt_pneus set st_registro = 'A', Dt_Alt = getdate() " + " where cd_empresa = '" + _MovPneu.Cd_empresa.Trim() + "' " + " and id_pneu = " + _MovPneu.Id_pneustr, null); } TRegistro_MovPneu rMovPneu = new TRegistro_MovPneu(); if (_LanPneuOrigem.Status.Equals("RODANDO")) { //Finalizar movimentação do pneu origem if (HodometroOrigem < 1) { throw new Exception("Para evoluir a movimentação é obrigatório informar hodometro no pneu origem."); } qtb_pneu.executarSql("update tb_frt_movpneu " + " set st_rodando = 'N', HodometroFinal = " + HodometroOrigem + ", Dt_Alt = getdate() " + " where cd_empresa = " + _LanPneuOrigem.Cd_empresa + " " + " and id_pneu = " + _LanPneuOrigem.Id_pneustr + " " + " and id_veiculo = " + _LanPneuOrigem.Id_veiculo + " " + " and id_rodado = " + _LanPneuOrigem.Id_rodado + " " + " and st_rodando = 'S'", null); if (HodometroDestino < 1) { throw new Exception("Para evoluir a movimentação é obrigatório informar hodometro no pneu destino."); } rMovPneu.HodometroInicial = HodometroDestino; } else { //Saída do almoxarifado para pneu origem CamadaDados.Almoxarifado.TRegistro_Movimentacao _Movimentacao = new CamadaDados.Almoxarifado.TRegistro_Movimentacao(); _Movimentacao.Cd_empresa = _LanPneuOrigem.Cd_empresa; _Movimentacao.Cd_produto = _LanPneuOrigem.Cd_produto; _Movimentacao.Id_almox = _LanPneuOrigem.Id_almox; _Movimentacao.Dt_movimento = CamadaDados.UtilData.Data_Servidor(); _Movimentacao.Tp_movimento = "S"; _Movimentacao.Quantidade = 1; object obj = new CamadaDados.Almoxarifado.TCD_SaldoAlmoxarifado().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + _LanPneuOrigem.Cd_empresa + "'" }, new Utils.TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + _LanPneuOrigem.Cd_produto.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.id_almox", vOperador = "=", vVL_Busca = "'" + _LanPneuOrigem.Id_almoxstr + "'" } }, "isnull(a.vl_custo, 0)"); if (obj != null && !string.IsNullOrEmpty(obj.ToString())) { _Movimentacao.Vl_unitario = Convert.ToDecimal(obj.ToString()); } _Movimentacao.St_registro = "A"; _Movimentacao.Ds_observacao = "SAIDA POR MOVIMENTACAO NA GESTAO DE PNEUS"; rMovPneu.Id_movalmoxstr = CamadaNegocio.Almoxarifado.TCN_Movimentacao.Gravar(_Movimentacao, banco); if (HodometroDestino < 1) { throw new Exception("Para pneu com status ALMOXARIFADO deve ser informado hodometro destino."); } rMovPneu.HodometroInicial = HodometroDestino; } //Nova movimentação rMovPneu.Cd_empresa = _LanPneuOrigem.Cd_empresa; rMovPneu.Id_pneu = _LanPneuOrigem.Id_pneu; rMovPneu.Id_veiculostr = Id_veiculoDestino; rMovPneu.Id_rodado = _RodadoDestino.Id_rodado; rMovPneu.St_rodando = "S"; rMovPneu.Tp_movimentacao = "1"; rMovPneu.Dt_movimento = CamadaDados.UtilData.Data_Servidor(); rMovPneu.Cd_produto = _LanPneuOrigem.Cd_produto; rMovPneu.EspessuraBorracha = ProfundidadeOrigem; rMovPneu.Id_movstr = CamadaDados.TDataQuery.getPubVariavel(qtb_pneu.Gravar(rMovPneu), "@P_ID_MOV"); //Atualizar pneus movimentados para St. Rodando _LanPneuOrigem.St_registro = "R"; Cadastros.TCN_LanPneu.Gravar(_LanPneuOrigem, banco); if (st_transacao) { qtb_pneu.Banco_Dados.Commit_Tran(); } return(rMovPneu.Id_movstr); } catch (Exception ex) { if (st_transacao) { qtb_pneu.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar movimentação pneu: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_pneu.deletarBanco_Dados(); } } }