/// <summary> /// 填充文本框 根据用法维护桥梁对象 /// </summary> /// <param name="p_objItem">用法维护桥梁对象</param> public void m_FillTextFromObject(clsBridgeForUsaEdit p_objItem) { if (p_objItem == null || p_objItem.m_strItemID == null || p_objItem.m_strItemID.Trim() == "") { return; } //项目名称 m_objViewer.m_txtItem.Text = p_objItem.m_strItemName; m_objViewer.m_txtItem.Tag = p_objItem.m_strItemID.Trim(); strPreItemID = p_objItem.m_strItemID.Trim(); //续用类型 {0=不续用;1=全部续用;2-长嘱续用} m_objViewer.m_cboContinueUseType.SelectedIndex = p_objItem.m_intCONTINUEUSETYPE_INT; //项目类型 m_objViewer.m_txtItemType.Text = p_objItem.m_strItemType.Trim(); //项目规格 m_objViewer.m_txtItemSpec.Text = p_objItem.m_strItemSpec.Trim(); //剂量 m_objViewer.m_txtDOSAGE_DEC.Text = p_objItem.m_dblDOSAGE_DEC.ToString().Trim() + p_objItem.m_strDOSAGEUNIT_CHR.Trim(); m_objViewer.m_txtDOSAGE_DEC.Tag = p_objItem.m_dblDOSAGE_DEC.ToString().Trim(); m_objViewer.m_lblSaveDosageUnit.Tag = p_objItem.m_strDOSAGEUNIT_CHR.ToString().Trim(); //领量单位 m_objViewer.m_lblClinicUnit.Tag = p_objItem.m_strGetClinicUnit.ToString(); m_objViewer.m_lblBihUnit.Tag = p_objItem.m_strGetBihUnit.ToString(); //价格 m_objViewer.m_txtItemPrice.Text = p_objItem.m_strItemPrice.Trim(); //门诊数量 m_objViewer.m_txtCLINICQTY.Text = p_objItem.m_strUNITPRICE.Trim(); //门诊数量类型 m_objViewer.m_cboCLINICTYPE.SelectedIndex = p_objItem.m_intCLINICTYPE_INT - 1; //门诊总价 m_objViewer.m_txtCLINICTOTALPRICE.Text = p_objItem.m_strTOTALPRICE.Trim(); //住院数量 m_objViewer.m_txtBIHQTY.Text = p_objItem.m_dblBIHQTY_DEC.ToString().Trim(); //住院数量类型 m_objViewer.m_cboBIHTYPE.SelectedIndex = p_objItem.m_intBIHTYPE_INT - 1; //住院总价 m_objViewer.m_txtBIHOTALPRICE.Text = p_objItem.m_strBihOtalPrice.Trim(); //门诊单位、住院单位 if (m_objViewer.m_cboCLINICTYPE.SelectedIndex == 0) //领量单位 { m_objViewer.m_lblClinicUnit.Text = m_objViewer.m_lblClinicUnit.Tag.ToString(); } else { m_objViewer.m_lblClinicUnit.Text = m_objViewer.m_lblSaveDosageUnit.Tag.ToString(); } if (m_objViewer.m_cboBIHTYPE.SelectedIndex == 0) //领量单位 { m_objViewer.m_lblBihUnit.Text = m_objViewer.m_lblBihUnit.Tag.ToString(); } else { m_objViewer.m_lblBihUnit.Text = m_objViewer.m_lblSaveDosageUnit.Tag.ToString(); } //住院执行科室标志 m_objViewer.m_cboZyFlag.SelectedIndex = p_objItem.m_intBihExecDeptflag - 1; m_objViewer.m_ctfDefDept.txtValuse = p_objItem.m_strBihExecDeptName; m_objViewer.m_ctfDefDept.Tag = p_objItem.m_strBihExecDeptID; }
/// <summary> /// 获取对象 根据用户输入 /// </summary> /// <param name="p_objResult"></param> private void GetObjectFromControl(out clsBridgeForUsaEdit p_objResult) { p_objResult = new clsBridgeForUsaEdit(); //用法ID p_objResult.m_strUsageID = m_objViewer.m_objBridgeForUsaEdit.m_strUsageID.Trim(); //续用类型 {0=不续用;1=续用} p_objResult.m_intCONTINUEUSETYPE_INT = m_objViewer.m_cboContinueUseType.SelectedIndex; //项目名称 p_objResult.m_strItemName = m_objViewer.m_txtItem.Text.Trim(); if (m_objViewer.m_txtItem.Tag == null) { m_objViewer.m_txtItem.Tag = ""; } p_objResult.m_strItemID = m_objViewer.m_txtItem.Tag.ToString().Trim(); //门诊数量 p_objResult.m_strUNITPRICE = m_objViewer.m_txtCLINICQTY.Text.Trim(); //门诊数量类型 p_objResult.m_intCLINICTYPE_INT = m_objViewer.m_cboCLINICTYPE.SelectedIndex + 1; //门诊总价 // p_objResult.m_strTOTALPRICE =m_objViewer.m_txtCLINICTOTALPRICE.Text.Trim(); p_objResult.m_strTOTALPRICE = this.strPreItemID; //用总价保存原来的项目ID //住院数量 try { p_objResult.m_dblBIHQTY_DEC = Convert.ToDouble(m_objViewer.m_txtBIHQTY.Text.Trim()); } catch {} //住院数量类型 p_objResult.m_intBIHTYPE_INT = m_objViewer.m_cboBIHTYPE.SelectedIndex + 1; //住院总价 p_objResult.m_strBihOtalPrice = m_objViewer.m_txtBIHOTALPRICE.Text.Trim(); //项目类型 p_objResult.m_strItemType = m_objViewer.m_txtItemType.Text.Trim(); //项目规格 p_objResult.m_strItemSpec = m_objViewer.m_txtItemSpec.Text.Trim(); //剂量 try { p_objResult.m_dblDOSAGE_DEC = Convert.ToDouble(m_objViewer.m_txtDOSAGE_DEC.Tag.ToString().Trim()); } catch {} //剂量单位 try { p_objResult.m_strDOSAGEUNIT_CHR = m_objViewer.m_lblSaveDosageUnit.Tag.ToString().Trim(); } catch {} //价格 p_objResult.m_strItemPrice = m_objViewer.m_txtItemPrice.Text.Trim(); //住院执行科室标志 p_objResult.m_intBihExecDeptflag = m_objViewer.m_cboZyFlag.SelectedIndex + 1; if (m_objViewer.m_ctfDefDept.Tag != null) { p_objResult.m_strBihExecDeptID = m_objViewer.m_ctfDefDept.Tag.ToString(); } }
/// <summary> /// 构造函数 /// </summary> /// <param name="p_objBridgeForUsaEdit">用法维护桥梁类</param> public frmUsaEdit(clsBridgeForUsaEdit p_objBridgeForUsaEdit) : this() { m_objBridgeForUsaEdit = p_objBridgeForUsaEdit; if (m_objBridgeForUsaEdit != null && m_objBridgeForUsaEdit.m_strItemID != null && m_objBridgeForUsaEdit.m_strItemID.Trim() != "") { ((clsControlUsaEdit)this.objController).isnoqty = false; m_intOperateState = 1; this.m_cmdDel.Enabled = true; } }
private void m_cmdAddNew_Click(object sender, EventArgs e) { clsBridgeForUsaEdit objItem = new clsBridgeForUsaEdit(); objItem.m_strUsageID = this.strUsageID; frmUsaEdit objfrmUsaEdit = new frmUsaEdit(objItem); objfrmUsaEdit.m_blnIsCMUsageEdit = true; objfrmUsaEdit.ShowDialog(); m_FillItem(); }
/// <summary> /// 验证对象是否可以保存 /// </summary> /// <param name="p_objItem"></param> /// <returns></returns> private bool CheckObjectForSave(clsBridgeForUsaEdit p_objItem) { if (p_objItem == null && p_objItem.m_strItemID != null) { return(false); } //项目不能少 if (p_objItem.m_strItemName == null || p_objItem.m_strItemID == null || p_objItem.m_strItemName.Trim() == "" || p_objItem.m_strItemID.Trim() == "") { MessageBox.Show(m_objViewer, "项目不能少!", "提示框!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } //诊疗相关信息 double dbl = -1; try{ dbl = Convert.ToDouble(p_objItem.m_strUNITPRICE); } catch {} if (dbl < 0) { MessageBox.Show(m_objViewer, "门诊数量错误,必须为大于或等于0的数!", "提示框!", MessageBoxButtons.OK, MessageBoxIcon.Warning); m_objViewer.m_txtCLINICQTY.Focus(); return(false); } if (p_objItem.m_intCLINICTYPE_INT < 1 || p_objItem.m_intCLINICTYPE_INT > 2) { MessageBox.Show(m_objViewer, "门诊数量类型不能少!", "提示框!", MessageBoxButtons.OK, MessageBoxIcon.Warning); m_objViewer.m_cboCLINICTYPE.Focus(); return(false); } //住院相关信息 if (p_objItem.m_dblBIHQTY_DEC < 0) { MessageBox.Show(m_objViewer, "住院数量错误,必须为大于或等于0的数!", "提示框!", MessageBoxButtons.OK, MessageBoxIcon.Warning); m_objViewer.m_txtBIHQTY.Focus(); return(false); } if (p_objItem.m_intBIHTYPE_INT < 1 || p_objItem.m_intBIHTYPE_INT > 2) { MessageBox.Show(m_objViewer, "门诊数量类型不能少!", "提示框!", MessageBoxButtons.OK, MessageBoxIcon.Warning); m_objViewer.m_cboBIHTYPE.Focus(); return(false); } return(true); }
private void m_cmdChange_Click(object sender, EventArgs e) { clsBridgeForUsaEdit objItem = null; GetCurrentObj(out objItem); ArrayList objArr = new ArrayList(); int location = this.m_dtgGroup.CurrentCell.RowNumber; for (int i = 0; i < m_dtgGroup.RowCount; i++) { if (i == location) { continue; } objArr.Add(this.m_dtgGroup[i, 1].ToString().Trim()); } frmUsaEdit objfrmUsaEdit = new frmUsaEdit(objItem); objfrmUsaEdit.CurrentItem = objArr; objfrmUsaEdit.m_blnIsCMUsageEdit = true; objfrmUsaEdit.ShowDialog(); m_FillItem(); }
/// <summary> /// 获取当前选中行的对象 /// </summary> /// <param name="p_objResult"></param> /// <returns>返回是否获取成功</returns> private void GetCurrentObj(out clsBridgeForUsaEdit p_objResult) { p_objResult = new clsBridgeForUsaEdit(); //用法ID p_objResult.m_strUsageID = this.strUsageID; if (m_dtgGroup.CurrentCell.RowNumber < 0 || m_dtgGroup.CurrentCell.RowNumber >= m_dtgGroup.RowCount) { return; } int intRow = m_dtgGroup.CurrentCell.RowNumber; //填充值 //项目ID p_objResult.m_strItemID = this.m_dtgGroup[intRow, "ITEMID_CHR"].ToString(); //项目名称 p_objResult.m_strItemName = this.m_dtgGroup[intRow, "ITEMNAME_VCHR"].ToString(); //项目类型 p_objResult.m_strItemType = this.m_dtgGroup[intRow, "ItemType"].ToString(); //项目规格 p_objResult.m_strItemSpec = this.m_dtgGroup[intRow, "ItemSpec"].ToString(); //住院单价 p_objResult.m_strItemPrice = this.m_dtgGroup[intRow, "ItemPrice"].ToString(); //门诊数量 [不包括单位] p_objResult.m_strUNITPRICE = this.m_dtgGroup[intRow, "ClinicNumber"].ToString().Trim(); //门诊数量单位 string strTem = m_dtgGroup[intRow, "ClinicType"].ToString().Trim(); if (m_dtgGroup[intRow, "ClinicType"] != System.DBNull.Value) { p_objResult.m_intCLINICTYPE_INT = (strTem == "门诊领量单位") ? 1 : 2; } //门诊费用合计 p_objResult.m_strTOTALPRICE = this.m_dtgGroup[intRow, "ITEMPRICE_MNY"].ToString().Trim(); //住院数量 [不包括单位] if (m_dtgGroup[intRow, "BihNumber"] != System.DBNull.Value) { p_objResult.m_dblBIHQTY_DEC = double.Parse(m_dtgGroup[intRow, "BihNumber"].ToString()); } //住院数量单位 strTem = m_dtgGroup[intRow, "BihType"].ToString().Trim(); if (m_dtgGroup[intRow, "BihType"] != System.DBNull.Value) { p_objResult.m_intBIHTYPE_INT = (strTem == "住院领量单位") ? 1 : 2; } //住院费用合计 p_objResult.m_strBihOtalPrice = this.m_dtgGroup[intRow, "BIHITEMPRICE_MNY"].ToString(); //单位剂量 try { p_objResult.m_dblDOSAGE_DEC = Convert.ToDouble(m_dtgGroup[intRow, "DOSAGE_DEC"].ToString()); } catch { } //剂量单位 p_objResult.m_strDOSAGEUNIT_CHR = this.m_dtgGroup[intRow, "DOSAGEUNIT_CHR"].ToString(); //门诊领量单位 p_objResult.m_strGetClinicUnit = this.m_dtgGroup[intRow, "GetClinicUnit"].ToString(); //住院领量单位 p_objResult.m_strGetBihUnit = this.m_dtgGroup[intRow, "GetBihUnit"].ToString(); //续用类型 {0=不续用;1=全部续用;2-长嘱续用} p_objResult.m_intCONTINUEUSETYPE_INT = Convert.ToInt32(this.m_dtgGroup[intRow, "CONTINUEUSETYPE_INT"].ToString()); }