Ejemplo n.º 1
0
        private void dataTableView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0)
            {
                return;
            }
            QcModifyNotice item = this.dataTableView1.Rows[e.RowIndex].Tag as QcModifyNotice;

            if (item == null)
            {
                return;
            }

            List <MedicalQcMsg> lstMedicalQcMsg = null;
            short shRet = MedicalQcMsgAccess.Instance.GetMedicalQcMsgs(item.MODIFY_NOTICE_ID, ref lstMedicalQcMsg);

            if (lstMedicalQcMsg == null || lstMedicalQcMsg.Count <= 0)
            {
                return;
            }
            int rowIndex = 0;

            if (string.IsNullOrEmpty(lstMedicalQcMsg[0].TOPIC_ID))
            {
                return;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 新增整改通知书
        /// </summary>
        private void InsertModifyNotice(QcModifyNotice qcModifyNotice)
        {
            if (MessageBoxEx.ShowConfirm("评分结果将以消息形式发送到医生工作台,确认发送通知书吗?") != DialogResult.OK)
            {
                return;
            }
            qcModifyNotice.MODIFY_NOTICE_ID   = qcModifyNotice.MakeID();
            qcModifyNotice.MODIFY_PERIOD      = this.cbo_MODIFY_PERIOD.Text;
            qcModifyNotice.MODIFY_REMARK      = this.rtb_MODIFY_REMARK.Text;
            qcModifyNotice.MODIFY_SCORE       = float.Parse(this.lbl_MODIFY_SCORE.Text);
            qcModifyNotice.NOTICE_TIME        = DateTime.Parse(this.lbl_NOTICE_TIME.Text);
            qcModifyNotice.PATIENT_ID         = SystemParam.Instance.PatVisitInfo.PATIENT_ID;
            qcModifyNotice.PATIENT_NAME       = SystemParam.Instance.PatVisitInfo.PATIENT_NAME;
            qcModifyNotice.QC_DEPT_CODE       = SystemParam.Instance.UserInfo.DEPT_CODE;
            qcModifyNotice.QC_DEPT_NAME       = SystemParam.Instance.UserInfo.DEPT_NAME;
            qcModifyNotice.QC_LEVEL           = SystemData.QcLevel.GetCodeByMrStatus(SystemParam.Instance.PatVisitInfo.MR_STATUS);
            qcModifyNotice.QC_MAN             = SystemParam.Instance.UserInfo.USER_NAME;
            qcModifyNotice.QC_MAN_ID          = SystemParam.Instance.UserInfo.USER_ID;
            qcModifyNotice.RECEIVER           = SystemParam.Instance.PatVisitInfo.INCHARGE_DOCTOR;
            qcModifyNotice.RECEIVER_ID        = SystemParam.Instance.PatVisitInfo.INCHARGE_DOCTOR_ID;
            qcModifyNotice.RECEIVER_DEPT_CODE = SystemParam.Instance.PatVisitInfo.DEPT_CODE;
            qcModifyNotice.RECEIVER_DEPT_NAME = SystemParam.Instance.PatVisitInfo.DEPT_NAME;
            qcModifyNotice.VISIT_ID           = SystemParam.Instance.PatVisitInfo.VISIT_ID;
            qcModifyNotice.VISIT_NO           = SystemParam.Instance.PatVisitInfo.VISIT_NO;
            qcModifyNotice.NOTICE_STATUS      = SystemData.NotifyStatus.Sended;
            short shRet = QcModifyNoticeAccess.Instance.Insert(qcModifyNotice);

            //新增质检信息 更新人工质控结果 新增
            foreach (DataGridViewRow item in this.dataTableView1.Rows)
            {
                QcCheckResult qcCheckResult = item.Tag as QcCheckResult;
                qcCheckResult.MODIFY_NOTICE_ID = qcModifyNotice.MODIFY_NOTICE_ID;
                MedicalQcMsg medicalQcMsg = item.Cells[this.col_MSG_ID.Index].Tag as MedicalQcMsg;
                UserInfo     userInfo     = item.Cells[this.col_INCHARGE_DOCTOR.Index].Tag as UserInfo;
                if (userInfo != null)
                {
                    qcCheckResult.DEPT_CODE          = userInfo.DEPT_CODE;
                    qcCheckResult.DEPT_IN_CHARGE     = userInfo.DEPT_NAME;
                    qcCheckResult.INCHARGE_DOCTOR    = userInfo.USER_NAME;
                    qcCheckResult.INCHARGE_DOCTOR_ID = userInfo.USER_ID;
                }
                if (medicalQcMsg == null)
                {
                    medicalQcMsg = this.ToQcMsg(qcCheckResult);
                    shRet        = MedicalQcMsgAccess.Instance.Insert(medicalQcMsg);
                }
                qcCheckResult.MSG_ID = medicalQcMsg.MSG_ID;
                shRet = QcCheckResultAccess.Instance.Update(qcCheckResult);
            }
            if (shRet == SystemData.ReturnValue.OK)
            {
                MessageBoxEx.ShowMessage("发送成功");
                this.lbl_NOTICE_STATUS.Text      = SystemData.NotifyStatus.GetCnName(qcModifyNotice.NOTICE_STATUS);
                this.lbl_NOTICE_STATUS.ForeColor = Color.Blue;
                this.herenButton1.Text           = "修改整改通知单";
            }
        }
Ejemplo n.º 3
0
        private void dataTableView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.RowIndex < 0)
            {
                return;
            }
            QcModifyNotice qcModifyNotice = this.dataTableView1.Rows[e.RowIndex].Tag as QcModifyNotice;

            if (qcModifyNotice == null)
            {
                return;
            }
            PatVisitInfo patVisitInfo = new PatVisitInfo();

            patVisitInfo.PATIENT_ID = qcModifyNotice.PATIENT_ID;
            patVisitInfo.VISIT_ID   = qcModifyNotice.VISIT_ID;
            this.MainForm.SwitchPatient(patVisitInfo);
        }
