Example #1
0
        /// <summary>
        /// 获取打印内容,(当从数据库读取时,调用本函数之前请首先调用m_mthSetPrintInfo函数)
        /// </summary>
        /// <returns>打印内容</returns>
        public object m_objGetPrintInfo()
        {
            if (m_blnIsFromDataSource)
            {
                if (m_objPrintInfo == null)
                {
                    MDIParent.ShowInformationMessageBox("当从数据库读取时,调用m_objGetPrintInfo之前请首先调用m_mthSetPrintInfo函数");
                    return(null);
                }

                if (m_blnWantInit)
                {
                    m_mthInitPrintContent();
                }
            }

            //没有记录内容时,返回空
            if (m_objPrintInfo.m_objContent == null)
            {
                return(null);
            }
            else
            {
                return(m_objPrintInfo);
            }
        }
Example #2
0
        private void m_mthAddNewRecord()
        {
            clsAYQBabyAssessmentContent objNewRecord = m_objGetCircsRecordContentFromUI();
            string strNow = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

            objNewRecord.m_strInPatientID    = m_strMotherID;
            objNewRecord.m_dtmInPatientDate  = DateTime.Parse(m_strInPatientDate);
            objNewRecord.m_dtmAssessmentDate = m_dtpRecordTime.Value;
            objNewRecord.m_dtmOpenDate       = DateTime.Parse(strNow);
            objNewRecord.m_strCreateUserID   = MDIParent.OperatorID;
            objNewRecord.m_dtmCreateDate     = DateTime.Parse(strNow);
            objNewRecord.m_strModifyUserID   = MDIParent.OperatorID;
            objNewRecord.m_dtmModifyDate     = DateTime.Parse(strNow);

            clsPreModifyInfo p_objModifyInfo = new clsPreModifyInfo();
            long             lngRes          = m_objDomain.m_lngAddNewCircsRecord(objNewRecord, out p_objModifyInfo);

            if (lngRes < 0)
            {
                MDIParent.ShowInformationMessageBox("保存失败");
            }
            else
            {
                this.DialogResult = DialogResult.Yes;
                this.Close();
            }
        }
Example #3
0
        private void m_cmdChangeTime_Click(object sender, System.EventArgs e)
        {
            if (m_nmudSetTime.Text != "")
            {
                int intModifyTime = 0;
                try
                {
                    intModifyTime = int.Parse(m_nmudSetTime.Text);
                }
                catch (Exception ex)
                {
                    MDIParent.ShowInformationMessageBox("设置的时限须为整数!");
                    return;
                }

                com.digitalwave.PublicMiddleTier.clsPublicMiddleTier m_objService =
                    (com.digitalwave.PublicMiddleTier.clsPublicMiddleTier)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.PublicMiddleTier.clsPublicMiddleTier));

                long lngRes = m_objService.m_lngSetRTBChangeTime(intModifyTime.ToString(), "3001");
                //m_objService.Dispose();
                if (lngRes > 0)
                {
                    new ctlRichTextBox().m_IntCanModifyTime = intModifyTime;
                    MDIParent.ShowInformationMessageBox("设置成功!");
                    this.Close();
                }
                else
                {
                    MDIParent.ShowInformationMessageBox("未能成功设置!");
                }
            }
        }
        /// <summary>
        /// 从数据库初始化打印内容。如果没有记录,打印空报表。(当从数据库读取时要调用.)
        /// </summary>
        public void m_mthInitPrintContent()
        {
            if (m_objPrintInfo == null)
            {
                MDIParent.ShowInformationMessageBox("调用m_mthInitPrintContent之前请首先调用m_mthSetPrintInfo函数");
                return;
            }
            if (m_objPrintInfo.m_strInPatentID == "")
            {
                return;
            }
            m_objRecordsDomain = new clsRecordsDomain(enmRecordsType.GeneralNurseRecord);

            long lngRes = m_objRecordsDomain.m_lngGetPrintInfo(m_objPrintInfo.m_strInPatentID, m_objPrintInfo.m_dtmInPatientDate.ToString("yyyy-MM-dd HH:mm:ss"), out m_objPrintInfo.m_objTransDataArr, out m_objPrintInfo.m_dtmFirstPrintDateArr, out m_objPrintInfo.m_blnIsFirstPrintArr);

            if (lngRes <= 0)
            {
                return;
            }

            //按记录时间(CreateDate)排序
            m_mthSortTransData(ref m_objPrintInfo.m_objTransDataArr);
            //设置表单内容到打印中
            m_mthSetPrintContent(m_objPrintInfo.m_objTransDataArr, m_objPrintInfo.m_dtmFirstPrintDateArr);
            m_objPrintInfo.m_objPrintDataArr = m_objPrintDataArr;
            m_blnWantInit = false;
        }
Example #5
0
        private void m_mthModifyRecord()
        {
            if (m_objCurrentRecord == null)
            {
                return;
            }
            clsGestationMisbirthsthreeVO objNewRecord = m_objGetCircsRecordContentFromUI();

            string strNow = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

            objNewRecord.m_strInPatientID   = m_strMotherID;
            objNewRecord.m_dtmInPatientDate = DateTime.Parse(m_strInPatientDate);
            objNewRecord.m_dtmOpenDate      = m_objCurrentRecord.m_dtmOpenDate;
            objNewRecord.m_strCreateUserID  = m_objCurrentRecord.m_strCreateUserID;
            objNewRecord.m_dtmCreateDate    = m_objCurrentRecord.m_dtmCreateDate;
            objNewRecord.m_strModifyUserID  = MDIParent.OperatorID;
            objNewRecord.m_dtmModifyDate    = DateTime.Parse(strNow);
            clsPreModifyInfo p_objModifyInfo = new clsPreModifyInfo();
            long             lngRes          = m_objDomain.m_lngModifyCircsRecord(m_objCurrentRecord, objNewRecord, out p_objModifyInfo);

            if (lngRes < 0)
            {
                MDIParent.ShowInformationMessageBox("保存失败");
            }
            else
            {
                this.DialogResult = DialogResult.Yes;
                this.Close();
            }
        }
 /// <summary>
 /// 从数据库初始化打印内容。如果没有记录,打印空报表。(当从数据库读取时要调用.)
 /// </summary>
 public void m_mthInitPrintContent()
 {
     m_blnWantInit = false;          //
     if (m_objPrintInfo == null)
     {
         MDIParent.ShowInformationMessageBox("调用m_mthInitPrintContent之前请首先调用m_mthSetPrintInfo函数");
         return;
     }
     if (m_objPrintInfo.m_strInPatentID == "" || m_objPrintInfo.m_dtmOpenDate == DateTime.MinValue)
     {
         m_objclsBeforeOperationSummary_All = null;
     }
     else
     {
         m_objRecordsDomain = new clsBeforeOperationSummaryDomain();
         long lngRes = m_objRecordsDomain.m_lngGetSummary_All(m_objPrintInfo.m_strInPatentID, m_objPrintInfo.m_dtmInPatientDate.ToString("yyyy-MM-dd HH:mm:ss"), m_objPrintInfo.m_dtmOpenDate.ToString("yyyy-MM-dd HH:mm:ss"), out m_objclsBeforeOperationSummary_All);
         if (lngRes <= 0)
         {
             return;
         }
     }
     //设置表单内容到打印中
     m_objPrintInfo.m_objclsBeforeOperationSummary_All = m_objclsBeforeOperationSummary_All;
     m_mthSetPrintValue();            //无论有否打印数据,即使在打印空白表时,此行也必须执行.
 }
