Beispiel #1
0
 /// <summary>
 /// /列出签名者
 /// </summary>
 public void m_mthListSigners()
 {
     try
     {
         m_objViewer.m_lsvItemList.Items.Clear();
         m_objViewer.m_lsvItemList.BeginUpdate();
         for (int i = 0; i < m_objViewer.objSignerArr.Count; i++)
         {
             clsEmrEmployeeBase_VO objVO = new clsEmrEmployeeBase_VO();
             objVO = (clsEmrEmployeeBase_VO)(m_objViewer.objSignerArr[i]);
             ListViewItem lsvItem = new ListViewItem(objVO.m_strLASTNAME_VCHR.Trim());
             lsvItem.SubItems.Add(objVO.m_strTECHNICALRANK_CHR.Trim());
             lsvItem.SubItems.Add("请双击验证");
             lsvItem.SubItems.Add(objVO.m_strEMPPWD_VCHR.Trim());
             lsvItem.SubItems.Add(objVO.m_strEMPKEY_VCHR.Trim());
             lsvItem.SubItems.Add(objVO.m_strEMPID_CHR.Trim());
             m_objViewer.m_lsvItemList.Items.Add(lsvItem);
         }
         if (m_objViewer.m_lsvItemList.Items.Count > 1)
         {
             m_objViewer.m_lsvItemList.Items[0].Selected = true;
         }
     }
     finally
     {
         m_objViewer.m_lsvItemList.EndUpdate();
     }
 }
Beispiel #2
0
        /// <summary>
        /// 把特殊记录的值显示到界面上。
        /// </summary>
        /// <param name="p_objContent"></param>
        protected override void m_mthSetGUIFromContent(clsTrackRecordContent p_objContent)
        {
            if (p_objContent == null)
            {
                return;
            }
            clsFuqiangOperationyesContent_xj objContent = (clsFuqiangOperationyesContent_xj)p_objContent;

            //把表单值赋值到界面,由子窗体重载实现
            m_strCurrentOpenDate = objContent.m_dtmOpenDate.ToString("yyyy-MM-dd HH:mm:ss");

            //   m_dtpDeadDate.Value = objContent.m_dtmDeadDate;
            m_dtpDiscussTime.Value = objContent.m_dtmDiscussDate;
            dtpriqi.Value          = objContent.m_dtmDoctorDate;
            dtprihuan.Value        = objContent.m_dtmHuanzheDate;
            //  m_txtDiscussAddress.Text = objContent.m_strDiscussAddress;

            m_txtInHospitalDiagnose.m_mthSetNewText(objContent.m_strShuQian, objContent.m_strShuQianXML);
            m_txtSpeakRecord.m_mthSetNewText(objContent.m_strNiShi, objContent.m_strNiShiXML);
            m_txtYiJian.m_mthSetNewText(objContent.m_strMaZui, objContent.m_strMaZuiXML);
            m_txtYiBao.Text = objContent.m_strYiBao;
            //m_txtDeadReason.m_mthSetNewText(objContent.m_strDeadReason, objContent.m_strDeadReasonXML);
            //m_txtExperience.m_mthSetNewText(objContent.m_strExperience, objContent.m_strExperienceXML);

            #region 签名
            clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
            if (objContent.m_strAttendeeIDArr != null)
            {
                for (int i = 0; i < objContent.m_strAttendeeIDArr.Length; i++)
                {
                    ListViewItem lviNewItem = new ListViewItem(new string[] { objContent.m_strAttendeeNameArr[i].Trim(), objContent.m_strAttendeeIDArr[i].Trim() });
                    //tag均为对象
                    objEmployeeSign.m_lngGetEmpByNO(objContent.m_strAttendeeIDArr[i].Trim(), out objEmpVO);
                    lviNewItem.SubItems.Add(objEmpVO.m_strLEVEL_CHR);
                    lviNewItem.Text = objEmpVO.m_strLASTNAME_VCHR + " " + objEmpVO.m_strTechnicalRank;
                    lviNewItem.Tag  = objEmpVO;
                    //是按顺序保存故获取顺序也一样
                    m_lsvAttendeeList.Items.Add(lviNewItem);
                    //m_lsvAttendeeList.Items.Add(objEmpVO.m_strLASTNAME_VCHR + " " + objEmpVO.m_strTechnicalRank);
                }
            }

            objEmployeeSign.m_lngGetEmpByNO(objContent.m_strCompereID, out objEmpVO);
            if (objEmpVO != null)
            {
                m_txtCompere.Tag = objEmpVO;
                //  m_txtCompere.Text = objContent..m_strCompereName;
                m_txtCompere.Text = objEmpVO.m_strLASTNAME_VCHR + " " + objEmpVO.m_strTECHNICALRANK_CHR;
            }

            objEmployeeSign.m_lngGetEmpByNO(objContent.m_strRecordID, out objEmpVO);
            if (objEmpVO != null)
            {
                m_txtRecorder.Tag = objEmpVO;
                //  m_txtRecorder.Text = objContent.m_strRecorderName;
                m_txtRecorder.Text = objEmpVO.m_strLASTNAME_VCHR + " " + objEmpVO.m_strTECHNICALRANK_CHR;
            }

            #endregion 签名
        }
Beispiel #3
0
        private void m_mthSetCircsRecordContentToUI(clsAYQBabyAssessmentContent objRecord)
        {
            if (objRecord != null)
            {
                m_dtpRecordTime.Value = objRecord.m_dtmRecordDate;
                this.m_ctlFaceColor.m_mthSetNewText(objRecord.m_strFacecolor, objRecord.m_strFacecolorXML);
                this.m_ctlHuXi.m_mthSetNewText(objRecord.m_strRespiration, objRecord.m_strRespirationXML);
                this.m_ctlFanYing.m_mthSetNewText(objRecord.m_strReaction, objRecord.m_strReactionXML);
                this.m_ctlJinShi.m_mthSetNewText(objRecord.m_strTakeFood, objRecord.m_strTakeFoodXML);
                this.m_ctlYeShi.m_mthSetNewText(objRecord.m_strArmpitWet, objRecord.m_strArmpitWetXML);
                this.m_ctlPiFu.m_mthSetNewText(objRecord.m_strDerm, objRecord.m_strDermXML);
                this.m_ctlHuangDan.m_mthSetNewText(objRecord.m_strAurigo, objRecord.m_strAurigoXML);
                this.m_ctlQiBu.m_mthSetNewText(objRecord.m_strUmbilicalRegion, objRecord.m_strUmbilicalRegionXML);
                this.m_ctlSiZhiHuoDong.m_mthSetNewText(objRecord.m_strLimbActivity, objRecord.m_strLimbActivityXML);
                this.m_ctlDaBian.m_mthSetNewText(objRecord.m_strStool, objRecord.m_strStoolXML);
                this.m_ctlXiaoBian.m_mthSetNewText(objRecord.m_strUrine, objRecord.m_strUrineXML);
                clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByID(objRecord.m_strSignUserID, out objEmpVO);
                if (objEmpVO != null)
                {
                    m_txtDoctorSign.Tag  = objEmpVO;
                    m_txtDoctorSign.Text = objEmpVO.m_strLASTNAME_VCHR;
                }
            }

            m_objCurrentRecord = objRecord;
        }
