AccountDBService.cs 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Linq;
  5. using System.Text;
  6. using PMS.BusinessModels.Account;
  7. using PMS.BusinessModels.Person;
  8. using PMS.EntityModels.MedicalRecordManager;
  9. using PMS.EntityModels.SysManager;
  10. using PMS.Plugins.Common;
  11. using QWPlatform.DataIntface;
  12. using QWPlatform.IService;
  13. using QWPlatform.Models;
  14. using QWPlatform.SystemLibrary;
  15. namespace PMS.DBService.SysManager
  16. {
  17. /// <summary>
  18. /// 创 建 人:王海洋
  19. /// 创建日期:2018-12-8
  20. /// 功能描述:系统账户数据层
  21. /// </summary>
  22. public class AccountDBService : DataServiceBase
  23. {
  24. protected override void DBFctory(string conName)
  25. {
  26. base.DBFctory(conName);
  27. }
  28. /// <summary>
  29. /// 增加数据记录
  30. /// </summary>
  31. /// <param name="model"></param>
  32. /// <returns></returns>
  33. public int Add(AccountModel model)
  34. {
  35. model.SetDataFactory(this.DataFactoryObject);
  36. return model.Insert();
  37. }
  38. /// <summary>
  39. /// 增加数据记录
  40. /// </summary>
  41. /// <param name="model"></param>
  42. /// <returns></returns>
  43. public int Add(AccountModel model, ITransaction trans)
  44. {
  45. model.SetDataFactory(this.DataFactoryObject);
  46. if (trans == null)
  47. {
  48. return model.Insert();
  49. }
  50. else
  51. {
  52. return model.Insert(trans);
  53. }
  54. }
  55. /// <summary>
  56. /// 更新数据库记录
  57. /// </summary>
  58. /// <param name="model"></param>
  59. /// <returns></returns>
  60. public int Update(AccountModel model)
  61. {
  62. model.SetDataFactory(this.DataFactoryObject);
  63. return model.Where("ID")
  64. .Update("登录时间", "登录IP", "在线");
  65. }
  66. /// <summary>
  67. /// 更新数据库记录
  68. /// </summary>
  69. /// <param name="model"></param>
  70. /// <returns></returns>
  71. public int Update(AccountModel model, ITransaction trans)
  72. {
  73. model.SetDataFactory(this.DataFactoryObject);
  74. List<string> where = new List<string>();
  75. where.Add("ID");
  76. if (trans == null)
  77. {
  78. return model.Update(where, string.Empty);
  79. }
  80. else
  81. {
  82. return model.Update(trans, where, string.Empty);
  83. }
  84. }
  85. /// <summary>
  86. /// 删除数据记录
  87. /// </summary>
  88. /// <param name="model"></param>
  89. /// <returns></returns>
  90. public int Delete(AccountModel model)
  91. {
  92. model.SetDataFactory(this.DataFactoryObject);
  93. return model.Delete("ID");
  94. }
  95. /// <summary>
  96. /// 删除数据记录
  97. /// </summary>
  98. /// <param name="model"></param>
  99. /// <returns></returns>
  100. public int Delete(AccountModel model, ITransaction trans)
  101. {
  102. model.SetDataFactory(this.DataFactoryObject);
  103. if (trans == null)
  104. {
  105. return model.Delete("ID");
  106. }
  107. else
  108. {
  109. return model.Delete(trans, "ID");
  110. }
  111. }
  112. /// <summary>
  113. /// 查询数据对象并进行赋值
  114. /// </summary>
  115. /// <returns></returns>
  116. public AccountModel Select(AccountModel model)
  117. {
  118. model.SetDataFactory(this.DataFactoryObject);
  119. model.Select();
  120. return model;
  121. }
  122. /// <summary>
  123. /// 根据账户ID获取相应的
  124. /// </summary>
  125. /// <param name="uid"></param>
  126. /// <returns></returns>
  127. public DataTable GetAccountInfo(int uid)
  128. {//todo:
  129. var sql = @"Select a.Id,a.人员id,a.账户, a.微信id, a.姓名, a.邮箱,a.类型,a.渠道所有项目, c.名称 as 渠道名称,p.站点id as 机构ID, p.职务,
  130. (select 显示名 from 基础编码 where 分类ID ='56411293-988F-42CA-8B84-5A34DD37C7E6' and 代码 = p.职务) as 职务名称,
  131. (select wm_concat(角色id) from 系统角色关系 r where r.账户id = a.Id ) as 角色ID,
  132. a.公司ID, p.项目ID, p.性质
  133. From 系统账户 a, 渠道信息 c,人员信息 p
  134. Where a.公司id = c.Id
  135. and a.人员id = p.id(+)
  136. and a.Id = :ID ";
  137. return this.SqlBuilder.SqlText(sql)
  138. .Parameters("ID", uid)
  139. .Select();
  140. }
  141. //执行登录
  142. public AccountModel Login(string account, string pwd)
  143. {
  144. var dt = this.SelectBuilder.Columns("*")
  145. .From("系统账户")
  146. .Where("账户", account)
  147. .Where("密码", pwd)
  148. .Select();
  149. var list = dt.ToModels<AccountModel>();
  150. if (list != null)
  151. {
  152. return list.First();
  153. }
  154. return null;
  155. }
  156. /// <summary>
  157. /// 列表查询
  158. /// </summary>
  159. /// <returns></returns>
  160. public List<AccountModel> SelectList(AccountModel model)
  161. {
  162. model.SetDataFactory(this.DataFactoryObject);
  163. return model.SelectList<AccountModel>();
  164. }
  165. //获取机构信息
  166. public DataTable GetOrgs()
  167. {
  168. return this.SelectBuilder.Columns("ID", "编码", "名称")
  169. .From("渠道信息")
  170. .OrderBy("编码 ASC")
  171. .Select();
  172. }
  173. //根据机构ID获取账户列表
  174. public DataTable SelectAccountByOrgId(string id, int page, int rows, out int total)
  175. {
  176. return this.SelectBuilder
  177. .Columns("ID", "账户", "姓名", "邮箱", "状态", "类型", "登录时间", "登录IP", "渠道所有项目")
  178. .From("系统账户")
  179. .Where("公司ID", id)
  180. .Where("人员ID is not null")
  181. .Paging(page, rows)
  182. .OrderBy("姓名 ASC")
  183. .Select(out total);
  184. }
  185. //获取角色目录
  186. public DataTable SelectRoles(int page, int rows, out int total)
  187. {
  188. return this.SelectBuilder.Columns("*")
  189. .From("系统角色")
  190. .Paging(page, rows)
  191. .OrderBy("序号 ASC")
  192. .Select(out total);
  193. }
  194. //获取已启用的角色
  195. public DataTable SelectRolesForActive(int page, int rows, out int total)
  196. {
  197. return this.SelectBuilder.Columns("*")
  198. .From("系统角色")
  199. .Where("启用", 1)
  200. .Paging(page, rows)
  201. .OrderBy("序号 ASC")
  202. .Select(out total);
  203. }
  204. //根据角色ID,查询出该角色的授权信息
  205. public DataTable SelectRoleAuth(int roleid)
  206. {
  207. //var sql = @"select * from (
  208. // Select t.Id, t.上级id, t.名称, t.图标, Decode(:角色ID, p.角色id, 'true', '') As Ck, p.功能id列表,p.角色id
  209. // From 系统模块 t, 系统角色权限 p
  210. // Where t.启用 = 1 And t.Id = p.模块id(+)
  211. // Start With t.上级id Is Null
  212. // Connect By Prior t.Id = t.上级id
  213. // Order Siblings By t.序号 ) x
  214. // where x.角色ID = 1 or X.角色ID is null";
  215. var sql = @"select 模块ID From 系统角色权限
  216. where 授权节点 = 1
  217. and 角色ID = :角色ID";
  218. var dt = this.SqlBuilder
  219. .SqlText(sql)
  220. .Parameters("角色ID", roleid)
  221. .Select();
  222. return dt;
  223. }
  224. /// <summary>
  225. /// 查询出已授权的账户数据授权
  226. /// </summary>
  227. /// <param name="id">账号id</param>
  228. /// <param name="AuthorizeAll">0默认读授权,1读取渠道下面所有项目</param>
  229. /// <returns></returns>
  230. public DataTable SelectAccountAuthData(int id, int AuthorizeAll=0, string CompanyID="")
  231. {
  232. return this.SelectBuilder.Columns("*")
  233. .From("系统账户权限")
  234. .Where("账户ID", id)
  235. .Select();
  236. //if (id == 0)
  237. //{
  238. // return this.SelectBuilder.Columns("*")
  239. // .From("系统账户权限")
  240. // .Where("账户ID", id)
  241. // .Select();
  242. //}
  243. //else
  244. //{
  245. // var sql = @"select 渠道ID as 公司ID, ID as 项目ID from 项目信息 where 渠道ID =:CompanyID";
  246. // return SqlBuilder.SqlText(sql).Parameters("CompanyID", CompanyID).Select();
  247. //}
  248. }
  249. //根据模块ID与角色ID,获取已授权的功能
  250. public DataTable SelectRoleAuthFuns(int roleid, int moduleid)
  251. {
  252. var sql = @"select t.Id,
  253. t.模块id,
  254. t.按钮id,
  255. b.名称,
  256. b.标识,
  257. b.图标,
  258. t.序号,
  259. t.分组名,
  260. nvl2(f.column_value,'true','false') as ck
  261. from 系统模块按钮 t,系统角色权限 p, TABLE(f_split_string(p.功能id列表,',')) f,系统按钮 b
  262. where t.模块id = :模块ID
  263. and t.模块id = p.模块id(+)
  264. and t.按钮id = f.column_value(+)
  265. and p.角色id(+) = :角色ID
  266. and t.按钮id = b.id
  267. order by t.序号";
  268. var dt = this.SqlBuilder
  269. .SqlText(sql)
  270. .Parameters("模块ID", moduleid)
  271. .Parameters("角色ID", roleid)
  272. .Select();
  273. return dt;
  274. }
  275. //添加角色权限
  276. public int InsertRoleAuth(RoleAuthModel model)
  277. {
  278. model.SetDataFactory(this.DataFactoryObject);
  279. return model.Insert();
  280. }
  281. //删除角色权限
  282. public int DeleteRoleAuth(RoleAuthModel model)
  283. {
  284. model.SetDataFactory(this.DataFactoryObject);
  285. return model
  286. .Where("模块ID")
  287. .Where("角色ID")
  288. .Delete();
  289. }
  290. //添加账户的数据权限信息
  291. public int InsertAuthDataToAccount(AccountDataModel model)
  292. {
  293. model.SetDataFactory(this.DataFactoryObject);
  294. return model.Insert();
  295. }
  296. //清除所有数据权限
  297. public int RemoveAllAuth(string id)
  298. {
  299. return DeleteBulider.Delete("系统账户权限").Where("账户ID", id).Execute();
  300. }
  301. /// <summary>
  302. /// 删除数据权限
  303. /// </summary>
  304. /// <param name="uid">账户ID</param>
  305. public void DeleteDataAuth(int uid)
  306. {
  307. var model = new AccountDataModel(this.DataFactoryObject);
  308. model.ZHID = uid;
  309. model.Where("账户ID")
  310. .Delete();
  311. }
  312. //添加数据权限
  313. public void AddAuth(int uid,string channel,string projectId)
  314. {
  315. var ID = SqlBuilder.SqlText("select 系统账户权限_ID.NEXTVAL from dual").Select().Rows[0]["NEXTVAL"].ToString();
  316. InsertBuilder.Insert("系统账户权限").Column("账户ID", uid).Column("公司ID", channel).Column("项目ID", projectId).Column("ID", ID).Execute();
  317. }
  318. /// <summary>
  319. /// 添加 一个用户角色授权
  320. /// </summary>
  321. /// <param name="model"></param>
  322. /// <returns></returns>
  323. public int AddUserRoleAuth(AccountRoleModel model)
  324. {
  325. model.SetDataFactory(this.DataFactoryObject);
  326. return model.Insert();
  327. }
  328. //将项目授权到指定的账户上
  329. public int AuthProjectToAccount(int uid, string orgid, string projectid)
  330. {
  331. var pids = this.SelectBuilder.Columns("项目ID")
  332. .From("系统账户权限")
  333. .Where("账户ID", uid)
  334. .Where("公司ID", orgid)
  335. .Select<string>();
  336. if (!string.IsNullOrEmpty(pids))
  337. {//更新原来的授权信息
  338. var val = pids + "," + projectid;
  339. return this.UpdateBuilder.Column("项目ID", val)
  340. .Update("系统账户权限")
  341. .Where("账户ID", uid)
  342. .Where("公司ID", orgid)
  343. .Execute();
  344. }
  345. else
  346. {//需要插入一条新记录(授权完成)
  347. var model = new AccountDataModel(this.DataFactoryObject)
  348. {
  349. GSID = orgid,
  350. ZHID = uid,
  351. XMID = projectid
  352. };
  353. return model.Insert();
  354. }
  355. }
  356. /// <summary>
  357. /// 根据角色查询出当前模块可用的按钮
  358. /// </summary>
  359. /// <param name="str_roles">角色列表</param>
  360. /// <param name="menuPath">访问路径</param>
  361. /// <param name="groupName">分组名</param>
  362. /// <returns></returns>
  363. public DataTable SelectModuleButtonsForUserRole(string str_roles, string menuPath, string groupName, bool isSuperAdmin)
  364. {
  365. var sql = @"/*根据角色,及当前的访问路径,分组名称查询出可使用的按钮*/
  366. Select Distinct b.Id,b.名称,b.标识,b.图标,b.序号,b.颜色,m.分组名
  367. From 系统角色权限 p,
  368. 系统按钮 b,
  369. 系统模块按钮 m,
  370. Table(f_split_string(p.功能id列表,',')) pb
  371. Where p.角色ID in (Select Column_Value from Table(f_split_string(:角色IDs,',')))
  372. and p.模块ID = (select id from 系统模块 where 地址 like '%'|| :路径 ||'%')
  373. and m.模块id = p.模块id
  374. and m.按钮id = pb.column_value
  375. and b.Id = pb.column_value
  376. and m.分组名= :分组名
  377. order by 序号 asc ";
  378. var dt = this.SqlBuilder
  379. .SqlText(sql)
  380. .Parameters("角色IDs", str_roles)
  381. .Parameters("路径", menuPath)
  382. .Parameters("分组名", groupName)
  383. .Select();
  384. return dt;
  385. }
  386. //修改密码
  387. public bool ChangePassword(int id, string md5pwd)
  388. {
  389. return this.UpdateBuilder
  390. .Column("密码", md5pwd)
  391. .Column("密码变更时间", DateTime.Now.AddDays(60))
  392. .Update("系统账户")
  393. .Where("ID", id)
  394. .Execute() > 0;
  395. }
  396. /// <summary>
  397. /// 检查密码是否输入正确
  398. /// </summary>
  399. /// <param name="id">账户ID</param>
  400. /// <param name="md5pwd">密码</param>
  401. /// <returns></returns>
  402. public bool CheckOldPwd(int id, string md5pwd)
  403. {
  404. return this.SelectBuilder.Columns("1")
  405. .From("系统账户")
  406. .Where("ID", id)
  407. .Where("密码", md5pwd)
  408. .Exists();
  409. }
  410. //删除当前用户指定角色权限
  411. public int DeleteUserRole(int userid)
  412. {
  413. var model = new AccountRoleModel(this.DataFactoryObject);
  414. model.ZHID = userid;
  415. return model.Where("账户ID")
  416. .Delete();
  417. }
  418. //查询当前账户已授权的角色
  419. public DataTable SelectAccountRoles(int uid)
  420. {
  421. var sql = @"select r.Id,r.名称 from 系统角色关系 t,系统角色 r
  422. where r.Id = t.角色id and t.账户id =:账户ID";
  423. return this.SqlBuilder.SqlText(sql)
  424. .Parameters("账户ID", uid)
  425. .Select();
  426. }
  427. //查询出渠道与渠道下的项目信息(用于授权数据使用)
  428. public DataTable SelectOrgProjectTree()
  429. {
  430. var sql = @"Select *
  431. From (Select t.Id, t.名称 as 名称, Null As 渠道id,1 as 是否渠道,t.编码 From 渠道信息 t
  432. where t.状态 = 1
  433. Union
  434. Select p.Id, p.名称|| '(项目)' as 名称, p.渠道id,0 as 是否渠道, '' From 项目信息 p
  435. where p.渠道id is not null and p.启用=1
  436. ) x
  437. Start With x.渠道id Is Null
  438. Connect By Prior x.Id = x.渠道id
  439. order by x.编码 asc";
  440. return this
  441. .SqlBuilder
  442. .SqlText(sql)
  443. .Select();
  444. }
  445. //根据角色ID,查询出该角色下的用户列表
  446. public DataTable GetUserByRoleId(int roleid, int rows, int page, out int total)
  447. {
  448. var sql = @"select t.Id,t.账户,t.姓名,t.邮箱,t.状态,(select 名称 from 渠道信息 x where x.Id=t.公司id) as 公司,
  449. (select decode(p.性质,1,'中联',2,'渠道',3,'客户',4,'医疗管理员',5,'卫计委管理员') from 人员信息 p where p.Id = t.人员id) as 性质
  450. from 系统账户 t,系统角色关系 r
  451. where t.Id= r.账户id and r.角色id=:角色ID and t.账户 is not null
  452. ";
  453. total = 0;
  454. return this.SqlBuilder.SqlText(sql)
  455. .Parameters("角色ID", roleid)
  456. .Paging(page, rows)
  457. .Select(out total);
  458. }
  459. /// <summary>
  460. /// 保存配置文件
  461. /// </summary>
  462. /// <param name="account"></param>
  463. /// <param name="myconfigInfo"></param>
  464. /// <returns></returns>
  465. public bool SaveConfig(int account, NotefiyConfigInfo myconfigInfo)
  466. {
  467. //序列化对象
  468. var bytes = QWPlatform.SystemLibrary.Serialize.SerializeHelper.SerializeBinary(myconfigInfo);
  469. //参数名称
  470. var settingName = "notefiy";
  471. var r = this.SelectBuilder.Columns("1")
  472. .From("参数配置")
  473. .Where("所属账户", account)
  474. .Where("参数名", PMS.BusinessModels.PMSCONSTS.MYCONFIG)
  475. .Exists();
  476. if (!r)
  477. {//不存在,插入记录
  478. return this.InsertBuilder
  479. .Column("参数名", PMS.BusinessModels.PMSCONSTS.MYCONFIG)
  480. .Column("参数内容", bytes)
  481. .Column("所属账户", account)
  482. .Insert("参数配置")
  483. .Execute() > 0;
  484. }
  485. else
  486. {//更新记录
  487. return this.UpdateBuilder.Column("参数内容", bytes)
  488. .Update("参数配置")
  489. .Where("所属账户", account)
  490. .Where("参数名", PMS.BusinessModels.PMSCONSTS.MYCONFIG)
  491. .Execute() > 0;
  492. }
  493. }
  494. //保存消息配置
  495. public bool SaveMessageInfo(Mssage_config Mssage_config, int account)
  496. {
  497. // 序列化对象
  498. var bytes = QWPlatform.SystemLibrary.Serialize.SerializeHelper.SerializeBinary(Mssage_config);
  499. var r = this.SelectBuilder.Columns("1")
  500. .From("参数配置")
  501. .Where("所属账户", account)
  502. .Where("参数名", PMS.BusinessModels.PMSCONSTS.MESAAGECONFIG)
  503. .Exists();
  504. if (!r)
  505. {//不存在,插入记录
  506. return this.InsertBuilder
  507. .Column("参数名", PMS.BusinessModels.PMSCONSTS.MESAAGECONFIG)
  508. .Column("参数内容", bytes)
  509. .Column("所属账户", account)
  510. .Insert("参数配置")
  511. .Execute() > 0;
  512. }
  513. else
  514. {//更新记录
  515. return this.UpdateBuilder.Column("参数内容", bytes)
  516. .Update("参数配置")
  517. .Where("所属账户", account)
  518. .Where("参数名", PMS.BusinessModels.PMSCONSTS.MESAAGECONFIG)
  519. .Execute() > 0;
  520. }
  521. }
  522. //获取消息配置
  523. public Mssage_config GetMessageInfo(int account)
  524. {
  525. var bytes = this.SelectBuilder.Columns("参数内容")
  526. .From("参数配置")
  527. .Where("参数名", PMS.BusinessModels.PMSCONSTS.MESAAGECONFIG)
  528. .Where("所属账户", account)
  529. .Select<byte[]>();
  530. if (bytes != null)
  531. {
  532. return QWPlatform.SystemLibrary.Serialize.SerializeHelper.DeserializeBinary(bytes) as Mssage_config;
  533. }
  534. return null;
  535. }
  536. /// <summary>
  537. /// 获取个人配置信息
  538. /// </summary>
  539. /// <param name="accoutn"></param>
  540. /// <returns></returns>
  541. public NotefiyConfigInfo GetConfigInfo(int account)
  542. {
  543. var bytes = this.SelectBuilder.Columns("参数内容")
  544. .From("参数配置")
  545. .Where("参数名", PMS.BusinessModels.PMSCONSTS.MYCONFIG)
  546. .Where("所属账户", account)
  547. .Select<byte[]>();
  548. if (bytes != null)
  549. {
  550. return QWPlatform.SystemLibrary.Serialize.SerializeHelper.DeserializeBinary(bytes) as NotefiyConfigInfo;
  551. }
  552. return null;
  553. }
  554. /// <summary>
  555. /// 修改个人信息
  556. /// </summary>
  557. /// <param name="model"></param>
  558. /// <returns></returns>
  559. public int UpdatePersonInfo(PersonBusinessModel model)
  560. {
  561. int r=UpdateBuilder.Update("人员信息").Column("姓名", model.name).Column("简码", model.simple).Column("性别", model.sex).Column("联系电话", model.contactPhone).Column("QQ", model.qq).Column("微信", model.weChat).Column("电子邮箱", model.email).Where("ID", model.ID).Execute();
  562. DataTable dt=SelectBuilder.From("系统账户").Where("账户", model.contactPhone).Columns("ID").Select();
  563. if (r!=0&&dt.Rows.Count>0)
  564. {
  565. r = UpdateBuilder.Update("系统账户").Where("人员ID", model.ID).Column("账户", model.contactPhone).Column("姓名", model.name).Column("邮箱", model.email).Execute();
  566. }
  567. return r;
  568. }
  569. /// <summary>
  570. /// 获取人员参数配置信息
  571. /// </summary>
  572. /// <param name="personId"></param>
  573. /// <returns></returns>
  574. public NotefiyConfigInfo GetNotifyConfigInfoByUserId(string personId)
  575. {
  576. var sql = @"select s.邮箱, p.参数内容 from 系统账户 s, 参数配置 p
  577. where s.Id =p.所属账户 and p.参数名=:参数名 and s.人员id=:人员ID";
  578. var dt = this.SqlBuilder.SqlText(sql)
  579. .Parameters("参数名", PMS.BusinessModels.PMSCONSTS.MYCONFIG)
  580. .Parameters("人员ID", personId)
  581. .Select();
  582. if (dt != null && dt.Rows.Count > 0)
  583. {
  584. var email = dt.GetValueByName<string>("邮箱");
  585. var datas = dt.GetValueByName<byte[]>("参数内容");
  586. var configInfo = QWPlatform.SystemLibrary.Serialize.SerializeHelper.DeserializeBinary(datas) as NotefiyConfigInfo;
  587. if (configInfo != null)
  588. {
  589. configInfo.Email = email;
  590. return configInfo;
  591. }
  592. }
  593. return null;
  594. }
  595. /// <summary>
  596. /// 根据个人id获取系统账号信息
  597. /// </summary>
  598. /// <param name="personId"></param>
  599. /// <returns></returns>
  600. public DataTable GetAccountInfo(string personId) {
  601. DataTable dt = SelectBuilder.From("系统账户").Where("人员ID", personId).Columns("*").Select();
  602. return dt;
  603. }
  604. /// <summary>
  605. /// 根据手机号获取系统账号信息
  606. /// </summary>
  607. /// <param name="tel"></param>
  608. /// <returns></returns>
  609. public DataTable GetTelAccountInfo(string tel)
  610. {
  611. DataTable dt = SelectBuilder.From("系统账户").Where("账户", tel).Columns("*").Select();
  612. return dt;
  613. }
  614. /// <summary>
  615. /// 查询字典
  616. /// </summary>
  617. /// <param name="ID"></param>
  618. /// <returns></returns>
  619. public List<BasicDictionaryModel> SelectNature(string ID)
  620. {
  621. List<BasicDictionaryModel> List = new List<BasicDictionaryModel>();
  622. var dt = this.SelectBuilder.From("基础编码").Columns("ID,显示名 as 名称,代码,是否默认,说明,扩展").Where("分类ID", ID).Where("启用", 1).OrderBy("代码 asc").Select();
  623. if (dt.Rows.Count > 0)
  624. {
  625. List = Tools.ConvertToList<BasicDictionaryModel>(dt);
  626. }
  627. return List;
  628. }
  629. }
  630. }