Example #7
0
        /// <summary>
        /// 获取该打印对象实例的打印内容
        /// </summary>
        /// <returns></returns>
        public object m_objGetPrintInfo()
        {
            if (this.m_blnIsFromDataSource)
            {
                if (this.m_objPrintInfo == null)
                {
                    MDIParent.ShowInformationMessageBox("打印尚未初始化,请先执行m_mthSetPrintInfo函数。");
                    return(null);
                }

                if (this.m_blnWantInit)
                {
                    this.m_mthInitPrintContent();
                }
            }

            //没有记录内容时,返回空
            if (this.m_objPrintInfo.m_objRecordContent == null)
            {
                return(null);
            }
            else
            {
                return(this.m_objPrintInfo);
            }
        }
        /// <summary>
        /// 设置打印内容。
        /// </summary>
        /// <param name="p_objTransDataArr"></param>
        /// <param name="p_dtmFirstPrintDate"></param>
        private void m_mthSetPrintContent(clsTransDataInfo[] p_objTransDataArr,
                                          DateTime[] p_dtmFirstPrintDate)
        {
            int intBlankCount = 0;

            if (p_objTransDataArr == null || p_dtmFirstPrintDate == null || p_objTransDataArr.Length != p_dtmFirstPrintDate.Length)
            {
                MDIParent.ShowInformationMessageBox("打印数据有误!");
                return;
            }

            //根据不同的表单类型,获取对应的clsDiseaseTrackInfo
            clsDiseaseTrackInfo objTrackInfo = null;

            m_objPrintDataArr = new clsPrintData_GeneralNurseRecord[p_objTransDataArr.Length];
            System.Data.DataTable dtbBlankRecord = null;
            new clsDiseaseTrackAddBlankDomain().m_lngGetBlankRecordContent(m_objPrintInfo.m_strInPatentID, m_objPrintInfo.m_dtmInPatientDate, out dtbBlankRecord);
            for (int i = 0; i < p_objTransDataArr.Length; i++)
            {
                intBlankCount = 0;
                objTrackInfo  = new clsGeneralNurseRecordInfo();

                //设置clsDiseaseTrackInfo的内容
                objTrackInfo.m_ObjRecordContent = p_objTransDataArr[i].m_objRecordContent;

                m_objPrintDataArr[i] = new clsPrintData_GeneralNurseRecord();
                //根据 clsDiseaseTrackInfo 获得的文本和Xml
                m_objPrintDataArr[i].m_strCreateDate = objTrackInfo.m_ObjRecordContent.m_dtmCreateDate.ToString();
                m_objPrintDataArr[i].m_strContent    = objTrackInfo.m_strGetTrackText();
                m_objPrintDataArr[i].m_strContentXml = objTrackInfo.m_strGetTrackXml();

                string strSignText = objTrackInfo.m_strGetSignText();

                m_objPrintDataArr[i].m_strSign = strSignText;

                m_objPrintDataArr[i].m_dtmFirstPrintDate = p_dtmFirstPrintDate[i];
                //设置分页标志
                m_objPrintDataArr[i].m_strPagiNation = objTrackInfo.m_ObjRecordContent.m_StrPagination.ToString();
                if (dtbBlankRecord != null && dtbBlankRecord.Rows.Count > 0)
                {
                    foreach (System.Data.DataRow drtAdd in dtbBlankRecord.Rows)
                    {
                        if (DateTime.Parse(drtAdd[2].ToString()).ToString("yyyy-MM-dd HH:mm:ss") == objTrackInfo.m_ObjRecordContent.m_dtmOpenDate.ToString("yyyy-MM-dd HH:mm:ss"))
                        {
                            int intBlankLine = Int32.Parse(drtAdd[3].ToString());
                            intBlankCount = intBlankLine;
                            m_objPrintDataArr[i].m_intBlankCount = intBlankLine;
                            for (int j2 = 0; j2 < intBlankLine; j2++)
                            {
                                m_objPrintDataArr[i].m_strContent = "\n" + m_objPrintDataArr[i].m_strContent;
                            }
                            break;
                        }
                    }
                }
                m_arlBlockCount.Add(intBlankCount);                //保存每条记录实际空行数量
            }
        }
Example #9
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <returns></returns>
        private long m_lngModify()
        {
            long lngRes = 0;

            try
            {
                //从界面获取表单值
                string strNow = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                clsIntensivetendRecordContent_CSDetail objContent = new clsIntensivetendRecordContent_CSDetail();
                objContent.m_strINPATIENTID         = strRecordInPatientID;
                objContent.m_dtmINPATIENTDATE       = DateTime.Parse(strRecordInPatientDate);
                objContent.m_dtmMODIFYDATE          = DateTime.Parse(strNow);
                objContent.m_dtmRECORDDATE          = m_dtpCreateDate.Value;
                objContent.m_dtmCREATERECORDDATE    = DateTime.Parse(strRecordCreateDate);
                objContent.m_strRECORDCONTENTAll    = m_txtRecordContent.Text;
                objContent.m_strRECORDCONTENT_RIGHT = m_txtRecordContent.m_strGetRightText();
                objContent.m_strRECORDCONTENTXML    = m_txtRecordContent.m_strGetXmlText();
                objContent.m_dtmOPENDATE            = DateTime.Parse(strNow);

                if (objContent.m_strRECORDCONTENT_RIGHT == null || objContent.m_strRECORDCONTENT_RIGHT == string.Empty)
                {
                    MDIParent.ShowInformationMessageBox("请填写病情观察、护理措施、效果的内容");
                    return(0);
                }

                //获取签名
                strUserIDList   = "";
                strUserNameList = "";
                m_mthGetSignArr(new Control[] { lsvSign }, ref objContent.objSignerArr, ref strUserIDList, ref strUserNameList);
                clsIntensivetendRecord_CSService objserv =
                    (clsIntensivetendRecord_CSService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsIntensivetendRecord_CSService));

                #region 多签名时验证所有签名者
                //电子签名
                //记录ID通常为 住院号+住院时间 || 住院号+记录时间 来识别唯一 格式 00000056-2005-10-10 10:20:20
                clsEmrDigitalSign_VO objSign_VO = new clsEmrDigitalSign_VO();
                objSign_VO.m_strFORMID_VCHR       = this.Name;
                objSign_VO.m_strFORMRECORDID_VCHR = objContent.m_strINPATIENTID.Trim() + "-" + objContent.m_dtmINPATIENTDATE.ToString("yyyy-MM-dd HH:mm:ss");
                objSign_VO.m_strSIGNIDID_VCHR     = clsEMRLogin.LoginInfo.m_strEmpID;
                objSign_VO.m_strRegisterId        = m_strRegisterid;
                clsCheckSignersController objCheck = new clsCheckSignersController();
                if (objCheck.m_lngSign(objContent, objSign_VO) == -1)
                {
                    return(-1);
                }

                #endregion

                lngRes = objserv.m_lngModifyDetail(objContent);
            }
            catch (Exception ex)
            {
                string strMsg = ex.Message;
            }
            return(lngRes);
        }