Beispiel #4
0
 /// <summary>
 /// 右键删除事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void mnuDeletesign_Click(object sender, System.EventArgs e)
 {
     if (!m_ctlTarget.Enabled)
     {
         MessageBox.Show("对不起,签名不能修改!", "iCare Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
         return;
     }
     if (ctmDeleteSign.SourceControl is TextBoxBase)
     {
         ctmDeleteSign.SourceControl.Tag  = null;
         ctmDeleteSign.SourceControl.Text = "";
     }
     if (ctmDeleteSign.SourceControl.GetType().FullName == "System.Windows.Forms.ListView")
     {
         ListView lsv = (ListView)(ctmDeleteSign.SourceControl);
         if (lsv.SelectedItems.Count == 0)
         {
             return;
         }
         clsEmrEmployeeBase_VO m_objPloyee = (clsEmrEmployeeBase_VO)(lsv.SelectedItems[0].Tag);
         if (m_objPloyee.m_intSTATUS_INT == 1 && m_blnVerify == true)
         {
             MessageBox.Show("对不起,签名不能修改!", "iCare Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         else
         {
             lsv.Items.Remove(lsv.SelectedItems[0]);
         }
     }
 }
Beispiel #5
0
        protected override void m_mthSetDeletedGUIFromContent(iCareData.clsTrackRecordContent p_objContent)
        {
            clsIntensiveTendRecordDetail_GX objContent = (clsIntensiveTendRecordDetail_GX )p_objContent;

            //把表单值赋值到界面,由子窗体重载实现

            this.m_mthClearRecordInfo();
            m_txtRecordContent.m_mthSetNewText(objContent.m_strDETAILCONTENT, objContent.m_strDETAILCONTENTXML);
            m_dtpCreateDate.Value = objContent.m_dtmDETAILRECORDDATE;
            //if(objContent.m_strDETAILSIGNID != null && objContent.m_strDETAILSIGNID != "")
            //{
            //    clsEmployee objEmployee=new clsEmployee(objContent.m_strDETAILSIGNID);
            //    m_txtSign.Tag=objEmployee;
            //}
            //m_txtSign.Text=objContent.m_strDETAILSIGNNAME;

            //this.m_txtSign.Enabled = false;
            //根据工号获取签名信息
            //出于兼容考虑,过渡使用 tfzhang 2006-03-12
            com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain objEmployeeSign = new com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain();
            clsEmrEmployeeBase_VO objSign = new clsEmrEmployeeBase_VO();

            objEmployeeSign.m_lngGetEmpByNO(objContent.m_strDETAILSIGNID, out objSign);
            if (objSign != null)
            {
                txtSign.Text = objSign.m_strLASTNAME_VCHR;
                txtSign.Tag  = objSign;
            }
            this.txtSign.Enabled         = false;
            this.m_dtpCreateDate.Enabled = false;
        }
Beispiel #6
0
        /// <summary>
        /// 把特殊记录的值显示到界面上


        /// </summary>
        /// <param name="p_objContent">VO</param>
        protected override void m_mthSetGUIFromContent(iCareData.clsTrackRecordContent p_objContent)
        {
            clsEMR_GestationDiabetesCureValue objContent = p_objContent as clsEMR_GestationDiabetesCureValue;

            if (objContent == null)
            {
                return;
            }

            this.m_mthClearRecordInfo();

            m_dtpCreateDate.Value = objContent.m_dtmRecordDate;
            ////////////////////////////////////////
            this.m_txtGestationWeeks_vchr.m_mthSetNewText(objContent.m_strGestationWeeks_vchr.ToString(), objContent.m_strGestationWeeks_XML);
            this.m_txtAvoirdupois_vchr.m_mthSetNewText(objContent.m_strAvoirdupois_vchr.ToString(), objContent.m_strAvoirdupois_XML);
            this.m_txtStapleMeasure_vchr.m_mthSetNewText(objContent.m_strStapleMeasure_vchr.ToString(), objContent.m_strStapleMeasure_XML);
            this.m_txtInsulinLong_vchr.m_mthSetNewText(objContent.m_strInsulinLong_vchr, objContent.m_strInsulinLong_XML);
            this.m_txtInsulinShortMorning_vchr.m_mthSetNewText(objContent.m_strInsulinShortMorning_vchr, objContent.m_strInsulinShortMorning_XML);
            this.m_txtInsulinShortNoon_vchr.m_mthSetNewText(objContent.m_strInsulinShortNoon_vchr, objContent.m_strInsulinShortNoon_XML);
            this.m_txtInsulinShortNight_vchr.m_mthSetNewText(objContent.m_strInsulinShortNight_vchr, objContent.m_strInsulinShortNight_XML);
            this.m_txtBloodSugarLimosis_vchr.m_mthSetNewText(objContent.m_strBloodSugarLimosis_vchr, objContent.m_strBloodSugarLimosis_XML);
            this.m_txtBloodSugarBe_BF_vchr.m_mthSetNewText(objContent.m_strBloodSugarBe_BF_vchr, objContent.m_strBloodSugarBe_BF_XML);
            this.m_txtBloodSugarAf_BF_vchr.m_mthSetNewText(objContent.m_strBloodSugarAf_BF_vchr, objContent.m_strBloodSugarAf_BF_XML);
            this.m_txtBloodSugarBe_Lun_vchr.m_mthSetNewText(objContent.m_strBloodSugarBe_Lun_vchr, objContent.m_strBloodSugarBe_Lun_XML);
            this.m_txtBloodSugarAf_Lun_vchr.m_mthSetNewText(objContent.m_strBloodSugarAf_Lun_vchr, objContent.m_strBloodSugarAf_Lun_XML);
            this.m_txtBloodSugarBe_Sup_vchr.m_mthSetNewText(objContent.m_strBloodSugarBe_Sup_vchr, objContent.m_strBloodSugarBe_Sup_XML);
            this.m_txtBloodSugarAf_Sup_vchr.m_mthSetNewText(objContent.m_strBloodSugarAf_Sup_vchr, objContent.m_strBloodSugarAf_Sup_XML);
            this.m_txtUreaketone_vchr.m_mthSetNewText(objContent.m_strUreaketone_vchr, objContent.m_strUreaketone_XML);

            //m_txtCheckResult.m_mthSetNewText(objContent.m_strCHECKRESULT_VCHR,objContent.m_strCHECKRESULT_XML);
            //m_cboCheckTime.Text = objContent.m_strCHECKTIME_RIGHT;

            #region 签名集合
            if (objContent.objSignerArr != null)
            {
                m_mthAddSignToListView(lsvSign, objContent.objSignerArr);
            }
            else
            {
                lsvSign.Items.Clear();
                clsEmrEmployeeBase_VO    objEMP    = null;
                clsHospitalManagerDomain objDomain = new clsHospitalManagerDomain();
                long lngRes = objDomain.m_lngGetEmpByID(objContent.m_strCreateUserID, out objEMP);
                if (objEMP != null)
                {
                    ListViewItem lviNewItem = new ListViewItem(objEMP.m_strGetTechnicalRankAndName);
                    lviNewItem.SubItems.Add(objEMP.m_strEMPID_CHR);
                    lviNewItem.SubItems.Add(objEMP.m_StrHistroyLevel);
                    lviNewItem.Tag = objEMP;
                    lsvSign.Items.Add(lviNewItem);
                }
                objDomain = null;
            }
            #endregion 签名

            this.lsvSign.Enabled   = false;
            this.m_cmdSign.Enabled = false;
        }
Beispiel #7
0
        /// <summary>
        /// 设置病人表单信息,必须覆盖
        /// </summary>
        /// <param name="p_objSelectedPatient">病人</param>
        protected override void m_mthSetPatientFormInfo(clsPatient p_objSelectedPatient)
        {
            this.m_dtpInpatientDate.Value = p_objSelectedPatient.m_DtmLastInDate;

            clsBedCardValue objBedCardValue = new clsBedCardValue();

            objBedCardValue.m_strInPatientID   = p_objSelectedPatient.m_StrInPatientID;
            objBedCardValue.m_strInPatientDate = p_objSelectedPatient.m_DtmLastInDate.ToString("yyyy-MM-dd HH:mm:ss");
            long lngRes = m_objBedCardDomain.m_lngGetBedCardValue(ref objBedCardValue);

            if (lngRes <= 0 || string.IsNullOrEmpty(objBedCardValue.m_strDoc_ManageBed))
            {
                string strDoctor = null;
                m_objBedCardDomain.m_lngGetManageDocWithBedID(p_objSelectedPatient.m_ObjInBedInfo.m_ObjLastBedInfo.m_ObjBed.m_StrBedID, out strDoctor);
                if (strDoctor != null)
                {
                    //clsEmployee objemp = new clsEmployee(strDoctor.Trim());
                    //this.m_txtManageDoc.Text = objemp.m_StrLastName;
                    //this.m_txtManageDoc.Tag = objemp;
                    clsEmrEmployeeBase_VO objEmpVO1 = new clsEmrEmployeeBase_VO();
                    objEmployeeSign.m_lngGetEmpByID(strDoctor.Trim(), out objEmpVO1);
                    if (objEmpVO1 != null)
                    {
                        m_txtManageDoc.Tag  = objEmpVO1;
                        m_txtManageDoc.Text = objEmpVO1.m_strLASTNAME_VCHR;
                    }
                }
            }
            else
            {
                clsEmrEmployeeBase_VO objEmpVO2 = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByID(objBedCardValue.m_strDoc_ManageBed, out objEmpVO2);
                if (objEmpVO2 != null)
                {
                    this.m_txtManageDoc.Text = objEmpVO2.m_strLASTNAME_VCHR;
                    this.m_txtManageDoc.Tag  = objEmpVO2;
                }
            }

            if (string.IsNullOrEmpty(objBedCardValue.m_strDoc_InCharge))
            {
                this.m_txtChargeDoc.Text = string.Empty;
                this.m_txtChargeDoc.Tag  = null;
            }
            else
            {
                clsEmrEmployeeBase_VO objEmpVO3 = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByID(objBedCardValue.m_strDoc_InCharge, out objEmpVO3);
                if (objEmpVO3 != null)
                {
                    this.m_txtChargeDoc.Text = objEmpVO3.m_strLASTNAME_VCHR;
                    this.m_txtChargeDoc.Tag  = objEmpVO3;
                }
            }

            this.m_cboStatus.SelectedIndex = ((objBedCardValue.m_intState < -1 || objBedCardValue.m_intState > 3)? -1 :objBedCardValue.m_intState);
        }
        /// <summary>
        /// 显示已删除记录至界面
        /// </summary>
        /// <param name="p_objContent"></param>
        protected override void m_mthSetDeletedGUIFromContent(iCareData.clsTrackRecordContent p_objContent)
        {
            clsEMR_intbloodsugarwatchValue objContent = p_objContent as clsEMR_intbloodsugarwatchValue;

            if (objContent == null)
            {
                return;
            }

            this.m_mthClearRecordInfo();

            m_dtpCreateDate.Value = objContent.m_dtmRecordDate;

            //m_txtCheckResult.Text = objContent.m_strCHECKRESULT_RIGHT;
            //m_cboCheckTime.Text = objContent.m_strCHECKTIME_RIGHT;
            m_txtnullAbdon.Text    = objContent.m_strNULLABDOMEN_RIGHT;
            m_txttwoBreakfast.Text = objContent.m_strTWOBREAKFAST_RIGTH;
            m_txtBeforeLunch.Text  = objContent.m_strBEFORELUNCH_RIGHT;
            m_txttwoLunch.Text     = objContent.m_strTWOAFTERLUNCH_RIGHT;
            m_txtBeforeDinner.Text = objContent.m_strBEFOREDINNER_RIGHT;
            m_txttwoDinner.Text    = objContent.m_strTWOAFTERDINNER_RIGHT;
            m_txtBeforeSleep.Text  = objContent.m_strBEFORESLEEP_RIGHT;
            m_txtBeizhu.Text       = objContent.m_strBEIZHU_RIGHT;


            #region 签名集合
            if (objContent.objSignerArr != null)
            {
                m_mthAddSignToListView(lsvSign, objContent.objSignerArr);
            }
            else
            {
                clsEmrEmployeeBase_VO    objEMP    = null;
                clsHospitalManagerDomain objDomain = new clsHospitalManagerDomain();
                long lngRes = objDomain.m_lngGetEmpByID(objContent.m_strCreateUserID, out objEMP);
                if (objEMP != null)
                {
                    ListViewItem lviNewItem = new ListViewItem(objEMP.m_strGetTechnicalRankAndName);
                    lviNewItem.SubItems.Add(objEMP.m_strEMPID_CHR);
                    lviNewItem.SubItems.Add(objEMP.m_StrHistroyLevel);
                    lviNewItem.Tag = objEMP;
                    lsvSign.Items.Add(lviNewItem);
                }
                objDomain = null;
            }
            #endregion 签名

            this.lsvSign.Enabled         = false;
            this.m_cmdSign.Enabled       = false;
            this.m_dtpCreateDate.Enabled = false;
        }
Beispiel #9
0
        /// <summary>
        /// 把选择时间记录内容重新整理为完全正确的内容。
        /// </summary>
        /// <param name="p_objRecordContent"></param>
        protected override void m_mthReAddNewRecord(clsTrackRecordContent p_objRecordContent)
        {
            //把选择时间记录内容重新整理为完全正确的内容,由子窗体重载实现。
            clsFuqiangOperationyesContent_xj objContent = (clsFuqiangOperationyesContent_xj)p_objRecordContent;

            //把表单值赋值到界面,由子窗体重载实现
            m_dtpDiscussTime.Value = objContent.m_dtmDiscussDate;
            dtpriqi.Value          = objContent.m_dtmDoctorDate;
            dtprihuan.Value        = objContent.m_dtmHuanzheDate;
            //  m_txtDiscussAddress.Text = objContent.m_strDiscussAddress;

            m_txtInHospitalDiagnose.m_mthSetNewText(objContent.m_strShuQian, objContent.m_strShuQianXML);
            m_txtSpeakRecord.m_mthSetNewText(objContent.m_strNiShi, objContent.m_strNiShiXML);
            m_txtYiJian.m_mthSetNewText(objContent.m_strMaZui, objContent.m_strMaZuiXML);
            m_txtYiBao.Text = objContent.m_strYiBao;


            #region 签名
            clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
            if (objContent.m_strAttendeeIDArr != null)
            {
                for (int i = 0; i < objContent.m_strAttendeeIDArr.Length; i++)
                {
                    ListViewItem lviNewItem = new ListViewItem(new string[] { objContent.m_strAttendeeNameArr[i].Trim(), objContent.m_strAttendeeIDArr[i] });
                    //tag均为对象
                    objEmployeeSign.m_lngGetEmpByNO(objContent.m_strAttendeeIDArr[i], out objEmpVO);
                    lviNewItem.SubItems.Add(objEmpVO.m_strLEVEL_CHR);
                    lviNewItem.Tag = objEmpVO;
                    //是按顺序保存故获取顺序也一样
                    m_lsvAttendeeList.Items.Add(lviNewItem);
                }
            }

            objEmployeeSign.m_lngGetEmpByNO(objContent.m_strCompereID, out objEmpVO);
            if (objEmpVO != null)
            {
                m_txtCompere.Tag  = objEmpVO;
                m_txtCompere.Text = objContent.m_strCompereName;
            }

            objEmployeeSign.m_lngGetEmpByNO(objContent.m_strRecordID, out objEmpVO);
            if (objEmpVO != null)
            {
                m_txtRecorder.Tag  = objEmpVO;
                m_txtRecorder.Text = objContent.m_strRecordName;
            }


            #endregion 签名
        }
Beispiel #10
0
        /// <summary>
        /// key盘验证签名者
        /// 适用于选择签名的时候使用
        /// </summary>
        /// <param name="p_strEmployeeID"></param>
        /// <param name="p_strEmployeeName"></param>
        /// <returns></returns>
        private bool m_blnCheckEmployeeSignByKey(string p_strEmployeeID, string p_strEmployeeName)
        {
            try
            {
                //获取证书
                clsDigitalSign objsign = new clsDigitalSign();

                //虚拟签名使弹出密码窗口
                string strContentTemp = null;
                strContentTemp = objsign.sign("1", 0);
                if (strContentTemp == null)
                {
                    MessageBox.Show("key盘校验失败,请确认已插入key盘!", "iCare Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return(false);
                }
                //使用key登录
                clsEmrEmployeeBase_VO objEmp = null;
                com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain objEmpDomain = new com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain();
                long ret = 0;
                ret = objEmpDomain.m_lngGetMinEmpByKey(objsign.currentCerts.m_strSerialNumber, out objEmp);
                if ((ret > 0) && (objEmp != null))
                {
                    if (objEmp.m_strEMPNO_CHR.Trim() == p_strEmployeeID.Trim())
                    {
                        return(true);
                    }
                    else
                    {
                        MessageBox.Show("检测到key盘证书名称和指定的签名者不一致,不能通过验证", "iCare Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return(false);
                    }
                }
                else
                {
                    MessageBox.Show("用户不存在或者未关联key盘登录,请检查!", "iCare Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return(false);
                }
            }
            catch (Exception exp)
            {
                MessageBox.Show("未能检测到key盘,确认是否插入key盘", "iCare Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }
        }
Beispiel #11
0
        /// <summary>
        /// 根据key盘返回指定员工信息
        /// 前提条件:员工已与key关联
        /// </summary>
        /// <param name="strEmpKey">key</param>
        /// <param name="p_objEmployeeBase">返回最小信息集</param>
        /// <returns></returns>
        public long m_lngGetMinEmpByKey(string strEmpKey, out clsEmrEmployeeBase_VO p_objEmployeeBase)
        {
            p_objEmployeeBase = null;
            long             lngRes = 0;
            clsSignature_srv objSvc = new clsSignature_srv();

            try
            {
                //key为空返回
                if (strEmpKey == null || strEmpKey.Trim().Length == 0)
                {
                    return(lngRes);
                }
                DataTable dtbResult = new DataTable();
                lngRes = objSvc.m_lngGetEmpByKey(null, strEmpKey, out dtbResult);
                if (lngRes > 0 && dtbResult.Rows.Count > 0)
                {
                    p_objEmployeeBase = new clsEmrEmployeeBase_VO();
                    //员工基本信息(最小集合)
                    p_objEmployeeBase.m_strEMPID_CHR         = dtbResult.Rows[0]["empid_chr"].ToString();
                    p_objEmployeeBase.m_strLASTNAME_VCHR     = dtbResult.Rows[0]["lastname_vchr"].ToString();
                    p_objEmployeeBase.m_strTECHNICALRANK_CHR = dtbResult.Rows[0]["technicalrank_chr"].ToString();
                    p_objEmployeeBase.m_strEMPNO_CHR         = dtbResult.Rows[0]["empno_chr"].ToString();
                    p_objEmployeeBase.m_strPYCODE_VCHR       = dtbResult.Rows[0]["pycode_chr"].ToString();
                    p_objEmployeeBase.m_strEMPKEY_VCHR       = dtbResult.Rows[0]["digitalsign_dta"].ToString();
                    p_objEmployeeBase.m_strEMPPWD_VCHR       = dtbResult.Rows[0]["psw_chr"].ToString();
                    p_objEmployeeBase.m_strLEVEL_CHR         = dtbResult.Rows[0]["technicallevel_chr"].ToString();
                    p_objEmployeeBase.m_intSTATUS_INT        = 1;
                }
            }

            catch (Exception exp)
            {
                p_objEmployeeBase = new clsEmrEmployeeBase_VO();
                string strErrMessage = exp.Message;
            }
            finally
            {
                //objSvc.Dispose();
            }
            //返回
            return(lngRes);
        }
Beispiel #12
0
        /// <summary>
        /// 显示已删除记录至界面
        /// </summary>
        /// <param name="p_objContent"></param>
        protected override void m_mthSetDeletedGUIFromContent(iCareData.clsTrackRecordContent p_objContent)
        {
            clsEMR_MicroBooldSugarCheckValue objContent = p_objContent as clsEMR_MicroBooldSugarCheckValue;

            if (objContent == null)
            {
                return;
            }

            this.m_mthClearRecordInfo();

            m_dtpCreateDate.Value = objContent.m_dtmRecordDate;

            m_txtCheckResult.Text = objContent.m_strCHECKRESULT_RIGHT;
            m_cboCheckTime.Text   = objContent.m_strCHECKTIME_RIGHT;

            #region 签名集合
            if (objContent.objSignerArr != null)
            {
                m_mthAddSignToListView(lsvSign, objContent.objSignerArr);
            }
            else
            {
                clsEmrEmployeeBase_VO    objEMP    = null;
                clsHospitalManagerDomain objDomain = new clsHospitalManagerDomain();
                long lngRes = objDomain.m_lngGetEmpByID(objContent.m_strCreateUserID, out objEMP);
                if (objEMP != null)
                {
                    ListViewItem lviNewItem = new ListViewItem(objEMP.m_strGetTechnicalRankAndName);
                    lviNewItem.SubItems.Add(objEMP.m_strEMPID_CHR);
                    lviNewItem.SubItems.Add(objEMP.m_StrHistroyLevel);
                    lviNewItem.Tag = objEMP;
                    lsvSign.Items.Add(lviNewItem);
                }
                objDomain = null;
            }
            #endregion 签名

            this.lsvSign.Enabled         = false;
            this.m_cmdSign.Enabled       = false;
            this.m_dtpCreateDate.Enabled = false;
        }
Beispiel #13
0
        private void m_mthSetCircsRecordContentToUI(clsBrothRecords_F2Rec objRecord)
        {
            if (objRecord != null)
            {
                m_dtpRecordTime.Value = objRecord.m_dtmRecordDate;
                //  m_cboBirthDays.Text = objRecord.m_strBIRTHDAYS == null ? "" : objRecord.m_strBIRTHDAYS.Trim();
                m_txtxueya.m_mthSetNewText(objRecord.str_XUEYA, objRecord.str_XUEYAXML);
                m_txtCgongsuojianxie.m_mthSetNewText(objRecord.str_GONGSUOJIANXUE, objRecord.str_GONGSUOJIANXUEXML);
                m_txtgongsuotimes.m_mthSetNewText(objRecord.str_GONGSUOTIME, objRecord.str_GONGSUOTIMEXML);
                m_txttaixin.m_mthSetNewText(objRecord.str_TAIXIN, objRecord.str_TAIXINXML);
                m_txtgongkoukaida.m_mthSetNewText(objRecord.str_GONGKOU, objRecord.str_GONGKOUXML);
                m_txttaimoqingkuang.m_mthSetNewText(objRecord.str_TAIMO, objRecord.str_TAIMOXML);
                m_txtxianlugaodi.m_mthSetNewText(objRecord.str_XIANLU, objRecord.str_XIANLUXML);
                m_txtjianchafa.m_mthSetNewText(objRecord.str_JIANCHAFA, objRecord.str_JIANCHAFAXML);
                m_txtgongdijisizhou.m_mthSetNewText(objRecord.str_GONGDIJIZHOU, objRecord.str_GONGDIJIZHOUXML);
                m_yindaofenmiwu.m_mthSetNewText(objRecord.str_FENMIWU, objRecord.str_FENMIWUXML);
                //m_txtAGNAIL.m_mthSetNewText(objRecord.m_strAGNAIL, objRecord.m_strAGNAILXML);
                //m_txtREDSTERN.m_mthSetNewText(objRecord.m_strREDSTERN, objRecord.m_strREDSTERNXML);
                //m_txtSTERNSKIN.m_mthSetNewText(objRecord.m_strSTERNSKIN, objRecord.m_strSTERNSKINXML);
                //m_txtHEARTLUNG.m_mthSetNewText(objRecord.m_strHEARTLUNG, objRecord.m_strHEARTLUNGXML);
                //m_txtABDOMEN.m_mthSetNewText(objRecord.m_strABDOMEN, objRecord.m_strABDOMENXML);
                //m_txtRemark.m_mthSetNewText(objRecord.m_strREMARK, objRecord.m_strREMARKXML);

                clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByID(objRecord.m_strSignUserID, out objEmpVO);
                if (objEmpVO != null)
                {
                    m_txtDoctorSign.Tag  = objEmpVO;
                    m_txtDoctorSign.Text = objEmpVO.m_strLASTNAME_VCHR;
                }

                //if(objRecord.m_strSignUserName != "" && objRecord.m_strSignUserName != null && objRecord.m_strSignUserID != "" &&objRecord.m_strSignUserID != null)
                //{
                //    m_txtDoctorSign.Text = objRecord.m_strSignUserName;

                //    clsEmployee objEmp = new clsEmployee(objRecord.m_strSignUserID);
                //    m_txtDoctorSign.Tag = objEmp;
                //}
            }

            m_objCurrentRecord = objRecord;
        }
Beispiel #14
0
        private void m_mthSetCircsRecordContentToUI(clsGestationMisbirthsthreeVO objRecord)
        {
            if (objRecord != null)
            {
                m_dtpRecordTime.Value = objRecord.m_dtmRecordDate;
                if (objRecord.m_strBLOODPRESSURE_VCHR != "")
                {
                    string[] strXY = objRecord.m_strBLOODPRESSURE_VCHR.Split('/');
                    m_txtBLOODPRESSURE1.Text = strXY[0].ToString();
                    m_txtBLOODPRESSURE2.Text = strXY[1].ToString();
                }
                m_txtTEMPERATURE.m_mthSetNewText(objRecord.m_strTEMPERATURE_VCHR, objRecord.m_strTEMPERATURE_XML);
                m_txtPULSE.m_mthSetNewText(objRecord.m_strPULSE_VCHR, objRecord.m_strPULSE_XML);
                m_txtCONTRACTIONS.m_mthSetNewText(objRecord.m_strCONTRACTIONS_VCHR, objRecord.m_strCONTRACTIONS_XML);
                m_txtBLEEDING.m_mthSetNewText(objRecord.m_strBLEEDING_VCHR, objRecord.m_strBLEEDING_XML);
                m_txtBROKENWATER.m_mthSetNewText(objRecord.m_strBROKENWATER_VCHR, objRecord.m_strBROKENWATER_XML);
                m_txtFETAL.m_mthSetNewText(objRecord.m_strFETAL_VCHR, objRecord.m_strFETAL_XML);
                m_txtSign.Text = objRecord.m_strSignUserName;
                m_txtMIYAGUCHISIZE.m_mthSetNewText(objRecord.m_strMIYAGUCHISIZE_VCHR, objRecord.m_strMIYAGUCHISIZE_XML);

                clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByID(objRecord.m_strSignUserID, out objEmpVO);
                //if (objEmpVO != null)
                //{
                //    m_txtSign.Tag = objEmpVO;
                //    m_txtSign.Text = objEmpVO.m_strLASTNAME_VCHR;
                //}
                if (objRecord.m_strSignUserName != "" && objRecord.m_strSignUserName != null && objRecord.m_strSignUserID != "" && objRecord.m_strSignUserID != null)
                {
                    m_txtSign.Text = objRecord.m_strSignUserName;

                    clsEmployee objEmp = new clsEmployee(objRecord.m_strSignUserID);
                    m_txtSign.Tag = objEmp;
                }
            }
            m_objCurrentRecord = objRecord;
        }
Beispiel #15
0
        /// <summary>
        /// 把特殊记录的值显示到界面上。
        /// </summary>
        /// <param name="p_objContent"></param>
        protected override void m_mthSetGUIFromContent(clsTrackRecordContent p_objContent)
        {
            if (p_objContent == null)
            {
                return;
            }
            clsDeathRecordContent_XJ objContent = (clsDeathRecordContent_XJ)p_objContent;

            //把表单值赋值到界面,由子窗体重载实现
            m_strCurrentOpenDate = objContent.m_dtmOpenDate.ToString("yyyy-MM-dd HH:mm:ss");
            DateTime dtmOut = m_dtmOutHospitalDate;

            m_dtpOutHospitalDate.Enabled = false;
            if (clsEMRLogin.m_StrCurrentHospitalNO != "450101001")
            {
                if (objContent.m_dtmOutHospitalDate != DateTime.MinValue)
                {
                    dtmOut = objContent.m_dtmOutHospitalDate;
                }
            }
            else
            {
                dtmOut = m_ObjCurrentEmrPatientSession.m_dtmOutDate;
            }
            if (dtmOut != DateTime.MinValue && dtmOut != new DateTime(1900, 1, 1))
            {
                m_dtpOutHospitalDate.Value   = dtmOut;
                m_dtpOutHospitalDate.Visible = true;
                if (clsEMRLogin.m_StrCurrentHospitalNO != "450101001")
                {
                    m_dtpOutHospitalDate.Enabled = true;
                }
            }
            else
            {
                m_dtpOutHospitalDate.Visible = false;
            }
            m_dtmOutHospitalDate = dtmOut;

            //			m_dtpOutHospitalDate.Value = objContent.m_dtmOutHospitalDate;
            //m_txtHeartID.m_mthSetNewText(objContent.m_strHeartID, objContent.m_strHeartIDXML);
            //m_txtXRayID.m_mthSetNewText(objContent.m_strXRayID, objContent.m_strXRayIDXML);
            m_txtInHospitalDiagnose.m_mthSetNewText(objContent.m_strInHospitalDiagnose, objContent.m_strInHospitalDiagnoseXML);
            m_txtInXiYiDiagnose.m_mthSetNewText(objContent.m_strInHospitalDiagnoseXi, objContent.m_strInHospitalDiagnoseXiXML);

            m_txtOutHospitalDiagnose.m_mthSetNewText(objContent.m_strOutHospitalDiagnose, objContent.m_strOutHospitalDiagnoseXML);
            m_txtOutXiYiDiagnose.m_mthSetNewText(objContent.m_strOutHospitalDiagnoseXi, objContent.m_strOutHospitalDiagnoseXiXML);

            m_txtInHospitalCase.m_mthSetNewText(objContent.m_strInHospitalCase, objContent.m_strInHospitalCaseXML);
            //m_txtInHospitalBy.m_mthSetNewText(objContent.m_strInHospitalBy, objContent.m_strInHospitalByXML);
            m_txtOutHospitalCase.m_mthSetNewText(objContent.m_strOutHospitalCase, objContent.m_strOutHospitalCaseXML);
            m_txtOutHospitalAdvice.m_mthSetNewText(objContent.m_strOutHospitalAdvice, objContent.m_strOutHospitalAdviceXML);

            #region 签名
            clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
            objEmployeeSign.m_lngGetEmpByNO(objContent.m_strMainDoctorID, out objEmpVO);
            if (objEmpVO != null)
            {
                m_txtMainDoctorSign.Tag  = objEmpVO;
                m_txtMainDoctorSign.Text = objEmpVO.m_strGetTechnicalRankAndName;
            }

            objEmployeeSign.m_lngGetEmpByNO(objContent.m_strDoctorID, out objEmpVO);
            if (objEmpVO != null)
            {
                m_txtDoctorSign.Tag     = objEmpVO;
                m_txtDoctorSign.Text    = objEmpVO.m_strGetTechnicalRankAndName;
                m_txtDoctorSign.Enabled = false;
            }

            //    lblEmployeeID.Text = objContent.m_strDoctorID;
            #endregion 签名

            //			#region 入院原因(主诉)
            //			clsInPatientCaseHisoryDefaultValue[] objInPatientCaseHisoryDefaultValueArr= new clsInPatientCaseHisoryDefaultDomain().lngGetAllInPatientCaseHisoryDefault(m_objCurrentPatient.m_StrInPatientID,m_objCurrentPatient.m_ObjInBedInfo.m_ObjLastSessionInfo.m_DtmInDate.ToString("yyyy-MM-dd HH:mm:ss"));
            //			if(objInPatientCaseHisoryDefaultValueArr !=null && objInPatientCaseHisoryDefaultValueArr.Length>0)
            //			{
            //				m_lblInHospitalReason.Text=objInPatientCaseHisoryDefaultValueArr[0].m_strMainDescription;
            //			}
            //			#endregion 入院原因(主诉)
        }
Beispiel #16
0
        /// <summary>
        /// 把特殊记录的值显示到界面上。
        /// </summary>
        /// <param name="p_objContent"></param>
        protected override void m_mthSetGUIFromContent(clsTrackRecordContent p_objContent)
        {
            if (p_objContent == null)
            {
                return;
            }
            clsFetalCustodialRecordContent objContent = (clsFetalCustodialRecordContent)p_objContent;

            //把表单值赋值到界面,由子窗体重载实现
            //m_strCurrentOpenDate = objContent.m_dtmOpenDate.ToString("yyyy-MM-dd HH:mm:ss");
            m_txtClinicalDiagnose.m_mthSetNewText(objContent.m_strClinicalDiagnose, objContent.m_strClinicalDiagnoseXml);
            m_txtCustodialIndication.m_mthSetNewText(objContent.m_strCustodialIndication, objContent.m_strCustodialIndicationXml);
            m_txtUltraSonicscanCue.m_mthSetNewText(objContent.m_strUltraSonicscanCue, objContent.m_strUltraSonicscanCueXml);
            m_txtUltraSonicscanerType.m_mthSetNewText(objContent.m_strUltraSonicscanerType, objContent.m_strUltraSonicscanerTypeXml);
            m_txtFetalHeartRate.Text     = objContent.m_strFetalHeartRate;
            m_txtAmplitudeVariation.Text = objContent.m_strAmplitudeVariation;
            m_txtPeriodicVariation.Text  = objContent.m_strPeriodicVariation;
            m_txtAcceleration.Text       = objContent.m_strAccerleration;
            m_txtDeceleration.Text       = objContent.m_strDecerleration;
            m_txtTotalRate.Text          = objContent.m_strTotalRate;
            m_txtManagementSuggestion.m_mthSetNewText(objContent.m_strManagementSuggestion, objContent.m_strManagementSuggestionXml);
            m_txtOCT.m_mthSetNewText(objContent.m_strOCT, objContent.m_strOCTXml);
            m_txtCSF.m_mthSetNewText(objContent.m_strCSF, objContent.m_strCSFXml);
            m_txtCustodialRecord.m_mthSetNewText(objContent.m_strCustodialRecord, objContent.m_strCustodialRecordXml);
            m_txtHour.m_mthSetNewText(objContent.m_strAfterParturientHour, objContent.m_strAfterParturientHourXml);
            m_txtMinute.m_mthSetNewText(objContent.m_strAfterParturientMinute, objContent.m_strAfterParturientMinuteXml);
            m_txtOstiumUteri.m_mthSetNewText(objContent.m_strOstiumUteri, objContent.m_strOstiumUteriXml);
            clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();

            objEmployeeSign.m_lngGetEmpByNO(objContent.m_strSignID1, out objEmpVO);
            if (objEmpVO != null)
            {
                m_txtSign1.Tag  = objEmpVO;
                m_txtSign1.Text = objEmpVO.m_strGetTechnicalRankAndName;
                if (objContent.m_dtmSignTime1.ToString() != "0001-1-1 0:00:00")
                {
                    m_dtpSignTime1.Value = objContent.m_dtmSignTime1;
                }
            }
            m_txtNatalType.m_mthSetNewText(objContent.m_strNatalType, objContent.m_strNatalTypeXml);
            m_txtBirthHour.m_mthSetNewText(objContent.m_strBirthProcessHour, objContent.m_strBirthProcessHourXml);
            m_txtBirthMinute.m_mthSetNewText(objContent.m_strBirthProcessMinute, objContent.m_strBirthProcessMinuteXml);
            m_txtEvaluation.m_mthSetNewText(objContent.m_strEvaluation, objContent.m_strEvaluationXml);
            m_txtFetalWeight.m_mthSetNewText(objContent.m_strFetalWeight, objContent.m_strFetalWeightXml);
            m_txtFetalLength.m_mthSetNewText(objContent.m_strFetalLength, objContent.m_strFetalLengthXml);
            m_txtAmnioticFluid.m_mthSetNewText(objContent.m_strAmnioticFluid, objContent.m_strAmnioticFluidXml);
            m_txtColor.m_mthSetNewText(objContent.m_strColor, objContent.m_strColorXml);
            m_txtPlacenta.m_mthSetNewText(objContent.m_strPlacenta, objContent.m_strPlacentaXml);
            m_txtUmbilicalcord.m_mthSetNewText(objContent.m_strUmbilicalcord, objContent.m_strUmbilicalcordXml);
            m_txtRemark.m_mthSetNewText(objContent.m_strRemark, objContent.m_strRemarkXml);
            objEmpVO = new clsEmrEmployeeBase_VO();
            objEmployeeSign.m_lngGetEmpByNO(objContent.m_strSignID2, out objEmpVO);
            if (objEmpVO != null)
            {
                m_txtSign2.Tag  = objEmpVO;
                m_txtSign2.Text = objEmpVO.m_strGetTechnicalRankAndName;
                if (objContent.m_dtmSignTime2.ToString() != "0001-1-1 0:00:00")
                {
                    m_dtpSignTime2.Value = objContent.m_dtmSignTime2;
                }
            }
        }
Beispiel #17
0
        /// <summary>
        /// 从界面获取特殊记录的值。如果界面值出错,返回null。
        /// </summary>
        /// <returns></returns>
        protected override clsTrackRecordContent m_objGetContentFromGUI()
        {
            //界面参数校验
            if (m_objCurrentPatient == null || m_ObjCurrentEmrPatientSession == null)
            {
                return(null);
            }

            if (txtSign.Tag == null)
            {
                clsPublicFunction.ShowInformationMessageBox("请记录者签名!");
                return(null);
            }
            clsEMR_OPInstrument objInstrument = new clsEMR_OPInstrument();

            objInstrument.m_dtmRecordDate = m_dtpCreateDate.Value;
            clsEmrEmployeeBase_VO objCreat = txtSign.Tag as clsEmrEmployeeBase_VO;

            if (objCreat != null)
            {
                objInstrument.m_strCreateUserID = objCreat.m_strEMPNO_CHR;
            }
            objInstrument.m_strModifyUserID = clsEMRLogin.LoginInfo.m_strEmpNo;
            #region 获取签名集合
            int intSignCount = 0;

            intSignCount = m_lsvOperationer.Items.Count + m_lsvAssitantor.Items.Count + m_lsvInstrumentNurse.Items.Count
                           + m_lsvItinerationNurse.Items.Count + m_lsvCheckNurse.Items.Count + m_lsvCheckNurseName.Items.Count + 1;
            objInstrument.objSignerArr = new clsEmrSigns_VO[intSignCount];
            m_mthGetSignArr(new Control[] { m_lsvOperationer, m_lsvAssitantor, m_lsvInstrumentNurse, m_lsvCheckNurseName, m_lsvCheckNurse, m_lsvItinerationNurse, txtSign }, ref objInstrument.objSignerArr, ref strUserIDList, ref strUserNameList);
            //int currentSignCount = 0;
            //for (int i = 0 ; i < m_lsvOperationer.Items.Count ; i++)
            //{
            //    objInstrument.objSignerArr[i] = new clsEmrSigns_VO();
            //    objInstrument.objSignerArr[i].objEmployee = new clsEmrEmployeeBase_VO();
            //    objInstrument.objSignerArr[i].objEmployee = (clsEmrEmployeeBase_VO)(m_lsvOperationer.Items[i].Tag);
            //    objInstrument.objSignerArr[i].controlName = "m_lsvOperationer";
            //    objInstrument.objSignerArr[i].m_strFORMID_VCHR = "frmEMR_OPInstrumentQty";
            //    objInstrument.objSignerArr[i].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;
            //}
            //currentSignCount = m_lsvOperationer.Items.Count;

            //for (int i = 0 ; i < m_lsvAssitantor.Items.Count ; i++)
            //{
            //    objInstrument.objSignerArr[currentSignCount + i] = new clsEmrSigns_VO();
            //    objInstrument.objSignerArr[currentSignCount + i].objEmployee = new clsEmrEmployeeBase_VO();
            //    objInstrument.objSignerArr[currentSignCount + i].objEmployee = (clsEmrEmployeeBase_VO)(m_lsvAssitantor.Items[i].Tag);
            //    objInstrument.objSignerArr[currentSignCount + i].controlName = "m_lsvAssitantor";
            //    objInstrument.objSignerArr[currentSignCount + i].m_strFORMID_VCHR = "frmEMR_OPInstrumentQty";
            //    objInstrument.objSignerArr[currentSignCount + i].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;
            //}
            //currentSignCount += m_lsvAssitantor.Items.Count;

            //for (int i = 0 ; i < m_lsvInstrumentNurse.Items.Count ; i++)
            //{
            //    objInstrument.objSignerArr[currentSignCount + i] = new clsEmrSigns_VO();
            //    objInstrument.objSignerArr[currentSignCount + i].objEmployee = new clsEmrEmployeeBase_VO();
            //    objInstrument.objSignerArr[currentSignCount + i].objEmployee = (clsEmrEmployeeBase_VO)(m_lsvInstrumentNurse.Items[i].Tag);
            //    objInstrument.objSignerArr[currentSignCount + i].controlName = "m_lsvInstrumentNurse";
            //    objInstrument.objSignerArr[currentSignCount + i].m_strFORMID_VCHR = "frmEMR_OPInstrumentQty";
            //    objInstrument.objSignerArr[currentSignCount + i].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;
            //}
            //currentSignCount += m_lsvInstrumentNurse.Items.Count;

            //for (int i = 0 ; i < m_lsvItinerationNurse.Items.Count ; i++)
            //{
            //    objInstrument.objSignerArr[currentSignCount + i] = new clsEmrSigns_VO();
            //    objInstrument.objSignerArr[currentSignCount + i].objEmployee = new clsEmrEmployeeBase_VO();
            //    objInstrument.objSignerArr[currentSignCount + i].objEmployee = (clsEmrEmployeeBase_VO)(m_lsvItinerationNurse.Items[i].Tag);
            //    objInstrument.objSignerArr[currentSignCount + i].controlName = "m_lsvItinerationNurse";
            //    objInstrument.objSignerArr[currentSignCount + i].m_strFORMID_VCHR = "frmEMR_OPInstrumentQty";
            //    objInstrument.objSignerArr[currentSignCount + i].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;
            //}
            //currentSignCount += m_lsvItinerationNurse.Items.Count;

            //for (int i = 0 ; i < m_lsvCheckNurse.Items.Count ; i++)
            //{
            //    objInstrument.objSignerArr[currentSignCount + i] = new clsEmrSigns_VO();
            //    objInstrument.objSignerArr[currentSignCount + i].objEmployee = new clsEmrEmployeeBase_VO();
            //    objInstrument.objSignerArr[currentSignCount + i].objEmployee = (clsEmrEmployeeBase_VO)(m_lsvCheckNurse.Items[i].Tag);
            //    objInstrument.objSignerArr[currentSignCount + i].controlName = "m_lsvCheckNurse";
            //    objInstrument.objSignerArr[currentSignCount + i].m_strFORMID_VCHR = "frmEMR_OPInstrumentQty";
            //    objInstrument.objSignerArr[currentSignCount + i].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;
            //}
            //currentSignCount += m_lsvCheckNurse.Items.Count;

            //for (int i = 0 ; i < m_lsvCheckNurseName.Items.Count ; i++)
            //{
            //    objInstrument.objSignerArr[currentSignCount + i] = new clsEmrSigns_VO();
            //    objInstrument.objSignerArr[currentSignCount + i].objEmployee = new clsEmrEmployeeBase_VO();
            //    objInstrument.objSignerArr[currentSignCount + i].objEmployee = (clsEmrEmployeeBase_VO)(m_lsvCheckNurseName.Items[i].Tag);
            //    objInstrument.objSignerArr[currentSignCount + i].controlName = "m_lsvCheckNurseName";
            //    objInstrument.objSignerArr[currentSignCount + i].m_strFORMID_VCHR = "frmEMR_OPInstrumentQty";
            //    objInstrument.objSignerArr[currentSignCount + i].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;
            //}

            //objInstrument.objSignerArr[intSignCount - 1] = new clsEmrSigns_VO();
            //objInstrument.objSignerArr[intSignCount - 1].objEmployee = new clsEmrEmployeeBase_VO();
            //objInstrument.objSignerArr[intSignCount - 1].objEmployee = (clsEmrEmployeeBase_VO)(txtSign.Tag);
            //objInstrument.objSignerArr[intSignCount - 1].controlName = "txtSign";
            //objInstrument.objSignerArr[intSignCount - 1].m_strFORMID_VCHR = "frmEMR_OPInstrumentQty";
            //objInstrument.objSignerArr[intSignCount - 1].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;
            #endregion

            #region 获取DataGrid内容
            m_txtBedNO.Focus();
            m_dtgInstrument.EndEdit();
            objInstrument.m_objOPInstrument = new clsEMR_OPInstrumentItem[m_objDictArr.Length];
            int intRowNum = m_dtbInstrumentItem.Rows.Count;
            for (int i = 0; i < intRowNum; i++)
            {
                objInstrument.m_objOPInstrument[i] = new clsEMR_OPInstrumentItem();
                objInstrument.m_objOPInstrument[i].m_objOPInstrumentInfo = m_objDictArr[i];
                objInstrument.m_objOPInstrument[i].m_strAfterClose       = m_dtbInstrumentItem.Rows[i][3].ToString();
                objInstrument.m_objOPInstrument[i].m_strBeforeClose      = m_dtbInstrumentItem.Rows[i][2].ToString();
                objInstrument.m_objOPInstrument[i].m_strBeforeOP         = m_dtbInstrumentItem.Rows[i][1].ToString();

                if (m_dtbInstrumentItem.Rows[i][4] != DBNull.Value && i + intRowNum < m_objDictArr.Length)
                {
                    objInstrument.m_objOPInstrument[i + intRowNum] = new clsEMR_OPInstrumentItem();
                    objInstrument.m_objOPInstrument[i + intRowNum].m_objOPInstrumentInfo = m_objDictArr[i + intRowNum];
                    objInstrument.m_objOPInstrument[i + intRowNum].m_strAfterClose       = m_dtbInstrumentItem.Rows[i][7].ToString();
                    objInstrument.m_objOPInstrument[i + intRowNum].m_strBeforeClose      = m_dtbInstrumentItem.Rows[i][6].ToString();
                    objInstrument.m_objOPInstrument[i + intRowNum].m_strBeforeOP         = m_dtbInstrumentItem.Rows[i][5].ToString();
                }

                if (m_dtbInstrumentItem.Rows[i][8] != DBNull.Value && i + 2 * intRowNum < m_objDictArr.Length)
                {
                    objInstrument.m_objOPInstrument[i + 2 * intRowNum] = new clsEMR_OPInstrumentItem();
                    objInstrument.m_objOPInstrument[i + 2 * intRowNum].m_objOPInstrumentInfo = m_objDictArr[i + 2 * intRowNum];
                    objInstrument.m_objOPInstrument[i + 2 * intRowNum].m_strAfterClose       = m_dtbInstrumentItem.Rows[i][11].ToString();
                    objInstrument.m_objOPInstrument[i + 2 * intRowNum].m_strBeforeClose      = m_dtbInstrumentItem.Rows[i][10].ToString();
                    objInstrument.m_objOPInstrument[i + 2 * intRowNum].m_strBeforeOP         = m_dtbInstrumentItem.Rows[i][9].ToString();
                }
            }
            #endregion
            objInstrument.m_lngEMR_SEQ = m_lngCurrentEMR_SEQ;
            return(objInstrument);
        }
        /// <summary>
        /// 把选择时间记录内容重新整理为完全正确的内容。
        /// </summary>
        /// <param name="p_objRecordContent"></param>
        protected override void m_mthReAddNewRecord(clsTrackRecordContent p_objRecordContent)
        {
            //把选择时间记录内容重新整理为完全正确的内容,由子窗体重载实现。
            clsDifficultCaseDiscussCountent_XJ objContent = (clsDifficultCaseDiscussCountent_XJ)p_objRecordContent;

            //把表单值赋值到界面,由子窗体重载实现
            m_dtpDiscussTime.Value = objContent.m_dtmDiscussDate;
            //  m_txtDiscussAddress.Text = objContent.m_strDiscussAddress;

            m_txtInHospitalDiagnose.m_mthSetNewText(objContent.m_strNiZheng, objContent.m_strNiZhengXML);
            m_txtSpeakRecord.m_mthSetNewText(objContent.m_strHuiBao, objContent.m_strHuiBaoXML);
            m_txtYiJian.m_mthSetNewText(objContent.m_strTaoLunYiJian, objContent.m_strTaoLunYiJianXML);
            m_txtVerdict.m_mthSetNewText(objContent.m_strTaoLunXiaoJie, objContent.m_strTaoLunXiaoJieXML);
            m_txtYiBao.Text = objContent.m_strYiBao;


            #region 签名
            clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
            if (objContent.m_strAttendeeIDArr != null)
            {
                for (int i = 0; i < objContent.m_strAttendeeIDArr.Length; i++)
                {
                    ListViewItem lviNewItem = new ListViewItem(new string[] { objContent.m_strAttendeeNameArr[i].Trim(), objContent.m_strAttendeeIDArr[i] });
                    //tag均为对象
                    objEmployeeSign.m_lngGetEmpByNO(objContent.m_strAttendeeIDArr[i], out objEmpVO);
                    lviNewItem.SubItems.Add(objEmpVO.m_strLEVEL_CHR);
                    lviNewItem.Tag = objEmpVO;
                    //是按顺序保存故获取顺序也一样
                    m_lsvAttendeeList.Items.Add(lviNewItem);
                }
            }

            objEmployeeSign.m_lngGetEmpByNO(objContent.m_strCompereID, out objEmpVO);
            if (objEmpVO != null)
            {
                m_txtCompere.Tag  = objEmpVO;
                m_txtCompere.Text = objContent.m_strCompereName;
            }

            objEmployeeSign.m_lngGetEmpByNO(objContent.m_strRecordID, out objEmpVO);
            if (objEmpVO != null)
            {
                m_txtRecorder.Tag  = objEmpVO;
                m_txtRecorder.Text = objContent.m_strRecordName;
            }

            objEmployeeSign.m_lngGetEmpByNO(objContent.m_strGuanChuangID, out objEmpVO);
            if (objEmpVO != null)
            {
                m_txtCompereSign.Tag  = objEmpVO;
                m_txtCompereSign.Text = objContent.m_strGuanChuangName;
            }

            objEmployeeSign.m_lngGetEmpByNO(objContent.m_strHuiBaoID, out objEmpVO);
            if (objEmpVO != null)
            {
                m_txtHuiBao.Tag = objEmpVO;
                //  m_txtCompereSign.Text = objContent.m_strCompereSignName;
                m_txtHuiBao.Text = objEmpVO.m_strLASTNAME_VCHR + " " + objEmpVO.m_strTECHNICALRANK_CHR;
            }

            objEmployeeSign.m_lngGetEmpByNO(objContent.m_strZhuRenID, out objEmpVO);
            if (objEmpVO != null)
            {
                m_txtKeZhuRen.Tag = objEmpVO;
                //  m_txtCompereSign.Text = objContent.m_strCompereSignName;
                m_txtKeZhuRen.Text = objEmpVO.m_strLASTNAME_VCHR + " " + objEmpVO.m_strTECHNICALRANK_CHR;
            }

            #endregion 签名
        }
Beispiel #19
0
        // 打印页
        private void m_mthPrintPageSub(PrintPageEventArgs e)
        {
            e.HasMorePages = false;
            m_mthPrintTitleInfo(e);
            Font fntNormal = new Font("SimSun", 12);

            if (m_intPages == 1)
            {
                m_intYPos += (int)enmRectangleInfo.RowStep + 5;
                e.Graphics.DrawLine(m_LinePen, (int)enmRectangleInfo.LeftX, 206, (int)enmRectangleInfo.RightX, 206);
                e.Graphics.DrawLine(m_LinePen, (int)enmRectangleInfo.LeftX, 235, (int)enmRectangleInfo.RightX, 235);
            }

            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.RightX, (int)enmRectangleInfo.TopY);


            while (m_objPrintContext.m_BlnHaveMoreLine)
            {
                m_objPrintContext.m_mthPrintNextLine(ref m_intYPos, e.Graphics, fntNormal);

                if (m_intYPos >= (int)enmRectangleInfo.BottomY &&
                    m_objPrintContext.m_BlnHaveMoreLine)
                {
                    #region 换页处理
                    e.HasMorePages = true;

                    e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.LeftX, m_intYPos);
                    e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.RightX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.RightX, m_intYPos);
                    e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, m_intYPos, (int)enmRectangleInfo.RightX, m_intYPos);

                    m_intPages++;
                    m_intYPos = (int)enmRectangleInfo.TopY + 30;
                    return;

                    #endregion 换页处理
                }
            }

            #region 最后一页处理
            m_intYPos += 30;
            e.Graphics.DrawString("医师签名:", new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 460, m_intYPos);
            if (m_objRecordContent != null)
            {
                com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain objEmployeeSign = new com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain();
                clsEmrEmployeeBase_VO objEmpVO = null;
                objEmployeeSign.m_lngGetEmpByNO(m_objRecordContent.m_strDoctorID, out objEmpVO);
                if (objEmpVO != null)
                {
                    Image imgEmpSig = ImageSignature.GetEmpSigImage(objEmpVO.m_strLASTNAME_VCHR);
                    if (imgEmpSig != null)
                    {
                        //imgEmpSig = ImageSignature.pictureProcess(imgEmpSig, 579, 268);
                        e.Graphics.DrawString(objEmpVO.m_strTechnicalRank, new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 540, m_intYPos);
                        e.Graphics.DrawImage(imgEmpSig, (int)enmRectangleInfo.LeftX + 620, m_intYPos - 2, 70, 30);
                    }
                    else
                    {
                        e.Graphics.DrawString(m_objRecordContent.m_strDoctorName, new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 460 + (int)(5f * 17.5f), m_intYPos);
                    }
                }
            }

            m_intYPos += 25;
            if (m_intYPos < (int)enmRectangleInfo.BottomY)
            {
                m_intYPos = (int)enmRectangleInfo.BottomY;
            }
            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.LeftX, m_intYPos);
            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.RightX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.RightX, m_intYPos);
            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, m_intYPos, (int)enmRectangleInfo.RightX, m_intYPos);

            #endregion 最后一页处理

            m_intYPos += (int)enmRectangleInfo.RowStep + 15;
            Font fntSign = new Font("", 6);
            while (m_objPrintContext.m_BlnHaveMoreSign)
            {
                m_objPrintContext.m_mthPrintNextSign((int)enmRectangleInfo.LeftX, m_intYPos, e.Graphics, fntSign);

                m_intYPos += (int)enmRectangleInfo.RowStep - 10;
            }

            //全部打完
            m_objPrintContext.m_mthReset();
            m_intPages = 1;
            m_intYPos  = (int)enmRectangleInfo.TopY;
        }
        // 打印页
        private void m_mthPrintPageSub(PrintPageEventArgs e)
        {
            e.HasMorePages = false;
            m_mthPrintTitleInfo(e);
            Font fntNormal = new Font("SimSun", 12);

            if (m_intPages == 1)
            {
                m_intYPos += (int)enmRectangleInfo.RowStep - 20;
            }

            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.RightX, (int)enmRectangleInfo.TopY);

            while (m_objPrintContext.m_BlnHaveMoreLine)
            {
                m_objPrintContext.m_mthPrintNextLine(ref m_intYPos, e.Graphics, fntNormal);

                if (m_intYPos >= (int)enmRectangleInfo.BottomY &&
                    m_objPrintContext.m_BlnHaveMoreLine)
                {
                    #region 换页处理
                    e.HasMorePages = true;

                    e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.LeftX, m_intYPos);
                    e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.RightX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.RightX, m_intYPos);
                    e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, m_intYPos, (int)enmRectangleInfo.RightX, m_intYPos);

                    m_intPages++;
                    m_intYPos = (int)enmRectangleInfo.TopY + 10;

                    clsPrintLine2.m_blnSinglePage = false;
                    return;

                    #endregion 换页处理
                }
            }

            #region 最后一页处理
            //  m_intYPos += 20;

            string strRecordName    = "                 ";
            string strGuanChangName = "";
            string strZhuRenName    = "";
            if (m_objRecordContent != null)
            {
                com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain objEmployeeSign = new com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain();
                clsEmrEmployeeBase_VO objEmpVO = null;
                objEmployeeSign.m_lngGetEmpByNO(m_objRecordContent.m_strRecordID, out objEmpVO);
                if (objEmpVO != null)
                {
                    strRecordName = objEmpVO.ToString();
                }
            }
            e.Graphics.DrawString("主管医师签字:" + strRecordName, new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 5, m_intYPos);
            e.Graphics.DrawString(m_objRecordContent.m_dtmDoctorDate.ToString("yyyy-MM-dd"), new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 5, m_intYPos + 20);

            e.Graphics.DrawString("患者本人签字:", new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 290, m_intYPos);
            e.Graphics.DrawString("患者亲属代签:" + "              " + "与患者关系:             ", new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 290, m_intYPos + 20);
            e.Graphics.DrawString("患者单位主要负责人签字:", new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 290, m_intYPos + 40);
            e.Graphics.DrawString(m_objRecordContent.m_dtmHuanzheDate.ToString("yyyy-MM-dd"), new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 290, m_intYPos + 60);
            //			m_intYPos+=25;
            //			e.Graphics.DrawString("工  号:",new Font("SimSun",12) ,Brushes.Black,(int)enmRectangleInfo.LeftX+560,m_intYPos);
            //			if(m_objRecordContent!=null)
            //				e.Graphics.DrawString(m_objRecordContent.m_strDoctorID,new Font("SimSun",12) ,Brushes.Black,(int)enmRectangleInfo.LeftX+560+(int)(5f*17.5f),m_intYPos);
            /////////////////////////////////*******************************************
            m_intYPos += 50;
            if (m_intYPos < (int)enmRectangleInfo.BottomY)
            {
                m_intYPos = (int)enmRectangleInfo.BottomY;
            }
            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.LeftX, m_intYPos);
            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.RightX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.RightX, m_intYPos);
            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, m_intYPos, (int)enmRectangleInfo.RightX, m_intYPos);

            #endregion 最后一页处理

            m_intYPos += (int)enmRectangleInfo.RowStep + 15;
            Font fntSign = new Font("", 6);
            while (m_objPrintContext.m_BlnHaveMoreSign)
            {
                m_objPrintContext.m_mthPrintNextSign((int)enmRectangleInfo.LeftX, m_intYPos, e.Graphics, fntSign);

                m_intYPos += (int)enmRectangleInfo.RowStep - 10;
            }

            //全部打完
            m_objPrintContext.m_mthReset();
            m_intPages = 1;
            m_intYPos  = (int)enmRectangleInfo.TopY;
        }
