public long m_lngGetOperationDateArr(string p_strInPatientID, string p_strInPatientDate, out string [] objCreateDateArr)
        {
            string strXML  = "";
            int    intRows = 0;

            objCreateDateArr = null;

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

            long lngRes = 0;

            try
            {
                lngRes = m_objService.m_lngGetOperationDate(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, p_strInPatientID, p_strInPatientDate, out strXML, out intRows);

                objCreateDateArr = null;

                if (lngRes > 0 && intRows > 0)
                {
                    objCreateDateArr = new string[intRows];

                    XmlTextReader objReader = new XmlTextReader(strXML, XmlNodeType.Element, m_objXmlParser);
                    objReader.WhitespaceHandling = WhitespaceHandling.None;

                    int intIndex = 0;
                    while (objReader.Read())
                    {
                        switch (objReader.NodeType)
                        {
                        case XmlNodeType.Element:
                            if (objReader.HasAttributes)
                            {
                                objCreateDateArr[intIndex] = DateTime.Parse(objReader.GetAttribute("CREATEDATE")).ToString("yyyy-MM-dd HH:mm:ss");;
                                intIndex++;
                            }
                            break;
                        }
                    }
                }
                else
                {
                    objCreateDateArr = new string[0];
                }
            }
            finally
            {
                //m_objService.Dispose();
            }
            return(lngRes);
        }
        /// <summary>
        /// 更新当前病人当前创建时间上的首次打印时间,仅有一条记录
        /// </summary>
        public long m_lngUpdateFirstPrintDate(string p_strInPatientID, string p_strInPatientDate, string p_strCreateDate, string p_strFirstPrintDate)
        {        //更新第一次打印时间
            clsBeforeOperationSummaryService m_objService =
                (clsBeforeOperationSummaryService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsBeforeOperationSummaryService));

            long lngRes = 0;

            try
            {
                lngRes = m_objService.m_lngUpdateFirstPrintDate(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, p_strInPatientID, p_strInPatientDate, p_strCreateDate, p_strFirstPrintDate);
            }
            finally
            {
                //m_objService.Dispose();
            }
            return(lngRes);
        }
        public long m_lngDeleteRecord(string p_strInPatientID, string p_strInPatientDate, string p_strOpenDate)
        {
            clsBeforeOperationSummaryService m_objService =
                (clsBeforeOperationSummaryService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsBeforeOperationSummaryService));

            long lngRes = 0;

            try
            {
                lngRes = m_objService.m_lngDelete(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, p_strInPatientID, p_strInPatientDate, p_strOpenDate, MDIParent.OperatorID);
            }
            finally
            {
                //m_objService.Dispose();
            }
            return(lngRes);
        }
        /// <summary>
        /// 检查新增时是否第一次添加
        /// </summary>
        /// <param name="p_strInPatientID"></param>
        /// <param name="p_strInPatientDate"></param>
        /// <param name="p_strCreateDate"></param>
        /// <param name="p_blnIsAddNew"></param>
        /// <returns>
        /// 操作结果。
        /// 0,失败。
        /// 1,成功。
        /// </returns>
        public long m_lngCheckNewCreateDate(string p_strInPatientID, string p_strInPatientDate, string p_strCreateDate, out bool p_blnIsAddNew)
        {
            clsBeforeOperationSummaryService m_objService =
                (clsBeforeOperationSummaryService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsBeforeOperationSummaryService));

            long lngRes = 0;

            try
            {
                lngRes = m_objService.m_lngCheckNewCreateDate(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, p_strInPatientID, p_strInPatientDate, p_strCreateDate, out p_blnIsAddNew);
            }
            finally
            {
                //m_objService.Dispose();
            }
            return(lngRes);
        }
        public long m_lngModify(clsBeforeOperationSummaryInfo p_objMainInfo, clsBeforeOperationSummaryContentInfo p_objContentInfo)
        {
            string strMainXml    = m_strMakeNewMainXml(p_objMainInfo, false);
            string strContentXml = m_strMakeNewContentXml(p_objContentInfo, false);

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

            long lngRes = 0;

            try
            {
                lngRes = m_objService.m_lngModify(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, strMainXml, strContentXml);
            }
            finally
            {
                //m_objService.Dispose();
            }
            return(lngRes);
        }
        /// <summary>
        /// 最后修改时间
        /// </summary>
        /// <param name="p_strInPatientID"></param>
        /// <param name="p_strInPatientDate"></param>
        /// <param name="p_strCreateDate"></param>
        /// <param name="p_strLastModifyDate"></param>
        /// <param name="p_blnIsLast"></param>
        /// <returns></returns>
        public long m_lngGetLastModifyDate(string p_strInPatientID, string p_strInPatientDate, string p_strOpenDate, out string p_strLastModifyDate, out string strModifyUserID)
        {
            p_strLastModifyDate = "";
            strModifyUserID     = "";

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

            long lngRes = 0;

            try
            {
                lngRes = m_objService.m_lngCheckLastModifyDate(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, p_strInPatientID, p_strInPatientDate, p_strOpenDate, out p_strLastModifyDate, out strModifyUserID);
            }
            finally
            {
                //m_objService.Dispose();
            }
            return(lngRes);
        }
        ///查出时间对应的主表信息
        public long m_lngGetDeletedSummary_All(string p_strInPatientID, string p_strInPatientDate, string p_strCreateDate, out clsBeforeOperationSummary_All objclsBeforeOperationSummary_All)
        {
            objclsBeforeOperationSummary_All = null;
            string strXML  = "";
            int    intRows = 0;

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

            long lngRes = 0;

            try
            {
                lngRes = m_objService.m_lngGetDeletedSummaryInfo(clsLoginContext.s_ObjLoginContext.m_ObjPrincial, p_strInPatientID, p_strInPatientDate, p_strCreateDate, out strXML, out intRows);
                if (intRows > 0)
                {
                    objclsBeforeOperationSummary_All = new clsBeforeOperationSummary_All();
                    objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo        = new clsBeforeOperationSummaryInfo();
                    objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo = new clsBeforeOperationSummaryContentInfo();


                    XmlTextReader objReader = new XmlTextReader(strXML, XmlNodeType.Element, m_objXmlParser);
                    objReader.WhitespaceHandling = WhitespaceHandling.None;

                    while (objReader.Read())
                    {
                        switch (objReader.NodeType)
                        {
                        case XmlNodeType.Element:
                            if (objReader.HasAttributes)
                            {
                                objclsBeforeOperationSummary_All.m_strFirstPrintDate = objReader.GetAttribute("FIRSTPRINTDATE");        //首次打印时间

                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strInPatientID   = p_strInPatientID;
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strInPatientDate = p_strInPatientDate;
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strCreateDate    = p_strCreateDate;
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strOpenDate      = DateTime.Parse(objReader.GetAttribute("OPENDATE")).ToString("yyyy-MM-dd HH:mm:ss");

                                if (objReader.GetAttribute("FIRSTPRINTDATE") == "")
                                {
                                    objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strFirstPrintDate = "";
                                }
                                else
                                {
                                    objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strFirstPrintDate = DateTime.Parse(objReader.GetAttribute("FIRSTPRINTDATE")).ToString("yyyy-MM-dd HH:mm:ss");
                                }

                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strCreateID               = objReader.GetAttribute("CREATEID");
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strAfterNoticeXml         = objReader.GetAttribute("AFTERNOTICEXML").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strAnaesthesiaXml         = objReader.GetAttribute("ANAESTHESIAXML").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strBodyInfoXml            = objReader.GetAttribute("BODYINFOXML").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strConfirmReason          = objReader.GetAttribute("CONFIRMREASON").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strConfirmReasonXMLString = objReader.GetAttribute("CONFIRMREASONXMLSTRING").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strDiagnoseGistXml        = objReader.GetAttribute("DIAGNOSEGISTXML").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strDiagnoseXml            = objReader.GetAttribute("DIAGNOSEXML").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strDiscussNotionXml       = objReader.GetAttribute("DISCUSSNOTIONXML").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strPatientNotionXml       = objReader.GetAttribute("PATIENTNOTIONXML").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strPreparationXml         = objReader.GetAttribute("PREPARATIONXML").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryInfo.m_strSpecialHandleXml       = objReader.GetAttribute("SPECIALHANDLEXML").Replace('き', '\'');

                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strInPatientID       = p_strInPatientID;
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strInPatientDate     = p_strInPatientDate;
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strOpenDate          = objReader.GetAttribute("OPENDATE");
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strModifyUserID      = objReader.GetAttribute("MODIFYUSERID");
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strModifyDate        = DateTime.Parse(objReader.GetAttribute("MODIFYDATE")).ToString("yyyy-MM-dd HH:mm:ss");
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strOperateDoctorID   = objReader.GetAttribute("OPERATEDOCTORID");
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strChargeDoctorID    = objReader.GetAttribute("CHARGEDOCTORID");
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strOperateDoctorName = objReader.GetAttribute("OPERATEDOCTORNAME").Replace('き', '\'').Trim();
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strChargeDoctorName  = objReader.GetAttribute("CHARGEDOCTORNAME").Replace('き', '\'').Trim();

                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strDiagnose      = objReader.GetAttribute("DIAGNOSE").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strDiagnoseGist  = objReader.GetAttribute("DIAGNOSEGIST").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strBodyInfo      = objReader.GetAttribute("BODYINFO").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strSpecialHandle = objReader.GetAttribute("SPECIALHANDLE").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strPreparation   = objReader.GetAttribute("PREPARATION").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strPatientNotion = objReader.GetAttribute("PATIENTNOTION").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strAnaesthesia   = objReader.GetAttribute("ANAESTHESIA").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strAfterNotice   = objReader.GetAttribute("AFTERNOTICE").Replace('き', '\'');
                                objclsBeforeOperationSummary_All.m_objclsBeforeOperationSummaryContentInfo.m_strDiscussNotion = objReader.GetAttribute("DISCUSSNOTION").Replace('き', '\'');
                            }
                            break;
                        }
                    }
                }
            }
            finally
            {
                //m_objService.Dispose();
            }
            return(lngRes);
        }