Example #10
0
        /// <summary>
        /// 设置打印内容。
        /// </summary>
        /// <param name="p_objPrintContent"></param>
        public void m_mthSetPrintContent(object p_objPrintContent)
        {
            m_blnWantInit = false;
            if (p_objPrintContent.GetType().Name != "clsEMR_OXTIntravenousDripDataInfo")
            {
                MDIParent.ShowInformationMessageBox("参数错误");
            }
            m_blnIsFromDataSource = false;//表明是从文件直接提取信息
            m_objPrintMainInfo    = (clsEMR_OXTIntravenousDripDataInfo)p_objPrintContent;

            //m_mthSetPrintContent((clsEMR_OXTIntravenousDrip_BASE)m_objPrintMainInfo.m_objBaseInfo, (clsEMR_OXTIntravenousDripCon)m_objPrintMainInfo.m_objBaseInfo, DateTime.Now );
        }
Example #11
0
        /// <summary>
        /// 设置打印内容。(当数据已经存在时使用。)
        /// </summary>
        /// <param name="p_objPrintContent">打印内容</param>
        public void m_mthSetPrintContent(object p_objPrintContent)
        {
            m_blnWantInit = false;
            if (p_objPrintContent.GetType().Name != "clsPrintInfo_InPatientCaseHistory")
            {
                MDIParent.ShowInformationMessageBox("参数错误");
            }
            m_blnIsFromDataSource = false;//表明是从文件直接提取信息
            m_objPrintInfo        = (clsPrintInfo_InPatientCaseHistory)p_objPrintContent;

            m_mthSetPrintContent((clsAYQBabyAssessmentContent_EspRecord)m_objPrintInfo.m_objContent, objRecordArr, m_objPrintInfo.m_dtmFirstPrintDate);
        }
        /// <summary>
        /// 设置打印内容。(当数据已经存在时使用。)
        /// </summary>
        /// <param name="p_objPrintContent">打印内容</param>
        public void m_mthSetPrintContent(object p_objPrintContent)
        {
            if (p_objPrintContent.GetType().Name != "clsPrintInfo_GeneralNurseRecord")
            {
                MDIParent.ShowInformationMessageBox("参数错误");
            }
            m_blnIsFromDataSource = false;          //表明是从文件直接提取信息
            m_objPrintInfo        = (clsPrintInfo_GeneralNurseRecord)p_objPrintContent;
            m_objPrintDataArr     = m_objPrintInfo.m_objPrintDataArr;

            m_blnWantInit = false;
        }
 /// <summary>
 /// 设置打印内容。(当数据已经存在时使用。)
 /// </summary>
 /// <param name="p_objPrintContent">打印内容</param>
 public void m_mthSetPrintContent(object p_objPrintContent)
 {
     m_blnWantInit = false;
     if (p_objPrintContent.GetType().Name != "clsPrintInfo_BeforeOperationSummary")
     {
         MDIParent.ShowInformationMessageBox("参数错误");
     }
     m_blnIsFromDataSource = false;          //表明是从文件直接提取信息
     m_objPrintInfo        = (clsPrintInfo_BeforeOperationSummary)p_objPrintContent;
     m_objclsBeforeOperationSummary_All = m_objPrintInfo.m_objclsBeforeOperationSummary_All;
     m_mthSetPrintValue();
 }
Example #14
0
 /// <summary>
 /// 获取打印内容,(当从数据库读取时,调用本函数之前请首先调用m_mthSetPrintInfo函数)
 /// </summary>
 /// <returns>打印内容</returns>
 public object m_objGetPrintInfo()
 {
     if (m_blnIsFromDataSource)
     {
         if (m_objResult == null)
         {
             MDIParent.ShowInformationMessageBox("当从数据库读取时,调用m_objGetPrintInfo之前请首先调用m_mthSetPrintInfo函数");
             return(null);
         }
         return(m_objResult);
     }
     return(null);
 }
 // 打印页
 private void m_mthPrintPageSub(PrintPageEventArgs p_objPrintPageArg)
 {
     try
     {
         p_objPrintPageArg.HasMorePages = false;
         m_mthPrintTitleInfo(p_objPrintPageArg);
         m_mthAddDataToGrid(p_objPrintPageArg);
         m_mthPrintRectangleInfo(p_objPrintPageArg);
     }
     catch (Exception err)
     {
         MDIParent.ShowInformationMessageBox(err.Message + "\r\n" + err.StackTrace);
     }
 }
Example #16
0
        public void Delete()
        {
            long m_lngRe = m_lngSubDelete();

            if (m_lngRe > 0)
            {
                m_cboRecordList.SelectedIndex = 0;
                MDIParent.ShowInformationMessageBox("删除成功!");
            }
            else
            {
                MDIParent.ShowInformationMessageBox("删除失败!");
            }
        }
Example #17
0
        private void m_cmdOK_Click(object sender, System.EventArgs e)
        {
            string strPsw = "";

            com.digitalwave.emr.HospitalManagerService.clsHospitalManagerService objServ =
                (com.digitalwave.emr.HospitalManagerService.clsHospitalManagerService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.emr.HospitalManagerService.clsHospitalManagerService));

            objServ.m_lngGetEmpPSWByID(null, m_cboUser1.GetItem(m_cboUser.SelectedIndex).ToString(), out strPsw, true);

            if (strPsw == m_txtPW.Text.Trim() || (strPsw == null && m_txtPW.Text.Trim() == ""))
            {
                m_blnValidateResult = true;
                this.Close();
            }
            else if (strPsw != m_txtPW.Text.Trim())
            {
                MDIParent.ShowInformationMessageBox("验证错误,请重新输入!");
                return;
            }
        }
Example #18
0
        /// <summary>
        /// 获取打印内容,(当从数据库读取时,调用本函数之前请首先调用m_mthSetPrintInfo函数)
        /// </summary>
        /// <returns>打印内容</returns>
        public object m_objGetPrintInfo()
        {
            if (m_blnIsFromDataSource)
            {
                if (m_objResultArr == null)
                {
                    MDIParent.ShowInformationMessageBox("当从数据库读取时,调用m_objGetPrintInfo之前请首先调用m_mthSetPrintInfo函数");
                    return(null);
                }
            }

            //没有记录内容时,返回空
            if (m_objResultArr.Length == 0)
            {
                return(null);
            }
            else
            {
                return(m_objResultArr);
            }
        }
Example #19
0
 private void m_mthGetICUEmployee()
 {
     if (strDeptArr != null)
     {
         bool blnIsSame = false;
         if (m_ObjCurrentArea != null)
         {
             for (int i = 0; i < strDeptArr.Length; i++)
             {
                 if (m_ObjCurrentArea.m_strDEPTID_CHR.Trim() == strDeptArr[i].Trim())
                 {
                     blnIsSame = true;
                     break;
                 }
             }
         }
         if (!blnIsSame)
         {
             MDIParent.ShowInformationMessageBox("非ICU不能开转出记录表!");
         }
     }
 }