Beispiel #21
0
        /// <summary>
        /// 从界面获取特殊记录的值。如果界面值出错,返回null。
        /// </summary>
        /// <returns></returns>
        protected override clsTrackRecordContent m_objGetContentFromGUI()
        {
            //界面参数校验
            if (m_objCurrentPatient == null || m_ObjCurrentEmrPatientSession == null)
            {
                return(null);
            }

            //从界面获取表单值
            clsFuqiangOperationyesContent_xj objContent = new clsFuqiangOperationyesContent_xj();

            objContent.m_dtmCreateDate   = m_dtpCreateDate.Value;
            objContent.m_strModifyUserID = clsEMRLogin.LoginInfo.m_strEmpNo;
            #region 是否可以无痕迹修改
            if (chkModifyWithoutMatk.Checked)
            {
                objContent.m_intMarkStatus = 0;
            }
            else
            {
                objContent.m_intMarkStatus = 1;
            }
            #endregion
            //   objContent.m_dtmDeadDate = m_dtpDeadDate.Value;
            objContent.m_dtmDiscussDate = m_dtpDiscussTime.Value;
            objContent.m_dtmDoctorDate  = dtpriqi.Value;
            objContent.m_dtmHuanzheDate = dtprihuan.Value;

            //objContent.m_strDiscussAddress = m_txtDiscussAddress.Text;
            objContent.m_strShuQian    = m_txtInHospitalDiagnose.Text;
            objContent.m_strShuQianXML = m_txtInHospitalDiagnose.m_strGetXmlText();
            objContent.m_strNiShi      = m_txtSpeakRecord.Text;
            objContent.m_strNiShiXML   = m_txtSpeakRecord.m_strGetXmlText();

            objContent.m_strMaZui    = m_txtYiJian.Text;
            objContent.m_strMaZuiXML = m_txtYiJian.m_strGetXmlText();

            objContent.m_strYiBao = m_txtYiBao.Text;

            //objContent.m_strDeadReason = m_txtDeadReason.Text;
            //objContent.m_strDeadReasonXML = m_txtDeadReason.m_strGetXmlText();
            //objContent.m_strExperience = m_txtExperience.Text;
            //objContent.m_strExperienceXML = m_txtExperience.m_strGetXmlText();

            //参加人员
            if (m_lsvAttendeeList.Items.Count > 0)
            {
                objContent.m_strAttendeeIDArr   = new string[m_lsvAttendeeList.Items.Count];
                objContent.m_strAttendeeNameArr = new string[m_lsvAttendeeList.Items.Count];
                for (int i = 0; i < m_lsvAttendeeList.Items.Count; i++)
                {
                    objContent.m_strAttendeeIDArr[i]   = ((clsEmrEmployeeBase_VO)m_lsvAttendeeList.Items[i].Tag).m_strEMPNO_CHR.Trim();
                    objContent.m_strAttendeeNameArr[i] = ((clsEmrEmployeeBase_VO)m_lsvAttendeeList.Items[i].Tag).m_strLASTNAME_VCHR.Trim() + ((clsEmrEmployeeBase_VO)m_lsvAttendeeList.Items[i].Tag).m_strTECHNICALRANK_CHR.Trim();
                }
            }
            else
            {
                clsPublicFunction.ShowInformationMessageBox("请至少一个参加人员签名!");
                return(null);
            }

            //麻醉医师
            if (m_txtCompere.Tag != null && m_txtCompere.Text.Trim() != "")
            {
                objContent.m_strCompereID = ((clsEmrEmployeeBase_VO)m_txtCompere.Tag).m_strEMPNO_CHR;

                clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByNO(objContent.m_strCompereID, out objEmpVO);
                // m_txtDoctorSign.Text = objEmpVO.ToString();
                objContent.m_strCompereName = objEmpVO.ToString();

                // objContent.m_strCompereName=m_txtCompere.Text;
            }
            else
            {
                clsPublicFunction.ShowInformationMessageBox("请麻醉医师签名!");
                return(null);
            }
            //记录者
            if (m_txtRecorder.Tag != null && m_txtRecorder.Text.Trim() != "")
            {
                objContent.m_strRecordID = ((clsEmrEmployeeBase_VO)m_txtRecorder.Tag).m_strEMPNO_CHR.Trim();
                clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByNO(objContent.m_strRecordID, out objEmpVO);
                // m_txtDoctorSign.Text = objEmpVO.ToString();
                objContent.m_strRecordName = objEmpVO.ToString();

                //objContent.m_strRecorderName = m_txtRecorder.Text.Trim();
            }
            else
            {
                clsPublicFunction.ShowInformationMessageBox("请主管医师签名!");
                return(null);
            }

            return(objContent);
        }
        /// <summary>
        /// 获取当前病人的作废内容
        /// </summary>
        /// <param name="p_dtmRecordDate">记录日期</param>
        /// <param name="p_intFormID">窗体ID</param>
        protected override void m_mthGetDeactiveContent(DateTime p_dtmRecordDate, int p_intFormID)
        {
            clsInPatientCaseHistoryContent p_objContent = new clsInPatientCaseHistoryContent();

            if (m_objBaseCurrentPatient == null || m_objBaseCurrentPatient.m_StrInPatientID == null || m_objBaseCurrentPatient.m_DtmSelectedInDate == DateTime.MinValue)
            {
                //m_strMedicalExam_ID = "";
                return;
            }

            long lngRes = m_objGetDomain().m_lngGetDeleteRecordContent(m_objBaseCurrentPatient.m_StrInPatientID, m_objBaseCurrentPatient.m_DtmSelectedInDate.ToString("yyyy-MM-dd HH:mm:ss"), p_dtmRecordDate.ToString("yyyy-MM-dd HH:mm:ss"), out p_objContent);

            if (lngRes <= 0 || p_objContent == null)
            {
                switch (lngRes)
                {
                case (long)(iCareData.enmOperationResult.Not_permission):
                    m_mthShowNotPermitted(); break;

                case (long)(iCareData.enmOperationResult.DB_Fail):
                    m_mthShowDBError(); break;
                }
                return;
            }

            this.m_txtBeforetimeStatus.Text = p_objContent.m_strBeforetimeStatus;
            this.m_txtCurrentStatus.Text    = p_objContent.m_strCurrentStatus;
            this.m_txtFamilyHistory.Text    = p_objContent.m_strFamilyHistory;
            this.m_txtLabCheck.Text         = p_objContent.m_strLabCheck;
            this.m_txtMainDescription.Text  = p_objContent.m_strMainDescription;
            this.m_txtMarriageHistory.Text  = p_objContent.m_strMarriageHistory;
            this.m_txtOwnHistory.Text       = p_objContent.m_strOwnHistory;
            this.m_cboCredibility.Text      = p_objContent.m_strCredibility;
            this.m_cboRepresentor.Text      = p_objContent.m_strRepresentor;
            m_chkCatamenia.Checked          = p_objContent.m_intSelectedMC == 1 ? true : false;
            if (m_chkCatamenia.Checked)
            {
                this.m_txtCatameniaHistory.Text  = p_objContent.m_strCatameniaHistory;
                this.m_cboFirstCatamenia.Text    = p_objContent.m_strFirstCatamenia;
                this.m_cboCatameniaLastTime.Text = p_objContent.m_strCatameniaLastTime;
                this.m_cboCatameniaCycle.Text    = p_objContent.m_strCatameniaCycle;
                if (!p_objContent.m_dtmLastCatameniaTime.Equals(DateTime.MinValue))
                {
                    this.m_dtpLastCatameniaTime.Value = p_objContent.m_dtmLastCatameniaTime;
                }
                this.m_cboCatameniaCase.Text = p_objContent.m_strCatameniaCase;
                if (m_cboCatameniaCase.Text.Equals("已绝经"))
                {
                    this.m_dtpLastCatameniaTime.Enabled = false;
                }
            }
            if (!string.IsNullOrEmpty(p_objContent.m_strChargeDoctor))
            {
                clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByNO(p_objContent.m_strChargeDoctor, out objEmpVO);
                this.m_txtChargeDoc.Text = objEmpVO.m_strLASTNAME_VCHR;
                this.m_txtChargeDoc.Tag  = objEmpVO;
            }
            if (!string.IsNullOrEmpty(p_objContent.m_strDiretDoctor))
            {
                clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByNO(p_objContent.m_strDiretDoctor, out objEmpVO);
                this.m_txtDirectorDoc.Text = objEmpVO.m_strLASTNAME_VCHR;
                this.m_txtDirectorDoc.Tag  = objEmpVO;
            }
            if (!string.IsNullOrEmpty(p_objContent.m_strDiagnoseDoc))
            {
                clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByNO(p_objContent.m_strDiagnoseDoc, out objEmpVO);
                this.m_txtDiagnoseDoctor.Text = objEmpVO.m_strLASTNAME_VCHR;
                this.m_txtDiagnoseDoctor.Tag  = objEmpVO;
            }
            m_dtpDiagnoseDate.Value   = p_objContent.m_dtDiagnoseDate;
            m_txtDiagnose_CHN.Text    = p_objContent.m_strINIDIAGNOSIS_CHN;
            m_txtDiagnose.Text        = p_objContent.m_strINIDIAGNOSIS;
            m_txtaddDiagnose_CHN.Text = p_objContent.m_strADDDIAGNOSE_CHN;
            m_txtaddDiagnose.Text     = p_objContent.m_strAddDiagnose;
        }
