Exemplo n.º 1
0
 /// <summary>
 /// genggaizhuangtai
 /// </summary>
 /// <param name="message"></param>
 /// <param name="state"></param>
 void updatestate(string message, string state)
 {
     try
     {
         int fouceRowIndex = dbGridView.FocusedRowHandle;
         if (fouceRowIndex < 0)
         {
             dbGrid.Focus();
             SqlUtil.App.CustomMessageBox.MessageShow("请选择一条病人记录");
             return;
         }
         DataRow foucesRow = dbGridView.GetDataRow(fouceRowIndex);
         if (null == foucesRow || null == foucesRow["NOOFINPAT"])
         {
             return;
         }
         int noofinpat = int.Parse(foucesRow["NOOFINPAT"].ToString().Trim());
         #region 注释验证是否有病例
         //DataTable dt = DS_SqlService.GetRecordsByNoofinpat(noofinpat);
         //if (null == dt || dt.Rows.Count == 0)
         //{
         //    Common.Ctrs.DLG.MessageBox.Show(foucesRow["NAME"] + " 没有病历,无法归档。");
         //    return;
         //}
         #endregion
         if (DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show("您确定要" + message + foucesRow["NAME"] + " 的病历吗?", message + "病历", DrectSoft.Common.Ctrs.DLG.MyMessageBoxButtons.YesNo) == DialogResult.No)
         {
             return;
         }
         if (state == "1500")//add by Ukey 2016-11-12 Add to cancel discharge from hospital
         {
             string StrSelectPat = @"select * from inpatient where inpatient.noofinpat = '{0}';";
             string strStatus    = m_app.SqlHelper.ExecuteDataTable(string.Format(StrSelectPat, noofinpat), CommandType.Text).Rows[0]["status"].ToString().Trim();
             if (strStatus.Equals("1503"))
             {
                 string StrDisOutHos = @"update inpatient set status = '1500',outwarddate = '',outhosdate = '',emrouthos='' where noofinpat = '{0}';";
                 m_app.SqlHelper.ExecuteNoneQuery(string.Format(StrDisOutHos, noofinpat), CommandType.Text);
                 DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show(message + "成功");
                 dbGridView.DeleteRow(dbGridView.FocusedRowHandle);
                 return;
             }
             else
             {
                 DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show(message + "失败,病人不是在院状态!");
                 return;
             }
         }
         // DS_BaseService.CheckRecordRebacked(noofinpat.ToString())
         if (foucesRow["islock"].ToString() != "4701")
         {
             int num = DS_SqlService.SetRecordstate(noofinpat.ToString(), state);
             if (num > 0)
             {
                 if (message == "取消质控")
                 {
                     ArrayList al = new ArrayList();
                     al.Add("delete from emr_automark_record where noofinpat='" + noofinpat.ToString() + "'");
                     al.Add("delete from emr_point where noofinpat='" + noofinpat.ToString() + "'");
                     al.Add("delete from emr_automark_record_detail where noofinpat='" + noofinpat.ToString() + "'");
                     m_app.SqlHelper.ExecuteSqlTran2(al);
                 }
                 DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show(message + "成功");
                 dbGridView.DeleteRow(dbGridView.FocusedRowHandle);
                 return;
             }
         }
         DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show("该病人已" + message);
     }
     catch (Exception ex)
     {
         DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show(1, ex);
     }
 }