Exemplo n.º 1
0
        private void btnDeleteItem_Click(object sender, EventArgs e)
        {
            if (dgMonitorEditorView.SelectedColumns.Count > 0 && dgMonitorEditorView.CurrentRow.Index >= 0)
            {
                if (MessageBoxFormPC.Show("真的要删除所选列的数据吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    bool           result      = false;
                    NewMonitorData monitorData = new NewMonitorData(_patientID, _visitID, _operID, _eventNo, ExtendApplicationContext.Current.LoginUser.USER_JOB_ID);
                    for (int i = 0; i < dgMonitorEditorView.SelectedColumns.Count; i++)
                    {
                        string code = ((DataTable)dgMonitorEditorView.DataSource).Columns[dgMonitorEditorView.SelectedColumns[i].Index].Caption;

                        if (monitorData.Delete(code))
                        {
                            result = true;
                        }
                    }
                    if (result)
                    {
                        _dataChanged = true;
                        GetVitalSignDataTable();
                        if (SignVitalSaveClicked != null)
                        {
                            SignVitalSaveClicked(this, EventArgs.Empty);
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
 private void btnOK_Click(object sender, EventArgs e)
 {
     try
     {
         if (dateEdit1.DateTime > dateEdit2.DateTime)
         {
             MessageBoxFormPC.Show("开始时间不能大于结束时间", MessageBoxIcon.Information);
             return;
         }
         if (((TimeSpan)(dateEdit2.DateTime - dateEdit1.DateTime)).TotalHours > 8)
         {
             MessageBoxFormPC.Show("每次添加体征数据的时间区域请保持在8小时以内!", MessageBoxIcon.Information);
             return;
         }
         NewMonitorData newMonitorData = new NewMonitorData(_patientID, _visitID, _operID, _eventNo, ExtendApplicationContext.Current.LoginUser.USER_JOB_ID);
         DateTime       dt             = DateTimeEqual(dateEdit1.DateTime);
         dt = new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, 0);
         while (dt <= dateEdit2.DateTime)
         {
             List <MED_VITAL_SIGN> vitalSignDataTable = new OperationVitalSignRepository().GetVitalSignData(_patientID, _visitID, _operID, _eventNo, false);
             //int index = _items.Count - 1;
             foreach (Control control in Controls)
             {
                 if (control is MedTextBox && !control.Equals(txtInterval))
                 {
                     string text     = (control as MedTextBox).Text;
                     string oldvalue = "0";
                     string itemName = "";
                     if (vitalSignDataTable != null && vitalSignDataTable.Count > 0)
                     {
                         foreach (MED_VITAL_SIGN row in vitalSignDataTable)
                         {
                             if (dt == row.TIME_POINT && (control as MedTextBox).Tag.ToString() == row.ITEM_CODE)
                             {
                                 oldvalue = row.ITEM_VALUE.ToString();
                             }
                         }
                     }
                     itemName = ExtendApplicationContext.Current.MonitorFunctionCodeDict.ContainsKey((control as MedTextBox).Tag.ToString()) ? ExtendApplicationContext.Current.MonitorFunctionCodeDict[(control as MedTextBox).Tag.ToString()] : (control as MedTextBox).Tag.ToString();
                     if (!string.IsNullOrEmpty(text))
                     {
                         newMonitorData.SetItem(dt, itemName, text, oldvalue, (control as MedTextBox).Tag.ToString());
                     }
                 }
             }
             dt = dt.AddSeconds(double.Parse(txtInterval.Text));
         }
         newMonitorData.Save();
         _result = DialogResult.OK;
         ParentForm.DialogResult = DialogResult.OK;
     }
     catch (Exception ex)
     {
         Dialog.MessageBox(ex.Message, MessageBoxIcon.Information);
         _result = DialogResult.None;
     }
 }
Exemplo n.º 3
0
 private void dgMonitorEditorView_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Back)
     {
         if (dgMonitorEditorView.CurrentRow != null && dgMonitorEditorView.CurrentRow.Index >= 0)
         {
             if (MessageBoxFormPC.Show("真的要删当前体征项目吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
             {
                 NewMonitorData monitorData  = new NewMonitorData(_patientID, _visitID, _operID, _eventNo, ExtendApplicationContext.Current.LoginUser.USER_JOB_ID);
                 int            columnsIndex = dgMonitorEditorView.CurrentCell.ColumnIndex;
                 DateTime       timePoint    = DateTime.Parse(((DataTable)dgMonitorEditorView.DataSource).Rows[dgMonitorEditorView.CurrentCell.RowIndex][0].ToString());
                 // DateTime timePoint = DateTime.Parse(((DataTable)dgMonitorEditorView.DataSource).Columns[columnsIndex].Caption);
                 if (!string.IsNullOrEmpty(dgMonitorEditorView.CurrentCell.Value.ToString()))
                 {
                     if (monitorData.Delete(timePoint, ((DataTable)dgMonitorEditorView.DataSource).Columns[columnsIndex].Caption, ((DataTable)dgMonitorEditorView.DataSource).Columns[columnsIndex].ColumnName.ToString(), dgMonitorEditorView.CurrentCell.Value.ToString()))
                     {
                         GetVitalSignDataTable();
                         this.dgMonitorEditorView.CurrentCell = this.dgMonitorEditorView.Rows[0].Cells[columnsIndex];
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 4
0
        public void GetVitalSignDataTable()
        {
            vitalSignDataTable = new OperationVitalSignRepository().GetVitalSignData(_patientID, _visitID, _operID, _eventNo, false);
            //List<string> itemNames = new List<string>();
            controlWidth  = this.Width;
            controlHeight = 0;
            if (vitalSignDataTable != null && vitalSignDataTable.Count > 0)
            {
                _vitalSignTable = new DataTable();
                _vitalSignTable.Columns.Add("实际时间");
                _vitalSignTable.Columns.Add("时间");
                DateTime vStartTime = vitalSignDataTable[0].TIME_POINT;
                DateTime vEndTime   = vitalSignDataTable[vitalSignDataTable.Count - 1].TIME_POINT;
                DataRow  dtRow;
                Dictionary <string, int> rowDict = new Dictionary <string, int>();
                if (vStartTime.Minute % 5 != 0)
                {
                    string columnName = vStartTime.ToString("HH:mm");
                    if (!rowDict.ContainsKey(columnName))
                    {
                        rowDict.Add(columnName, _vitalSignTable.Rows.Count);
                    }
                    dtRow    = _vitalSignTable.NewRow();
                    dtRow[0] = vStartTime.ToString("yyyy-MM-dd HH:mm");
                    dtRow[1] = columnName;
                    _vitalSignTable.Rows.Add(dtRow);
                    vStartTime = DateTimeEqual(vStartTime);
                }
                while (vStartTime <= vEndTime)
                {
                    string columnName = vStartTime.ToString("HH:mm");
                    if (!rowDict.ContainsKey(columnName))
                    {
                        rowDict.Add(columnName, _vitalSignTable.Rows.Count);
                    }
                    dtRow    = _vitalSignTable.NewRow();
                    dtRow[0] = vStartTime.ToString("yyyy-MM-dd HH:mm");
                    dtRow[1] = columnName;
                    _vitalSignTable.Rows.Add(dtRow);
                    vStartTime = vStartTime.AddMinutes(5);
                }
                string[] list  = ExtendApplicationContext.Current.DefaultMonitorItems.Split(',');
                string[] items = new OperationVitalSignRepository().GetVitalSignTitles(_patientID, _visitID, _operID, _eventNo);

                //新增默认体征项目
                if (items != null)
                {
                    List <string> itemList = new List <string>();
                    foreach (string item in list)
                    {
                        if (!itemList.Contains(item.Trim()))
                        {
                            itemList.Add(item);
                        }
                    }

                    if (items.Length > 0)
                    {
                        foreach (string item in items)
                        {
                            if (!itemList.Contains(item.Trim()))
                            {
                                itemList.Add(item);
                            }
                        }
                    }
                    list = itemList.ToArray();
                }
                //End Add

                foreach (string s in list)
                {
                    if (!string.IsNullOrEmpty(s))
                    {
                        string     columnName = ExtendApplicationContext.Current.MonitorFunctionCodeDict.ContainsKey(s) ? ExtendApplicationContext.Current.MonitorFunctionCodeDict[s] : s;
                        DataColumn column     = new DataColumn(columnName, typeof(string));
                        column.Caption = s;
                        //if (_vitalSignTable.Columns..Contains(column))
                        //{

                        //}
                        //else
                        _vitalSignTable.Columns.Add(column);
                    }
                }

                vitalSignDataTable.ForEach(row =>
                {
                    string columnName = row.TIME_POINT.ToString("HH:mm");
                    for (int i = 2; i < _vitalSignTable.Columns.Count; i++)
                    {
                        DataColumn column = _vitalSignTable.Columns[i];
                        if (row.ITEM_CODE == column.Caption)
                        {
                            if (rowDict.ContainsKey(columnName))
                            {
                                _vitalSignTable.Rows[rowDict[columnName]][i] = row.ITEM_VALUE;
                                break;
                            }
                        }
                    }
                });
                dgMonitorEditorView.DataSource = _vitalSignTable;
                for (int i = 2; i < dgMonitorEditorView.ColumnCount; i++)
                {
                    DataGridViewColumn column = dgMonitorEditorView.Columns[i];
                    column.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
                    column.ToolTipText  = _vitalSignTable.Columns[i].Caption;
                }
                dgMonitorEditorView.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                dgMonitorEditorView.Columns[0].ReadOnly     = true;
                dgMonitorEditorView.Columns[0].Frozen       = true;
                dgMonitorEditorView.Columns[0].Visible      = false;
                dgMonitorEditorView.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                dgMonitorEditorView.Columns[1].ReadOnly     = true;
                dgMonitorEditorView.Columns[1].Frozen       = true;
            }
            else
            {
                _vitalSignTable = new DataTable();
                _vitalSignTable.Columns.Add("实际时间");
                _vitalSignTable.Columns.Add("时间");
                string[] items = ExtendApplicationContext.Current.DefaultMonitorItems.Split(',');
                // string[] items = new OperationVitalSignService().GetVitalSignTitles(_patientID, _visitID, _operID, _eventNo);

                if (_eventNo == "1" && ExtendApplicationContext.Current.CustomSettingContext.IsAddPacuSpecialItems)//复苏项
                {
                    if (items != null)
                    {
                        string[] itemsCopy = new string[items.Length + 2];
                        itemsCopy[0] = "50008";
                        itemsCopy[1] = "50009";
                        for (int i = 0; i < items.Length; i++)
                        {
                            itemsCopy[i + 2] = items[i];
                        }

                        items = itemsCopy;
                    }
                }
                if (items != null && items.Length > 0)
                {
                    for (int i = 0; i < items.Length; i++)
                    {
                        string     columnName = ExtendApplicationContext.Current.MonitorFunctionCodeDict.ContainsKey(items[i]) ? ExtendApplicationContext.Current.MonitorFunctionCodeDict[items[i]] : items[i];
                        DataColumn column     = new DataColumn(columnName, typeof(string));
                        column.Caption = items[i];
                        _vitalSignTable.Columns.Add(column);
                    }
                    dgMonitorEditorView.DataSource = _vitalSignTable;
                    dgMonitorEditorView.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    dgMonitorEditorView.Columns[0].ReadOnly     = true;
                    dgMonitorEditorView.Columns[0].Visible      = false;
                    dgMonitorEditorView.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    dgMonitorEditorView.Columns[1].ReadOnly     = true;
                }
            }
            _newMonitorData = new NewMonitorData(_patientID, _visitID, _operID, _eventNo, ExtendApplicationContext.Current.LoginUser.USER_JOB_ID);
            if (dgMonitorEditorView.Height < 50)
            {
                dgMonitorEditorView.Height = 200;
            }
        }