Beispiel #23
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);
        }
Beispiel #24
0
        // 打印页
        private void m_mthPrintPageSub(PrintPageEventArgs e)
        {
            e.HasMorePages = false;
            m_mthPrintTitleInfo(e);
            Font fntNormal = new Font("SimSun", 12);

            if (m_intPages == 1)
            {
                m_intYPos += (int)enmRectangleInfo.RowStep - 20;
            }

            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.RightX, (int)enmRectangleInfo.TopY);

            while (m_objPrintContext.m_BlnHaveMoreLine)
            {
                m_objPrintContext.m_mthPrintNextLine(ref m_intYPos, e.Graphics, fntNormal);

                if (m_intYPos >= (int)enmRectangleInfo.BottomY &&
                    m_objPrintContext.m_BlnHaveMoreLine)
                {
                    #region 换页处理
                    e.HasMorePages = true;

                    e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.LeftX, m_intYPos);
                    e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.RightX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.RightX, m_intYPos);
                    e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, m_intYPos, (int)enmRectangleInfo.RightX, m_intYPos);

                    m_intPages++;
                    m_intYPos = (int)enmRectangleInfo.TopY + 10;

                    clsPrintLine2.m_blnSinglePage = false;
                    return;

                    #endregion 换页处理
                }
            }

            #region 最后一页处理
            m_intYPos += 30;

            string strMainName = "                 ";
            string strDocName  = "";
            if (m_objRecordContent != null)
            {
                com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain objEmployeeSign = new com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain();
                clsEmrEmployeeBase_VO objEmpVO = null;
                objEmployeeSign.m_lngGetEmpByNO(m_objRecordContent.m_strMainDoctorID, out objEmpVO);
                if (objEmpVO != null)
                {
                    strMainName = objEmpVO.m_strLASTNAME_VCHR;
                }
                objEmployeeSign.m_lngGetEmpByNO(m_objRecordContent.m_strDoctorID, out objEmpVO);
                if (objEmpVO != null)
                {
                    strDocName = objEmpVO.m_strLASTNAME_VCHR;
                }
            }
            e.Graphics.DrawString("主治医师:", new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 300, m_intYPos);

            Image imgEmpSig = ImageSignature.GetEmpSigImage(strMainName);
            if (imgEmpSig != null)
            {
                //imgEmpSig = ImageSignature.pictureProcess(imgEmpSig, 579, 268);
                e.Graphics.DrawImage(imgEmpSig, (int)enmRectangleInfo.LeftX + 380, m_intYPos - 2, 70, 30);
            }
            else
            {
                e.Graphics.DrawString(strMainName, m_fotSmallFont, Brushes.Black, (int)enmRectangleInfo.LeftX + 380, m_intYPos);
            }

            e.Graphics.DrawString("     医师签名:", new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 450, m_intYPos);
            imgEmpSig = ImageSignature.GetEmpSigImage(strDocName);
            if (imgEmpSig != null)
            {
                //imgEmpSig = ImageSignature.pictureProcess(imgEmpSig, 579, 268);
                e.Graphics.DrawImage(imgEmpSig, (int)enmRectangleInfo.LeftX + 580, m_intYPos - 2, 70, 30);
            }
            else
            {
                e.Graphics.DrawString(strDocName, m_fotSmallFont, Brushes.Black, (int)enmRectangleInfo.LeftX + 580, m_intYPos);
            }



