public ActionResult ObterDadosLicencaPorteUsoMotosserra(Protocolo protocolo)
 {
     return(Json(new { @Destinatarios = _busTitulo.ObterDestinatarios(protocolo.Id.GetValueOrDefault()) }, JsonRequestBehavior.AllowGet));
 }
Пример #2
0
 public void SalvarSemCommit(Protocolo protocolo)
 {
     repositorio.SalvarSemCommit(protocolo);
 }
 public ActionResult ObterDadosAutorizacaoDestinatarios(Protocolo protocolo)
 {
     return(Json(new { @Destinatarios = _busTitulo.ObterDestinatarios(protocolo.Id.GetValueOrDefault()) }, JsonRequestBehavior.AllowGet));
 }
Пример #4
0
 public SincronizacaoDiarioClasseSaidaDTO()
 {
     this.Status    = 0;
     this.Date      = DateTime.Now.ToString(Util.Util.mascaraData);
     this.Protocolo = new Protocolo();
 }
Пример #5
0
 public void Salvar(Protocolo model)
 {
     repositorio.Salvar(model);
 }
Пример #6
0
        private void ImprimirProtocolo(Protocolo oProtocolo, string tipo)
        {
            string parametroPaciente  = "";
            string parametroProtocolo = "";


            ParameterDiscreteValue encabezado1 = new ParameterDiscreteValue();
            ParameterDiscreteValue encabezado2 = new ParameterDiscreteValue();
            ParameterDiscreteValue encabezado3 = new ParameterDiscreteValue();

            ParameterDiscreteValue ImprimirHojasSeparadas = new ParameterDiscreteValue();


            ParameterDiscreteValue tipoNumeracion = new ParameterDiscreteValue();

            tipoNumeracion.Value = oCon.TipoNumeracionProtocolo;


            ///////Redefinir el tipo de firma electronica (Serían dos reportes distintos)
            ParameterDiscreteValue conPie = new ParameterDiscreteValue();



            ParameterDiscreteValue conLogo = new ParameterDiscreteValue();

            if (oCon.RutaLogo != "")
            {
                conLogo.Value = true;
            }
            else
            {
                conLogo.Value = false;
            }

            if (oProtocolo.IdTipoServicio.IdTipoServicio == 1) //laboratorio
            {
                encabezado1.Value = oCon.EncabezadoLinea1;
                encabezado2.Value = oCon.EncabezadoLinea2;
                encabezado3.Value = oCon.EncabezadoLinea3;


                if (oCon.ResultadoEdad)
                {
                    parametroPaciente = "1";
                }
                else
                {
                    parametroPaciente = "0";
                }
                if (oCon.ResultadoFNacimiento)
                {
                    parametroPaciente += "1";
                }
                else
                {
                    parametroPaciente += "0";
                }
                if (oCon.ResultadoSexo)
                {
                    parametroPaciente += "1";
                }
                else
                {
                    parametroPaciente += "0";
                }
                if (oCon.ResultadoDNI)
                {
                    parametroPaciente += "1";
                }
                else
                {
                    parametroPaciente += "0";
                }
                if (oCon.ResultadoHC)
                {
                    parametroPaciente += "1";
                }
                else
                {
                    parametroPaciente += "0";
                }
                if (oCon.ResultadoDomicilio)
                {
                    parametroPaciente += "1";
                }
                else
                {
                    parametroPaciente += "0";
                }


                if (oCon.ResultadoNumeroRegistro)
                {
                    parametroProtocolo = "1";
                }
                else
                {
                    parametroProtocolo = "0";
                }
                if (oCon.ResultadoFechaEntrega)
                {
                    parametroProtocolo += "1";
                }
                else
                {
                    parametroProtocolo += "0";
                }
                if (oCon.ResultadoSector)
                {
                    parametroProtocolo += "1";
                }
                else
                {
                    parametroProtocolo += "0";
                }
                if (oCon.ResultadoSolicitante)
                {
                    parametroProtocolo += "1";
                }
                else
                {
                    parametroProtocolo += "0";
                }
                if (oCon.ResultadoOrigen)
                {
                    parametroProtocolo += "1";
                }
                else
                {
                    parametroProtocolo += "0";
                }
                if (oCon.ResultadoPrioridad)
                {
                    parametroProtocolo += "1";
                }
                else
                {
                    parametroProtocolo += "0";
                }



                ImprimirHojasSeparadas.Value = oCon.TipoImpresionResultado;

                conPie.Value = oCon.FirmaElectronicaLaboratorio.ToString();

                if (oCon.OrdenImpresionLaboratorio)
                {
                    if (oCon.TipoHojaImpresionResultado == "A4")
                    {
                        oCr.Report.FileName = "../Informes/ResultadoSinOrden.rpt";
                    }
                    else
                    {
                        oCr.Report.FileName = "../Informes/ResultadoSinOrdenA5.rpt";
                    }
                }
                else
                {
                    if (oCon.TipoHojaImpresionResultado == "A4")
                    {
                        oCr.Report.FileName = "../Informes/Resultado.rpt";
                    }
                    else
                    {
                        oCr.Report.FileName = "../Informes/ResultadoA5.rpt";
                    }
                }
            }
            if (oProtocolo.IdTipoServicio.IdTipoServicio == 3) //microbilogia
            {
                encabezado1.Value = oCon.EncabezadoLinea1Microbiologia;
                encabezado2.Value = oCon.EncabezadoLinea2Microbiologia;
                encabezado3.Value = oCon.EncabezadoLinea3Microbiologia;


                if (oCon.ResultadoEdadMicrobiologia)
                {
                    parametroPaciente = "1";
                }
                else
                {
                    parametroPaciente = "0";
                }
                if (oCon.ResultadoFNacimientoMicrobiologia)
                {
                    parametroPaciente += "1";
                }
                else
                {
                    parametroPaciente += "0";
                }
                if (oCon.ResultadoSexoMicrobiologia)
                {
                    parametroPaciente += "1";
                }
                else
                {
                    parametroPaciente += "0";
                }
                if (oCon.ResultadoDNIMicrobiologia)
                {
                    parametroPaciente += "1";
                }
                else
                {
                    parametroPaciente += "0";
                }
                if (oCon.ResultadoHCMicrobiologia)
                {
                    parametroPaciente += "1";
                }
                else
                {
                    parametroPaciente += "0";
                }
                if (oCon.ResultadoDomicilioMicrobiologia)
                {
                    parametroPaciente += "1";
                }
                else
                {
                    parametroPaciente += "0";
                }


                if (oCon.ResultadoNumeroRegistroMicrobiologia)
                {
                    parametroProtocolo = "1";
                }
                else
                {
                    parametroProtocolo = "0";
                }
                if (oCon.ResultadoFechaEntregaMicrobiologia)
                {
                    parametroProtocolo += "1";
                }
                else
                {
                    parametroProtocolo += "0";
                }
                if (oCon.ResultadoSectorMicrobiologia)
                {
                    parametroProtocolo += "1";
                }
                else
                {
                    parametroProtocolo += "0";
                }
                if (oCon.ResultadoSolicitanteMicrobiologia)
                {
                    parametroProtocolo += "1";
                }
                else
                {
                    parametroProtocolo += "0";
                }
                if (oCon.ResultadoOrigenMicrobiologia)
                {
                    parametroProtocolo += "1";
                }
                else
                {
                    parametroProtocolo += "0";
                }
                if (oCon.ResultadoPrioridadMicrobiologia)
                {
                    parametroProtocolo += "1";
                }
                else
                {
                    parametroProtocolo += "0";
                }

                ImprimirHojasSeparadas.Value = oCon.TipoImpresionResultadoMicrobiologia;

                conPie.Value = oCon.FirmaElectronicaMicrobiologia.ToString();

                if (oCon.TipoHojaImpresionResultadoMicrobiologia == "A4")
                {
                    oCr.Report.FileName = "../Informes/ResultadoMicrobiologia.rpt";
                }
                else
                {
                    oCr.Report.FileName = "../Informes/ResultadoMicrobiologiaA5.rpt";
                }
            }



            ParameterDiscreteValue datosPaciente = new ParameterDiscreteValue();

            datosPaciente.Value = parametroPaciente;

            ParameterDiscreteValue datosProtocolo = new ParameterDiscreteValue();

            datosProtocolo.Value = parametroProtocolo;



            string m_filtro = " WHERE idProtocolo =" + oProtocolo.IdProtocolo;



            if (oProtocolo.IdTipoServicio.IdTipoServicio == 1)
            {
                if (Request["idArea"].ToString() != "0")
                {
                    m_filtro += " and idArea=" + Request["idArea"].ToString();
                }
                //if (Request["Operacion"].ToString() != "Valida")
                //{
                //    if (Request["validado"].ToString() == "1") m_filtro += " and (idusuariovalida> 0 or idUsuarioValidaObservacion>0 )";
                //}

                //if (Request["Operacion"].ToString() == "HC")
                //{
                m_filtro += " and (idusuariovalida> 0 or idUsuarioValidaObservacion>0 )";
                //}

                //if (Request["Operacion"].ToString() == "Valida")
                //{
                //    //    m_filtro += " and (idusuariovalida> 0 or idUsuarioValidaObservacion>0 )"; // los validados hasta ahora
                //    if ((rdbImprimir.SelectedValue == "0") && (Session["tildados"].ToString() != ""))// solo los marcados
                //        m_filtro += " and idSubItem in (" + Session["tildados"] + ")";
                //    if (Session["tildados"].ToString() == "") m_filtro += " and (idusuariovalida> 0 or idUsuarioValidaObservacion>0 )";

                //}
            }

            oCr.ReportDocument.SetDataSource(oProtocolo.GetDataSet("Resultados", m_filtro, oProtocolo.IdTipoServicio.IdTipoServicio));
            oCr.ReportDocument.ParameterFields[0].CurrentValues.Add(encabezado1);
            oCr.ReportDocument.ParameterFields[1].CurrentValues.Add(encabezado2);
            oCr.ReportDocument.ParameterFields[2].CurrentValues.Add(encabezado3);
            oCr.ReportDocument.ParameterFields[3].CurrentValues.Add(conLogo);
            oCr.ReportDocument.ParameterFields[4].CurrentValues.Add(datosPaciente);
            oCr.ReportDocument.ParameterFields[5].CurrentValues.Add(ImprimirHojasSeparadas);
            oCr.ReportDocument.ParameterFields[6].CurrentValues.Add(tipoNumeracion);
            oCr.ReportDocument.ParameterFields[7].CurrentValues.Add(conPie);
            oCr.ReportDocument.ParameterFields[8].CurrentValues.Add(datosProtocolo);



            oCr.DataBind();

            string s_nombreProtocolo = "";

            switch (oCon.TipoNumeracionProtocolo)
            {
            case 0: s_nombreProtocolo = oProtocolo.Numero.ToString(); break;

            case 1: s_nombreProtocolo = oProtocolo.NumeroDiario.ToString(); break;

            case 2: s_nombreProtocolo = oProtocolo.PrefijoSector + oProtocolo.NumeroSector.ToString(); break;

            case 3: s_nombreProtocolo = oProtocolo.NumeroTipoServicio.ToString(); break;
            }

            //if (tipo != "PDF")
            //{
            //     oProtocolo.GrabarAuditoriaProtocolo("Imprime Resultados", int.Parse(Session["idUsuario"].ToString()));
            Session["Impresora"] = ddlImpresora.SelectedValue;

            oCr.ReportDocument.PrintOptions.PrinterName = ddlImpresora.SelectedValue;
            oCr.ReportDocument.PrintToPrinter(1, false, 0, 0);

            //oProtocolo.Impreso = true;
            //oProtocolo.Save();
            //}
            //else
            //{
            //    oProtocolo.GrabarAuditoriaProtocolo("Genera PDF Resultados", int.Parse(Session["idUsuario"].ToString()));
            //    MemoryStream oStream; // using System.IO
            //    oStream = (MemoryStream)oCr.ReportDocument.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
            //    Response.Clear();
            //    Response.Buffer = true;
            //    Response.ContentType = "application/pdf";
            //    Response.AddHeader("Content-Disposition", "attachment;filename=" + s_nombreProtocolo + ".pdf");

            //    Response.BinaryWrite(oStream.ToArray());
            //    Response.End();
            //}
        }
