Ejemplo n.º 1
0
        /// <summary>
        /// 获取指定科室信息
        /// </summary>
        /// <param name="p_strEmployeeID">科室ID</param>
        /// <param name="p_objResultArr">指定科室信息</param>
        /// <returns></returns>
        public long m_lngGetSpecialDeptInfo(string p_strDeptID, out clsEmrDept_VO p_objResult)
        {
            p_objResult = null;
            long lngRes = 0;
            clsHospitalManagerService objSvc =
                (clsHospitalManagerService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsHospitalManagerService));

            try
            {
                DataTable dtbResult = new DataTable();
                lngRes = objSvc.m_lngGetSpecialDeptInfo(objPrincipal, p_strDeptID, out dtbResult);
                if (lngRes > 0 && dtbResult.Rows.Count > 0)
                {
                    p_objResult = new clsEmrDept_VO();
                    p_objResult.m_strDEPTID_CHR    = Convert.ToString(dtbResult.Rows[0]["DEPTID_CHR"]);
                    p_objResult.m_strDEPTNAME_VCHR = Convert.ToString(dtbResult.Rows[0]["DEPTNAME_VCHR"]);
                    p_objResult.m_strADDRESS_VCHR  = Convert.ToString(dtbResult.Rows[0]["ADDRESS_VCHR"]);
                    p_objResult.m_strSHORTNO_CHR   = Convert.ToString(dtbResult.Rows[0]["SHORTNO_CHR"]);
                }
            }
            catch (Exception exp)
            {
                string strErrMessage = exp.Message;
            }
            finally
            {
                //objSvc.Dispose();
            }
            return(lngRes);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取指定科室(病区)下的在院病人
        /// 用于一般护理整体录入
        /// </summary>
        /// <param name="p_strID">科室ID(病区ID)</param>
        /// <param name="p_objdtPatient"></param>
        /// <returns></returns>
        public long m_lngGetBedPatientInfo(string p_strID, out DataTable p_objdtPatient)
        {
            long lngRes = 0;

            p_objdtPatient = null;

            clsHospitalManagerService m_objHospitalManager =
                (clsHospitalManagerService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsHospitalManagerService));

            try
            {
                //参数判断
                //long lngRes=0;
                if (p_strID == null)
                {
                    return((long)enmOperationResult.Parameter_Error);
                }
                lngRes = m_objHospitalManager.m_lngGetPatientInfo(objPrincipal, p_strID, true, out p_objdtPatient);
            }
            catch (Exception exp)
            {
                string strError = exp.Message;
//				com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText();
//				bool blnRes =objLogger.objLogger(exp);
            }
            finally
            {
                //m_objHospitalManager.Dispose();
            }
            return(lngRes);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取所有类型的科室
        /// </summary>
        /// <param name="p_dtbValue">所有类型的科室</param>
        /// <returns></returns>
        internal long m_lngGetAllAttributeDeptInfo(out DataTable p_dtbValue)
        {
            long lngRes = 0;
            clsHospitalManagerService objSvc = (clsHospitalManagerService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsHospitalManagerService));

            lngRes = objSvc.m_lngGetAllAttributeDeptInfo(objPrincipal, out p_dtbValue);
            return(lngRes);
        }
