/// <summary> /// 病历质控系统,保存一条病案质控问题类别 /// </summary> /// <param name="qcEventType">病案质控问题类别</param> /// <returns>SystemData.ReturnValue</returns> public short Insert(QaEventTypeDict qcEventType) { if (qcEventType == null) { LogManager.Instance.WriteLog("QcCheckPointAccess.Insert", new string[] { "timeQCRule" } , new object[] { qcEventType }, "参数不能为空"); return(SystemData.ReturnValue.PARAM_ERROR); } string szField = string.Format("{0},{1},{2},{3},{4},{5}" , SystemData.QaEventTypeDictTable.APPLY_ENV , SystemData.QaEventTypeDictTable.INPUT_CODE , SystemData.QaEventTypeDictTable.MAX_SCORE , SystemData.QaEventTypeDictTable.PARENT_CODE , SystemData.QaEventTypeDictTable.QA_EVENT_TYPE , SystemData.QaEventTypeDictTable.SERIAL_NO); string szValue = string.Format("'{0}','{1}',{2},'{3}','{4}',{5}" , "MEDDOC" , qcEventType.INPUT_CODE , qcEventType.MAX_SCORE , qcEventType.PARENT_CODE , qcEventType.QA_EVENT_TYPE , qcEventType.SERIAL_NO); string szSQL = string.Format(SystemData.SQL.INSERT, SystemData.DataTable.QA_EVENT_TYPE_DICT, szField, szValue); 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); }
private void tsBtnAutoSerialNo_Click(object sender, EventArgs e) { //序号根据问题分类生成 //字典排序规则,先按分类序号,在按代码 List <QaEventTypeDict> lstQaEventTypeDict = null; short shRet = QaEventTypeDictAccess.Instance.GetQCEventTypeList(ref lstQaEventTypeDict); List <QcMsgDict> lstQcMsgDict = null; shRet = QcMsgDictAccess.Instance.GetAllQcMsgDictList(ref lstQcMsgDict); WorkProcess.Instance.Initialize(this, lstQcMsgDict.Count, "正在按分类排序生成问题字典序号"); foreach (QcMsgDict item in lstQcMsgDict) { if (WorkProcess.Instance.Canceled) { WorkProcess.Instance.Close(); break; } WorkProcess.Instance.Show(string.Format("已完成{0}条...", lstQcMsgDict.IndexOf(item)), lstQcMsgDict.IndexOf(item), true); QaEventTypeDict qaEventTypeDict = null; if (string.IsNullOrEmpty(item.MESSAGE_TITLE)) { qaEventTypeDict = lstQaEventTypeDict.Where(m => m.QA_EVENT_TYPE == item.QA_EVENT_TYPE && string.IsNullOrEmpty(m.PARENT_CODE)).FirstOrDefault(); } else { qaEventTypeDict = lstQaEventTypeDict.Where(m => m.QA_EVENT_TYPE == item.MESSAGE_TITLE && !string.IsNullOrEmpty(m.PARENT_CODE)).FirstOrDefault(); } if (qaEventTypeDict == null) { continue; } item.SERIAL_NO = qaEventTypeDict.SERIAL_NO; shRet = QcMsgDictAccess.Instance.Update(item, item.QC_MSG_CODE); if (shRet != SystemData.ReturnValue.OK) { MessageBoxEx.ShowError("生成失败"); WorkProcess.Instance.Close(); return; } } WorkProcess.Instance.Close(); this.OnRefreshView(); }
/// <summary> /// 增加一行记录 /// </summary> private void AddNewItem() { if (SystemParam.Instance.UserRight == null) { return; } EMRDBLib.QaEventTypeDict qcEventInfo = null; DataTableViewRow currRow = this.dataGridView1.CurrentRow; if (currRow != null && currRow.Index >= 0) { qcEventInfo = currRow.Tag as EMRDBLib.QaEventTypeDict; } if (qcEventInfo == null) { qcEventInfo = new QaEventTypeDict(); } else { qcEventInfo = qcEventInfo.Clone() as QaEventTypeDict; } int nRowIndex = 0; if (currRow != null) { nRowIndex = currRow.Index + 1; DataTableViewRow dataTableViewRow = new DataTableViewRow(); this.dataGridView1.Rows.Insert(nRowIndex, dataTableViewRow); } else { nRowIndex = this.dataGridView1.Rows.Add(); } DataTableViewRow row = this.dataGridView1.Rows[nRowIndex]; this.SetRowData(row, qcEventInfo); this.dataGridView1.Focus(); this.dataGridView1.SelectRow(row); this.dataGridView1.SetRowState(row, RowState.New); }
/// <summary> /// 病历质控系统,修改一条病案质控问题类别 /// </summary> /// <param name="qcEventType">病案质控问题类别</param> /// <param name="szOldInputCode">旧的病案质控问题类别名称</param> /// <returns>SystemData.ReturnValue</returns> public short Update(QaEventTypeDict qcEventType, string szOldInputCode) { if (qcEventType == null) { LogManager.Instance.WriteLog("QcMsgDictAccess.Update", new string[] { "qcMsgDict" } , new object[] { qcEventType }, "参数不能为空"); return(SystemData.ReturnValue.PARAM_ERROR); } if (base.MedQCAccess == null) { return(SystemData.ReturnValue.PARAM_ERROR); } qcEventType.APPLY_ENV = "MEDDOC"; string szField = string.Format("{0}='{1}',{2}='{3}',{4}={5},{6}='{7}',{8}='{9}',{10}={11}" , SystemData.QaEventTypeDictTable.APPLY_ENV, qcEventType.APPLY_ENV , SystemData.QaEventTypeDictTable.INPUT_CODE, qcEventType.INPUT_CODE , SystemData.QaEventTypeDictTable.MAX_SCORE, qcEventType.MAX_SCORE , SystemData.QaEventTypeDictTable.PARENT_CODE, qcEventType.PARENT_CODE , SystemData.QaEventTypeDictTable.QA_EVENT_TYPE, qcEventType.QA_EVENT_TYPE , SystemData.QaEventTypeDictTable.SERIAL_NO, qcEventType.SERIAL_NO); string szCondition = string.Format("{0}='{1}'", SystemData.QaEventTypeDictTable.INPUT_CODE, szOldInputCode); string szSQL = string.Format(SystemData.SQL.UPDATE, SystemData.DataTable.QA_EVENT_TYPE_DICT, szField, 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); }
/// <summary> /// 病历质控系统,获取病案质量问题分类信息字典列表 /// </summary> /// <param name="lstQCEventTypes">病案质量问题分类信息字典列表</param> /// <returns>SystemData.ReturnValue</returns> public short GetQCEventType(string szQAEventType, ref QaEventTypeDict qcEventType) { if (base.MedQCAccess == null) { return(SystemData.ReturnValue.PARAM_ERROR); } string szField = string.Format("{0},{1},{2},{3},{4}", SystemData.QaEventTypeDictTable.SERIAL_NO , SystemData.QaEventTypeDictTable.QA_EVENT_TYPE, SystemData.QaEventTypeDictTable.INPUT_CODE , SystemData.QaEventTypeDictTable.PARENT_CODE, SystemData.QaEventTypeDictTable.MAX_SCORE); string szCondtion = string.Format("{0} = '{1}'", SystemData.QaEventTypeDictTable.QA_EVENT_TYPE, szQAEventType); string szSQL = string.Format(SystemData.SQL.SELECT_WHERE_ORDER_ASC, szField , SystemData.DataTable.QA_EVENT_TYPE_DICT, szCondtion, SystemData.QaEventTypeDictTable.SERIAL_NO); 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 (qcEventType == null) { qcEventType = new QaEventTypeDict(); } if (!dataReader.IsDBNull(0)) { qcEventType.SERIAL_NO = int.Parse(dataReader.GetValue(0).ToString()); } if (!dataReader.IsDBNull(1)) { qcEventType.QA_EVENT_TYPE = dataReader.GetString(1); } if (!dataReader.IsDBNull(2)) { qcEventType.INPUT_CODE = dataReader.GetString(2); } if (!dataReader.IsDBNull(3)) { qcEventType.PARENT_CODE = dataReader.GetString(3); } if (!dataReader.IsDBNull(4)) { qcEventType.MAX_SCORE = Convert.ToDouble(dataReader.GetValue(4)); } return(SystemData.ReturnValue.OK); } catch (Exception ex) { LogManager.Instance.WriteLog("MedQCAccess.GetQCEventType", new string[] { "szSQL" }, new object[] { szSQL }, ex); return(SystemData.ReturnValue.EXCEPTION); } finally { if (dataReader != null) { dataReader.Close(); dataReader.Dispose(); dataReader = null; } base.MedQCAccess.CloseConnnection(false); } }