Esempio n. 1
0
        /// <summary>
        /// 新增一条专家质控病案分配主记录
        /// </summary>
        /// <param name="qcSpecialCheck"></param>
        /// <returns></returns>
        public short SaveQCSpecialCheck(QcSpecialCheck qcSpecialCheck)
        {
            if (qcSpecialCheck == null)
            {
                LogManager.Instance.WriteLog("DbAccess.SaveQCSpecialCheck", new string[] { "qcSpecialCheck" }
                                             , new object[] { qcSpecialCheck }, "参数不能为空");
                return(SystemData.ReturnValue.PARAM_ERROR);
            }

            string szField = string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}"
                                           , SystemData.QcSpecialCheckTable.CONFIG_ID
                                           , SystemData.QcSpecialCheckTable.DISCHARGE_MODE
                                           , SystemData.QcSpecialCheckTable.END_TIME
                                           , SystemData.QcSpecialCheckTable.NAME
                                           , SystemData.QcSpecialCheckTable.PATIENT_CONDITION
                                           , SystemData.QcSpecialCheckTable.PATIENT_COUNT
                                           , SystemData.QcSpecialCheckTable.PER_COUNT
                                           , SystemData.QcSpecialCheckTable.SPECIAL_COUNT
                                           , SystemData.QcSpecialCheckTable.START_TIME
                                           , SystemData.QcSpecialCheckTable.CREATER
                                           , SystemData.QcSpecialCheckTable.CREATE_TIME);

            string szValue = string.Format("'{0}','{1}',{2},'{3}','{4}',{5},{6},{7},{8},'{9}',{10}"
                                           , qcSpecialCheck.ConfigID
                                           , qcSpecialCheck.DischargeMode
                                           , base.MedQCAccess.GetSqlTimeFormat(qcSpecialCheck.EndTime)
                                           , qcSpecialCheck.Name
                                           , qcSpecialCheck.PatientCondition
                                           , qcSpecialCheck.PatientCount.ToString()
                                           , qcSpecialCheck.PerCount.ToString()
                                           , qcSpecialCheck.SpecialCount.ToString()
                                           , base.MedQCAccess.GetSqlTimeFormat(qcSpecialCheck.StartTime)
                                           , qcSpecialCheck.Creater
                                           , base.MedQCAccess.GetSqlTimeFormat(qcSpecialCheck.CreateTime));

            string szSQL = string.Format(SystemData.SQL.INSERT, SystemData.DataTable.QC_SPECIAL_CHECK, szField, szValue);

            int nCount = 0;

            try
            {
                nCount = base.MedQCAccess.ExecuteNonQuery(szSQL, CommandType.Text);
            }
            catch (Exception ex)
            {
                LogManager.Instance.WriteLog("DbAccess.SaveQCScoreCheck", new string[] { "szSQL" }, new object[] { szSQL }, ex);
                return(SystemData.ReturnValue.EXCEPTION);
            }
            if (nCount <= 0)
            {
                LogManager.Instance.WriteLog("DbAccess.SaveQCScoreCheck", new string[] { "szSQL" }, new object[] { szSQL }, "SQL语句执行后返回0!");
                return(SystemData.ReturnValue.ACCESS_ERROR);
            }
            return(SystemData.ReturnValue.OK);
        }
Esempio n. 2
0
        private void UpdateQcSpecialCheck()
        {
            if (this.dataGridView1.SelectedRows.Count <= 0)
            {
                MessageBoxEx.ShowWarning("未选中项,无法修改!");
                return;
            }
            DataGridViewRow row            = this.dataGridView1.SelectedRows[0];
            QcSpecialCheck  qcSpecialCheck = row.Tag as QcSpecialCheck;
            SpecialQCForm   form           = new SpecialQCForm(this.MainForm);

            form.QcSpecialCheck = qcSpecialCheck;
            form.ShowDialog();
            this.SetRowData(row, form.QcSpecialCheck);
        }
Esempio n. 3
0
        private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0 || e.ColumnIndex < 0)
            {
                return;
            }
            GlobalMethods.UI.SetCursor(this, Cursors.WaitCursor);
            DataGridViewRow row            = this.dataGridView1.SelectedRows[0];
            QcSpecialCheck  qcSpecialCheck = row.Tag as QcSpecialCheck;
            short           shRet          = SpecialAccess.Instance.UpdateQCSpeicalCheckState(qcSpecialCheck.ConfigID, (bool)row.Cells[0].Value ? "1" : "0");

            if (shRet != SystemData.ReturnValue.OK)
            {
                MessageBoxEx.ShowError("更新状态失败!");
            }
            GlobalMethods.UI.SetCursor(this, Cursors.Default);
        }