Пример #7
0
        private void BtnDocumentoIncluir_Click(object sender, EventArgs e)
        {
            Int32 numeroProtocolo;

            using (var context = new CadastroMotoristaContext())
            {
                Int32 usuarioID   = cbxDocumentoUsuarioID.SelectedValue.ConvertToInt();
                Int32 motoristaID = cbxDocumentoMotoristaID.SelectedValue.ConvertToInt();



                var usuario = context.Usuarios
                              .Where(a => a.UsuarioID == usuarioID).FirstOrDefault <Usuario>();

                var motorista = context.Motoristas
                                .Where(a => a.MotoristaID == motoristaID).FirstOrDefault <Motorista>();

                if (motorista == null)
                {
                    MessageBox.Show("Nenhum motorista foi selecionado.", "Erro");
                    return;
                }

                byte[] file;
                if (File.Exists(txtDocumentoArquivo.Text))
                {
                    using (var stream = new FileStream(txtDocumentoArquivo.Text, FileMode.Open, FileAccess.Read))
                    {
                        using (var reader = new BinaryReader(stream))
                        {
                            file = reader.ReadBytes((int)stream.Length);
                        }
                    }
                }
                else
                {
                    //file = new byte[0];
                    MessageBox.Show("Nenhum arquivo foi selecionado.", "Erro");
                    return;
                }

                Documento documento = new Documento
                {
                    aprovado        = rdbDocumentoAprovado.Checked,
                    reprovado       = rdbDocumentoReprovado.Checked,
                    Usuario         = usuario,
                    Motorista       = motorista,
                    dados           = file,
                    nomeArquivo     = Path.GetFileNameWithoutExtension(txtDocumentoArquivo.Text),
                    extensaoArquivo = Path.GetExtension(txtDocumentoArquivo.Text)
                };


                Protocolo protocolo = new Protocolo()
                {
                    Documento = documento,
                    dados     = new byte[0]
                };

                context.Documentos.Add(documento);
                context.Protocolos.Add(protocolo);
                context.SaveChanges();
                numeroProtocolo = protocolo.ProtocoloID;

                var protUpdate = context.Protocolos
                                 .Where(a => a.ProtocoloID == numeroProtocolo).FirstOrDefault <Protocolo>();

                Wrappers.PdfWrapper pdf = new Wrappers.PdfWrapper();
                pdf.addParagraph("Cadastro de Motoristas");
                pdf.addParagraph(string.Format("Documento nº{0} recebido com sucesso e anexado ao cadastro do(a) motorista {1}.", documento.DocumentoID, documento.Motorista.Nome));
                pdf.addParagraph(string.Format("Nº do protocolo: {0}.", numeroProtocolo));
                protUpdate.dados = pdf.gerarPDF();

                context.SaveChanges();

                if (MessageBox.Show(string.Format("Documento recebido com sucesso. Foi gerado o protocolo nº {0}, deseja visualiza-lo?", numeroProtocolo), "Sucesso", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    Int32 documentoID = txtDocumentoDocumentoID.Text.ConvertToInt();
                    using (MemoryStream memoryStream = new MemoryStream())
                    {
                        memoryStream.Write(protUpdate.dados, 0, protUpdate.dados.Length);
                        string varq = MemoryStreamParaArquivo(memoryStream, ".pdf", true);
                        if (varq != string.Empty)
                        {
                            System.Diagnostics.Process.Start(varq);
                        }
                    }
                }
            }
            LimparDocumento();
        }
Пример #8
0
 public ActionResult Detail(Protocolo protocolo)
 {
     return(View(protocolo));
 }
 public async Task Salvar(Protocolo protocolo)
 {
     await _dbContext.Protocolo.AddAsync(protocolo);
 }
Пример #10
0
 /// <summary>
 /// required (not null) fields only constructor
 /// </summary>
 public ProtocoloWhonet(
     Protocolo idprotocolo)
     : this()
 {
     m_idprotocolo = idprotocolo;
 }
Пример #11
0
        public ActionResult Create()
        {
            var protocolo = new Protocolo();

            return(View(protocolo));
        }
Пример #12
0
 /// <summary>
 /// default constructor
 /// </summary>
 public ProtocoloWhonet()
 {
     m_idprotocolowhonet = 0;
     m_idprotocolo       = new Protocolo();
 }
        internal Resultados <Protocolo> Filtrar(Filtro <ListarProtocoloFiltro> filtros, BancoDeDados banco = null)
        {
            // Semelhante ao Filtrar, mas traz informações de Pendencias
            Resultados <Protocolo> retorno = new Resultados <Protocolo>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                string  comandtxt = string.Empty;
                Comando comando   = bancoDeDados.CriarComando("");

                #region Adicionando Filtros

                comandtxt += comando.FiltroAnd("e.protocolo", "protocolo", filtros.Dados.ProtocoloId);

                comandtxt += comando.FiltroAnd("e.numero", "numero", filtros.Dados.Protocolo.Numero);

                comandtxt += comando.FiltroAnd("e.ano", "ano", filtros.Dados.Protocolo.Ano);

                comandtxt += comando.FiltroAndLike("e.numero_autuacao", "numero_autuacao", filtros.Dados.NumeroAutuacao);

                comandtxt += comando.FiltroIn("e.setor_criacao_id", string.Format("select tse.setor from {0}tab_setor_endereco tse where tse.municipio = :municipio", (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".")), "municipio", filtros.Dados.Municipio);

                if (!filtros.Dados.DataRegistro.IsEmpty && filtros.Dados.DataRegistro.IsValido)
                {
                    comandtxt += comando.FiltroAnd("TO_DATE(e.data_criacao)", "data_criacao", filtros.Dados.DataRegistro.DataTexto);
                }

                if (!filtros.Dados.DataAutuacao.IsEmpty && filtros.Dados.DataAutuacao.IsValido)
                {
                    comandtxt += comando.FiltroAnd("TO_DATE(e.data_autuacao)", "data_autuacao", filtros.Dados.DataAutuacao.DataTexto);
                }

                comandtxt += comando.FiltroAnd("e.tipo_id", "tipo", filtros.Dados.Tipo);

                comandtxt += comando.FiltroIn("e.protocolo_id", String.Format("select s.protocolo from {0}tab_protocolo_atividades s where s.situacao = :atividade_situacao_id", EsquemaBanco),
                                              "atividade_situacao_id", filtros.Dados.SituacaoAtividade);

                comandtxt += comando.FiltroIn("e.protocolo_id", String.Format("select a.protocolo from {0}tab_protocolo_atividades a where a.atividade = :atividade_id", EsquemaBanco),
                                              "atividade_id", filtros.Dados.AtividadeSolicitada);

                comandtxt += comando.FiltroAndLike("e.interessado_nome_razao", "interessado_nome_razao", filtros.Dados.InteressadoNomeRazao, true);

                if (!String.IsNullOrWhiteSpace(filtros.Dados.InteressadoCpfCnpj))
                {
                    if (ValidacoesGenericasBus.Cpf(filtros.Dados.InteressadoCpfCnpj) ||
                        ValidacoesGenericasBus.Cnpj(filtros.Dados.InteressadoCpfCnpj))
                    {
                        comandtxt += comando.FiltroAnd("e.interessado_cpf_cnpj", "interessado_cpf_cnpj", filtros.Dados.InteressadoCpfCnpj);
                    }
                    else
                    {
                        comandtxt += comando.FiltroAndLike("e.interessado_cpf_cnpj", "interessado_cpf_cnpj", filtros.Dados.InteressadoCpfCnpj);
                    }
                }

                comandtxt += comando.FiltroAndLike("e.empreendimento_denominador", "empreendimento_denominador", filtros.Dados.EmpreendimentoRazaoDenominacao, true);

                if (!String.IsNullOrWhiteSpace(filtros.Dados.EmpreendimentoCnpj))
                {
                    if (ValidacoesGenericasBus.Cnpj(filtros.Dados.EmpreendimentoCnpj))
                    {
                        comandtxt += comando.FiltroAnd("e.empreendimento_cnpj", "empreendimento_cnpj", filtros.Dados.EmpreendimentoCnpj);
                    }
                    else
                    {
                        comandtxt += comando.FiltroAndLike("e.empreendimento_cnpj", "empreendimento_cnpj", filtros.Dados.EmpreendimentoCnpj);
                    }
                }

                comandtxt += @" and (:credenciado_id in
								(select re.responsavel
									from lst_protocolo p, tab_protocolo_responsavel re
									where re.protocolo(+) = p.protocolo_id
									and p.id = e.id) or e.interessado_id = :credenciado_id or e.empreendimento_id in 
										(select er.empreendimento from tab_empreendimento_responsavel er where er.responsavel = :credenciado_id) or 
										e.requerimento_id in (select tr.id from tab_requerimento tr where tr.autor = :autor_id))"                                        ;
                comando.AdicionarParametroEntrada("credenciado_id", filtros.Dados.CredenciadoPessoaId, DbType.Int32);
                comando.AdicionarParametroEntrada("autor_id", filtros.Dados.AutorId, DbType.Int32);

                List <String> ordenar = new List <String>();
                List <String> colunas = new List <String>()
                {
                    "numero,ano", "interessado_nome_razao", "empreendimento_denominador"
                };

                if (filtros.OdenarPor > 0)
                {
                    ordenar.Add(colunas.ElementAtOrDefault(filtros.OdenarPor - 1));
                }
                else
                {
                    ordenar.Add("numero,ano");
                }

                #endregion

                #region Quantidade de registro do resultado

                comando.DbCommand.CommandText = String.Format("select count(*) from {0}lst_protocolo e where e.id > 0 " + comandtxt, (string.IsNullOrEmpty(EsquemaBanco) ? "" : "."));

                retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando));

                comando.AdicionarParametroEntrada("menor", filtros.Menor);
                comando.AdicionarParametroEntrada("maior", filtros.Maior);

                comandtxt = String.Format(@"select e.id, e.protocolo_id, e.protocolo, e.numero, e.ano, e.tipo_id, e.tipo_texto, e.data_criacao, e.interessado_id,
										 e.interessado_tipo, e.interessado_nome_razao, e.interessado_cpf_cnpj, e.interessado_rg_ie, e.empreendimento_id,
										 e.empreendimento_denominador, e.empreendimento_cnpj, e.situacao_id, e.situacao_texto, (select count(*) from tab_titulo t, 
										 esp_oficio_notificacao esp where esp.titulo = t.id and t.situacao in (3,6) and e.protocolo_id = t.protocolo
										 and t.protocolo in ((select associado from tab_protocolo_associado pa where pa.protocolo = e.protocolo_id 
										 union all select e.protocolo_id from dual))) possui_oficio_pendencia from {0}lst_protocolo e where e.id > 0"

                                          + comandtxt + DaHelper.Ordenar(colunas, ordenar), (string.IsNullOrEmpty(EsquemaBanco) ? "" : "."));

                comando.DbCommand.CommandText = @"select * from (select a.*, rownum rnum from ( " + comandtxt + @") a) where rnum <= :maior and rnum >= :menor";

                #endregion

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    #region Adicionando os dados na classe de retorno

                    Protocolo item;

                    while (reader.Read())
                    {
                        item                            = new Protocolo();
                        item.Id                         = reader.GetValue <int?>("protocolo_id");
                        item.IsProcesso                 = reader.GetValue <int>("protocolo") == 1;
                        item.DataCadastro.Data          = reader.GetValue <DateTime?>("data_criacao");
                        item.Tipo.Id                    = reader.GetValue <int>("tipo_id");
                        item.Tipo.Texto                 = reader.GetValue <string>("tipo_texto");
                        item.NumeroProtocolo            = reader.GetValue <int?>("numero");
                        item.Ano                        = reader.GetValue <int?>("ano");
                        item.SituacaoId                 = reader.GetValue <int>("situacao_id");
                        item.SituacaoTexto              = reader.GetValue <string>("situacao_texto");
                        item.Empreendimento.Id          = reader.GetValue <int>("empreendimento_id");
                        item.Empreendimento.Denominador = reader.GetValue <string>("empreendimento_denominador");
                        item.Interessado.Id             = reader.GetValue <int>("interessado_id");
                        item.Interessado.Tipo           = reader.GetValue <int>("interessado_tipo");
                        item.PossuiPendencia            = Convert.ToBoolean(reader.GetValue <int>("possui_oficio_pendencia"));

                        if (item.Interessado.Tipo == PessoaTipo.FISICA)
                        {
                            item.Interessado.Fisica.Nome = reader.GetValue <string>("interessado_nome_razao");
                        }
                        else
                        {
                            item.Interessado.Juridica.RazaoSocial = reader.GetValue <string>("interessado_nome_razao");
                        }

                        retorno.Itens.Add(item);
                    }

                    reader.Close();

                    #endregion
                }
            }

            return(retorno);
        }
 public void setProtocolo(Protocolo p)
 {
     this.envio = p;
 }
Пример #15
0
        private void Avanzar(int avance)
        {
            int ProtocoloActual = int.Parse(Request["idProtocolo"].ToString());
            //Protocolo oProtocoloActual = new Protocolo();
            //oProtocoloActual = (Protocolo)oProtocoloActual.Get(typeof(Protocolo), ProtocoloActual);
            int ProtocoloNuevo = ProtocoloActual;

            if (Session["ListaProtocolo"] != null)
            {
                string[] lista = Session["ListaProtocolo"].ToString().Split(',');
                for (int i = 0; i < lista.Length; i++)
                {
                    if (ProtocoloActual == int.Parse(lista[i].ToString()))
                    {
                        if (avance == 1)
                        {
                            if (i < lista.Length - 1)
                            {
                                ProtocoloNuevo = int.Parse(lista[i + 1].ToString()); break;
                            }
                        }
                        else  //retrocede
                        {
                            if (i > 0)
                            {
                                ProtocoloNuevo = int.Parse(lista[i - 1].ToString()); break;
                            }
                        }
                    }
                }
            }
            //if (avance == 1)
            //{
            //    ProtocoloNuevo = ProtocoloActual+1;
            //}
            //else  //retrocede
            //    ProtocoloNuevo = ProtocoloActual - 1;



            ISession  m_session = NHibernateHttpModule.CurrentSession;
            ICriteria crit      = m_session.CreateCriteria(typeof(Protocolo));

            crit.Add(Expression.Eq("IdProtocolo", ProtocoloNuevo));
            //crit.Add(Expression.Eq("IdSector", oProtocoloActual.IdSector));
            Protocolo oProtocolo = (Protocolo)crit.UniqueResult();

            string m_parametro = "";

            if (Request["DesdeUrgencia"] != null)
            {
                m_parametro = "&DesdeUrgencia=1";
            }

            if (oProtocolo != null)
            {
                //if (Request["Desde"].ToString() == "Control")
                Response.Redirect("ProtocoloEdit2.aspx?Desde=" + Request["Desde"].ToString() + "&idServicio=" + Session["idServicio"].ToString() + "&Operacion=Modifica&idProtocolo=" + ProtocoloNuevo + m_parametro);
                //else
                //    Response.Redirect("ProtocoloEdit2.aspx?Desde="+Request["Desde"].ToString()+"&idServicio=" + Session["idServicio"].ToString() + "&Operacion=Modifica&idProtocolo=" + ProtocoloNuevo + m_parametro);
            }
            else
            {
                Response.Redirect("ProtocoloEdit2.aspx?Desde=" + Request["Desde"].ToString() + "&idServicio=" + Session["idServicio"].ToString() + "&Operacion=Modifica&idProtocolo=" + ProtocoloActual + m_parametro);
            }
        }
