Esempio n. 1
0
 private void dataTableView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
 {
     if (e.RowIndex < 0)
     {
         return;
     }
     DataGridViewRow row      = this.dataTableView1.Rows[e.RowIndex];
     MrArchive       mrAchive = this.dataTableView1.Rows[e.RowIndex].Tag as MrArchive;
 }
Esempio n. 2
0
        private void dataTableView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.RowIndex < 0)
            {
                return;
            }
            MrArchive mrArchive = this.dataTableView1.Rows[e.RowIndex].Tag as MrArchive;

            if (mrArchive == null)
            {
                return;
            }
            this.MainForm.SwitchPatient(mrArchive.PATIENT_ID, mrArchive.VISIT_ID);
        }
Esempio n. 3
0
        private void dataTableView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.RowIndex < 0)
            {
                return;
            }
            DataGridViewRow row      = this.dataTableView1.Rows[e.RowIndex];
            MrArchive       mrAchive = this.dataTableView1.Rows[e.RowIndex].Tag as MrArchive;

            if (e.ColumnIndex == this.colReject.Index)
            {
                if (MessageBoxEx.ShowConfirm("确认驳回吗?") != DialogResult.OK)
                {
                    return;
                }
                //修改病案状态
                MrIndex mrIndex = new MrIndex();
                mrIndex.MR_STATUS  = SystemData.MrStatus.Online;
                mrIndex.PATIENT_ID = mrAchive.PATIENT_ID;
                mrIndex.VISIT_ID   = mrAchive.VISIT_ID;
                mrIndex.VISIT_NO   = mrAchive.VISIT_NO;
                short shRet = MrIndexAccess.Instance.UpdateMrStatus(mrIndex);
                if (shRet != SystemData.ReturnValue.OK)
                {
                    MessageBoxEx.ShowMessage("驳回失败");
                    return;
                }
                QcMrIndex qcMrIndex = new QcMrIndex(mrAchive);
                qcMrIndex.RETURN_COUNT = mrAchive.RETURN_COUNT + 1;
                shRet = QcMrIndexAccess.Instance.Update(qcMrIndex);
                MessageBoxEx.ShowMessage("驳回成功");
                mrAchive.RETURN_COUNT = qcMrIndex.RETURN_COUNT;
                mrAchive.MR_STATUS    = mrIndex.MR_STATUS;
                if (mrAchive.RETURN_COUNT != 0)
                {
                    string szFlag = string.Empty;
                    for (int i = 0; i < mrAchive.RETURN_COUNT; i++)
                    {
                        szFlag += "🏁 ";
                    }
                    row.Cells[this.col_RETURN_COUNT.Index].Value           = szFlag;
                    row.Cells[this.col_RETURN_COUNT.Index].Style.ForeColor = Color.Red;
                }
                this.dataTableView1.Rows[e.RowIndex].Cells[this.col_ARCHIVE_TIME.Index].Value = null;
                this.dataTableView1.Rows[e.RowIndex].Cells[this.col_MR_STATUS.Index].Value    = SystemData.MrStatus.GetMedMrStatusDesc(mrAchive.MR_STATUS);
            }
            else if (e.ColumnIndex == this.colArchive.Index)
            {
                if (MessageBoxEx.ShowConfirm("确认归档吗?") != DialogResult.OK)
                {
                    return;
                }
                //修改病案状态
                MrIndex mrIndex = new MrIndex();
                mrIndex.MR_STATUS  = SystemData.MrStatus.Archive;
                mrIndex.PATIENT_ID = mrAchive.PATIENT_ID;
                mrIndex.VISIT_ID   = mrAchive.VISIT_ID;
                mrIndex.VISIT_NO   = mrAchive.VISIT_NO;
                short shRet = MrIndexAccess.Instance.UpdateMrStatus(mrIndex);
                if (shRet != SystemData.ReturnValue.OK)
                {
                    MessageBoxEx.ShowMessage("归档失败");
                    return;
                }
                QcMrIndex qcMrIndex = null;
                shRet = QcMrIndexAccess.Instance.GetQcMrIndex(mrAchive.PATIENT_ID, mrAchive.VISIT_ID, ref qcMrIndex);
                if (qcMrIndex == null)
                {
                    qcMrIndex = new QcMrIndex(mrAchive);
                }
                qcMrIndex.ARCHIVE_DOCTOR    = SystemParam.Instance.UserInfo.USER_NAME;
                qcMrIndex.ARCHIVE_DOCTOR_ID = SystemParam.Instance.UserInfo.USER_ID;
                qcMrIndex.ARCHIVE_TIME      = SysTimeHelper.Instance.Now;
                if (shRet == SystemData.ReturnValue.RES_NO_FOUND)
                {
                    shRet = QcMrIndexAccess.Instance.Insert(qcMrIndex);
                }
                else if (shRet == SystemData.ReturnValue.OK)
                {
                    shRet = QcMrIndexAccess.Instance.Update(qcMrIndex);
                }
                MessageBoxEx.ShowMessage("归档成功");
                mrAchive.MR_STATUS         = mrIndex.MR_STATUS;
                mrAchive.ARCHIVE_DOCTOR    = qcMrIndex.ARCHIVE_DOCTOR;
                mrAchive.ARCHIVE_DOCTOR_ID = qcMrIndex.ARCHIVE_DOCTOR_ID;
                mrAchive.ARCHIVE_TIME      = qcMrIndex.ARCHIVE_TIME;
                this.dataTableView1.Rows[e.RowIndex].Cells[this.col_ARCHIVE_TIME.Index].Value = mrAchive.ARCHIVE_TIME.ToString("yyyy-MM-dd HH:mm");
                this.dataTableView1.Rows[e.RowIndex].Cells[this.col_MR_STATUS.Index].Value    = SystemData.MrStatus.GetMedMrStatusDesc(mrAchive.MR_STATUS);
            }
            else if (e.ColumnIndex == this.col_CheckBox.Index)
            {
                if (row.Cells[this.col_CheckBox.Index].Value != null && row.Cells[this.col_CheckBox.Index].Value.ToString() == "True")
                {
                    row.Cells[this.col_CheckBox.Index].Value = false;
                }
                else
                {
                    row.Cells[this.col_CheckBox.Index].Value = true;
                }
            }
        }
