Esempio n. 1
0
        /// <summary>
        /// 获取
        /// </summary>
        private void m_GetDataFromDB()
        {
            long lngRes = 0;

            try
            {
                clsIntensivetendRecordContent_CSDetail objDetail = null;
                clsIntensivetendRecord_CSService       objserv   =
                    (clsIntensivetendRecord_CSService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsIntensivetendRecord_CSService));

                lngRes = objserv.m_lngGetRecordContent(strRecordInPatientID, strRecordInPatientDate, strRecordCreateDate, out objDetail);
                //objserv.Dispose();
                if (objDetail == null)
                {
                    return;
                }
                //赋值到表单
                m_txtRecordContent.m_mthSetNewText(objDetail.m_strRECORDCONTENTAll, objDetail.m_strRECORDCONTENTXML);
                m_dtpCreateDate.Value = objDetail.m_dtmRECORDDATE;
                m_mthAddSignToListView(lsvSign, objDetail.objSignerArr);
                m_mthSetModifyControl(objDetail.m_strCREATERECORDUSERID, false);
                this.m_dtpCreateDate.Enabled   = false;
                m_cmdModifyPatientInfo.Visible = false;
            }
            catch (Exception ex)
            {
                string strMsg = ex.Message;
            }
        }
Esempio n. 2
0
        protected override void m_mthSetSelectedDeletedRecord(clsPatient p_objSelectedPatient,
                                                              string p_strOpenDate)
        {
            //检查参数
            if (p_objSelectedPatient == null || p_strOpenDate == null || p_strOpenDate == "")
            {
                return;
            }

            clsIntensivetendRecordContent_CSDetail objContent;

            clsIntensivetendRecord_CSService objITRServ =
                (clsIntensivetendRecord_CSService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsIntensivetendRecord_CSService));

            //获取记录
            long lngRes = objITRServ.m_lngGetDelRecordContentWithInpatient(p_objSelectedPatient.m_StrInPatientID, p_objSelectedPatient.m_DtmSelectedInDate.ToString("yyyy-MM-dd HH:mm:ss"), p_strOpenDate, out objContent);

            //objITRServ.Dispose();
            if (lngRes <= 0 || objContent == null)
            {
                return;
            }


            //设置当前记录及记录时间
            m_objCurrentPatient = p_objSelectedPatient;
            txtInPatientID.Text = this.m_objCurrentPatient.m_StrHISInPatientID;

            m_mthSetDeletedGUIFromContent(objContent);
        }
Esempio n. 3
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);
        }
Esempio n. 4
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <returns></returns>
        private new long m_lngSave()
        {
            long lngRes = 0;

            try
            {
                //获取服务器时间
                string strTimeNow = new clsPublicDomain().m_strGetServerTime();
                //从界面获取表单值
                clsIntensivetendRecordContent_CSDetail objContent = new clsIntensivetendRecordContent_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;
                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;
                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);
        }