//			m_intYPos+=25;
//			e.Graphics.DrawString("工  号:",new Font("SimSun",12) ,Brushes.Black,(int)enmRectangleInfo.LeftX+560,m_intYPos);
//			if(m_objRecordContent!=null)
//				e.Graphics.DrawString(m_objRecordContent.m_strDoctorID,new Font("SimSun",12) ,Brushes.Black,(int)enmRectangleInfo.LeftX+560+(int)(5f*17.5f),m_intYPos);
            /////////////////////////////////*******************************************
            m_intYPos += 50;
            if (m_intYPos < (int)enmRectangleInfo.BottomY)
            {
                m_intYPos = (int)enmRectangleInfo.BottomY;
            }
            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.LeftX, m_intYPos);
            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.RightX, (int)enmRectangleInfo.TopY, (int)enmRectangleInfo.RightX, m_intYPos);
            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, m_intYPos, (int)enmRectangleInfo.RightX, m_intYPos);

            #endregion 最后一页处理

            m_intYPos += (int)enmRectangleInfo.RowStep + 15;
            Font fntSign = new Font("", 6);
            while (m_objPrintContext.m_BlnHaveMoreSign)
            {
                m_objPrintContext.m_mthPrintNextSign((int)enmRectangleInfo.LeftX, m_intYPos, e.Graphics, fntSign);

                m_intYPos += (int)enmRectangleInfo.RowStep - 10;
            }

            //全部打完
            m_objPrintContext.m_mthReset();
            m_intPages = 1;
            m_intYPos  = (int)enmRectangleInfo.TopY;
        }
