public void Cadastrar(OrdemServicoRemoto obj)
        {
            this._business.Cadastrar(obj.OrdemServico);
            obj.OrdemServico.Codigo = this._business.UltimoId();
            this._repository.Cadastrar(obj);

            IMetaNegocio umaMetaNegocio = new MetaBUS(this._connection, this.empresa, this.filial);
            List<Meta> lista = umaMetaNegocio.Listar(obj.OrdemServico.Projeto);

            DateTime dataOrdemServico = Convert.ToDateTime(obj.OrdemServico.Data);

            IOrdemServicoRepositorio umOrdemServicoDAO = new OrdemServicoDAO(this._connection);

            foreach (var meta in lista)
            {
                DateTime horasAcimaDeCem = new DateTime();
                horasAcimaDeCem = horasAcimaDeCem.AddHours(Convert.ToInt32(obj.Total.Split(':')[0]));
                horasAcimaDeCem = horasAcimaDeCem.AddMinutes(Convert.ToInt32(obj.Total.Split(':')[1]));
                TimeSpan ticks = new TimeSpan(horasAcimaDeCem.Ticks);

                umOrdemServicoDAO.AcrescentarNaMeta(
                    ano: dataOrdemServico.Year,
                    mes: dataOrdemServico.Month,
                    meta: meta.Codigo,
                    funcionario: obj.OrdemServico.Funcionario.Codigo,
                    indicador: meta.Indicador.Codigo,
                    totalHoras:ticks.TotalHours);
            }
        }
        //
        // GET: /Meta/

        public ActionResult Index()
        {
            try
            {
                ViewBag.Title = "Listar - Metas";
                Conexao.Ativar(true);
                Usuario umUsuario = (Usuario)Session["UsuarioLogado"];
                IMetaNegocio umaMetaBUS = new MetaBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial);
                List<Meta> lista = new List<Meta>();

                if (umUsuario.IsAdministrador)
                {
                    lista.AddRange(umaMetaBUS.Listar());
                }
                else
                {
                    lista.AddRange(umaMetaBUS.Listar(umUsuario.Funcionario.Codigo));
                }

                return View(lista);
            }
            catch (Exception ex)
            {
                return RedirectToAction("Index", new { st = "er" });
            }
            finally
            {
                if (Conexao.Instacia.State == System.Data.ConnectionState.Open)
                {
                    Conexao.Ativar(false);
                }
            }
        }
Exemple #3
0
 public void ConsultarMetasTest()
 {
     this.CriaInstancia();
     Empresa umaEmpresa = new Empresa();
     umaEmpresa.Codigo = "99";
     Filial umaFilial = new Filial();
     umaFilial.Codigo = "99";
     IMetaNegocio umaMetaBUS = new MetaBUS(Conexao.Instacia, umaEmpresa, umaFilial);
     Meta umaMeta = umaMetaBUS.Consultar(4);
 }
Exemple #4
0
 public void PesquisarMetasTest()
 {
     this.CriaInstancia();
     Empresa umaEmpresa = new Empresa();
     umaEmpresa.Codigo = "99";
     Filial umaFilial = new Filial();
     umaFilial.Codigo = "99";
     IMetaNegocio umaMetaBUS = new MetaBUS(Conexao.Instacia, umaEmpresa, umaFilial);
     List<Meta> lista = umaMetaBUS.Pesquisar(1);
 }
        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
                                 );
                        }
                    }
                }
            }
        }
