/// <summary> /// 让窗体在打开病人的单时作判断。此判断要查数据库,现在只在frmHRPBaseForm中调用此函数 /// </summary> /// <param name="p_strInPatientID"></param> /// <param name="p_strInPatientDate"></param> /// <param name="p_blnIsReadOnly"></param> /// <param name="p_strTimeRemaining"></param> /// <returns></returns> public long lngIsReadOnly(string p_strInPatientID, string p_strInPatientDate, out bool p_blnIsReadOnly, out string p_strTimeRemaining) { p_strTimeRemaining = null; p_blnIsReadOnly = false; //超时未归档或已归档的都应设为只读 clsInPatientArchivingValue objValue = null; clsInPatientArchivingService objServ = (clsInPatientArchivingService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsInPatientArchivingService)); long lngRes = objServ.m_lngCheckFormReadOnly(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, p_strInPatientID, p_strInPatientDate, out objValue); if (lngRes <= 0) { return(lngRes); } if (objValue != null) { if (objValue.m_strIfArchived == "1") { p_blnIsReadOnly = true; } else { //int intLeaveDay = int.Parse(objValue.m_strLeaveDay); if (objValue.m_intLeaveDay < 0 || (objValue.m_intLeaveDay == 0 && objValue.m_intLeaveHour <= 0)) { p_blnIsReadOnly = true; } else { p_blnIsReadOnly = false; } p_strTimeRemaining = objValue.m_intLeaveDay.ToString() + "天" + objValue.m_intLeaveHour.ToString() + "小时"; } } return(lngRes); }
/// <summary> /// 判断该病案是否超时,这个函数不查数据库 /// </summary> /// <param name="p_objArchivingValue"></param> /// <returns></returns> public bool m_blnIfOverTime(clsInPatientArchivingValue p_objArchivingValue) { if (p_objArchivingValue == null || p_objArchivingValue.m_strIfArchived == "1") { return(false); } if (p_objArchivingValue.m_strEndReason == "0" || p_objArchivingValue.m_strEndReason == "2") { TimeSpan objSpan = DateTime.Parse(new clsPublicDomain().m_strGetServerTime()) - DateTime.Parse(p_objArchivingValue.m_strInPatientEndDate); if (objSpan.TotalHours > (24 * 7)) { return(true); } } else if (p_objArchivingValue.m_strEndReason == "1") { TimeSpan objSpan = DateTime.Parse(new clsPublicDomain().m_strGetServerTime()) - DateTime.Parse(p_objArchivingValue.m_strInPatientEndDate); if (objSpan.TotalHours > 6) { return(true); } } return(false); }
// // TODO: Add constructor logic here // // public long lngGetOneRecord(string p_strInPatientID,string p_strInPatientDate,out clsInPatientArchivingValue p_objArchivingValue) // { // return m_objServ.lngGetOneRecord(clsLoginContext.s_ObjLoginContext.m_ObjPrincial,p_strInPatientID,p_strInPatientDate,out p_objArchivingValue); // } /// <summary> /// 按住院号查询病人出院状态 /// </summary> /// <param name="p_strInPatientID"></param> /// <param name="p_intStatus">如果p_intStatus=0则查询未归档的病人,>=1则查询已归档病人,= -1查询全部</param> /// <param name="p_objArchivingValueArr"></param> /// <returns></returns> public long lngGetRecordByInPatientIDArr(string p_strInPatientID, string p_strInPatientDate, int p_intStatus, out clsInPatientArchivingValue p_objArchivingValue) { clsInPatientArchivingService objServ = (clsInPatientArchivingService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsInPatientArchivingService)); return(objServ.lngGetRecordByInPatientIDArr(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, p_strInPatientID, p_strInPatientDate, p_intStatus, out p_objArchivingValue)); }