コード例 #1
0
        protected long m_lngAddNewRecord()
        {
            //获取服务器时间
            string strTimeNow = new clsPublicDomain().m_strGetServerTime();

            //从界面获取记录信息
            clsTrackRecordContent[] objContent = m_objGetSaveData();

            //界面输入值出错
            if (objContent == null)
            {
                return(-1);
            }
            //确定证书 此步很重要
            clsDigitalSign.SetStaticCerts();
            clsCheckSignersController objCheck = new clsCheckSignersController();

            try
            {
                this.Cursor = Cursors.WaitCursor;
                //循环保存
                for (int i = 0; i < objContent.Length; i++)
                {
                    //释放资源响应其他事件
                    if (objContent[i] != null)
                    {
                        Application.DoEvents();

                        //设置 clsTrackRecordContent 的信息(使用服务器时间设置m_dtmOpenDate和m_dtmModifyDate)
                        objContent[i].m_dtmOpenDate   = DateTime.Parse(strTimeNow);
                        objContent[i].m_dtmModifyDate = DateTime.Parse(strTimeNow);

                        objContent[i].m_bytIfConfirm  = 0;
                        objContent[i].m_bytStatus     = 0;
                        objContent[i].m_dtmCreateDate = m_dtpCreateDate.Value;
                        if (m_dtRecords.Rows[i]["InDate"].ToString().Trim() == "")
                        {
                            objContent[i].m_dtmInPatientDate = DateTime.Parse("1900-01-01 01:01:01");
                        }
                        else
                        {
                            objContent[i].m_dtmInPatientDate = DateTime.Parse(m_dtRecords.Rows[i]["InDate"].ToString().Trim());
                        }
                        objContent[i].m_strConfirmReason    = "";
                        objContent[i].m_strConfirmReasonXML = "";
                        objContent[i].m_strCreateUserID     = MDIParent.OperatorID;
                        //objContent[i].m_strInPatientID=m_objCurrentPatient.m_StrInPatientID;
                        objContent[i].m_strInPatientID = m_dtRecords.Rows[i]["InPatientID"].ToString().Trim();
                        objContent[i].m_strRegisterID  = m_dtRecords.Rows[i]["registerid"].ToString();

                        //签名
                        objContent[i].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[i].m_strInPatientID.Trim() + "-" + objContent[i].m_dtmInPatientDate.ToString("yyyy-MM-dd HH:mm:ss");;
                        objSign_VO.m_strSIGNIDID_VCHR     = clsEMRLogin.LoginInfo.m_strEmpID;
                        objSign_VO.m_strRegisterId        = objContent[i].m_strRegisterID;
                        if (objCheck.CheckSigner(objContent, objSign_VO, 0) == -1)
                        {
                            return(-1);
                        }

                        //保存记录
                        clsPreModifyInfo objModifyInfo = null;
                        long             lngRes        = m_objDiseaseTrackDomain.m_lngAddNewRecord(objContent[i], out objModifyInfo);
                    }
                }
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }


            //返回结果
            return(1);
        }
コード例 #2
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);
        }
