/// <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); }
// <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); }
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"); } //} } }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
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(); }
/// <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); }
/// <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); }