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