312024cf5c5c8085aceaf5477fdb786d87004d37.svn-base 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948
  1. using System;
  2. using System.IO;
  3. using System.Xml;
  4. using System.Data;
  5. using System.Collections;
  6. using System.Data.OracleClient;
  7. using Core.Mes.IBaseInterface;
  8. using Core.Mes.ServerFrameWork;
  9. namespace Core.Mes.ServerCommon
  10. {
  11. /// <summary>
  12. /// Class1 的摘要说明。
  13. /// </summary>
  14. public class UserInfoManager : IComponent
  15. {
  16. public UserInfoManager()
  17. {
  18. }
  19. #region " 用户登录 "
  20. public ReturnObject GetPurviewInfo(string userID, string passwd, string hostname, string ipaddress)
  21. {
  22. lock (this)
  23. {
  24. string err = "";
  25. DataRow dr = GetPurviewRow(userID, passwd, out err);
  26. if (err != "")
  27. {
  28. return new ReturnObject(null, err);
  29. }
  30. if (dr == null || dr["MEMO"] == null)
  31. return new ReturnObject(null, 10009, "用户名或密码错误!");
  32. UserInfo useInfo = new UserInfo();
  33. useInfo = SetUserInfo(dr);
  34. return new ReturnObject(useInfo);
  35. }
  36. }
  37. private DataRow GetPurviewRow(string userID, string passwd, out string err)
  38. {
  39. string sqlstr = "SELECT A.*, B.MEMO, C.NAME, C.BB, C.BC, B.ROLENAME, C.DEPARTMENTID,"
  40. + " D.DEPARTMENTNAME FROM CXUSER.UAM_AUTHORIZATION A, CXUSER.UAM_ROLE B, CXUSER.UAM_USER C, CXUSER.UAM_DEPARTMENT D"
  41. + " WHERE A.USERID = C.USERID AND A.ROLEID = B.ROLEID AND C.DEPARTMENTID=D.DEPARTMENTID AND "
  42. //+" UPPER(LOGINID) = UPPER('" + userID + "') AND UPPER(PASSWD) = UPPER('" + PasswdSecurity(passwd) + "')";
  43. + " UPPER(A.LOGINID) = UPPER('" + userID + "') AND UPPER(PASSWD) = '" + PasswdSecurity(passwd) + "'";
  44. err = "";
  45. System.Data.DataSet ds = this.DBManager.ExecuteQuery(sqlstr, out err);
  46. if (err != "") return null;
  47. if (ds.Tables[0].Rows.Count == 0)
  48. {
  49. err = "用户名或密码错误!"; return null;
  50. }
  51. System.Data.DataRow dr = ds.Tables[0].Rows[0];
  52. return dr;
  53. }
  54. private XmlDocument ReadXmlDoc(string fileName)
  55. {
  56. XmlDocument doc = new XmlDocument();
  57. try
  58. {
  59. doc.Load(@"CA\" + fileName);
  60. return doc;
  61. }
  62. catch
  63. {
  64. return null;
  65. }
  66. }
  67. private UserInfo SetUserInfo(DataRow dr)
  68. {
  69. UserInfo info;
  70. try
  71. {
  72. info = new UserInfo();
  73. info.LoginID = dr["LOGINID"].ToString();
  74. info.UserID = dr["USERID"].ToString();
  75. info.UserDepID = this.GetNoNullStr(dr["DEPARTMENTID"]);
  76. info.UserDepName = this.GetNoNullStr(dr["DEPARTMENTNAME"]);
  77. info.UserRoleID = this.GetNoNullStr(dr["ROLEID"]);
  78. info.UserRoleName = this.GetNoNullStr(dr["ROLENAME"]);
  79. if (dr["NAME"] == null || dr["NAME"] == DBNull.Value)
  80. info.UserName = "";
  81. else
  82. info.UserName = dr["NAME"].ToString();
  83. if (dr["BB"] == null || dr["BB"] == DBNull.Value)
  84. info.UserBb = "300305";
  85. else
  86. info.UserBb = dr["BB"].ToString();
  87. if (dr["BC"] == null || dr["BC"] == DBNull.Value)
  88. {
  89. info.UserRz = "1";
  90. info.UserBc = "300205";
  91. }
  92. else
  93. {
  94. info.UserRz = dr["BC"].ToString();
  95. info.UserBc = this.GetCurrBc(dr["BC"].ToString());
  96. }
  97. return info;
  98. }
  99. catch (Exception ex)
  100. {
  101. throw ex;
  102. }
  103. }
  104. private string GetNoNullStr(object obj)
  105. {
  106. if (obj == null || obj == DBNull.Value)
  107. {
  108. return "";
  109. }
  110. return obj.ToString();
  111. }
  112. #region " 登录退出记录 "
  113. private void RecodeLoginInfo(string vLoginID, string vUserName, string vUSERHOSTNAME,
  114. string vUSERIPADRESS, string vIsLogin)
  115. {
  116. OracleParameter[] param = new OracleParameter[5];
  117. object[] values = new object[5];
  118. ArrayList outvalues = new ArrayList();
  119. param[0] = new System.Data.OracleClient.OracleParameter();
  120. param[0].ParameterName = "vLoginID";
  121. param[0].DbType = System.Data.DbType.String;
  122. param[0].Size = 20;
  123. param[1] = new System.Data.OracleClient.OracleParameter();
  124. param[1].ParameterName = "vUserName";
  125. param[1].DbType = System.Data.DbType.String;
  126. param[1].Size = 20;
  127. param[2] = new System.Data.OracleClient.OracleParameter();
  128. param[2].ParameterName = "vUSERHOSTNAME";
  129. param[2].DbType = System.Data.DbType.String;
  130. param[2].Size = 100;
  131. param[3] = new System.Data.OracleClient.OracleParameter();
  132. param[3].ParameterName = "vUSERIPADRESS";
  133. param[3].DbType = System.Data.DbType.String;
  134. param[3].Size = 20;
  135. param[4] = new System.Data.OracleClient.OracleParameter();
  136. param[4].ParameterName = "vIsLogin";
  137. param[4].DbType = System.Data.DbType.String;
  138. param[4].Size = 20;
  139. values[0] = vLoginID;
  140. values[1] = vUserName;
  141. values[2] = vUSERHOSTNAME;
  142. values[3] = vUSERIPADRESS;
  143. values[4] = vIsLogin;
  144. string strOut = "";
  145. try
  146. {
  147. this.DBManager.ExecuteNonQuery("pub_useroperatemanager.pPub_Logininfo_Add", CommandType.StoredProcedure, param, values, ref outvalues, out strOut);
  148. }
  149. catch { }
  150. }
  151. public ReturnObject RecodeExitInfo(string vLoginID, string vUserName, string vUSERHOSTNAME,
  152. string vUSERIPADRESS)
  153. {
  154. RecodeLoginInfo(vLoginID, vUserName, vUSERHOSTNAME, vUSERIPADRESS, "退出");
  155. return new ReturnObject();
  156. }
  157. public ReturnObject RecodeOperateInfo(string vLoginID, string vUserName, string vUSERHOSTNAME,
  158. string vUSERIPADRESS, string vOPERATETYPE, string vOPERATEOBJECT, string vREMARK)
  159. {
  160. OracleParameter[] param = new OracleParameter[7];
  161. object[] values = new object[7];
  162. ArrayList outvalues = new ArrayList();
  163. param[0] = new System.Data.OracleClient.OracleParameter();
  164. param[0].ParameterName = "vLoginID";
  165. param[0].DbType = System.Data.DbType.String;
  166. param[0].Size = 20;
  167. param[1] = new System.Data.OracleClient.OracleParameter();
  168. param[1].ParameterName = "vUserName";
  169. param[1].DbType = System.Data.DbType.String;
  170. param[1].Size = 20;
  171. param[2] = new System.Data.OracleClient.OracleParameter();
  172. param[2].ParameterName = "vUSERHOSTNAME";
  173. param[2].DbType = System.Data.DbType.String;
  174. param[2].Size = 100;
  175. param[3] = new System.Data.OracleClient.OracleParameter();
  176. param[3].ParameterName = "vUSERIPADRESS";
  177. param[3].DbType = System.Data.DbType.String;
  178. param[3].Size = 20;
  179. param[4] = new System.Data.OracleClient.OracleParameter();
  180. param[4].ParameterName = "vOPERATETYPE";
  181. param[4].DbType = System.Data.DbType.String;
  182. param[4].Size = 50;
  183. param[5] = new System.Data.OracleClient.OracleParameter();
  184. param[5].ParameterName = "vOPERATEOBJECT";
  185. param[5].DbType = System.Data.DbType.String;
  186. param[5].Size = 100;
  187. param[6] = new System.Data.OracleClient.OracleParameter();
  188. param[6].ParameterName = "vREMARK";
  189. param[6].DbType = System.Data.DbType.String;
  190. param[6].Size = 200;
  191. values[0] = vLoginID;
  192. values[1] = vUserName;
  193. values[2] = vUSERHOSTNAME;
  194. values[3] = vUSERIPADRESS;
  195. values[4] = vOPERATETYPE;
  196. values[5] = vOPERATEOBJECT;
  197. values[6] = vREMARK;
  198. string strOut = "";
  199. try
  200. {
  201. this.DBManager.ExecuteNonQuery("pub_useroperatemanager.pPub_UserOperate_Add", CommandType.StoredProcedure, param, values, ref outvalues, out strOut);
  202. }
  203. catch { }
  204. return new ReturnObject();
  205. }
  206. #endregion
  207. #region " 班次、班别 "
  208. private string GetCurrBc(string bc)
  209. {
  210. System.DateTime now = System.DateTime.Now;
  211. switch (bc.Trim())
  212. {
  213. case "3": //三班制
  214. //早
  215. if (now >= new DateTime(now.Year, now.Month, now.Day, 8, 0, 0) &&
  216. now < new DateTime(now.Year, now.Month, now.Day, 16, 0, 0))
  217. return "300201";
  218. //中
  219. if (now >= new DateTime(now.Year, now.Month, now.Day, 16, 0, 0) &&
  220. now <= new DateTime(now.Year, now.Month, now.Day, 23, 59, 59))
  221. return "300202";
  222. //晚
  223. if (now >= new DateTime(now.Year, now.Month, now.Day, 0, 0, 0) &&
  224. now < new DateTime(now.Year, now.Month, now.Day, 8, 0, 0))
  225. return "300203";
  226. break;
  227. case "2": //两班制
  228. //早
  229. if (now >= new DateTime(now.Year, now.Month, now.Day, 8, 0, 0) &&
  230. now < new DateTime(now.Year, now.Month, now.Day, 20, 0, 0))
  231. return "300201";
  232. else
  233. return "300203";
  234. }
  235. return "300205";
  236. }
  237. public ReturnObject GetBz(string strWhere)
  238. {
  239. string sqlstr = string.Format("select ID_ BASECODE, NAME_ BASENAME from scm_base_info where SORT_CODE = '{0}' order by 1", strWhere);
  240. string strOut = "";
  241. try
  242. {
  243. DataSet ds = this.DBManager.ExecuteQuery(sqlstr, out strOut);
  244. return new ReturnObject(ds, strOut);
  245. }
  246. catch (Exception ex)
  247. {
  248. return new ReturnObject(new DataSet(), ex.Message + "\n" + strOut);
  249. }
  250. }
  251. public ReturnObject SetBz(string userID, string Bc, string Bb)
  252. {
  253. string sqlstr = string.Format(" update UAM_USER set BC = '{0}', BB = '{1}' where USERID = '{2}' ",
  254. Bc, Bb, userID);
  255. string strOut = "";
  256. try
  257. {
  258. int i = this.DBManager.ExecuteNonQuery(sqlstr, out strOut);
  259. return new ReturnObject(i, strOut);
  260. }
  261. catch (Exception ex)
  262. {
  263. return new ReturnObject(new DataSet(), ex.Message + "\n" + strOut);
  264. }
  265. }
  266. #endregion
  267. private string PasswdSecurity(string pwd)
  268. {
  269. return pwd.ToUpper();
  270. }
  271. public ReturnObject GetServerList()
  272. {
  273. if (!File.Exists("MesServer.xml"))
  274. {
  275. return new ReturnObject(null, "未找到服务配置文件!");
  276. }
  277. DataSet ds = new DataSet();
  278. ds.ReadXml("MesServer.xml");
  279. if (ds == null || ds.Tables.Count == 0)
  280. return new ReturnObject(null, "配置文件设置错误!");
  281. ds.AcceptChanges();
  282. return new ReturnObject(ds);
  283. }
  284. public ReturnObject ChangePasswd(string loginID, string passwd, string passwdNew)
  285. {
  286. string sqlstr = string.Format(" update UAM_AUTHORIZATION set passwd = '{2}' where loginid = '{0}' and passwd = '{1}' ",
  287. loginID, passwd, passwdNew);
  288. string strOut = "";
  289. try
  290. {
  291. int i = this.DBManager.ExecuteNonQuery(sqlstr, out strOut);
  292. return new ReturnObject(i, strOut);
  293. }
  294. catch (Exception ex)
  295. {
  296. return new ReturnObject(new DataSet(), ex.Message + "\n" + strOut);
  297. }
  298. }
  299. #endregion
  300. #region " 消息 "
  301. public ReturnObject GetUserMessage()
  302. {
  303. string sqlstr = "select MESSAGE, PROMULGATOR,EDITTIME, PRI_ from PUB_USERMESSAGE where ISVALID = '0' and > sysdate order by edittime desc ";
  304. string strOut = "";
  305. try
  306. {
  307. DataSet ds = this.DBManager.ExecuteQuery(sqlstr, out strOut);
  308. return new ReturnObject(ds, strOut);
  309. }
  310. catch (Exception ex)
  311. {
  312. return new ReturnObject(new DataSet(), ex.Message + "\n" + strOut);
  313. }
  314. }
  315. public ReturnObject GetMessage(string strWhere)
  316. {
  317. string sqlstr = string.Format("select * from pub_message where GETFLAG <> '1' and SENDPERSONCODE = '{0}' ", strWhere);
  318. string strOut = "";
  319. try
  320. {
  321. DataSet ds = this.DBManager.ExecuteQuery(sqlstr, out strOut);
  322. return new ReturnObject(ds, strOut);
  323. }
  324. catch (Exception ex)
  325. {
  326. return new ReturnObject(new DataSet(), ex.Message + "\n" + strOut);
  327. }
  328. }
  329. public ReturnObject SendMessage(string vSendPerson, string vSendPersonCode, string vInfo, string vGetPerson)
  330. {
  331. string strOut = "";
  332. OracleParameter[] param = new OracleParameter[7];
  333. object[] values = new object[7];
  334. ArrayList outvalues = new ArrayList();
  335. strOut = "";
  336. param[0] = new OracleParameter();
  337. param[0].ParameterName = "vID";
  338. param[0].Direction = System.Data.ParameterDirection.Input;
  339. param[0].DbType = System.Data.DbType.String;
  340. param[0].Size = 20;
  341. param[1] = new OracleParameter();
  342. param[1].ParameterName = "vSendPerson";
  343. param[1].Direction = System.Data.ParameterDirection.Input;
  344. param[1].DbType = System.Data.DbType.String;
  345. param[1].Size = 20;
  346. param[2] = new OracleParameter();
  347. param[2].ParameterName = "vSendPersonCode";
  348. param[2].Direction = System.Data.ParameterDirection.Input;
  349. param[2].DbType = System.Data.DbType.String;
  350. param[2].Size = 20;
  351. param[3] = new OracleParameter();
  352. param[3].ParameterName = "vInfo";
  353. param[3].Direction = System.Data.ParameterDirection.Input;
  354. param[3].DbType = System.Data.DbType.String;
  355. param[3].Size = 200;
  356. param[4] = new OracleParameter();
  357. param[4].ParameterName = "vGetPerson";
  358. param[4].Direction = System.Data.ParameterDirection.Input;
  359. param[4].DbType = System.Data.DbType.String;
  360. param[4].Size = 20;
  361. param[5] = new System.Data.OracleClient.OracleParameter();
  362. param[5].ParameterName = "vRESULT";
  363. param[5].Direction = System.Data.ParameterDirection.Output;
  364. param[5].DbType = System.Data.DbType.Int16;
  365. param[6] = new System.Data.OracleClient.OracleParameter();
  366. param[6].ParameterName = "vMESSAGE";
  367. param[6].Direction = System.Data.ParameterDirection.Output;
  368. param[6].DbType = System.Data.DbType.String;
  369. param[6].Size = 200;
  370. values[0] = System.Guid.NewGuid().ToString();
  371. values[1] = vSendPerson;
  372. values[2] = vSendPersonCode;
  373. values[3] = vInfo;
  374. values[4] = vGetPerson;
  375. values[5] = 0;
  376. values[6] = "";
  377. try
  378. {
  379. this.DBManager.ExecuteNonQuery("pub_MessageManager.pPub_Message_Send", CommandType.StoredProcedure, param, values, ref outvalues, out strOut);
  380. return new ReturnObject(outvalues, strOut);
  381. }
  382. catch (Exception ex)
  383. {
  384. return new ReturnObject(-1, ex.Message + "\n" + strOut);
  385. }
  386. }
  387. public ReturnObject AffirmMessage(string vID)
  388. {
  389. string strOut = "";
  390. OracleParameter[] param = new OracleParameter[3];
  391. object[] values = new object[3];
  392. ArrayList outvalues = new ArrayList();
  393. strOut = "";
  394. param[0] = new OracleParameter();
  395. param[0].ParameterName = "vID";
  396. param[0].Direction = System.Data.ParameterDirection.Input;
  397. param[0].DbType = System.Data.DbType.String;
  398. param[0].Size = 20;
  399. param[1] = new System.Data.OracleClient.OracleParameter();
  400. param[1].ParameterName = "vRESULT";
  401. param[1].Direction = System.Data.ParameterDirection.Output;
  402. param[1].DbType = System.Data.DbType.Int16;
  403. param[2] = new System.Data.OracleClient.OracleParameter();
  404. param[2].ParameterName = "vMESSAGE";
  405. param[2].Direction = System.Data.ParameterDirection.Output;
  406. param[2].DbType = System.Data.DbType.String;
  407. param[2].Size = 200;
  408. values[0] = vID;
  409. values[1] = 0;
  410. values[2] = "";
  411. try
  412. {
  413. this.DBManager.ExecuteNonQuery("pub_MessageManager.pPub_Message_Affirm", CommandType.StoredProcedure, param, values, ref outvalues, out strOut);
  414. return new ReturnObject(outvalues, strOut);
  415. }
  416. catch (Exception ex)
  417. {
  418. return new ReturnObject(-1, ex.Message + "\n" + strOut);
  419. }
  420. }
  421. #endregion
  422. #region " override "
  423. public override int maxValue
  424. {
  425. get
  426. {
  427. return 30;
  428. }
  429. }
  430. public override int minValue
  431. {
  432. get
  433. {
  434. return 20;
  435. }
  436. }
  437. #endregion
  438. #region 权限设置
  439. public ReturnObject selectPT_MenuInfo()
  440. {
  441. string sqlstr = "SELECT ID_,CAPTION,PARENTID,XH FROM CXUSER.PT_MENUINFO ORDER BY PARENTID,XH,REMARK";
  442. string err = "";
  443. DataSet dset = DBManager.ExecuteQuery(sqlstr, out err);
  444. return new ReturnObject(dset, err);
  445. }
  446. public ReturnObject updatePT_MenuPos(DataTable dt)
  447. {
  448. try
  449. {
  450. string err = "";
  451. bool success = DBManager.UpdateTable(dt, "SELECT ID_,CAPTION,PARENTID,XH FROM CXUSER.PT_MENUINFO WHERE XH IS NOT NULL", out err);
  452. return new ReturnObject(null, err);
  453. }
  454. catch (Exception ee)
  455. {
  456. return new ReturnObject(null, ee.Message);
  457. }
  458. }
  459. public ReturnObject GetPt_menuinfo(string strWhere)
  460. {
  461. string sqlstr = string.Format("SELECT * FROM CXUSER.PT_MENUINFO WHERE 1=1 {0} ORDER BY CATEGORY, CAPTION", strWhere);
  462. string strOut = "";
  463. try
  464. {
  465. DataSet ds = this.DBManager.ExecuteQuery(sqlstr, out strOut);
  466. return new ReturnObject(ds, strOut);
  467. }
  468. catch (Exception ex)
  469. {
  470. return new ReturnObject(new DataSet(), ex.Message + "\n" + strOut);
  471. }
  472. }
  473. public ReturnObject InsertPt_menuinfo(string vkey, string vCategory, string vCaption, string vRemark, string vType)
  474. {
  475. string strOut = "";
  476. DataSet ds = null;
  477. string strID = "";
  478. object obj = null;
  479. int iCount = 0;
  480. string sqlstr = string.Format("SELECT COUNT(1) FROM CXUSER.PT_MENUINFO WHERE KEY_ = '{0}'", vkey);
  481. try
  482. {
  483. ds = this.DBManager.ExecuteQuery(sqlstr, out strOut);
  484. }
  485. catch (Exception ex)
  486. {
  487. return new ReturnObject(null, ex.Message + "\n" + strOut);
  488. }
  489. obj = ds.Tables[0].Rows[0][0];
  490. if (obj == null || obj == DBNull.Value)
  491. {
  492. iCount = 0;
  493. }
  494. else
  495. {
  496. iCount = Convert.ToInt32(Convert.ToInt32(obj));
  497. }
  498. if (iCount > 0)
  499. {
  500. return new ReturnObject(null, "键值重复!请重新输入!");
  501. }
  502. sqlstr = "SELECT MAX(TO_NUMBER(ID_)) FROM CXUSER.PT_MENUINFO ";
  503. try
  504. {
  505. ds = this.DBManager.ExecuteQuery(sqlstr, out strOut);
  506. }
  507. catch (Exception ex)
  508. {
  509. return new ReturnObject(null, ex.Message + "\n" + strOut);
  510. }
  511. obj = ds.Tables[0].Rows[0][0];
  512. if (obj == null || obj == DBNull.Value)
  513. {
  514. strID = "0";
  515. }
  516. else
  517. {
  518. strID = Convert.ToString(Convert.ToInt32(obj) + 1);
  519. }
  520. sqlstr = string.Format("INSERT INTO CXUSER.PT_MENUINFO (ID_, KEY_, CATEGORY, CAPTION, REMARK, TYPE) "
  521. + " VALUES "
  522. + " ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}') ", strID, vkey, vCategory, vCaption, vRemark, vType);
  523. strOut = "";
  524. try
  525. {
  526. this.DBManager.ExecuteNonQuery(sqlstr, out strOut);
  527. return new ReturnObject(strID, strOut);
  528. }
  529. catch (Exception ex)
  530. {
  531. return new ReturnObject(null, ex.Message + "\n" + strOut);
  532. }
  533. }
  534. public ReturnObject UpdatePt_menuinfo(string vID, string vkey, string vCategory, string vCaption, string vRemark, string vType)
  535. {
  536. string sqlstr = string.Format("UPDATE CXUSER.PT_MENUINFO SET KEY_ = '{0}', CATEGORY = '{1}', "
  537. + " CAPTION = '{2}', REMARK = '{3}', TYPE='{4}' WHERE ID_ = '{5}' ",
  538. vkey, vCategory, vCaption, vRemark, vType, vID);
  539. string strOut = "";
  540. try
  541. {
  542. this.DBManager.ExecuteNonQuery(sqlstr, out strOut);
  543. return new ReturnObject(null, strOut);
  544. }
  545. catch (Exception ex)
  546. {
  547. return new ReturnObject(null, ex.Message + "\n" + strOut);
  548. }
  549. }
  550. public ReturnObject DeletePt_menuinfo(string vID)
  551. {
  552. string sqlstr = string.Format("SELECT COUNT(1) FROM CXUSER.PT_USERMENUINFO WHERE MENUID = '{0}' ", vID);
  553. string strOut = "";
  554. try
  555. {
  556. DataSet dset = DBManager.ExecuteQuery(sqlstr, out strOut);
  557. if (int.Parse(dset.Tables[0].Rows[0][0].ToString()) > 0)
  558. return new ReturnObject(null, "该菜单已被配置到角色菜单中去,请先在角色菜单中删除!");
  559. }
  560. catch (Exception ex)
  561. {
  562. return new ReturnObject(null, ex.Message + "\n" + strOut);
  563. }
  564. sqlstr = string.Format("SELECT COUNT(1) FROM CXUSER.PT_MENUINFO WHERE PARENTID = '{0}' ", vID);
  565. strOut = "";
  566. try
  567. {
  568. DataSet dset = DBManager.ExecuteQuery(sqlstr, out strOut);
  569. if (int.Parse(dset.Tables[0].Rows[0][0].ToString()) > 0)
  570. return new ReturnObject(null, "该菜单其下还有子菜单,不可直接删除!");
  571. }
  572. catch (Exception ex)
  573. {
  574. return new ReturnObject(null, ex.Message + "\n" + strOut);
  575. }
  576. sqlstr = string.Format("DELETE CXUSER.PT_MENUINFO WHERE ID_ = '{0}' ", vID);
  577. strOut = "";
  578. try
  579. {
  580. this.DBManager.ExecuteNonQuery(sqlstr, out strOut);
  581. }
  582. catch (Exception ex)
  583. {
  584. return new ReturnObject(null, ex.Message + "\n" + strOut);
  585. }
  586. sqlstr = string.Format("DELETE CXUSER.PT_USERMENUINFO WHERE MENUID = '{0}' ", vID);
  587. strOut = "";
  588. try
  589. {
  590. this.DBManager.ExecuteNonQuery(sqlstr, out strOut);
  591. return new ReturnObject(null, strOut);
  592. }
  593. catch (Exception ex)
  594. {
  595. return new ReturnObject(null, ex.Message + "\n" + strOut);
  596. }
  597. }
  598. public ReturnObject PlastPt_menuinfo(string oldRole, string newRole)
  599. {
  600. string sqlstr = string.Format("DELETE CXUSER.PT_USERMENUINFO WHERE ROLEID = '{0}' ", newRole);
  601. string strOut = "";
  602. try
  603. {
  604. this.DBManager.ExecuteNonQuery(sqlstr, out strOut);
  605. }
  606. catch (Exception ex)
  607. {
  608. return new ReturnObject(null, ex.Message + "\n" + strOut);
  609. }
  610. sqlstr = "SELECT MAX(TO_NUMBER(ID_)) FROM CXUSER.PT_USERMENUINFO ";
  611. int iCount = 0;
  612. DataSet ds = null;
  613. try
  614. {
  615. ds = this.DBManager.ExecuteQuery(sqlstr, out strOut);
  616. }
  617. catch (Exception ex)
  618. {
  619. return new ReturnObject(null, ex.Message + "\n" + strOut);
  620. }
  621. object obj = ds.Tables[0].Rows[0][0];
  622. if (obj == null || obj == DBNull.Value)
  623. {
  624. iCount = 0;
  625. }
  626. else
  627. {
  628. iCount = Convert.ToInt32(obj);
  629. }
  630. sqlstr = string.Format("SELECT * FROM CXUSER.PT_USERMENUINFO WHERE ROLEID = '{0}'", oldRole);
  631. try
  632. {
  633. ds = this.DBManager.ExecuteQuery(sqlstr, out strOut);
  634. }
  635. catch (Exception ex)
  636. {
  637. return new ReturnObject(null, ex.Message + "\n" + strOut);
  638. }
  639. for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
  640. {
  641. iCount = iCount + 1;
  642. sqlstr = string.Format("INSERT INTO CXUSER.PT_USERMENUINFO (ID_, ROLEID, MENUID, SETINFO) "
  643. + " VALUES "
  644. + " ('{0}', '{1}', '{2}', '{3}' ) ", Convert.ToString(iCount),
  645. newRole, ds.Tables[0].Rows[i]["MENUID"].ToString(),
  646. ds.Tables[0].Rows[i]["SETINFO"].ToString());
  647. strOut = "";
  648. try
  649. {
  650. this.DBManager.ExecuteNonQuery(sqlstr, out strOut);
  651. }
  652. catch (Exception ex)
  653. {
  654. return new ReturnObject(null, ex.Message + "\n" + strOut);
  655. }
  656. }
  657. return new ReturnObject(null);
  658. }
  659. public ReturnObject SavePt_usermenuinfo(string vRole, ArrayList arMenu, ArrayList arSet)
  660. {
  661. string sqlstr = string.Format("DELETE CXUSER.PT_USERMENUINFO WHERE ROLEID = '{0}' ", vRole);
  662. string strOut = "";
  663. try
  664. {
  665. this.DBManager.ExecuteNonQuery(sqlstr, out strOut);
  666. }
  667. catch (Exception ex)
  668. {
  669. return new ReturnObject(null, ex.Message + "\n" + strOut);
  670. }
  671. sqlstr = "SELECT MAX(TO_NUMBER(ID_)) FROM CXUSER.PT_USERMENUINFO ";
  672. int iCount = 0;
  673. DataSet ds = null;
  674. try
  675. {
  676. ds = this.DBManager.ExecuteQuery(sqlstr, out strOut);
  677. }
  678. catch (Exception ex)
  679. {
  680. return new ReturnObject(null, ex.Message + "\n" + strOut);
  681. }
  682. object obj = ds.Tables[0].Rows[0][0];
  683. if (obj == null || obj == DBNull.Value)
  684. {
  685. iCount = 0;
  686. }
  687. else
  688. {
  689. iCount = Convert.ToInt32(obj);
  690. }
  691. for (int i = 0; i < arMenu.Count; i++)
  692. {
  693. iCount = iCount + 1;
  694. sqlstr = string.Format("INSERT INTO CXUSER.PT_USERMENUINFO (ID_, ROLEID, MENUID, SETINFO) "
  695. + " VALUES "
  696. + " ('{0}', '{1}', '{2}', '{3}' ) ", Convert.ToString(iCount),
  697. vRole, arMenu[i].ToString(), arSet[i].ToString());
  698. strOut = "";
  699. try
  700. {
  701. this.DBManager.ExecuteNonQuery(sqlstr, out strOut);
  702. }
  703. catch (Exception ex)
  704. {
  705. return new ReturnObject(null, ex.Message + "\n" + strOut);
  706. }
  707. }
  708. return new ReturnObject(null, "");
  709. }
  710. public ReturnObject GetUser_Uam_Role(string DptID)
  711. {
  712. try
  713. {
  714. string err = "";
  715. string sql = "SELECT ROLEID, ROLENAME FROM CXUSER.UAM_ROLE WHERE DEPARTMENTID IN(" + DptID + ") ORDER BY ROLENAME ";
  716. DataSet ds = this.DBManager.ExecuteQuery(sql, out err);
  717. if (ds != null && ds.Tables[0].Rows.Count > 0)
  718. {
  719. return new ReturnObject(ds);
  720. }
  721. return new ReturnObject(null, err);
  722. }
  723. catch (System.Exception ex)
  724. {
  725. return new ReturnObject(null, ex.ToString());
  726. }
  727. }
  728. public ReturnObject GetUam_role()
  729. {
  730. string sqlstr = "SELECT ROLEID, ROLENAME FROM UAM_ROLE ORDER BY ROLENAME ";
  731. string strOut = "";
  732. try
  733. {
  734. DataSet ds = this.DBManager.ExecuteQuery(sqlstr, out strOut);
  735. if (ds != null && ds.Tables[0].Rows.Count > 0)
  736. {
  737. return new ReturnObject(ds, strOut);
  738. }
  739. else
  740. {
  741. return new ReturnObject(null, strOut);
  742. }
  743. }
  744. catch (Exception ex)
  745. {
  746. return new ReturnObject(null, ex.Message + "\n" + strOut);
  747. }
  748. }
  749. public ReturnObject GetPurviewTree(string strWhere)
  750. {
  751. string sqlstr = string.Format("SELECT ID_, MENUID, (SELECT CAPTION FROM CXUSER.PT_MENUINFO WHERE ID_ = MENUID) MENUNAME, "
  752. + " SETINFO FROM CXUSER.PT_USERMENUINFO WHERE 1=1 {0} ORDER BY SETINFO ", strWhere);
  753. string strOut = "";
  754. try
  755. {
  756. DataSet ds = this.DBManager.ExecuteQuery(sqlstr, out strOut);
  757. return new ReturnObject(ds, strOut);
  758. }
  759. catch (Exception ex)
  760. {
  761. return new ReturnObject(new DataSet(), ex.Message + "\n" + strOut);
  762. }
  763. }
  764. public ReturnObject GetBuildMenuInfo(string strWhere)
  765. {
  766. string sqlstr = string.Format("SELECT C.KEY_, C.CATEGORY, C.CAPTION, C.TYPE,B.SETINFO "
  767. + " FROM CXUSER.UAM_AUTHORIZATION A, CXUSER.PT_USERMENUINFO B, CXUSER.PT_MENUINFO C "
  768. + " WHERE LOGINID = '{0}' AND A.ROLEID = B.ROLEID AND B.MENUID = C.ID_ ORDER BY B.SETINFO ", strWhere);
  769. string strOut = "";
  770. try
  771. {
  772. DataSet ds = this.DBManager.ExecuteQuery(sqlstr, out strOut);
  773. return new ReturnObject(ds, strOut);
  774. }
  775. catch (Exception ex)
  776. {
  777. return new ReturnObject(new DataSet(), ex.Message + "\n" + strOut);
  778. }
  779. }
  780. #endregion
  781. #region "系统监听"
  782. public ReturnObject MesSystemListener()
  783. {
  784. string sqlstr = "select sysdate from dual";
  785. string strOut = "";
  786. try
  787. {
  788. this.DBManager.ExecuteNonQuery(sqlstr, out strOut);
  789. return new ReturnObject(null, strOut);
  790. }
  791. catch (Exception ex)
  792. {
  793. return new ReturnObject(null, ex.Message + "\n" + strOut);
  794. }
  795. }
  796. #endregion
  797. public ReturnObject getDBSrvTime()
  798. {
  799. string strOut = "";
  800. try
  801. {
  802. DataSet ds = this.DBManager.ExecuteQuery("SELECT SYSDATE FROM DUAL", out strOut);
  803. return new ReturnObject(ds.Tables[0].Rows[0][0], strOut);
  804. }
  805. catch (Exception ex)
  806. {
  807. return new ReturnObject(null, ex.Message + "\n" + strOut);
  808. }
  809. }
  810. }
  811. }