예제 #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);
        }
예제 #2
0
        protected override void m_mthAreaChanged(clsEmrDept_VO p_objSelectedArea)
        {
            if (p_objSelectedArea == null || m_GridRecord == null)
            {
                return;
            }

            DataTable objPatientArr;
            long      lngRes = 0;

            m_dtRecords.Clear();
            lngRes = m_objDiseaseTrackDomain.m_lngGetBedPatientInfo(p_objSelectedArea.m_strDEPTID_CHR, out objPatientArr);

            if (lngRes > 0)
            {
                int intRowsCount = objPatientArr.Rows.Count;
                if (intRowsCount <= 0)
                {
                    return;
                }

                try
                {
                    m_dtRecords.Rows.Add(new string[] { "", "", "", "" });
                    m_dtRecords.Rows.Clear();
                    m_dtRecords.BeginLoadData();
                    object[] objPatient = null;
                    DataRow  drTemp     = null;
                    for (int i = 0; i < intRowsCount; i++)
                    {
                        drTemp = objPatientArr.Rows[i];
                        if (drTemp["BEDID_CHR"] != DBNull.Value)
                        {
                            objPatient    = new object[7];
                            objPatient[0] = drTemp["code_chr"].ToString();
                            objPatient[1] = drTemp["lastname_vchr"].ToString();
                            objPatient[2] = string.Empty;
                            objPatient[3] = DateTime.Now.ToString("yyyy年MM月dd日HH时mm分");
                            objPatient[4] = drTemp["emrinpatientid"].ToString();
                            objPatient[5] = drTemp["emrinpatientdate"].ToString();
                            objPatient[6] = drTemp["registerid_chr"].ToString();
                            m_dtRecords.LoadDataRow(objPatient, true);
                        }
                    }
                }
                catch (Exception Ex)
                {
                    string strEx = Ex.Message;
                }
                finally
                {
                    m_dtRecords.EndLoadData();
                }
            }
        }
예제 #3
0
        private void m_lstDept_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            if (!m_blnCanDo)
            {
                return;
            }
            List <clsEmrDept_VO> arrDepts = new List <clsEmrDept_VO>(m_lstDept.CheckedItems.Count + 1);

            clsEmrDept_VO[] objDepts = new clsEmrDept_VO[m_lstDept.CheckedItems.Count];
            m_lstDept.CheckedItems.CopyTo(objDepts, 0);
            arrDepts.AddRange(objDepts);
            if (e.CurrentValue == CheckState.Checked)
            {
                for (int index = 0; index < arrDepts.Count; index++)
                {
                    if (arrDepts[index].m_strDEPTID_CHR.Trim() == ((clsEmrDept_VO)m_lstDept.Items[e.Index]).m_strDEPTID_CHR)
                    {
                        arrDepts.RemoveAt(index);
                        break;
                    }
                }
            }
            else
            {
                clsEmrDept_VO objdept = (clsEmrDept_VO)m_lstDept.Items[e.Index];
                arrDepts.Add(objdept);
            }
            objDepts = new clsEmrDept_VO[arrDepts.Count];
            objDepts = arrDepts.ToArray();
            if (objDepts.Length != m_objSelectDepts.Length)
            {
                m_blnIsChange = true;
                return;
            }
            for (int i = 0; i < objDepts.Length; i++)
            {
                clsEmrDept_VO objDept   = objDepts[i];
                bool          blnIsFind = false;
                for (int j = 0; j < m_objSelectDepts.Length; j++)
                {
                    if (objDept.m_strDEPTID_CHR.Trim() == m_objSelectDepts[j].m_strDEPTID_CHR.Trim())
                    {
                        blnIsFind = true;
                        break;
                    }
                }
                if (!blnIsFind)
                {
                    m_blnIsChange = true;
                    return;
                }
            }
            m_blnIsChange = false;
        }
예제 #4
0
        private void m_lstForm_SelectedIndexChanged(object sender, EventArgs e)
        {
            m_blnCanDo = false;
            m_mthSaveTypeDept();
            int[] intIndex = new int[m_lstDept.CheckedIndices.Count];
            m_lstDept.CheckedIndices.CopyTo(intIndex, 0);
            for (int index = 0; index < intIndex.Length; index++)
            {
                m_lstDept.SetItemChecked(intIndex[index], false);
            }
            clsInpatMedRec_Type objType = m_lstForm.SelectedItem as clsInpatMedRec_Type;

            m_txtTypeID.Tag  = objType;
            m_objSelectType  = objType;
            m_objSelectDepts = new clsEmrDept_VO [0];
            if (objType != null)
            {
                string[] strDepts = null;
                string[] strAreas = null;

                clsGetAllRuningFormsServ objServ =
                    (clsGetAllRuningFormsServ)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsGetAllRuningFormsServ));

                objServ.m_lngGetInpatMedRecDept(objType.m_strTypeID, out strDepts, out strAreas);
                if (strDepts != null && strDepts.Length > 0 && m_lstDept.Items.Count > 0)
                {
                    List <clsEmrDept_VO> arrDepts = new List <clsEmrDept_VO>(5);
                    for (int i = 0; i < strDepts.Length; i++)
                    {
                        for (int j = 0; j < m_lstDept.Items.Count; j++)
                        {
                            clsEmrDept_VO objDept = m_lstDept.Items[j] as clsEmrDept_VO;
                            if (strDepts[i].Trim() == objDept.m_strDEPTID_CHR.Trim())
                            {
                                m_lstDept.SetItemChecked(j, true);
                                arrDepts.Add(objDept);
                                break;
                            }
                        }
                    }
                    m_objSelectDepts = new clsEmrDept_VO[arrDepts.Count];
                    m_objSelectDepts = arrDepts.ToArray();
                }
                m_txtTypeID.Text   = objType.m_strTypeID;
                m_txtFormName.Text = objType.m_strTypeName;

                m_cmdNew.Enabled      = true;
                m_cmdSaveType.Enabled = true;
                m_cmdDelete.Enabled   = true;
            }
            m_blnCanDo = true;
        }
