Ejemplo n.º 1
0
        protected override void m_mthSetSelectedDeletedRecord(clsPatient p_objSelectedPatient,
                                                              string p_strOpenDate)
        {
            //检查参数
            if (p_objSelectedPatient == null || p_strOpenDate == null || p_strOpenDate == "")
            {
                return;
            }

            clsGeneralNurseRecordContent_GXDetail objContent;

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

            //获取记录
            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);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取
        /// </summary>
        private void m_GetDataFromDB()
        {
            long lngRes = 0;

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

                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_mthAddSignToTextBoxByEmpNo(new TextBoxBase[] { txtSign, }, new string[] { objDetail.m_strCREATERECORDUSERID }, new bool[] { 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(objDetail.m_strCREATERECORDUSERID.Trim(), out objSign);
                //if (objSign != null)
                //{
                //    txtSign.Text = objSign.m_strLASTNAME_VCHR;
                //    txtSign.Tag = objSign;
                //}
                //this.txtSign.Enabled = false;

                m_mthSetModifyControl(objDetail.m_strCREATERECORDUSERID, false);
                this.m_dtpCreateDate.Enabled = false;
            }
            catch (Exception ex)
            {
                string strMsg = ex.Message;
            }
        }
Ejemplo 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");
                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);
        }
Ejemplo n.º 4
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);
        }