Esempio n. 4
0
        private void btnArchive_Click(object sender, EventArgs e)
        {
            if (MessageBoxEx.ShowConfirm("确认归档选中的病案吗?") != DialogResult.OK)
            {
                return;
            }
            StringBuilder errorMessage = new StringBuilder();

            foreach (DataGridViewRow row in this.dataTableView1.Rows)
            {
                if (row.Cells[this.col_CheckBox.Index].Value == null ||
                    row.Cells[this.col_CheckBox.Index].Value.ToString().ToLower() == "false")
                {
                    continue;
                }
                MrArchive mrArchive = row.Tag as MrArchive;
                if (mrArchive == null)
                {
                    continue;
                }
                //修改病案状态
                MrIndex mrIndex = new MrIndex();
                mrIndex.MR_STATUS  = SystemData.MrStatus.Archive;
                mrIndex.PATIENT_ID = mrArchive.PATIENT_ID;
                mrIndex.VISIT_ID   = mrArchive.VISIT_ID;
                mrIndex.VISIT_NO   = mrArchive.VISIT_NO;
                short shRet = MrIndexAccess.Instance.UpdateMrStatus(mrIndex);
                if (shRet != SystemData.ReturnValue.OK)
                {
                    errorMessage.AppendFormat("{0}\r\n", mrArchive.PATIENT_NAME);
                    continue;
                }
                QcMrIndex qcMrIndex = null;
                shRet = QcMrIndexAccess.Instance.GetQcMrIndex(mrArchive.PATIENT_ID, mrArchive.VISIT_ID, ref qcMrIndex);
                if (qcMrIndex == null)
                {
                    qcMrIndex = new QcMrIndex(mrArchive);
                }
                qcMrIndex.ARCHIVE_DOCTOR    = SystemParam.Instance.UserInfo.USER_NAME;
                qcMrIndex.ARCHIVE_DOCTOR_ID = SystemParam.Instance.UserInfo.USER_ID;
                qcMrIndex.ARCHIVE_TIME      = SysTimeHelper.Instance.Now;
                if (shRet == SystemData.ReturnValue.RES_NO_FOUND)
                {
                    shRet = QcMrIndexAccess.Instance.Insert(qcMrIndex);
                }
                else if (shRet == SystemData.ReturnValue.OK)
                {
                    shRet = QcMrIndexAccess.Instance.Update(qcMrIndex);
                }
                mrArchive.MR_STATUS         = mrIndex.MR_STATUS;
                mrArchive.ARCHIVE_DOCTOR    = qcMrIndex.ARCHIVE_DOCTOR;
                mrArchive.ARCHIVE_DOCTOR_ID = qcMrIndex.ARCHIVE_DOCTOR_ID;
                mrArchive.ARCHIVE_TIME      = qcMrIndex.ARCHIVE_TIME;
                row.Cells[this.col_MR_STATUS.Index].Value    = SystemData.MrStatus.GetMedMrStatusDesc(mrArchive.MR_STATUS);
                row.Cells[this.col_ARCHIVE_TIME.Index].Value = mrArchive.ARCHIVE_TIME.ToString("yyyy-MM-dd HH:mm");
            }
            if (errorMessage.ToString() != string.Empty)
            {
                MessageBoxEx.ShowError("以下病案归档失败:\n" + errorMessage.ToString());
                return;
            }
            MessageBoxEx.ShowMessage("归档成功");
        }
