Пример #1
0
        /// <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);
            }
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
 /// <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);
 }
Пример #4
0
      /// <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;
      }
Пример #5
0
      /// <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);
      }
Пример #6
0
        /// <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);
            }
        }