Пример #1
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <returns></returns>
        private long m_lngSaveNew()
        {
            clsPartogram_VO obj_VO = m_objGetValueFromGui();

            if (obj_VO.m_ObjPointArr != null)
            {
                for (int i = 0; i < obj_VO.m_ObjPointArr.Length; i++)
                {
                    int intMinute = obj_VO.m_ObjPointArr[i].m_dtmCheckDate.Minute;
                    obj_VO.m_ObjPointArr[i].m_dtmCheckDate = obj_VO.m_ObjPointArr[i].m_dtmCheckDate.Date.AddHours(obj_VO.m_intPARTOGRAM_INT).AddMinutes(intMinute);
                }
            }
            string strRecordID = m_objBaseCurrentPatient.m_StrInPatientID.Trim() + "-" + obj_VO.m_dtmCREATEDATE_DAT;

            if (m_lngCheckSign(obj_VO, obj_VO.m_intMarkStatus == 0, obj_VO.objSignerArr, strRecordID) == -1)
            {
                return(-1);
            }
            //数字签名 兼容考虑
            //记录ID通常为 住院号+住院时间 || 住院号+记录时间 来识别唯一 格式 00000056-2005-10-10 10:20:20
            //string strRecordID = m_objBaseCurrentPatient.m_StrInPatientID.Trim() + "-" + m_objBaseCurrentPatient.m_DtmSelectedInDate.ToString("yyyy-MM-dd HH:mm:ss");
            //clsCheckSignersController objCheck = new clsCheckSignersController();
            //if (objCheck.m_lngSign(obj_VO, this.Name, strRecordID, clsEMRLogin.LoginInfo.m_strEmpID) == -1)
            //    return -1;

            long lngRes = m_objDomain.m_lngAddNewSub(obj_VO);

            if (lngRes > 0)
            {
                m_blnIsNew = false;
                m_obj_VO   = obj_VO;
            }
            return(lngRes);
        }
Пример #2
0
        // <summary>
        /// 清空特殊记录信息,并重置记录控制状态为不控制。
        /// </summary>
        private void m_mthClearRecordInfo()
        {
            m_arlDeletePoint.Clear();
            m_obj_VO = null;
            //清空记录内容
            m_txtProsses.m_mthClearText();
            m_numDown.Value   = 0;
            m_numUtricm.Value = 0;
            m_txtFe.m_mthClearValue();
            m_txtMin1.m_mthClearValue();
            m_txtMin2.m_mthClearValue();
            m_txtDiastolicPressure.m_mthClearValue();
            m_txtUterineContraction.m_mthClearValue();
            m_txtSystolicPressure.m_mthClearValue();
            m_txtUterineContractionMin.m_mthClearValue();
            m_lsvU.Items.Clear();
            m_lsvDown.Items.Clear();

            m_blnIsNew      = true;
            m_intSelectHour = -1;
            m_cboHours.Items.Clear();
            m_strRegisterId  = string.Empty;
            m_dtmCreatedDate = DateTime.MinValue;

            m_dtmCheckDate = DateTime.Now;

            m_mthSetModifyControl(null, true);
            //默认签名
            clsPublicFunction.m_mthSetDefaulEmployee(lsvSign);
        }