Ejemplo n.º 4
0
        private void m_mthFillDept()
        {
            DataTable deptDt = new DataTable();
            clsHospitalManagerService objHospitalServ =
                (clsHospitalManagerService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsHospitalManagerService));

            DataTable dtbDept = new DataTable();
            long      lngRes  = objHospitalServ.m_lngGetAllDeptInfo(null, out dtbDept);

            if (lngRes > 0 && dtbDept.Rows.Count > 0)
            {
                m_objViewer.m_lsvFind.Tag = dtbDept;
                DataRow[] objRows = new DataRow[dtbDept.Rows.Count];
                dtbDept.Rows.CopyTo(objRows, 0);
                m_mthAddToDept(objRows);
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 获得该病区下的病床及病人
        /// </summary>
        /// <param name="p_strDeptID">科室ID</param>
        /// <param name="p_strAreaID">病区ID</param>
        /// <returns></returns>
//		public long lngGetCurrentBedArr(string p_strDeptID,string p_strAreaID,out clsBedInfo[] p_objBedArr )
//		{
//			p_objBedArr= new clsBedInfo[5];
//			for(int i=0;i<5;i++)
//			{
//				p_objBedArr[i]= new clsBedInfo();
//				p_objBedArr[i].m_strBedID=i.ToString("0000000");
//				p_objBedArr[i].m_strBedName="Bed Name";
//				p_objBedArr[i].m_strBedInPatientID=(i*2).ToString("0000000");
//				p_objBedArr[i].m_strBedInPatientName="Patient Name";
////				p_objBedArr[i].m_strBedInPatientDate="1900-1-1";
//			}
//			p_objBedArr[2].m_strBedInPatientID="";
//			p_objBedArr[0].m_strBedInPatientID=null;
//
//			return 1;
//		}
        /// <summary>
        /// 根据员工ID获取所属科室列表
        /// </summary>
        /// <param name="p_strEmployeeID">员工ID</param>
        /// <param name="p_objResultArr">科室数组</param>
        /// <returns></returns>
        public long m_lngGetDeptInfo(string p_strEmployeeID, out clsEmrDept_VO[] p_objNewDeptArr, out clsDepartment[] p_objOldDeptArr)
        {
            p_objNewDeptArr = null;
            p_objOldDeptArr = null;
            long lngRes = 0;
            clsHospitalManagerService objSvc =
                (clsHospitalManagerService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsHospitalManagerService));

            try
            {
                DataTable dtbResult = new DataTable();
                lngRes = objSvc.m_lngGetDeptInfo(null, p_strEmployeeID, out dtbResult);
                if (lngRes > 0 && dtbResult.Rows.Count > 0)
                {
                    p_objNewDeptArr = new clsEmrDept_VO[dtbResult.Rows.Count];
                    p_objOldDeptArr = new clsDepartment[dtbResult.Rows.Count];
                    for (int i1 = 0; i1 < dtbResult.Rows.Count; i1++)
                    {
                        p_objNewDeptArr[i1] = new clsEmrDept_VO();
                        p_objNewDeptArr[i1].m_strDEPTID_CHR    = dtbResult.Rows[i1]["DEPTID_CHR"].ToString().Trim();
                        p_objNewDeptArr[i1].m_strDEPTNAME_VCHR = dtbResult.Rows[i1]["DEPTNAME_VCHR"].ToString();
                        p_objNewDeptArr[i1].m_strADDRESS_VCHR  = dtbResult.Rows[i1]["ADDRESS_VCHR"].ToString();
                        p_objNewDeptArr[i1].m_strSHORTNO_CHR   = dtbResult.Rows[i1]["SHORTNO_CHR"].ToString();
                        if (p_objNewDeptArr[i1].m_strSHORTNO_CHR != null)
                        {
                            p_objNewDeptArr[i1].m_strSHORTNO_CHR = p_objNewDeptArr[i1].m_strSHORTNO_CHR.Trim();
                        }
                        p_objNewDeptArr[i1].m_intDEFAULT_INPATIENT_DEPT_INT = Convert.ToInt32(dtbResult.Rows[i1]["DEFAULT_INPATIENT_DEPT_INT"]);
                        p_objOldDeptArr[i1] = new clsDepartment(p_objNewDeptArr[i1].m_strDEPTID_CHR, p_objNewDeptArr[i1].m_strSHORTNO_CHR, p_objNewDeptArr[i1].m_strDEPTNAME_VCHR, p_objNewDeptArr[i1].m_strADDRESS_VCHR);
                    }
                }
            }
            catch (Exception exp)
            {
                com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText();
                bool blnRes = objLogger.LogError(exp);
            }
            finally
            {
                // objSvc.Dispose();
            }
            return(lngRes);
        }