コード例 #3
0
        /// <summary>
        /// 修改数据
        /// </summary>
        /// <returns></returns>
        protected override long m_lngSubModify()
        {
            long lngRes = 0;

            clsMiniBloodSugarChk_GXServ objservice =
                (clsMiniBloodSugarChk_GXServ)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsMiniBloodSugarChk_GXServ));

            try
            {
                #region 获取内容
                //获取内容
                m_objRecord.m_strInPatientID      = strRecordInPatientID;
                m_objRecord.m_dtmInPatientDate    = DateTime.Parse(strRecordInPatientDate);
                m_objRecord.m_dtmOpenDate         = m_dtpCreateDate.Value; //记录时间取窗体上控件值
                m_objRecord.m_dtmCreateDate       = DateTime.Now;          //创建时间取当前时间
                m_objRecord.m_strCreateUserID     = clsEMRLogin.LoginInfo.m_strEmpID;
                m_objRecord.m_dtmModifyDate       = DateTime.Now;
                m_objRecord.m_strMeatType         = cmbMealType.Text;
                m_objRecord.m_strBloodSugar_Right = m_txtValue.m_strGetRightText();
                m_objRecord.m_strBloodSugar       = m_txtValue.Text;
                m_objRecord.m_strBloodSugarXML    = m_txtValue.m_strGetXmlText();
                m_objRecord.m_strDescription      = m_txtDesription.Text;

                //获取lsvsign签名
                m_objRecord.objSignerArr = new clsEmrSigns_VO[1];
                strUserIDList            = "";
                strUserNameList          = "";
                m_mthGetSignArr(new Control[] { txtSign }, ref m_objRecord.objSignerArr, ref strUserIDList, ref strUserNameList);
                //for (int i = 0; i < 1; i++)
                //{
                //    m_objRecord.objSignerArr[i] = new clsEmrSigns_VO();
                //    m_objRecord.objSignerArr[i].objEmployee = new clsEmrEmployeeBase_VO();
                //    m_objRecord.objSignerArr[i].objEmployee = (clsEmrEmployeeBase_VO)(txtSign.Tag);
                //    m_objRecord.objSignerArr[i].controlName = "txtSign";
                //    m_objRecord.objSignerArr[i].m_strFORMID_VCHR = "frmMiniBooldSugarContent";//注意大小写
                //    m_objRecord.objSignerArr[i].m_strREGISTERID_CHR = com.digitalwave.emr.BEDExplorer.frmHRPExplorer.objpCurrentPatient.m_strREGISTERID_CHR;
                //    //痕迹格式 0972,0324,

                //    strUserIDList = strUserIDList + m_objRecord.objSignerArr[i].objEmployee.m_strEMPID_CHR.Trim() + ",";
                //    strUserNameList = strUserNameList + m_objRecord.objSignerArr[i].objEmployee.m_strLASTNAME_VCHR.Trim() + ",";
                //}
                m_objRecord.m_strModifyUserID = strUserIDList;
                #endregion

                ArrayList objSignerArr = new ArrayList();
                for (int i = 0; i < m_objRecord.objSignerArr.Length; i++)
                {
                    if (m_objRecord.objSignerArr[i].controlName == "lsvSign" || m_objRecord.objSignerArr[i].controlName == "txtSign")
                    {
                        objSignerArr.Add(m_objRecord.objSignerArr[i].objEmployee);
                    }
                }
                //数字签名
                //记录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 = m_objRecord.m_strInPatientID.Trim() + "-" + m_objRecord.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(objSignerArr, false);
                if (objCheck.CheckSigner(m_objRecord, objSign_VO) == -1)
                {
                    return(-1);
                }
                //保存记录
                clsPreModifyInfo objModifyInfo = null;
                lngRes = objservice.m_lngModifyRecoed(null, m_objRecord);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                objservice = null;
            }

            return(lngRes);
        }