Пример #16
0
        /// <summary>
        /// required (not null) fields only constructor
        /// </summary>
        public SolicitudScreening(
            Protocolo idprotocolo,
            int idsolicitudscreeningorigen,

            int numerotarjeta,
            string medicoSolicitante,
            string apellidoMaterno,
            string apellidoPaterno,
            string nombreParentesco,
            int numerodocumentoParentesco,
            DateTime fechaNacimientoParentesco,
            int idLugarControl,



            string horanacimiento,
            int edadgestacional,
            decimal peso,
            bool prematuro,
            bool primeramuestra,
            DateTime fechaextraccion,
            string horaextraccion,
            bool ingestaleche24horas,
            string tipoalimentacion,
            bool antibiotico,
            bool transfusion,
            bool corticoides,
            bool dopamina,
            bool enfermedadtiroideamaterna,
            string antecedentesmaternos,
            bool corticoidesmaterno)
            : this()
        {
            m_idprotocolo = idprotocolo;
            m_idsolicitudscreeningorigen = idsolicitudscreeningorigen;

            m_numerotarjeta             = numerotarjeta;
            m_medicoSolicitante         = medicoSolicitante;
            m_apellidoMaterno           = apellidoMaterno;
            m_apellidoPaterno           = apellidoPaterno;
            m_nombreParentesco          = nombreParentesco;
            m_numerodocumentoParentesco = numerodocumentoParentesco;
            m_fechaNacimientoParentesco = fechaNacimientoParentesco;
            m_idLugarControl            = idLugarControl;


            m_horanacimiento            = horanacimiento;
            m_edadgestacional           = edadgestacional;
            m_peso                      = peso;
            m_primeramuestra            = primeramuestra;
            m_fechaextraccion           = fechaextraccion;
            m_horaextraccion            = horaextraccion;
            m_ingestaleche24horas       = ingestaleche24horas;
            m_tipoalimentacion          = tipoalimentacion;
            m_antibiotico               = antibiotico;
            m_transfusion               = transfusion;
            m_corticoides               = corticoides;
            m_dopamina                  = dopamina;
            m_enfermedadtiroideamaterna = enfermedadtiroideamaterna;
            m_antecedentesmaternos      = antecedentesmaternos;
            m_corticoidesmaterno        = corticoidesmaterno;
        }
Пример #17
0
        public IProtocolo Obter(int id, bool simplificado = false, bool atividades = false, BancoDeDados banco = null)
        {
            Protocolo protocolo = new Protocolo();
            Documento documento = new Documento();

            if (id <= 0)
            {
                return(new Protocolo());
            }

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Protocolo

                Comando comando = bancoDeDados.CriarComando(@"
					select r.id,
						   r.fiscalizacao,
						   f.situacao fiscalizacao_situacao,
						   r.numero,
						   r.ano,
						   r.nome,
						   r.tipo,
						   r.protocolo,
						   trunc(r.data_criacao) data_criacao,
						   r.numero_autuacao,
						   trunc(r.data_autuacao) data_autuacao,
						   r.volume,
						   r.checagem,
						   r.checagem_pendencia,
						   r.requerimento,
						   to_char(tr.data_criacao, 'dd/mm/yyyy') data_requerimento,
						   tr.situacao requerimento_situacao,
						   r.interessado,
						   nvl(p.nome, p.razao_social) interessado_nome,
						   nvl(p.cpf, p.cnpj) interessado_cpf_cnpj,
						   p.tipo interessado_tipo,
						   lpt.texto tipo_texto,
						   r.empreendimento,
						   e.cnpj empreendimento_cnpj,
						   e.denominador,
						   r.situacao,
						   ls.texto situacao_texto,
						   r.protocolo_associado,
						   r.emposse,
						   r.arquivo,
						   r.tid,
						   r.setor,
						   r.setor_criacao, 
						   lfs.texto fiscalizacao_sit_texto,
						   r.interessado_livre,
						   r.interessado_livre_telefone,
						   r.folhas, r.assunto, r.descricao, r.destinatario, r.destinatario_setor, d.id destinatario_id, 
						   d.tid destinatario_tid, d.nome destinatario_nome, s.id destinatario_setor_id, s.sigla destinatario_setor_sigla, s.nome destinatario_setor_nome
					  from {0}tab_protocolo          r,
						   {0}tab_pessoa             p,
						   {0}tab_fiscalizacao       f,
						   {0}tab_empreendimento     e,
						   {0}lov_protocolo_situacao ls,
						   {0}lov_protocolo_tipo     lpt,
						   {0}tab_requerimento       tr,
						   {0}lov_fiscalizacao_situacao lfs,
						   {0}tab_setor				 s,
						   {0}tab_funcionario		 d
					 where r.interessado = p.id(+)
					   and r.empreendimento = e.id(+)
					   and r.situacao = ls.id
					   and lpt.id = r.tipo
					   and r.requerimento = tr.id(+)
					   and r.fiscalizacao = f.id(+)
					   and f.situacao = lfs.id(+)
					   and r.destinatario_setor = s.id(+)
					   and r.destinatario = d.id(+)
					   and r.id = :id"                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        #region Dados base

                        protocolo.Id  = id;
                        protocolo.Tid = reader["tid"].ToString();

                        if (reader["fiscalizacao"] != null && !Convert.IsDBNull(reader["fiscalizacao"]))
                        {
                            protocolo.Fiscalizacao.Id            = Convert.ToInt32(reader["fiscalizacao"]);
                            protocolo.Fiscalizacao.SituacaoId    = Convert.ToInt32(reader["fiscalizacao_situacao"]);
                            protocolo.Fiscalizacao.SituacaoTexto = reader.GetValue <string>("fiscalizacao_sit_texto");
                        }

                        if (reader["numero"] != null && !Convert.IsDBNull(reader["numero"]))
                        {
                            protocolo.NumeroProtocolo = Convert.ToInt32(reader["numero"]);
                        }

                        if (reader["ano"] != null && !Convert.IsDBNull(reader["ano"]))
                        {
                            protocolo.Ano = Convert.ToInt32(reader["ano"]);
                        }

                        protocolo.NumeroAutuacao = reader["numero_autuacao"].ToString();

                        if (reader["data_autuacao"] != null && !Convert.IsDBNull(reader["data_autuacao"]))
                        {
                            protocolo.DataAutuacao.Data = Convert.ToDateTime(reader["data_autuacao"]);
                        }

                        protocolo.DataCadastro.Data = Convert.ToDateTime(reader["data_criacao"]);

                        if (reader["setor"] != null && !Convert.IsDBNull(reader["setor"]))
                        {
                            protocolo.SetorId = Convert.ToInt32(reader["setor"]);
                        }

                        if (reader["setor_criacao"] != null && !Convert.IsDBNull(reader["setor_criacao"]))
                        {
                            protocolo.SetorCriacaoId = Convert.ToInt32(reader["setor_criacao"]);
                        }

                        if (reader["tipo"] != null && !Convert.IsDBNull(reader["tipo"]))
                        {
                            protocolo.Tipo.Id    = Convert.ToInt32(reader["tipo"]);
                            protocolo.Tipo.Texto = reader["tipo_texto"].ToString();
                        }

                        if (reader["volume"] != null && !Convert.IsDBNull(reader["volume"]))
                        {
                            protocolo.Volume = Convert.ToInt32(reader["volume"]);
                        }

                        if (reader["checagem"] != null && !Convert.IsDBNull(reader["checagem"]))
                        {
                            protocolo.ChecagemRoteiro.Id = Convert.ToInt32(reader["checagem"]);
                        }

                        if (reader["requerimento"] != null && !Convert.IsDBNull(reader["requerimento"]))
                        {
                            protocolo.Requerimento.Id            = Convert.ToInt32(reader["requerimento"]);
                            protocolo.Requerimento.SituacaoId    = Convert.ToInt32(reader["requerimento_situacao"]);
                            protocolo.Requerimento.DataCadastro  = Convert.ToDateTime(reader["data_requerimento"]);
                            protocolo.Requerimento.ProtocoloId   = protocolo.Id.Value;
                            protocolo.Requerimento.ProtocoloTipo = 1;
                        }

                        if (reader["interessado"] != null && !Convert.IsDBNull(reader["interessado"]))
                        {
                            protocolo.Interessado.Id   = Convert.ToInt32(reader["interessado"]);
                            protocolo.Interessado.Tipo = Convert.ToInt32(reader["interessado_tipo"]);

                            if (reader["interessado_tipo"].ToString() == "1")
                            {
                                protocolo.Interessado.Fisica.Nome = reader["interessado_nome"].ToString();
                                protocolo.Interessado.Fisica.CPF  = reader["interessado_cpf_cnpj"].ToString();
                            }
                            else
                            {
                                protocolo.Interessado.Juridica.RazaoSocial = reader["interessado_nome"].ToString();
                                protocolo.Interessado.Juridica.CNPJ        = reader["interessado_cpf_cnpj"].ToString();
                            }
                        }

                        if (reader["interessado_livre"] != null && !Convert.IsDBNull(reader["interessado_livre"]))
                        {
                            protocolo.InteressadoLivre = reader["interessado_livre"].ToString();
                        }
                        if (reader["interessado_livre_telefone"] != null && !Convert.IsDBNull(reader["interessado_livre_telefone"]))
                        {
                            protocolo.InteressadoLivreTelefone = reader["interessado_livre_telefone"].ToString();
                        }
                        if (reader["folhas"] != null && !Convert.IsDBNull(reader["folhas"]))
                        {
                            protocolo.Folhas = Convert.ToInt32(reader["folhas"]);
                        }

                        if (reader["empreendimento"] != null && !Convert.IsDBNull(reader["empreendimento"]))
                        {
                            protocolo.Empreendimento.Id          = Convert.ToInt32(reader["empreendimento"]);
                            protocolo.Empreendimento.Denominador = reader["denominador"].ToString();
                            protocolo.Empreendimento.CNPJ        = reader["empreendimento_cnpj"].ToString();
                        }

                        if (reader["emposse"] != null && !Convert.IsDBNull(reader["emposse"]))
                        {
                            protocolo.Emposse.Id = Convert.ToInt32(reader["emposse"]);
                        }

                        if (reader["situacao"] != null && !Convert.IsDBNull(reader["situacao"]))
                        {
                            protocolo.SituacaoId    = Convert.ToInt32(reader["situacao"]);
                            protocolo.SituacaoTexto = reader["situacao_texto"].ToString();
                        }

                        if (reader["arquivo"] != null && !Convert.IsDBNull(reader["arquivo"]))
                        {
                            protocolo.Arquivo.Id = Convert.ToInt32(reader["arquivo"]);
                        }

                        if (reader["protocolo"] != null && !Convert.IsDBNull(reader["protocolo"]))
                        {
                            protocolo.IsProcesso = Convert.ToInt32(reader["protocolo"]) == 1;
                        }

                        #endregion

                        if (!protocolo.IsProcesso)
                        {
                            documento           = new Documento(protocolo);
                            documento.Nome      = reader["nome"].ToString();
                            documento.Assunto   = reader["assunto"].ToString();
                            documento.Descricao = reader["descricao"].ToString();
                            if (reader["destinatario_id"] != null && !Convert.IsDBNull(reader["destinatario_id"]))
                            {
                                documento.Destinatario.Id = Convert.ToInt32(reader["destinatario_id"]);
                            }
                            documento.Destinatario.Nome = reader["destinatario_nome"].ToString();

                            if (reader["destinatario_setor_id"] != null && !Convert.IsDBNull(reader["destinatario_setor_id"]))
                            {
                                documento.DestinatarioSetor.Id = Convert.ToInt32(reader["destinatario_setor_id"]);
                            }
                            documento.DestinatarioSetor.Nome = reader["destinatario_setor_nome"].ToString();

                            if (reader["protocolo_associado"] != null && !Convert.IsDBNull(reader["protocolo_associado"]))
                            {
                                documento.ProtocoloAssociado = new Protocolo(ObterProtocolo(Convert.ToInt32(reader["protocolo_associado"])));
                            }

                            if (reader["checagem_pendencia"] != null && !Convert.IsDBNull(reader["checagem_pendencia"]))
                            {
                                documento.ChecagemPendencia.Id = Convert.ToInt32(reader["checagem_pendencia"]);
                            }
                        }
                    }

                    reader.Close();
                }

                if (simplificado)
                {
                    if (protocolo.IsProcesso)
                    {
                        return(new Processo(protocolo));
                    }
                    else
                    {
                        return(documento);
                    }
                }

                #endregion

                #region Atividades

                comando = bancoDeDados.CriarComando(@"select b.id, b.atividade, a.atividade atividade_texto, b.situacao atividade_situacao_id,
				(select s.texto from lov_atividade_situacao s where s.id = b.situacao) atividade_situacao_texto, a.setor, b.motivo,
				b.tid from {0}tab_atividade a, {0}tab_protocolo_atividades b where a.id = b.atividade and b.protocolo = :id"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    Atividade atividade;

                    while (reader.Read())
                    {
                        atividade    = new Atividade();
                        atividade.Id = Convert.ToInt32(reader["atividade"]);
                        atividade.IdRelacionamento = Convert.ToInt32(reader["id"]);
                        atividade.Tid           = reader["tid"].ToString();
                        atividade.NomeAtividade = reader["atividade_texto"].ToString();
                        atividade.SituacaoId    = Convert.ToInt32(reader["atividade_situacao_id"]);
                        atividade.SituacaoTexto = reader["atividade_situacao_texto"].ToString();
                        atividade.SetorId       = Convert.ToInt32(reader["setor"]);
                        atividade.Motivo        = reader["motivo"].ToString();

                        #region Atividades/Finalidades/Modelos

                        comando = bancoDeDados.CriarComando(@"select a.id, a.finalidade, ltf.texto finalidade_texto, a.modelo, tm.nome modelo_nome, 
							a.titulo_anterior_tipo, a.titulo_anterior_id, a.titulo_anterior_numero, a.modelo_anterior_id, a.modelo_anterior_nome, a.modelo_anterior_sigla, a.orgao_expedidor
							from {0}tab_protocolo_ativ_finalida a, {0}tab_titulo_modelo tm, {0}lov_titulo_finalidade ltf where a.modelo = tm.id and a.finalidade = ltf.id(+) 
							and a.protocolo_ativ = :id"                            , EsquemaBanco);

                        comando.AdicionarParametroEntrada("id", atividade.IdRelacionamento, DbType.Int32);

                        using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando))
                        {
                            Finalidade fin;

                            while (readerAux.Read())
                            {
                                fin = new Finalidade();

                                fin.IdRelacionamento = Convert.ToInt32(readerAux["id"]);

                                fin.OrgaoExpedidor = readerAux["orgao_expedidor"].ToString();

                                if (readerAux["finalidade"] != DBNull.Value)
                                {
                                    fin.Id    = Convert.ToInt32(readerAux["finalidade"]);
                                    fin.Texto = readerAux["finalidade_texto"].ToString();
                                }

                                if (readerAux["modelo"] != DBNull.Value)
                                {
                                    fin.TituloModelo      = Convert.ToInt32(readerAux["modelo"]);
                                    fin.TituloModeloTexto = readerAux["modelo_nome"].ToString();
                                }

                                if (readerAux["modelo_anterior_id"] != DBNull.Value)
                                {
                                    fin.TituloModeloAnteriorId = Convert.ToInt32(readerAux["modelo_anterior_id"]);
                                }

                                fin.TituloModeloAnteriorTexto = readerAux["modelo_anterior_nome"].ToString();
                                fin.TituloModeloAnteriorSigla = readerAux["modelo_anterior_sigla"].ToString();

                                if (readerAux["titulo_anterior_tipo"] != DBNull.Value)
                                {
                                    fin.TituloAnteriorTipo = Convert.ToInt32(readerAux["titulo_anterior_tipo"]);
                                }

                                if (readerAux["titulo_anterior_id"] != DBNull.Value)
                                {
                                    fin.TituloAnteriorId = Convert.ToInt32(readerAux["titulo_anterior_id"]);
                                }

                                fin.TituloAnteriorNumero = readerAux["titulo_anterior_numero"].ToString();
                                fin.EmitidoPorInterno    = (fin.TituloAnteriorTipo != 3);

                                atividade.Finalidades.Add(fin);
                            }
                            readerAux.Close();
                        }

                        #endregion

                        protocolo.Atividades.Add(atividade);
                    }

                    reader.Close();
                }

                if (atividades)
                {
                    if (protocolo.IsProcesso)
                    {
                        return(new Processo(protocolo));
                    }
                    else
                    {
                        return(documento);
                    }
                }

                #endregion

                #region Responsáveis

                comando = bancoDeDados.CriarComando(@"select pr.id, pr.responsavel, pr.funcao, nvl(p.nome, p.razao_social) nome, pr.numero_art, 
				nvl(p.cpf, p.cnpj) cpf_cnpj, p.tipo from {0}tab_protocolo_responsavel pr, {0}tab_pessoa p where pr.responsavel = p.id and pr.protocolo = :protocolo"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("protocolo", protocolo.Id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    ResponsavelTecnico responsavel;
                    while (reader.Read())
                    {
                        responsavel = new ResponsavelTecnico();
                        responsavel.IdRelacionamento = Convert.ToInt32(reader["id"]);
                        responsavel.Id        = Convert.ToInt32(reader["responsavel"]);
                        responsavel.Funcao    = Convert.ToInt32(reader["funcao"]);
                        responsavel.CpfCnpj   = reader["cpf_cnpj"].ToString();
                        responsavel.NomeRazao = reader["nome"].ToString();
                        responsavel.NumeroArt = reader["numero_art"].ToString();
                        protocolo.Responsaveis.Add(responsavel);
                    }
                    reader.Close();
                }

                #endregion

                #region Assinantes
                comando = bancoDeDados.CriarComando(@"select ta.id, ta.protocolo, f.id func_id, f.nome func_nome, ta.cargo, c.nome cargo_nome, ta.tid from tab_protocolo_assinantes ta, tab_funcionario f, tab_cargo c where 
					ta.funcionario = f.id and ta.cargo = c.id and ta.protocolo = :protocolo"                    , EsquemaBanco);
                comando.AdicionarParametroEntrada("protocolo", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    while (reader.Read())
                    {
                        TituloAssinante item = new TituloAssinante();
                        item.Id                   = Convert.ToInt32(reader["id"]);
                        item.Tid                  = reader["tid"].ToString();
                        item.FuncionarioId        = Convert.ToInt32(reader["func_id"]);
                        item.FuncionarioNome      = reader["func_nome"].ToString();
                        item.FuncionarioCargoId   = Convert.ToInt32(reader["cargo"]);
                        item.FuncionarioCargoNome = reader["cargo_nome"].ToString();
                        item.Selecionado          = true;

                        if (reader["cargo"] != null && !Convert.IsDBNull(reader["cargo"]))
                        {
                            item.FuncionarioCargoId = Convert.ToInt32(reader["cargo"]);
                        }

                        documento.Assinantes.Add(item);
                    }
                    reader.Close();
                }
                #endregion
            }

            if (protocolo.IsProcesso)
            {
                return(new Processo(protocolo));
            }
            else
            {
                return(documento);
            }
        }