Exemple #6
0
 public void CadastrarMetasTest()
 {
     this.CriaInstancia();
     Empresa umaEmpresa = new Empresa();
     umaEmpresa.Codigo = "99";
     Filial umaFilial = new Filial();
     umaFilial.Codigo = "99";
     IMetaNegocio umaMetaBUS = new MetaBUS(Conexao.Instacia, umaEmpresa, umaFilial);
     Meta umaMeta = new Meta();
     umaMeta.Empresa = umaEmpresa;
     umaMeta.Filial = umaFilial;
     umaMeta.Descricao = "sasdsadsadasd";
     umaMeta.Indicador = new Indicador { Codigo = 1 };
     umaMeta.Funcionario = new Funcionario { Codigo = 2 };
     umaMeta.DataCadastro = DateTime.Now;
     umaMetaBUS.Cadastrar(umaMeta);
 }
        //
        // GET: /Projeto/Create

        public ActionResult Create()
        {

            try
            {
                ViewBag.Title = "Projeto - Cadastro";
                Conexao.Ativar(true);
                Usuario umUsuario = (Usuario)Session["UsuarioLogado"];
                List<Cliente> lista = new ClienteBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar();
                List<SelectListItem> listaClientes = new List<SelectListItem>();
                listaClientes.Add(new SelectListItem { Value = "0", Text = "Selecione um cliente" });
                foreach (Cliente cliente in lista)
                {
                    SelectListItem item = new SelectListItem();
                    item.Value = cliente.Codigo.ToString();
                    item.Text = cliente.Nome;
                    listaClientes.Add(item);
                }
                ViewBag.Clientes = listaClientes;

                List<Meta> listaM = new MetaBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar();
                List<SelectListItem> listaMetas = new List<SelectListItem>();
                listaMetas.Add(new SelectListItem { Value = "0", Text = "Selecione uma Meta" });
                foreach (Meta meta in listaM)
                {
                    SelectListItem item = new SelectListItem();
                    item.Value = meta.Codigo.ToString();
                    item.Text = meta.Descricao;
                    listaMetas.Add(item);
                }

                ViewBag.Metas = listaMetas;
                return View();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                Conexao.Ativar(false);
            }
        }
        public void Editar(Projeto obj)
        {
            obj = this.ConfigurarCompartilhamentoDeTabelas(obj);
            IProjetoRepositorio umProjetoDAO = new ProjetoDAO(this._conexao);
            umProjetoDAO.Editar(obj);

            if (obj.Meta != null)
            {
                int i = 0;
                IMetaNegocio umaMetaBus = new MetaBUS(this._conexao, this._empresa, this._filial);
                IPeriodoNegocio umPeriodoNegocio = new PeriodoBUS(Conexao.Instacia, this._empresa, this._filial);
                Meta umaMeta = umaMetaBus.Consultar(obj.Meta.Codigo);

                foreach (var periodo in umaMeta.Periodos)
                {
                    periodo.Meta = umaMeta;
                    periodo.Realizado = umaMetaBus.ApurarMetasPorMes(periodo.Ano, periodo.Mes, umaMeta.Funcionario, obj, umaMeta.Indicador);
                    umPeriodoNegocio.Editar(periodo);
                }
            }
        }
        //
        // GET: /Meta/Details/5

        public ActionResult Details(int id)
        {
            try
            {
                ViewBag.Title = "Detalhes - Metas";
                Conexao.Ativar(true);
                Usuario umUsuario = (Usuario)Session["UsuarioLogado"];
                IMetaNegocio umaMetaBUS = new MetaBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial);
                Meta umaMeta = null;

                if (umUsuario.IsAdministrador)
                {
                    umaMeta = umaMetaBUS.Consultar(id);
                    Session["Meta"] = umaMeta;
                    return View(umaMeta);
                }
                else
                {
                    umaMeta = umaMetaBUS.Consultar(id);

                    if (umUsuario.Funcionario.Codigo == umaMeta.Funcionario.Codigo)
                    {
                        return View(umaMeta);
                    }                       
                }

                return RedirectToAction("Index", new { st = "er" });
            }
            catch (Exception ex)
            {
                return RedirectToAction("Index", new { st = "er" });
            }
            finally
            {
                if (Conexao.Instacia.State == System.Data.ConnectionState.Open)
                {
                    Conexao.Ativar(false);
                }
            }
        }
        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 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);
                }
            }
        }
        //
        // GET: /Projeto/Edit/5

        public ActionResult Edit(int id)
        {
            try
            {
                ViewBag.Title = "Projeto - Edição";
                Conexao.Ativar(true);
                Usuario umUsuario = (Usuario)Session["UsuarioLogado"];
                Projeto umProjeto = new ProjetoBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Consultar(id);

                List<Cliente> lista = new ClienteBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar();
                List<SelectListItem> listaClientes = new List<SelectListItem>();
                listaClientes.Add(new SelectListItem { Value = "0", Text = "Selecione um cliente" });
                foreach (Cliente cliente in lista)
                {
                    SelectListItem item = new SelectListItem();
                    item.Value = cliente.Codigo.ToString();
                    item.Text = cliente.Nome;

                    if (cliente.Codigo == umProjeto.Cliente.Codigo)
                    {
                        item.Selected = true;
                    }

                    listaClientes.Add(item);
                }

                ViewBag.Clientes = listaClientes;

                List<Meta> listaM = new MetaBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial).Listar();
                List<SelectListItem> listaMetas = new List<SelectListItem>();
                listaMetas.Add(new SelectListItem { Value = "0", Text = "Selecione uma Meta" });
                foreach (Meta meta in listaM)
                {
                    SelectListItem item = new SelectListItem();
                    item.Value = meta.Codigo.ToString();
                    item.Text = meta.Descricao;

                    if ((umProjeto.Meta != null) && (umProjeto.Meta.Codigo != 0) && (umProjeto.Meta.Codigo == meta.Codigo))
                    {
                        item.Selected = true;
                    }

                    listaMetas.Add(item);
                }

                ViewBag.Metas = listaMetas;

                return View(umProjeto);
            }
            catch (Exception)
            {
                return RedirectToAction("Index", new { st = "er" });
            }
            finally
            {
                Conexao.Ativar(false);
            }
        }