Ejemplo n.º 6
0
        public long m_lngGetAllPatientInArea(string p_strAreaID, DateTime p_dtmOutDateStart, DateTime p_dtmOutDateEnd, out clsEmrPatient_VO[] p_objResultArr)
        {
            p_objResultArr = null;
            long lngRes = 0;
            clsHospitalManagerService objSvc =
                (clsHospitalManagerService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsHospitalManagerService));

            try
            {
                DataTable dtbResult;
                lngRes = objSvc.m_lngGetOutPatientByAreaID(objPrincipal, p_strAreaID, p_dtmOutDateStart, p_dtmOutDateEnd, out dtbResult);

                p_objResultArr = m_objPatientList(dtbResult);
            }
            catch (Exception exp)
            {
                string strErrMessage = exp.Message;
            }
            finally
            {
                //objSvc.Dispose();
            }
            return(lngRes);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 判断表单是否可以有权限删除操作
        /// 适用于验证上级
        /// 对于返回实际操作者,暂时只是返回一个验证,而不记录到数据库中,有待完善
        /// </summary>
        /// <param name="pDeptID">科室ID</param>
        /// <param name="pCreateUserID">记录创建者</param>
        /// <param name="pOperatorID">记录删除者</param>
        /// <param name="pType">记录类型 1医生工作站单据 2护士工作站单据</param>
        /// <returns>返回 允许为真 拒绝为false</returns>
        public static bool IsAllowDelete(string pDeptID, string pCreateUserID, clsEmrEmployeeBase_VO pOperator, int pType)
        {
            //检查参数
            if (pDeptID == null || pDeptID.Trim().Length == 0 || pOperator == null)
            {
                MessageBox.Show("验证参数有误,不能继续操作", "iCare Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }
            //初始化
            bool IsAllow = true;



            //验证本人
            //考虑保存的既有ID又有shortno,故下策。两个一起比较,有一个匹配则认为
            if (pCreateUserID.Trim() == pOperator.m_strEMPID_CHR.Trim() || pCreateUserID.Trim() == pOperator.m_strEMPNO_CHR.Trim())
            {
                //验证删除
                clsDeleteVerify objDeleteVerify = new clsDeleteVerify();
                if (objDeleteVerify.m_mthIsDelete(null, pOperator) == false)
                {
                    MessageBox.Show("Key盘验证失败,不能继续操作", "iCare Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return(false);
                }
            }
            else
            {
                #region 根据工号或ID获取名字
                string strTempEemployeeName = pCreateUserID;

                clsHospitalManagerService objService =
                    (clsHospitalManagerService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsHospitalManagerService));

                try
                {
                    DataTable dt     = new DataTable();
                    long      lngRes = 0;
                    if (pCreateUserID.Trim().Length < 7) //如果长度少于7位则认为工号
                    {
                        lngRes = objService.m_lngGetEmpByNO(null, pCreateUserID.Trim(), out dt);
                        if (dt.Rows.Count > 0)
                        {
                            strTempEemployeeName = dt.Rows[0][1].ToString();
                        }
                    }
                    else
                    {
                        lngRes = objService.m_lngGetEmpByID(null, pCreateUserID.Trim(), out dt);
                        if (dt.Rows.Count > 0)
                        {
                            strTempEemployeeName = dt.Rows[0][1].ToString();
                        }
                    }
                }
                catch (Exception exp)
                {
                    string strMsg = exp.Message;
                    //throw;
                }
                finally
                {
                    objService = null;
                }
                #endregion

                if ((MessageBox.Show("只能由创建者【" + strTempEemployeeName.Trim() + "】进行该操作,若要继续操作需要上级领导确定\n                            要继续请单击【确定】", "iCare Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Information)) == DialogResult.Cancel)
                {
                    return(false);
                }
                else
                {
                    //验证科主任/护士长
                    frmValidateByDirector frm = new frmValidateByDirector(pType, pDeptID);
                    frm.ShowDialog();
                    if (!frm.BlnValidateResult)
                    {
                        return(false);
                    }
                }
            }

            return(IsAllow);
        }