Пример #18
0
 public void SalvarSemCommit(Protocolo protocolo)
 {
     bmProtocolo.SalvarSemCommit(protocolo);
 }
Пример #19
0
 public Task <Result> Alterar(Protocolo newProtocolo)
 {
     throw new NotImplementedException();
 }
Пример #20
0
 private static bool HouveMundancaDeAno(Protocolo protocoloBanco)
 {
     return(int.Parse(protocoloBanco.Numero.ToString().Substring(0, 4)) < DateTime.Now.Year);
 }
Пример #21
0
        internal Resultados <Protocolo> Filtrar(Filtro <ListarProtocoloFiltro> filtros, BancoDeDados banco = null)
        {
            Resultados <Protocolo> retorno = new Resultados <Protocolo>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                string  comandtxt = string.Empty;
                Comando comando   = bancoDeDados.CriarComando("");

                #region Adicionando Filtros

                comandtxt += comando.FiltroAnd("e.protocolo", "protocolo", filtros.Dados.ProtocoloId);

                comandtxt += comando.FiltroAnd("e.numero", "numero", filtros.Dados.Protocolo.Numero);

                comandtxt += comando.FiltroAnd("e.ano", "ano", filtros.Dados.Protocolo.Ano);

                comandtxt += comando.FiltroAndLike("e.numero_autuacao", "numero_autuacao", filtros.Dados.NumeroAutuacao);

                comandtxt += comando.FiltroIn("e.setor_criacao_id", string.Format("select tse.setor from {0}tab_setor_endereco tse where tse.municipio = :municipio", (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".")), "municipio", filtros.Dados.Municipio);

                if (!filtros.Dados.DataRegistro.IsEmpty && filtros.Dados.DataRegistro.IsValido)
                {
                    comandtxt += comando.FiltroAnd("TO_DATE(e.data_criacao)", "data_criacao", filtros.Dados.DataRegistro.DataTexto);
                }

                if (!filtros.Dados.DataAutuacao.IsEmpty && filtros.Dados.DataAutuacao.IsValido)
                {
                    comandtxt += comando.FiltroAnd("TO_DATE(e.data_autuacao)", "data_autuacao", filtros.Dados.DataAutuacao.DataTexto);
                }

                comandtxt += comando.FiltroAnd("e.tipo_id", "tipo", filtros.Dados.Tipo);

                comandtxt += comando.FiltroIn("e.protocolo_id", String.Format("select s.protocolo from {0}tab_protocolo_atividades s where s.situacao = :atividade_situacao_id", EsquemaBanco),
                                              "atividade_situacao_id", filtros.Dados.SituacaoAtividade);

                comandtxt += comando.FiltroIn("e.protocolo_id", String.Format("select a.protocolo from {0}tab_protocolo_atividades a where a.atividade = :atividade_id", EsquemaBanco),
                                              "atividade_id", filtros.Dados.AtividadeSolicitada);

                comandtxt += comando.FiltroAndLike("e.interessado_nome_razao", "interessado_nome_razao", filtros.Dados.InteressadoNomeRazao, true);

                if (!String.IsNullOrWhiteSpace(filtros.Dados.InteressadoCpfCnpj))
                {
                    if (ValidacoesGenericasBus.Cpf(filtros.Dados.InteressadoCpfCnpj) ||
                        ValidacoesGenericasBus.Cnpj(filtros.Dados.InteressadoCpfCnpj))
                    {
                        comandtxt += comando.FiltroAnd("e.interessado_cpf_cnpj", "interessado_cpf_cnpj", filtros.Dados.InteressadoCpfCnpj);
                    }
                    else
                    {
                        comandtxt += comando.FiltroAndLike("e.interessado_cpf_cnpj", "interessado_cpf_cnpj", filtros.Dados.InteressadoCpfCnpj);
                    }
                }

                comandtxt += comando.FiltroAndLike("e.empreendimento_denominador", "empreendimento_denominador", filtros.Dados.EmpreendimentoRazaoDenominacao, true);

                if (!String.IsNullOrWhiteSpace(filtros.Dados.EmpreendimentoCnpj))
                {
                    if (ValidacoesGenericasBus.Cnpj(filtros.Dados.EmpreendimentoCnpj))
                    {
                        comandtxt += comando.FiltroAnd("e.empreendimento_cnpj", "empreendimento_cnpj", filtros.Dados.EmpreendimentoCnpj);
                    }
                    else
                    {
                        comandtxt += comando.FiltroAndLike("e.empreendimento_cnpj", "empreendimento_cnpj", filtros.Dados.EmpreendimentoCnpj);
                    }
                }

                List <String> ordenar = new List <String>();
                List <String> colunas = new List <String>()
                {
                    "numero,ano", "interessado_nome_razao", "empreendimento_denominador"
                };

                if (filtros.OdenarPor > 0)
                {
                    ordenar.Add(colunas.ElementAtOrDefault(filtros.OdenarPor - 1));
                }
                else
                {
                    ordenar.Add("numero,ano");
                }

                #endregion

                #region Quantidade de registro do resultado

                comando.DbCommand.CommandText = String.Format("select count(*) from {0}lst_protocolo e where e.id > 0 " + comandtxt, (string.IsNullOrEmpty(EsquemaBanco) ? "" : "."));

                retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando));

                comando.AdicionarParametroEntrada("menor", filtros.Menor);
                comando.AdicionarParametroEntrada("maior", filtros.Maior);

                comandtxt = String.Format(@"select id, protocolo_id, numero, ano, tipo_id, tipo_texto, data_criacao, interessado_id, interessado_tipo, 
					interessado_nome_razao, interessado_cpf_cnpj, interessado_rg_ie, empreendimento_id, 
					empreendimento_denominador, empreendimento_cnpj, situacao_id, situacao_texto from {0}lst_protocolo e where e.id > 0"
                                          + comandtxt + DaHelper.Ordenar(colunas, ordenar), (string.IsNullOrEmpty(EsquemaBanco) ? "" : "."));

                comando.DbCommand.CommandText = @"select * from (select a.*, rownum rnum from ( " + comandtxt + @") a) where rnum <= :maior and rnum >= :menor";

                #endregion

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    #region Adicionando os dados na classe de retorno

                    Protocolo item;

                    while (reader.Read())
                    {
                        item    = new Protocolo();
                        item.Id = Convert.ToInt32(reader["protocolo_id"]);
                        item.DataCadastro.Data = Convert.ToDateTime(reader["data_criacao"]);
                        item.Tipo.Id           = Convert.ToInt32(reader["tipo_id"]);

                        if (reader["numero"] != null && !Convert.IsDBNull(reader["numero"]))
                        {
                            item.NumeroProtocolo = Convert.ToInt32(reader["numero"]);
                        }

                        if (reader["ano"] != null && !Convert.IsDBNull(reader["ano"]))
                        {
                            item.Ano = Convert.ToInt32(reader["ano"]);
                        }

                        item.Tipo.Texto = reader["tipo_texto"].ToString();

                        if (reader["interessado_id"] != null && !Convert.IsDBNull(reader["interessado_id"]))
                        {
                            item.Interessado.Id   = Convert.ToInt32(reader["interessado_id"]);
                            item.Interessado.Tipo = Convert.ToInt32(reader["interessado_tipo"]);

                            if (reader["interessado_tipo"].ToString() == "1")
                            {
                                item.Interessado.Fisica.Nome = reader["interessado_nome_razao"].ToString();
                            }
                            else
                            {
                                item.Interessado.Juridica.RazaoSocial = reader["interessado_nome_razao"].ToString();
                            }
                        }

                        if (reader["empreendimento_id"] != null && !Convert.IsDBNull(reader["empreendimento_id"]))
                        {
                            item.Empreendimento.Id          = Convert.ToInt32(reader["empreendimento_id"]);
                            item.Empreendimento.Denominador = reader["empreendimento_denominador"].ToString();
                        }

                        if (reader["situacao_id"] != null && !Convert.IsDBNull(reader["situacao_id"]))
                        {
                            item.SituacaoId    = Convert.ToInt32(reader["situacao_id"]);
                            item.SituacaoTexto = reader["situacao_texto"].ToString();
                        }

                        retorno.Itens.Add(item);
                    }

                    reader.Close();

                    #endregion
                }
            }
            return(retorno);
        }