Exemple #13
0
 public void ExcluirMetasTest()
 {
     this.CriaInstancia();
     Empresa umaEmpresa = new Empresa();
     umaEmpresa.Codigo = "99";
     Filial umaFilial = new Filial();
     umaFilial.Codigo = "99";
     IMetaNegocio umaMetaBUS = new MetaBUS(Conexao.Instacia, umaEmpresa, umaFilial); 
     Meta umaMeta = new Meta();
     umaMeta.Empresa = umaEmpresa;
     umaMeta.Filial = umaFilial;
     umaMeta.Codigo = 2;
     umaMetaBUS.Excluir(umaMeta);
 }
        public void Editar(OrdemServicoRemoto obj)
        {
            IOrdemServicoRemotoNegocio umaOrdemServicoRemotaBus = new OrdemServicoRemotoBUS(Conexao.Instacia, this.empresa, this.filial);

            OrdemServicoRemoto objAnterior = umaOrdemServicoRemotaBus.Consultar(obj.OrdemServico.Codigo);

            this._business.Editar(obj.OrdemServico);
            this._repository.Editar(obj);
            IMetaNegocio umaMetaNegocio = new MetaBUS(this._connection, this.empresa, this.filial);
            List<Meta> lista = umaMetaNegocio.Listar(obj.OrdemServico.Projeto);

            DateTime dataOrdemServico = Convert.ToDateTime(obj.OrdemServico.Data);

            IOrdemServicoRepositorio umOrdemServicoDAO = new OrdemServicoDAO(this._connection);

            foreach (var meta in lista)
            {
                if (meta.Indicador.Codigo == 1)
                {

                    DateTime horasAcimaDeCemAtual = new DateTime();
                    horasAcimaDeCemAtual = horasAcimaDeCemAtual.AddHours(Convert.ToInt32(obj.Total.Split(':')[0]));
                    horasAcimaDeCemAtual = horasAcimaDeCemAtual.AddMinutes(Convert.ToInt32(obj.Total.Split(':')[1]));
                    TimeSpan ticksAtual = new TimeSpan(horasAcimaDeCemAtual.Ticks);

                    double totalAtual = ticksAtual.TotalHours;

                    DateTime horasAcimaDeCemAnterior = new DateTime();
                    horasAcimaDeCemAnterior = horasAcimaDeCemAnterior.AddHours(Convert.ToInt32(objAnterior.Total.Split(':')[0]));
                    horasAcimaDeCemAnterior = horasAcimaDeCemAnterior.AddMinutes(Convert.ToInt32(objAnterior.Total.Split(':')[1]));
                    TimeSpan ticksAnterior = new TimeSpan(horasAcimaDeCemAnterior.Ticks);

                    double totalAnterior = ticksAnterior.TotalHours;

                    if (totalAtual > totalAnterior)
                    {
                        umOrdemServicoDAO.AcrescentarNaMeta
                            (
                                ano: dataOrdemServico.Year,
                                mes: dataOrdemServico.Month,
                                meta: meta.Codigo,
                                funcionario: obj.OrdemServico.Funcionario.Codigo,
                                indicador: meta.Indicador.Codigo,
                                totalHoras: totalAtual - totalAnterior
                            );
                    }
                    else
                    {
                        umOrdemServicoDAO.DecrementarNaMeta
                             (
                                 ano: dataOrdemServico.Year,
                                 mes: dataOrdemServico.Month,
                                 meta: meta.Codigo,
                                 funcionario: obj.OrdemServico.Funcionario.Codigo,
                                 indicador: meta.Indicador.Codigo,
                                 totalHoras: totalAnterior - totalAtual
                             );
                    }
                }
            }
        }
 public ActionResult Create(Meta meta)        
 {
     try
      {
         Conexao.Ativar(true);
         Usuario umUsuario = (Usuario)Session["UsuarioLogado"];
         IMetaNegocio umaMetaBUS = new MetaBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial);
         meta.DataCadastro = DateTime.Now;
         umaMetaBUS.Cadastrar(meta);
         return RedirectToAction("Index", new { st = "ok" });
     }
     catch
     {
         return RedirectToAction("Index", new { st = "er" });
     }
     finally
     {
         if (Conexao.Instacia.State == System.Data.ConnectionState.Open)
         {
             Conexao.Ativar(false);
         }
     }
 }
        public ActionResult RelatorioDeApuracaoDeMetas()
        {
            try
            {
                ViewBag.Title = "Relatório de Apuração de Metas - Metas";
                Conexao.Ativar(true);
                Usuario umUsuario = (Usuario)Session["UsuarioLogado"];

                if (umUsuario.IsAdministrador)
                {
                    IMetaNegocio umaMetaBUS = new MetaBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial);
                    string query = "SELECT META.EMPRESA, META.FILIAL, META.CODIGO, META.DESCRICAO, META.DATACADASTRO, "+
                        "INDICADOR.CODIGO AS CODINDICADOR, INDICADOR.DESCRICAO AS DESCINDICADOR, "+
                        "FUNCIONARIOS.CODIGO AS CODFUNC, FUNCIONARIOS.NOME AS NOMEFUNC, "+
                        "PERIODO.ANO, PERIODO.MES, PERIODO.ESPERADO, 'Esperado' AS DESCESPERADO, "+
                        "PERIODO.REALIZADO, 'Realizado' AS DESCREALIZADO "+
                        "FROM PERIODO "+
                        "INNER JOIN META ON PERIODO.META = META.CODIGO "+
                        "INNER JOIN INDICADOR ON INDICADOR.CODIGO = META.INDICADOR "+
                        "INNER JOIN FUNCIONARIOS ON FUNCIONARIOS.CODIGO = META.FUNCIONARIO "+
                        "LEFT JOIN SYS_COMPANY ON SYS_COMPANY.EMPRESA = META.EMPRESA "+
                        "LEFT JOIN SYS_BRANCH ON SYS_BRANCH.FILIAL = META.FILIAL "+
                        "WHERE META.FUNCIONARIO = @FUNCIONARIO";

                    Meta umaMeta = (Meta)Session["Meta"];

                    FbParameter[] parameters = new FbParameter[1];
                    parameters[0] = new FbParameter();
                    parameters[0].ParameterName = "@FUNCIONARIO";
                    parameters[0].Value = umaMeta.Funcionario.Codigo;

                    DataTable dtRelatorio = umaMetaBUS.GerarRelatorio(query, parameters);

                    if (dtRelatorio.Rows.Count != 0)
                    {
                        WebReport relatorio = Relatorio.GerarRelatorioMetas("~/Relatorios/ApuracaoMetas.frx", dtRelatorio);
                        relatorio.Width = 800;
                        relatorio.Height = 1200;
                        ViewBag.Relatorio = relatorio;
                    }
                    else
                    {
                        ViewBag.Relatorio = null;
                    }

                    return View();
                }

                return RedirectToAction("Index", new { st = "er" });
            }
            catch (Exception ex)
            {
                return RedirectToAction("Index", new { st = "er" });
            }
            finally
            {
                Conexao.Ativar(false);
            }

            return View();
        }
 public ActionResult Delete(int id, Meta meta)
 {
     try
     {
         Conexao.Ativar(true);
         Usuario umUsuario = (Usuario)Session["UsuarioLogado"];
         IMetaNegocio umaMetaBus = new MetaBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial);
         meta.Codigo = id;
         meta.Funcionario = (Funcionario)Session["Func"];
         umaMetaBus.Excluir(meta);
         return RedirectToAction("Index", new { st = "ok" });
     }
     catch
     {
         return RedirectToAction("Index", new { st = "er" });
     }
     finally
     {
         if (Conexao.Instacia.State == System.Data.ConnectionState.Open)
         {
             Conexao.Ativar(false);
         }
     }
 }
        //
        // GET: /Meta/Edit/5

        public ActionResult Edit(int id)
        {
            try
            {

                ViewBag.Title = "Edição - Metas";
                Conexao.Ativar(true);
                Usuario umUsuario = (Usuario)Session["UsuarioLogado"];

                if (umUsuario.IsAdministrador)
                {
                    this.CarregarIndicadores(umUsuario);
                    this.CarregarFuncionarios(umUsuario);

                    IMetaNegocio umaMetaBUS = new MetaBUS(Conexao.Instacia, umUsuario.Funcionario.Empresa, umUsuario.Funcionario.Filial);

                    if (umUsuario.IsAdministrador)
                    {
                        Meta umaMeta = umaMetaBUS.Consultar(id);
                        Session["Func"] = umaMeta.Funcionario;
                        return View(umaMeta);
                    }

                    return RedirectToAction("Index", new { st = "er" });
                }
                else
                {
                    return RedirectToAction("Index", new { st = "er" });
                }
            }
            catch (Exception)
            {
                return RedirectToAction("Index", new { st = "er" });
            }
            finally
            {
                if (Conexao.Instacia.State == System.Data.ConnectionState.Open)
                {
                    Conexao.Ativar(false);
                }
            }
        }