using SysBaseLibs; using SysDataLibs.TableClass; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; namespace SysDataLibs { public class YtDataMappingObj { public YtDataMappingObj() { CreateDataMapping(); } DataTable _dtSpeicalMapping = null; DataTable _dtCheckTypeMapping = null; private void CreateDataMapping() { string lcSpecialsSql = " select * from v_ySpecials_Mapping "; string lcCheckTypeMappingSql = " select * from " + Tn.CheckProjectTypeMapping + " "; DBConnSql loDBConn = new DBConnSql(); try { if (loDBConn.Open()) { _dtSpeicalMapping = loDBConn.OpenDataTable(lcSpecialsSql); _dtCheckTypeMapping = loDBConn.OpenDataTable(lcCheckTypeMappingSql); } } catch (Exception err) { ThreadLog.LogException(err); } finally { loDBConn.Close(); } //return lodt; } private string GetCheckItemMethodId(string pcCheckProjectId) { string lcRetval = ""; if (CheckCach.CheckProjectCach.ContainsKey(pcCheckProjectId)) { return CheckCach.CheckProjectCach[pcCheckProjectId]; } DBConnSql loDbConn = new DBConnSql(); try { if (loDbConn.Open()) { rsQuery loQuery = loDbConn.OpenQuery("SELECT [CheckItemId],[CheckMethodId] FROM [CheckProjectType] WHERE [CheckProjectTypeID] =" + pcCheckProjectId); string lcItemId = loQuery.GetString("CheckItemId"); //string lcMethodId = loQuery.GetString("CheckMethodId"); lcRetval = lcItemId; } } catch (Exception err) { ThreadLog.LogException(err); } finally { loDbConn.Close(); } if (!string.IsNullOrEmpty(lcRetval)) { CheckCach.CheckProjectCach.Add(pcCheckProjectId, lcRetval); } return lcRetval; } public void Refresh() { //_dtSpeicalMapping.Clear(); _dtSpeicalMapping = null; _dtCheckTypeMapping = null; CreateDataMapping(); } /// /// 通过商品名称转换机构代码,获取第一个检索到的 /// /// 商品名称 /// 要转换的机构 /// public string GetSpecialsMappingCode(string pcSpecalName, string pcLittleKindId, string pcMappingType) { string lcRetVal = ""; //pcSpecalName = UtilStr.UAndT(pcSpecalName); if (_dtSpeicalMapping == null) { CreateDataMapping(); } if (_dtSpeicalMapping != null) { DataRow[] drArr = _dtSpeicalMapping.Select("Name='" + pcSpecalName.Trim() + "' and LittleKindID='" + pcLittleKindId + "'");// if (drArr != null && drArr.Length > 0 && drArr[0][pcMappingType] != null) { lcRetVal = drArr[0][pcMappingType].ToString(); } //lcRetVal = } // lcRetVal = _DiscList[pcCode]; return lcRetVal; } public CheckProjectTypeMapping_info GetCheckTypeMapping(string CheckTypeID) { CheckProjectTypeMapping_info loCheckMapping = null; if (_dtCheckTypeMapping == null) { CreateDataMapping(); } if (_dtCheckTypeMapping != null) { string checkItemId = GetCheckItemMethodId(CheckTypeID); DataRow[] drArr = _dtCheckTypeMapping.Select(CheckProjectTypeMapping_info.cCheckItemId + "='" + checkItemId.Trim() + "'");// if (drArr != null && drArr.Length > 0) { loCheckMapping = new CheckProjectTypeMapping_info(); loCheckMapping.CheckItemId = drArr[0][CheckProjectTypeMapping_info.cCheckItemId].ToString(); loCheckMapping.szCheckItemTypeLittleCode = drArr[0][CheckProjectTypeMapping_info.cszCheckItemTypeLittleCode].ToString(); loCheckMapping.szCheckItemTypeGreatCode = drArr[0][CheckProjectTypeMapping_info.cszCheckItemTypeGreatCode].ToString(); loCheckMapping.szCheckItemTypeContent = drArr[0][CheckProjectTypeMapping_info.cszCheckItemTypeContent].ToString(); } } return loCheckMapping; } } internal class CheckCach { public static Dictionary CheckProjectCach = new Dictionary(); } }