Beispiel #25
0
        /// <summary>
        /// 获取显示到DataGrid的数据

        /// </summary>
        /// <param name="p_objTransDataInfo"></param>
        /// <returns></returns>
        protected override object[][] m_objGetRecordsValueArr(clsTransDataInfo p_objTransDataInfo)
        {
            #region 显示记录到DataGrid
            try
            {
                object[]  objData;
                ArrayList objReturnData = new ArrayList();

                clsEMR_MicroBooldSugarCheckDataInfo objInfo = null;

                objInfo = p_objTransDataInfo as clsEMR_MicroBooldSugarCheckDataInfo;

                if (objInfo == null || objInfo.m_objRecordArr == null)
                {
                    return(null);
                }

                int intRecordCount = objInfo.m_objRecordArr.Length;
                clsDSTRichTextBoxValue objclsDSTRichTextBoxValue;
                string strText, strXml;

                #region 获取修改限定时间
                int intCanModifyTime = 0;
                try
                {
                    intCanModifyTime = int.Parse(m_strCanModifyTime);
                }
                catch
                {
                    intCanModifyTime = 6;
                }
                #endregion

                for (int i = 0; i < intRecordCount; i++)
                {
                    objData = new object[9];
                    clsEMR_MicroBooldSugarCheckValue objCurrent = objInfo.m_objRecordArr[i];
                    clsEMR_MicroBooldSugarCheckValue objNext    = new clsEMR_MicroBooldSugarCheckValue();//下一条记录



                    if (i < intRecordCount - 1)
                    {
                        objNext = objInfo.m_objRecordArr[i + 1];
                    }

                    //如果该护理记录是修改前的记录且是在指定时间内修改的,修改者与创建者为同一人,则不显示
                    if (objNext != null && objNext.m_dtmCreateDate == objCurrent.m_dtmCreateDate &&
                        objNext.m_strModifyUserID.Trim() == objCurrent.m_strCreateUserID.Trim())
                    {
                        TimeSpan tsModify = objNext.m_dtmModifyDate - objCurrent.m_dtmModifyDate;
                        if ((int)tsModify.TotalHours < intCanModifyTime)
                        {
                            continue;
                        }
                    }
                    #region 存放关键字段
                    if (objCurrent.m_dtmCreateDate != DateTime.MinValue)
                    {
                        objData[0] = objCurrent.m_dtmRecordDate;                   //存放记录时间的字符串
                        objData[1] = (int)enmRecordsType.EMR_MicroBooldSugarCheck; //存放记录类型的int值



                        objData[2] = objCurrent.m_dtmCreateDate;//存放记录的OpenDate字符串



                        objData[3] = objCurrent.m_dtmModifyDate;//存放记录的ModifyDate字符串

                        //同一个则只在第一行显示日期



                        if (objCurrent.m_dtmRecordDate.Date.ToString() != m_dtmPreRecordDate.Date.ToString())
                        {
                            objData[4] = objCurrent.m_dtmRecordDate.Date.ToString("yyyy-MM-dd");//日期字符串
                        }

                        objData[8] = objCurrent.m_strCreateUserID;//存放记录的createUserid字符串
                    }
                    m_dtmPreRecordDate = objCurrent.m_dtmRecordDate;
                    #endregion ;

                    #region 存放单项信息
                    //监测时间
                    strText = objCurrent.m_strCHECKTIME_RIGHT;
                    strXml  = "<root />";
                    if (objNext != null && objNext.m_dtmCreateDate == objCurrent.m_dtmCreateDate &&
                        objNext.m_strCHECKTIME_RIGHT != objCurrent.m_strCHECKTIME_RIGHT)   /*objNext的记录内容与objCurrent的记录内容不一致,文本需要加双划线*/
                    {
                        strXml = m_strGetDSTTextXML(objCurrent.m_strCHECKTIME_RIGHT, objCurrent.m_strModifyUserID, objCurrent.m_strModifyUserName);
                    }
                    objclsDSTRichTextBoxValue             = new clsDSTRichTextBoxValue();
                    objclsDSTRichTextBoxValue.m_strText   = strText;
                    objclsDSTRichTextBoxValue.m_strDSTXml = strXml;
                    objData[5] = objclsDSTRichTextBoxValue;
                    //监测结果
                    strText = objCurrent.m_strCHECKRESULT_RIGHT;
                    strXml  = "<root />";
                    if (objNext != null && objNext.m_dtmCreateDate == objCurrent.m_dtmCreateDate &&
                        objNext.m_strCHECKRESULT_RIGHT != objCurrent.m_strCHECKRESULT_RIGHT)   /*objNext的记录内容与objCurrent的记录内容不一致,文本需要加双划线*/
                    {
                        strXml = m_strGetDSTTextXML(objCurrent.m_strCHECKRESULT_RIGHT, objCurrent.m_strModifyUserID, objCurrent.m_strModifyUserName);
                    }
                    objclsDSTRichTextBoxValue             = new clsDSTRichTextBoxValue();
                    objclsDSTRichTextBoxValue.m_strText   = strText;
                    objclsDSTRichTextBoxValue.m_strDSTXml = strXml;
                    objData[6] = objclsDSTRichTextBoxValue;

                    if (objCurrent.objSignerArr != null)
                    {
                        //签名
                        strText = string.Empty;
                        for (int j = 0; j < objCurrent.objSignerArr.Length; j++)
                        {
                            strText += objCurrent.objSignerArr[j].objEmployee.m_strGetTechnicalRankAndName + " ";
                        }
                        strXml = "<root />";
                        objclsDSTRichTextBoxValue             = new clsDSTRichTextBoxValue();
                        objclsDSTRichTextBoxValue.m_strText   = strText;
                        objclsDSTRichTextBoxValue.m_strDSTXml = strXml;
                        objData[7] = objclsDSTRichTextBoxValue;
                    }
                    else //从旧表导过来的数据没有电子签名

                    {
                        clsEmrEmployeeBase_VO    objEMP    = null;
                        clsHospitalManagerDomain objDomain = new clsHospitalManagerDomain();
                        long lngRes = objDomain.m_lngGetEmpByID(objCurrent.m_strCreateUserID, out objEMP);
                        if (objEMP != null)
                        {
                            strText = objEMP.m_strLASTNAME_VCHR;
                            strXml  = "<root />";
                            objclsDSTRichTextBoxValue             = new clsDSTRichTextBoxValue();
                            objclsDSTRichTextBoxValue.m_strText   = strText;
                            objclsDSTRichTextBoxValue.m_strDSTXml = strXml;
                            objData[7] = objclsDSTRichTextBoxValue;
                        }
                        objDomain = null;
                    }
                    #endregion
                    objReturnData.Add(objData);
                }
                object[][] m_objRe = new object[objReturnData.Count][];

                for (int m = 0; m < objReturnData.Count; m++)
                {
                    m_objRe[m] = (object[])objReturnData[m];
                }
                return(m_objRe);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(null);
            }
            #endregion
        }
