Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
127 changes: 127 additions & 0 deletions Business/Data/AutoAnalizador/RealItem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
/*
insert license info here
*/
using System;
using System.Collections;

namespace Business.Data.AutoAnalizador
{
/// <summary>
/// Generated by MyGeneration using the NHibernate Object Mapping template
/// </summary>
[Serializable]
public sealed class RealItem: Business.BaseDataAccess
{

#region Private Members
private bool m_isChanged;

private int m_idrealitem;
private string m_idreal;
private int m_iditem;
private bool m_habilitado;
#endregion

#region Default ( Empty ) Class Constuctor
/// <summary>
/// default constructor
/// </summary>
public RealItem()
{
m_idrealitem = 0;
m_idreal = String.Empty;
m_iditem = 0;
m_habilitado = false;
}
#endregion // End of Default ( Empty ) Class Constuctor

#region Required Fields Only Constructor
/// <summary>
/// required (not null) fields only constructor
/// </summary>
public RealItem(
string idreal,
int iditem,
bool habilitado)
: this()
{
m_idreal = idreal;
m_iditem = iditem;
m_habilitado = habilitado;
}
#endregion // End Required Fields Only Constructor

#region Public Properties

/// <summary>
///
/// </summary>
public int IdRealItem
{
get { return m_idrealitem; }
set
{
m_isChanged |= (m_idrealitem != value );
m_idrealitem = value;
}

}

/// <summary>
///
/// </summary>
public string IdReal
{
get { return m_idreal; }

set
{
if( value == null )
throw new ArgumentOutOfRangeException("Null value not allowed for IdReal", value, "null");

if( value.Length > 50)
throw new ArgumentOutOfRangeException("Invalid value for IdReal", value, value.ToString());

m_isChanged |= (m_idreal != value); m_idreal = value;
}
}

/// <summary>
///
/// </summary>
public int IdItem
{
get { return m_iditem; }
set
{
m_isChanged |= ( m_iditem != value );
m_iditem = value;
}

}

/// <summary>
///
/// </summary>
public bool Habilitado
{
get { return m_habilitado; }
set
{
m_isChanged |= ( m_habilitado != value );
m_habilitado = value;
}

}

/// <summary>
/// Returns whether or not the object has changed it's values.
/// </summary>
public bool IsChanged
{
get { return m_isChanged; }
}

#endregion
}
}
13 changes: 13 additions & 0 deletions Business/Data/AutoAnalizador/RealItem.hbm.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
<class name="Business.Data.AutoAnalizador.RealItem,Business" table="LAB_RealItem">

<id name="IdRealItem" column="idRealItem" type="Int32" unsaved-value="0">
<generator class="native"/>
</id>
<property column="idReal" type="String" name="IdReal" not-null="true" length="50" />
<property column="idItem" type="Int32" name="IdItem" not-null="true" />
<property column="habilitado" type="Boolean" name="Habilitado" not-null="true" />

</class>
</hibernate-mapping>
200 changes: 170 additions & 30 deletions Business/Data/Laboratorio/Protocolo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ insert license info here
using System.IO;
using System.Drawing;
using QRCoder;
using System.Collections.Generic;
using System.Linq;

namespace Business.Data.Laboratorio
{
Expand Down Expand Up @@ -1116,6 +1118,120 @@ public DateTime FechaTomaMuestra
}

}
public class ResultadoAnteriorDTO
{
public int IdSubItem { get; set; }
public string Resultado { get; set; }
}

public Dictionary<int, string> ObtenerResultadosAnteriores(string conexion)
{
int idPaciente = this.IdPaciente.IdPaciente;
int idProtocoloActual = this.IdProtocolo;
Dictionary<int, string> diccionario =
new Dictionary<int, string>();

string sql = @"
SELECT
dp.IdSubItem,
dp.ResultadoCar,
dp.ResultadoNum,
dp.FormatoValida,
dp.UnidadMedida
FROM LAB_DetalleProtocolo dp
INNER JOIN LAB_Protocolo p
ON p.IdProtocolo = dp.IdProtocolo
INNER JOIN
(
SELECT
dp2.IdSubItem,
MAX(dp2.IdDetalleProtocolo) IdDetalle
FROM LAB_DetalleProtocolo dp2
INNER JOIN LAB_Protocolo p2
ON p2.IdProtocolo = dp2.IdProtocolo
WHERE p2.IdPaciente = @idPaciente
AND p2.Baja = 0
AND p2.Estado > 0
AND p2.IdProtocolo < @idProtocoloActual
AND dp2.IdUsuarioValida > 0
GROUP BY dp2.IdSubItem
) ult
ON ult.IdDetalle = dp.IdDetalleProtocolo
";

Utility oUtil = new Utility();

using (SqlConnection conn =
new SqlConnection(conexion
))
{
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@idPaciente", idPaciente);
cmd.Parameters.AddWithValue("@idProtocoloActual", idProtocoloActual);

conn.Open();

using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
int idSubItem =
Convert.ToInt32(dr["IdSubItem"]);

string resultado = "";

string resultadoCar =
dr["ResultadoCar"] != DBNull.Value
? dr["ResultadoCar"].ToString().Trim()
: "";

if (resultadoCar == "")
{
decimal resultadoNum =
dr["ResultadoNum"] != DBNull.Value
? Convert.ToDecimal(dr["ResultadoNum"])
: 0;

string formatoValida =
dr["FormatoValida"] != DBNull.Value
? dr["FormatoValida"].ToString()
: "0";

string unidadMedida =
dr["UnidadMedida"] != DBNull.Value
? dr["UnidadMedida"].ToString()
: "";

string formato =
oUtil.Formato(formatoValida);

resultado =
resultadoNum.ToString(
formato,
System.Globalization.CultureInfo.InvariantCulture);

if (unidadMedida != "")
resultado += " " + unidadMedida;
}
else
{
resultado =
resultadoCar.Length > 10
? resultadoCar.Substring(0, 10)
: resultadoCar;
}

if (!diccionario.ContainsKey(idSubItem))
diccionario.Add(idSubItem, resultado);
}
}
}
}