Example #20
0
        public void Save()
        {
            long m_lngRe = 0;

            if (m_BlnIsAddNew)
            {
                m_lngRe = m_lngSubAddNew();
            }
            else
            {
                m_lngRe = m_lngSubModify();
            }
            if (m_lngRe > 0)
            {
//				m_blnIsAddNew = false;
                m_txtOnDoc.Enabled = false;
                MDIParent.ShowInformationMessageBox("保存成功!");
            }
            else
            {
                MDIParent.ShowInformationMessageBox("保存失败!");
            }
        }
Example #21
0
        /// <summary>
        /// 从数据库初始化打印内容。如果没有记录,打印空报表。(当从数据库读取时要调用.)
        /// </summary>
        public void m_mthInitPrintContent()
        {
            m_blnWantInit = false;

            if (m_objPrintInfo == null)
            {
                MDIParent.ShowInformationMessageBox("调用m_mthInitPrintContent之前请首先调用m_mthSetPrintInfo函数");
                return;
            }

            if (m_objPrintInfo.m_strInPatentID != "")
            {
                m_objRecordsDomain = new clsBaseCaseHistoryDomain(enmBaseCaseHistoryTypeInfo.AYQBabyAssessmentRecord);
                long lngRes = m_objRecordsDomain.m_lngGetPrintInfo(m_objPrintInfo.m_strInPatentID, m_objPrintInfo.m_dtmInPatientDate.ToString("yyyy-MM-dd HH:mm:ss"), DateTime.MinValue, out m_objPrintInfo.m_objContent, out m_objPrintInfo.m_objPicValueArr, out m_objPrintInfo.m_dtmFirstPrintDate, out m_objPrintInfo.m_blnIsFirstPrint);

                //if (m_objPrintInfo.m_objContent != null)
                //{
                lngRes = m_objInRoomDomain.m_lngGetAllModifiedCircsRecordContent(m_objPrintInfo.m_strInPatentID, m_objPrintInfo.m_dtmInPatientDate.ToString("yyyy-MM-dd HH:mm:ss"), out objRecordArr);
                //}
            }
            //设置表单内容到打印中,即使是打印空白单,此行也必须执行.(即:在本函数内部,此行之上不准有return语句,除非出错跳出.)
            m_mthSetPrintContent((clsAYQBabyAssessmentContent_EspRecord)m_objPrintInfo.m_objContent, objRecordArr, m_objPrintInfo.m_dtmFirstPrintDate);
        }
Example #22
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <returns></returns>
        private long m_lngModify()
        {
            long lngRes = 0;

            try
            {
                //从界面获取表单值
                string strNow = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                clsGeneralNurseRecordContent_GXDetail objContent = new clsGeneralNurseRecordContent_GXDetail();
                objContent.m_strINPATIENTID         = strRecordInPatientID;
                objContent.m_dtmINPATIENTDATE       = DateTime.Parse(strRecordInPatientDate);
                objContent.m_dtmMODIFYDATE          = DateTime.Parse(strNow);
                objContent.m_dtmRECORDDATE          = m_dtpCreateDate.Value;
                objContent.m_dtmCREATERECORDDATE    = DateTime.Parse(strRecordCreateDate);
                objContent.m_strRECORDCONTENTAll    = m_txtRecordContent.Text;
                objContent.m_strRECORDCONTENT_RIGHT = m_txtRecordContent.m_strGetRightText();
                objContent.m_strRECORDCONTENTXML    = m_txtRecordContent.m_strGetXmlText();
                objContent.m_dtmOPENDATE            = DateTime.Parse(strNow);

                if (objContent.m_strRECORDCONTENT_RIGHT == null || objContent.m_strRECORDCONTENT_RIGHT == string.Empty)
                {
                    MDIParent.ShowInformationMessageBox("请填写病情记录内容");
                    return(0);
                }

                //objContent.m_strMODIFYRECORDUSERID = MDIParent.OperatorID;
//				//签名
//				foreach(Control ctlSub in this.Controls)
//				{
//					if(ctlSub.Name=="m_txtEmpSign")
//					{
//						objContent.m_strMODIFYRECORDUSERID = ((clsEmployee)ctlSub.Tag).m_StrEmployeeID;
//					}
//				}
                //获取签名
                objContent.m_strMODIFYRECORDUSERID             = ((clsEmrEmployeeBase_VO)txtSign.Tag).m_strEMPNO_CHR;
                objContent.objSignerArr                        = new clsEmrSigns_VO[1];
                objContent.objSignerArr[0]                     = new clsEmrSigns_VO();
                objContent.objSignerArr[0].objEmployee         = new clsEmrEmployeeBase_VO();
                objContent.objSignerArr[0].objEmployee         = (clsEmrEmployeeBase_VO)(txtSign.Tag);
                objContent.objSignerArr[0].controlName         = "txtSign";
                objContent.objSignerArr[0].m_strFORMID_VCHR    = "frmGeneralNurseRecord_GXCon";//注意大小写
                objContent.objSignerArr[0].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;

                clsGeneralNurseRecord_GXService objserv =
                    (clsGeneralNurseRecord_GXService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsGeneralNurseRecord_GXService));

                #region 多签名时验证所有签名者
                //objContent.m_strModifyUserID = MDIParent.OperatorID;
                //电子签名
                //记录ID通常为 住院号+住院时间 || 住院号+记录时间 来识别唯一 格式 00000056-2005-10-10 10:20:20
                clsEmrDigitalSign_VO objSign_VO = new clsEmrDigitalSign_VO();
                objSign_VO.m_strFORMID_VCHR       = this.Name;
                objSign_VO.m_strFORMRECORDID_VCHR = objContent.m_strINPATIENTID.Trim() + "-" + objContent.m_dtmINPATIENTDATE.ToString("yyyy-MM-dd HH:mm:ss");
                objSign_VO.m_strSIGNIDID_VCHR     = clsEMRLogin.LoginInfo.m_strEmpID;
                objSign_VO.m_strRegisterId        = m_strRegisterid;
                //objSign_VO.m_strRegisterId = m_objBaseCurrentPatient.m_StrRegisterId;
                clsCheckSignersController objCheck = new clsCheckSignersController();
                if (objCheck.m_lngSign(objContent, objSign_VO) == -1)
                {
                    return(-1);
                }

                #endregion

                lngRes = objserv.m_lngModifyDetail(objContent);
            }
            catch (Exception ex)
            {
                string strMsg = ex.Message;
            }
            return(lngRes);
        }