Ejemplo n.º 4
0
 private void DeleteQcModifyNotice(QcModifyNotice qcModifyNotice)
 {
     if (MessageBoxEx.ShowConfirm("您确定删除该条整改通知书吗?") == DialogResult.OK)
     {
         short shRet = QcModifyNoticeAccess.Instance.Delete(qcModifyNotice.MODIFY_NOTICE_ID);
         if (shRet == SystemData.ReturnValue.OK)
         {
             List <MedicalQcMsg> lstMedicalQcMsg = null;
             shRet = MedicalQcMsgAccess.Instance.GetMedicalQcMsgs(qcModifyNotice.MODIFY_NOTICE_ID, ref lstMedicalQcMsg);
             foreach (var item in lstMedicalQcMsg)
             {
                 MedicalQcMsgAccess.Instance.Delete(item.MSG_ID);
             }
             MessageBoxEx.ShowMessage("删除操作成功");
             this.dataTableView1.Rows.RemoveAt(dataTableView1.SelectedRows[0].Index);
             this.dataTableView2.Rows.Clear();
         }
     }
 }
Ejemplo n.º 5
0
 private void herenButton1_Click(object sender, EventArgs e)
 {
     try
     {
         if (m_QcModifyNotice == null)
         {
             m_QcModifyNotice = new QcModifyNotice();
         }
         if (m_QcModifyNotice.NOTICE_STATUS == SystemData.NotifyStatus.Draft)
         {
             this.InsertModifyNotice(m_QcModifyNotice);
         }
         else
         {
             this.UpdateModifyNotice(m_QcModifyNotice);
         }
     }
     catch (Exception ex)
     {
         MessageBoxEx.ShowMessage("操作失败", (ex.ToString()));
     }
 }