コード例 #4
0
        /// <summary>
        /// 从界面获取特殊记录的值。如果界面值出错,返回null。

        /// </summary>
        /// <returns></returns>
        protected clsICUNurseStatisticsValue m_objGetContentFromGUI()
        {
            clsICUNurseStatisticsValue objValue = new clsICUNurseStatisticsValue();

            objValue.m_strLIQUID1       = m_txtIN1.Text;
            objValue.m_strLIQUID1_RIGHT = m_txtIN1.m_strGetRightText();
            objValue.m_strLIQUID1XML    = m_txtIN1.m_strGetXmlText();

            objValue.m_strLIQUID2       = m_txtIN2.Text;
            objValue.m_strLIQUID2_RIGHT = m_txtIN2.m_strGetRightText();
            objValue.m_strLIQUID2XML    = m_txtIN2.m_strGetXmlText();

            objValue.m_strLIQUID3       = m_txtIN3.Text;
            objValue.m_strLIQUID3_RIGHT = m_txtIN3.m_strGetRightText();
            objValue.m_strLIQUID3XML    = m_txtIN3.m_strGetXmlText();

            objValue.m_strLIQUID4       = m_txtIN4.Text;
            objValue.m_strLIQUID4_RIGHT = m_txtIN4.m_strGetRightText();
            objValue.m_strLIQUID4XML    = m_txtIN4.m_strGetXmlText();

            objValue.m_strLIQUID5       = m_txtIN5.Text;
            objValue.m_strLIQUID5_RIGHT = m_txtIN5.m_strGetRightText();
            objValue.m_strLIQUID5XML    = m_txtIN5.m_strGetXmlText();

            objValue.m_strFBOOL       = m_txtIN6.Text;
            objValue.m_strFBOOL_RIGHT = m_txtIN6.m_strGetRightText();
            objValue.m_strFBOOLXML    = m_txtIN6.m_strGetXmlText();

            objValue.m_strPLASMA       = m_txtIN7.Text;
            objValue.m_strPLASMA_RIGHT = m_txtIN7.m_strGetRightText();
            objValue.m_strPLASMAXML    = m_txtIN7.m_strGetXmlText();

            objValue.m_strNOSE1       = m_txtIN8.Text;
            objValue.m_strNOSE1_RIGHT = m_txtIN8.m_strGetRightText();
            objValue.m_strNOSE1XML    = m_txtIN8.m_strGetXmlText();

            objValue.m_strNOSE2       = m_txtIN9.Text;
            objValue.m_strNOSE2_RIGHT = m_txtIN9.m_strGetRightText();
            objValue.m_strNOSE2XML    = m_txtIN9.m_strGetXmlText();

            objValue.m_strINTOTAL       = m_txtIN10.Text;
            objValue.m_strINTOTAL_RIGHT = m_txtIN10.m_strGetRightText();
            objValue.m_strINTOTALXML    = m_txtIN10.m_strGetXmlText();

            objValue.m_strDRAIN1       = m_txtOUT1.Text;
            objValue.m_strDRAIN1_RIGHT = m_txtOUT1.m_strGetRightText();
            objValue.m_strDRAIN1XML    = m_txtOUT1.m_strGetXmlText();

            objValue.m_strDRAIN2       = m_txtOUT2.Text;
            objValue.m_strDRAIN2_RIGHT = m_txtOUT2.m_strGetRightText();
            objValue.m_strDRAIN2XML    = m_txtOUT2.m_strGetXmlText();

            objValue.m_strDRAIN3       = m_txtOUT3.Text;
            objValue.m_strDRAIN3_RIGHT = m_txtOUT3.m_strGetRightText();
            objValue.m_strDRAIN3XML    = m_txtOUT3.m_strGetXmlText();

            objValue.m_strDRAIN4       = m_txtOUT4.Text;
            objValue.m_strDRAIN4_RIGHT = m_txtOUT4.m_strGetRightText();
            objValue.m_strDRAIN4XML    = m_txtOUT4.m_strGetXmlText();

            objValue.m_strDRAIN5       = m_txtOUT5.Text;
            objValue.m_strDRAIN5_RIGHT = m_txtOUT5.m_strGetRightText();
            objValue.m_strDRAIN5XML    = m_txtOUT5.m_strGetXmlText();

            objValue.m_strSTOOL       = m_txtOUT6.Text;
            objValue.m_strSTOOL_RIGHT = m_txtOUT6.m_strGetRightText();
            objValue.m_strSTOOLXML    = m_txtOUT6.m_strGetXmlText();

            objValue.m_strPISS       = m_txtOUT7.Text;
            objValue.m_strPISS_RIGHT = m_txtOUT7.m_strGetRightText();
            objValue.m_strPISSXML    = m_txtOUT7.m_strGetXmlText();

            objValue.m_strOUTTOTAL       = m_txtOUT8.Text;
            objValue.m_strOUTTOTAL_RIGHT = m_txtOUT8.m_strGetRightText();
            objValue.m_strOUTTOTALXML    = m_txtOUT8.m_strGetXmlText();

            objValue.m_dtmSTATISTICSEND_DAT   = Convert.ToDateTime(m_dtpCreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
            objValue.m_dtmSTATISTICSSTART_DAT = Convert.ToDateTime(m_dtpLastStatTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));

            if (chkModifyWithoutMatk.Checked)
            {
                objValue.m_intMarkStatus = 0;
            }
            else
            {
                objValue.m_intMarkStatus = 1;
            }

            strUserIDList   = "";
            strUserNameList = "";
            m_mthGetSignArr(new Control[] { lsvSign }, ref objValue.objSignerArr, ref strUserIDList, ref strUserNameList);

            #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 = m_objBaseCurrentPatient.m_StrInPatientID.Trim() + "-" + m_objBaseCurrentPatient.m_DtmSelectedInDate.ToString("yyyy-MM-dd HH:mm:ss");
            objSign_VO.m_strSIGNIDID_VCHR     = clsEMRLogin.LoginInfo.m_strEmpID;
            objSign_VO.m_strRegisterId        = m_objBaseCurrentPatient.m_StrRegisterId;

            if (objValue.objSignerArr != null)
            {
                ArrayList objSignerArr = new ArrayList();
                for (int i = 0; i < objValue.objSignerArr.Length; i++)
                {
                    if (objValue.objSignerArr[i].controlName == "lsvSign")
                    {
                        objSignerArr.Add(objValue.objSignerArr[i].objEmployee);
                    }
                }
                clsCheckSignersController objCheck = new clsCheckSignersController(objSignerArr, false);
                if (objCheck.CheckSigner(objValue, objSign_VO) == -1)
                {
                    return(null);
                }
            }
            else
            {
                objValue.m_strModifyUserID = MDIParent.OperatorID;
                clsCheckSignersController objCheck = new clsCheckSignersController();
                if (objCheck.m_lngSign(objValue, objSign_VO) == -1)
                {
                    return(null);
                }
            }
            #endregion

            return(objValue);
        }