Пример #22
0
 public void SalvarProtocolo(Protocolo protocolo)
 {
     bmProtocolo.Salvar(protocolo);
 }
Пример #23
0
        public ActionResult Cadastrar(Protocolo PROTOCOLO)
        {
            PROTOCOLO.CadastrarNovoProtocolo(PROTOCOLO);

            return(View());
        }
Пример #24
0
 public PecaTecnica()
 {
     Protocolo = new Protocolo();
 }
Пример #25
0
 public void Excluir(Protocolo model)
 {
     repositorio.Excluir(model);
 }
Пример #26
0
        private void MuestraDatos(string p)
        {
            Protocolo oRegistro = new Protocolo();

            oRegistro = (Protocolo)oRegistro.Get(typeof(Business.Data.Laboratorio.Protocolo), int.Parse(p));



            if (oRegistro.IdTipoServicio.IdTipoServicio == 3) //Microbiologia
            {
                if (oRegistro.IdMuestra > 0)
                {
                    Muestra oMuestra = new Muestra();
                    oMuestra = (Muestra)oMuestra.Get(typeof(Muestra), oRegistro.IdMuestra);

                    //        lblMuestra.Text = "Tipo de Muestra: " + oMuestra.Nombre;
                }
            }



            switch (oRegistro.Estado)
            {
            case 0:
            {
                imgEstado.ImageUrl = "~/App_Themes/default/images/rojo.gif";
            }
            break;

            case 1: imgEstado.ImageUrl = "~/App_Themes/default/images/amarillo.gif"; break;

            case 2:
            {
                imgEstado.ImageUrl = "~/App_Themes/default/images/verde.gif";
            } break;
            }

            lblUsuario.Text       = oRegistro.IdUsuarioRegistro.Username;
            lblFechaRegistro.Text = oRegistro.FechaRegistro.ToShortDateString();
            int len = oRegistro.FechaRegistro.ToString().Length - 11;

            lblHoraRegistro.Text = oRegistro.FechaRegistro.ToString().Substring(11, oRegistro.FechaRegistro.ToString().Length - 11);
            lblFecha.Text        = oRegistro.Fecha.ToShortDateString();
            lblProtocolo.Text    = oRegistro.GetNumero().ToString();



            if (oRegistro.IdEfector == oRegistro.IdEfectorSolicitante)
            {
                lblOrigen.Text = oRegistro.IdOrigen.Nombre;
            }
            else
            {
                lblOrigen.Text = oRegistro.IdEfectorSolicitante.Nombre;
            }


            lblMedico.Text = "";
            if ((oRegistro.IdEspecialistaSolicitante > 0) && (oRegistro.IdEfectorSolicitante == oRegistro.IdEfector))
            {
                try
                {
                    Profesional oMedico = new Profesional();
                    oMedico = (Profesional)oMedico.Get(typeof(Profesional), oRegistro.IdEspecialistaSolicitante);
                    if (oMedico != null)
                    {
                        lblMedico.Text = oMedico.Apellido + " " + oMedico.Nombre;
                    }
                }
                catch (Exception ex)
                {
                    string exception = "";
                    while (ex != null)
                    {
                        exception = ex.Message + "<br>";
                    }
                }
            }
            else
            {
                lblMedico.Text = "";
            }

            lblPrioridad.Text = oRegistro.IdPrioridad.Nombre;
            if (oRegistro.IdPrioridad.Nombre == "URGENTE")
            {
                lblPrioridad.ForeColor = Color.Red;
                lblPrioridad.Font.Bold = true;
            }

            lblSector.Text = oRegistro.IdSector.Nombre;
            if (oRegistro.Sala != "")
            {
                lblSector.Text += " Sala: " + oRegistro.Sala;
            }
            if (oRegistro.Cama != "")
            {
                lblSector.Text += " Cama: " + oRegistro.Cama;
            }


            ///Datos del Paciente
            if (oRegistro.IdPaciente.IdEstado == 2)
            {
                lblDni.Text = "(Sin DU Temporal)";
            }
            else
            {
                lblDni.Text = oRegistro.IdPaciente.NumeroDocumento.ToString();
            }

            lblPaciente.Text = oRegistro.IdPaciente.Apellido.ToUpper() + " " + oRegistro.IdPaciente.Nombre.ToUpper();

            lblSexo.Text            = oRegistro.IdPaciente.getSexo();
            lblFechaNacimiento.Text = oRegistro.IdPaciente.FechaNacimiento.ToShortDateString();
            lblEdad.Text            = oRegistro.Edad.ToString();
            switch (oRegistro.UnidadEdad)
            {
            case 0: lblEdad.Text += " años"; break;

            case 1: lblEdad.Text += " meses"; break;

            case 2: lblEdad.Text += " días"; break;
            }


            //if (oRegistro.HoraNacimiento!="") lblDatosScreening.Text = "Hora Nac.:" + oRegistro.HoraNacimiento + " -  Peso Nac.:" + oRegistro.PesoNacimiento.ToString() + "(gr.) - Sem. Gest:" + oRegistro.SemanaGestacion.ToString();
            //else lblDatosScreening.Text = "";


            lblNumeroOrigen.Text = oRegistro.NumeroOrigen;

            /////Observaciones en el ingreso de protocolo

            pnlObservaciones.Visible = true;
            lblObservacion.Text      = oRegistro.Observacion;


            ////////////////////////////////////////
            string    embarazada = "";
            ISession  m_session  = NHibernateHttpModule.CurrentSession;
            ICriteria crit       = m_session.CreateCriteria(typeof(ProtocoloDiagnostico));

            crit.Add(Expression.Eq("IdProtocolo", oRegistro));
            IList lista = crit.List();

            if (lista.Count > 0)
            {
                foreach (ProtocoloDiagnostico oDiag in lista)
                {
                    Cie10 oD = new Cie10();
                    oD = (Cie10)oD.Get(typeof(Cie10), oDiag.IdDiagnostico);
                    if (lblDiagnostico.Text == "")
                    {
                        lblDiagnostico.Text = oD.Nombre;
                    }
                    else
                    {
                        lblDiagnostico.Text += " - " + oD.Nombre;
                    }

                    if (oD.Codigo == "Z32.1")
                    {
                        embarazada = "E";
                    }
                }
            }

            //oRegistro.IdPaciente.getCodificaHiv(); //
            lblCodigoPaciente.Text = oRegistro.getCodificaHiv(embarazada); //lblSexo.Text.Substring(0, 1) + " " + oRegistro.IdPaciente.Nombre.Substring(0, 2) + oRegistro.IdPaciente.Apellido.Substring(0, 2) + " " + lblFechaNacimiento.Text.Replace("/", "") + embarazada;
            //lblCodigoPaciente.Text = lblCodigoPaciente.Text.ToUpper();

            ///Observaciones de Resultados al pie

            if (oRegistro.IdTipoServicio.IdTipoServicio == 4)
            {
                PesquisaNeonatal1.Visible = true;
            }
            else
            {
                PesquisaNeonatal1.Visible = false;
            }


            lblMuestra.Text = "";
            if (oRegistro.IdTipoServicio.IdTipoServicio == 3)
            {
                Muestra oMuestra = new Muestra();
                oMuestra = (Muestra)oMuestra.Get(typeof(Muestra), oRegistro.IdMuestra);
                if (oMuestra != null)
                {
                    lblMuestra.Text = oMuestra.Nombre;
                }
            }
            //SolicitudScreening oSolicitud = new SolicitudScreening();
            //oSolicitud = (Business.Data.Laboratorio.SolicitudScreening)oSolicitud.Get(typeof(Business.Data.Laboratorio.SolicitudScreening), "IdProtocolo", oRegistro);
            //if (oSolicitud != null) PesquisaNeonatal1.Visible = false;
        }