Example #23
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <returns></returns>
        private long m_lngModify()
        {
            long lngRes = 0;

            try
            {
                //从界面获取表单值
                string strNow = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                clsIntensiveTendRecordDetail_GX objContent = new clsIntensiveTendRecordDetail_GX();
                objContent.m_strInPatientID      = strRecordInPatientID;
                objContent.m_dtmInPatientDate    = DateTime.Parse(strRecordInPatientDate);
                objContent.m_dtmModifyDate       = DateTime.Parse(strNow);
                objContent.m_dtmDETAILRECORDDATE = Convert.ToDateTime(m_dtpCreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
                objContent.m_dtmOpenDate         = DateTime.Parse(strRecordCreateDate);
                objContent.m_strDETAILCONTENT    = m_txtRecordContent.Text;
                objContent.m_strDETAILCONTENTXML = m_txtRecordContent.m_strGetXmlText();

                if (m_txtRecordContent.m_strGetRightText() == null || m_txtRecordContent.m_strGetRightText() == string.Empty)
                {
                    MDIParent.ShowInformationMessageBox("请填写病情记录内容");
                    return(0);
                }
                //签名

                objContent.m_strModifyUserID = MDIParent.OperatorID;
                //objContent.m_strDETAILSIGNID = ((clsEmrEmployeeBase_VO)txtSign.Tag).m_strEMPNO_CHR;
                //objContent.m_strDETAILSIGNNAME = ((clsEmrEmployeeBase_VO)txtSign.Tag).m_strLASTNAME_VCHR;
                //获取签名
                strUserIDList   = "";
                strUserNameList = "";
                m_mthGetSignArr(new Control[] { txtSign }, ref objContent.objSignerArr, ref strUserIDList, ref strUserNameList);
                //objContent.objSignerArr = new clsEmrSigns_VO[1];
                //objContent.objSignerArr[0] = new clsEmrSigns_VO();
                //objContent.objSignerArr[0].objEmployee = new clsEmrEmployeeBase_VO();
                //objContent.objSignerArr[0].objEmployee = (clsEmrEmployeeBase_VO)(txtSign.Tag);
                //objContent.objSignerArr[0].controlName = "txtSign";
                //objContent.objSignerArr[0].m_strFORMID_VCHR = "frmGeneralNurseRecord_GXRec";//注意大小写
                //objContent.objSignerArr[0].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;

                #region 多签名时验证所有签名者 并保存

                //if (objContent.objSignerArr != null)
                //{
                //    ArrayList objSignerArr = new ArrayList();
                //    for (int i = 0; i < objContent.objSignerArr.Length; i++)
                //    {
                //        if (objContent.objSignerArr[i].controlName == "lsvSign" || objContent.objSignerArr[i].controlName == "txtSign")
                //            objSignerArr.Add(objContent.objSignerArr[i].objEmployee);
                //    }
                //    //数字签名
                //    //记录ID通常为 住院号+住院时间 || 住院号+记录时间 来识别唯一 格式 00000056-2005-10-10 10:20:20
                //    string strRecordID = objContent.m_strInPatientID.Trim() + "-" + objContent.m_dtmInPatientDate.ToString("yyyy-MM-dd HH:mm:ss"); ;

                //    clsCheckSignersController objCheck = new clsCheckSignersController(objSignerArr, false);
                //    if (objCheck.CheckSigner(objContent, this.Name, strRecordID) == -1)
                //        return -1;

                //}
                //else
                //{
                //objContent.m_strModifyUserID = MDIParent.OperatorID;
                //数字签名 兼容考虑
                //记录ID通常为 住院号+住院时间 || 住院号+记录时间 来识别唯一 格式 00000056-2005-10-10 10:20:20
                clsEmrDigitalSign_VO objSign_VO = new clsEmrDigitalSign_VO();
                objSign_VO.m_strFORMID_VCHR       = this.Name;
                objSign_VO.m_strFORMRECORDID_VCHR = objContent.m_strInPatientID.Trim() + "-" + objContent.m_dtmInPatientDate.ToString("yyyy-MM-dd HH:mm:ss");
                objSign_VO.m_strSIGNIDID_VCHR     = clsEMRLogin.LoginInfo.m_strEmpID;
                objSign_VO.m_strRegisterId        = m_objBaseCurrentPatient.m_StrRegisterId;
                clsCheckSignersController objCheck = new clsCheckSignersController();
                if (objCheck.m_lngSign(objContent, objSign_VO) == -1)
                {
                    return(-1);
                }
                //}
                #endregion

                clsIntensiveTendRecord_GXService objserv =
                    (clsIntensiveTendRecord_GXService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsIntensiveTendRecord_GXService));


                lngRes = objserv.m_lngModifyDetail(objContent);
            }
            catch (Exception ex)
            {
                string strMsg = ex.Message;
            }
            return(lngRes);
        }
        /// <summary>
        /// 填充数据到表格
        /// </summary>
        /// <param name="e"></param>
        private void m_mthAddDataToGrid(System.Drawing.Printing.PrintPageEventArgs e)
        {
            try
            {
                //int intPrintLenth=(int) ((float)enmRecordRectangleInfo.RecordLineLength/17.5)+1; /*每行显示的汉字的数目*/
                string   strRecord    = "";
                string   strRecordXML = "";
                DateTime dtmFlagTime;

                int  intNowRow      = 1;         /*记录该页当前的打印的行*/
                bool blnIsPrintDate = false;


                if (m_objPrintInfo.m_strInPatentID == "" || m_objPrintDataArr == null)
                {
                    return;
                }
                for (; intCurrentRecord < m_objPrintDataArr.Length; intCurrentRecord++)                 //不作初始化
                {
                    #region 如果是新记录,打印日期,设置打印数据值
                    if (blnBeginPrintNewRecord)
                    {
//						if(m_intBlankCount == -1)
                        m_intBlankCount = m_objPrintDataArr[intCurrentRecord].m_intBlankCount;
//						if(m_intBlankCount == -1)
//							m_intBlankCount = -2;

                        strRecord    = m_objPrintDataArr[intCurrentRecord].m_strContent.TrimEnd(new char[] { '\n', '\r' }) + "\r";
                        strRecordXML = m_objPrintDataArr[intCurrentRecord].m_strContentXml;

                        //打印一条记录/////////////////////////////////////////////////////////////////////
                        /*修改打印内容方式(以第一次打印时间为分割,该时间后的所有修改的痕迹都要保留,如从未打印过则显示正确的记录)*/
                        if (m_objPrintDataArr[intCurrentRecord].m_dtmFirstPrintDate == DateTime.MinValue)
                        {
                            dtmFlagTime = DateTime.Parse(new clsPublicDomain().m_strGetServerTime());
                        }
                        else
                        {
                            dtmFlagTime = m_objPrintDataArr[intCurrentRecord].m_dtmFirstPrintDate;
                        }

                        m_objPrintContext.m_mthSetContextWithCorrectBefore(strRecord, strRecordXML, dtmFlagTime);

                        com.digitalwave.controls.ctlRichTextBox.clsModifyUserInfo[] m_objModifyUserArr = m_objPrintContext.m_ObjModifyUserArr;

                        for (int i = 0; i < m_objModifyUserArr.Length; i++)
                        {
                            if (m_objModifyUserArr[i].m_clrText.ToArgb() == Color.White.ToArgb())
                            {
                                m_objModifyUserArr[i].m_clrText = Color.Black;
                            }
                        }
                    }
                    #endregion

                    #region 将当前记录除签名外全部打完或中途换页跳出
                    while (m_objPrintContext.m_BlnHaveNextLine())                   //判断该条记录是否还有下一行
                    {
                        if (intNowRow < (int)enmRecordRectangleInfo.RowLinesNum)
                        {
                            //打印日期
                            //如果此记录前有空行日期打印的位置就要向下移动对应的行数
//							if (m_arlBlockCount[intCurrentRecord].ToString()=="0" && !blnIsPrintDate)
//							{
//								blnIsPrintDate = true;
//								e.Graphics.DrawString(DateTime.Parse(m_objPrintDataArr[intCurrentRecord].m_strCreateDate).ToString(MDIParent.s_ObjRecordDateTimeInfo.m_strGetRecordTimeFormat("frmGeneralNurseRecord")),m_fotSmallFont ,m_slbBrush,
//									(int)enmRecordRectangleInfo.LeftX+1,
//									(int)enmRecordRectangleInfo.TopY+(int)enmRecordRectangleInfo.RowStep*intNowRow + 20);
//							}
//							else
                            if (m_intBlankCount == 0)
                            {
                                //								int p=int.Parse(m_arlBlockCount[intCurrentRecord].ToString());
                                e.Graphics.DrawString(DateTime.Parse(m_objPrintDataArr[intCurrentRecord].m_strCreateDate).ToString(MDIParent.s_ObjRecordDateTimeInfo.m_strGetRecordTimeFormat("frmGeneralNurseRecord")), m_fotSmallFont, m_slbBrush,
                                                      (int)enmRecordRectangleInfo.LeftX + 1,
                                                      (int)enmRecordRectangleInfo.TopY + (int)enmRecordRectangleInfo.RowStep * (intNowRow /*+p*/) + 20);
                                --m_intBlankCount;
                            }
                        }

                        /*
                         * 如果最后一行打印的刚好是一条记录的标题,
                         * 则从新的一页开始打
                         */
                        if (intNowRow == (int)enmRecordRectangleInfo.RowLinesNum)
                        {
                            if (m_objPrintContext.m_IntCurrentIndex == 0)
                            {
                                e.HasMorePages = true;
                                intNowPage++;
                                return;
                            }
                        }


                        if (m_blnCheckPageChange(intNowRow, e) == true)                     //每打印一行之前都要检查是否换页
                        {
                            //如果还没打到指定记录,清空。注意:该记录还没打完
//							if(intCurrentRecord < m_intFromRecord)
//							{
//								e.Graphics.Clear(Color.White);
//								m_mthPrintTitleInfo(e);
//								m_mthPrintRectangleInfo(e);
//								m_mthAddDataToGrid(e);
//							}
                            return;
                        }

                        m_objPrintContext.m_mthPrintLine((int)enmRecordRectangleInfo.RecordLineLength, (int)enmRecordRectangleInfo.LeftX + (int)enmRecordRectangleInfo.ColumnsMark1,
                                                         (int)enmRecordRectangleInfo.TopY + (int)enmRecordRectangleInfo.RowStep * intNowRow + 20, e.Graphics);


                        //当至少有一行有数据没有打完时,当前行才增加
                        if (m_objPrintContext.m_BlnHaveNextLine())
                        {
                            blnBeginPrintNewRecord = false;                          //当前记录没有打完
//							if(--m_intBlankCount == -1)
//								m_intBlankCount = -2;
                            --m_intBlankCount;
                            intNowRow++;                             //向下滚行
                        }
                    }
                    #endregion

                    #region 签名
                    //intNowRow++;
                    //if (intNowRow == (int)enmRecordRectangleInfo.RowLinesNum)
                    //{

                    //    e.HasMorePages = true;
                    //    intNowPage++;
                    //    return;

                    //}
                    //if (intNowRow == 2 && intNowPage != 0)
                    //    intNowRow = 1;
                    e.Graphics.DrawString(m_objPrintDataArr[intCurrentRecord].m_strSign, m_fotSmallFont, m_slbBrush, (int)enmRecordRectangleInfo.LeftX + (int)enmRecordRectangleInfo.ColumnsMark2 + 1,
                                          (int)enmRecordRectangleInfo.TopY + (int)enmRecordRectangleInfo.RowStep * intNowRow + 20); //+8);
                    blnBeginPrintNewRecord = true;                                                                                  //当前记录打完
                    intNowRow++;                                                                                                    //向下滚行
                    #endregion

                    #region 如果还没打印到指定记录,将之前的清空
//					if(intCurrentRecord < m_intFromRecord)
//					{
//						e.Graphics.Clear(Color.White);//清空
//
//						//如果这条记录刚好占一页
//						if(intNowRow>(int)enmRecordRectangleInfo.RowLinesNum)
//						{
//							//如果是指定记录的前一条,则先打印一空页(因为用户塞的是之前打印的那张纸)
//							if(intCurrentRecord == m_intFromRecord - 1)
//							{
//								intCurrentRecord++;
//								e.HasMorePages = true;
//								return;
//							}
//
//							//如果不是,则从这一页的顶端继续打,并且需要打页头和页脚
//							m_mthPrintTitleInfo(e);
//							m_mthPrintRectangleInfo(e);
//							intNowRow = 1;
//							//页脚//////////////////////////////////////////////////////////////
//							e.Graphics.DrawString("(第"+intNowPage.ToString()+"页)",m_fotSmallFont ,m_slbBrush,(int)enmRecordRectangleInfo.LeftX+(int)enmRecordRectangleInfo.ColumnsMark2 ,
//								(int)enmRecordRectangleInfo.TopY+(int)enmRecordRectangleInfo.RowStep*((int)enmRecordRectangleInfo.RowLinesNum+1)+10 );
//						}
//					}
                    #endregion

                    #region 是否换页打印

                    #endregion

                    m_intBlankCount = -1;
                    blnIsPrintDate  = false;
                    //检查下一页是否设置分页标志,如果设置分页则换页打印
                    if (intCurrentRecord < m_objPrintDataArr.Length)
                    {
                        if (intCurrentRecord == m_objPrintDataArr.Length - 1)
                        {
                            if (m_objPrintDataArr[intCurrentRecord].m_strPagiNation == "1")
                            {
                                intNowRow     += (int)enmRecordRectangleInfo.RowLinesNum;
                                e.HasMorePages = true;
//								intNowPage ++;
                            }
                        }
                        else
                        {
                            if (m_objPrintDataArr[intCurrentRecord + 1].m_strPagiNation == "1")
                            {
                                intNowRow     += (int)enmRecordRectangleInfo.RowLinesNum;
                                e.HasMorePages = true;
//								intNowPage ++;
                            }
                        }
                    }
                }

                #region 打印完毕,ReSet(复位)操作
                if (intCurrentRecord == m_objPrintDataArr.Length)
                {
                    intCurrentRecord       = 0;            //当前记录的序号复位,以备下一次打印操作
                    blnBeginPrintNewRecord = true;         //复位
                    intNowPage++;
//					intNowPage=0;//复位
                }
                #endregion                //打印完成,没下页了。因为在for循环中e.HasMorePages的值可能已被改为true
                e.HasMorePages = false;
            }
            catch (Exception err)
            {
                MDIParent.ShowInformationMessageBox(err.Message + "\r\n" + err.StackTrace);
            }
        }