예제 #5
0
        private void frmChoosePatient_Load(object sender, System.EventArgs e)
        {
            try
            {
                this.m_mthGetCurrentPatient();
                //若无法获取员工ID,提示、退出
                if ((strGEmployeeID.Trim().Length) == 0)
                {
                    MessageBox.Show("员工未能正确设置");
                    return;
                }

                //填充科室
                clsEmrDept_VO[] objDeptInfoArr = null;
                long            lngRes         = m_objChoosePatientDomain.m_lngGetDeptInfo(strGEmployeeID, out objDeptInfoArr);
                if (lngRes <= 0)
                {
                    MessageBox.Show("数据库连接失败!");
                    return;
                }
                if (objDeptInfoArr != null)
                {
                    for (int i = 0; i < objDeptInfoArr.Length; i++)
                    {
                        m_cboDept.AddItem(objDeptInfoArr[i]);
                    }
                    m_cboDept.SelectedItem = objDeptInfoArr[0];
                }


                #region 记录当前科室病区
                if (objpCurrentDepartment != null)
                {
                    m_cboDept.SelectedItem = objpCurrentDepartment;
                }
                else
                {
                    if (m_cboDept.GetItemsCount() > 0)
                    {
                        objpCurrentDepartment = (clsEmrDept_VO)m_cboDept.SelectedItem;
                    }
                }

                #endregion
            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message, "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #6
0
        private void m_cboDept_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            #region old

            #endregion

            try
            {
                this.Cursor = Cursors.WaitCursor;
                clsEmrDept_VO[] objAreaInfoArr = null;
                long            lngRes         = m_objChoosePatientDomain.m_lngGetAreaInfo(((clsEmrDept_VO)(m_cboDept.SelectedItem)).m_strDEPTID_CHR, out objAreaInfoArr);

                if (lngRes <= 0)
                {
                    MessageBox.Show("数据库连接失败!");
                    return;
                }
                if (objAreaInfoArr != null)
                {
                    m_cboArea.ClearItem();
                    for (int i = 0; i < objAreaInfoArr.Length; i++)
                    {
                        m_cboArea.AddItem(objAreaInfoArr[i]);
                    }
                    m_cboArea.SelectedItem = objAreaInfoArr[0];
                }
                else                //若不存在病区,则以科室ID去获取病床
                {
                    m_cboArea.ClearItem();
                }

                #region 更新当前科室病区
                if (m_cboDept.GetItemsCount() > 0)
                {
                    objpCurrentDepartment = (clsEmrDept_VO)m_cboDept.SelectedItem;
                }
                if (m_cboArea.GetItemsCount() > 0)
                {
                    objpCurrentArea = (clsEmrDept_VO)m_cboArea.SelectedItem;
                }

                this.Cursor = Cursors.Default;
                #endregion
            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message, "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #7
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);
        }
예제 #8
0
        private void m_cboArea_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            #region  old
            clsDepartmentManager m_objDepartmentManager = new clsDepartmentManager();

            #endregion

            this.Cursor = Cursors.WaitCursor;

            if (m_cboArea.SelectedItem == null)
            {
                return;
            }

            clsEmrPatient_VO[] objPatientArr = null;
            if (m_rdbInPatient.Checked)
            {
                m_objChoosePatientDomain.m_lngGetAllPatientInArea(((clsEmrDept_VO)(m_cboArea.SelectedItem)).m_strDEPTID_CHR, out objPatientArr);
            }
            else if (m_rdbOutPatient.Checked)
            {
                m_objChoosePatientDomain.m_lngGetAllPatientInArea(((clsEmrDept_VO)(m_cboArea.SelectedItem)).m_strDEPTID_CHR, m_dtpOutPatientStart.Value, m_dtpOutPatientEnd.Value, out objPatientArr);
            }

            if (objPatientArr != null)
            {
                listView1.Items.Clear();
                ListViewItem lv;

                for (int i = 0; i < objPatientArr.Length; i++)
                {
                    if (objPatientArr[i] == null)
                    {
                        continue;
                    }

                    lv = new ListViewItem(objPatientArr[i].m_strHISInPatientID);
                    lv.SubItems.Add(objPatientArr[i].m_strLASTNAME_VCHR);
                    if (objPatientArr[i].m_strSEX_CHR != null)
                    {
                        lv.SubItems.Add(objPatientArr[i].m_strSEX_CHR.Trim());
                    }
                    else
                    {
                        lv.SubItems.Add("");
                    }
                    lv.SubItems.Add(objPatientArr[i].m_strAGELONG_CHR);
                    lv.Tag = objPatientArr[i];
                    listView1.Items.Add(lv);
                }
            }
            else
            {
                listView1.Items.Clear();
            }

            #region 更新当前病区
            if (m_cboArea.GetItemsCount() > 0)
            {
                objpCurrentArea = (clsEmrDept_VO)m_cboArea.SelectedItem;
            }
            #endregion

            this.Cursor = Cursors.Default;
        }