Example #1
0
        public IActionResult Fechamento(string id)
        {
            try
            {
                Marcacao marcacao = new Marcacao();


                marcacao = _marcacaoServiceRepository.ObterMarcacao(id);
                var listalancamento = _lancamentoerviceRepository.ObterListaLancamentoPorCodMarcacoEMatricula(id, User.GetDados("Matricula")).Distinct(new LancamentoComparer());
                var jornadaTrabalho = _jornadaTrbServiceRepository.ObterJornadaPorCodigo(marcacao.codigojornada);

                var configuracao        = _configuracao.ObterConfiguracao();
                var viewModelFechamento = _mapper.Map <ViewModelFechamento>(_fechamentoNegocio.CalcularTotalGeralMensalPorDia(listalancamento.OrderBy(c => c.DateLancamento), jornadaTrabalho, configuracao, marcacao.MatUsuario, marcacao.Filial, id));
                viewModelFechamento.CodigoMarcacao = id;
                return(View("Fechamento", viewModelFechamento));
            }
            catch (Exception e)
            {
                return(Json(new
                {
                    msg = e.Message,
                    erro = true
                }));
            }
        }
Example #2
0
        private List <Fechamento> CalcularFechamentoPorData(string id)
        {
            List <Fechamento> listaFechamentoPorData = new List <Fechamento>();
            Marcacao          marcacao = new Marcacao();

            marcacao = _marcacaoServiceRepository.ObterMarcacao(id);
            var listdeLancamentoMensal = _lancamentoerviceRepository.ObterListaLancamentoPorCodMarcacoEMatricula(id, User.GetDados("Matricula")).Distinct(new LancamentoComparer());
            var jornadaTrabalho        = _jornadaTrbServiceRepository.ObterJornadaPorCodigo(marcacao.codigojornada);
            var configuracao           = _configuracao.ObterConfiguracao();

            listaFechamentoPorData = _lancamentoNegocio.CalcularLancamentoPorData(listdeLancamentoMensal, jornadaTrabalho, configuracao, User.GetDados("Matricula"), User.GetDados("Filial"), id);

            return(listaFechamentoPorData);
        }
Example #3
0
 // GET: Configuracao
 public ActionResult Index()
 {
     try
     {
         List <ViewModelConfiguracao> listaConfig = new List <ViewModelConfiguracao>();
         var viewModelConfiguracao = _mapper.Map <ViewModelConfiguracao>(_config.ObterConfiguracao());
         listaConfig.Add(viewModelConfiguracao);
         return(View(listaConfig));
     }
     catch (Exception e)
     {
         TempData["Createfalse"] = e.Message;
         return(View());
     }
 }
        public ActionResult Create(ViewModelMacacao marcacao)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Marcacao                aberturaMarcacao = new Marcacao();
                    ViewModelLancamento     lancamento       = new ViewModelLancamento();
                    JornadaTrabalho         jornada          = new JornadaTrabalho();
                    CodDivergenciaViewModel codiv            = new CodDivergenciaViewModel();
                    if (marcacao.DataDialancamento != null)
                    {
                        marcacao.DataDia = marcacao.DataDialancamento?.ToString("yyyy-MM-dd");
                    }
                    string codigoAbertura     = aberturaMarcacao.AbeturaExiste(_marcacao.ObterListMarcacaoPorMatUser(User.GetDados("Matricula")), marcacao.DataDia.ToDia(), marcacao.DataDia.ToAno());
                    string codJornadaTrabalho = jornada.ValidarJornadaTrabalhoExisteParaLancamento(_jornadaTrbServiceRepository.ObterListJornada(), marcacao.DataDia.ToDateProtheusReverse());

                    if (codigoAbertura == "0")
                    {
                        var configuracao = _configuracao.ObterConfiguracao();
                        marcacao.DataInicio    = ObterPrimeiroDia(configuracao, marcacao);
                        marcacao.DataFim       = ObterDiaFim(configuracao, marcacao);
                        marcacao.AnoMes        = marcacao.DataDia.ToShortDateProtheus();
                        marcacao.MatUsuario    = User.GetDados("Matricula");
                        marcacao.Filial        = User.GetDados("Filial");
                        marcacao.Status        = Constantes.ABERTO;
                        marcacao.codigojornada = codJornadaTrabalho;
                        _marcacao.SalvarMarcacao(_mapper.Map <Marcacao>(marcacao));
                    }

                    if (marcacao.Lancamento != null)
                    {
                        marcacao.Lancamento.ValidaHoraLancamento();
                        marcacao.Lancamento.Observacao = marcacao.Lancamento.Observacao.ReplaceSaveObservacaoProthues();
                        var codiviergencia = _prothuesService.ObterCodigoDivergenciaPorCodigo(Convert.ToString(marcacao.Lancamento.CodDivergencia));
                        if (marcacao.Lancamento.CodDivergencia != null && marcacao.Lancamento.CodDivergencia != 0)
                        {
                            codiv.ValidaCodigoDivergencia(codiviergencia);
                            codiv.ValidaCodigoDivergenciaConstante(codiviergencia.Constant, marcacao.Lancamento.CodDivergencia);
                        }
                        lancamento = marcacao.Lancamento;
                        lancamento.ValidaHorasLancamentoOutraMarcacao(_lancamentoerviceRepository.ObterLancamento(marcacao.DataDia.ToDateProtheus(), User.GetDados("Matricula")));
                        marcacao.Lancamento.Codigo          = aberturaMarcacao.AbeturaExiste(_marcacao.ObterListMarcacaoPorMatUser(User.GetDados("Matricula")), marcacao.DataDia.ToDia(), marcacao.DataDia.ToAno());
                        marcacao.Lancamento.codEmpredimento = marcacao.Lancamento.EmpreendimentoIds[0].Substring(0, marcacao.Lancamento.EmpreendimentoIds[0].IndexOf('-'));
                        marcacao.Lancamento.Fase            = marcacao.Lancamento.EmpreendimentoIds[0].Substring(marcacao.Lancamento.EmpreendimentoIds[0].IndexOf('-') + 1);
                        _lancamentoerviceRepository.SalvarLancamento(_mapper.Map <Lancamento>(marcacao.Lancamento), User.GetDados("Filial"), marcacao.DataDia.ToDateProtheus());
                    }
                    return(Json(new { sucesso = "Lançamento cadastrado com sucesso!" }));
                }

                return(Json(new
                {
                    msg = string.Join("\n", ModelState.Values
                                      .SelectMany(x => x.Errors)
                                      .Select(x => x.ErrorMessage)),
                    erro = true
                }));
            }
            catch (Exception e)
            {
                return(Json(new { msg = e.Message, erro = true }));
            }
        }