Пример #27
0
        public void AlterarSituacao(Titulo titulo, int acao, BancoDeDados banco, bool gerouPdf = true)
        {
            Titulo atualTitulo = _da.ObterSimplificado(titulo.Id);

            if (titulo.Modelo.Regras == null || titulo.Modelo.Regras.Count == 0)
            {
                titulo.Modelo = _busModelo.Obter(titulo.Modelo.Id);
            }

            titulo.Situacao = ObterNovaSituacao(titulo, acao);

            bool isLimparPdfENumero        = false;
            bool isGerarNumero             = false;
            bool isGerarPdf                = false;
            int  novaSituacaoCondicionante = 0;

            if (titulo.Modelo.Codigo == (int)eTituloModeloCodigo.CertificadoRegistroAtividadeFlorestal)
            {
                if (titulo.Atividades.Any(x => x.Codigo == (int)eAtividadeCodigo.FabricanteMotosserra) || titulo.Atividades.Any(x => x.Codigo == (int)eAtividadeCodigo.ComercianteMotosserra))
                {
                    titulo.Prazo = 365;
                }
                else
                {
                    titulo.Prazo = new DateTime(DateTime.Now.Year, 12, 31).DayOfYear - titulo.DataEmissao.Data.Value.DayOfYear;
                }
            }

            if (!_validar.AlterarSituacao(titulo, acao, gerouPdf))
            {
                return;
            }

            #region Configurar Nova Situacao

            //Situação Nova
            switch ((eTituloSituacao)titulo.Situacao.Id)
            {
                #region 1 - Cadastrado

            case eTituloSituacao.Cadastrado:

                if (atualTitulo.Situacao.Id == (int)eTituloSituacao.Emitido)
                {
                    if (titulo.Modelo.Regra(eRegra.NumeracaoAutomatica))
                    {
                        titulo.Numero.Inteiro = null;
                        titulo.Numero.Ano     = null;
                    }
                }

                titulo.DataEmissao.Data      = null;
                titulo.DataInicioPrazo.Data  = null;
                titulo.DataAssinatura.Data   = null;
                titulo.DataVencimento.Data   = null;
                titulo.DataEncerramento.Data = null;
                titulo.Prazo = null;

                isLimparPdfENumero = true;
                break;

                #endregion

                #region 2 - Emitido

            case eTituloSituacao.Emitido:
                isGerarNumero = true;
                isGerarPdf    = true;
                //titulo.DataEmissao info na tela

                if (titulo.Modelo.Regra(eRegra.Prazo))
                {
                    int prazoId = Convert.ToInt32(titulo.Modelo.Resposta(eRegra.Prazo, eResposta.TipoPrazo).Valor);
                    titulo.PrazoUnidade = _busLista.TituloModeloTiposPrazos.Single(x => x.Id == prazoId).Texto;
                }
                break;

                #endregion

                #region 3 - Concluído

            case eTituloSituacao.Concluido:
                if (titulo.Modelo.Regra(eRegra.Condicionantes))
                {
                    novaSituacaoCondicionante = 2;
                }

                if (atualTitulo.Situacao.Id == (int)eTituloSituacao.Cadastrado)
                {
                    isGerarNumero = true;
                    isGerarPdf    = true;
                }
                //titulo.DataAssinatura info na tela

                if (titulo.Modelo.Regra(eRegra.Prazo))
                {
                    int prazoId = Convert.ToInt32(titulo.Modelo.Resposta(eRegra.Prazo, eResposta.TipoPrazo).Valor);

                    titulo.PrazoUnidade = _busLista.TituloModeloTiposPrazos.Single(x => x.Id == prazoId).Texto;

                    switch ((eAlterarSituacaoAcao)acao)
                    {
                    case eAlterarSituacaoAcao.EmitirParaAssinatura:
                        titulo.DataInicioPrazo.Data = titulo.DataEmissao.Data.GetValueOrDefault();
                        break;

                    case eAlterarSituacaoAcao.Assinar:
                        titulo.DataInicioPrazo.Data = titulo.DataAssinatura.Data.GetValueOrDefault();
                        break;

                    case eAlterarSituacaoAcao.Entregar:
                    case eAlterarSituacaoAcao.Concluir:
                        if (titulo.Modelo.Resposta(eRegra.Prazo, eResposta.InicioPrazo).Valor.ToString() == "2")                                        //data da assinatura
                        {
                            titulo.DataInicioPrazo.Data = titulo.DataAssinatura.Data.GetValueOrDefault();
                        }
                        else
                        {
                            titulo.DataInicioPrazo.Data = titulo.DataEmissao.Data.GetValueOrDefault();
                        }
                        break;

                    default:
                        titulo.DataInicioPrazo.Data = DateTime.Now;
                        break;
                    }

                    if (prazoId == 1)                            //Dias
                    {
                        titulo.DataVencimento.Data = titulo.DataInicioPrazo.Data.Value.AddDays(titulo.Prazo.GetValueOrDefault());
                    }
                    else
                    {
                        titulo.DataVencimento.Data = titulo.DataInicioPrazo.Data.Value.AddYears(titulo.Prazo.GetValueOrDefault());
                    }
                }
                break;

                #endregion

                #region 4 - Assinado

            case eTituloSituacao.Assinado:
                //titulo.DataAssinatura info na tela
                break;

                #endregion

                #region 5 - Encerrado

            case eTituloSituacao.Encerrado:
                if (titulo.Modelo.Regra(eRegra.Condicionantes))
                {
                    novaSituacaoCondicionante = 5;
                }
                break;

                #endregion

                #region 6 - Prorrogado

            case eTituloSituacao.Prorrogado:
                if (titulo.Modelo.Regra(eRegra.Prazo))
                {
                    titulo.DataVencimento.Data = titulo.DataVencimento.Data.Value.AddDays(titulo.DiasProrrogados.GetValueOrDefault());
                }
                break;

                #endregion
            }

            #endregion

            #region Numero de Titulo

            if (isGerarNumero)
            {
                titulo.Numero.ReiniciaPorAno = titulo.Modelo.Regra(eRegra.NumeracaoReiniciada);

                if (titulo.Modelo.Regra(eRegra.NumeracaoAutomatica))
                {
                    titulo.Numero.Automatico = true;
                    TituloModeloResposta iniciarEm = titulo.Modelo.Resposta(eRegra.NumeracaoAutomatica, eResposta.InicioNumeracao);
                    titulo.Numero.IniciaEm    = null;
                    titulo.Numero.IniciaEmAno = null;

                    if (iniciarEm != null)
                    {
                        if (iniciarEm.Valor == null || !ValidacoesGenericasBus.ValidarMaskNumeroBarraAno(iniciarEm.Valor.ToString()))
                        {
                            Validacao.Add(Mensagem.Titulo.IniciarEmInvalido);
                            return;
                        }

                        string[] iniciar = iniciarEm.Valor.ToString().Split('/');
                        titulo.Numero.IniciaEm    = Convert.ToInt32(iniciar[0]);
                        titulo.Numero.IniciaEmAno = Convert.ToInt32(iniciar[1]);

                        if (titulo.Numero.IniciaEmAno.GetValueOrDefault() != DateTime.Now.Year)
                        {
                            titulo.Numero.IniciaEm    = null;
                            titulo.Numero.IniciaEmAno = null;
                        }
                    }
                }

                if (titulo.DataEmissao.IsValido)
                {
                    titulo.Numero.Ano = titulo.DataEmissao.Data.Value.Year;
                }
            }

            //Limpar numero
            if (isLimparPdfENumero)
            {
                if (titulo.Modelo.Regra(eRegra.NumeracaoAutomatica))
                {
                    titulo.Numero = null;
                }
            }

            #endregion

            if (isLimparPdfENumero)
            {
                titulo.ArquivoPdf.Id = null;
            }

            GerenciadorTransacao.ObterIDAtual();
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                bancoDeDados.IniciarTransacao();
                #region Condicionante

                if (novaSituacaoCondicionante > 0)
                {
                    foreach (var item in titulo.Condicionantes)
                    {
                        TituloCondicionante condicionanteAtual = _daCondicionante.Obter(item.Id, bancoDeDados);

                        //Filtro para não alterar as 4 - atendida
                        if (novaSituacaoCondicionante == 5 && condicionanteAtual.Situacao.Id == 4)                        //5 - encerrada | 4 - atendida
                        {
                            continue;
                        }

                        //Ativa a condicionante
                        if (novaSituacaoCondicionante == 2 && condicionanteAtual.Situacao.Id != 2)
                        {
                            if (condicionanteAtual.PossuiPrazo)
                            {
                                //Regras do Modelo Sem Prazo em Condicionantes com Prazo
                                if (!titulo.Modelo.Regra(eRegra.Prazo))
                                {
                                    condicionanteAtual.DataInicioPrazo.Data = titulo.DataEmissao.Data;
                                    condicionanteAtual.DataVencimento.Data  = titulo.DataEmissao.Data.Value.AddDays(condicionanteAtual.Prazo.GetValueOrDefault());
                                }
                                else
                                {
                                    condicionanteAtual.DataInicioPrazo     = titulo.DataInicioPrazo;
                                    condicionanteAtual.DataVencimento.Data = titulo.DataInicioPrazo.Data.Value.AddDays(condicionanteAtual.Prazo.GetValueOrDefault());
                                }
                            }

                            //Periodicidade
                            if (!item.PossuiPeriodicidade && item.Periodicidades != null)
                            {
                                item.Periodicidades.Clear();
                            }

                            TituloCondicionantePeriodicidade periodicidade = null;

                            if (item.PossuiPeriodicidade)
                            {
                                int diasTotais = item.PeriodicidadeValor.GetValueOrDefault();

                                switch (item.PeriodicidadeTipo.Id)
                                {
                                case 1:                                        //dia
                                    break;

                                case 2:                                        //Mes
                                    diasTotais *= 30;
                                    break;

                                case 3:                                        //Ano
                                    diasTotais *= 365;
                                    break;

                                default:
                                    break;
                                }

                                if (item.Prazo.GetValueOrDefault() > 0 && item.Prazo.GetValueOrDefault() <= diasTotais)
                                {
                                    int qtdPeriodo = Math.Abs((diasTotais / (item.Prazo.GetValueOrDefault())));
                                    for (int i = 0; i < qtdPeriodo; i++)
                                    {
                                        periodicidade             = new TituloCondicionantePeriodicidade();
                                        periodicidade.Situacao.Id = 2;                                        //Ativa

                                        //Regras do Modelo Sem Prazo em Condicionantes com Prazo
                                        if (!titulo.Modelo.Regra(eRegra.Prazo))
                                        {
                                            periodicidade.DataInicioPrazo.Data = titulo.DataEmissao.Data.Value.AddDays(i * item.Prazo.GetValueOrDefault());
                                            periodicidade.DataVencimento.Data  = titulo.DataEmissao.Data.Value.AddDays((i + 1) * item.Prazo.GetValueOrDefault());
                                        }
                                        else
                                        {
                                            periodicidade.DataInicioPrazo.Data = titulo.DataInicioPrazo.Data.Value.AddDays(i * item.Prazo.GetValueOrDefault());
                                            periodicidade.DataVencimento.Data  = titulo.DataInicioPrazo.Data.Value.AddDays((i + 1) * item.Prazo.GetValueOrDefault());
                                        }

                                        item.Periodicidades.Add(periodicidade);
                                    }
                                }
                            }

                            condicionanteAtual.Periodicidades = item.Periodicidades;
                            condicionanteAtual.Situacao.Id    = novaSituacaoCondicionante;
                            _daCondicionante.Ativar(condicionanteAtual, bancoDeDados);
                        }
                        else
                        {
                            condicionanteAtual.Situacao.Id = novaSituacaoCondicionante;
                            _daCondicionante.AlterarSituacao(condicionanteAtual, banco: bancoDeDados);
                        }
                    }
                }

                #endregion

                _da.AlterarSituacao(titulo, bancoDeDados);

                #region Atividades

                TituloBus        tituloBus           = new TituloBus();
                AtividadeBus     atividadeBus        = new AtividadeBus();
                List <Atividade> lstTituloAtividades = null;

                #region Título Concluido

                if (titulo.Situacao.Id == (int)eTituloSituacao.Concluido)                //3 - Concluido
                {
                    lstTituloAtividades = tituloBus.ObterAtividades(titulo.Id);

                    if (lstTituloAtividades != null && lstTituloAtividades.Count > 0)
                    {
                        int?situacao = null;
                        if (EspecificiadadeBusFactory.Possui(titulo.Modelo.Codigo.GetValueOrDefault()))
                        {
                            IEspecificidadeBus busEsp = EspecificiadadeBusFactory.Criar(titulo.Modelo.Codigo.GetValueOrDefault());
                            situacao = busEsp.ObterSituacaoAtividade(titulo.Id);
                        }

                        if (situacao != null ||
                            LstModeloCodigoPendencia.Any(x => x == titulo.Modelo.Codigo.GetValueOrDefault()) ||
                            LstModeloCodigoIndeferido.Any(x => x == titulo.Modelo.Codigo.GetValueOrDefault()))
                        {
                            eAtividadeSituacao atividadeSituacao =
                                (LstModeloCodigoPendencia.Any(x => x == titulo.Modelo.Codigo.GetValueOrDefault())) ? eAtividadeSituacao.ComPendencia : eAtividadeSituacao.Indeferida;

                            if (situacao != null)
                            {
                                atividadeSituacao = (eAtividadeSituacao)situacao;
                            }

                            atividadeBus.AlterarSituacao(lstTituloAtividades, atividadeSituacao, bancoDeDados);
                        }
                        else
                        {
                            foreach (Atividade atividade in lstTituloAtividades)
                            {
                                if (atividadeBus.VerificarDeferir(atividade, bancoDeDados))
                                {
                                    atividade.SituacaoId = (int)eAtividadeSituacao.Deferida;
                                    atividadeBus.AlterarSituacao(atividade, bancoDeDados);
                                }
                            }
                        }
                    }
                }

                #endregion

                #region Título Encerrado

                if (titulo.Situacao.Id == (int)eTituloSituacao.Encerrado)                //Encerrado
                {
                    lstTituloAtividades = tituloBus.ObterAtividades(titulo.Id);
                    eAtividadeSituacao situacaoAtual = eAtividadeSituacao.EmAndamento;

                    if (lstTituloAtividades != null && lstTituloAtividades.Count > 0)
                    {
                        foreach (Atividade atividade in lstTituloAtividades)
                        {
                            situacaoAtual = (eAtividadeSituacao)atividadeBus.ObterAtividadeSituacao(atividade, bancoDeDados).SituacaoId;

                            if (situacaoAtual == eAtividadeSituacao.Indeferida || situacaoAtual == eAtividadeSituacao.ComPendencia)
                            {
                                atividade.SituacaoId = (int)eAtividadeSituacao.EmAndamento;
                                atividadeBus.AlterarSituacao(atividade, bancoDeDados);
                            }
                            else
                            {
                                if (titulo.MotivoEncerramentoId == 1 || titulo.MotivoEncerramentoId == 4)
                                {
                                    atividade.SituacaoId = (int)eAtividadeSituacao.EmAndamento;
                                    atividadeBus.AlterarSituacao(atividade, bancoDeDados);
                                }
                                else if (atividadeBus.VerificarEncerrar(atividade, bancoDeDados))
                                {
                                    atividade.SituacaoId = (int)eAtividadeSituacao.Encerrada;
                                    atividadeBus.AlterarSituacao(atividade, bancoDeDados);
                                }
                            }
                        }
                    }
                }

                #endregion

                #region Título Prorrogado

                if (titulo.Situacao.Id == (int)eTituloSituacao.Prorrogado)                //6 - Prorrogar
                {
                    lstTituloAtividades = tituloBus.ObterAtividades(titulo.Id);

                    if (lstTituloAtividades != null && lstTituloAtividades.Count > 0)
                    {
                        if (LstModeloCodigoPendencia.Any(x => x == titulo.Modelo.Codigo) ||
                            LstModeloCodigoIndeferido.Any(x => x == titulo.Modelo.Codigo))
                        {
                            eAtividadeSituacao atividadeSituacao =
                                (LstModeloCodigoPendencia.Any(x => x == titulo.Modelo.Codigo)) ? eAtividadeSituacao.ComPendencia : eAtividadeSituacao.Indeferida;

                            atividadeBus.AlterarSituacao(lstTituloAtividades, atividadeSituacao, bancoDeDados);
                        }
                        else
                        {
                            int finalidade = _da.VerificarEhTituloAnterior(titulo);
                            if (finalidade > 0)
                            {
                                eAtividadeSituacao atividadeSituacao = (finalidade == 1) ? eAtividadeSituacao.NovaFase : eAtividadeSituacao.EmRenovacao;
                                atividadeBus.AlterarSituacao(lstTituloAtividades, atividadeSituacao, bancoDeDados);
                            }
                            else
                            {
                                foreach (Atividade atividade in lstTituloAtividades)
                                {
                                    if (atividadeBus.VerificarDeferir(atividade, bancoDeDados))
                                    {
                                        atividade.SituacaoId = (int)eAtividadeSituacao.Deferida;
                                        atividadeBus.AlterarSituacao(atividade, bancoDeDados);
                                        continue;
                                    }

                                    //Voltar a situação default de andamento
                                    atividade.SituacaoId = (int)eAtividadeSituacao.EmAndamento;
                                    atividadeBus.AlterarSituacao(atividade, bancoDeDados);
                                }
                            }
                        }
                    }
                }

                #endregion

                #endregion

                #region Gerar Pdf de Titulo

                ArquivoBus arqBus = new ArquivoBus(eExecutorTipo.Interno);

                if (isGerarPdf && titulo.Modelo.Regra(eRegra.PdfGeradoSistema))
                {
                    TituloBus bus = new TituloBus();

                    titulo.ArquivoPdf.Nome        = "Titulo.pdf";
                    titulo.ArquivoPdf.Extensao    = ".pdf";
                    titulo.ArquivoPdf.ContentType = "application/pdf";
                    titulo.ArquivoPdf.Buffer      = bus.GerarPdf(titulo, bancoDeDados);

                    if (titulo.ArquivoPdf.Buffer != null)
                    {
                        arqBus.Salvar(titulo.ArquivoPdf);

                        ArquivoDa _arquivoDa = new ArquivoDa();
                        _arquivoDa.Salvar(titulo.ArquivoPdf, User.EtramiteIdentity.FuncionarioId, User.EtramiteIdentity.Name,
                                          User.EtramiteIdentity.Login, (int)eExecutorTipo.Interno, User.EtramiteIdentity.FuncionarioTid, bancoDeDados);

                        _da.SalvarPdfTitulo(titulo, bancoDeDados);
                    }
                }

                #endregion

                #region Análise de Item

                //Trava a Análise de item de processo/documento caso o titulo que está sendo alterado seja um de pendência
                if (titulo.Atividades != null && titulo.Atividades.Count > 0)
                {
                    Protocolo   protocolo = titulo.Atividades.First().Protocolo;
                    AnaliseItem analise   = _busAnalise.Obter(protocolo);

                    if (analise != null && analise.Id > 0)
                    {
                        if (_busTitulo.ExisteTituloPendencia(protocolo, bancoDeDados))
                        {
                            if (analise.Situacao == 1)                            // 1 - Em andamento
                            {
                                analise.Situacao = 2;                             // 2 - Com Pendência
                                _busAnalise.AlterarSituacao(analise, bancoDeDados);
                            }
                        }
                        else if (analise.Situacao == 2)
                        {
                            analise.Situacao = 1;
                            _busAnalise.AlterarSituacao(analise, bancoDeDados);
                        }
                    }
                }

                #endregion

                #region Gerar/Enviar Email

                #region Gerar Email

                Email email = null;
                if (titulo.Situacao.Id == (int)eTituloSituacao.Concluido && titulo.Modelo.Regra(eRegra.EnviarEmail))                //3 - Concluido
                {
                    if (titulo.Modelo.Resposta(eRegra.EnviarEmail, eResposta.TextoEmail).Valor != null)
                    {
                        string textoEmail = titulo.Modelo.Resposta(eRegra.EnviarEmail, eResposta.TextoEmail).Valor.ToString();

                        if (!String.IsNullOrWhiteSpace(textoEmail))
                        {
                            Dictionary <String, String> emailKeys = new Dictionary <string, string>();

                            emailKeys.Add("[orgão sigla]", _configSys.Obter <String>(ConfiguracaoSistema.KeyOrgaoSigla));
                            emailKeys.Add("[data da conclusão]", titulo.Modelo.Regra(eRegra.Prazo) ? titulo.DataInicioPrazo.DataTexto : titulo.DataEmissao.DataTexto);
                            emailKeys.Add("[nome do modelo]", titulo.Modelo.Nome);
                            emailKeys.Add("[nome do subtipo]", titulo.Modelo.SubTipo);
                            emailKeys.Add("[nº do título]", titulo.Numero.Texto);
                            emailKeys.Add("[nº processo/documento do título]", titulo.Protocolo.Numero);
                            emailKeys.Add("[nome do empreendimento]", titulo.EmpreendimentoTexto);

                            foreach (string key in emailKeys.Keys)
                            {
                                textoEmail = textoEmail.Replace(key, emailKeys[key]);
                            }

                            email         = new Email();
                            email.Assunto = _configSys.Obter <String>(ConfiguracaoSistema.KeyOrgaoSigla);
                            email.Texto   = textoEmail;
                            email.Tipo    = eEmailTipo.TituloConcluir;
                            email.Codigo  = titulo.Id;
                        }
                    }
                }

                #endregion

                if (email != null)
                {
                    List <String> lstEmail = _da.ObterEmails(titulo.Id, bancoDeDados);

                    if (lstEmail != null && lstEmail.Count > 0)
                    {
                        email.Destinatario = String.Join(", ", lstEmail.ToArray());

                        if (titulo.Modelo.Regra(eRegra.AnexarPDFTitulo))
                        {
                            email.Anexos.Add(titulo.ArquivoPdf);
                        }

                        EmailBus emailBus = new EmailBus();
                        emailBus.Enviar(email, bancoDeDados);
                    }
                }

                #endregion

                #region [ Solicitação CAR ]

                if (LstCadastroAmbientalRuralTituloCodigo.Any(x => x == titulo.Modelo.Codigo))
                {
                    if (titulo.Situacao.Id == (int)eTituloSituacao.Concluido)
                    {
                        //Interno
                        List <int> situacoes = new List <int>()
                        {
                            (int)eCARSolicitacaoSituacao.EmCadastro, (int)eCARSolicitacaoSituacao.Pendente, (int)eCARSolicitacaoSituacao.Valido, (int)eCARSolicitacaoSituacao.Suspenso
                        };
                        CARSolicitacao solicitacao = _busCARSolicitacao.ObterPorEmpreendimento(titulo.EmpreendimentoId.GetValueOrDefault(0), situacoes, false, bancoDeDados) ?? new CARSolicitacao();

                        if (solicitacao != null && solicitacao.Id > 0)
                        {
                            solicitacao.SituacaoId        = (int)eCARSolicitacaoSituacao.SubstituidoPeloTituloCAR;
                            solicitacao.DataSituacao.Data = DateTime.Now;

                            _busCARSolicitacao.AlterarSituacao(solicitacao, bancoDeDados, mostrarMsg: false);
                        }
                        else
                        {
                            //Credenciado
                            _busCARSolicitacao.SubstituirPorTituloCARCredenciado(titulo.EmpreendimentoId.GetValueOrDefault(0), bancoDeDados);
                        }
                    }

                    if (titulo.Situacao.Id == (int)eTituloSituacao.Encerrado)
                    {
                        List <int> situacoes = new List <int>()
                        {
                            (int)eCARSolicitacaoSituacao.SubstituidoPeloTituloCAR
                        };
                        CARSolicitacao solicitacao = _busCARSolicitacao.ObterPorEmpreendimento(titulo.EmpreendimentoId.GetValueOrDefault(0), situacoes, false, bancoDeDados) ?? new CARSolicitacao();

                        if (solicitacao != null && solicitacao.Id > 0)
                        {
                            solicitacao.SituacaoAnteriorId   = solicitacao.SituacaoId;
                            solicitacao.DataSituacaoAnterior = solicitacao.DataSituacao;

                            solicitacao.SituacaoId        = (int)eCARSolicitacaoSituacao.Valido;
                            solicitacao.DataSituacao.Data = DateTime.Now;

                            _busCARSolicitacao.AlterarSituacao(solicitacao, bancoDeDados, mostrarMsg: false);
                        }
                        else
                        {
                            //Credenciado
                            Empreendimento empreendimento = new EmpreendimentoBus().ObterSimplificado(titulo.EmpreendimentoId.GetValueOrDefault(0));

                            CARSolicitacaoCredenciadoBus carSolicitacaoCredBus = new CARSolicitacaoCredenciadoBus();
                            CARSolicitacao carSolicitacaoCred = new CARSolicitacao();
                            carSolicitacaoCred.Empreendimento.Codigo = empreendimento.Codigo;
                            carSolicitacaoCredBus.AlterarSituacao(carSolicitacaoCred, new CARSolicitacao()
                            {
                                SituacaoId = (int)eCARSolicitacaoSituacao.Valido
                            });
                        }
                    }

                    //SE situacao == Encerrado
                    //TODO:Mudar Situação para Válido
                }

                #endregion

                if (!Validacao.EhValido)
                {
                    bancoDeDados.Rollback();
                    return;
                }

                #region Salvar A especificidade

                if (EspecificiadadeBusFactory.Possui(titulo.Modelo.Codigo.GetValueOrDefault()))
                {
                    IEspecificidadeBus busEsp = EspecificiadadeBusFactory.Criar(titulo.Modelo.Codigo.GetValueOrDefault());
                    titulo.Especificidade = busEsp.Obter(titulo.Id) as Especificidade;
                    titulo.Especificidade = titulo.ToEspecificidade();
                    busEsp.Salvar(titulo.Especificidade, bancoDeDados);

                    List <DependenciaLst> lstDependencias = busEsp.ObterDependencias(titulo.Especificidade);
                    if (isGerarPdf && lstDependencias != null && lstDependencias.Count > 0)
                    {
                        if (!lstDependencias.Exists(x => x.TipoId == (int)eTituloDependenciaTipo.Caracterizacao && x.DependenciaTipo == (int)eCaracterizacao.Dominialidade))
                        {
                            lstDependencias.Add(new DependenciaLst()
                            {
                                TipoId = (int)eTituloDependenciaTipo.Caracterizacao, DependenciaTipo = (int)eCaracterizacao.Dominialidade
                            });
                        }
                        _da.Dependencias(titulo.Id, titulo.Modelo.Id, titulo.EmpreendimentoId.GetValueOrDefault(), lstDependencias);
                    }
                }

                #endregion

                #region Histórico

                eHistoricoAcao eAcao;

                switch ((eAlterarSituacaoAcao)acao)
                {
                case eAlterarSituacaoAcao.EmitirParaAssinatura:
                    eAcao = eHistoricoAcao.emitir;
                    break;

                case eAlterarSituacaoAcao.CancelarEmissao:
                    eAcao = eHistoricoAcao.cancelaremissao;
                    break;

                case eAlterarSituacaoAcao.Assinar:
                    eAcao = eHistoricoAcao.assinar;
                    break;

                case eAlterarSituacaoAcao.Prorrogar:
                    eAcao = eHistoricoAcao.prorrogar;
                    break;

                case eAlterarSituacaoAcao.Encerrar:
                    eAcao = eHistoricoAcao.encerrar;
                    break;

                case eAlterarSituacaoAcao.Entregar:
                    eAcao = eHistoricoAcao.entregar;
                    break;

                default:
                    eAcao = eHistoricoAcao.emitir;
                    break;
                }

                _da.Historico.Gerar(titulo.Id, eHistoricoArtefato.titulo, eAcao, bancoDeDados);
                _da.Consulta.Gerar(titulo.Id, eHistoricoArtefato.titulo, bancoDeDados);

                #region Solicitacao CAR

                if (LstCadastroAmbientalRuralTituloCodigo.Any(x => x == titulo.Modelo.Codigo.GetValueOrDefault()))
                {
                    if (titulo.Situacao.Id != (int)eTituloSituacao.Concluido)
                    {
                        _da.Consulta.Deletar(titulo.Id, eHistoricoArtefato.carsolicitacaotitulo, bancoDeDados);
                    }
                    else
                    {
                        _da.Consulta.Gerar(titulo.Id, eHistoricoArtefato.carsolicitacaotitulo, bancoDeDados);
                    }
                }

                #endregion

                #endregion

                bancoDeDados.Commit();

                Validacao.Add(Mensagem.TituloAlterarSituacao.TituloAltSituacaoSucesso);
            }
        }
