private void LoadBaseCodeDict(RecCodeCompasion recCodeCompasion, string codeName) { if (recCodeCompasion == null) { MessageBoxEx.ShowMessage("请先选择分类"); return; } this.Text = string.Format("病案上传编码对照-{0}", recCodeCompasion.CONFIG_NAME); this.dataTableView1.Rows.Clear(); string codeTypeName = recCodeCompasion.CODETYPE_NAME; if (string.IsNullOrEmpty(codeTypeName)) { MessageBoxEx.ShowError("字典类型代码为空"); return; } if (this.m_lstBaseCodeDicts == null) { this.m_lstBaseCodeDicts = new List <BaseCodeDict>(); } this.m_lstBaseCodeDicts.Clear(); this.col_MC.Items.Clear(); DataSet ds = null; short shRet = HerenHisCommonAccess.Instance.ExecuteQuery(recCodeCompasion.FORM_SQL, out ds); if (ds != null && ds.Tables[0].Rows.Count > 0) { if (this.m_lstBaseCodeDicts == null) { this.m_lstBaseCodeDicts = new List <BaseCodeDict>(); } this.m_lstBaseCodeDicts.Clear(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { BaseCodeDict item = new BaseCodeDict(); item.CODETYPE_NAME = ds.Tables[0].Rows[i]["CODETYPE_NAME"].ToString(); item.CODE_NAME = ds.Tables[0].Rows[i]["CODE_NAME"].ToString(); item.CODE_ID = ds.Tables[0].Rows[i]["CODE_ID"].ToString(); this.m_lstBaseCodeDicts.Add(item); } } if (this.m_lstBaseCodeDicts != null && !string.IsNullOrEmpty(codeName)) { this.m_lstBaseCodeDicts = this.m_lstBaseCodeDicts.Where(m => m.CODE_NAME.Contains(codeName)).ToList(); } if (this.m_lstBaseCodeDicts != null && m_lstBaseCodeDicts.Count > 0) { Pagination(1); } }
private void Pagination(int pageIndex) { if (this.m_lstBaseCodeDicts == null) { return; } this.col_MC.Items.Clear(); this.txt_PageIndex.Text = pageIndex.ToString(); int pageSize = int.Parse(lblPageSize.Text); int TotalCount = m_lstBaseCodeDicts.Count(); int pageCount = (int)Math.Ceiling((decimal)(TotalCount) / pageSize); this.lbl_TotalCount.Text = TotalCount.ToString(); this.lbl_PageCount.Text = pageCount.ToString(); refreshUI(); string codeTypeName = this.m_RecCodeCompasion.CODETYPE_NAME; List <RecCodeCompasion> lstRecCodeCompasions = null; short shRet = EMRDBLib.DbAccess.RecCodeCompasionAccess.Instance.GetRecCodeCompasions(codeTypeName, ref lstRecCodeCompasions); List <BaseCodeDict> lstBaseCodeDictPage = null; if (pageIndex != 0) { lstBaseCodeDictPage = m_lstBaseCodeDicts.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); } else { lstBaseCodeDictPage = m_lstBaseCodeDicts; } this.dataTableView1.Rows.Clear(); WorkProcess.Instance.Initialize(this, lstBaseCodeDictPage.Count, "正在加载......"); for (int i = 0; i < lstBaseCodeDictPage.Count; i++) { if (WorkProcess.Instance.Canceled) { break; } BaseCodeDict gygydm = lstBaseCodeDictPage[i]; WorkProcess.Instance.Show(i); int index = this.dataTableView1.Rows.Add(); DataGridViewRow row = this.dataTableView1.Rows[index]; string codeID = gygydm.CODE_ID; string codeName = gygydm.CODE_NAME; row.Cells[this.col_CODE_ID.Index].Value = codeID; row.Cells[this.col_CODE_NAME.Index].Value = codeName; if (lstRecCodeCompasions != null) { var recCodeCompasion = lstRecCodeCompasions.Where(m => m.CODE_ID == codeID && m.CODETYPE_NAME == codeTypeName).FirstOrDefault(); if (recCodeCompasion == null) { continue; } this.dataTableView1.SetRowState(index, RowState.Normal); row.Tag = recCodeCompasion; if (!string.IsNullOrEmpty(recCodeCompasion.MC)) { row.Cells[this.col_STATUS.Index].Value = "→"; } row.Cells[this.col_DM.Index].Value = recCodeCompasion.DM; row.Cells[this.col_MC.Index].Value = recCodeCompasion.MC; } } WorkProcess.Instance.Close(); if (this.col_MC.Items.Count == 0) { LoadMC(this.m_RecCodeCompasion); } }
public short GetBaseCodeDicts(string codeName, string szCodeTypeName, ref List <BaseCodeDict> lstBaseCodeDicts) { if (base.HerenHisAccess == null) { return(SystemData.ReturnValue.PARAM_ERROR); } StringBuilder sbField = new StringBuilder(); sbField.AppendFormat("*"); string szCondition = string.Format("1=1"); szCondition = string.Format("{0} AND {1} = '{2}' " , szCondition , SystemData.BaseCodeDictTable.CODETYPE_NAME , szCodeTypeName); if (!string.IsNullOrEmpty(codeName)) { szCondition = string.Format("{0} AND {1} like '%{2}%' " , szCondition , SystemData.BaseCodeDictTable.CODE_NAME , codeName); } string szOrderBy = string.Format("{0}", SystemData.BaseCodeDictTable.CODE_ID); string szSQL = string.Format(SystemData.SQL.SELECT_WHERE_ORDER_ASC , sbField.ToString(), SystemData.DataTable_HerenHis.BASE_CODE_DICT, szCondition, szOrderBy); IDataReader dataReader = null; try { dataReader = base.HerenHisAccess.ExecuteReader(szSQL, CommandType.Text); if (dataReader == null || dataReader.IsClosed || !dataReader.Read()) { return(SystemData.ReturnValue.RES_NO_FOUND); } if (lstBaseCodeDicts == null) { lstBaseCodeDicts = new List <BaseCodeDict>(); } do { BaseCodeDict item = new BaseCodeDict(); for (int i = 0; i < dataReader.FieldCount; i++) { if (dataReader.IsDBNull(i)) { continue; } switch (dataReader.GetName(i)) { case SystemData.BaseCodeDictTable.CODETYPE_ID: item.CODETYPE_ID = dataReader.GetValue(i).ToString(); break; case SystemData.BaseCodeDictTable.CODE_ID: item.CODE_ID = dataReader.GetValue(i).ToString(); break; case SystemData.BaseCodeDictTable.CODE_NAME: item.CODE_NAME = dataReader.GetValue(i).ToString(); break; case SystemData.BaseCodeDictTable.INPUT_CODE: item.INPUT_CODE = dataReader.GetValue(i).ToString(); break; default: break; } } lstBaseCodeDicts.Add(item); } 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.HerenHisAccess.CloseConnnection(false); } }