Пример #3
0
 private void m_dtpCheckDate_ValueChanged(object sender, EventArgs e)
 {
     if (string.IsNullOrEmpty(m_strRegisterId))
     {
         return;
     }
     if (m_dtpCheckDate.Value.ToString("yyyy-MM-dd HH") != m_dtmCheckDate.ToString("yyyy-MM-dd HH") || m_dtmCheckDate == DateTime.MinValue)
     {
         clsPartogram_VO objContent = null;
         long            lngRes     = m_objDomain.m_lngGetOneHourValues(m_strRegisterId, m_dtpCheckDate.Value.Hour, out objContent);
         if (lngRes > 0 && objContent != null)
         {
             if (objContent.m_dtmCHECKDATE_DAT.Date == m_dtpCheckDate.Value.Date)
             {
                 if (MessageBox.Show(this, "当前所选检查时间的" + m_dtpCheckDate.Value.Hour + "小时的记录已经存在,是否刷新显示" + m_dtpCheckDate.Value.Hour + "小时记录?\n\r刷新选'是',重新选择检查时间选'否'.", "温馨提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                 {
                     m_mthClearRecordInfo();
                     m_mthSetValuesToGui(objContent);
                     m_mthSetModifyControl(null, false);
                 }
                 else
                 {
                     m_dtpCheckDate.Value = m_dtmCheckDate;
                 }
             }
         }
         //else
         //{
         DateTime dtm = new clsPublicDomain().m_dtmGetServerTime();
         for (int i = 0; i < m_lsvDown.Items.Count; i++)
         {
             if (m_lsvDown.Items[i].Tag is clsPartogram_Point)
             {
                 clsPartogram_Point objPoint = (clsPartogram_Point)m_lsvDown.Items[i].Tag;
                 objPoint.m_dtmCheckDate      = DateTime.Parse(m_dtpCheckDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
                 objPoint.m_dtmMODIFYDATE_DAT = dtm;
                 objPoint.m_intPARTOGRAM_INT  = m_dtpCheckDate.Value.Hour;
                 objPoint.m_intSTATUS_INT     = 2;
                 m_lsvDown.Items[i].Tag       = objPoint;
             }
             m_lsvDown.Items[i].Text = m_dtpCheckDate.Value.ToString("HH:mm");
         }
         for (int i = 0; i < m_lsvU.Items.Count; i++)
         {
             if (m_lsvU.Items[i].Tag is clsPartogram_Point)
             {
                 clsPartogram_Point objPoint = (clsPartogram_Point)m_lsvU.Items[i].Tag;
                 objPoint.m_dtmCheckDate      = DateTime.Parse(m_dtpCheckDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
                 objPoint.m_dtmMODIFYDATE_DAT = dtm;
                 objPoint.m_intPARTOGRAM_INT  = m_dtpCheckDate.Value.Hour;
                 objPoint.m_intSTATUS_INT     = 2;
                 m_lsvU.Items[i].Tag          = objPoint;
             }
             m_lsvU.Items[i].Text = m_dtpCheckDate.Value.ToString("HH:mm");
         }
         //}
     }
 }
Пример #4
0
        /// <summary>
        /// 修改一个小时的记录
        /// </summary>
        /// <param name="p_objSub"></param>
        /// <returns></returns>
        public long m_lngModifySub(clsPartogram_VO p_objSub, int p_intPartogarm)
        {
            clsPartogramService objServ =
                (clsPartogramService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsPartogramService));

            long lngRes = objServ.m_lngModifySub(null, p_objSub, p_intPartogarm);

            return(lngRes);
        }
Пример #5
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <returns></returns>
        private long m_lngModifyOld()
        {
            clsPartogram_VO obj_VO = m_objGetValueFromGui();

            if (m_dtpCheckDate.Value.Hour != m_dtmCheckDate.Hour)
            {
                DialogResult dr = MessageBox.Show(this, "    是否将当天第'" + m_dtmCheckDate.Hour + "'小时的内容保存到第" + m_dtpCheckDate.Value.Hour + "'小时?\n\r继续保存选'是',按原时间保存选'否',取消重新编辑选'取消'", "温馨提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
                if (dr == DialogResult.Cancel)
                {
                    return(-10);
                }
                else if (dr == DialogResult.No)
                {
                    obj_VO.m_dtmCHECKDATE_DAT = m_dtmCheckDate;
                    obj_VO.m_intPARTOGRAM_INT = m_dtmCheckDate.Hour;
                }
                if (obj_VO.m_ObjPointArr != null)
                {
                    for (int i = 0; i < obj_VO.m_ObjPointArr.Length; i++)
                    {
                        int intMinute = obj_VO.m_ObjPointArr[i].m_dtmCheckDate.Minute;
                        obj_VO.m_ObjPointArr[i].m_dtmCheckDate = obj_VO.m_ObjPointArr[i].m_dtmCheckDate.Date.AddHours(obj_VO.m_intPARTOGRAM_INT).AddMinutes(intMinute);
                        if (obj_VO.m_ObjPointArr[i].m_intSTATUS_INT == 1)
                        {
                            obj_VO.m_ObjPointArr[i].m_intSTATUS_INT = 2;
                        }
                    }
                }
            }
            obj_VO.m_strCREATEUSERID_CHR = m_obj_VO.m_strCREATEUSERID_CHR;
            obj_VO.m_dtmCREATEDATE_DAT   = m_obj_VO.m_dtmCREATEDATE_DAT;
            string strRecordID = m_objBaseCurrentPatient.m_StrInPatientID.Trim() + "-" + obj_VO.m_dtmCREATEDATE_DAT;

            if (m_lngCheckSign(obj_VO, obj_VO.m_intMarkStatus == 0, obj_VO.objSignerArr, strRecordID) == -1)
            {
                return(-1);
            }
            //数字签名 兼容考虑
            //记录ID通常为 住院号+住院时间 || 住院号+记录时间 来识别唯一 格式 00000056-2005-10-10 10:20:20
            //string strRecordID = m_objBaseCurrentPatient.m_StrInPatientID.Trim() + "-" + m_objBaseCurrentPatient.m_DtmSelectedInDate.ToString("yyyy-MM-dd HH:mm:ss");
            //clsCheckSignersController objCheck = new clsCheckSignersController();
            //if (objCheck.m_lngSign(obj_VO, this.Name, strRecordID, clsEMRLogin.LoginInfo.m_strEmpID) == -1)
            //    return -1;

            long lngRes = m_objDomain.m_lngModifySub(obj_VO, m_dtmCheckDate.Hour);

            m_obj_VO = obj_VO;
            return(lngRes);
        }
Пример #6
0
        /// <summary>
        /// 获取记录
        /// </summary>
        private void m_mthGetRecord()
        {
            if (string.IsNullOrEmpty(m_strRegisterId) || m_dtmCreatedDate == DateTime.MinValue)
            {
                return;
            }
            clsPartogram_VO obj_VO = null;
            long            lngRes = m_objDomain.m_lngGetOneHourValues(m_strRegisterId, m_dtmCheckDate.Hour, out obj_VO);

            if (lngRes <= 0 || obj_VO == null)
            {
                return;
            }
            m_mthSetValuesToGui(obj_VO);
            m_mthSetModifyControl(null, false);
        }
Пример #7
0
 /// <summary>
 /// 添加记录到界面
 /// </summary>
 /// <param name="p_obj_VO"></param>
 private void m_mthSetValuesToGui(clsPartogram_VO p_obj_VO)
 {
     m_strRegisterId      = p_obj_VO.m_strREGISTERID_CHR;
     m_dtpCheckDate.Value = p_obj_VO.m_dtmCHECKDATE_DAT;
     m_dtmCreatedDate     = p_obj_VO.m_dtmCREATEDATE_DAT;
     m_dtmCheckDate       = p_obj_VO.m_dtmCHECKDATE_DAT;
     m_txtProsses.m_mthSetNewText(p_obj_VO.m_strPROCESS_VCHR, p_obj_VO.m_strPROCESS_XML_VCHR);
     m_txtDiastolicPressure.m_mthSetValue(p_obj_VO.m_intDIASTOLICPRESSURE_INT.ToString());
     m_txtSystolicPressure.m_mthSetValue(p_obj_VO.m_intSYSTOLICPRESSURE_INT.ToString());
     m_txtUterineContraction.m_mthSetValue(p_obj_VO.m_intUTERINECONTRACTION_INT.ToString());
     m_txtUterineContractionMin.m_mthSetValue(p_obj_VO.m_intUTERINECONTRACTIONMIN_INT.ToString());
     m_txtFe.m_mthSetValue(p_obj_VO.m_intFETALRHYTHM_INT.ToString());
     m_mthAddSignToListView(lsvSign, p_obj_VO.objSignerArr);
     m_intSelectHour = p_obj_VO.m_dtmCHECKDATE_DAT.Hour;
     if (p_obj_VO.m_ObjPointArr != null)
     {
         ListViewItem item = null;
         for (int i = 0; i < p_obj_VO.m_ObjPointArr.Length; i++)
         {
             item = new ListViewItem(p_obj_VO.m_ObjPointArr[i].m_dtmCheckDate.ToString("HH:mm"));
             item.SubItems.Add(p_obj_VO.m_ObjPointArr[i].m_fltPointValue_INT.ToString());
             item.SubItems[1].Tag = p_obj_VO.m_ObjPointArr[i].m_dtmCheckDate;
             item.SubItems.Add(p_obj_VO.m_ObjPointArr[i].m_intChildbearingPoint.ToString());
             if (p_obj_VO.m_ObjPointArr[i].m_intChildbearingPoint == 1)
             {
                 item.ForeColor = Color.Green;
             }
             item.Tag = p_obj_VO.m_ObjPointArr[i];
             if (p_obj_VO.m_ObjPointArr[i].m_intPointType_INT == 0)
             {
                 m_lsvU.Items.Add(item);
             }
             else
             {
                 m_lsvDown.Items.Add(item);
             }
         }
     }
     m_obj_VO   = p_obj_VO;
     m_blnIsNew = false;
     MDIParent.s_ObjSaveCue.m_mthAddFormStatus(this);
 }
Пример #8
0
        private void m_ctlPartogram_m_evnPartogramPointMouseDown(object sender, EventArgs e)
        {
            if (this.OwnedForms != null && this.OwnedForms.Length == 1)
            {
                this.OwnedForms[0].BringToFront();
                this.OwnedForms[0].Show();
                return;
            }
            com.digitalwave.Utility.Controls.clsPartogramPointEventArgs objArg = (com.digitalwave.Utility.Controls.clsPartogramPointEventArgs)e;
            if (objArg.m_objArgsValueArr != null)
            {
                StringBuilder sb = new StringBuilder("第" + objArg.m_intHour + "小时:");
                sb.AppendLine();
                #region make string
                if (objArg.m_objArgsValueArr != null)
                {
                    string strU = "宫颈口开大:" + Environment.NewLine;
                    string strD = "胎儿头下降:" + Environment.NewLine;
                    for (int i = 0; i < objArg.m_objArgsValueArr.Length; i++)
                    {
                        if (objArg.m_objArgsValueArr[i].m_intPointType_INT == 0 && objArg.m_objArgsValueArr[i].m_fltPointValue_INT != -1)
                        {
                            strU += "    " + objArg.m_objArgsValueArr[i].m_intPointMin_INT + "′/" + objArg.m_objArgsValueArr[i].m_fltPointValue_INT + "cm" + Environment.NewLine;
                        }
                        else if (objArg.m_objArgsValueArr[i].m_intPointType_INT == 1 && objArg.m_objArgsValueArr[i].m_fltPointValue_INT != -10)
                        {
                            strD += "    " + objArg.m_objArgsValueArr[i].m_intPointMin_INT + "′/" + objArg.m_objArgsValueArr[i].m_fltPointValue_INT + Environment.NewLine;
                        }
                    }
                    if (strU != "宫颈口开大:" + Environment.NewLine)
                    {
                        sb.Append(strU);
                    }
                    if (strD != "胎儿头下降:" + Environment.NewLine)
                    {
                        sb.Append(strD);
                    }
                }
                sb.Append("是否修改或者删除?");
                #endregion make string
                if (MessageBox.Show(this, sb.ToString(), "修改或者删除", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    using (frmPartogramPoint_GX frmSub2 = new frmPartogramPoint_GX(objArg.m_objArgsValueArr, ((clsDepartment)m_cboDept.SelectedItem).m_strDeptNewID, objArg.m_intHour))
                    {
                        frmSub2.m_StrInPatientIdAndDate = m_objBaseCurrentPatient.m_StrInPatientID.Trim() + "-" + m_objBaseCurrentPatient.m_DtmSelectedInDate.ToString("yyyy-MM-dd HH:mm:ss");
                        if (frmSub2.ShowDialog(this) == DialogResult.OK)
                        {
                            clsPartogram_Point[] objPointArr = null;
                            long lngRes = m_objDomain.m_lngGetOneHourPointValues(objArg.m_objArgsValueArr[0].m_strREGISTERID_CHR, objArg.m_intHour, out objPointArr);

                            clsPartogram_VO obj_VO = m_ctlPartogram.m_ObjPartogramManager.m_objGetRecord(objArg.m_intHour);
                            if (obj_VO != null)
                            {
                                obj_VO.m_ObjPointArr = objPointArr;
                            }
                        }
                    }
                }
            }
            m_ctlPartogram.m_mthRefreshDispaly();
        }
Пример #9
0
        /// <summary>
        /// 从界面获取记录
        /// </summary>
        /// <returns></returns>
        private clsPartogram_VO m_objGetValueFromGui()
        {
            clsPartogram_VO obj_VO = new clsPartogram_VO();

            strUserIDList   = "";
            strUserNameList = "";
            m_mthGetSignArr(new Control[] { lsvSign }, ref obj_VO.objSignerArr, ref strUserIDList, ref strUserNameList);
            //设置Richtextbox的modifyuserID 和modifyuserName
            m_mthSetRichTextBoxAttribInControlWithIDandName(this);
            #region 是否可以无痕迹修改
            if (chkModifyWithoutMatk.Checked)
            {
                obj_VO.m_intMarkStatus = 0;
            }
            else
            {
                obj_VO.m_intMarkStatus = 1;
            }
            #endregion
            obj_VO.m_strMODIFYUSERID_CHR          = strUserIDList;
            obj_VO.m_strMODIFYUSERNAME_VCHR       = strUserNameList;
            obj_VO.m_strCREATEUSERID_CHR          = clsEMRLogin.LoginInfo.m_strEmpID;
            obj_VO.m_dtmCHECKDATE_DAT             = DateTime.Parse(m_dtpCheckDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
            obj_VO.m_dtmCREATEDATE_DAT            = new clsPublicDomain().m_dtmGetServerTime();
            obj_VO.m_dtmMODIFYDATE_DAT            = obj_VO.m_dtmCREATEDATE_DAT;
            obj_VO.m_intDIASTOLICPRESSURE_INT     = (int)m_txtDiastolicPressure.m_dcmGetValue();
            obj_VO.m_intFETALRHYTHM_INT           = (int)m_txtFe.m_dcmGetValue();
            obj_VO.m_intPARTOGRAM_INT             = m_dtpCheckDate.Value.Hour;
            obj_VO.m_intSTATUS_INT                = 1;
            obj_VO.m_intSYSTOLICPRESSURE_INT      = (int)m_txtSystolicPressure.m_dcmGetValue();
            obj_VO.m_intUTERINECONTRACTION_INT    = (int)m_txtUterineContraction.m_dcmGetValue();
            obj_VO.m_intUTERINECONTRACTIONMIN_INT = (int)m_txtUterineContractionMin.m_dcmGetValue();
            obj_VO.m_strPROCESS_R_VCHR            = m_txtProsses.m_strGetRightText();
            obj_VO.m_strPROCESS_VCHR              = m_txtProsses.Text;
            obj_VO.m_strPROCESS_XML_VCHR          = m_txtProsses.m_strGetXmlText();
            obj_VO.m_strREGISTERID_CHR            = m_strRegisterId;
            List <clsPartogram_Point> objPointArr = new List <clsPartogram_Point>();
            if (m_lsvU.Items.Count > 0)
            {
                for (int i = 0; i < m_lsvU.Items.Count; i++)
                {
                    if (m_lsvU.Items[i].Tag is clsPartogram_Point)
                    {
                        clsPartogram_Point objPoint = (clsPartogram_Point)m_lsvU.Items[i].Tag;
                        objPoint.m_dtmMODIFYDATE_DAT = obj_VO.m_dtmCREATEDATE_DAT;
                        objPointArr.Add(objPoint);
                    }
                    else
                    {
                        float flt = -1;
                        if (!float.TryParse(m_lsvU.Items[i].SubItems[1].Text, out flt))
                        {
                            flt = -1;
                        }
                        int intTmp = -1;
                        int.TryParse(m_lsvU.Items[i].SubItems[2].Text, out intTmp);
                        clsPartogram_Point objPoint2 = m_objGetPoint(flt, ((DateTime)m_lsvU.Items[i].SubItems[1].Tag).Minute, 0);
                        objPoint2.m_intChildbearingPoint = intTmp;
                        objPointArr.Add(objPoint2);
                    }
                }
            }
            if (m_lsvDown.Items.Count > 0)
            {
                for (int i = 0; i < m_lsvDown.Items.Count; i++)
                {
                    if (m_lsvDown.Items[i].Tag is clsPartogram_Point)
                    {
                        clsPartogram_Point objPoint = (clsPartogram_Point)m_lsvDown.Items[i].Tag;
                        objPoint.m_dtmMODIFYDATE_DAT = obj_VO.m_dtmCREATEDATE_DAT;
                        objPointArr.Add(objPoint);
                    }
                    else
                    {
                        float flt = -10;
                        if (!float.TryParse(m_lsvDown.Items[i].SubItems[1].Text, out flt))
                        {
                            flt = -10;
                        }
                        //int intTmp = -1;
                        //int.TryParse(m_lsvDown.Items[i].Text, out intTmp);
                        objPointArr.Add(m_objGetPoint(flt, ((DateTime)m_lsvDown.Items[i].SubItems[1].Tag).Minute, 1));
                    }
                }
            }
            if (m_arlDeletePoint.Count > 0)
            {
                objPointArr.AddRange(m_arlDeletePoint.ToArray());
            }
            obj_VO.m_ObjPointArr = objPointArr.ToArray();
            return(obj_VO);
        }
Пример #10
0
        /// <summary>
        /// 返回一个小时的记录
        /// </summary>
        /// <param name="p_strRegisterId"></param>
        /// <param name="p_dtmCreatedDate"></param>
        /// <param name="p_intSelectedHour"></param>
        /// <param name="p_objContent"></param>
        /// <returns></returns>
        public long m_lngGetOneHourValues(string p_strRegisterId, int p_intSelectedHour, out clsPartogram_VO p_objContent)
        {
            clsPartogramService objServ =
                (clsPartogramService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsPartogramService));

            long lngRes = objServ.m_lngGetOneHourValues(null, p_strRegisterId, p_intSelectedHour, out p_objContent);

            return(lngRes);
        }