using System.Text;
using DataTransfersLibs.Models;
using SysBaseLibs;
using SysDataLibs.TableClass;
using SysSecLibs;
namespace DataTransfersLibs.Service
{
public class QueryDataService:IErrorMsg
{
public static QueryDataService Instance =>new QueryDataService();
private DBConnSql DbConn
{
get
{
DBConnSql loRetVal = new DBConnSql();
if (loRetVal.Open())
{
return loRetVal;
}
return null;
}
}
public string ErrorMsg { get; set; }
///
/// 检查用户合法性
///
///
public bool CheckUserValid(AccountInfo poAccount)
{
bool lbRetVal = false;
if (DbConn==null|| !DbConn.IsOpened)
{
ErrorMsg = "数据库连接失败!";
return false;
}
if (!string.IsNullOrEmpty(poAccount?.UserId) && !string.IsNullOrEmpty(poAccount.Password))
{
string lcSql = "SELECT [UserCode],[Password] FROM " + Tn.Sys_Users + " WHERE " + Sys_Users_info.cUserCode + "='" + poAccount.UserId + "'";
rsQuery loQuery = DbConn.OpenQuery(lcSql);
if (loQuery != null && loQuery.IsOpened && loQuery.RecCount == 1)
{
loQuery.MoveFirst();
if (SysSecurity.Decrypt(loQuery.GetString("Password")) == poAccount.Password)
{
lbRetVal = true;
this.LogInfo("查询数据,用户验证通过:UserID" + poAccount.UserId);
}
else
{
this.LogError("查询数据,用户密码不正确:UserID" + poAccount.UserId);
ErrorMsg = "用户密码不正确!";
}
}
else
{
this.LogError("查询数据,用户名不正确或该用户已经被锁定:UserID" + poAccount.UserId);
ErrorMsg = "用户名不正确或该用户已经被锁定!";
}
}
else
{
this.LogError("查询数据,用户对象为空");
ErrorMsg = "用户名不能为空!";
}
return lbRetVal;
}
public string GetSampleInfo(AccountInfo poAccount)
{
if (!CheckUserValid(poAccount))
return "{error:\"" + ErrorMsg + "\"}";
string lcRetval,
lcSql =
"SELECT [VarietyCategoryNo],[VarietyCategoryName],[FatherNo] FROM [dbo].[VarietyCategory] WHERE [IsCanChecked]='Y' AND [IsLock]='N'";
rsQuery loQuery = DbConn.OpenQuery(lcSql);
if (loQuery != null && loQuery.IsOpened && loQuery.RecCount > 0)
{
loQuery.MoveFirst();
StringBuilder sb=new StringBuilder();
sb.Append("[");
for (int i = 0; i < loQuery.RecCount; i++)
{
sb.Append(i != 0 ? ",{" : "{");
sb.AppendFormat("SampleNo:\"{0}\",SampleName:\"{1}\",FatherNo:\"{2}\"", loQuery.GetString("VarietyCategoryNo"), loQuery.GetString("VarietyCategoryName"), loQuery.GetString("FatherNo"));
sb.Append("}");
loQuery.MoveNext();
}
sb.Append("]");
lcRetval = sb.ToString();
}
else
{
lcRetval = "[]";
}
return lcRetval;
}
public string GetCheckItemInfo(AccountInfo poAccount)
{
if (!CheckUserValid(poAccount))
return "{error:\"" + ErrorMsg + "\"}";
string lcRetval,
lcSql =
"SELECT [CheckItemId],[ParentId],[CheckItemName] FROM [dbo].[CheckItem] WHERE [IsLock]='N' AND [CheckItemId]!='1'";
rsQuery loQuery = DbConn.OpenQuery(lcSql);
if (loQuery != null && loQuery.IsOpened && loQuery.RecCount > 0)
{
loQuery.MoveFirst();
StringBuilder sb=new StringBuilder();
sb.Append("[");
for (int i = 0; i < loQuery.RecCount; i++)
{
sb.Append(i != 0 ? ",{" : "{");
sb.AppendFormat("CheckItemNo:\"{0}\",CheckItemName:\"{1}\",FatherNo:\"{2}\"", loQuery.GetString("CheckItemId"), loQuery.GetString("CheckItemName"), loQuery.GetString("ParentId"));
sb.Append("}");
loQuery.MoveNext();
}
sb.Append("]");
lcRetval = sb.ToString();
}
else
{
lcRetval = "[]";
}
return lcRetval;
}
public string GetCheckMethodInfo(AccountInfo poAccount)
{
if (!CheckUserValid(poAccount))
return "{error:\"" + ErrorMsg + "\"}";
string lcRetval,
lcSql =
"SELECT [CheckMethodId],[CheckMethodName] FROM [dbo].[CheckMethod] WHERE [IsLock]='N'";
rsQuery loQuery = DbConn.OpenQuery(lcSql);
if (loQuery != null && loQuery.IsOpened && loQuery.RecCount > 0)
{
loQuery.MoveFirst();
StringBuilder sb=new StringBuilder();
sb.Append("[");
for (int i = 0; i < loQuery.RecCount; i++)
{
sb.Append(i != 0 ? ",{" : "{");
sb.AppendFormat("CheckMethodNo:\"{0}\",CheckMethodName:\"{1}\"", loQuery.GetString("CheckMethodId"), loQuery.GetString("CheckMethodName"));
sb.Append("}");
loQuery.MoveNext();
}
sb.Append("]");
lcRetval = sb.ToString();
}
else
{
lcRetval = "[]";
}
return lcRetval;
}
public string GetDistrictInfo(AccountInfo poAccount)
{
if (!CheckUserValid(poAccount))
return "{error:\"" + ErrorMsg + "\"}";
string lcRetval,
lcSql =
"SELECT [HabitatID],[Names] FROM [dbo].[Habitat] WHERE [IsLock]='0'";
rsQuery loQuery = DbConn.OpenQuery(lcSql);
if (loQuery != null && loQuery.IsOpened && loQuery.RecCount > 0)
{
loQuery.MoveFirst();
StringBuilder sb=new StringBuilder();
sb.Append("[");
for (int i = 0; i < loQuery.RecCount; i++)
{
sb.Append(i != 0 ? ",{" : "{");
sb.AppendFormat("DistrictNo:\"{0}\",DistrictName:\"{1}\"", loQuery.GetString("HabitatID"), loQuery.GetString("Names"));
sb.Append("}");
loQuery.MoveNext();
}
sb.Append("]");
lcRetval = sb.ToString();
}
else
{
lcRetval = "[]";
}
return lcRetval;
}
}
}