public void Cadastrar(OrdemServico obj) { FbCommand sqlCommand = new FbCommand(); try { sqlCommand.Connection = this._conexao; sqlCommand.CommandText = "INSERT INTO ORDEM_SERVICO (EMPRESA, FILIAL, CLIENTE, FUNCIONARIO, DATA, INICIO, FIM, TRANSLADO, ATIVIDADE, "+ "FATURADO, STATUS, OBSERVACAO, PROJETO, TIPOHORA) " + "VALUES (@EMPRESA, @FILIAL, @CLIENTE, @FUNCIONARIO, @DATA, @INICIO, @FIM, @TRANSLADO, @ATIVIDADE, "+ "@FATURADO, @SITUACAO, @OBSERVACAO, @PROJETO, @TIPOHORA)"; sqlCommand.Parameters.AddRange(this.ParametrizarComando(obj)); sqlCommand.ExecuteNonQuery(); } catch (FbException ex) { throw ex; } catch (Exception ex) { throw ex; } finally { sqlCommand.Dispose(); } }
private void PreencherObjeto( out OrdemServico umaOrdemServico) { umaOrdemServico = new OrdemServico(); umaOrdemServico.Empresa = new Empresa(); umaOrdemServico.Empresa.Codigo = "99"; umaOrdemServico.Empresa.Nome = "Teste"; umaOrdemServico.Filial = new Filial(); umaOrdemServico.Filial.Codigo = "99"; umaOrdemServico.Filial.Nome = "Teste"; umaOrdemServico.Cliente = new Cliente(); umaOrdemServico.Cliente.Codigo = 1; umaOrdemServico.Funcionario = new Funcionario(); umaOrdemServico.Funcionario.Empresa = new Empresa(); umaOrdemServico.Funcionario.Empresa.Codigo = "99"; umaOrdemServico.Funcionario.Empresa.Nome = "Teste"; umaOrdemServico.Funcionario.Filial = new Filial(); umaOrdemServico.Funcionario.Filial.Codigo = "99"; umaOrdemServico.Funcionario.Filial.Nome = "Teste"; umaOrdemServico.Funcionario.Codigo = 21; umaOrdemServico.Traslado = "0500"; umaOrdemServico.Atividade = "nonononononon"; umaOrdemServico.Data = DateTime.Now.ToString("dd/MM/yyyy"); umaOrdemServico.Fim = "0400"; umaOrdemServico.Inicio = "1800"; }
public void Editar(OrdemServico obj) { FbCommand sqlCommand = new FbCommand(); try { sqlCommand.Connection = this._conexao; sqlCommand.CommandText = "UPDATE ORDEM_SERVICO SET EMPRESA = @EMPRESA, FILIAL = @FILIAL, CLIENTE = @CLIENTE, " + "FUNCIONARIO = @FUNCIONARIO, DATA = @DATA, INICIO = @INICIO, FIM = @FIM, " + "TRANSLADO = @TRANSLADO, ATIVIDADE = @ATIVIDADE, FATURADO = @FATURADO, STATUS = @SITUACAO, " + "OBSERVACAO = @OBSERVACAO, PROJETO = @PROJETO, TIPOHORA = @TIPOHORA " + "WHERE CODIGO = @CODIGO"; sqlCommand.Parameters.AddRange(this.ParametrizarComando(obj)); sqlCommand.ExecuteNonQuery(); } catch (FbException ex) { throw ex; } catch (Exception ex) { throw ex; } finally { sqlCommand.Dispose(); } }
public void Editar(OrdemServico obj) { obj = this.ConfigurarCompartilhamentoDeTabelas(obj); IOrdemServicoRepositorio umOrdemServicoDAO = new OrdemServicoDAO(this._conexao); OrdemServico objAnterior = umOrdemServicoDAO.Consultar(this._empresa.Codigo, this._filial.Codigo, obj.Codigo); umOrdemServicoDAO.Editar(obj); if ((obj.Inicio != "00:00") && (obj.Fim != "00:00")) { IMetaNegocio umaMetaNegocio = new MetaBUS(this._conexao, this._empresa, this._filial); List<Meta> lista = umaMetaNegocio.Listar(obj.Projeto); DateTime dataOrdemServico = Convert.ToDateTime(obj.Data); foreach (var meta in lista) { if (meta.Indicador.Codigo == 1) { double totalAtual = TimeSpan.Parse(obj.Total).TotalHours; double totalAnterior = TimeSpan.Parse(objAnterior.Total).TotalHours; if (totalAtual > totalAnterior) { umOrdemServicoDAO.AcrescentarNaMeta ( ano: dataOrdemServico.Year, mes: dataOrdemServico.Month, meta: meta.Codigo, funcionario: obj.Funcionario.Codigo, indicador: meta.Indicador.Codigo, totalHoras: totalAtual - totalAnterior ); } else { umOrdemServicoDAO.DecrementarNaMeta ( ano: dataOrdemServico.Year, mes: dataOrdemServico.Month, meta: meta.Codigo, funcionario: obj.Funcionario.Codigo, indicador: meta.Indicador.Codigo, totalHoras: totalAnterior - totalAtual ); } } } } }
private OrdemServicoRemoto PreencherObjeto() { OrdemServico umaOrdemServico = new OrdemServico(); umaOrdemServico.Empresa = new Empresa(); umaOrdemServico.Empresa.Codigo = "99"; umaOrdemServico.Empresa.Nome = "Teste"; umaOrdemServico.Filial = new Filial(); umaOrdemServico.Filial.Codigo = "99"; umaOrdemServico.Filial.Nome = "Teste"; umaOrdemServico.Cliente = new Cliente(); umaOrdemServico.Cliente.Codigo = 1; umaOrdemServico.Funcionario = new Funcionario(); umaOrdemServico.Funcionario.Empresa = new Empresa(); umaOrdemServico.Funcionario.Empresa.Codigo = "99"; umaOrdemServico.Funcionario.Empresa.Nome = "Teste"; umaOrdemServico.Funcionario.Filial = new Filial(); umaOrdemServico.Funcionario.Filial.Codigo = "99"; umaOrdemServico.Funcionario.Filial.Nome = "Teste"; umaOrdemServico.Funcionario.Codigo = 21; umaOrdemServico.Projeto = new Projeto(); umaOrdemServico.Projeto.Codigo = 1; umaOrdemServico.TipoHora = new TipoHora(); umaOrdemServico.TipoHora.Codigo = 1; umaOrdemServico.Traslado = "0500"; umaOrdemServico.Atividade = "editando"; umaOrdemServico.Data = "01/01/1900"; umaOrdemServico.Fim = "0400"; umaOrdemServico.Inicio = "1800"; umaOrdemServico.Status = new StatusOS(); umaOrdemServico.Status.Codigo = 1; umaOrdemServico.Observacao = string.Empty; OrdemServicoRemoto umaOrdemServicoRemoto = new OrdemServicoRemoto(); umaOrdemServicoRemoto.OrdemServico = umaOrdemServico; umaOrdemServicoRemoto.DataFim = Convert.ToDateTime("01/01/1900"); umaOrdemServicoRemoto.DataInicio = Convert.ToDateTime("01/03/1985"); return umaOrdemServicoRemoto; }
public void Cadastrar(OrdemServico obj) { obj = this.ConfigurarCompartilhamentoDeTabelas(obj); IOrdemServicoRepositorio umOrdemServicoDAO = new OrdemServicoDAO(this._conexao); umOrdemServicoDAO.Cadastrar(obj); IMetaNegocio umaMetaNegocio = new MetaBUS(this._conexao, this._empresa, this._filial); List<Meta> lista = umaMetaNegocio.Listar(obj.Projeto); DateTime dataOrdemServico = Convert.ToDateTime(obj.Data); foreach (var meta in lista) { umOrdemServicoDAO.AcrescentarNaMeta( ano: dataOrdemServico.Year, mes: dataOrdemServico.Month, meta: meta.Codigo, funcionario: obj.Funcionario.Codigo, indicador: meta.Indicador.Codigo, totalHoras: TimeSpan.Parse(obj.Total).TotalHours); } }
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 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); } } }
// // GET: /OS/Create public ActionResult Create() { try { ViewBag.Title = "Cadastro - Ordens de Serviço"; Conexao.Ativar(true); Usuario umUsuario = (Usuario)Session["Usuariologado"]; OrdemServico umaOS = new OrdemServico(); umaOS.Clientes = new ClienteBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar(); umaOS.Cliente = new Cliente(); umaOS.Situacoes = new StatusOrdemServicoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar(); umaOS.TipoHoras = new TipoHoraBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar(); umaOS.TipoHora = new TipoHora(); umaOS.Status = new StatusOS(); umaOS.Projeto = new Projeto(); return View(umaOS); } catch (Exception ex) { return RedirectToAction("Index", new { st = "er" }); } finally { Conexao.Ativar(false); } }
protected List<FbParameter> ParametrizarComando(OrdemServico umaOrdemServico) { List<FbParameter> lista = new List<FbParameter>(); FbParameter sqlpEmpresa = new FbParameter(); sqlpEmpresa.ParameterName = "@EMPRESA"; sqlpEmpresa.Value = umaOrdemServico.Empresa.Codigo; lista.Add(sqlpEmpresa); FbParameter sqlpFilial = new FbParameter(); sqlpFilial.ParameterName = "@FILIAL"; sqlpFilial.Value = umaOrdemServico.Filial.Codigo; lista.Add(sqlpFilial); FbParameter sqlpCliente = new FbParameter(); sqlpCliente.ParameterName = "@CLIENTE"; sqlpCliente.Value = umaOrdemServico.Cliente.Codigo; lista.Add(sqlpCliente); FbParameter sqlpFuncionario = new FbParameter(); sqlpFuncionario.ParameterName = "@FUNCIONARIO"; sqlpFuncionario.Value = umaOrdemServico.Funcionario.Codigo; lista.Add(sqlpFuncionario); FbParameter sqlpProjeto = new FbParameter(); sqlpProjeto.ParameterName = "@PROJETO"; sqlpProjeto.Value = umaOrdemServico.Projeto.Codigo; lista.Add(sqlpProjeto); FbParameter sqlpTipoHora = new FbParameter(); sqlpTipoHora.ParameterName = "@TIPOHORA"; sqlpTipoHora.Value = umaOrdemServico.TipoHora.Codigo; lista.Add(sqlpTipoHora); FbParameter sqlpData = new FbParameter(); sqlpData.ParameterName = "@DATA"; sqlpData.Value = umaOrdemServico.Data; lista.Add(sqlpData); FbParameter sqlpInicio = new FbParameter(); sqlpInicio.ParameterName = "@INICIO"; sqlpInicio.Value = umaOrdemServico.Inicio.Replace(":", ""); lista.Add(sqlpInicio); FbParameter sqlpFim = new FbParameter(); sqlpFim.ParameterName = "@FIM"; sqlpFim.Value = umaOrdemServico.Fim.Replace(":", ""); lista.Add(sqlpFim); FbParameter sqlpTranslado = new FbParameter(); sqlpTranslado.ParameterName = "@TRANSLADO"; sqlpTranslado.Value = umaOrdemServico.Traslado.Replace(":", ""); lista.Add(sqlpTranslado); FbParameter sqlpAtividade = new FbParameter(); sqlpAtividade.ParameterName = "@ATIVIDADE"; sqlpAtividade.Value = umaOrdemServico.Atividade; lista.Add(sqlpAtividade); FbParameter sqlpSituacao = new FbParameter(); sqlpSituacao.ParameterName = "@SITUACAO"; sqlpSituacao.Value = umaOrdemServico.Status.Codigo; lista.Add(sqlpSituacao); FbParameter sqlpObservacao = new FbParameter(); sqlpObservacao.ParameterName = "@OBSERVACAO"; sqlpObservacao.Value = umaOrdemServico.Observacao; lista.Add(sqlpObservacao); FbParameter sqlFaturado = new FbParameter(); sqlFaturado.ParameterName = "@FATURADO"; if (umaOrdemServico.Faturado) { sqlFaturado.Value = "1"; } else { sqlFaturado.Value = "0"; } lista.Add(sqlFaturado); if (umaOrdemServico.Codigo != 0) { FbParameter sqlpCodigo = new FbParameter(); sqlpCodigo.ParameterName = "@CODIGO"; sqlpCodigo.Value = umaOrdemServico.Codigo; lista.Add(sqlpCodigo); } return lista; }
protected OrdemServicoRemoto ConverterParaObjetoDerivado(OrdemServico os) { return new OrdemServicoRemoto { OrdemServico = os }; }
public List<OrdemServico> Pesquisar(string empresa, string filial, OrdemServico os) { FbCommand sqlCommand = new FbCommand(); try { sqlCommand.Connection = this._conexao; sqlCommand.CommandText = "SELECT ORDEM_SERVICO.CODIGO, ORDEM_SERVICO.DATA, ORDEM_SERVICO.INICIO, " + "ORDEM_SERVICO.FIM, ORDEM_SERVICO.TRANSLADO, ORDEM_SERVICO.ATIVIDADE, ORDEM_SERVICO.FATURADO, " + "ORDEM_SERVICO.OBSERVACAO, " + "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, " + "PROJETOS.CODIGO AS CODPROJETO, PROJETOS.DESCRICAO AS NOMEPROJETO, " + "TIPOHORAS.CODIGO AS CODTIPOHORA, TIPOHORAS.DESCRICAO AS DESCTIPOHORA " + "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 PROJETOS ON PROJETOS.CODIGO = ORDEM_SERVICO.PROJETO " + "LEFT JOIN TIPOHORAS ON TIPOHORAS.CODIGO = ORDEM_SERVICO.TIPOHORA " + "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 BETWEEN @DATADE AND @DATAATE "; sqlCommand.Parameters.AddWithValue("@EMPRESA", empresa); sqlCommand.Parameters.AddWithValue("@FILIAL", filial); sqlCommand.Parameters.AddWithValue("@DATADE", Convert.ToDateTime(os.DataDe)); sqlCommand.Parameters.AddWithValue("@DATAATE", Convert.ToDateTime(os.DataAte)); if (os.Cliente.Codigo != 0) { sqlCommand.CommandText += "AND ORDEM_SERVICO.CLIENTE = @CLIENTE "; sqlCommand.Parameters.AddWithValue("@CLIENTE", os.Cliente.Codigo); } if (os.Funcionario.Codigo != 0) { sqlCommand.CommandText += "AND ORDEM_SERVICO.FUNCIONARIO = @FUNCIONARIO "; sqlCommand.Parameters.AddWithValue("@FUNCIONARIO", os.Funcionario.Codigo); } if ((os.Projeto != null) && (os.Projeto.Codigo != 0)) { sqlCommand.CommandText += "AND PROJETOS.CODIGO = @PROJETO "; sqlCommand.Parameters.AddWithValue("@PROJETO", os.Projeto.Codigo); } FbDataAdapter sqlAdapter = new FbDataAdapter(); sqlAdapter.SelectCommand = sqlCommand; DataTable dtOrdensServico = new DataTable(); sqlAdapter.Fill(dtOrdensServico); return this.ConverteDataTableEmList(dtOrdensServico).ToList(); } catch (FbException ex) { throw ex; } catch (Exception ex) { throw ex; } finally { sqlCommand.Dispose(); } }
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 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); } } }
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); }
private static void PrepararOsRemota(OrdemServico os, Usuario usu, out IOrdemServicoRemotoNegocio umaOrdemServicoRemotoBUS, out OrdemServicoRemoto umaOrdemServicoRemota) { umaOrdemServicoRemotoBUS = new OrdemServicoRemotoBUS(Conexao.Instacia, usu.Funcionario.Empresa, usu.Funcionario.Filial); umaOrdemServicoRemota = new OrdemServicoRemoto(); os.Remoto = true; umaOrdemServicoRemota.OrdemServico = os; umaOrdemServicoRemota.DataInicio = Convert.ToDateTime(os.DataDe); umaOrdemServicoRemota.DataFim = Convert.ToDateTime(os.DataAte); umaOrdemServicoRemota.Total = os.Total; os.Data = os.DataDe; os.Inicio = "00:00"; os.Fim = "00:00"; os.Traslado = "00:00"; os.Total = "00:00"; }
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(); }
// // /OS/Filter public ActionResult Filter() { try { ViewBag.Title = "Filtrar - Ordens de Serviço"; Conexao.Ativar(true); Usuario umUsuario = (Usuario)Session["UsuarioLogado"]; OrdemServico umaOrdemServico = new OrdemServico(); List<Cliente> listaCliente = new ClienteBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar(); List<Funcionario> listaFuncionarios = new FuncionarioBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar(); umaOrdemServico.Funcionario = new Funcionario(); umaOrdemServico.Cliente = new Cliente(); List<SelectListItem> listaSelectCliente = new List<SelectListItem>(); listaSelectCliente.Add(new SelectListItem { Text = "Selecione um Cliente", Value = "0", Selected = true }); foreach (var cli in listaCliente) { SelectListItem itemSelecionavel = new SelectListItem(); itemSelecionavel.Text = cli.Nome; itemSelecionavel.Value = cli.Codigo.ToString(); listaSelectCliente.Add(itemSelecionavel); } ViewBag.Clientes = listaSelectCliente; if (umUsuario.IsAdministrador) { List<SelectListItem> listaSelectFuncionario = new List<SelectListItem>(); listaSelectFuncionario.Add(new SelectListItem { Text = "Selecione um Recurso", Value = "0", Selected = true }); foreach (var func in listaFuncionarios) { SelectListItem itemSelecionavel = new SelectListItem(); itemSelecionavel.Text = func.Nome; itemSelecionavel.Value = func.Codigo.ToString(); listaSelectFuncionario.Add(itemSelecionavel); } ViewBag.Funcionarios = listaSelectFuncionario; } return View(umaOrdemServico); } catch (Exception) { return RedirectToAction("Filter", new { st = "er" }); } finally { if (Conexao.Instacia.State == ConnectionState.Open) { Conexao.Ativar(false); } } }
public void Excluir(OrdemServico obj) { FbCommand sqlCommand = new FbCommand(); try { sqlCommand.Connection = this._conexao; sqlCommand.CommandText = "DELETE FROM ORDEM_SERVICO WHERE CODIGO = @CODIGO"; sqlCommand.Parameters.AddWithValue("@CODIGO", obj.Codigo); sqlCommand.ExecuteNonQuery(); } catch (FbException ex) { throw ex; } catch (Exception ex) { throw ex; } finally { sqlCommand.Dispose(); } }
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; }
public OrdemServico Consultar(string empresa, string filial, int id) { FbCommand sqlCommand = new FbCommand(); try { sqlCommand.Connection = this._conexao; sqlCommand.CommandText = "SELECT ORDEM_SERVICO.CODIGO, ORDEM_SERVICO.DATA, ORDEM_SERVICO.INICIO, "+ "ORDEM_SERVICO.FIM, ORDEM_SERVICO.TRANSLADO, ORDEM_SERVICO.ATIVIDADE, ORDEM_SERVICO.FATURADO, " + "ORDEM_SERVICO.OBSERVACAO, " + "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, " + "PROJETOS.CODIGO AS CODPROJETO, PROJETOS.DESCRICAO AS NOMEPROJETO, " + "TIPOHORAS.CODIGO AS CODTIPOHORA, TIPOHORAS.DESCRICAO AS DESCTIPOHORA " + "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 PROJETOS ON PROJETOS.CODIGO = ORDEM_SERVICO.PROJETO " + "LEFT JOIN TIPOHORAS ON TIPOHORAS.CODIGO = ORDEM_SERVICO.TIPOHORA " + "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.CODIGO = @CODIGO"; sqlCommand.Parameters.AddWithValue("@CODIGO", id); sqlCommand.Parameters.AddWithValue("@EMPRESA", empresa); sqlCommand.Parameters.AddWithValue("@FILIAL", filial); FbDataReader sqlReader = sqlCommand.ExecuteReader(); int indexCodigo = sqlReader.GetOrdinal("CODIGO"); int indexData = sqlReader.GetOrdinal("DATA"); int indexInicio = sqlReader.GetOrdinal("INICIO"); int indexFim = sqlReader.GetOrdinal("FIM"); int indexTraslado = sqlReader.GetOrdinal("TRANSLADO"); int indexAtividade = sqlReader.GetOrdinal("ATIVIDADE"); int indexCodEmpresa = sqlReader.GetOrdinal("CODEMPRESA"); int indexNomeEmpresa = sqlReader.GetOrdinal("NOMEEMPRESA"); int indexCodFilial = sqlReader.GetOrdinal("CODFILIAL"); int indexNomeFilial = sqlReader.GetOrdinal("NOMEFILIAL"); int indexCodCliente = sqlReader.GetOrdinal("CODCLIENTE"); int indexNomeCliente = sqlReader.GetOrdinal("NOMECLIENTE"); int indexFaturado = sqlReader.GetOrdinal("FATURADO"); int indexCodFuncionario = sqlReader.GetOrdinal("CODFUNCIONARIO"); int indexNomeFucnionario = sqlReader.GetOrdinal("NOMEFUNCIONARIO"); int indexCodigoSituacao = sqlReader.GetOrdinal("CODSITUACAO"); int indexDescricaoSituacao = sqlReader.GetOrdinal("NOMESITUACAO"); int indexObservacao = sqlReader.GetOrdinal("OBSERVACAO"); int indexCodProjeto = sqlReader.GetOrdinal("CODPROJETO"); int indexNomeProjeto = sqlReader.GetOrdinal("NOMEPROJETO"); int indexCodTipoHora = sqlReader.GetOrdinal("CODTIPOHORA"); int indexDescTipoHora = sqlReader.GetOrdinal("DESCTIPOHORA"); OrdemServico umaOrdemServico = null; while (sqlReader.Read()) { umaOrdemServico = new OrdemServico(); umaOrdemServico.Codigo = sqlReader.GetInt32(indexCodigo); umaOrdemServico.Data = sqlReader.GetDateTime(indexData).ToString("dd/MM/yyyy"); umaOrdemServico.Inicio = sqlReader.GetString(indexInicio).ToString().Insert(2, ":"); ; umaOrdemServico.Fim = sqlReader.GetString(indexFim).ToString().Insert(2, ":"); if (Convert.ToInt32(sqlReader.GetString(indexTraslado)) == 0) { umaOrdemServico.Traslado = "00:00"; } else { if (sqlReader.GetString(indexTraslado).ToString().Length <= 4) { umaOrdemServico.Traslado = "0" + Convert.ToInt32(sqlReader.GetString(indexTraslado)).ToString().Insert(Convert.ToInt32(sqlReader.GetString(indexTraslado)).ToString().Length - 2, ":"); } else { umaOrdemServico.Traslado = Convert.ToInt32(sqlReader.GetString(indexTraslado)).ToString().Insert(Convert.ToInt32(sqlReader.GetString(indexTraslado)).ToString().Length - 2, ":"); } } umaOrdemServico.Atividade = sqlReader.GetString(indexAtividade); umaOrdemServico.Faturado = sqlReader.GetString(indexFaturado) == "1" ? true : false; umaOrdemServico.Empresa = new Empresa(); umaOrdemServico.Empresa.Codigo = sqlReader.GetString(indexCodEmpresa); umaOrdemServico.Empresa.Nome = sqlReader.GetString(indexNomeEmpresa); umaOrdemServico.Filial = new Filial(); umaOrdemServico.Filial.Codigo = sqlReader.GetString(indexCodFilial); umaOrdemServico.Filial.Nome = sqlReader.GetString(indexNomeFilial); umaOrdemServico.Cliente = new Cliente(); umaOrdemServico.Cliente.Codigo = sqlReader.GetInt32(indexCodCliente); umaOrdemServico.Cliente.Nome = sqlReader.GetString(indexNomeCliente); umaOrdemServico.Funcionario = new Funcionario(); umaOrdemServico.Funcionario.Codigo = sqlReader.GetInt32(indexCodFuncionario); umaOrdemServico.Funcionario.Nome = sqlReader.GetString(indexNomeFucnionario); umaOrdemServico.Status = new StatusOS(); umaOrdemServico.Status.Codigo = sqlReader.GetInt32(indexCodigoSituacao); umaOrdemServico.Status.Descricao = sqlReader.GetString(indexDescricaoSituacao); umaOrdemServico.Observacao = sqlReader.GetString(indexObservacao); umaOrdemServico.Projeto = new Projeto(); umaOrdemServico.Projeto.Codigo = sqlReader[indexCodProjeto] != DBNull.Value? sqlReader.GetInt32(indexCodProjeto):0; umaOrdemServico.Projeto.Descricao = sqlReader.GetString(indexNomeProjeto) != string.Empty? sqlReader.GetString(indexNomeProjeto):""; umaOrdemServico.TipoHora = new TipoHora(); umaOrdemServico.TipoHora.Codigo = sqlReader[indexCodTipoHora] != DBNull.Value? sqlReader.GetInt32(indexCodTipoHora):0; umaOrdemServico.TipoHora.Descricao = sqlReader.GetString(indexDescTipoHora) != string.Empty? sqlReader.GetString(indexDescTipoHora):""; } return umaOrdemServico; } catch (FbException ex) { throw ex; } catch (Exception ex) { throw ex; } finally { sqlCommand.Dispose(); } }
public void Excluir(OrdemServico obj) { IOrdemServicoRepositorio umOrdemServicoDAO = new OrdemServicoDAO(this._conexao); obj = umOrdemServicoDAO.Consultar(this._empresa.Codigo, this._filial.Codigo, obj.Codigo); umOrdemServicoDAO.Excluir(obj); if ((obj.Inicio != "00:00")&&(obj.Fim != "00:00")) { IMetaNegocio umaMetaNegocio = new MetaBUS(this._conexao, this._empresa, this._filial); List<Meta> lista = umaMetaNegocio.Listar(obj.Projeto); DateTime dataOrdemServico = Convert.ToDateTime(obj.Data); foreach (var meta in lista) { umOrdemServicoDAO.DecrementarNaMeta( ano: dataOrdemServico.Year, mes: dataOrdemServico.Month, meta: meta.Codigo, funcionario: obj.Funcionario.Codigo, indicador: meta.Indicador.Codigo, totalHoras: TimeSpan.Parse(obj.Total).TotalHours); } } }
protected IEnumerable<OrdemServico> ConverteDataTableEmList(DataTable dt) { int indexCodigo = dt.Columns["CODIGO"].Ordinal; int indexData = dt.Columns["DATA"].Ordinal; int indexInicio = dt.Columns["INICIO"].Ordinal; int indexFim = dt.Columns["FIM"].Ordinal; int indexTraslado = dt.Columns["TRANSLADO"].Ordinal; int indexAtividade = dt.Columns["ATIVIDADE"].Ordinal; int indexCodEmpresa = dt.Columns["CODEMPRESA"].Ordinal; int indexNomeEmpresa = dt.Columns["NOMEEMPRESA"].Ordinal; int indexCodFilial = dt.Columns["CODFILIAL"].Ordinal; int indexNomeFilial = dt.Columns["NOMEFILIAL"].Ordinal; int indexCodCliente = dt.Columns["CODCLIENTE"].Ordinal; int indexNomeCliente = dt.Columns["NOMECLIENTE"].Ordinal; int indexFaturado = dt.Columns["FATURADO"].Ordinal; int indexCodSituacao = dt.Columns["CODSITUACAO"].Ordinal; int indexNomeSituacao = dt.Columns["NOMESITUACAO"].Ordinal; int indexObservacao = dt.Columns["OBSERVACAO"].Ordinal; int indexCodProjeto = dt.Columns["CODPROJETO"].Ordinal; int indexNomeProjeto = dt.Columns["NOMEPROJETO"].Ordinal; int indexCodTipoHora = dt.Columns["CODTIPOHORA"].Ordinal; int indexDescTipoHora = dt.Columns["DESCTIPOHORA"].Ordinal; int indexCodFunc = dt.Columns["CODFUNCIONARIO"].Ordinal; int indexNomeFunc = dt.Columns["NOMEFUNCIONARIO"].Ordinal; foreach (DataRow linha in dt.Rows) { OrdemServico umaOrdemServico = new OrdemServico(); umaOrdemServico.Codigo = Convert.ToInt32(linha[indexCodigo].ToString()); umaOrdemServico.Data = Convert.ToDateTime(linha[indexData].ToString()).ToString("dd/MM/yyyy"); umaOrdemServico.Inicio = linha[indexInicio].ToString().Insert(2, ":"); umaOrdemServico.Fim = linha[indexFim].ToString().Insert(2, ":"); if (linha[indexTraslado].ToString() == "0") { umaOrdemServico.Traslado = "00:00"; } else { if (linha[indexTraslado].ToString().Length <= 4) { umaOrdemServico.Traslado = "0" + linha[indexTraslado].ToString().Insert(linha[indexTraslado].ToString().Length - 2, ":"); } else { umaOrdemServico.Traslado = linha[indexTraslado].ToString().Insert(linha[indexTraslado].ToString().Length - 2, ":"); } } umaOrdemServico.Atividade = linha[indexAtividade].ToString(); umaOrdemServico.Faturado = linha[indexFaturado].ToString() == "1" ? true : false; umaOrdemServico.Empresa = new Empresa(); umaOrdemServico.Empresa.Codigo = linha[indexCodEmpresa].ToString(); umaOrdemServico.Empresa.Nome = linha[indexNomeEmpresa].ToString(); umaOrdemServico.Filial = new Filial(); umaOrdemServico.Filial.Codigo = linha[indexCodFilial].ToString(); umaOrdemServico.Filial.Nome = linha[indexNomeFilial].ToString(); umaOrdemServico.Cliente = new Cliente(); umaOrdemServico.Cliente.Codigo = Convert.ToInt32(linha[indexCodCliente].ToString()); umaOrdemServico.Cliente.Nome = linha[indexNomeCliente].ToString(); umaOrdemServico.Status = new StatusOS(); umaOrdemServico.Status.Codigo = Convert.ToInt32(linha[indexCodSituacao]); umaOrdemServico.Status.Descricao = linha[indexNomeSituacao].ToString(); umaOrdemServico.Observacao = linha[indexObservacao].ToString(); umaOrdemServico.Projeto = new Projeto(); umaOrdemServico.Projeto.Codigo = linha[indexCodProjeto].ToString() != ""? Convert.ToInt32(linha[indexCodProjeto].ToString()):0; umaOrdemServico.Projeto.Descricao = linha[indexNomeProjeto].ToString() != ""? linha[indexNomeProjeto].ToString():""; umaOrdemServico.TipoHora = new TipoHora(); umaOrdemServico.TipoHora.Codigo = linha[indexCodTipoHora].ToString() != ""? Convert.ToInt32(linha[indexCodTipoHora].ToString()):0; umaOrdemServico.TipoHora.Descricao = linha[indexDescTipoHora].ToString() != ""? linha[indexDescTipoHora].ToString() :""; umaOrdemServico.Funcionario = new Funcionario(); umaOrdemServico.Funcionario.Codigo = Convert.ToInt32(linha[indexCodFunc]); umaOrdemServico.Funcionario.Nome = linha[indexNomeFunc].ToString(); yield return umaOrdemServico; } }
public List<OrdemServico> Pesquisar(OrdemServico os) { IOrdemServicoRepositorio umaOrdemServicoDAO = new OrdemServicoDAO(this._conexao); return umaOrdemServicoDAO.Pesquisar(this._empresa.Codigo, this._filial.Codigo, os); }
protected OrdemServico ConfigurarCompartilhamentoDeTabelas(OrdemServico obj) { bool empresa = false; bool filial = false; ProprietarioEntidade.VerificaProprietario("OrdemServico", this._conexao, ref empresa, ref filial); obj.Empresa = new Empresa(); obj.Empresa.Codigo = "**"; if (empresa) { obj.Empresa.Codigo = this._empresa.Codigo; } obj.Filial = new Filial(); obj.Filial.Codigo = "**"; if (filial) { obj.Filial.Codigo = this._filial.Codigo; } return obj; }
public bool VerificaPrazoEdicao(OrdemServico os, int diasLimite) { string data = string.Empty; if (os.Remoto) data = os.DataAte; else data = os.Data; TimeSpan diferenca = DateTime.Now.Date - Convert.ToDateTime(data).Date; int d = (int)diferenca.TotalDays; return (d <= diasLimite); }
public ActionResult GerarOS(int id) { try { ViewBag.Title = "Gerar Ordem de Serviço - Agendamentos"; Conexao.Ativar(true); Usuario umUsuario = (Usuario)Session["UsuarioLogado"]; IAgendamentoNegocio umAgendamentoNegocio = new AgendamentoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial); Agendamento umAgendamento = umAgendamentoNegocio.Consultar(id); OrdemServico umaOS = new OrdemServico(); umaOS.Clientes = new ClienteBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar(); umaOS.Cliente = umAgendamento.Cliente; 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.Projeto = new Projeto(); umaOS.TipoHoras = new TipoHoraBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar(); umaOS.TipoHora = new TipoHora(); umaOS.Data = umAgendamento.DataPrevista; umaOS.Inicio = umAgendamento.InicioPrevisto; umaOS.Fim = umAgendamento.FimPrevisto; umaOS.Traslado = umAgendamento.TrasladoPrevisto; Session["FuncAgendamento"] = umAgendamento.Funcionario; if (umUsuario.IsAdministrador) { return View(umaOS); } else { if (umAgendamento.Funcionario.Codigo == umUsuario.Funcionario.Codigo) { return View(umaOS); } 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); } } }
private void VerificaOsRemota(ref OrdemServico umaOS, Usuario usuario) { if (umaOS.Inicio.Equals("00:00") && umaOS.Fim.Equals("00:00")) { IOrdemServicoRemotoNegocio umaOrdemServicoRemotaBus = new OrdemServicoRemotoBUS(Conexao.Instacia, usuario.Funcionario.Empresa, usuario.Funcionario.Filial); OrdemServicoRemoto umaOsRemota = umaOrdemServicoRemotaBus.Consultar(umaOS.Codigo); umaOS.DataDe = umaOsRemota.DataInicio.ToString("dd/MM/yyyy"); umaOS.DataAte = umaOsRemota.DataFim.ToString("dd/MM/yyyy"); umaOS.Total = umaOsRemota.Total; umaOS.Remoto = true; } }