MeetDao.java
上传用户:lm2018
上传日期:2015-12-12
资源大小:30449k
文件大小:12k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. package com.oa.module.meet.meetdao;
  2. import java.util.HashMap;
  3. import java.util.List;
  4. import java.util.Map;
  5. import javax.servlet.http.HttpServletRequest;
  6. import javax.sql.DataSource;
  7. import org.hibernate.Query;
  8. import org.hibernate.Session;
  9. import org.hibernate.SessionFactory;
  10. import org.springframework.jdbc.core.JdbcTemplate;
  11. import org.springframework.jdbc.datasource.DriverManagerDataSource;
  12. import org.springframework.orm.hibernate3.HibernateTemplate;
  13. import com.oa.module.meet.hibernate.Tmeet;
  14. import com.oa.module.meet.hibernate.Tmeetinfo;
  15. import com.oa.module.pub.ectomere.XPage;
  16. public class MeetDao implements Interfer {
  17. private SessionFactory meet;
  18. private DriverManagerDataSource datasource;
  19. private DataSource ds = null;
  20. public SessionFactory getMeet() {
  21. return meet;
  22. }
  23. public void setMeet(SessionFactory meet) {
  24. this.meet = meet;
  25. }
  26. public DriverManagerDataSource getDatasource() {
  27. return datasource;
  28. }
  29. public void setDatasource(DriverManagerDataSource datasource) {
  30. this.datasource = datasource;
  31. }
  32. public DataSource getDs() {
  33. return ds;
  34. }
  35. public void setDs(DataSource ds) {
  36. this.ds = ds;
  37. }
  38. public XPage getItemlist(int currentPage, int count, Tmeet info) {
  39. String hql = "select a from Tmeet a where 1=1";
  40. String path = "meet.do?task=query&";
  41. XPage page = new XPage();
  42. // 开始设置xpage
  43. page.setCurrentPage(currentPage);
  44. page.setCount(count);
  45. // 动态的构建hql语句和xpage的path
  46. if (info != null) {
  47. if (info.getMtitle() != null && !info.getMtitle().trim().equals("")) {
  48. hql += " and a.mtitle like :mtitle";
  49. path += "mtitle=" + info.getMtitle() + "&";
  50. }
  51. if (info.getMid() != 0 && info.getMid() > 0) {
  52. hql += " and a.mid= :mid";
  53. path += " mid=" + info.getMid() + "&";
  54. }
  55. if (info.getMstarttime() != null
  56. && !info.getMstarttime().trim().equals("")
  57. && info.getMendtime() != null
  58. && info.getMendtime().trim().equals("")) {
  59. hql += "and a.mstarttime=:mstarttime and a.mendtime=:mendtime";
  60. path += "mstarttime=" + info.getMstarttime() + "and"
  61. + "mendtime=" + info.getMendtime() + "&";
  62. }
  63. if (info.getMstatus() != -1 && info.getMstatus() > -1) {
  64. hql += " and a.mstatus= :mstatus";
  65. path += " mstatus=" + info.getMstatus() + "&";
  66. }
  67. if (info.getRmid() != 0 && info.getRmid() > 0) {
  68. hql += " and a.rmid= :rmid";
  69. path += " rmid=" + info.getRmid() + "&";
  70. }
  71. if (info.getUno() != null && !info.getUno().trim().equals("")) {
  72. hql += " and a.munos like :munos where mstatus!='2'";
  73. path += "uno=" + info.getUno() + "&";
  74. }
  75. }
  76. // 设置分页路径
  77. page.setPath(path);
  78. Session session = null;
  79. Query query = null;
  80. List list = null;
  81. try {
  82. session = this.meet.openSession();
  83. query = session.createQuery(hql);
  84. // 设置查询参数
  85. if (info != null) {
  86. if (info.getMtitle() != null
  87. && !info.getMtitle().trim().equals("")) {
  88. query.setParameter("mtitle", "%" + info.getMtitle() + "%");
  89. }
  90. if (info.getMid() != 0 && info.getMid() > 0) {
  91. query.setParameter("mid", new Long(info.getMid()));
  92. }
  93. if (info.getMstarttime() != null
  94. && !info.getMstarttime().trim().equals("")
  95. && info.getMendtime() != null
  96. && info.getMendtime().trim().equals("")) {
  97. query.setParameter("mstarttime", info.getMstarttime());
  98. query.setParameter("mendtime", info.getMendtime());
  99. }
  100. if (info.getMstatus() != -1 && info.getMstatus() > -1) {
  101. query.setParameter("mstatus", new Long(info.getMstatus()));
  102. }
  103. if (info.getRmid() != 0 && info.getRmid() > 0) {
  104. query.setParameter("rmid", new Long(info.getRmid()));
  105. }
  106. if (info.getUno() != null && !info.getUno().trim().equals("")) {
  107. query.setParameter("munos",  "%" + info.getUno() + "%");
  108. }
  109. }
  110. // 获取总记录数
  111. int allcount = query.list().size();
  112. page.setAllCount(allcount);
  113. // 得到分页显示数据
  114. query.setFirstResult((currentPage - 1) * count);
  115. query.setMaxResults(count);
  116. list = query.list();
  117. page.setList(list);
  118. session.flush();
  119. } catch (Exception e) {
  120. e.printStackTrace();
  121. } finally {
  122. if (session != null) {
  123. session.close();
  124. }
  125. }
  126. return page;
  127. }
  128. public boolean great(Tmeet tmeet) {
  129. HibernateTemplate ht = null;
  130. try {
  131. ht = new HibernateTemplate(this.meet);
  132. Tmeetinfo info = new Tmeetinfo();
  133. info.setRmid(tmeet.getRmid());
  134. info.setMistarttime(tmeet.getMstarttime());
  135. info.setMiendtime(tmeet.getMendtime());
  136. info.setMiunos(tmeet.getMunos());
  137. info.setMiinfo(tmeet.getMtitle());
  138. info.setMiaffixname(tmeet.getMaffixname());
  139. info.setMiaffixpath(tmeet.getMaffixpath());
  140. info.setMiisdel("0");
  141. if (tmeet.getMaffixname() != null) {
  142. info.setMaffix(1);
  143. } else {
  144. info.setMaffix(0);
  145. }
  146. info.setMeet(tmeet);
  147. tmeet.setInfo(info);
  148. ht.save(tmeet);
  149. return true;
  150. } catch (Exception e) {
  151. e.printStackTrace();
  152. }
  153. return false;
  154. }
  155. public Tmeet getItemById(long mid) {
  156. Tmeet meet = null;
  157. HibernateTemplate ht = null;
  158. try {
  159. ht = new HibernateTemplate(this.meet);
  160. meet = (Tmeet) ht.get(Tmeet.class, new Long(mid));
  161. } catch (Exception e) {
  162. e.printStackTrace();
  163. }
  164. return meet;
  165. }
  166. public List getuserlist(long mid) {
  167. List list = null;
  168. JdbcTemplate template = null;
  169. String sql = null;
  170. try {
  171. template = new JdbcTemplate(this.ds);
  172. sql = "select uno,uname from tuser where uno=" + mid;
  173. list = template.queryForList(sql);
  174. } catch (Exception e) {
  175. list = null;
  176. e.printStackTrace();
  177. }
  178. return list;
  179. }
  180. public List userlist() {
  181. List list = null;
  182. JdbcTemplate template = null;
  183. String sql = null;
  184. try {
  185. template = new JdbcTemplate(this.ds);
  186. sql = "select uno,uname from tuser where uislocked='0'";
  187. list = template.queryForList(sql);
  188. } catch (Exception e) {
  189. list = null;
  190. e.printStackTrace();
  191. }
  192. return list;
  193. }
  194. public List addrlist() {
  195. List list = null;
  196. JdbcTemplate tem = null;
  197. try {
  198. tem = new JdbcTemplate(this.ds);
  199. String sql = "select rmid,rname from tmeetroom";
  200. list = tem.queryForList(sql);
  201. } catch (Exception e) {
  202. list = null;
  203. e.printStackTrace();
  204. }
  205. return list;
  206. }
  207. public List roomlist(String tbegin, String tend, String rid) {
  208. List list = null;
  209. List uselist = null;
  210. JdbcTemplate template = null;
  211. String sql1 = null;
  212. String sql2 = null;
  213. try {
  214. template = new JdbcTemplate(this.ds);
  215. sql1 = "select a.rmid,a.rname from tmeetroom a where a.rstate not in (select b.rmid from tmeet b where b.mstatus>'0')";
  216. uselist = template.queryForList(sql1);// 查找可以使用的会议室
  217. System.out.println(uselist.size());
  218. sql2 = "select a.*,b.rname from tmeet a,tmeetroom b where a.mstatus>'2' and a.rmid=b.rmid";
  219. list = template.queryForList(sql2);
  220. System.out.println(list.size());
  221. for (int i = 0; i < list.size(); i++) {
  222. Map map = (Map) list.get(i);
  223. String begin = map.get("mstarttime").toString();
  224. String end = map.get("mendtime").toString();
  225. if (tbegin.compareTo(end) > 0 || tend.compareTo(begin) < 0) {
  226. Map tempmap = new HashMap();
  227. tempmap.put("rmid", map.get("rmid"));
  228. tempmap.put("rname", map.get("rname"));
  229. uselist.add(tempmap);
  230. System.out.println(uselist);
  231. }
  232. }
  233. if (rid != null && rid.equals("")) { //
  234. // 根据id查找会议室
  235. List list2 = null;
  236. String sql = null;
  237. try {
  238. sql = "select t.rmid,t.rname from tmeetroom t where t.rmid="
  239. + rid;
  240. list2 = template.queryForList(sql);
  241. } catch (Exception e) {
  242. list = null;
  243. e.printStackTrace();
  244. }
  245. Map tmap = (Map) list2.get(0);
  246. uselist.add(tmap);
  247. }
  248. } catch (Exception e) {
  249. uselist = null;
  250. e.printStackTrace();
  251. }
  252. return uselist;
  253. }
  254. public List listbyid(long mid) {
  255. List list = null;
  256. JdbcTemplate template = null;
  257. String sql = null;
  258. try {
  259. template = new JdbcTemplate(this.ds);
  260. sql = "select t.*,tm.rname from tmeet t,tmeetroom tm "
  261. + "where t.rmid=tm.rmid and t.mid=" + mid;
  262. list = template.queryForList(sql);
  263. } catch (Exception e) {
  264. list = null;
  265. e.printStackTrace();
  266. }
  267. return list;
  268. }
  269. public Map addmeet(String user) {
  270. Map map = null;
  271. List list = null;
  272. JdbcTemplate template = null;
  273. String sql = null;
  274. try {
  275. template = new JdbcTemplate(this.ds);
  276. sql = "select tu.uno,tu.uname from tuser tu where tu.uno=" + user;
  277. list = template.queryForList(sql);
  278. if (list.size() > 0) {
  279. map = (Map) list.get(0);
  280. } else {
  281. map = null;
  282. }
  283. } catch (Exception e) {
  284. list = null;
  285. e.printStackTrace();
  286. }
  287. return map;
  288. }
  289. public List listbymid(String mid) {
  290. List list = null;
  291. JdbcTemplate template = null;
  292. String sql = null;
  293. try {
  294. template = new JdbcTemplate(this.ds);
  295. sql = "select t.*,tm.rname from tmeet t,tmeetroom tm "
  296. + "where t.rmid=tm.rmid and t.mid=" + mid;
  297. list = template.queryForList(sql);
  298. } catch (Exception e) {
  299. list = null;
  300. e.printStackTrace();
  301. }
  302. return list;
  303. }
  304. public boolean updatefile(HttpServletRequest request, String newfilepath,
  305. String newfilename, String mid) {
  306. Session session = null;
  307. String hql = null;
  308. Query query = null;
  309. int meetid = Integer.parseInt(mid);
  310. try {
  311. session = this.meet.openSession();
  312. hql = "update Tmeet set maffixname='" + newfilename
  313. + "',maffixpath='" + newfilepath + "' where mid=" + meetid;
  314. query = session.createQuery(hql);
  315. query.executeUpdate();
  316. return true;
  317. } catch (Exception e1) {
  318. e1.printStackTrace();
  319. } finally {
  320. session.close();
  321. }
  322. return false;
  323. }
  324. public boolean update(Tmeet tmeet) {
  325. HibernateTemplate ht = null;
  326. try {
  327. ht = new HibernateTemplate(this.meet);
  328. Tmeetinfo info = new Tmeetinfo();
  329. info.setRmid(tmeet.getRmid());
  330. info.setMistarttime(tmeet.getMstarttime());
  331. info.setMiendtime(tmeet.getMendtime());
  332. info.setMiunos(tmeet.getMunos());
  333. info.setMiinfo(tmeet.getMtitle());
  334. info.setMiaffixname(tmeet.getMaffixname());
  335. info.setMiaffixpath(tmeet.getMaffixpath());
  336. info.setMiisdel("0");
  337. if (tmeet.getMaffixname() != null) {
  338. info.setMaffix(1);
  339. } else {
  340. info.setMaffix(0);
  341. }
  342. info.setMeet(tmeet);
  343. tmeet.setInfo(info);
  344. ht.update(tmeet);
  345. return true;
  346. } catch (Exception e) {
  347. e.printStackTrace();
  348. }
  349. return false;
  350. }
  351. /**
  352.  * 修改会议为完成
  353.  */
  354. public boolean updatestatus1(HttpServletRequest request, String time) {
  355. boolean flag = false;
  356. Session session = null;
  357. String hql = null;
  358. Query query = null;
  359. try {
  360. session = this.meet.openSession();
  361. hql = "update Tmeet set mstatus='2' where mendtime<='" + time
  362. + "' and  mSTATUS='1'";
  363. String hql2 = "update Tmeetinfo set Miisdel='2' where Miendtime<='"
  364. + time + "' and  Miisdel='1'";
  365. query = session.createQuery(hql);
  366. query = session.createQuery(hql2);
  367. int i = query.executeUpdate();
  368. if (i > 0) {
  369. return true;
  370. }
  371. } catch (Exception e) {
  372. e.printStackTrace();
  373. } finally {
  374. session.close();
  375. }
  376. return false;
  377. }
  378. /**
  379.  * 修改会议为开始
  380.  */
  381. public boolean updatestatus2(HttpServletRequest request, String time) {
  382. boolean flag = false;
  383. Session session = null;
  384. String hql = null;
  385. Query query = null;
  386. try {
  387. session = this.meet.openSession();
  388. hql = "update Tmeet set mstatus='1' where mstarttime<='" + time
  389. + "' and  mSTATUS='0'";
  390. String hql2 = "update Tmeetinfo set Miisdel='1' where Mistarttime<='"
  391. + time + "' and  Miisdel='0'";
  392. query = session.createQuery(hql);
  393. query = session.createQuery(hql2);
  394. int i = query.executeUpdate();
  395. if (i > 0) {
  396. return true;
  397. }
  398. } catch (Exception e) {
  399. e.printStackTrace();
  400. } finally {
  401. session.close();
  402. }
  403. return false;
  404. }
  405. public boolean cancle(Tmeet meet) {
  406. boolean flag = false;
  407. HibernateTemplate th = null;
  408. try {
  409. th = new HibernateTemplate(this.meet);
  410. th.update(meet);
  411. flag = true;
  412. } catch (Exception e) {
  413. flag = false;
  414. e.printStackTrace();
  415. }
  416. return flag;
  417. }
  418. public List allroom() {
  419. List roomlist = null;
  420. JdbcTemplate template = null;
  421. String sql = null;
  422. try {
  423. template = new JdbcTemplate(this.ds);
  424. sql = "select t.rmid,t.rname from tmeetroom t ";
  425. roomlist = template.queryForList(sql);
  426. } catch (Exception e) {
  427. roomlist = null;
  428. e.printStackTrace();
  429. }
  430. return roomlist;
  431. }
  432. }