return diccionario;
}

/// <summary>
/// Returns whether or not the object has changed it's values.
/// </summary>
Expand Down Expand Up @@ -1252,13 +1368,11 @@ public int GenerarNumeroMultiEfector(int idEfector)
}
public bool tieneAdjuntoProtocolo()
{
ICriteria crit = m_session.CreateCriteria(typeof(ProtocoloAnexo));

ICriteria crit = m_session.CreateCriteria(typeof(ProtocoloAnexo));
crit.Add(Expression.Eq("IdProtocolo", this));
crit.Add(Expression.Eq("IdDetalleProtocolo", 0));
IList lista = crit.List();
if (lista.Count > 0)

return true;
else

Expand Down Expand Up @@ -2161,8 +2275,9 @@ public void CalcularFormulas(string s_operacion, int i_idusuario, bool solovacio
{
crit.Add(Expression.Eq("ConResultado",false));
}


IList lista = crit.List();
IList lista = crit.List();

//if (lista.Count > 0)
//{
Expand All @@ -2176,7 +2291,8 @@ public void CalcularFormulas(string s_operacion, int i_idusuario, bool solovacio
if (oItem.SinInsumo) continue;

/*fin control insumo */
ICriteria critFormula = m_session.CreateCriteria(typeof(Formula));

ICriteria critFormula = m_session.CreateCriteria(typeof(Formula));
critFormula.Add(Expression.Eq("IdItem", oDet.IdSubItem));
critFormula.Add(Expression.Eq("IdTipoFormula", 1));
critFormula.Add(Expression.Eq("Baja", false));
Expand Down Expand Up @@ -2751,33 +2867,57 @@ FROM LAB_AuditoriaProtocolo AS A INNER JOIN

public string GetPracticasPedidas()
{
string s_practicas = "";
DetalleProtocolo oDetalle = new DetalleProtocolo();
ISession m_session = NHibernateHttpModule.CurrentSession;
ICriteria crit = m_session.CreateCriteria(typeof(DetalleProtocolo));
crit.Add(Expression.Eq("IdProtocolo", this));
crit.Add(Expression.Eq("Informable", true));
crit.AddOrder(Order.Asc("IdDetalleProtocolo"));

IList items = crit.List();
string pivot = "";
string sDatos = "";
foreach (DetalleProtocolo oDet in items)
{
if (pivot != oDet.IdItem.Nombre)
{
if (sDatos == "")
sDatos = oDet.IdItem.Nombre;
else
sDatos += " - " + oDet.IdItem.Nombre;
//sDatos += "#" + oDet.IdItem.Codigo + "#" + oDet.IdItem.Nombre + "#" + oDet.TrajoMuestra + "@";
pivot = oDet.IdItem.Nombre;
}

/* string s_practicas = "";
DetalleProtocolo oDetalle = new DetalleProtocolo();
ISession m_session = NHibernateHttpModule.CurrentSession;
ICriteria crit = m_session.CreateCriteria(typeof(DetalleProtocolo));
crit.Add(Expression.Eq("IdProtocolo", this));
crit.Add(Expression.Eq("Informable", true));
crit.AddOrder(Order.Asc("IdDetalleProtocolo"));

IList items = crit.List();
string pivot = "";
string sDatos = "";
foreach (DetalleProtocolo oDet in items)
{
if (pivot != oDet.IdItem.Nombre)
{
if (sDatos == "")
sDatos = oDet.IdItem.Nombre;
else
sDatos += " - " + oDet.IdItem.Nombre;
//sDatos += "#" + oDet.IdItem.Codigo + "#" + oDet.IdItem.Nombre + "#" + oDet.TrajoMuestra + "@";
pivot = oDet.IdItem.Nombre;
}

}

s_practicas = sDatos;
return s_practicas;
*/
ISession session = NHibernateHttpModule.CurrentSession;

IList practicas = session.CreateQuery(@"
select distinct i.Nombre
from DetalleProtocolo dp
inner join dp.IdItem i
where dp.IdProtocolo = :protocolo
and dp.Informable = 1
order by i.Nombre")
.SetEntity("protocolo", this)
.List();

string resultado = "";

foreach (object item in practicas)
{
if (resultado == "")
resultado = item.ToString();
else
resultado += " - " + item.ToString();
}

s_practicas = sDatos;
return s_practicas;
return resultado;
}

public void ActualizarNumeroDesdeID()
Expand Down
Loading