Ejemplo n.º 6
0
        private void dataTableView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0)
            {
                return;
            }
            QcModifyNotice item = this.dataTableView1.Rows[e.RowIndex].Tag as QcModifyNotice;

            if (item == null)
            {
                return;
            }
            if (e.ColumnIndex == col_1_btnDelete.Index)
            {
                this.DeleteQcModifyNotice(item);
                return;
            }
            this.dataTableView2.Rows.Clear();
            List <MedicalQcMsg> lstMedicalQcMsg = null;
            short shRet = MedicalQcMsgAccess.Instance.GetMedicalQcMsgs(item.MODIFY_NOTICE_ID, ref lstMedicalQcMsg);

            if (lstMedicalQcMsg == null || lstMedicalQcMsg.Count <= 0)
            {
                return;
            }

            int rowIndex = 0;

            foreach (var medicalQcMsg in lstMedicalQcMsg)
            {
                rowIndex = this.dataTableView2.Rows.Add();
                DataTableViewRow row = this.dataTableView2.Rows[rowIndex];
                row.Cells[this.col_2_DoctorComment.Index].Value  = medicalQcMsg.DOCTOR_COMMENT;
                row.Cells[this.col_2_doctorInCharge.Index].Value = medicalQcMsg.DOCTOR_IN_CHARGE;
                row.Cells[this.col_2_Point.Index].Value          = medicalQcMsg.POINT;
                row.Cells[this.col_2_QA_EVENT_TYPE.Index].Value  = medicalQcMsg.QA_EVENT_TYPE;
                row.Cells[this.col_2_QcMsgDict.Index].Value      = medicalQcMsg.MESSAGE;
                row.Cells[this.col_2_ERROR_COUNT.Index].Value    = medicalQcMsg.ERROR_COUNT;
                row.Cells[this.col_2_MSG_STATUS.Index].Value     = SystemData.MsgStatus.GetCnMsgState(medicalQcMsg.MSG_STATUS);
                if (medicalQcMsg.MSG_STATUS == SystemData.MsgStatus.Modified)
                {
                    row.Cells[this.col_2_MSG_STATUS.Index].Style.ForeColor = Color.Blue;
                }
                else if (medicalQcMsg.MSG_STATUS == SystemData.MsgStatus.Pass)
                {
                    row.Cells[this.col_2_MSG_STATUS.Index].Style.ForeColor = Color.Green;
                }
                else if (medicalQcMsg.MSG_STATUS == SystemData.MsgStatus.UnCheck)
                {
                    row.Cells[this.col_2_MSG_STATUS.Index].Style.ForeColor = Color.Red;
                }
                else if (medicalQcMsg.MSG_STATUS == SystemData.MsgStatus.Checked)
                {
                    row.Cells[this.col_2_MSG_STATUS.Index].Style.ForeColor = Color.Yellow;
                }
                if (medicalQcMsg.ASK_DATE_TIME != SystemParam.Instance.DefaultTime)
                {
                    row.Cells[this.col_2_AskDateTime.Index].Value = medicalQcMsg.ASK_DATE_TIME.ToString("yyyy-MM-dd HH:mm");
                }
                row.Selected = false;
                row.Tag      = medicalQcMsg;
            }
            this.dataTableView2.Rows[0].Selected = true;
            if (string.IsNullOrEmpty(lstMedicalQcMsg[0].TOPIC_ID))
            {
                return;
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 更新一条整改通知单
        /// </summary>
        /// <param name="timeQCRule">自动核查规则配置信息</param>
        /// <returns>SystemData.ReturnValue</returns>
        public short Update(QcModifyNotice qcModifyNotice)
        {
            if (qcModifyNotice == null)
            {
                LogManager.Instance.WriteLog("", new string[] { "" }
                                             , new object[] { qcModifyNotice }, "参数不能为空");
                return(SystemData.ReturnValue.PARAM_ERROR);
            }
            if (base.MedQCAccess == null)
            {
                return(SystemData.ReturnValue.PARAM_ERROR);
            }
            StringBuilder sbField = new StringBuilder();

            sbField.AppendFormat("{0}='{1}',"
                                 , SystemData.QcModifyNoticeTable.MODIFY_PERIOD, qcModifyNotice.MODIFY_PERIOD);
            sbField.AppendFormat("{0}='{1}',"
                                 , SystemData.QcModifyNoticeTable.MODIFY_REMARK, qcModifyNotice.MODIFY_REMARK);
            sbField.AppendFormat("{0}={1},"
                                 , SystemData.QcModifyNoticeTable.MODIFY_SCORE, qcModifyNotice.MODIFY_SCORE);
            sbField.AppendFormat("{0}={1},"
                                 , SystemData.QcModifyNoticeTable.NOTICE_STATUS, qcModifyNotice.NOTICE_STATUS);
            sbField.AppendFormat("{0}={1},"
                                 , SystemData.QcModifyNoticeTable.NOTICE_TIME, base.MedQCAccess.GetSqlTimeFormat(qcModifyNotice.NOTICE_TIME));
            sbField.AppendFormat("{0}='{1}',"
                                 , SystemData.QcModifyNoticeTable.PATIENT_ID, qcModifyNotice.PATIENT_ID);
            sbField.AppendFormat("{0}='{1}',"
                                 , SystemData.QcModifyNoticeTable.PATIENT_NAME, qcModifyNotice.PATIENT_NAME);
            sbField.AppendFormat("{0}='{1}',"
                                 , SystemData.QcModifyNoticeTable.QC_DEPT_CODE, qcModifyNotice.QC_DEPT_CODE);
            sbField.AppendFormat("{0}='{1}',"
                                 , SystemData.QcModifyNoticeTable.QC_DEPT_NAME, qcModifyNotice.QC_DEPT_NAME);
            sbField.AppendFormat("{0}={1},"
                                 , SystemData.QcModifyNoticeTable.QC_LEVEL, qcModifyNotice.QC_LEVEL);
            sbField.AppendFormat("{0}='{1}',"
                                 , SystemData.QcModifyNoticeTable.QC_MAN, qcModifyNotice.QC_MAN);
            sbField.AppendFormat("{0}='{1}',"
                                 , SystemData.QcModifyNoticeTable.QC_MAN_ID, qcModifyNotice.QC_MAN_ID);
            sbField.AppendFormat("{0}='{1}',"
                                 , SystemData.QcModifyNoticeTable.RECEIVER, qcModifyNotice.RECEIVER);
            sbField.AppendFormat("{0}='{1}',"
                                 , SystemData.QcModifyNoticeTable.RECEIVER_DEPT_CODE, qcModifyNotice.RECEIVER_DEPT_CODE);
            sbField.AppendFormat("{0}='{1}',"
                                 , SystemData.QcModifyNoticeTable.RECEIVER_DEPT_NAME, qcModifyNotice.RECEIVER_DEPT_NAME);
            sbField.AppendFormat("{0}='{1}',"
                                 , SystemData.QcModifyNoticeTable.VISIT_ID, qcModifyNotice.VISIT_ID);
            sbField.AppendFormat("{0}='{1}'"
                                 , SystemData.QcModifyNoticeTable.VISIT_NO, qcModifyNotice.VISIT_NO);
            string szCondition = string.Format("{0}='{1}'", SystemData.QcModifyNoticeTable.MODIFY_NOTICE_ID, qcModifyNotice.MODIFY_NOTICE_ID);
            string szSQL       = string.Format(SystemData.SQL.UPDATE, SystemData.DataTable.QC_MODIFY_NOTICE, sbField.ToString(), szCondition);
            int    nCount      = 0;

            try
            {
                nCount = base.MedQCAccess.ExecuteNonQuery(szSQL, CommandType.Text);
            }
            catch (Exception ex)
            {
                LogManager.Instance.WriteLog("", new string[] { "szSQL" }, new object[] { szSQL }, ex);
                return(SystemData.ReturnValue.EXCEPTION);
            }
            if (nCount <= 0)
            {
                LogManager.Instance.WriteLog("", new string[] { "szSQL" }, new object[] { szSQL }, "SQL语句执行后返回0!");
                return(SystemData.ReturnValue.EXCEPTION);
            }
            return(SystemData.ReturnValue.OK);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 获取所有自动核查结果信息列表
        /// </summary>
        /// <param name="lstQcCheckResults"></param>
        /// <returns>SystemData.ReturnValue</returns>
        public short GetQcModifyNotice(string szPatientID, string szVisitID, ref QcModifyNotice qcModifyNotice)
        {
            if (base.MedQCAccess == null)
            {
                return(SystemData.ReturnValue.PARAM_ERROR);
            }

            StringBuilder sbField = new StringBuilder();

            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.MODIFY_NOTICE_ID);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.MODIFY_PERIOD);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.MODIFY_REMARK);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.MODIFY_SCORE);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.MODIFY_TIME);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.NOTICE_STATUS);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.NOTICE_TIME);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.PATIENT_ID);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.PATIENT_NAME);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.QC_DEPT_CODE);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.QC_DEPT_NAME);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.QC_LEVEL);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.QC_MAN);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.QC_MAN_ID);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.RECEIVER);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.RECEIVER_DEPT_CODE);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.RECEIVER_DEPT_NAME);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.RECEIVER_ID);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.VISIT_ID);
            sbField.AppendFormat("{0}", SystemData.QcModifyNoticeTable.VISIT_NO);
            string szCondition = string.Format("1=1");

            if (!string.IsNullOrEmpty(szPatientID) && !string.IsNullOrEmpty(szVisitID))
            {
                szCondition = string.Format("{0} AND {1} = '{2}' AND {3}='{4}'"
                                            , szCondition
                                            , SystemData.QcCheckResultTable.PATIENT_ID
                                            , szPatientID
                                            , SystemData.QcCheckResultTable.VISIT_ID
                                            , szVisitID);
            }
            string szSQL = string.Format(SystemData.SQL.SELECT_WHERE
                                         , sbField.ToString(), SystemData.DataTable.QC_MODIFY_NOTICE, 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 (qcModifyNotice == null)
                {
                    qcModifyNotice = new QcModifyNotice();
                }
                for (int i = 0; i < dataReader.FieldCount; i++)
                {
                    if (dataReader.IsDBNull(i))
                    {
                        continue;
                    }
                    switch (dataReader.GetName(i))
                    {
                    case SystemData.QcModifyNoticeTable.MODIFY_NOTICE_ID:
                        qcModifyNotice.MODIFY_NOTICE_ID = dataReader.GetValue(i).ToString();
                        break;

                    case SystemData.QcModifyNoticeTable.MODIFY_PERIOD:
                        qcModifyNotice.MODIFY_PERIOD = dataReader.GetString(i);
                        break;

                    case SystemData.QcModifyNoticeTable.MODIFY_REMARK:
                        qcModifyNotice.MODIFY_REMARK = dataReader.GetString(i);
                        break;

                    case SystemData.QcModifyNoticeTable.MODIFY_SCORE:
                        qcModifyNotice.MODIFY_SCORE = float.Parse(dataReader.GetValue(i).ToString());
                        break;

                    case SystemData.QcModifyNoticeTable.NOTICE_STATUS:
                        qcModifyNotice.NOTICE_STATUS = int.Parse(dataReader.GetValue(i).ToString());
                        break;

                    case SystemData.QcModifyNoticeTable.NOTICE_TIME:
                        qcModifyNotice.NOTICE_TIME = dataReader.GetDateTime(i);
                        break;

                    case SystemData.QcModifyNoticeTable.PATIENT_ID:
                        qcModifyNotice.PATIENT_ID = dataReader.GetString(i);
                        break;

                    case SystemData.QcModifyNoticeTable.QC_DEPT_CODE:
                        qcModifyNotice.QC_DEPT_CODE = dataReader.GetString(i);
                        break;

                    case SystemData.QcModifyNoticeTable.QC_DEPT_NAME:
                        qcModifyNotice.QC_DEPT_NAME = dataReader.GetString(i);
                        break;

                    case SystemData.QcModifyNoticeTable.QC_LEVEL:
                        qcModifyNotice.QC_LEVEL = int.Parse(dataReader.GetValue(i).ToString());
                        break;

                    case SystemData.QcModifyNoticeTable.QC_MAN:
                        qcModifyNotice.QC_MAN = dataReader.GetString(i);
                        break;

                    case SystemData.QcModifyNoticeTable.QC_MAN_ID:
                        qcModifyNotice.QC_MAN_ID = dataReader.GetString(i);
                        break;

                    case SystemData.QcModifyNoticeTable.RECEIVER:
                        qcModifyNotice.RECEIVER = dataReader.GetString(i);
                        break;

                    case SystemData.QcModifyNoticeTable.RECEIVER_DEPT_CODE:
                        qcModifyNotice.RECEIVER_DEPT_CODE = dataReader.GetString(i);
                        break;

                    case SystemData.QcModifyNoticeTable.RECEIVER_DEPT_NAME:
                        qcModifyNotice.RECEIVER_DEPT_NAME = dataReader.GetString(i);
                        break;

                    case SystemData.QcModifyNoticeTable.VISIT_ID:
                        qcModifyNotice.VISIT_ID = dataReader.GetString(i);
                        break;

                    case SystemData.QcModifyNoticeTable.VISIT_NO:
                        qcModifyNotice.VISIT_NO = dataReader.GetString(i);
                        break;

                    case SystemData.QcModifyNoticeTable.RECEIVER_ID:
                        qcModifyNotice.RECEIVER_ID = dataReader.GetString(i);
                        break;

                    default: break;
                    }
                }

                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); }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 获取整改通知书
        /// </summary>
        /// <param name="lstQcCheckResults"></param>
        /// <returns>SystemData.ReturnValue</returns>
        public short GetQcModifyNotices(DateTime dtNoticeTimeBegin, DateTime dtNoticeTimeEnd, string szDeptCode, string szUserID, string szPatientID, string szPatientName, ref List <QcModifyNotice> lstQcModifyNotices)
        {
            if (base.MedQCAccess == null)
            {
                return(SystemData.ReturnValue.PARAM_ERROR);
            }
            StringBuilder sbField = new StringBuilder();

            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.MODIFY_NOTICE_ID);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.MODIFY_PERIOD);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.MODIFY_REMARK);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.MODIFY_SCORE);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.MODIFY_TIME);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.NOTICE_STATUS);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.NOTICE_TIME);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.PATIENT_ID);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.PATIENT_NAME);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.QC_DEPT_CODE);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.QC_DEPT_NAME);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.QC_LEVEL);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.QC_MAN);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.QC_MAN_ID);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.RECEIVER);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.RECEIVER_DEPT_CODE);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.RECEIVER_DEPT_NAME);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.RECEIVER_ID);
            sbField.AppendFormat("{0},", SystemData.QcModifyNoticeTable.VISIT_ID);
            sbField.AppendFormat("{0}", SystemData.QcModifyNoticeTable.VISIT_NO);

            string szCondition = string.Format("1=1");

            szCondition = string.Format("{0} AND {1} >= {2} AND {1} <= {3}"
                                        , szCondition
                                        , SystemData.QcModifyNoticeTable.NOTICE_TIME
                                        , base.MedQCAccess.GetSqlTimeFormat(dtNoticeTimeBegin)
                                        , base.MedQCAccess.GetSqlTimeFormat(dtNoticeTimeEnd));
            if (!string.IsNullOrEmpty(szDeptCode))
            {
                szCondition = string.Format("{0} AND {1}='{2}'"
                                            , szCondition
                                            , SystemData.QcModifyNoticeTable.RECEIVER_DEPT_CODE
                                            , szDeptCode);
            }
            if (!string.IsNullOrEmpty(szUserID))
            {
                szCondition = string.Format("{0} AND {1}='{2}'"
                                            , szCondition
                                            , SystemData.QcModifyNoticeTable.QC_MAN_ID
                                            , szUserID);
            }
            if (!string.IsNullOrEmpty(szPatientID))
            {
                szCondition = string.Format("{0} AND {1} like '%{2}%'"
                                            , szCondition
                                            , SystemData.QcModifyNoticeTable.PATIENT_ID
                                            , szPatientID);
            }
            if (!string.IsNullOrEmpty(szPatientName))
            {
                szCondition = string.Format("{0} AND {1} like '%{2}%'"
                                            , szCondition
                                            , SystemData.QcModifyNoticeTable.PATIENT_NAME
                                            , szPatientName);
            }
            string szOrderBy = string.Format("{0}", SystemData.QcModifyNoticeTable.NOTICE_TIME);
            string szSQL     = string.Format(SystemData.SQL.SELECT_WHERE_ORDER_ASC
                                             , sbField.ToString(), SystemData.DataTable.QC_MODIFY_NOTICE, 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 (lstQcModifyNotices == null)
                {
                    lstQcModifyNotices = new List <QcModifyNotice>();
                }
                do
                {
                    QcModifyNotice qcModifyNotice = new QcModifyNotice();
                    for (int i = 0; i < dataReader.FieldCount; i++)
                    {
                        if (dataReader.IsDBNull(i))
                        {
                            continue;
                        }
                        switch (dataReader.GetName(i))
                        {
                        case SystemData.QcModifyNoticeTable.MODIFY_NOTICE_ID:
                            qcModifyNotice.MODIFY_NOTICE_ID = dataReader.GetValue(i).ToString();
                            break;

                        case SystemData.QcModifyNoticeTable.MODIFY_PERIOD:
                            qcModifyNotice.MODIFY_PERIOD = dataReader.GetString(i);
                            break;

                        case SystemData.QcModifyNoticeTable.MODIFY_REMARK:
                            qcModifyNotice.MODIFY_REMARK = dataReader.GetString(i);
                            break;

                        case SystemData.QcModifyNoticeTable.MODIFY_SCORE:
                            qcModifyNotice.MODIFY_SCORE = float.Parse(dataReader.GetValue(i).ToString());
                            break;

                        case SystemData.QcModifyNoticeTable.NOTICE_STATUS:
                            qcModifyNotice.NOTICE_STATUS = int.Parse(dataReader.GetValue(i).ToString());
                            break;

                        case SystemData.QcModifyNoticeTable.NOTICE_TIME:
                            qcModifyNotice.NOTICE_TIME = dataReader.GetDateTime(i);
                            break;

                        case SystemData.QcModifyNoticeTable.PATIENT_ID:
                            qcModifyNotice.PATIENT_ID = dataReader.GetString(i);
                            break;

                        case SystemData.QcModifyNoticeTable.PATIENT_NAME:
                            qcModifyNotice.PATIENT_NAME = dataReader.GetString(i);
                            break;

                        case SystemData.QcModifyNoticeTable.QC_DEPT_CODE:
                            qcModifyNotice.QC_DEPT_CODE = dataReader.GetString(i);
                            break;

                        case SystemData.QcModifyNoticeTable.QC_DEPT_NAME:
                            qcModifyNotice.QC_DEPT_NAME = dataReader.GetString(i);
                            break;

                        case SystemData.QcModifyNoticeTable.QC_LEVEL:
                            qcModifyNotice.QC_LEVEL = int.Parse(dataReader.GetValue(i).ToString());
                            break;

                        case SystemData.QcModifyNoticeTable.QC_MAN:
                            qcModifyNotice.QC_MAN = dataReader.GetString(i);
                            break;

                        case SystemData.QcModifyNoticeTable.QC_MAN_ID:
                            qcModifyNotice.QC_MAN_ID = dataReader.GetString(i);
                            break;

                        case SystemData.QcModifyNoticeTable.RECEIVER:
                            qcModifyNotice.RECEIVER = dataReader.GetString(i);
                            break;

                        case SystemData.QcModifyNoticeTable.RECEIVER_DEPT_CODE:
                            qcModifyNotice.RECEIVER_DEPT_CODE = dataReader.GetString(i);
                            break;

                        case SystemData.QcModifyNoticeTable.RECEIVER_DEPT_NAME:
                            qcModifyNotice.RECEIVER_DEPT_NAME = dataReader.GetString(i);
                            break;

                        case SystemData.QcModifyNoticeTable.VISIT_ID:
                            qcModifyNotice.VISIT_ID = dataReader.GetString(i);
                            break;

                        case SystemData.QcModifyNoticeTable.VISIT_NO:
                            qcModifyNotice.VISIT_NO = dataReader.GetString(i);
                            break;

                        default: break;
                        }
                    }
                    lstQcModifyNotices.Add(qcModifyNotice);
                } 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); }
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 修改整改通知书
        /// </summary>
        private void UpdateModifyNotice(QcModifyNotice qcModifyNotice)
        {
            qcModifyNotice.MODIFY_PERIOD      = this.cbo_MODIFY_PERIOD.Text;
            qcModifyNotice.MODIFY_REMARK      = this.rtb_MODIFY_REMARK.Text;
            qcModifyNotice.MODIFY_SCORE       = float.Parse(this.lbl_MODIFY_SCORE.Text);
            qcModifyNotice.NOTICE_TIME        = DateTime.Parse(this.lbl_NOTICE_TIME.Text);
            qcModifyNotice.PATIENT_ID         = SystemParam.Instance.PatVisitInfo.PATIENT_ID;
            qcModifyNotice.QC_DEPT_CODE       = SystemParam.Instance.UserInfo.DEPT_CODE;
            qcModifyNotice.QC_DEPT_NAME       = SystemParam.Instance.UserInfo.DEPT_NAME;
            qcModifyNotice.QC_LEVEL           = SystemData.QcLevel.GetCodeByMrStatus(SystemParam.Instance.PatVisitInfo.MR_STATUS);
            qcModifyNotice.QC_MAN             = SystemParam.Instance.UserInfo.USER_NAME;
            qcModifyNotice.QC_MAN_ID          = SystemParam.Instance.UserInfo.USER_ID;
            qcModifyNotice.RECEIVER           = SystemParam.Instance.PatVisitInfo.INCHARGE_DOCTOR;
            qcModifyNotice.RECEIVER_ID        = SystemParam.Instance.PatVisitInfo.INCHARGE_DOCTOR_ID;
            qcModifyNotice.RECEIVER_DEPT_CODE = SystemParam.Instance.PatVisitInfo.DEPT_CODE;
            qcModifyNotice.RECEIVER_DEPT_NAME = SystemParam.Instance.PatVisitInfo.DEPT_NAME;
            qcModifyNotice.VISIT_ID           = SystemParam.Instance.PatVisitInfo.VISIT_ID;
            qcModifyNotice.VISIT_NO           = SystemParam.Instance.PatVisitInfo.VISIT_NO;
            qcModifyNotice.NOTICE_STATUS      = SystemData.NotifyStatus.Sended;
            qcModifyNotice.NOTICE_TIME        = SysTimeHelper.Instance.Now;
            short shRet = QcModifyNoticeAccess.Instance.Update(qcModifyNotice);

            //更新人工质控和质检信息 更新人工质控责任医生和责任科室,同步更新反馈消息
            foreach (DataGridViewRow item in this.dataTableView1.Rows)
            {
                QcCheckResult qcCheckResult = item.Tag as QcCheckResult;
                qcCheckResult.MODIFY_NOTICE_ID = qcModifyNotice.MODIFY_NOTICE_ID;
                MedicalQcMsg medicalQcMsg = item.Cells[this.col_MSG_ID.Index].Tag as MedicalQcMsg;
                UserInfo     userInfo     = item.Cells[this.col_INCHARGE_DOCTOR.Index].Tag as UserInfo;
                if (userInfo != null)
                {
                    qcCheckResult.DEPT_CODE          = userInfo.DEPT_CODE;
                    qcCheckResult.DEPT_IN_CHARGE     = userInfo.DEPT_NAME;
                    qcCheckResult.INCHARGE_DOCTOR    = userInfo.USER_NAME;
                    qcCheckResult.INCHARGE_DOCTOR_ID = userInfo.USER_ID;
                }
                if (medicalQcMsg == null)
                {
                    medicalQcMsg = this.ToQcMsg(qcCheckResult);
                    shRet        = MedicalQcMsgAccess.Instance.Insert(medicalQcMsg);
                    item.Cells[this.col_MSG_ID.Index].Tag = medicalQcMsg;
                }
                else
                {
                    if (userInfo != null)
                    {
                        medicalQcMsg.DEPT_STAYED         = userInfo.DEPT_CODE;
                        medicalQcMsg.DEPT_NAME           = userInfo.DEPT_NAME;
                        medicalQcMsg.DOCTOR_IN_CHARGE    = userInfo.USER_NAME;
                        medicalQcMsg.DOCTOR_IN_CHARGE_ID = userInfo.USER_ID;
                        shRet = MedicalQcMsgAccess.Instance.Update(medicalQcMsg);
                    }
                }
                qcCheckResult.MSG_ID = medicalQcMsg.MSG_ID;
                shRet = QcCheckResultAccess.Instance.Update(qcCheckResult);
            }
            if (shRet == SystemData.ReturnValue.OK)
            {
                MessageBoxEx.ShowMessage("修改成功");
                this.lbl_NOTICE_STATUS.Text      = SystemData.NotifyStatus.GetCnName(qcModifyNotice.NOTICE_STATUS);
                this.lbl_NOTICE_TIME.Text        = this.m_QcModifyNotice.NOTICE_TIME.ToString("yyyy-MM-dd HH:mm");
                this.lbl_NOTICE_STATUS.ForeColor = Color.Blue;
            }
            this.Tag = qcModifyNotice;
        }