Пример #28
0
        private void GrabarDatosaEnviar(string m_Equipo,Protocolo oProtocolo,int IdMuestra, string numero)
        {
            string m_paciente = ""; string m_anioNacimiento = ""; string m_sexoPaciente = "";
            string m_listaItem = ""; string m_sectorSolicitante = ""; string m_Prefijo = "";
            string m_tipoMuestra = ""; bool marcarenviado = false;
            m_tipoMuestra = Request["tipoMuestra"].ToString();
      

            ISession m_session = NHibernateHttpModule.CurrentSession;
            ICriteria crit = m_session.CreateCriteria(typeof(DetalleProtocolo));
            crit.Add(Expression.Eq("IdProtocolo", oProtocolo));
            //crit.Add(Expression.Eq("Enviado", 0));
            IList lista = crit.List();
           
            foreach (DetalleProtocolo oDetalle in lista)
            {
                    marcarenviado = false;
                    if (m_Equipo == "Mindray")
                    {
                        m_Prefijo = Request["Prefijo"].ToString(); 
                        MindrayItem oItemMindray = new MindrayItem();
                        oItemMindray = (MindrayItem)oItemMindray.Get(typeof(MindrayItem), "IdItem", oDetalle.IdSubItem.IdItem, "Habilitado", true);                      
                            
                        if (oItemMindray != null)
                        {
                            if (m_Prefijo.Trim() != "Rutina")
                            {
                                if (oItemMindray.Prefijo == m_Prefijo.Trim())
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = oItemMindray.IdMindray.ToString();
                                    else
                                        m_listaItem += "|" + oItemMindray.IdMindray.ToString();
                                }
                            }
                            else
                            {
                                if (oItemMindray.Prefijo == "")
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = oItemMindray.IdMindray.ToString();
                                    else
                                        m_listaItem += "|" + oItemMindray.IdMindray.ToString();
                                }
                            }
                        }                                          
                    }


                    if (m_Equipo == "SysmexXS1000")
                    {
                        SysmexItemXS1000 oItemSysmex = new SysmexItemXS1000();
                        oItemSysmex = (SysmexItemXS1000)oItemSysmex.Get(typeof(SysmexItemXS1000), "IdItem", oDetalle.IdSubItem.IdItem,"Habilitado",true);
                        if (oItemSysmex != null)
                        {
                            marcarenviado = true;
                            if (m_listaItem == "")
                                m_listaItem = oItemSysmex.IdSysmex.ToString();
                            else
                                m_listaItem += "|" + oItemSysmex.IdSysmex.ToString();
                            /////////////////////////////////////////////////////////
                            ///agrega los valores absolutos de la formula leucocitaria
                            switch (oItemSysmex.IdSysmex)
                            {
                                case "NEUT%": m_listaItem += "|NEUT#"; break;
                                case "LYMPH%": m_listaItem += "|LYMPH#"; break;
                                case "MONO%": m_listaItem += "|MONO#"; break;
                                case "EO%": m_listaItem += "|EO#"; break;
                                case "BASO%": m_listaItem += "|BASO#"; break;
                            }
                            /////////////////////////////////////////////////////////
                        }
                    }


                    if (m_Equipo == "SysmexXT1800")
                    {
                        SysmexItemxt1800 oItemSysmex = new SysmexItemxt1800();
                        oItemSysmex = (SysmexItemxt1800)oItemSysmex.Get(typeof(SysmexItemxt1800), "IdItem", oDetalle.IdSubItem.IdItem,"Habilitado",true);
                        if (oItemSysmex != null)
                        {
                            marcarenviado = true;
                            if (m_listaItem == "")
                                m_listaItem = oItemSysmex.IdSysmex;
                            else
                                m_listaItem += "|" + oItemSysmex.IdSysmex;                         
                        }
                    }

                    if (m_Equipo == "Metrolab")
                    {
                        m_Prefijo = Request["Prefijo"].ToString(); 
                        MetrolabItem oItemMetrolab = new MetrolabItem();
                        oItemMetrolab = (MetrolabItem)oItemMetrolab.Get(typeof(MetrolabItem), "IdItem", oDetalle.IdSubItem.IdItem,"Habilitado", true);
                        if (oItemMetrolab != null)
                        {
                            if (m_Prefijo.Trim() != "Rutina")
                            {
                                if (oItemMetrolab.Prefijo == m_Prefijo.Trim())
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = oItemMetrolab.IdMetrolab;
                                    else
                                        m_listaItem += ";" + oItemMetrolab.IdMetrolab;
                                }
                            }
                            else
                            {
                                if (oItemMetrolab.Prefijo == "")
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = oItemMetrolab.IdMetrolab;
                                    else
                                        m_listaItem += ";" + oItemMetrolab.IdMetrolab;
                                }
                            }
                        }
                    }
                    if (m_Equipo == "Miura")
                    {
                        MiuraItem oItemMiura = new MiuraItem();
                        oItemMiura = (MiuraItem)oItemMiura.Get(typeof(MiuraItem), "IdItem", oDetalle.IdSubItem.IdItem,"Habilitado",true);
                        if (oItemMiura != null)
                        {
                            if (m_Prefijo.Trim() != "Rutina")
                            {
                                if (oItemMiura.Prefijo == m_Prefijo.Trim())
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem ="^" + oItemMiura.IdMiura + "^^"; 
                                    else
                                        m_listaItem += "|" + "^" + oItemMiura.IdMiura + "^^" ;
                                }
                            }
                            else
                            {
                                if (oItemMiura.Prefijo == "")
                                {
                                    marcarenviado = true;
                                    if (m_listaItem == "")
                                        m_listaItem = "^" + oItemMiura.IdMiura + "^^";
                                    else
                                        m_listaItem += "|" + "^" + oItemMiura.IdMiura + "^^";
                                }
                            }
                        }
                    }
                if (m_Equipo == "CobasC311")
                {

                    m_Prefijo = Request["Prefijo"].ToString();
                    
                    CobasC311Item oItemCobasC311 = new CobasC311Item();
                    oItemCobasC311 = (CobasC311Item)oItemCobasC311.Get(typeof(CobasC311Item), "IdItemSil", oDetalle.IdSubItem.IdItem, "Habilitado", true);
                    if (oItemCobasC311 != null)
                    {
                        if (m_Prefijo.Trim() != "Rutina")
                        {
                            if (oItemCobasC311.Prefijo.Trim() == m_Prefijo.Trim())
                            {
                                marcarenviado = true;
                                if (m_listaItem == "")
                                    m_listaItem = oItemCobasC311.IdItemCobas.ToString() + "|" + oItemCobasC311.TipoMuestra.ToString();
                                else
                                    m_listaItem += ";" + oItemCobasC311.IdItemCobas + "|" + oItemCobasC311.TipoMuestra.ToString();
                            }
                        }
                        else
                        {
                            if (oItemCobasC311.Prefijo.Trim() == "")
                            {
                                marcarenviado = true;
                                if (m_listaItem == "")
                                    m_listaItem = oItemCobasC311.IdItemCobas.ToString() + "|" + oItemCobasC311.TipoMuestra.ToString();
                                else
                                    m_listaItem += ";" + oItemCobasC311.IdItemCobas + "|" + oItemCobasC311.TipoMuestra.ToString();
                            }
                        }
                    }
                }


                if (marcarenviado)
                    {   ////////marca como enviado
                        oDetalle.Enviado = 1;
                        oDetalle.IdUsuarioEnvio = int.Parse(Session["idUsuario"].ToString());
                        oDetalle.FechaEnvio = DateTime.Now;
                        oDetalle.Save();
                        ///////////////
                    }
             }


            if (m_listaItem != "")
            {
                m_sexoPaciente = oProtocolo.Sexo; if (m_sexoPaciente == "I") m_sexoPaciente = "O";
                
                if (m_Equipo == "SysmexXT1800")
                {
                    if (m_sexoPaciente == "O") m_sexoPaciente = "U";
                    m_paciente = oProtocolo.IdPaciente.NumeroDocumento.ToString() + "-" + oProtocolo.IdPaciente.Apellido + "-" + oProtocolo.IdPaciente.Nombre;
                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.ToString("yyyyMMdd");
                    m_tipoMuestra = "Sangre";
                }

                if (m_Equipo == "SysmexXS1000")
                {
                    m_paciente = oProtocolo.IdPaciente.NumeroDocumento.ToString() + " - " + oProtocolo.IdPaciente.Apellido + "  " + oProtocolo.IdPaciente.Nombre;
                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.ToString("yyyyMMdd");
                    m_tipoMuestra = "Sangre";
                }
                
                if (m_Equipo == "Mindray")
                {                   
                    m_Prefijo = Request["Prefijo"].ToString(); 
                    if (m_Prefijo.Trim() != "Rutina") numero = numero + "-" + m_tipoMuestra.Substring(0, 1).ToUpper() + "-" + m_Prefijo.ToUpper();
                    else   numero = numero + "-" + m_tipoMuestra.Substring(0, 1).ToUpper();
                    m_paciente = oProtocolo.IdPaciente.Apellido + " " + oProtocolo.IdPaciente.Nombre;
                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.Year.ToString();
               
                }
                if (m_Equipo == "Miura")
                {
                    m_Prefijo = Request["Prefijo"].ToString();
                    if (m_Prefijo.Trim() != "Rutina") numero = numero + "-" + m_Prefijo.ToUpper();
                    if (oProtocolo.IdPaciente.IdEstado == 1)
                        m_paciente = oProtocolo.IdPaciente.NumeroDocumento.ToString() + " - " + oProtocolo.IdPaciente.Apellido + "^" + oProtocolo.IdPaciente.Nombre;
                    else
                        m_paciente = "0 - " + oProtocolo.IdPaciente.Apellido + "^" + oProtocolo.IdPaciente.Nombre;

                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.ToString("yyyyMMdd");
                    m_sexoPaciente = oProtocolo.Sexo; if (m_sexoPaciente == "I") m_sexoPaciente = "U";
                }

                if (m_Equipo == "Metrolab")
                {
                    m_Prefijo = Request["Prefijo"].ToString();
                    if (m_Prefijo.Trim() != "Rutina") numero = numero + "-"+ m_Prefijo.ToUpper();                  

                    string numeroDocumento = "";
                    if (oProtocolo.IdPaciente.IdEstado==1)
                        numeroDocumento = oProtocolo.IdPaciente.NumeroDocumento.ToString();
                    m_paciente =numeroDocumento+";"+ oProtocolo.IdPaciente.Apellido + " " + oProtocolo.IdPaciente.Nombre;
                    if (oProtocolo.UnidadEdad == 0)

                        //string resultado = n.ToString.PadRight(9, '0')
                        m_anioNacimiento = oProtocolo.Edad.ToString();
                    else
                        m_anioNacimiento = "0";
                    m_sexoPaciente = oProtocolo.Sexo;
                }
                
                if (m_Equipo == "CobasC311")
                {
                    m_Prefijo = Request["Prefijo"].ToString();
                    if (m_Prefijo.Trim() != "Rutina")
                        numero = numero + "-" + m_Prefijo.ToUpper();

                    m_paciente = oProtocolo.IdPaciente.NumeroDocumento.ToString() + " - " + oProtocolo.IdPaciente.Apellido + "  " + oProtocolo.IdPaciente.Nombre;
                    m_anioNacimiento = oProtocolo.IdPaciente.FechaNacimiento.ToString("yyyyMMdd");
                    m_sexoPaciente = oProtocolo.Sexo;
                    //Ver cuales son las condiciones del tipo de muestra
                    //m_Prefijo = Request["Prefijo"].ToString();
                    //m_tipoMuestra = "";
                    //if (m_Prefijo.Trim() != "Rutina") numero = numero + "/" + m_Prefijo.ToUpper();


                }


                string m_urgente = "N";  if (oProtocolo.IdPrioridad.IdPrioridad == 2) m_urgente = "Y";
                m_sectorSolicitante = oProtocolo.IdSector.Nombre;


                //////INSERTAR LOS ANALISIS EN LA TABLA TEMPORAL LAB_TempProtocoloEnvio
                ProtocoloEnvio oRegistro = new ProtocoloEnvio();
                oRegistro.IdMuestra = IdMuestra;
                oRegistro.NumeroProtocolo = numero;
                oRegistro.Iditem = m_listaItem;
                oRegistro.Paciente = m_paciente;
                oRegistro.AnioNacimiento = m_anioNacimiento;
                oRegistro.Sexo = m_sexoPaciente;
                oRegistro.SectorSolicitante = m_sectorSolicitante;
                oRegistro.MedicoSolicitante = "";
                oRegistro.TipoMuestra = m_tipoMuestra;
                oRegistro.Urgente = m_urgente;
                oRegistro.Equipo = m_Equipo;
                oRegistro.Save();
                //////////////////////////////////////////// 
            }

        }
