public void TestaListagemOS() { this.CriaInstancia(); Empresa emp = new Empresa(); emp.Codigo = "99"; Filial fil = new Filial(); fil.Codigo = "99"; List<OrdemServico> lista = new OrdemServicoBUS(Conexao.Instacia, emp, fil).Listar(); Assert.AreNotEqual(0, lista.Count); }
// // GET: /OS/Details/5 public ActionResult Details(int id) { try { ViewBag.Title = "Detalhes - Ordens de Serviço"; Conexao.Ativar(true); Usuario umUsuario = (Usuario)Session["UsuarioLogado"]; INegocio<OrdemServico, int> umaOSBUS = new OrdemServicoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial); OrdemServico umaOS = umaOSBUS.Consultar(id); this.VerificaOsRemota(ref umaOS, umUsuario); if (umaOS != null) { if (umUsuario.IsAdministrador) { return View(umaOS); } else { if (umUsuario.Funcionario.Codigo == umaOS.Funcionario.Codigo) { return View(umaOS); } else { return RedirectToAction("Index", new { st = "er" }); } } } else { return RedirectToAction("Index", new { st = "iv" }); } } catch (Exception ex) { return RedirectToAction("Index", new { st = "er" }); } finally { if (Conexao.Instacia.State == ConnectionState.Open) { Conexao.Ativar(false); } } }
public void TestaExcluirOS() { this.CriaInstancia(); Empresa emp = new Empresa(); emp.Codigo = "99"; Filial fil = new Filial(); fil.Codigo = "99"; OrdemServico os = new OrdemServico(); os.Codigo = 43; INegocio<OrdemServico, int> osBus = new OrdemServicoBUS(Conexao.Instacia, emp, fil); osBus.Excluir(os); }
public void TestaEdicaoOS() { this.CriaInstancia(); Empresa emp = new Empresa(); emp.Codigo = "99"; Filial fil = new Filial(); fil.Codigo = "99"; INegocio<OrdemServico, int> umaOrdemServicoBUS = new OrdemServicoBUS(Conexao.Instacia, emp, fil); OrdemServico umaOrdemServico; this.PreencherObjeto(out umaOrdemServico); umaOrdemServico.Codigo = 54; umaOrdemServicoBUS.Editar(umaOrdemServico); }
public void TestaConsultaOS() { this.CriaInstancia(); Empresa emp = new Empresa(); emp.Codigo = "99"; Filial fil = new Filial(); fil.Codigo = "99"; OrdemServico os = new OrdemServicoBUS(Conexao.Instacia, emp, fil).Consultar(50); Assert.IsNotNull(os); }
public double ApurarMetasPorMes(int ano, int mes, Funcionario funcionario, Projeto projeto, Indicador indicador) { OrdemServico ordemFiltro = new OrdemServico(); ordemFiltro.DataDe = "01/" + mes + "/" + ano; ordemFiltro.DataAte = new DateTime(ano, mes, DateTime.DaysInMonth(ano, mes)).ToString("dd/MM/yyy"); ordemFiltro.Projeto = projeto; ordemFiltro.Funcionario = funcionario; ordemFiltro.Cliente = new Cliente(); OrdemServicoBUS umaOrdemServicoBUS = new OrdemServicoBUS(this._conexao, this._empresa, this._filial); List<OrdemServico> listaOrdens = umaOrdemServicoBUS.Pesquisar(ordemFiltro); double total = 0; switch (indicador.Codigo) { case 1: //HORA foreach (var os in listaOrdens) { double horas = 0; if ((os.Inicio == "00:00") && (os.Fim == "00:00")) { OrdemServicoRemoto osr = new OrdemServicoRemotoBUS(this._conexao, this._empresa, this._filial).Consultar(os.Codigo); DateTime horasAcimaDeCem = new DateTime(); horasAcimaDeCem = horasAcimaDeCem.AddHours(Convert.ToInt32(osr.Total.Split(':')[0])); horasAcimaDeCem = horasAcimaDeCem.AddMinutes(Convert.ToInt32(osr.Total.Split(':')[1])); TimeSpan ticks = new TimeSpan(horasAcimaDeCem.Ticks); total += ticks.TotalHours; } else { horas = TimeSpan.Parse(os.Total).TotalHours; } total += horas; } break; case 2: //PROSPECÇÕES total = listaOrdens.Count; break; } return total; }
private void GerarRelatorioOS(int id, OrdemServicoBUS umOrdemServicoBUS, string query, string pathRelatorio, FbParameter[] parametros) { parametros[0].Value = id; DataTable dtRelatorio = umOrdemServicoBUS.GerarRelatorio(query, parametros); WebReport relatorio = new WebReport(); relatorio = Relatorio.GerarRelatorioOS(id, this.Server.MapPath(pathRelatorio), dtRelatorio); relatorio.Width = 800; relatorio.Height = 1200; ViewBag.Title = "Relatório Ordem de Serviço"; ViewBag.Id = id; ViewBag.Relatorio = relatorio; }
// // GET: /OS/Edit/5 public ActionResult Edit(int id) { try { ViewBag.Title = "Edição - Ordens de Serviço"; Conexao.Ativar(true); Usuario umUsuario = (Usuario)Session["UsuarioLogado"]; OrdemServicoBUS umaOSBUS = new OrdemServicoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial); OrdemServico umaOS = umaOSBUS.Consultar(id); this.VerificaOsRemota(ref umaOS, umUsuario); if (umaOSBUS.VerificaPrazoEdicao(umaOS, this._limiteDiasEdicao)) { umaOS.Clientes = new ClienteBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar(); umaOS.Situacoes = new StatusOrdemServicoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar(); umaOS.Projetos = new ProjetoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Pesquisar(umaOS.Cliente.Codigo); umaOS.TipoHoras = new TipoHoraBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar(); if (umUsuario.IsAdministrador) { return View(umaOS); } else { if (umUsuario.Funcionario.Codigo == umaOS.Funcionario.Codigo) { return View(umaOS); } else { return RedirectToAction("Index", new { st = "er" }); } } } else { return RedirectToAction("Index", new { st = "tf" }); } } catch (Exception ex) { return RedirectToAction("Index", new { st = "er" }); } finally { if (Conexao.Instacia.State == ConnectionState.Open) { Conexao.Ativar(false); } } }
public ActionResult RelatorioDeConsultaDeHorasConsumidas() { try { Conexao.Ativar(true); Usuario umUsuario = (Usuario)Session["UsuarioLogado"]; OrdemServicoBUS umaOrdemServicoBUS = new OrdemServicoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial); string query = "SELECT PROJETOS.DESCRICAO AS NOMEPROJETO, CLIENTES.NOME AS NOMECLIENTE, PROJETOS.HORASGERENTE, " + "PROJETOS.HORASCOORDENADOR, PROJETOS.HORASCONSULTOR, ORDEM_SERVICO.INICIO, ORDEM_SERVICO.FIM, ORDEM_SERVICO.TRANSLADO, " + "SUM( ( CAST(ORDEM_SERVICO.FIM AS INTEGER) - CAST(ORDEM_SERVICO.INICIO AS INTEGER) ) + ORDEM_SERVICO.TRANSLADO) AS HORASCONSUMIDAS, " + "TIPOHORAS.DESCRICAO AS TIPOHORA, FUNCIONARIOS.NOME AS NOMEFUNCIONARIO " + "FROM PROJETOS INNER JOIN ORDEM_SERVICO ON ORDEM_SERVICO.PROJETO = PROJETOS.CODIGO " + "INNER JOIN TIPOHORAS ON ORDEM_SERVICO.TIPOHORA = TIPOHORAS.CODIGO " + "INNER JOIN CLIENTES ON ORDEM_SERVICO.CLIENTE = CLIENTES.CODIGO " + "INNER JOIN FUNCIONARIOS ON ORDEM_SERVICO.FUNCIONARIO = FUNCIONARIOS.CODIGO " + "GROUP BY PROJETOS.CODIGO, PROJETOS.DESCRICAO, CLIENTES.NOME, " + "PROJETOS.HORASGERENTE, PROJETOS.HORASCOORDENADOR, PROJETOS.HORASCONSULTOR, " + "ORDEM_SERVICO.INICIO, ORDEM_SERVICO.FIM, ORDEM_SERVICO.TRANSLADO,TIPOHORAS.DESCRICAO, FUNCIONARIOS.NOME " + "ORDER BY CLIENTES.NOME ASCENDING"; FbParameter[] parametros = new FbParameter[1]; DataTable dtRelatorio = umaOrdemServicoBUS.GerarRelatorio(query, parametros); ViewBag.Title = "Relatório de Consulta de Horas Consumidas - Ordens de Serviço"; if (dtRelatorio.Rows.Count != 0) { WebReport relatorio = Relatorio.GerarRelatorioConsultaDeHorasConsumidasOS(this.Server.MapPath("~/Relatorios/ConsultaDeHorasGastas.frx"), dtRelatorio); relatorio.Width = 800; relatorio.Height = 1200; ViewBag.Relatorio = relatorio; } else { ViewBag.Relatorio = null; } return View(); } catch (Exception ex) { return RedirectToAction("Index", new { st = "er" }); } finally { Conexao.Ativar(false); } }
public ActionResult Filter(OrdemServico os) { try { Conexao.Ativar(true); Usuario umUsuario = (Usuario)Session["UsuarioLogado"]; if (!umUsuario.IsAdministrador) { os.Funcionario = umUsuario.Funcionario; } Session["FiltroOS"] = os; Session["OsFiltrada"] = new OrdemServicoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Pesquisar(os); return RedirectToAction("Index"); } catch (Exception ex) { return View(ex.Message); //return RedirectToAction("Index", new { st = ex.Message }); } finally { if (Conexao.Instacia.State == ConnectionState.Open) { Conexao.Ativar(false); } } return View(); }
public ActionResult RelatorioListagemOS() { try { Usuario umUsuario = (Usuario)Session["UsuarioLogado"]; if (umUsuario.IsAdministrador) { Conexao.Ativar(true); OrdemServicoBUS umaOrdemServicoBUS = new OrdemServicoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial); OrdemServico os = (OrdemServico)Session["FiltroOS"]; string query = "SELECT ORDEM_SERVICO.CODIGO, ORDEM_SERVICO.DATA, ORDEM_SERVICO.INICIO, "+ "ORDEM_SERVICO.OBSERVACAO, ORDEM_SERVICO_REMOTO.INICIO AS DATADE, ORDEM_SERVICO_REMOTO.FIM AS DATAATE, "+ "ORDEM_SERVICO_REMOTO.TOTAL, "+ "ORDEM_SERVICO.FIM, ORDEM_SERVICO.TRANSLADO, ORDEM_SERVICO.ATIVIDADE, ORDEM_SERVICO.FATURADO, "+ "SYS_COMPANY.EMPRESA AS CODEMPRESA, SYS_COMPANY.NOME AS NOMEEMPRESA, "+ "SYS_BRANCH.FILIAL AS CODFILIAL, SYS_BRANCH.NOME AS NOMEFILIAL, "+ "CLIENTES.CODIGO AS CODCLIENTE, CLIENTES.REDUZIDO AS NOMECLIENTE, "+ "FUNCIONARIOS.CODIGO AS CODFUNCIONARIO, FUNCIONARIOS.NOME AS NOMEFUNCIONARIO, "+ "SITUACAO_OS.CODIGO AS CODSITUACAO, SITUACAO_OS.DESCRICAO AS NOMESITUACAO "+ "FROM ORDEM_SERVICO INNER JOIN CLIENTES ON CLIENTES.CODIGO = ORDEM_SERVICO.CLIENTE "+ "INNER JOIN FUNCIONARIOS ON FUNCIONARIOS.CODIGO = ORDEM_SERVICO.FUNCIONARIO "+ "INNER JOIN SITUACAO_OS ON SITUACAO_OS.CODIGO = ORDEM_SERVICO.STATUS "+ "LEFT JOIN ORDEM_SERVICO_REMOTO ON ORDEM_SERVICO_REMOTO.ORDEMSERVICO = ORDEM_SERVICO.CODIGO "+ "LEFT JOIN SYS_COMPANY ON SYS_COMPANY.EMPRESA = ORDEM_SERVICO.EMPRESA "+ "LEFT JOIN SYS_BRANCH ON SYS_BRANCH.FILIAL = ORDEM_SERVICO.FILIAL "+ "WHERE ((ORDEM_SERVICO.EMPRESA = @EMPRESA) OR (ORDEM_SERVICO.EMPRESA = '**')) " + "AND ((ORDEM_SERVICO.FILIAL = @FILIAL) OR (ORDEM_SERVICO.FILIAL = '**')) " + "AND (ORDEM_SERVICO.DATA >= @DATADE AND ORDEM_SERVICO.DATA <= @DATAATE)"; FbParameter[] parametros = new FbParameter[6]; parametros[0] = new FbParameter(); parametros[0].ParameterName = "@EMPRESA"; parametros[0].Value = umUsuario.Funcionario.Empresa.Codigo; parametros[1] = new FbParameter(); parametros[1].ParameterName = "@FILIAL"; parametros[1].Value = umUsuario.Funcionario.Filial.Codigo; parametros[2] = new FbParameter(); parametros[2].ParameterName = "@DATADE"; parametros[2].Value = Convert.ToDateTime(os.DataDe); parametros[3] = new FbParameter(); parametros[3].ParameterName = "@DATAATE"; parametros[3].Value = Convert.ToDateTime(os.DataAte); if (os.Cliente.Codigo != 0) { parametros[4] = new FbParameter(); parametros[4].ParameterName = "@CLIENTE"; parametros[4].Value = os.Cliente.Codigo; query += "AND ORDEM_SERVICO.CLIENTE = @CLIENTE "; } if (os.Funcionario.Codigo != 0) { parametros[5] = new FbParameter(); parametros[5].ParameterName = "@FUNCIONARIO"; parametros[5].Value = os.Funcionario.Codigo; query += "AND ORDEM_SERVICO.FUNCIONARIO = @FUNCIONARIO "; } query += "ORDER BY ORDEM_SERVICO.DATA ASC "; DataTable dtRelatorio = umaOrdemServicoBUS.GerarRelatorio(query, parametros); ViewBag.Title = "Consulta Ordens de Serviço - Ordens de Serviço"; if (dtRelatorio.Rows.Count != 0) { WebReport relatorio = Relatorio.GerarRelatorioListagemOS(this.Server.MapPath("~/Relatorios/ListagemOS.frx"), dtRelatorio, parametros); relatorio.Width = 800; relatorio.Height = 1200; ViewBag.Relatorio = relatorio; } else { ViewBag.Relatorio = null; } return View(); } else { return RedirectToAction("Index", new { st = "er" }); } } catch (Exception ex) { return RedirectToAction("Index", new { st = "er" }); } finally { if (Conexao.Instacia.State == ConnectionState.Open) { Conexao.Ativar(false); } } }
// // /OS/ViewReport/5 public ActionResult ViewReport(int id) { try { Conexao.Ativar(true); Usuario umUsuario = (Usuario)Session["UsuarioLogado"]; OrdemServicoBUS umOrdemServicoBUS = new OrdemServicoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial); OrdemServico umaOS = umOrdemServicoBUS.Consultar(id); this.VerificaOsRemota(ref umaOS, umUsuario); string query = string.Empty; string pathRelatorio = string.Empty; if (umaOS.Remoto) { query = "SELECT O.CLIENTE, O.FUNCIONARIO, OSR.INICIO AS DATADE, OSR.FIM AS DATAATE, "+ "O.INICIO, O.FIM, O.TRANSLADO, OSR.TOTAL, O.ATIVIDADE, C.CODIGO AS CODIGOCLIENTE, "+ "C.NOME AS NOMECLIENTE, F.NOME AS NOMEFUNCIONARIO, "+ "F.CODIGO AS CODIGOFUNCIONARIO, F.DATACADASTRO, O.CODIGO AS CODIGOOS "+ "FROM (ORDEM_SERVICO O INNER JOIN CLIENTES C ON O.CLIENTE = C.CODIGO) "+ "INNER JOIN FUNCIONARIOS F ON O.FUNCIONARIO = F.CODIGO "+ "INNER JOIN ORDEM_SERVICO_REMOTO OSR ON O.CODIGO = OSR.ORDEMSERVICO "+ "WHERE O.CODIGO=@CODIGO"; pathRelatorio = "~/Relatorios/OrdensDeServicoRemoto.frx"; } else { query = "SELECT O.CLIENTE, O.FUNCIONARIO, O.DATA, O.INICIO, O.FIM, O.TRANSLADO, O.ATIVIDADE, " + "C.CODIGO AS CODIGOCLIENTE, C.NOME AS NOMECLIENTE, F.NOME AS NOMEFUNCIONARIO, " + "F.CODIGO AS CODIGOFUNCIONARIO, F.DATACADASTRO, O.CODIGO AS CODIGOOS " + "FROM (\"ORDEM_SERVICO\" O INNER JOIN \"CLIENTES\" C ON O.CLIENTE = C.CODIGO " + ") INNER JOIN \"FUNCIONARIOS\" F ON O.FUNCIONARIO = F.CODIGO " + "WHERE O.CODIGO=@CODIGO"; pathRelatorio = "~/Relatorios/OrdensDeServico.frx"; } FbParameter[] parametros = new FbParameter[1]; parametros[0] = new FbParameter(); parametros[0].ParameterName = "@CODIGO"; if (umUsuario.IsAdministrador) { GerarRelatorioOS(id, umOrdemServicoBUS, query, pathRelatorio, parametros); return View(); } else { if (umUsuario.Funcionario.Codigo == umaOS.Funcionario.Codigo) { GerarRelatorioOS(id, umOrdemServicoBUS, query, pathRelatorio, parametros); return View(); } else { return RedirectToAction("Index", new { st = "er" }); } } } catch (Exception ex) { return RedirectToAction("Index", new { st = "er" }); } finally { if (Conexao.Instacia.State == ConnectionState.Open) { Conexao.Ativar(false); } } }
public ActionResult Delete(int id, OrdemServico os) { try { Conexao.Ativar(true); Usuario umUsuario = (Usuario)Session["UsuarioLogado"]; INegocio<OrdemServico, int> umaOSBUS = new OrdemServicoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial); os = umaOSBUS.Consultar(id); this.VerificaOsRemota(ref os, umUsuario); if (os.Remoto) { IOrdemServicoRemotoNegocio umaOrdemServicoRemotoBUS; OrdemServicoRemoto umaOrdemServicoRemota; PrepararOsRemota(os, umUsuario, out umaOrdemServicoRemotoBUS, out umaOrdemServicoRemota); umaOrdemServicoRemotoBUS.Excluir(umaOrdemServicoRemota); } else { umaOSBUS.Excluir(os); } AtualizarOS(umUsuario, os.Data); return RedirectToAction("Index", new { st = "ok" }); } catch (Exception ex) { return RedirectToAction("Index", new { st = "er" }); } finally { if (Conexao.Instacia.State == ConnectionState.Open) { Conexao.Ativar(false); } } }
public ActionResult Edit(int id, OrdemServico os) { try { Conexao.Ativar(true); Usuario usu = (Usuario)Session["UsuarioLogado"]; os.Codigo = id; os.Funcionario = usu.Funcionario; if (os.Remoto) { IOrdemServicoRemotoNegocio umaOrdemServicoRemotoBUS; OrdemServicoRemoto umaOrdemServicoRemota; PrepararOsRemota(os, usu, out umaOrdemServicoRemotoBUS, out umaOrdemServicoRemota); umaOrdemServicoRemotoBUS.Editar(umaOrdemServicoRemota); } else { OrdemServicoBUS umaOSBUS = new OrdemServicoBUS(Conexao.Instacia, usu.Funcionario.Empresa, usu.Funcionario.Filial); umaOSBUS.Editar(os); } AtualizarOS(usu, os.Data); return RedirectToAction("Index", new { st = "ok" }); } catch (Exception ex) { return RedirectToAction("Index", new { st = "er" }); } finally { if (Conexao.Instacia.State == ConnectionState.Open) { Conexao.Ativar(false); } } }
public void TestaListagemPorFuncionario() { this.CriaInstancia(); Empresa e = new Empresa(); e.Codigo = "98"; Filial f = new Filial(); f.Codigo = "98"; IOrdemServicoNegocio umaOSBUS = new OrdemServicoBUS(Conexao.Instacia, e, f); List<OrdemServico> lista = umaOSBUS.Listar("2"); }
private void AtualizarOS(Usuario usu, string data) { OrdemServico paramFilters = null; if (Session["FiltroOS"] != null) { paramFilters = (OrdemServico)Session["FiltroOS"]; } else { paramFilters = new OrdemServico(); paramFilters.Cliente = new Cliente(); paramFilters.DataDe = data; paramFilters.DataAte = data; } if (!usu.IsAdministrador) { paramFilters.Funcionario = usu.Funcionario; } Session["OsFiltrada"] = new OrdemServicoBUS(Conexao.Instacia, usu.Funcionario.Empresa, usu.Funcionario.Filial).Pesquisar(paramFilters); }
public void TestaPesquisaOS() { this.CriaInstancia(); Empresa emp = new Empresa(); emp.Codigo = "99"; Filial fil = new Filial(); fil.Codigo = "99"; List<OrdemServico> lista = new OrdemServicoBUS(Conexao.Instacia, emp, fil).Pesquisar(5); Assert.IsNotNull(lista); }
public ActionResult Create(OrdemServico os) { try { Usuario usu = (Usuario)Session["UsuarioLogado"]; Conexao.Ativar(true); if (Session["FuncAgendamento"] != null) { os.Funcionario = (Funcionario)Session["FuncAgendamento"]; Session["FuncAgendamento"] = null; } else { os.Funcionario = usu.Funcionario; } if (os.Remoto) { IOrdemServicoRemotoNegocio umaOrdemServicoRemotoBUS; OrdemServicoRemoto umaOrdemServicoRemota; PrepararOsRemota(os, usu, out umaOrdemServicoRemotoBUS, out umaOrdemServicoRemota); umaOrdemServicoRemotoBUS.Cadastrar(umaOrdemServicoRemota); } else { OrdemServicoBUS umaOSBUS = new OrdemServicoBUS(Conexao.Instacia, usu.Funcionario.Empresa, usu.Funcionario.Filial); umaOSBUS.Cadastrar(os); } AtualizarOS(usu, os.Data); return RedirectToAction("Index", new { st = "ok" }); } catch (Exception ex) { return RedirectToAction("Index", new { st = "er" }); } finally { if (Conexao.Instacia.State == ConnectionState.Open) { Conexao.Ativar(false); } } }