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();
}
}