Esempio n. 5
0
        public short GetMrArchives(DateTime dtVisitTimeBegin, DateTime dtVisitTimeEnd, DateTime dtDischargeTimeBegin, DateTime dtDischargeTimeEnd, string szMrStatus, string szDeptCode, ref List <MrArchive> lstMrArchives)
        {
            if (base.MedQCAccess == null)
            {
                return(SystemData.ReturnValue.PARAM_ERROR);
            }
            StringBuilder sbField = new StringBuilder();

            sbField.AppendFormat("{0},", SystemData.MrArchiveView.ARCHIVE_DOCTOR);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.ARCHIVE_DOCTOR_ID);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.ARCHIVE_TIME);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.DEPT_DISCHARGE_FROM);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.DEPT_DISCHARGE_NAME);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.DEPT_ADMISSION_NAME);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.DISCHARGE_DATE_TIME);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.ADMISSION_DATE_TIME);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.DEPT_ADMISSION_TO);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.MR_CLASS);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.HOS_QCMAN);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.MR_STATUS);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.PATIENT_SEX);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.PAPER_RECEIVE);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.PATIENT_ID);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.PATIENT_NAME);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.RETURN_COUNT);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.SUBMIT_DOCTOR);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.SUBMIT_DOCTOR_ID);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.SUBMIT_TIME);
            sbField.AppendFormat("{0},", SystemData.MrArchiveView.VISIT_ID);
            sbField.AppendFormat("{0}", SystemData.MrArchiveView.VISIT_NO);
            string szCondition = string.Format("1=1");

            if (dtVisitTimeBegin != SystemParam.Instance.DefaultTime &&
                dtVisitTimeEnd != SystemParam.Instance.DefaultTime)
            {
                szCondition = string.Format("{0} AND {1} > {2} AND {1} < {3}"
                                            , szCondition
                                            , SystemData.MrArchiveView.ADMISSION_DATE_TIME
                                            , base.MedQCAccess.GetSqlTimeFormat(dtVisitTimeBegin)
                                            , base.MedQCAccess.GetSqlTimeFormat(dtVisitTimeEnd));
            }
            if (dtDischargeTimeBegin != SystemParam.Instance.DefaultTime &&
                dtDischargeTimeEnd != SystemParam.Instance.DefaultTime)
            {
                szCondition = string.Format("{0} AND {1} > {2} AND {1} < {3}"
                                            , szCondition
                                            , SystemData.MrArchiveView.DISCHARGE_DATE_TIME
                                            , base.MedQCAccess.GetSqlTimeFormat(dtDischargeTimeBegin)
                                            , base.MedQCAccess.GetSqlTimeFormat(dtDischargeTimeEnd));
            }
            if (!string.IsNullOrEmpty(szDeptCode))
            {
                szCondition = string.Format("{0} AND {1} = '{2}'"
                                            , szCondition
                                            , SystemData.MrArchiveView.DEPT_ADMISSION_TO
                                            , szDeptCode);
            }
            if (!string.IsNullOrEmpty(szMrStatus))
            {
                szCondition = string.Format("{0} AND {1} ='{2}'"
                                            , szCondition
                                            , SystemData.MrArchiveView.MR_STATUS
                                            , szMrStatus);
            }
            string szOrderBy = string.Format("{0},{1}"
                                             , SystemData.MrArchiveView.DEPT_ADMISSION_NAME
                                             , SystemData.MrArchiveView.PATIENT_NAME);
            string szSQL = string.Format(SystemData.SQL.SELECT_WHERE_ORDER_ASC
                                         , sbField.ToString(), SystemData.DataView.MR_ARCHIVE_V, szCondition, szOrderBy);
            IDataReader dataReader = null;

            try
            {
                dataReader = base.MedQCAccess.ExecuteReader(szSQL, CommandType.Text);
                if (dataReader == null || dataReader.IsClosed || !dataReader.Read())
                {
                    return(SystemData.ReturnValue.RES_NO_FOUND);
                }
                if (lstMrArchives == null)
                {
                    lstMrArchives = new List <MrArchive>();
                }
                do
                {
                    MrArchive mrArchive = new MrArchive();
                    for (int i = 0; i < dataReader.FieldCount; i++)
                    {
                        if (dataReader.IsDBNull(i))
                        {
                            continue;
                        }
                        switch (dataReader.GetName(i))
                        {
                        case SystemData.MrArchiveView.ARCHIVE_DOCTOR:
                            mrArchive.ARCHIVE_DOCTOR = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.ARCHIVE_TIME:
                            mrArchive.ARCHIVE_TIME = dataReader.GetDateTime(i);
                            break;

                        case SystemData.MrArchiveView.ARCHIVE_DOCTOR_ID:
                            mrArchive.ARCHIVE_DOCTOR_ID = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.ADMISSION_DATE_TIME:
                            mrArchive.ADMISSION_DATE_TIME = dataReader.GetDateTime(i);
                            break;

                        case SystemData.MrArchiveView.DISCHARGE_DATE_TIME:
                            mrArchive.DISCHARGE_DATE_TIME = dataReader.GetDateTime(i);
                            break;

                        case SystemData.MrArchiveView.DEPT_DISCHARGE_FROM:
                            mrArchive.DEPT_DISCHARGE_FROM = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.DEPT_DISCHARGE_NAME:
                            mrArchive.DEPT_DISCHARGE_NAME = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.DEPT_ADMISSION_NAME:
                            mrArchive.DEPT_ADMISSION_NAME = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.DEPT_ADMISSION_TO:
                            mrArchive.DEPT_ADMISSION_TO = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.MR_CLASS:
                            mrArchive.MR_CLASS = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.MR_STATUS:
                            mrArchive.MR_STATUS = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.HOS_QCMAN:
                            mrArchive.HOS_QCMAN = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.RETURN_COUNT:
                            mrArchive.RETURN_COUNT = int.Parse(dataReader.GetValue(i).ToString());
                            break;

                        case SystemData.MrArchiveView.SUBMIT_DOCTOR:
                            mrArchive.SUBMIT_DOCTOR = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.SUBMIT_DOCTOR_ID:
                            mrArchive.SUBMIT_DOCTOR_ID = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.SUBMIT_TIME:
                            mrArchive.SUBMIT_TIME = dataReader.GetDateTime(i);
                            break;

                        case SystemData.MrArchiveView.VISIT_ID:
                            mrArchive.VISIT_ID = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.PATIENT_ID:
                            mrArchive.PATIENT_ID = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.PATIENT_NAME:
                            mrArchive.PATIENT_NAME = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.PATIENT_SEX:
                            mrArchive.PATIENT_SEX = dataReader.GetString(i);
                            break;

                        case SystemData.MrArchiveView.VISIT_NO:
                            mrArchive.VISIT_NO = dataReader.GetString(i);
                            break;

                        default: break;
                        }
                    }
                    lstMrArchives.Add(mrArchive);
                } while (dataReader.Read());
                return(SystemData.ReturnValue.OK);
            }
            catch (Exception ex)
            {
                LogManager.Instance.WriteLog("", new string[] { "szSQL" }, new object[] { szSQL }, ex);
                return(SystemData.ReturnValue.EXCEPTION);
            }
            finally { base.MedQCAccess.CloseConnnection(false); }
        }