Example #25
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <returns></returns>
        private new long m_lngSave()
        {
            long lngRes = 0;

            try
            {
                //获取服务器时间
                string strTimeNow = new clsPublicDomain().m_strGetServerTime();
                //从界面获取表单值
                clsGeneralNurseRecordContent_GXDetail objContent = new clsGeneralNurseRecordContent_GXDetail();
                objContent.m_strINPATIENTID         = strRecordInPatientID;
                objContent.m_dtmINPATIENTDATE       = DateTime.Parse(strRecordInPatientDate);
                objContent.m_dtmOPENDATE            = DateTime.Parse(strTimeNow);
                objContent.m_dtmMODIFYDATE          = DateTime.Parse(strTimeNow);
                objContent.m_dtmRECORDDATE          = DateTime.Parse(m_dtpCreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
                objContent.m_dtmCREATERECORDDATE    = DateTime.Parse(strTimeNow);
                objContent.m_strRECORDCONTENTAll    = m_txtRecordContent.Text;
                objContent.m_strRECORDCONTENT_RIGHT = m_txtRecordContent.m_strGetRightText();
                objContent.m_strRECORDCONTENTXML    = m_txtRecordContent.m_strGetXmlText();
                objContent.m_intClass = m_intGetClass(m_dtpCreateDate.Value);

                if (objContent.m_strRECORDCONTENT_RIGHT == null || objContent.m_strRECORDCONTENT_RIGHT == string.Empty)
                {
                    MDIParent.ShowInformationMessageBox("请填写病情记录内容");
                    return(0);
                }
                ////签名
                //foreach(Control ctlSub in this.Controls)
                //{
                //    if(ctlSub.Name=="m_txtEmpSign")
                //    {
                //        objContent.m_strMODIFYRECORDUSERID = ((clsEmployee)ctlSub.Tag).m_StrEmployeeID;
                //        objContent.m_strCREATERECORDUSERID=  ((clsEmployee)ctlSub.Tag).m_StrEmployeeID;
                //    }
                //}
                //获取签名
                objContent.m_strMODIFYRECORDUSERID = ((clsEmrEmployeeBase_VO)txtSign.Tag).m_strEMPNO_CHR;
                objContent.m_strCREATERECORDUSERID = ((clsEmrEmployeeBase_VO)txtSign.Tag).m_strEMPNO_CHR;

                strUserIDList   = "";
                strUserNameList = "";
                m_mthGetSignArr(new Control[] { txtSign }, ref objContent.objSignerArr, ref strUserIDList, ref strUserNameList);
                //objContent.objSignerArr = new clsEmrSigns_VO[1];
                //objContent.objSignerArr[0] = new clsEmrSigns_VO();
                //objContent.objSignerArr[0].objEmployee = new clsEmrEmployeeBase_VO();
                //objContent.objSignerArr[0].objEmployee = (clsEmrEmployeeBase_VO)(txtSign.Tag);
                //objContent.objSignerArr[0].controlName = "txtSign";
                //objContent.objSignerArr[0].m_strFORMID_VCHR = "frmGeneralNurseRecord_GXCon";//注意大小写
                //objContent.objSignerArr[0].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;

                clsGeneralNurseRecord_GXService objserv =
                    (clsGeneralNurseRecord_GXService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsGeneralNurseRecord_GXService));

                #region 多签名时验证所有签名者
                //数字签名
                //记录ID通常为 住院号+住院时间 || 住院号+记录时间 来识别唯一 格式 00000056-2005-10-10 10:20:20
                clsEmrDigitalSign_VO objSign_VO = new clsEmrDigitalSign_VO();
                objSign_VO.m_strFORMID_VCHR       = this.Name;
                objSign_VO.m_strFORMRECORDID_VCHR = objContent.m_strINPATIENTID.Trim() + "-" + objContent.m_dtmInPatientDate.ToString("yyyy-MM-dd HH:mm:ss");
                objSign_VO.m_strSIGNIDID_VCHR     = clsEMRLogin.LoginInfo.m_strEmpID;
                objSign_VO.m_strRegisterId        = m_strRegisterid;
                //objSign_VO.m_strRegisterId = m_objBaseCurrentPatient.m_StrRegisterId;
                if (objContent.objSignerArr != null)
                {
                    ArrayList objSignerArr = new ArrayList();
                    for (int i = 0; i < objContent.objSignerArr.Length; i++)
                    {
                        if (objContent.objSignerArr[i].controlName == "lsvSign" || objContent.objSignerArr[i].controlName == "txtSign")
                        {
                            objSignerArr.Add(objContent.objSignerArr[i].objEmployee);
                        }
                    }
                    clsCheckSignersController objCheck = new clsCheckSignersController(objSignerArr, false);
                    if (objCheck.CheckSigner(objContent, objSign_VO) == -1)
                    {
                        return(-1);
                    }
                }
                else
                {
                    objContent.m_strModifyUserID = MDIParent.OperatorID;
                    clsCheckSignersController objCheck = new clsCheckSignersController();
                    if (objCheck.m_lngSign(objContent, objSign_VO) == -1)
                    {
                        return(-1);
                    }
                }
                #endregion

                lngRes = objserv.m_lngAddNewDetail(objContent);
            }
            catch (Exception ex)
            {
                new com.digitalwave.Utility.clsLogText().LogDetailError(ex, false);
            }
            return(lngRes);
        }