コード例 #5
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <returns></returns>
        private new long m_lngSave()
        {
            long lngRes = 0;

            try
            {
                //获取服务器时间
                string strTimeNow = new clsPublicDomain().m_strGetServerTime();
                //从界面获取表单值
                clsIntensiveTendRecordDetail_GX objContent = new clsIntensiveTendRecordDetail_GX();
                objContent.m_strInPatientID      = strRecordInPatientID;
                objContent.m_dtmInPatientDate    = DateTime.Parse(strRecordInPatientDate);
                objContent.m_dtmOpenDate         = DateTime.Parse(strTimeNow);
                objContent.m_dtmModifyDate       = DateTime.Parse(strTimeNow);
                objContent.m_dtmDETAILRECORDDATE = Convert.ToDateTime(m_dtpCreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
                objContent.m_dtmCreateDate       = DateTime.Parse(strTimeNow);
                objContent.m_strDETAILCONTENT    = m_txtRecordContent.Text;
                objContent.m_strDETAILCONTENTXML = m_txtRecordContent.m_strGetXmlText();
                objContent.m_intSTAT_STATUS      = m_intGetClass(m_dtpCreateDate.Value);

                objContent.m_strModifyUserID = MDIParent.OperatorID;
                objContent.m_strCreateUserID = MDIParent.OperatorID;

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

                ////签名
                //if(m_txtSign.Tag != null)
                //{

                //    objContent.m_strDETAILSIGNID=((clsEmployee)m_txtSign.Tag).m_StrEmployeeID;
                //    objContent.m_strDETAILSIGNNAME=m_txtSign.Text;
                //}
                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 多签名时验证所有签名者 并保存
                //数字签名
                //记录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;

                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

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


                lngRes = objserv.m_lngAddNewDetail(objContent);
            }
            catch (Exception ex)
            {
                string strMsg = ex.Message;
            }
            return(lngRes);
        }
コード例 #6
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);
        }