/// <summary> /// 提交请领药品信息 /// </summary> internal void m_mthCommitAskInfo() { List <clsDS_Ask_VO> m_objAskVoList = new List <clsDS_Ask_VO>(); clsDS_Ask_VO TempVo; TempVo = new clsDS_Ask_VO(); TempVo.m_lngSERIESID_INT = Convert.ToInt64(m_objViewer.m_dgvAskMedMain.SelectedRows[0].Cells["m_txtSeq"].Value); TempVo.m_intSTATUS_INT = 2; TempVo.m_strCOMMITER_CHR = this.m_objViewer.LoginInfo.m_strEmpID; TempVo.m_strCommiterName = this.m_objViewer.LoginInfo.m_strEmpName; TempVo.m_datCOMMIT_DAT = clsPub.CurrentDateTimeNow; m_objAskVoList.Add(TempVo); long lngRes = m_objDomain.m_lngCommiteAskInfo(m_objAskVoList.ToArray()); if (lngRes > 0) { MessageBox.Show("提交成功", "药房请领提示", MessageBoxButtons.OK, MessageBoxIcon.Information); DataRow drCurrent = ((DataRowView)(m_objViewer.m_dgvAskMedMain.CurrentCell.OwningRow.DataBoundItem)).Row; drCurrent["status_int"] = "提交"; drCurrent["commiter_chr"] = TempVo.m_strCOMMITER_CHR; drCurrent["commitername"] = TempVo.m_strCommiterName; drCurrent["commit_dat"] = TempVo.m_datCOMMIT_DAT; this.m_objViewer.m_dgvAskMedMain.Refresh(); } else { MessageBox.Show("提交失败", "药房请领提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// 更新药房请领主表和明细表数据 /// </summary> /// <param name="m_objMainVo"></param> /// <param name="m_objDetailArr"></param> /// <returns></returns> public long m_lngUpdateAskMedInfo(clsDS_Ask_VO m_objMainVo, ref clsDS_Ask_Detail_VO[] m_objDetailArr) { long lngRes = 0; com.digitalwave.iCare.middletier.HIS.clsAskForMedicineSVC objSvc = (com.digitalwave.iCare.middletier.HIS.clsAskForMedicineSVC)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(com.digitalwave.iCare.middletier.HIS.clsAskForMedicineSVC)); lngRes = objSvc.m_lngUpdateAskMedInfo(objPrincipal, m_objMainVo, ref m_objDetailArr); return(lngRes); }
/// <summary> /// 获取主表内容 /// </summary> /// <returns></returns> private clsDS_Ask_VO m_objGetMainISVO() { if (m_objCurrentMain == null) { m_objCurrentMain = new clsDS_Ask_VO(); m_objCurrentMain.m_datASKDATE_DAT = Convert.ToDateTime(clsPub.CurrentDateTimeNow.ToString("yyyy-MM-dd HH:mm:ss")); m_objCurrentMain.m_intSTATUS_INT = 1; } m_objCurrentMain.m_lngSERIESID_INT = this.m_objViewer.m_lngMainSEQ; m_objCurrentMain.m_strASKID_VCHR = this.m_objViewer.m_txtAskBillNo.Text; m_objCurrentMain.m_strASKDEPT_CHR = m_objViewer.m_cboAskDept.SelectItemValue.Trim() != string.Empty ? m_objViewer.m_cboAskDept.SelectItemValue.Trim() : this.m_objViewer.m_cboAskDept.AccessibleName; m_objCurrentMain.m_strAskDeptName = this.m_objViewer.m_cboAskDept.Text; m_objCurrentMain.m_strASKERID_CHR = m_objViewer.m_txtAsker.AccessibleName.ToString(); m_objCurrentMain.m_strAskerName = this.m_objViewer.m_txtAsker.Text; m_objCurrentMain.m_strComment = m_objViewer.m_txtComment.Text; m_objCurrentMain.m_strEXPORTDEPT_CHR = m_objViewer.m_cboExportDept.SelectItemValue.Trim() != string.Empty ? m_objViewer.m_cboExportDept.SelectItemValue.Trim() : this.m_objViewer.m_cboExportDept.AccessibleName; m_objCurrentMain.m_strExportDeptName = this.m_objViewer.m_cboExportDept.Text; return(m_objCurrentMain); }
/// <summary> /// 清空界面 /// </summary> internal void m_mthClear() { m_objViewer.m_dtApplyMedicine.Rows.Clear(); // m_objViewer.m_cboAskDept.Text=string.Empty; m_objViewer.m_txtComment.Clear(); m_objViewer.m_txtAskBillNo.Clear(); m_objViewer.m_lngMainSEQ = 0; m_objViewer.m_datApplyDate.Value = clsPub.CurrentDateTimeNow; m_objCurrentMain = null; m_objCurrentSubArr = null; m_objViewer.m_txtAsker.AccessibleName = m_objViewer.LoginInfo.m_strEmpID; m_objViewer.m_txtAsker.Text = m_objViewer.LoginInfo.m_strEmpName; //m_objViewer.m_cboAskDept.Enabled = true; m_objViewer.IsCanModify = true; m_objViewer.m_btnSave.Enabled = true; m_objViewer.m_btnDelete.Enabled = true; m_objViewer.m_btnInsert.Enabled = true; m_objViewer.m_dgvDetail.Columns[1].ReadOnly = false; m_objViewer.m_dgvDetail.Columns[5].ReadOnly = false; m_objViewer.m_cboExportDept.Enabled = true; }
/// <summary> /// 保存药品请领信息 /// </summary> /// <param name="p_blnWantHint">是否显示提示信息</param> /// <returns></returns> internal long m_lngSaveApplyMedInfo(bool p_blnWantHint) { #region 效性检查 //防止打开多个审核界面,多次审核同一张单据 //if (m_objViewer.m_txtAskBillNo.Text.Length > 0 && m_objDomain.m_lngCheckStatus(m_objViewer.m_txtAskBillNo.Text) < 0) //{ // MessageBox.Show("该药品请领状态已改变,不能修改,请刷新。", "药房请领", MessageBoxButtons.OK, MessageBoxIcon.Error); // return -1; //} //if (m_objCurrentMain != null && m_objCurrentMain.m_intSTATUS_INT != 1 && m_objCurrentMain.m_intSTATUS_INT != 2 && m_objCurrentMain.m_intSTATUS_INT !=0 && p_blnWantHint) //{ // if (m_objCurrentMain.m_intSTATUS_INT == 3) // { // MessageBox.Show("该药品请领记录药库已审核,不能修改", "药房请领", MessageBoxButtons.OK, MessageBoxIcon.Error); // return -1; // } // else if (m_objCurrentMain.m_intSTATUS_INT == 4) // { // MessageBox.Show("该药品请领记录药房已审核,不能修改", "药房请领", MessageBoxButtons.OK, MessageBoxIcon.Error); // return -1; // } //} if (string.IsNullOrEmpty(m_objViewer.m_cboAskDept.Text) && p_blnWantHint) { MessageBox.Show("必须选择领用部门", "药房请领", MessageBoxButtons.OK, MessageBoxIcon.Error); return(-1); } if (string.IsNullOrEmpty(m_objViewer.m_cboExportDept.Text) && p_blnWantHint) { MessageBox.Show("必须选择出库部门", "药房请领", MessageBoxButtons.OK, MessageBoxIcon.Error); return(-1); } if ((m_objViewer.m_dtApplyMedicine == null || m_objViewer.m_dtApplyMedicine.Rows.Count == 0) && p_blnWantHint) { MessageBox.Show("请先选择请领药品", "药房请领", MessageBoxButtons.OK, MessageBoxIcon.Error); return(-1); } else if (m_objViewer.m_dtApplyMedicine.Rows.Count == 1) //只有一行自动添加的空数据 { if (m_objViewer.m_dtApplyMedicine.Rows[0]["MEDICINEID_CHR"] == DBNull.Value) { MessageBox.Show("请先选择请领药品", "药房请领", MessageBoxButtons.OK, MessageBoxIcon.Error); return(-1); } } if (this.m_objViewer.m_dgvDetail.Rows.Count > 0) { this.m_objViewer.m_dgvDetail.CurrentCell = this.m_objViewer.m_dgvDetail.Rows[0].Cells[0]; } double dblAmount = 0d; DataRow drTemp = null; for (int iRow = 0; iRow < m_objViewer.m_dtApplyMedicine.Rows.Count; iRow++) { drTemp = m_objViewer.m_dtApplyMedicine.Rows[iRow]; if (drTemp.RowState == DataRowState.Unchanged || drTemp.RowState == DataRowState.Deleted) { continue; } if (drTemp["MEDICINEID_CHR"] != DBNull.Value && drTemp["requestamount_int"] != DBNull.Value) { if (!double.TryParse(drTemp["requestamount_int"].ToString(), out dblAmount)) { MessageBox.Show("请领数量必须为数字", "药房请领", MessageBoxButtons.OK, MessageBoxIcon.Error); return(-1); } else { //if (dblAmount <= 0) //{ // MessageBox.Show("请领数量必须大于零", "药房请领", MessageBoxButtons.OK, MessageBoxIcon.Error); // return -1; //} } } } #endregion this.m_objViewer.m_dtApplyMedicine.AcceptChanges(); long lngRes = 0; try { bool blnIsAddNew = m_objViewer.m_lngMainSEQ == 0 ? true : false; clsDS_Ask_VO objMain = m_objGetMainISVO(); DataRow[] drNew = m_objViewer.m_dtApplyMedicine.Select("MEDICINEID_CHR IS NOT NULL AND requestamount_int IS NOT NULL"); if (drNew.Length == 0) { MessageBox.Show("请先录入要请领的药品再保存!", "药房请领", MessageBoxButtons.OK, MessageBoxIcon.Error); return(-1); } clsDS_Ask_Detail_VO[] objDetailArr = m_objGetDetailArr(drNew, objMain.m_lngSERIESID_INT); if (blnIsAddNew) { lngRes = m_objDomain.m_lngAddNewAskMedInfo(ref objMain, ref objDetailArr); if (lngRes > 0 && this.m_objMainVoList != null) { this.m_objMainVoList.Add(objMain); } } else { lngRes = m_objDomain.m_lngUpdateAskMedInfo(objMain, ref objDetailArr); if (lngRes > 0 && this.m_objMainVoList != null) { foreach (clsDS_Ask_VO vo in m_objMainVoList) { if (vo.m_lngSERIESID_INT == objMain.m_lngSERIESID_INT) { m_objMainVoList.Remove(vo); } } m_objMainVoList.Add(objMain); } } if (lngRes > 0) { m_objViewer.m_lngMainSEQ = objMain.m_lngSERIESID_INT; m_objViewer.m_txtAskBillNo.Text = objMain.m_strASKID_VCHR; m_objCurrentMain = objMain; m_objCurrentSubArr = objDetailArr; m_mthSetSeriesIDToUI(objDetailArr); #region 去除空行 DataRow[] drNull = m_objViewer.m_dtApplyMedicine.Select("OPAMOUNT_INT IS NULL"); if (drNull != null && drNull.Length > 0) { foreach (DataRow drDel in drNull) { m_objViewer.m_dtApplyMedicine.Rows.Remove(drDel); } } #endregion m_objViewer.m_dtApplyMedicine.AcceptChanges(); if (p_blnWantHint) { MessageBox.Show("保存成功", "药房请领", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("保存失败", "药房请领", MessageBoxButtons.OK, MessageBoxIcon.Error); return(-1); } } catch (Exception Ex) { string strExMessage = "保存失败" + Environment.NewLine + Ex.Message; return(-1); } return(lngRes); }
/// <summary> /// 提交请领药品信息 /// </summary> internal void m_mthCommitAskInfo() { List <clsDS_Ask_VO> m_objAskVoList = new List <clsDS_Ask_VO>(); clsDS_Ask_VO TempVo; List <long> lngWrongRowIndex = new List <long>(); for (int iSe = 0; iSe < m_objViewer.m_dgvMain.Rows.Count; iSe++) { if (m_objViewer.m_dgvMain.Rows[iSe].Cells[0].Value != null && Convert.ToBoolean(m_objViewer.m_dgvMain.Rows[iSe].Cells[0].Value)) { string strState = m_objViewer.m_dgvMain.Rows[iSe].Cells["m_txtStatus"].Value.ToString().Trim(); if (strState == "药房审核" || strState == "药库审核")//已审核 { lngWrongRowIndex.Add(Convert.ToInt64(m_objViewer.m_dgvMain.Rows[iSe].Cells["m_txtSeq"].Value)); continue; } TempVo = new clsDS_Ask_VO(); TempVo.m_lngSERIESID_INT = Convert.ToInt64(m_objViewer.m_dgvMain.Rows[iSe].Cells["m_txtSeq"].Value); TempVo.m_intSTATUS_INT = 2; TempVo.m_strCOMMITER_CHR = this.m_objViewer.LoginInfo.m_strEmpID; TempVo.m_datCOMMIT_DAT = clsPub.CurrentDateTimeNow; m_objAskVoList.Add(TempVo); } } if (lngWrongRowIndex.Count > 0) { DialogResult drResultQ = MessageBox.Show("部分已选择记录已审核,将不能提交,是否继续?", "药房请领", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (drResultQ == DialogResult.No) { return; } } if (m_objAskVoList.Count == 0) { MessageBox.Show("请打勾选择新制的药房请领信息", "药房请领", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } DialogResult drResult = MessageBox.Show("是否提交选中记录?", "药房请领", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (drResult == DialogResult.No) { return; } long lngRes = m_objDomain.m_lngCommiteAskInfo(m_objAskVoList.ToArray()); if (lngRes > 0) { MessageBox.Show("提交成功", "药品入库", MessageBoxButtons.OK, MessageBoxIcon.Information); for (int i = 0; i < this.m_objViewer.m_dgvMain.Rows.Count; i++) { for (int j = 0; j < m_objAskVoList.Count; j++) { if (Convert.ToInt64(m_objViewer.m_dgvMain.Rows[i].Cells["m_txtSeq"].Value) == m_objAskVoList[j].m_lngSERIESID_INT) { m_objViewer.m_dgvMain.Rows[i].Cells["m_txtStatus"].Value = "提交"; break; } } } } else { MessageBox.Show("删除失败", "药房请领", MessageBoxButtons.OK, MessageBoxIcon.Error); } }