public void CopiarTarifario(Tarifario tar, int Año, bool Vigente) { DataAnalisis enlace = new DataAnalisis(); if (!DataAnalisis.GetCheckTarifarioByAño(Año)) { Tarifario tar1 = new Tarifario(); tar1.FechaRegistro = DateTime.Now; tar1.Año = Año; tar1.Vigente = Vigente; Dictionary <int, TarifarioDetalle> listado = new Dictionary <int, TarifarioDetalle>(); TarifarioDetalle tarDet; int i = 0; foreach (TarifarioDetalle det in tar.Listado.Values) { tarDet = new TarifarioDetalle(); tarDet.IdPaquete = det.IdPaquete; tarDet.Precio = det.Precio; listado.Add(i, tarDet); i++; } tar1.Listado = listado; DataAnalisis.AddTarifario(tar1); } else { throw new Exception("Ya existe un tarifario registrado para este año: " + tar.Año); } }
public static void UpdTarifarioVigente(Tarifario tar) { SqlConnection conexion = new SqlConnection(); SqlCommand comando = new SqlCommand(); try { conexion.ConnectionString = ConfiguracionDataAccess.GetInstance().CadenaConexion; comando.Connection = conexion; comando.CommandText = ProcUpd.UPD_TARIFARIOCAB_VIGENTE; comando.CommandType = CommandType.StoredProcedure; comando.Parameters.AddWithValue("@ID", tar.IdData); comando.Connection.Open(); comando.ExecuteNonQuery(); } catch (SqlException e) { MessageBox.Show(e.Message); } finally { conexion.Close(); comando.Dispose(); } }
public void CrearTarifario(int Año, bool Vigente) { Tarifario tar = null; DataAnalisis enlace = new DataAnalisis(); if (!DataAnalisis.GetCheckTarifarioByAño(Año)) { tar = new Tarifario(); tar.FechaRegistro = DateTime.Now; tar.Año = Año; tar.Vigente = Vigente; Dictionary <int, TarifarioDetalle> listado = new Dictionary <int, TarifarioDetalle>(); TarifarioDetalle tarDet; int i = 0; foreach (Analisis anal in ListaAnalisis.GetInstance().Analisis.Values) { tarDet = new TarifarioDetalle(); tarDet.IdPaquete = anal.IdData; tarDet.Precio = 0.0; listado.Add(i, tarDet); i++; } tar.Listado = listado; DataAnalisis.AddTarifario(tar); } else { throw new Exception("Ya existe un tarifario registrado para este año: " + Año); } }
private void BtnSave_Click(object sender, EventArgs e) { BLTarifario enlace = new BLTarifario(); Tarifario tar = new Tarifario(); tar.Año = tarifarios[IdTarifarioSelected].Año; tar.FechaRegistro = tarifarios[IdTarifarioSelected].FechaRegistro; tar.IdData = tarifarios[IdTarifarioSelected].IdData; tar.Vigente = tarifarios[IdTarifarioSelected].Vigente; Dictionary <int, TarifarioDetalle> listado = new Dictionary <int, TarifarioDetalle>(); NumberFormatInfo nfi = new NumberFormatInfo(); nfi.NumberDecimalSeparator = "."; foreach (DataRow row in tablaDataTarifario.Rows) { TarifarioDetalle det = new TarifarioDetalle(); det.IdData = (int)row[0]; det.IdPaquete = tarifarios[IdTarifarioSelected].Listado[det.IdData].IdPaquete; det.IdTarifarioCab = tarifarios[IdTarifarioSelected].Listado[det.IdData].IdTarifarioCab; double es = double.Parse(row[2].ToString(), nfi); det.Precio = es; listado.Add(det.IdData, det); } tar.Listado = listado; enlace.ActualizarTarifario(tar); changeState = false; this.CargarDatos(); this.CargarDatosEnDGVTar(); }
private System.Data.DataTable ObtenerTablaFormatoDatosReporteEconomicoMedico(int ano, int mes, int idMedico) { BLTarifario enlace = new BLTarifario(); Tarifario tar = enlace.ObtenerTarifario(); System.Data.DataTable tablaInterna = new System.Data.DataTable(); try { LogicaOrden enlaceOrden = new LogicaOrden(); List <int> codigosExamen = new List <int>(); Dictionary <int, Dictionary <int, int> > reporteAcumulado = enlaceOrden.ObtenerReporteAcumuladoMensual(ano, mes, idMedico); Dictionary <int, Dictionary <int, int> > reporteCantidad = enlaceOrden.ObtenerReporteCantidadMensual(ano, mes, idMedico); tablaInterna.Columns.Add("id", typeof(int)); tablaInterna.Columns.Add("nombre", typeof(string)); tablaInterna.Columns.Add("nroP", typeof(int)); tablaInterna.Columns.Add("acuP", typeof(int)); tablaInterna.Columns.Add("nroS", typeof(int)); tablaInterna.Columns.Add("acuS", typeof(int)); tablaInterna.Columns.Add("nroE", typeof(int)); tablaInterna.Columns.Add("acuE", typeof(int)); tablaInterna.Columns.Add("precioUn", typeof(double)); tablaInterna.Columns.Add("totalMes", typeof(double)); tablaInterna.Columns.Add("cob", typeof(int)); foreach (int idAnalisis in ListaAnalisis.GetInstance().Coleccion.Keys) { DataRow row = tablaInterna.NewRow(); row[0] = idAnalisis; row[1] = ListaAnalisis.GetInstance().Analisis[idAnalisis].Nombre; row[2] = (existDataInDictionary(idAnalisis, reporteCantidad[0]) ? reporteCantidad[0][idAnalisis] : 0); //contador P row[3] = (existDataInDictionary(idAnalisis, reporteAcumulado[0]) ? reporteAcumulado[0][idAnalisis] : 0); //acumulador P row[4] = (existDataInDictionary(idAnalisis, reporteCantidad[1]) ? reporteCantidad[1][idAnalisis] : 0); // Contador S row[5] = (existDataInDictionary(idAnalisis, reporteAcumulado[1]) ? reporteAcumulado[1][idAnalisis] : 0); //acumulador S row[6] = (existDataInDictionary(idAnalisis, reporteCantidad[2]) ? reporteCantidad[2][idAnalisis] : 0); //Contador Ex row[7] = (existDataInDictionary(idAnalisis, reporteAcumulado[2]) ? reporteAcumulado[2][idAnalisis] : 0); //acumulador Ex row[8] = enlace.ObtenerTarifarioDetalle(tar, idAnalisis).Precio; row[9] = (int)row[2] * enlace.ObtenerTarifarioDetalle(tar, idAnalisis).Precio; row[10] = (int)row[2] + (int)row[4] + (int)row[6] + (int)row[3] + (int)row[5] + (int)row[7]; tablaInterna.Rows.Add(row); } } catch (Exception ex) { MessageBox.Show(ex.Message); } return(tablaInterna); }
public TarifarioDetalle ObtenerTarifarioDetalle(Tarifario tar, int idAnalisis) { foreach (TarifarioDetalle tarD in tar.Listado.Values) { if (tarD.IdPaquete == idAnalisis) { return(tarD); } } return(null); }
private System.Data.DataTable ObtenerTablaFormatoDatosReporteResultado(int ano, int mes) { BLTarifario enlace = new BLTarifario(); Tarifario tar = enlace.ObtenerTarifario(); System.Data.DataTable tablaInterna = new System.Data.DataTable(); try { LogicaOrden enlaceOrden = new LogicaOrden(); List <object[]> resultados = enlaceOrden.ObtenerReporteResultado(ano, mes); tablaInterna.Columns.Add("dni", typeof(string)); tablaInterna.Columns.Add("nombre", typeof(string)); tablaInterna.Columns.Add("apellido1", typeof(string)); tablaInterna.Columns.Add("apellido2", typeof(string)); tablaInterna.Columns.Add("edad", typeof(double)); tablaInterna.Columns.Add("sexo", typeof(string)); tablaInterna.Columns.Add("gestante", typeof(string)); tablaInterna.Columns.Add("Examen", typeof(string)); tablaInterna.Columns.Add("respuesta", typeof(string)); tablaInterna.Columns.Add("nota", typeof(string)); tablaInterna.Columns.Add("cobertura", typeof(string)); tablaInterna.Columns.Add("estado", typeof(string)); foreach (object[] obt in resultados) { DataRow row = tablaInterna.NewRow(); row[0] = obt[1].ToString(); row[1] = obt[2].ToString(); row[2] = obt[3].ToString(); row[3] = obt[4].ToString(); row[4] = obt[5]; row[5] = DiccionarioGeneral.GetInstance().TipoSexo[(int)obt[6]]; row[6] = Convert.ToBoolean(obt[7])?"SI":"NO"; row[7] = Plantillas.GetInstance().GetPlantilla((int)obt[0]).Nombre; row[8] = obt[8].ToString().Replace('.', ','); row[9] = obt[9]; row[10] = DiccionarioGeneral.GetInstance().TipoCobertura[(int)obt[10]]; row[11] = DiccionarioGeneral.GetInstance().EstadoExamen[(int)obt[11]]; tablaInterna.Rows.Add(row); } } catch (Exception ex) { MessageBox.Show(ex.Message); } return(tablaInterna); }
public static void AddTarifario(Tarifario tar) { SqlConnection conexion = new SqlConnection(); SqlCommand comando = new SqlCommand(); try { DataTable detalleTemp = new DataTable(); detalleTemp.Columns.Add("ID", typeof(int)); detalleTemp.Columns.Add("PRECIO", typeof(double)); detalleTemp.Columns.Add("IDPAQUETE", typeof(int)); detalleTemp.Columns.Add("IDTARIFARIOCAB", typeof(int)); foreach (TarifarioDetalle det in tar.Listado.Values) { DataRow row = detalleTemp.NewRow(); row[0] = 0; row[1] = det.Precio; row[2] = det.IdPaquete; row[3] = det.IdTarifarioCab; detalleTemp.Rows.Add(row); } conexion.ConnectionString = ConfiguracionDataAccess.GetInstance().CadenaConexion; comando.Connection = conexion; comando.CommandText = ProcAdd.ADD_TARIFARIOCAB; comando.CommandType = CommandType.StoredProcedure; comando.Parameters.AddWithValue("@vigente", tar.Vigente); comando.Parameters.AddWithValue("@ano", tar.Año); comando.Parameters.AddWithValue("@FECHAREG", tar.FechaRegistro); comando.Parameters.AddWithValue("@DETALLE", detalleTemp).SqlDbType = SqlDbType.Structured; MessageBox.Show(""); comando.Connection.Open(); comando.ExecuteNonQuery(); } catch (SqlException e) { MessageBox.Show(e.Message); } finally { conexion.Close(); comando.Dispose(); } }
public static Tarifario GetTarifario(int idTarifario) { Tarifario tarif = null; SqlConnection conexion = new SqlConnection(); SqlCommand comando = new SqlCommand(); try { conexion.ConnectionString = ConfiguracionDataAccess.GetInstance().CadenaConexion; comando.Connection = conexion; comando.CommandText = ProcGet.GET_TARIFARIOCAB_BYID; comando.CommandType = CommandType.StoredProcedure; comando.Parameters.AddWithValue("@ID", idTarifario); comando.Connection.Open(); SqlDataReader resultado = comando.ExecuteReader(); while (resultado.Read()) { tarif = new Tarifario(); tarif.IdData = Convert.ToInt32(resultado["id"]); tarif.Año = Convert.ToInt32(resultado["ano"]); tarif.FechaRegistro = Convert.ToDateTime(resultado["fechaReg"]); tarif.Vigente = Convert.ToBoolean(resultado["vigente"]); tarif.Listado = GetTarifarioDet(tarif.IdData); } resultado.Close(); } catch (SqlException e) { MessageBox.Show(e.Message); } finally { conexion.Close(); comando.Dispose(); } return(tarif); }
public FormatoImpresion CrearDocumento(Orden orden, Paciente paciente, Dictionary <int, Examen> examenPorOrden) { List <Examen> examenSelectedTemp; FormatoImpresion pagina = new FormatoImpresion(); pagina.Orden = "O" + orden.IdData; pagina.Nombre = paciente.Nombre + " " + paciente.ApellidoPaterno + " " + paciente.ApellidoMaterno; pagina.Historia = paciente.Historia; pagina.Edad = this.GetAge(paciente); FormatoImpresion.PaginaLinea lineaTemp; foreach (OrdenDetalle detalle in orden.Detalle.Values) { examenSelectedTemp = GetExamenes(examenPorOrden, detalle); string nombreTar = Tarifario.GetInstance().Paquetes[detalle.IdDataTarifa].Nombre; string nombreEx = null; lineaTemp = new FormatoImpresion.PaginaLinea(); lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.TituloInicio; lineaTemp.Nombre = nombreTar; pagina.Detalles.Add(lineaTemp); foreach (Examen ex in examenSelectedTemp) { nombreEx = Plantillas.GetInstance().GetPlantilla(ex.IdPlantilla).Nombre; if (!nombreEx.Equals(nombreTar)) { lineaTemp = new FormatoImpresion.PaginaLinea(); lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.SubTitulo; lineaTemp.Nombre = nombreEx; pagina.Detalles.Add(lineaTemp); } Dictionary <int, PlantillaDetalle> detalles = Plantillas.GetInstance().GetPlantilla(ex.IdPlantilla).Detalle; for (int i = 0; i < detalles.Count; i++) { switch (detalles[i].Tipo) { case PlantillaDetalle.TipoDetalle.Grupo: lineaTemp = new FormatoImpresion.PaginaLinea(); lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.GrupoInicio; lineaTemp.Nombre = detalles[i].Grupo.Nombre; pagina.Detalles.Add(lineaTemp); if (detalles[i].Grupo.IdData == 4) //Para el grupo especial Medicina // Luego se puede mejorar Agregando un elemento deseado incorporandolo { foreach (Item itemG in detalles[i].Grupo.Items.Values) { lineaTemp = new FormatoImpresion.PaginaLinea(); lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.ItemSimple; lineaTemp.Nombre = " * " + itemG.Nombre; int indice = Convert.ToInt32(ex.DetallesByItem[itemG.IdData].Campo); if (indice != 0) { lineaTemp.Resultado = itemG.OpcionesByIndice[indice]; pagina.Detalles.Add(lineaTemp); } } } else { foreach (Item itemG in detalles[i].Grupo.Items.Values) { lineaTemp = new FormatoImpresion.PaginaLinea(); lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.ItemSimple; lineaTemp.Nombre = " * " + itemG.Nombre; switch (itemG.TipoCampo) { case TipoCampo.Input: lineaTemp.Resultado = ex.DetallesByItem[itemG.IdData].Campo.ToString(); if (itemG.TieneUnidad) { lineaTemp.Resultado += itemG.Unidad; } lineaTemp.Resultado += ClasificarItem(paciente, ex.DetallesByItem[itemG.IdData]); break; case TipoCampo.Lista: lineaTemp.Resultado = itemG.OpcionesByIndice[Convert.ToInt32(ex.DetallesByItem[itemG.IdData].Campo)]; break; case TipoCampo.Texto: lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.ItemTexto; lineaTemp.Resultado = ex.DetallesByItem[itemG.IdData].Campo.ToString(); break; } pagina.Detalles.Add(lineaTemp); } } lineaTemp = new FormatoImpresion.PaginaLinea(); lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.GrupoFin; break; case PlantillaDetalle.TipoDetalle.Item: Item item = detalles[i].Item; lineaTemp = new FormatoImpresion.PaginaLinea(); lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.ItemSimple; if (!nombreEx.Equals(item.Nombre)) { lineaTemp.Nombre = item.Nombre; } else { lineaTemp.Nombre = "RESULTADO"; } switch (item.TipoCampo) { case TipoCampo.Input: lineaTemp.Resultado = ex.DetallesByItem[item.IdData].Campo.ToString(); if (item.TieneUnidad) { lineaTemp.Resultado += " " + item.Unidad; } switch (item.TipoDato) { case TipoDato.Entero: lineaTemp.Resultado += ClasificarItem(paciente, ex.DetallesByItem[item.IdData]); break; case TipoDato.Decimal: lineaTemp.Resultado += ClasificarItem(paciente, ex.DetallesByItem[item.IdData]); break; } break; case TipoCampo.Lista: lineaTemp.Resultado = item.OpcionesByIndice[Convert.ToInt32(ex.DetallesByItem[item.IdData].Campo)]; break; case TipoCampo.Texto: lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.ItemTexto; lineaTemp.Resultado = ex.DetallesByItem[item.IdData].Campo.ToString(); break; } pagina.Detalles.Add(lineaTemp); break; } } } } return(pagina); }
public void ActualizarVigenteTarifario(Tarifario tar) { DataAnalisis.UpdTarifarioVigente(tar); }
public void ActualizarTarifario(Tarifario tar) { DataAnalisis.UpdTarifario(tar); }
private void BtnAbrir_Click(object sender, EventArgs e) { BLOrden enlaceOrden = new BLOrden(); tabla.Rows.Clear(); int mes = ((KeyValuePair <int, string>)comboMes.SelectedItem).Key; int ano = Convert.ToInt32(campAno.Text); int area = ((KeyValuePair <int, string>)comboArea.SelectedItem).Key; List <int> contadorByTarifas = new List <int>(); foreach (Paquete i in Tarifario.GetInstance().Paquetes.Values) { if (area == i.IdArea)// { contadorByTarifas.Add(i.IdData); } } Dictionary <int, ReporteMensual> reporte = enlaceOrden.ObtenerReporteMensual(area, ano, mes); double[,] general = new double[4, 3]; foreach (int idTarifa in contadorByTarifas) { DataRow row = tabla.NewRow(); row[0] = Tarifario.GetInstance().Paquetes[idTarifa].Nombre; row[1] = (reporte[0].ExisteId(idTarifa)? reporte[0].Detalle[idTarifa].Cantidad : 0); //contador P row[2] = (reporte[0].ExisteId(idTarifa) ? reporte[0].Detalle[idTarifa].Total : 0.00m); //Total P row[3] = (reporte[0].ExisteId(idTarifa) ? reporte[0].Detalle[idTarifa].Acumulado : 0) + (int)row[1]; //acumulador P general[0, 0] += (int)row[1]; general[0, 1] += (double)row[2]; general[0, 2] += (int)row[3]; row[4] = (reporte[1].ExisteId(idTarifa) ? reporte[1].Detalle[idTarifa].Cantidad : 0); // Contador S row[5] = (reporte[1].ExisteId(idTarifa) ? reporte[1].Detalle[idTarifa].Acumulado : 0) + (int)row[4]; //acumulador S general[1, 0] += (int)row[4]; general[1, 1] += 0; general[1, 2] += (int)row[5]; row[6] = (reporte[2].ExisteId(idTarifa) ? reporte[2].Detalle[idTarifa].Cantidad : 0); //Contador Ex row[7] = (reporte[2].ExisteId(idTarifa) ? reporte[2].Detalle[idTarifa].Acumulado : 0) + (int)row[6]; //acumulador Ex general[2, 0] += (int)row[6]; general[2, 1] += 0; general[2, 2] += (int)row[7]; row[8] = (int)row[1] + (int)row[4] + (int)row[6]; row[9] = (int)row[3] + (int)row[5] + (int)row[7]; general[3, 0] += (int)row[8]; general[3, 1] += (general[0, 1] + general[1, 1] + general[2, 1]); general[3, 2] += (int)row[9]; tabla.Rows.Add(row); } campCantPar.Text = general[0, 0].ToString(); campEfec.Text = String.Format("{0:0.00}", general[0, 1]); campAcuPar.Text = general[0, 2].ToString(); campCantSis.Text = general[1, 0].ToString(); campAcuSis.Text = general[1, 2].ToString(); campCantExo.Text = general[2, 0].ToString(); campAcuExo.Text = general[2, 2].ToString(); campCantTotal.Text = general[3, 0].ToString(); campEfecTotal.Text = String.Format("{0:0.00}", general[3, 1]); campAcumTotal.Text = general[3, 2].ToString(); }