Example #26
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <returns></returns>
        private new long m_lngSave()
        {
            long lngRes = 0;

            try
            {
                //获取服务器时间
                string strTimeNow = new clsPublicDomain().m_strGetServerTime();
                //从界面获取表单值
                clsGeneralNurseRecordContent_CSDetail objContent = new clsGeneralNurseRecordContent_CSDetail();
                objContent.m_strINPATIENTID         = strRecordInPatientID;
                objContent.m_dtmINPATIENTDATE       = DateTime.Parse(strRecordInPatientDate);
                objContent.m_dtmOPENDATE            = DateTime.Parse(strTimeNow);
                objContent.m_dtmMODIFYDATE          = DateTime.Parse(strTimeNow);
                objContent.m_dtmRECORDDATE          = DateTime.Parse(m_dtpCreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
                objContent.m_dtmCREATERECORDDATE    = DateTime.Parse(strTimeNow);
                objContent.m_strRECORDCONTENTAll    = m_txtRecordContent.Text;
                objContent.m_strRECORDCONTENT_RIGHT = m_txtRecordContent.m_strGetRightText();
                objContent.m_strRECORDCONTENTXML    = m_txtRecordContent.m_strGetXmlText();

                if (objContent.m_strRECORDCONTENT_RIGHT == null || objContent.m_strRECORDCONTENT_RIGHT == string.Empty)
                {
                    MDIParent.ShowInformationMessageBox("请填写病情记录内容");
                    return(0);
                }
                //获取签名
                objContent.m_strMODIFYRECORDUSERID = clsEMRLogin.LoginEmployee.m_strEMPID_CHR;
                objContent.m_strCREATERECORDUSERID = clsEMRLogin.LoginEmployee.m_strEMPID_CHR;

                if (lsvSign.Items.Count > 0)
                {
                    objContent.m_strRecordSignNameArr = new string[lsvSign.Items.Count];
                    objContent.m_strRecordSignIDArr   = new string[lsvSign.Items.Count];
                    for (int i = 0; i < lsvSign.Items.Count; i++)
                    {
                        objContent.m_strRecordSignNameArr[i] = lsvSign.Items[i].SubItems[0].Text.Split(' ').Length > 1 ? lsvSign.Items[i].SubItems[0].Text.Split(' ')[1] : lsvSign.Items[i].SubItems[0].Text;
                        objContent.m_strRecordSignIDArr[i]   = lsvSign.Items[i].SubItems[1].Text;
                    }
                }
                strUserIDList   = "";
                strUserNameList = "";
                m_mthGetSignArr(new Control[] { lsvSign }, ref objContent.objSignerArr, ref strUserIDList, ref strUserNameList);

                clsGeneralNurseRecord_CSService objserv =
                    (clsGeneralNurseRecord_CSService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsGeneralNurseRecord_CSService));

                #region 多签名时验证所有签名者
                //数字签名
                //记录ID通常为 住院号+住院时间 || 住院号+记录时间 来识别唯一 格式 00000056-2005-10-10 10:20:20
                clsEmrDigitalSign_VO objSign_VO = new clsEmrDigitalSign_VO();
                objSign_VO.m_strFORMID_VCHR       = this.Name;
                objSign_VO.m_strFORMRECORDID_VCHR = objContent.m_strINPATIENTID.Trim() + "-" + objContent.m_dtmInPatientDate.ToString("yyyy-MM-dd HH:mm:ss");
                objSign_VO.m_strSIGNIDID_VCHR     = clsEMRLogin.LoginInfo.m_strEmpID;
                objSign_VO.m_strRegisterId        = m_strRegisterid;
                if (objContent.objSignerArr != null)
                {
                    ArrayList objSignerArr = new ArrayList();
                    for (int i = 0; i < objContent.objSignerArr.Length; i++)
                    {
                        if (objContent.objSignerArr[i].controlName == "lsvSign" || objContent.objSignerArr[i].controlName == "txtSign")
                        {
                            objSignerArr.Add(objContent.objSignerArr[i].objEmployee);
                        }
                    }
                    clsCheckSignersController objCheck = new clsCheckSignersController(objSignerArr, false);
                    if (objCheck.CheckSigner(objContent, objSign_VO) == -1)
                    {
                        return(-1);
                    }
                }
                else
                {
                    objContent.m_strModifyUserID = MDIParent.OperatorID;
                    clsCheckSignersController objCheck = new clsCheckSignersController();
                    if (objCheck.m_lngSign(objContent, objSign_VO) == -1)
                    {
                        return(-1);
                    }
                }
                #endregion

                lngRes = objserv.m_lngAddNewDetail(objContent);
            }
            catch (Exception ex)
            {
                new com.digitalwave.Utility.clsLogText().LogDetailError(ex, false);
            }
            return(lngRes);
        }