Esempio n. 4
0
        private void toolbtnDelete_Click(object sender, EventArgs e)
        {
            if (this.dataGridView1.SelectedRows.Count <= 0)
            {
                MessageBoxEx.ShowWarning("未选中要删除的项!");
                return;
            }
            QcSpecialCheck qcSpecialCheck = this.dataGridView1.SelectedRows[0].Tag as QcSpecialCheck;

            if (qcSpecialCheck == null)
            {
                MessageBoxEx.ShowError("无法获取专家质控分配信息,删除失败!");
                return;
            }
            //判断此专家分配信息对应的病人是否已抽检
            //有则不允许删除,只允许不显示

            bool  bChecked = false;
            short shRet    = SpecialAccess.Instance.IsQCSpecialChecked(qcSpecialCheck.ConfigID, ref bChecked);

            if (shRet != EMRDBLib.SystemData.ReturnValue.OK)
            {
                MessageBoxEx.ShowError("删除失败!");
                return;
            }
            if (bChecked)
            {
                MessageBoxEx.ShowMessage("当前抽检分配中存在已质检过的病人,不允许删除,您可以设置为质检完成!");
                return;
            }
            DialogResult result = MessageBoxEx.ShowConfirm("是否删除当前记录?");

            if (result == DialogResult.Cancel)
            {
                return;
            }
            shRet = SpecialAccess.Instance.DeleteQCSpecialCheck(qcSpecialCheck.ConfigID);
            if (shRet != EMRDBLib.SystemData.ReturnValue.OK)
            {
                MessageBoxEx.ShowError("删除失败!");
                return;
            }
            MessageBoxEx.ShowMessage("删除成功!");
            this.dataGridView1.Rows.Remove(this.dataGridView1.SelectedRows[0]);
        }
Esempio n. 5
0
        private void GetSpecialCheckConfigList()
        {
            this.dataGridView1.CellValueChanged -= dataGridView1_CellValueChanged;
            GlobalMethods.UI.SetCursor(this, Cursors.WaitCursor);
            this.ShowStatusMessage("正在查询数据,请稍候...");
            this.dataGridView1.Rows.Clear();
            List <QcSpecialCheck> lstQcSpecialCheck = null;
            DateTime dtStartTime = new DateTime(this.tooldtpDateFrom.Value.Year,
                                                this.tooldtpDateFrom.Value.Month,
                                                this.tooldtpDateFrom.Value.Day, 0, 0, 0);
            DateTime dtEndTime = new DateTime(this.tooldtpDateTo.Value.Year,
                                              this.tooldtpDateTo.Value.Month,
                                              this.tooldtpDateTo.Value.Day, 23, 59, 59);
            short shRet = SpecialAccess.Instance.GetQCSpecialCheckList(dtStartTime, dtEndTime, ref lstQcSpecialCheck);

            if (shRet != EMRDBLib.SystemData.ReturnValue.OK)
            {
                this.ShowStatusMessage(null);
                GlobalMethods.UI.SetCursor(this, Cursors.Default);
                return;
            }
            for (int patindex = 0; patindex < lstQcSpecialCheck.Count; patindex++)
            {
                QcSpecialCheck  qcSpecialCheck = lstQcSpecialCheck[patindex];
                int             nRowIndex      = this.dataGridView1.Rows.Add();
                DataGridViewRow row            = this.dataGridView1.Rows[nRowIndex];
                this.SetRowData(row, qcSpecialCheck);
                if (this.dataGridView1.Rows.Count <= 40)
                {
                    this.dataGridView1.Update();
                }
            }
            this.dataGridView1.EndEdit();
            this.ShowStatusMessage(null);
            this.dataGridView1.CellValueChanged += dataGridView1_CellValueChanged;
            GlobalMethods.UI.SetCursor(this, Cursors.Default);
        }
