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

Jsp/Servlet

开发平台:

Java

  1. package com.oa.module.pub.affiche;
  2. import java.sql.PreparedStatement;
  3. import java.sql.SQLException;
  4. import java.util.List;
  5. import java.util.Map;
  6. import org.hibernate.Query;
  7. import org.hibernate.Session;
  8. import org.hibernate.SessionFactory;
  9. import org.springframework.jdbc.core.JdbcTemplate;
  10. import org.springframework.jdbc.core.PreparedStatementSetter;
  11. import com.oa.util.ToolUtil;
  12. import com.oa.util.XPage;
  13. public class AfficheDAO {
  14. private JdbcTemplate jdbcTemplate;
  15. private SessionFactory sessionFactory;
  16. public SessionFactory getSessionFactory() {
  17. return sessionFactory;
  18. }
  19. public void setSessionFactory(SessionFactory sessionFactory) {
  20. this.sessionFactory = sessionFactory;
  21. }
  22. public List getAffiche() {
  23. String sql = " select a.*,use.uname from taffiche a" +
  24.  " left join tuser use on use.uno=a.funo" +
  25.  " where astate='1' order by asend_time desc";
  26. try {
  27. List list = this.jdbcTemplate.queryForList(sql);
  28. return list;
  29. } catch (Exception e) {
  30. e.printStackTrace();
  31. }
  32. return null;
  33. }
  34. public Map getAfficheById(int aid) {
  35. String sql = " select a.*,use.uname,u.uname as fname from taffiche a" +
  36.    " left join tuser u on u.uno=a.funo" +
  37.    " left join tuser use on use.uno=a.uno" +
  38.    " where a.aid="+aid;
  39. try {
  40. Map map =this.jdbcTemplate.queryForMap(sql);
  41. return map;
  42. } catch (Exception e) {
  43. e.printStackTrace();
  44. }
  45. return null;
  46. }
  47. public XPage getAfficheList(String type,String atitle, String begintime, String endtime, int currentPage, int count) {
  48. XPage page=new XPage();
  49. //开始设置xpage
  50. page.setCurrentPage(currentPage);
  51. page.setCount(count);
  52. Session session = null;
  53. String hql = "from Taffiche a where 1=1";
  54. String path = "/oa/affiche.do?";
  55. if(type.equals("query")){
  56. path = path + "method=query&";//显示给用户看
  57. }else{
  58. path = path + "method=editlist&";
  59. }
  60. if(atitle!=null&&!atitle.trim().equals("")){
  61. hql = hql + " and atitle like :title";
  62. path = path + "atitle="+atitle+"&";
  63. }
  64. if(begintime!=null&&!begintime.trim().equals("")&&endtime!=null&&!endtime.trim().equals("")){
  65. hql = hql + " and (asend_time between :begin and :end )";
  66. path = path + "begin="+begintime+"&end="+endtime+"&";
  67. }
  68. if(begintime!=null&&!begintime.trim().equals("")&&endtime==null){//只有一个数据
  69. hql = hql + " and asend_time= :begin";
  70. path = path + "begin="+begintime+"&";
  71. }
  72. if(begintime==null&&endtime!=null&&!endtime.trim().equals("")){//只有一个数据
  73. hql = hql + " and asend_time=:end";
  74. path = path + "end="+endtime+"&";
  75. }
  76. System.out.println(path);
  77. page.setPath(path);
  78. hql = hql+" order by asend_time desc";
  79. try {
  80. session = this.sessionFactory.openSession();
  81. Query query = session.createQuery(hql);
  82. if(atitle!=null&&!atitle.trim().equals("")){
  83. query.setParameter("title","%"+atitle+"%");
  84. }
  85. if(begintime!=null&&!begintime.trim().equals("")&&endtime!=null&&!endtime.trim().equals("")){
  86. query.setParameter("begin",begintime);
  87. query.setParameter("end",endtime);
  88. }
  89. if(begintime!=null&&!begintime.trim().equals("")&&endtime==null){//只有一个数据
  90. query.setParameter("begin",begintime);
  91. }
  92. if(begintime==null&&endtime!=null&&!endtime.trim().equals("")){//只有一个数据
  93. query.setParameter("end",endtime);
  94. }
  95. //获取总记录数
  96. int allcount=query.list().size();
  97. page.setAllCount(allcount);
  98. //得到分页显示数据
  99. query.setFirstResult((currentPage-1)*count);
  100. query.setMaxResults(count);
  101. List list = query.list();
  102. page.setList(list);
  103. } catch (Exception e) {
  104. e.printStackTrace();
  105. }
  106. return page;
  107. }
  108. public boolean addAffiche(final AfficheForm afficheForm) {
  109. String sql =" insert into taffiche (aid,atitle,acontent,affixname,affixpath,asend_time,areal_time,funo,amemo)"+
  110. " values(seq_t_affiche.nextval,?,?,?,?,?,?,?,?)";
  111. try {
  112. this.jdbcTemplate.update(sql,new PreparedStatementSetter(){
  113. public void setValues(PreparedStatement pstm) throws SQLException {
  114. // TODO 自动生成方法存根
  115. pstm.setString(1,afficheForm.getAtitle());
  116. pstm.setString(2,afficheForm.getAcontent());
  117. pstm.setString(3,afficheForm.getAffixname());
  118. pstm.setString(4,afficheForm.getAffixpath());
  119. pstm.setString(5,afficheForm.getAsendTime());
  120. pstm.setString(6,afficheForm.getArealTime());
  121. pstm.setString(7,afficheForm.getUno());
  122. pstm.setString(8,afficheForm.getAmemo());
  123. }
  124. });
  125. return true;
  126. } catch (Exception e) {
  127. e.printStackTrace();
  128. System.out.println("数据插入出错了");
  129. return false;
  130. }
  131. }
  132. public boolean updateAffiche(AfficheForm afficheForm) {
  133. String sql =" update taffiche set atitle=?,acontent=?,affixname=?,affixpath=?,areal_time=?,amemo=?"+
  134. " where aid=?";
  135. try {
  136. this.jdbcTemplate.update(sql,new Object[]{afficheForm.getAtitle(),afficheForm.getAcontent(),afficheForm.getAffixname(),
  137. afficheForm.getAffixpath(),afficheForm.getArealTime(),afficheForm.getAmemo(),new Integer(afficheForm.getAid())});
  138. return true;
  139. } catch (Exception e) {
  140. e.printStackTrace();
  141. System.out.println("数据修改出错了");
  142. return false;
  143. }
  144. }
  145. public boolean deleteAfficheById(int aid) {
  146. String sql =" delete from taffiche where aid=?";
  147. try {
  148. this.jdbcTemplate.update(sql,new Object[]{new Integer(aid)});
  149. return true;
  150. } catch (Exception e) {
  151. e.printStackTrace();
  152. System.out.println("数据删除出错了");
  153. return false;
  154. }
  155. }
  156. public String getFilePath(String sql) {
  157. try {
  158. String path = (String)this.jdbcTemplate.queryForObject(sql,String.class);
  159. return path;
  160. } catch (Exception e) {
  161. e.printStackTrace();
  162. }
  163. return null;
  164. }
  165. public List getNotAudit() {
  166. String sql = " select a.*,use.uname from taffiche a" +
  167.  " left join tuser use on use.uno=a.funo" +
  168.  " where astate='0' order by asend_time desc";
  169. try {
  170. List list = this.jdbcTemplate.queryForList(sql);
  171. return list;
  172. } catch (Exception e) {
  173. e.printStackTrace();
  174. }
  175. return null;
  176. }
  177. public boolean auditAfficheById(int aid, String flag) {
  178. String sql =" update taffiche set astate=? where aid=?";
  179. try {
  180. this.jdbcTemplate.update(sql,new Object[]{flag,new Integer(aid)});
  181. return true;
  182. } catch (Exception e) {
  183. e.printStackTrace();
  184. System.out.println("数据修改出错了");
  185. return false;
  186. }
  187. }
  188. public JdbcTemplate getJdbcTemplate() {
  189. return jdbcTemplate;
  190. }
  191. public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
  192. this.jdbcTemplate = jdbcTemplate;
  193. }
  194. public void renovateDataBase() {
  195. //取出原始数据
  196. String sql = "select aid,asend_time,aregu_time from taffiche ";
  197. try {
  198. List list = this.jdbcTemplate.queryForList(sql);
  199. for (int i = 0; i < list.size(); i++) {
  200. Map map = (Map)list.get(i);
  201. String sendTime = (String) map.get("asend_time");
  202. String regulate = (String) map.get("aregu_time");
  203. int aid = Integer.parseInt(map.get("aid").toString());
  204. int minute = ToolUtil.parseInt(regulate);
  205. String date = ToolUtil.plusTime(sendTime,minute);
  206. String nowdate = ToolUtil.getNowDate();
  207. if (date.compareTo(nowdate)<0){//超过规定时间
  208. //改变审核状态为已通过
  209. String sql2 = "update taffiche set astate=1 where aid=? and astate=0";
  210. this.jdbcTemplate.update(sql2,new Object[]{new Integer(aid)});
  211. }
  212. }
  213. } catch (Exception e) {
  214. e.printStackTrace();
  215. }
  216. }
  217. }