Пример #29
0
        private void guardarMetrolab(MindrayResultado oResultado, string s_prefijo, ISession m_session, Protocolo oProtocolo)
        {
            /// busco el item en el lis
            ICriteria crit2 = m_session.CreateCriteria(typeof(MetrolabItem));

            crit2.Add(Expression.Eq("IdMetrolab", oResultado.Descripcion));
            crit2.Add(Expression.Eq("Prefijo", s_prefijo));
            crit2.Add(Expression.Eq("Habilitado", true));
            MetrolabItem oItem = (MetrolabItem)crit2.UniqueResult();

            if (oItem != null)
            {
                int  IdItemLIS = oItem.IdItem; // id item en el lis
                Item oItemLIS  = new Item();
                oItemLIS = (Item)oItemLIS.Get(typeof(Item), IdItemLIS);
                string valorObtenido = oResultado.ValorObtenido;

                DetalleProtocolo oDetalle = new DetalleProtocolo();
                oDetalle = (DetalleProtocolo)oDetalle.Get(typeof(DetalleProtocolo), "IdProtocolo", oProtocolo, "IdSubItem", oItemLIS);
                if (oDetalle != null)
                {
                    if (oDetalle.IdUsuarioValida == 0)     // si no fue validado
                    {
                        if (oItemLIS.IdTipoResultado == 1) //Si es numero
                        {
                            decimal s_ItemNum = decimal.Parse(valorObtenido.Replace(",", "."), System.Globalization.CultureInfo.InvariantCulture);
                            oDetalle.ResultadoNum   = s_ItemNum;
                            oDetalle.Enviado        = 2;
                            oDetalle.ConResultado   = true;
                            oDetalle.FechaResultado = DateTime.Now;
                            oDetalle.Save();
                            oDetalle.GrabarAuditoriaDetalleProtocolo("Automático Metrolab", int.Parse(Session["idUsuario"].ToString()));
                        }
                        else //Si es texto
                        {
                            oDetalle.ResultadoCar   = valorObtenido;
                            oDetalle.Enviado        = 2;
                            oDetalle.ConResultado   = true;
                            oDetalle.FechaResultado = DateTime.Now;
                            oDetalle.Save();
                            oDetalle.GrabarAuditoriaDetalleProtocolo("Automático Metrolab", int.Parse(Session["idUsuario"].ToString()));
                        }
                        if (oProtocolo.Estado == 0)
                        {
                            oProtocolo.Estado = 1;
                            oProtocolo.Save();
                        }
                    } // fin if idusuario validado
                }     // fin odetalle null
            }
        }
Пример #30
0
 public Chamado AbrirChamado(Cliente cliente, Protocolo protocolo, string descricao)
 {
     return(new Chamado(cliente, protocolo, descricao));
 }