Beispiel #26
0
//		private int intPageSize =3;

        private void m_mthPrintAllPage(System.Drawing.Printing.PrintPageEventArgs e, ref float p_objLocationY)
        {
            string print = "";

            if (m_objResultArr.Length <= 0)
            {
                return;
            }

            //计算第一页还能打印出多少条记录
            int intRowCount = Convert.ToInt32((float.Parse(e.MarginBounds.Height.ToString()) - p_objLocationY) / m_ftlRowHeight);

            intRowCount--;             //因为留出一行位置来打印页脚 ,所以显示总行数为减1

            if (m_intCurrentPageIndex == 1)
            {
                for (i = 0; i < m_objResultArr.Length && i <= intRowCount; i++)
                {
                    #region draw one row
                    print = m_objResultArr[i].m_dtmRecordDate.Date.ToString("yy/MM/dd");
                    m_mthDrawStrAtRectangle(this.m_fltFirstColLeft, this.m_fltSeconColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_dtmRecordDate.ToShortTimeString();
                    m_mthDrawStrAtRectangle(this.m_fltSeconColLeft, this.m_fltthColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strBloodPressure_chr + "/" + m_objResultArr[i].m_strBloodPressure2_chr;
                    m_mthDrawStrAtRectangle(this.m_fltthColLeft, this.m_fltthirColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strEmbryoLocation_chr;
                    m_mthDrawStrAtRectangle(this.m_fltthirColLeft, this.m_fltFiveColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strEmbryoHeart_chr;
                    m_mthDrawStrAtRectangle(this.m_fltFiveColLeft, this.m_fltSixColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strIntermission_chr;
                    m_mthDrawStrAtRectangle(this.m_fltSixColLeft, this.m_fltSenColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strPersist_chr;
                    m_mthDrawStrAtRectangle(this.m_fltSenColLeft, this.m_fltNigColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strIntensity_chr;
                    m_mthDrawStrAtRectangle(this.m_fltNigColLeft, this.m_fltNiNeColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strPalaceMouth_chr;
                    m_mthDrawStrAtRectangle(this.m_fltNiNeColLeft, this.m_fltColLeft10, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strShow_chr;
                    m_mthDrawStrAtRectangle(this.m_fltColLeft10, this.m_fltColLeft11, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strCaul_chr;
                    m_mthDrawStrAtRectangle(this.m_fltColLeft11, this.m_fltColLeft12, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strAnusCheck_chr;
                    m_mthDrawStrAtRectangle(this.m_fltColLeft12, this.m_fltColLeft13, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strOther_chr;
                    m_mthDrawStrAtRectangle(this.m_fltColLeft13, this.m_fltColLeft14, print, p_objLocationY, e);

                    clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                    objEmployeeSign.m_lngGetEmpByID(m_objResultArr[i].m_strScrutator_chr, out objEmpVO);
                    if (objEmpVO == null)
                    {
                        print = m_objResultArr[i].m_strScrutator_chr;
                    }
                    else
                    {
                        print = objEmpVO.m_strLASTNAME_VCHR;
                    }
                    m_mthDrawStrAtRectangle(this.m_fltColLeft14, this.m_fltColLeft15, print, p_objLocationY, e);

                    m_mthDrawLines(e);

                    p_objLocationY += this.m_ftlRowHeight;
                    #endregion
                }
                m_mthPrintFoot(e);
                //判断是否多页
                if (i < this.m_objResultArr.Length - 1)
                {
                    m_intCurrentPageIndex++;
                    e.HasMorePages = true;
                }
            }
            else
            {
                int temp = i;

                #region draw one row

                for (  ; i < m_objResultArr.Length && i < intRowCount + temp; i++)
                {
                    print = m_objResultArr[i].m_dtmCreateDate.Date.ToString("yy/MM/dd");
                    m_mthDrawStrAtRectangle(this.m_fltFirstColLeft, this.m_fltSeconColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_dtmCreateDate.ToShortTimeString();
                    m_mthDrawStrAtRectangle(this.m_fltSeconColLeft, this.m_fltthColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strBloodPressure_chr + "/" + m_objResultArr[i].m_strBloodPressure2_chr;
                    m_mthDrawStrAtRectangle(this.m_fltthColLeft, this.m_fltthirColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strEmbryoLocation_chr;
                    m_mthDrawStrAtRectangle(this.m_fltthirColLeft, this.m_fltFiveColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strEmbryoHeart_chr;
                    m_mthDrawStrAtRectangle(this.m_fltFiveColLeft, this.m_fltSixColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strIntermission_chr;
                    m_mthDrawStrAtRectangle(this.m_fltSixColLeft, this.m_fltSenColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strPersist_chr;
                    m_mthDrawStrAtRectangle(this.m_fltSenColLeft, this.m_fltNigColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strIntensity_chr;
                    m_mthDrawStrAtRectangle(this.m_fltNigColLeft, this.m_fltNiNeColLeft, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strAnusCheck_chr;
                    m_mthDrawStrAtRectangle(this.m_fltNiNeColLeft, this.m_fltColLeft10, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strShow_chr;
                    m_mthDrawStrAtRectangle(this.m_fltColLeft10, this.m_fltColLeft11, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strCaul_chr;
                    m_mthDrawStrAtRectangle(this.m_fltColLeft11, this.m_fltColLeft12, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strAnusCheck_chr;
                    m_mthDrawStrAtRectangle(this.m_fltColLeft12, this.m_fltColLeft13, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strOther_chr;
                    m_mthDrawStrAtRectangle(this.m_fltColLeft13, this.m_fltColLeft14, print, p_objLocationY, e);

                    print = m_objResultArr[i].m_strScrutator_chr_RIGHT;
                    clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                    objEmployeeSign.m_lngGetEmpByID(m_objResultArr[i].m_strScrutator_chr, out objEmpVO);
                    if (objEmpVO == null)
                    {
                        print = m_objResultArr[i].m_strScrutator_chr;
                    }
                    else
                    {
                        print = objEmpVO.m_strLASTNAME_VCHR;
                    }
                    m_mthDrawStrAtRectangle(this.m_fltColLeft14, this.m_fltColLeft15, print, p_objLocationY, e);

                    m_mthDrawLines(e);

                    p_objLocationY += this.m_ftlRowHeight;
                }

                #endregion

                m_mthPrintFoot(e);

                //判断是否多页

                if (intRowCount < m_objResultArr.Length - i - 1)
                {
                    m_intCurrentPageIndex++;
                    e.HasMorePages = true;
                    return;
                }
            }
        }
        /// <summary>
        /// 给每一打印行的元素赋值
        /// </summary>
        private void m_mthSetPrintValue()
        {
            #region  第一次打印时间赋值
            dtmFirstPrintTime = DateTime.Now;
            if (m_objRecordContent != null && m_objRecordContent.m_dtmFirstPrintDate != DateTime.MinValue)
            {
                dtmFirstPrintTime = m_objRecordContent.m_dtmFirstPrintDate;
            }
            #endregion  第一次打印时间赋值

            #region 打印行初始化
            m_objLine1Arr = new clsPrintLine1[6];
            m_objLine2Arr = new clsPrintLine2[1];
            for (int i = 0; i < m_objLine1Arr.Length; i++)
            {
                m_objLine1Arr[i] = new clsPrintLine1();
            }


            m_objLine2Arr[0] = new clsPrintLine2(20);
            //m_objLine2Arr[1] = new clsPrintLine2(400);
            //m_objLine2Arr[2] = new clsPrintLine2(560);
            ////     m_objLine2Arr[3] = new clsPrintLine2(790);
            m_objPrintContext = new com.digitalwave.Utility.Controls.clsPrintContext(
                new com.digitalwave.Utility.Controls.clsPrintLineBase[] {
                m_objLine1Arr[1], m_objLine1Arr[3], m_objLine1Arr[4], m_objLine1Arr[2], m_objLine1Arr[5],
                m_objLine2Arr[0]
            });
            m_objPrintContext.m_ObjPrintSign = new com.digitalwave.Utility.Controls.clsPrintRecordSign();
            #endregion

            #region 给每一行的元素赋值
            string strBlanks = "            ";
            if (m_objRecordContent != null)
            {
                ///////////////1行/////////////////
                string strOutDate = "";
                //if (m_objRecordContent.m_dtmOutHospitalDate != DateTime.MinValue
                //    && m_objRecordContent.m_dtmOutHospitalDate != new DateTime(1900, 1, 1))
                //    strOutDate = m_objRecordContent.m_dtmOutHospitalDate.ToString("yyyy年MM月dd日");
                Object[] objData1 = new object[6];

                objData1[0] = "";
                objData1[1] = "";
                objData1[2] = dtmFirstPrintTime;
                objData1[3] = "入院日期: " + m_objPrintInfo.m_dtmHISInDate.ToString("yyyy年MM月dd日") + "           " + "手术时间: " + m_objRecordContent.m_dtmDiscussDate.ToString("yyyy年MM月dd日");
                m_objLine1Arr[1].m_ObjPrintLineInfo = objData1;

                ///////////////2行/////////////////
                objData1[0] = "    ";
                foreach (string str in m_objRecordContent.m_strAttendeeIDArr)
                {
                    com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain objEmployeeSign = new com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain();
                    clsEmrEmployeeBase_VO objEmpVO = null;
                    objEmployeeSign.m_lngGetEmpByNO(str, out objEmpVO);
                    //if (objEmpVO != null)
                    //    if (!(string.IsNullOrEmpty(objEmpVO.m_strGetTechnicalRankAndName)))
                    //        e.Graphics.DrawString(objEmpVO.m_strGetTechnicalRankAndName, new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 500 + (int)(5f * 15.5f), m_intYPos);

                    objData1[0] += objEmpVO.m_strGetTechnicalRankAndName + " ";
                }
                objData1[1] = "";
                objData1[2] = dtmFirstPrintTime;
                objData1[3] = "手术者:";
                m_objLine1Arr[2].m_ObjPrintLineInfo = objData1;
                //////////////////////////////

                //////////////////////////////
                //objData1[0] = "    ";
                //com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain objEmployeeSign2 = new com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain();
                //clsEmrEmployeeBase_VO objEmpVO2 = null;
                //objEmployeeSign2.m_lngGetEmpByNO(m_objRecordContent.m_strHuiBaoID, out objEmpVO2);
                ////if (objEmpVO != null)
                ////    if (!(string.IsNullOrEmpty(objEmpVO.m_strGetTechnicalRankAndName)))
                ////        e.Graphics.DrawString(objEmpVO.m_strGetTechnicalRankAndName, new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 500 + (int)(5f * 15.5f), m_intYPos);

                //objData1[0] += objEmpVO2.m_strGetTechnicalRankAndName + " ";
                //objData1[1] = "";
                //objData1[2] = dtmFirstPrintTime;
                //objData1[3] = "病史汇报者:";
                //m_objLine1Arr[4].m_ObjPrintLineInfo = objData1;


                ///////////////3行/////////////////
                objData1[0] = m_objRecordContent.m_strShuQian;
                objData1[1] = m_objRecordContent.m_strShuQianXML;
                objData1[3] = "术前诊断:";
                m_objLine1Arr[3].m_ObjPrintLineInfo = objData1;
                /////////////////////////////////////
                objData1[0] = m_objRecordContent.m_strNiShi;
                objData1[1] = m_objRecordContent.m_strNiShiXML;
                objData1[3] = "拟施手术:";
                m_objLine1Arr[4].m_ObjPrintLineInfo = objData1;

                /////////////////////////////////////
                com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain objEmployeeSign2 = new com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain();
                clsEmrEmployeeBase_VO objEmpVO2 = null;
                objEmployeeSign2.m_lngGetEmpByNO(m_objRecordContent.m_strCompereID, out objEmpVO2);

                objData1[0] = m_objRecordContent.m_strMaZui + "                                               \n  麻醉医师" + objEmpVO2.m_strGetTechnicalRankAndName;
                objData1[1] = "";
                objData1[3] = "麻醉方式:";
                m_objLine1Arr[5].m_ObjPrintLineInfo = objData1;


                ///////////////4行/////////////////
                objData1[0] = "";
                objData1[1] = "";
                objData1[2] = dtmFirstPrintTime;
                m_objLine1Arr[0].m_ObjPrintLineInfo = objData1;

                ///////////////5行/////////////////
                objData1[0] = " 1、麻醉意外;" + "\n 2、造气腹和穿刺套管针所致并发症:" + "\n (1)皮下气肿,气胸,纵隔气肿,气体栓塞等;" + "\n (2)误伤腹腔内器官;" + "\n (3)血管损伤;腹壁血管、腹膜后大血管几肠系膜血管等;" + "\n (4)高碳酸血症;" +
                              "\n 3、术中操作所导致并发症:" + "\n (1)术中大出血、严重者乃至死亡;" + "\n (2)误伤病变部位周围器官(实、空腔脏器)。术中发现异常情况,如造气腹失败、病变为肿瘤、大血管损伤及脏器损伤、腹内粘连严重需要中转开腹;" + "\n (3)术中由于局部粘连,或水肿较甚,操作中勿伤胆总管,则行胆总管控查,T管引流术,并有可能长期置管,半年---1年;" +
                              "\n 4、术后并发症:" + "\n (1)操作孔感染;" + "\n (2)术后腹腔内大出血,必要时输血;" + "\n (3)胆漏,肠漏等;" + "\n (4)粘连性肠梗阻;" + "\n (5)术后肩部酸胀不适等;" + "\n 5、其他:" + "\n 以上并发症均可在术中、术后发生,严重者可危急生命,甚至死亡,如出现上述并发症,望患者及家属予以谅解,协助治疗。如同意手术,请签字,以此为据。";
                objData1[1] = "";
                objData1[3] = "术中可能发生以下并发症,特向本人及家属说明:";
                m_objLine2Arr[0].m_ObjPrintLineInfo = objData1;

                //objData1[0] = m_objRecordContent.m_strTaoLunYiJian;
                //objData1[1] = m_objRecordContent.m_strTaoLunYiJianXML;
                //objData1[3] = "讨论意见:";
                //m_objLine2Arr[1].m_ObjPrintLineInfo = objData1;
                /////////////////8行/////////////////
                //objData1[0] = m_objRecordContent.m_strTaoLunXiaoJie;
                //objData1[1] = m_objRecordContent.m_strTaoLunXiaoJieXML;
                //objData1[3] = "讨论小结:";
                //m_objLine2Arr[2].m_ObjPrintLineInfo = objData1;
            }
            else
            {
                ///////////////1行/////////////////
                Object[] objData1 = new object[5];
                //objData1[0] = "";
                //objData1[1] = "";
                //objData1[2] = dtmFirstPrintTime;
                //if (m_objPrintInfo.m_dtmHISInDate != DateTime.MinValue)
                //{
                //    objData1[3] = "入院日期:" + m_objPrintInfo.m_dtmHISInDate.ToString("yyyy年MM月dd日") + "           " + "出院日期:" + "    年  月  日";
                //}
                //else
                //{
                //    objData1[3] = "入院日期:" + "    年  月  日" + "           " + "出院日期:" + "    年  月  日";
                //}
                //m_objLine1Arr[1].m_ObjPrintLineInfo = objData1;

                ///////////////2行/////////////////
                objData1[0] = "";
                objData1[1] = "";
                objData1[2] = dtmFirstPrintTime;
                objData1[3] = "入院日期:";
                m_objLine1Arr[1].m_ObjPrintLineInfo = objData1;
                ///////////////////////////
                objData1[0] = "";
                objData1[1] = "";
                objData1[2] = dtmFirstPrintTime;
                objData1[3] = "手术者:";
                m_objLine1Arr[2].m_ObjPrintLineInfo = objData1;

                ///////////////3行/////////////////
                objData1[0] = "";
                objData1[1] = "";
                objData1[3] = "术前诊断:";
                m_objLine1Arr[3].m_ObjPrintLineInfo = objData1;
                //////////////////////////////////////
                objData1[0] = "";
                objData1[1] = "";
                objData1[3] = "拟施手术:";
                m_objLine1Arr[4].m_ObjPrintLineInfo = objData1;
                //////////////////////////////////////
                objData1[0] = "";
                objData1[1] = "";
                objData1[3] = "麻醉方式:";
                m_objLine1Arr[5].m_ObjPrintLineInfo = objData1;
                ///////////////4行/////////////////
                objData1[0] = "";
                objData1[1] = "";
                objData1[2] = dtmFirstPrintTime;
                //   objData1[3] = "  心电图号:" + strBlanks + "X光号:" + strBlanks;// +"主治医师:";
                m_objLine1Arr[0].m_ObjPrintLineInfo = objData1;
                ///////////////5行/////////////////
                objData1[0] = "";
                objData1[1] = "";
                objData1[3] = "说明:";
                m_objLine2Arr[0].m_ObjPrintLineInfo = objData1;
                ///////////////6行/////////////////
            }

            #endregion
        }
        /// <summary>
        /// 从界面获取特殊记录的值。如果界面值出错,返回null。
        /// </summary>
        /// <returns></returns>
        protected override clsTrackRecordContent m_objGetContentFromGUI()
        {
            //界面参数校验
            if (m_objCurrentPatient == null || m_ObjCurrentEmrPatientSession == null)
            {
                return(null);
            }

            //从界面获取表单值
            clsDifficultCaseDiscussCountent_XJ objContent = new clsDifficultCaseDiscussCountent_XJ();

            objContent.m_dtmCreateDate   = m_dtpCreateDate.Value;
            objContent.m_strModifyUserID = clsEMRLogin.LoginInfo.m_strEmpNo;
            #region 是否可以无痕迹修改
            if (chkModifyWithoutMatk.Checked)
            {
                objContent.m_intMarkStatus = 0;
            }
            else
            {
                objContent.m_intMarkStatus = 1;
            }
            #endregion
            //   objContent.m_dtmDeadDate = m_dtpDeadDate.Value;
            objContent.m_dtmDiscussDate = m_dtpDiscussTime.Value;

            //objContent.m_strDiscussAddress = m_txtDiscussAddress.Text;
            objContent.m_strNiZheng    = m_txtInHospitalDiagnose.Text;
            objContent.m_strNiZhengXML = m_txtInHospitalDiagnose.m_strGetXmlText();
            objContent.m_strHuiBao     = m_txtSpeakRecord.Text;
            objContent.m_strHuiBaoXML  = m_txtSpeakRecord.m_strGetXmlText();

            objContent.m_strTaoLunYiJian    = m_txtYiJian.Text;
            objContent.m_strTaoLunYiJianXML = m_txtYiJian.m_strGetXmlText();

            objContent.m_strTaoLunXiaoJie    = m_txtVerdict.Text;
            objContent.m_strTaoLunXiaoJieXML = m_txtVerdict.m_strGetXmlText();

            objContent.m_strYiBao = m_txtYiBao.Text;

            //objContent.m_strDeadReason = m_txtDeadReason.Text;
            //objContent.m_strDeadReasonXML = m_txtDeadReason.m_strGetXmlText();
            //objContent.m_strExperience = m_txtExperience.Text;
            //objContent.m_strExperienceXML = m_txtExperience.m_strGetXmlText();

            //参加人员
            if (m_lsvAttendeeList.Items.Count > 0)
            {
                objContent.m_strAttendeeIDArr   = new string[m_lsvAttendeeList.Items.Count];
                objContent.m_strAttendeeNameArr = new string[m_lsvAttendeeList.Items.Count];
                for (int i = 0; i < m_lsvAttendeeList.Items.Count; i++)
                {
                    objContent.m_strAttendeeIDArr[i]   = ((clsEmrEmployeeBase_VO)m_lsvAttendeeList.Items[i].Tag).m_strEMPNO_CHR.Trim();
                    objContent.m_strAttendeeNameArr[i] = ((clsEmrEmployeeBase_VO)m_lsvAttendeeList.Items[i].Tag).m_strLASTNAME_VCHR.Trim() + ((clsEmrEmployeeBase_VO)m_lsvAttendeeList.Items[i].Tag).m_strTECHNICALRANK_CHR.Trim();
                }
            }
            else
            {
                clsPublicFunction.ShowInformationMessageBox("请至少一个参加人员签名!");
                return(null);
            }

            //主持人
            if (m_txtCompere.Tag != null && m_txtCompere.Text.Trim() != "")
            {
                objContent.m_strCompereID = ((clsEmrEmployeeBase_VO)m_txtCompere.Tag).m_strEMPNO_CHR;

                clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByNO(objContent.m_strCompereID, out objEmpVO);
                // m_txtDoctorSign.Text = objEmpVO.ToString();
                objContent.m_strCompereName = objEmpVO.ToString();

                // objContent.m_strCompereName=m_txtCompere.Text;
            }
            else
            {
                clsPublicFunction.ShowInformationMessageBox("请主持人签名!");
                return(null);
            }
            //记录者
            if (m_txtRecorder.Tag != null && m_txtRecorder.Text.Trim() != "")
            {
                objContent.m_strRecordID = ((clsEmrEmployeeBase_VO)m_txtRecorder.Tag).m_strEMPNO_CHR.Trim();
                clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByNO(objContent.m_strRecordID, out objEmpVO);
                // m_txtDoctorSign.Text = objEmpVO.ToString();
                objContent.m_strRecordName = objEmpVO.ToString();

                //objContent.m_strRecorderName = m_txtRecorder.Text.Trim();
            }
            else
            {
                clsPublicFunction.ShowInformationMessageBox("请记录者签名!");
                return(null);
            }

            //科主任
            if (m_txtKeZhuRen.Tag != null && m_txtKeZhuRen.Text.Trim() != "")
            {
                objContent.m_strZhuRenID = ((clsEmrEmployeeBase_VO)m_txtKeZhuRen.Tag).m_strEMPNO_CHR;
                //objContent.m_strCompereSignName = m_txtCompereSign.Text.Trim();
                clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByNO(objContent.m_strZhuRenID, out objEmpVO);
                // m_txtDoctorSign.Text = objEmpVO.ToString();
                objContent.m_strZhuRenName = objEmpVO.ToString();
            }
            else
            {
                if (!m_BlnIsAddNew)
                {
                    clsPublicFunction.ShowInformationMessageBox("请科主任签名!");
                    return(null);
                }
            }

            //管床医师
            if (m_txtCompereSign.Tag != null && m_txtCompereSign.Text.Trim() != "")
            {
                objContent.m_strGuanChuangID = ((clsEmrEmployeeBase_VO)m_txtCompereSign.Tag).m_strEMPNO_CHR.Trim();
                //objContent.m_strCompereSignName = m_txtCompereSign.Text.Trim();
                clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByNO(objContent.m_strGuanChuangID, out objEmpVO);
                // m_txtDoctorSign.Text = objEmpVO.ToString();
                objContent.m_strGuanChuangName = objEmpVO.ToString();
            }
            else
            {
                if (!m_BlnIsAddNew)
                {
                    clsPublicFunction.ShowInformationMessageBox("请管床医师签名!");
                    return(null);
                }
            }

            //objContent.m_strGuanChuangID = ((clsEmrEmployeeBase_VO)m_txtCompereSign.Tag).m_strEMPNO_CHR.Trim();
            //objContent.m_strGuanChuangName = m_txtCompereSign.ToString();

            //病史汇报者
            if (m_txtHuiBao.Tag != null && m_txtHuiBao.Text.Trim() != "")
            {
                objContent.m_strHuiBaoID = ((clsEmrEmployeeBase_VO)m_txtHuiBao.Tag).m_strEMPNO_CHR.Trim();
                //objContent.m_strCompereSignName = m_txtCompereSign.Text.Trim();
                clsEmrEmployeeBase_VO objEmpVO = new clsEmrEmployeeBase_VO();
                objEmployeeSign.m_lngGetEmpByNO(objContent.m_strHuiBaoID, out objEmpVO);
                // m_txtDoctorSign.Text = objEmpVO.ToString();
                objContent.m_strHuiBaoName = objEmpVO.ToString();
            }
            else
            {
                if (!m_BlnIsAddNew)
                {
                    clsPublicFunction.ShowInformationMessageBox("病史汇报者签名!");
                    return(null);
                }
            }
            //objContent.m_strHuiBaoID = ((clsEmrEmployeeBase_VO)m_txtHuiBao.Tag).m_strEMPNO_CHR.Trim();
            //objContent.m_strHuiBaoName = m_txtHuiBao.ToString();

            //if (!string.IsNullOrEmpty(objContent.m_strCompereSignID)
            //    && objContent.m_strCompereSignID.Trim() != objContent.m_strCompereID.Trim())
            //{
            //    if (clsPublicFunction.ShowInformationMessageBox("填写的主持人与主持人审阅签名不同,是否继续保存?", MessageBoxButtons.YesNo) == DialogResult.No)
            //    {
            //        return null;
            //    }
            //}
            return(objContent);
        }
Beispiel #29
0
        /// <summary>
        /// 从界面获取特殊记录的值。如果界面值出错,返回null。
        /// </summary>
        /// <returns></returns>
        protected override clsTrackRecordContent m_objGetContentFromGUI()
        {
            //界面参数校验
            if (m_objCurrentPatient == null || m_ObjCurrentEmrPatientSession == null)
            {
                return(null);
            }

            if (txtSign.Tag == null)
            {
                clsPublicFunction.ShowInformationMessageBox("请记录者签名!");
                return(null);
            }

            clsEMR_PullDeliverRecordvalue objRecord = new clsEMR_PullDeliverRecordvalue();

            objRecord.m_dtmRECORDDATE = m_dtpCreateDate.Value;
            clsEmrEmployeeBase_VO objCreat = txtSign.Tag as clsEmrEmployeeBase_VO;

            if (objCreat != null)
            {
                objRecord.m_strCreateUserID = objCreat.m_strEMPID_CHR;
            }
            objRecord.m_strModifyUserID = clsEMRLogin.LoginInfo.m_strEmpID;
            #region 是否可以无痕迹修改
            if (chkModifyWithoutMatk.Checked)
            {
                objRecord.m_intMarkStatus = 0;
            }
            else
            {
                objRecord.m_intMarkStatus = 1;
            }
            #endregion
            #region 获取签名集合
            int intSignCount = 0;

            intSignCount  = m_lsvAssistant.Items.Count + 1;
            intSignCount += m_lsvAction.Items.Count + 1;
            intSignCount += m_lismazui.Items.Count + 1;
            //if (m_txtAnaesthetist.Tag != null)
            //{
            //    intSignCount++;
            //}
            //if (m_txtOperator.Tag != null)
            //{
            //    intSignCount++;
            //}
            objRecord.objSignerArr = new clsEmrSigns_VO[intSignCount];
            strUserIDList          = "";
            strUserNameList        = "";
            //  m_mthGetSignArr(new Control[] { m_lsvAssistant, txtSign, m_txtAnaesthetist, m_txtOperator }, ref objRecord.objSignerArr, ref strUserIDList, ref strUserNameList);
            m_mthGetSignArr(new Control[] { m_lsvAssistant, txtSign, m_lsvAction, m_lismazui }, ref objRecord.objSignerArr, ref strUserIDList, ref strUserNameList);
            //int currentSignCount = 0;
            //for (int i = 0; i < m_lsvAssistant.Items.Count; i++)
            //{
            //    objRecord.objSignerArr[i] = new clsEmrSigns_VO();
            //    objRecord.objSignerArr[i].objEmployee = new clsEmrEmployeeBase_VO();
            //    objRecord.objSignerArr[i].objEmployee = (clsEmrEmployeeBase_VO)(m_lsvAssistant.Items[i].Tag);
            //    objRecord.objSignerArr[i].controlName = "m_lsvAssistant";
            //    objRecord.objSignerArr[i].m_strFORMID_VCHR = "frmEMR_PullDeliverRecord";
            //    objRecord.objSignerArr[i].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;
            //}
            //currentSignCount = m_lsvAssistant.Items.Count;

            //objRecord.objSignerArr[currentSignCount] = new clsEmrSigns_VO();
            //objRecord.objSignerArr[currentSignCount].objEmployee = new clsEmrEmployeeBase_VO();
            //objRecord.objSignerArr[currentSignCount].objEmployee = (clsEmrEmployeeBase_VO)(txtSign.Tag);
            //objRecord.objSignerArr[currentSignCount].controlName = "txtSign";
            //objRecord.objSignerArr[currentSignCount].m_strFORMID_VCHR = "frmEMR_PullDeliverRecord";
            //objRecord.objSignerArr[currentSignCount].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;
            //currentSignCount++;

            //if (m_txtAnaesthetist.Tag != null)
            //{
            //    objRecord.objSignerArr[currentSignCount] = new clsEmrSigns_VO();
            //    objRecord.objSignerArr[currentSignCount].objEmployee = new clsEmrEmployeeBase_VO();
            //    objRecord.objSignerArr[currentSignCount].objEmployee = (clsEmrEmployeeBase_VO)(m_txtAnaesthetist.Tag);
            //    objRecord.objSignerArr[currentSignCount].controlName = "m_txtAnaesthetist";
            //    objRecord.objSignerArr[currentSignCount].m_strFORMID_VCHR = "frmEMR_PullDeliverRecord";
            //    objRecord.objSignerArr[currentSignCount].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;
            //    currentSignCount++;
            //}

            //if (m_txtOperator.Tag != null)
            //{
            //    objRecord.objSignerArr[currentSignCount] = new clsEmrSigns_VO();
            //    objRecord.objSignerArr[currentSignCount].objEmployee = new clsEmrEmployeeBase_VO();
            //    objRecord.objSignerArr[currentSignCount].objEmployee = (clsEmrEmployeeBase_VO)(m_txtOperator.Tag);
            //    objRecord.objSignerArr[currentSignCount].controlName = "m_txtOperator";
            //    objRecord.objSignerArr[currentSignCount].m_strFORMID_VCHR = "frmEMR_PullDeliverRecord";
            //    objRecord.objSignerArr[currentSignCount].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;
            //}
            #endregion

            objRecord.m_dtmRECORDDATE = Convert.ToDateTime(m_dtpCreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
            objRecord.m_dtmOPDATE     = Convert.ToDateTime(m_dtpOPDate.Value.ToString("yyyy-MM-dd 00:00:00"));

            try
            {
                if (string.IsNullOrEmpty(m_cboPregnantTimes.Text))
                {
                    objRecord.m_intPREGNANTTIMES = -1;
                }
                else
                {
                    objRecord.m_intPREGNANTTIMES = int.Parse(m_cboPregnantTimes.Text);
                }
                if (string.IsNullOrEmpty(m_cboLayTimes.Text))
                {
                    objRecord.m_intLAYTIMES = -1;
                }
                else
                {
                    objRecord.m_intLAYTIMES = int.Parse(m_cboLayTimes.Text);
                }
            }
            catch
            {
                clsPublicFunction.ShowInformationMessageBox("孕、产次中填入了非整数!");
                return(null);
            }
            if (objRecord.m_intPREGNANTTIMES > 99 || objRecord.m_intLAYTIMES > 99)
            {
                clsPublicFunction.ShowInformationMessageBox("孕、产次中的数值过大!");
                return(null);
            }

            objRecord.m_strDIAGNOSISBEFOREOP       = m_txtDiagnosisBeforeOP.Text;
            objRecord.m_strDIAGNOSISBEFOREOP_RIGHT = m_txtDiagnosisBeforeOP.m_strGetRightText();
            objRecord.m_strDIAGNOSISBEFOREOPXML    = m_txtDiagnosisBeforeOP.m_strGetXmlText();

            objRecord.m_strOPINDICATION       = m_txtOPIndication.Text;
            objRecord.m_strOPINDICATION_RIGHT = m_txtOPIndication.m_strGetRightText();
            objRecord.m_strOPINDICATIONXML    = m_txtOPIndication.m_strGetXmlText();

            objRecord.m_strDIAGNOSISAFTEROP       = m_txtDiagnosisAfterOP.Text;
            objRecord.m_strDIAGNOSISAFTEROP_RIGHT = m_txtDiagnosisAfterOP.m_strGetRightText();
            objRecord.m_strDIAGNOSISAFTEROPXML    = m_txtDiagnosisAfterOP.m_strGetXmlText();

            objRecord.m_strANAMODE       = m_txtAnaMode.Text;
            objRecord.m_strANAMODE_RIGHT = m_txtAnaMode.m_strGetRightText();
            objRecord.m_strANAMODEXML    = m_txtAnaMode.m_strGetXmlText();

            objRecord.m_strUTERUSHEIGHT       = m_txtUterueHeight.Text;
            objRecord.m_strUTERUSHEIGHT_RIGHT = m_txtUterueHeight.m_strGetRightText();
            objRecord.m_strUTERUSHEIGHTXML    = m_txtUterueHeight.m_strGetXmlText();

            objRecord.m_strABDOMENROUND       = m_txtAbdomenRound.Text;
            objRecord.m_strABDOMENROUND_RIGHT = m_txtAbdomenRound.m_strGetRightText();
            objRecord.m_strABDOMENROUNDXML    = m_txtAbdomenRound.m_strGetXmlText();

            objRecord.m_strPRESENTATION       = m_txtPresentation.Text;
            objRecord.m_strPRESENTATION_RIGHT = m_txtPresentation.m_strGetRightText();
            objRecord.m_strPRESENTATIONXML    = m_txtPresentation.m_strGetXmlText();

            string strCheck = string.Empty;
            strCheck += m_strBoolean(m_chkLinkup1.Checked) + m_strBoolean(m_chkLinkup2.Checked)
                        + m_strBoolean(m_chkLinkup3.Checked);
            objRecord.m_strLINKUP = strCheck;

            objRecord.m_strFETUSWEIGHT       = m_txtFetusWeight.Text;
            objRecord.m_strFETUSWEIGHT_RIGHT = m_txtFetusWeight.m_strGetRightText();
            objRecord.m_strFETUSWEIGHTXML    = m_txtFetusWeight.m_strGetXmlText();

            strCheck  = string.Empty;
            strCheck += m_strBoolean(m_chkIschialSpine1.Checked) + m_strBoolean(m_chkIschialSpine2.Checked)
                        + m_strBoolean(m_chkIschialSpine3.Checked);
            objRecord.m_strISCHIALSPINE = strCheck;

            strCheck  = string.Empty;
            strCheck += m_strBoolean(m_chkCoccyxRadian1.Checked) + m_strBoolean(m_chkCoccyxRadian2.Checked)
                        + m_strBoolean(m_chkCoccyxRadian3.Checked);
            objRecord.m_strCOCCYXRADIAN = strCheck;

            strCheck  = string.Empty;
            strCheck += m_strBoolean(m_chkIshiumNotch1.Checked) + m_strBoolean(m_chkIshiumNotch2.Checked)
                        + m_strBoolean(m_chkIshiumNotch3.Checked);
            objRecord.m_strISCHIUMNOTCH = strCheck;

            objRecord.m_strDC       = m_txtDC.Text;
            objRecord.m_strDC_RIGHT = m_txtDC.m_strGetRightText();
            objRecord.m_strDCXML    = m_txtDC.m_strGetXmlText();

            objRecord.m_strUTERUSORA       = m_txtUterusora.Text;
            objRecord.m_strUTERUSORA_RIGHT = m_txtUterusora.m_strGetRightText();
            objRecord.m_strUTERUSORAXML    = m_txtUterusora.m_strGetXmlText();

            strCheck  = string.Empty;
            strCheck += m_strBoolean(m_chkAmniocentesis1.Checked) + m_strBoolean(m_chkAmniocentesis2.Checked)
                        + m_strBoolean(m_chkAmniocentesis3.Checked) + m_strBoolean(m_chkAmniocentesis4.Checked);
            objRecord.m_strAMNIOCENTESIS = strCheck;

            objRecord.m_strFETUSPLACE       = m_txtFetusPlace.Text;
            objRecord.m_strFETUSPLACE_RIGHT = m_txtFetusPlace.m_strGetRightText();
            objRecord.m_strFETUSPLACEXML    = m_txtFetusPlace.m_strGetXmlText();

            objRecord.m_strPRESENTATIONHEITHT       = m_txtPresentationHeight.Text;
            objRecord.m_strPRESENTATIONHEITHT_RIGHT = m_txtPresentationHeight.m_strGetRightText();
            objRecord.m_strPRESENTATIONHEITHTXML    = m_txtPresentationHeight.m_strGetXmlText();

            strCheck             = string.Empty;
            strCheck            += m_strBoolean(m_chkSkull1.Checked) + m_strBoolean(m_chkSkull2.Checked);
            objRecord.m_strSKULL = strCheck;

            objRecord.m_strCAPUTSUCCEDANEUMSIZE       = m_txtCaputSuccedaneumSize.Text;
            objRecord.m_strCAPUTSUCCEDANEUMSIZE_RIGHT = m_txtCaputSuccedaneumSize.m_strGetRightText();
            objRecord.m_strCAPUTSUCCEDANEUMSIZEXML    = m_txtCaputSuccedaneumSize.m_strGetXmlText();

            objRecord.m_strCAPUTSUCCEDANEUMPLACE       = m_txtCaputSuccedaneumPlace.Text;
            objRecord.m_strCAPUTSUCCEDANEUMPLACE_RIGHT = m_txtCaputSuccedaneumPlace.m_strGetRightText();
            objRecord.m_strCAPUTSUCCEDANEUMPLACEXML    = m_txtCaputSuccedaneumPlace.m_strGetXmlText();

            objRecord.m_strUTERUSORAOPEN       = m_txtUterusoraOpen.Text;
            objRecord.m_strUTERUSORAOPEN_RIGHT = m_txtUterusoraOpen.m_strGetRightText();
            objRecord.m_strUTERUSORAOPENXML    = m_txtUterusoraOpen.m_strGetXmlText();

            objRecord.m_strPRESENTATIONPLACE       = m_txtPresentationPlace.Text;
            objRecord.m_strPRESENTATIONPLACE_RIGHT = m_txtPresentationPlace.m_strGetRightText();
            objRecord.m_strPRESENTATIONPLACEXML    = m_txtPresentationPlace.m_strGetXmlText();

            objRecord.m_strLATERALINCISORANA       = m_txtLateralincisorANA.Text;
            objRecord.m_strLATERALINCISORANA_RIGHT = m_txtLateralincisorANA.m_strGetRightText();
            objRecord.m_strLATERALINCISORANAXML    = m_txtLateralincisorANA.m_strGetXmlText();

            objRecord.m_strMINUSPRESS       = m_txtMiunsPress.Text;
            objRecord.m_strMINUSPRESS_RIGHT = m_txtMiunsPress.m_strGetRightText();
            objRecord.m_strMINUSPRESSXML    = m_txtMiunsPress.m_strGetXmlText();

            objRecord.m_strPULLTIME       = m_txtPullTime.Text;
            objRecord.m_strPULLTIME_RIGHT = m_txtPullTime.m_strGetRightText();
            objRecord.m_strPULLTIMEXML    = m_txtPullTime.m_strGetXmlText();

            objRecord.m_strAPGAR1       = m_txtApgar1.Text;
            objRecord.m_strAPGAR1_RIGHT = m_txtApgar1.m_strGetRightText();
            objRecord.m_strAPGAR1XML    = m_txtApgar1.m_strGetXmlText();

            objRecord.m_strAPGAR2       = m_txtApgar2.Text;
            objRecord.m_strAPGAR2_RIGHT = m_txtApgar2.m_strGetRightText();
            objRecord.m_strAPGAR2XML    = m_txtApgar2.m_strGetXmlText();

            objRecord.m_strAFTERCHILDBEARING       = m_txtAfterChildBearing.Text;
            objRecord.m_strAFTERCHILDBEARING_RIGHT = m_txtAfterChildBearing.m_strGetRightText();
            objRecord.m_strAFTERCHILDBEARINGXML    = m_txtAfterChildBearing.m_strGetXmlText();

            objRecord.m_strBLEEDINGINOP       = m_txtBleedingInOP.Text;
            objRecord.m_strBLEEDINGINOP_RIGHT = m_txtBleedingInOP.m_strGetRightText();
            objRecord.m_strBLEEDINGINOPXML    = m_txtBleedingInOP.m_strGetXmlText();

            objRecord.m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;
            objRecord.m_lngEMR_SEQ        = m_lngCurrentEMR_SEQ;
            return(objRecord);
        }
        // 打印页
        private void m_mthPrintPageSub(PrintPageEventArgs e)
        {
            e.HasMorePages = false;
            m_mthPrintTitleInfo(e);
            Font fntNormal = new Font("SimSun", 12);

            if (m_intPages == 1)
            {
                m_intYPos = 240;
                // e.Graphics.DrawLine(m_LinePen, (int)enmRectangleInfo.LeftX, 206, (int)enmRectangleInfo.RightX, 206);
                //  e.Graphics.DrawLine(m_LinePen, (int)enmRectangleInfo.LeftX, 235, (int)enmRectangleInfo.RightX, 235);
                m_mthPrintBasicInfo(e);
            }



            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, 115, (int)enmRectangleInfo.RightX, 115);


            while (m_objPrintContext.m_BlnHaveMoreLine)
            {
                m_objPrintContext.m_mthPrintNextLine(ref m_intYPos, e.Graphics, fntNormal);

                if (m_intYPos >= (int)enmRectangleInfo.BottomY &&
                    m_objPrintContext.m_BlnHaveMoreLine)
                {
                    #region 换页处理
                    e.HasMorePages = true;

                    e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, 115, (int)enmRectangleInfo.LeftX, m_intYPos);
                    e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.RightX, 115, (int)enmRectangleInfo.RightX, m_intYPos);
                    e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, m_intYPos, (int)enmRectangleInfo.RightX, m_intYPos);

                    m_intPages++;
                    m_intYPos = (int)enmRectangleInfo.TopY + 20;
                    return;

                    #endregion 换页处理
                }
            }

            #region 最后一页处理
            m_intYPos += 30;
            e.Graphics.DrawString("医师签名:", new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 440, m_intYPos);

            if (m_objRecordContentOutIn24 != null)
            {
                com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain objEmployeeSign = new com.digitalwave.emr.BEDExplorer.clsHospitalManagerDomain();
                clsEmrEmployeeBase_VO objEmpVO = null;
                objEmployeeSign.m_lngGetEmpByNO(m_objRecordContentOutIn24.m_strDOCTORSIGN, out objEmpVO);
                if (objEmpVO != null)
                {
                    if (!(string.IsNullOrEmpty(objEmpVO.m_strGetTechnicalRankAndName)))
                    {
                        e.Graphics.DrawString(objEmpVO.m_strGetTechnicalRankAndName, new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 440 + (int)(5f * 17.5f), m_intYPos);
                    }
                }
            }

            m_intYPos += 30;
            e.Graphics.DrawString("记录日期:", new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 440, m_intYPos);
            if (m_objRecordContentOutIn24 != null)
            {
                e.Graphics.DrawString(m_objRecordContentOutIn24.m_dtmRECORDDATE.ToString("yyyy年MM月dd日HH时mm分"), new Font("SimSun", 12), Brushes.Black, (int)enmRectangleInfo.LeftX + 440 + (int)(5f * 17.5f), m_intYPos);
            }

            m_intYPos += 25;
            if (m_intYPos < (int)enmRectangleInfo.BottomY)
            {
                m_intYPos = (int)enmRectangleInfo.BottomY;
            }
            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, 115, (int)enmRectangleInfo.LeftX, m_intYPos);
            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.RightX, 115, (int)enmRectangleInfo.RightX, m_intYPos);
            e.Graphics.DrawLine(m_GridPen, (int)enmRectangleInfo.LeftX, m_intYPos, (int)enmRectangleInfo.RightX, m_intYPos);

            #endregion 最后一页处理

            m_intYPos += (int)enmRectangleInfo.RowStep + 15;
            Font fntSign = new Font("", 6);
            while (m_objPrintContext.m_BlnHaveMoreSign)
            {
                m_objPrintContext.m_mthPrintNextSign((int)enmRectangleInfo.LeftX, m_intYPos, e.Graphics, fntSign);

                m_intYPos += (int)enmRectangleInfo.RowStep - 10;
            }

            //全部打完
            m_objPrintContext.m_mthReset();
            m_intPages = 1;
            m_intYPos  = (int)enmRectangleInfo.TopY;
        }