/// <summary> /// 初始化查询模板信息 /// </summary> /// <param name="p_trnQueryMode">查询模板的树节点。如果节点不是查询模板节点,不做任何操作</param> private void m_mthInitQueryModeInfo(TreeNode p_trnQueryMode) { m_mthClearQueryInfo(); if (!m_blnIsQueryModeTreeNode(p_trnQueryMode)) { return; } clsStatisticQueryModeValue objQueryMode = (clsStatisticQueryModeValue)p_trnQueryMode.Tag; clsStatisticDefinitionValue objDefinition = (clsStatisticDefinitionValue)p_trnQueryMode.Parent.Tag; m_mthInitQueryDisplayField(objDefinition, objQueryMode); m_mthInitQueryDetail(objDefinition, objQueryMode); }
public long m_lngAddNewStatisticMode(clsStatisticQueryModeValue p_objStatisticQueryModeValue, out string p_strQueryID) { clsStatisticsService m_objService = (clsStatisticsService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsStatisticsService)); long lngRes = 0; try { lngRes =(m_objService.m_lngAddNewStatisticMode (p_objStatisticQueryModeValue, out p_strQueryID)); } finally { ////m_objService.Dispose(); } return lngRes; }
/// <summary> /// 查询 /// </summary> private void m_mthSearch() { m_lsvQueryResult.Items.Clear(); TreeNode trnCurrentQueryMode = trvSearchType.SelectedNode; //判断是否查询模板的节点 if (!m_blnIsQueryModeTreeNode(trnCurrentQueryMode)) { return; } clsStatisticQueryModeValue objQueryMode = (clsStatisticQueryModeValue)trnCurrentQueryMode.Tag; clsStatisticDefinitionValue objDefinition = (clsStatisticDefinitionValue)trnCurrentQueryMode.Parent.Tag; m_mthMakeXmlContentValue(); string [,] strQueryReslutDArr = m_strGetResultArr(objDefinition, objQueryMode); m_mthDisplayResult(objDefinition, strQueryReslutDArr); }
/// <summary> /// 把Xml中用户定义值放置在DataGrid /// </summary> /// <param name="p_objDefinition">查询类型</param> /// <param name="p_objQueryMode">查询模板</param> private void m_mthLoadXmlToDataGrid(clsStatisticDefinitionValue p_objDefinition, clsStatisticQueryModeValue p_objQueryMode) { if (p_objDefinition == null || p_objQueryMode == null || m_blnIsEmptyString(p_objQueryMode.m_strXMLContent)) { return; } XmlDocument objXmlDoc = new XmlDocument(); try { objXmlDoc.LoadXml(p_objQueryMode.m_strXMLContent); } catch { return; } XmlNodeList xnlUserCondition = objXmlDoc.GetElementsByTagName(c_strUserCondiction); if (xnlUserCondition.Count <= 0) { return; } clsStatisticCondictionOptionValue [] objCondictionOptionArr = (clsStatisticCondictionOptionValue [])m_hasConditionField[p_objDefinition.m_strStatistic_ID]; if (objCondictionOptionArr == null) { long lngRes = m_objDomain.m_lngGetStatisticCondictionOptionValue(p_objDefinition.m_strStatistic_ID, out objCondictionOptionArr); if (lngRes <= 0 || objCondictionOptionArr == null) { return; } m_hasConditionField[p_objDefinition.m_strStatistic_ID] = objCondictionOptionArr; } foreach (XmlNode xndCondition in xnlUserCondition) { XmlNode xndParentCondition = xndCondition; m_mthAddUserConditionToDataGrid(xndCondition, objCondictionOptionArr); } dataGrid1.Tag = objXmlDoc; }
/// <summary> /// 获取查询结果 /// </summary> /// <param name="p_objDefinition">查询类型</param> /// <param name="p_objQueryMode">查询模板</param> /// <returns></returns> private string [,] m_strGetResultArr(clsStatisticDefinitionValue p_objDefinition, clsStatisticQueryModeValue p_objQueryMode) { if (p_objDefinition == null || m_blnIsEmptyString(p_objDefinition.m_strStatisticSQLContent) || m_blnIsEmptyString(p_objDefinition.m_strOpenClassParameters)) { return(null); } if (p_objQueryMode == null || m_blnIsEmptyString(p_objQueryMode.m_strSelectedFieldIndexes)) { return(null); } string [,] strQueryReslutDArr = null; long lngRes = m_objDomain.m_lngPerformSqlQuery(p_objDefinition.m_strStatisticSQLContent, p_objDefinition.m_strOpenClassParameters, p_objQueryMode.m_strSelectedFieldIndexes.Replace(c_strSplitSelectedFieldSymbol, ","), (XmlDocument)dataGrid1.Tag, out strQueryReslutDArr); if (lngRes <= 0 || strQueryReslutDArr == null) { return(null); } else { return(strQueryReslutDArr); } }
/// <summary> /// 初始化查询模板细节信息 /// </summary> /// <param name="p_objDefinition">查询类型</param> /// <param name="p_objQueryMode">查询模板</param> private void m_mthInitQueryDetail(clsStatisticDefinitionValue p_objDefinition, clsStatisticQueryModeValue p_objQueryMode) { if (p_objDefinition == null || m_blnIsEmptyString(p_objDefinition.m_strStatistic_ID) || p_objQueryMode == null || m_blnIsEmptyString(p_objQueryMode.m_strModeDesc)) { return; } m_lblSearchDesc.Text = "查询说明:" + p_objQueryMode.m_strModeDesc; m_mthLoadXmlToDataGrid(p_objDefinition, p_objQueryMode); }
/// <summary> /// 初始化查询结果字段 /// </summary> /// <param name="p_objDefinition">查询类型</param> /// <param name="p_objQueryMode">查询模板</param> private void m_mthInitQueryDisplayField(clsStatisticDefinitionValue p_objDefinition, clsStatisticQueryModeValue p_objQueryMode) { if (p_objDefinition == null || m_blnIsEmptyString(p_objDefinition.m_strStatistic_ID) || p_objQueryMode == null || m_blnIsEmptyString(p_objQueryMode.m_strSelectedFieldIndexes)) { return; } clsStatisticSelectedFieldValue [] objSelectedFieldArr = (clsStatisticSelectedFieldValue [])m_hasSelectedField[p_objDefinition.m_strStatistic_ID]; if (objSelectedFieldArr == null) { long lngRes = m_objDomain.m_lngGetAllStatisticSelectedField(p_objDefinition.m_strStatistic_ID, out objSelectedFieldArr); if (lngRes <= 0 || objSelectedFieldArr == null || objSelectedFieldArr.Length == 0) { return; } m_hasSelectedField[p_objDefinition.m_strStatistic_ID] = objSelectedFieldArr; } string[] strSelectedFieldsArr = null; if (p_objQueryMode.m_strSelectedFieldIndexes.IndexOf(c_strSplitSelectedFieldSymbol) < 0) { strSelectedFieldsArr = new string[1]; strSelectedFieldsArr[0] = p_objQueryMode.m_strSelectedFieldIndexes.Trim(); } else { strSelectedFieldsArr = p_objQueryMode.m_strSelectedFieldIndexes.Split(c_strSplitSelectedFieldSymbol.ToCharArray()); } for (int i = 0; i < strSelectedFieldsArr.Length; i++) { for (int j2 = 0; j2 < objSelectedFieldArr.Length; j2++) { if (objSelectedFieldArr[j2].m_strFieldName == strSelectedFieldsArr[i]) { m_lsvQueryResult.Columns.Add(objSelectedFieldArr[j2].m_strFieldDesc, 120, HorizontalAlignment.Left); break; } } } }