Example #27
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <returns></returns>
        private long m_lngModify()
        {
            long lngRes = 0;

            try
            {
                //从界面获取表单值
                string strNow = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                clsGeneralNurseRecordContent_CSDetail objContent = new clsGeneralNurseRecordContent_CSDetail();
                objContent.m_strINPATIENTID         = strRecordInPatientID;
                objContent.m_dtmINPATIENTDATE       = DateTime.Parse(strRecordInPatientDate);
                objContent.m_dtmMODIFYDATE          = DateTime.Parse(strNow);
                objContent.m_dtmRECORDDATE          = m_dtpCreateDate.Value;
                objContent.m_dtmCREATERECORDDATE    = DateTime.Parse(strRecordCreateDate);
                objContent.m_strRECORDCONTENTAll    = m_txtRecordContent.Text;
                objContent.m_strRECORDCONTENT_RIGHT = m_txtRecordContent.m_strGetRightText();
                objContent.m_strRECORDCONTENTXML    = m_txtRecordContent.m_strGetXmlText();
                objContent.m_dtmOPENDATE            = DateTime.Parse(strNow);

                if (objContent.m_strRECORDCONTENT_RIGHT == null || objContent.m_strRECORDCONTENT_RIGHT == string.Empty)
                {
                    MDIParent.ShowInformationMessageBox("请填写病情观察、护理措施、效果的内容");
                    return(0);
                }

                //获取签名
                if (lsvSign.Items.Count > 0)
                {
                    objContent.m_strRecordSignNameArr = new string[lsvSign.Items.Count];
                    objContent.m_strRecordSignIDArr   = new string[lsvSign.Items.Count];
                    for (int i = 0; i < lsvSign.Items.Count; i++)
                    {
                        objContent.m_strRecordSignNameArr[i] = lsvSign.Items[i].SubItems[0].Text;
                        objContent.m_strRecordSignIDArr[i]   = lsvSign.Items[i].SubItems[1].Text;
                    }
                }
                //获取签名
                strUserIDList   = "";
                strUserNameList = "";
                m_mthGetSignArr(new Control[] { lsvSign }, ref objContent.objSignerArr, ref strUserIDList, ref strUserNameList);

                /*
                 * objContent.m_strMODIFYRECORDUSERID = ((clsEmrEmployeeBase_VO)txtSign.Tag).m_strEMPNO_CHR;
                 * objContent.objSignerArr = new clsEmrSigns_VO[1];
                 * objContent.objSignerArr[0] = new clsEmrSigns_VO();
                 * objContent.objSignerArr[0].objEmployee = new clsEmrEmployeeBase_VO();
                 * objContent.objSignerArr[0].objEmployee = (clsEmrEmployeeBase_VO)(txtSign.Tag);
                 * objContent.objSignerArr[0].controlName = "txtSign";
                 * objContent.objSignerArr[0].m_strFORMID_VCHR = "frmGeneralNurseRecord_CSCon";//注意大小写
                 * objContent.objSignerArr[0].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;
                 */
                clsGeneralNurseRecord_CSService objserv =
                    (clsGeneralNurseRecord_CSService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsGeneralNurseRecord_CSService));

                #region 多签名时验证所有签名者
                //电子签名
                //记录ID通常为 住院号+住院时间 || 住院号+记录时间 来识别唯一 格式 00000056-2005-10-10 10:20:20
                clsEmrDigitalSign_VO objSign_VO = new clsEmrDigitalSign_VO();
                objSign_VO.m_strFORMID_VCHR       = this.Name;
                objSign_VO.m_strFORMRECORDID_VCHR = objContent.m_strINPATIENTID.Trim() + "-" + objContent.m_dtmINPATIENTDATE.ToString("yyyy-MM-dd HH:mm:ss");
                objSign_VO.m_strSIGNIDID_VCHR     = clsEMRLogin.LoginInfo.m_strEmpID;
                objSign_VO.m_strRegisterId        = m_strRegisterid;
                clsCheckSignersController objCheck = new clsCheckSignersController();
                if (objCheck.m_lngSign(objContent, objSign_VO) == -1)
                {
                    return(-1);
                }

                #endregion

                lngRes = objserv.m_lngModifyDetail(objContent);
            }
            catch (Exception ex)
            {
                string strMsg = ex.Message;
            }
            return(lngRes);
        }