Esempio n. 6
0
        /// <summary>
        /// 获取专家质控病案分配主表信息列表
        /// </summary>
        /// <param name="lstQcSpecialCheck"></param>
        /// <returns></returns>
        public short GetQCSpecialCheckList(DateTime dtStartTime, DateTime dtEndTime, ref List <QcSpecialCheck> lstQcSpecialCheck)
        {
            if (base.MedQCAccess == null)
            {
                return(SystemData.ReturnValue.PARAM_ERROR);
            }
            if (dtEndTime == null || dtStartTime == null)
            {
                LogManager.Instance.WriteLog("DbAccess.GetQCSpecialCheckList", new string[] { "dtStartTime", "dtEndTime" }
                                             , new object[] { dtStartTime, dtEndTime }, "参数不能为空");
                return(SystemData.ReturnValue.PARAM_ERROR);
            }
            string szField = string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11}"
                                           , SystemData.QcSpecialCheckTable.CONFIG_ID
                                           , SystemData.QcSpecialCheckTable.DISCHARGE_MODE
                                           , SystemData.QcSpecialCheckTable.END_TIME
                                           , SystemData.QcSpecialCheckTable.NAME
                                           , SystemData.QcSpecialCheckTable.PATIENT_CONDITION
                                           , SystemData.QcSpecialCheckTable.PATIENT_COUNT
                                           , SystemData.QcSpecialCheckTable.PER_COUNT
                                           , SystemData.QcSpecialCheckTable.SPECIAL_COUNT
                                           , SystemData.QcSpecialCheckTable.START_TIME
                                           , SystemData.QcSpecialCheckTable.CREATER
                                           , SystemData.QcSpecialCheckTable.CREATE_TIME
                                           , SystemData.QcSpecialCheckTable.CHECKED

                                           );
            string szCondition = string.Format("1=1 and {0} >={1} and {0} <= {2} "
                                               , SystemData.QcSpecialCheckTable.CREATE_TIME
                                               , base.MedQCAccess.GetSqlTimeFormat(dtStartTime)
                                               , base.MedQCAccess.GetSqlTimeFormat(dtEndTime)
                                               );
            string szSQL = string.Format(SystemData.SQL.SELECT_WHERE
                                         , szField, SystemData.DataTable.QC_SPECIAL_CHECK, szCondition);

            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 (lstQcSpecialCheck == null)
                {
                    lstQcSpecialCheck = new List <QcSpecialCheck>();
                }
                do
                {
                    QcSpecialCheck qcSpecialCheck = new QcSpecialCheck();
                    if (!dataReader.IsDBNull(0))
                    {
                        qcSpecialCheck.ConfigID = dataReader.GetString(0);
                    }
                    if (!dataReader.IsDBNull(1))
                    {
                        qcSpecialCheck.DischargeMode = dataReader.GetString(1);
                    }
                    if (!dataReader.IsDBNull(2))
                    {
                        qcSpecialCheck.EndTime = dataReader.GetDateTime(2);
                    }
                    if (!dataReader.IsDBNull(3))
                    {
                        qcSpecialCheck.Name = dataReader.GetString(3);
                    }
                    if (!dataReader.IsDBNull(4))
                    {
                        qcSpecialCheck.PatientCondition = dataReader.GetString(4);
                    }
                    if (!dataReader.IsDBNull(5))
                    {
                        qcSpecialCheck.PatientCount = int.Parse(dataReader.GetValue(5).ToString());
                    }
                    if (!dataReader.IsDBNull(6))
                    {
                        qcSpecialCheck.PerCount = int.Parse(dataReader.GetValue(6).ToString());
                    }
                    if (!dataReader.IsDBNull(7))
                    {
                        qcSpecialCheck.SpecialCount = int.Parse(dataReader.GetValue(7).ToString());
                    }
                    if (!dataReader.IsDBNull(8))
                    {
                        qcSpecialCheck.StartTime = dataReader.GetDateTime(8);
                    }
                    if (!dataReader.IsDBNull(9))
                    {
                        qcSpecialCheck.Creater = dataReader.GetString(9);
                    }
                    if (!dataReader.IsDBNull(10))
                    {
                        qcSpecialCheck.CreateTime = dataReader.GetDateTime(10);
                    }
                    if (!dataReader.IsDBNull(11))
                    {
                        qcSpecialCheck.Checked = dataReader.GetString(11) == "1";
                    }
                    lstQcSpecialCheck.Add(qcSpecialCheck);
                } while (dataReader.Read());
                return(SystemData.ReturnValue.OK);
            }
            catch (Exception ex)
            {
                LogManager.Instance.WriteLog("DbAccess.GetQCScoreCheck", new string[] { "szSQL" }, new object[] { szSQL }, ex);
                return(SystemData.ReturnValue.EXCEPTION);
            }
            finally { base.MedQCAccess.CloseConnnection(false); }
        }