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

Jsp/Servlet

开发平台:

Java

  1. //Created by MyEclipse Struts
  2. // XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_4.1.0/xslt/JavaClass.xsl
  3. package com.oa.module.meet.struts.action;
  4. import java.io.FileOutputStream;
  5. import java.io.IOException;
  6. import java.io.InputStream;
  7. import java.io.OutputStream;
  8. import java.io.PrintWriter;
  9. import java.lang.reflect.InvocationTargetException;
  10. import java.util.ArrayList;
  11. import java.util.Enumeration;
  12. import java.util.HashMap;
  13. import java.util.Hashtable;
  14. import java.util.Iterator;
  15. import java.util.List;
  16. import java.util.Map;
  17. import java.util.Set;
  18. import javax.servlet.http.HttpServletRequest;
  19. import javax.servlet.http.HttpServletResponse;
  20. import org.apache.commons.beanutils.BeanUtils;
  21. import org.apache.struts.action.Action;
  22. import org.apache.struts.action.ActionForm;
  23. import org.apache.struts.action.ActionForward;
  24. import org.apache.struts.action.ActionMapping;
  25. import org.apache.struts.actions.DispatchAction;
  26. import org.apache.struts.upload.FormFile;
  27. import com.oa.module.meet.hibernate.Tmeet;
  28. import com.oa.module.meet.hibernate.Tmeetinfo;
  29. import com.oa.module.meet.meetinfodao.MeetInfoInterfer;
  30. import com.oa.module.meet.struts.form.MeetinfoForm;
  31. import com.oa.module.pub.ectomere.XPage;
  32. /**
  33.  * MyEclipse Struts Creation date: 01-19-2008
  34.  * 
  35.  * XDoclet definition:
  36.  * 
  37.  * @struts.action path="/meetinfo" name="meetinfoForm"
  38.  *                input="/Jsp_file/meet/meetinfo.jsp" parameter="task"
  39.  *                scope="request" validate="true"
  40.  * @struts.action-forward name="infolist" path="/Jsp_file/meet/meetinfolist.jsp"
  41.  */
  42. public class MeetinfoAction extends DispatchAction {
  43. // --------------------------------------------------------- Instance
  44. // Variables
  45. private MeetInfoInterfer infointer;
  46. // --------------------------------------------------------- Methods
  47. /**
  48.  * Method execute
  49.  * 
  50.  * @param mapping
  51.  * @param form
  52.  * @param request
  53.  * @param response
  54.  * @return ActionForward
  55.  */
  56. public ActionForward query(ActionMapping mapping, ActionForm form,
  57. HttpServletRequest request, HttpServletResponse response) {
  58. MeetinfoForm meetinfoForm = (MeetinfoForm) form;
  59. int currentPage = 1;
  60. try {
  61. currentPage = Integer.parseInt(request.getParameter("currentPage"));
  62. } catch (Exception e) {
  63. currentPage = 1;
  64. }
  65. int count = 3;
  66. Tmeetinfo info = new Tmeetinfo();
  67. // 拷贝查询参数
  68. try {
  69. BeanUtils.copyProperties(info, meetinfoForm);
  70. } catch (IllegalAccessException e) {
  71. // TODO Auto-generated catch block
  72. e.printStackTrace();
  73. } catch (InvocationTargetException e) {
  74. // TODO Auto-generated catch block
  75. e.printStackTrace();
  76. }
  77. XPage meetinfopage = infointer.getItemlist(currentPage, count, info);
  78. request.setAttribute("meetinfopage", meetinfopage);
  79. return mapping.findForward("infolist");
  80. }
  81. /**
  82.  * 转到修改页面
  83.  * @param mapping
  84.  * @param form
  85.  * @param request
  86.  * @param response
  87.  * @return
  88.  */
  89. public ActionForward init(ActionMapping mapping, ActionForm form,
  90. HttpServletRequest request, HttpServletResponse response) {
  91. MeetinfoForm meetinfoForm = (MeetinfoForm) form;
  92. String miid = request.getParameter("mid");
  93. Tmeetinfo info = infointer.getItemById(Long.parseLong(miid));
  94. try {
  95. BeanUtils.copyProperties(meetinfoForm,info);
  96. } catch (IllegalAccessException e) {
  97. // TODO 自动生成 catch 块
  98. e.printStackTrace();
  99. } catch (InvocationTargetException e) {
  100. // TODO 自动生成 catch 块
  101. e.printStackTrace();
  102. }
  103. List listuser = infointer.userlist();
  104. request.setAttribute("listuser1", listuser);// 所有 员工
  105. // 从会议纪要表中查找会议纪要信息
  106. List dlist = infointer.selectbyid(miid);
  107. //会议表中查询出会议信息
  108. List list = infointer.listbyid(miid);
  109. Map map = (Map) list.get(0);
  110. if(dlist.size()==0){
  111. // 开会人数组
  112. String temp = map.get("minuos").toString();
  113. String[] user = temp.split(",");
  114. List addmeet = new ArrayList();
  115. for (int i = 0; i < user.length; i++) {
  116. Map tempmap = infointer.addmeet(user[i]);
  117. addmeet.add(tempmap);
  118. }
  119. request.setAttribute("addmeet", addmeet);
  120. // 返回一个所有用户列表
  121. List userlist = infointer.userlist();
  122. for (int i = 0; i < user.length; i++) {
  123. for (int j = 0; j < userlist.size(); j++) {
  124. Map tempmap = (Map) userlist.get(j);
  125. String id = tempmap.get("uno").toString();
  126. if (user[i].equals(id)) {
  127. userlist.remove(j);
  128. break;
  129. }
  130. }
  131. }
  132. request.setAttribute("userlist", userlist);
  133. }else{
  134. Map detailmap = (Map) dlist.get(0);
  135. // 开会人数组
  136. String temp2 = detailmap.get("miunos").toString();
  137. String[] user2 = temp2.split(",");
  138. List addmeet2 = new ArrayList();
  139. for (int i = 0; i < user2.length; i++) {
  140. Map tempmap = infointer.addmeet(user2[i]);
  141. addmeet2.add(tempmap);
  142. }
  143. request.setAttribute("addmeet", addmeet2);
  144. //  返回一个所有用户列表
  145. List userlist = infointer.userlist();
  146. for (int i = 0; i < user2.length; i++) {
  147. for (int j = 0; j < userlist.size(); j++) {
  148. Map tempmap = (Map) userlist.get(j);
  149. String id = tempmap.get("uno").toString();
  150. if (user2[i].equals(id)) {
  151. userlist.remove(j);
  152. break;
  153. }
  154. }
  155. }
  156. request.setAttribute("userlist", userlist);
  157. //  文件域
  158. if (detailmap.get("miaffixname") != null
  159. && detailmap.get("miaffixpath") != null) {
  160. String fname = detailmap.get("miaffixname").toString();
  161. String fpath = detailmap.get("miaffixpath").toString();
  162. String[] fnames = fname.split(",");
  163. String[] fpaths = fpath.split(",");
  164. List filelist = new ArrayList();
  165. for (int i = 0; i < fnames.length; i++) {
  166. Map tempmap = new HashMap();
  167. tempmap.put("miaffixname", fnames[i]);
  168. tempmap.put("miaffixpath", fpaths[i]);
  169. filelist.add(tempmap);
  170. }
  171. request.setAttribute("filelist", filelist);
  172. int size = filelist.size();
  173. request.setAttribute("size", String.valueOf(size));
  174. }
  175. }
  176. List rlist = infointer.allroom();
  177. request.setAttribute("roomlist", rlist);
  178. meetinfoForm.setTask("edit");
  179. return mapping.getInputForward();
  180. }
  181. /**
  182.  * 修改会议纪要处理
  183.  * @param mapping
  184.  * @param form
  185.  * @param request
  186.  * @param response
  187.  * @return
  188.  */
  189. public ActionForward edit(ActionMapping mapping, ActionForm form,
  190. HttpServletRequest request, HttpServletResponse response) {
  191. MeetinfoForm meetinfoForm = (MeetinfoForm) form;
  192. PrintWriter out = null;
  193. try {
  194. out = response.getWriter();
  195. } catch (IOException e1) {
  196. e1.printStackTrace();
  197. }
  198. String[] temp = request.getParameterValues("addmeet");
  199. String adduser = null;
  200. if (temp != null) {
  201. for (int t = 0; t < temp.length; t++) {
  202. if (adduser != null && !adduser.equals("")) {
  203. adduser = adduser + ',' + temp[t];
  204. } else {
  205. adduser = temp[t];
  206. }
  207. }
  208. }
  209. meetinfoForm.setMiunos(adduser);
  210. List meetlist = infointer.listbyid(String.valueOf(meetinfoForm.getMiid()));
  211. Map map = (Map) meetlist.get(0);
  212. String oldname = (String) map.get("miaffixname");
  213. String oldpath = (String) map.get("miaffixpath");
  214. Hashtable fileh = meetinfoForm.getMultipartRequestHandler()
  215. .getFileElements();
  216. String filePath = "";
  217. String filenames = "";
  218. String filepaths = "";
  219. int i = 0;
  220. for (Enumeration e = fileh.keys(); e.hasMoreElements();) {
  221. filePath = "";
  222. filePath = servlet.getServletContext().getRealPath(
  223. "/upload/meetfile/");// 取当前系统路径
  224. String key = (String) e.nextElement();
  225. Set set = fileh.entrySet();
  226. Iterator iterator = set.iterator();
  227. while (iterator.hasNext()) {
  228. Map.Entry entry = (Map.Entry) iterator.next();
  229. if (entry.getValue() != "") {
  230. FormFile file = (FormFile) entry.getValue();
  231. if (file.getFileSize() > 5000000) {
  232. out
  233. .println("<script>alert('上传的附件大小不能大于5M');window.history.back();</script>");
  234. return null;
  235. }
  236. }
  237. }
  238. try {
  239. FormFile file = (FormFile) fileh.get(key);
  240. String filename = file.getFileName().trim();
  241. if (filename != null && !filename.equals("")) {
  242. filenames = filenames + filename + ",";
  243. String temp1 = filename.substring(filename.lastIndexOf("."),
  244. filename.length());
  245. String filepath = System.currentTimeMillis() + i + temp1;
  246. filepaths = filepaths + filepath + ",";
  247. InputStream stream = file.getInputStream();
  248. filePath = filePath + "\" + filepath;
  249. OutputStream outstream = new FileOutputStream(filePath);
  250. int byteread = 0;
  251. byte[] buffer = new byte[8192];
  252. while ((byteread = stream.read(buffer, 0, 8192)) != -1) {
  253. outstream.write(buffer, 0, byteread);
  254. }
  255. meetinfoForm.setMaffix(1);
  256. outstream.close();
  257. stream.close();
  258. }
  259. } catch (Exception e1) {
  260. e1.printStackTrace();
  261. }
  262. i++;
  263. }
  264. if (!filenames.equals("") && !filepaths.equals("")) {
  265. filenames = filenames.substring(0, filenames.length() - 1);
  266. filepaths = filepaths.substring(0, filepaths.length() - 1);
  267. }
  268. oldname = oldname + "," + filenames;
  269. oldpath = oldpath + "," + filepaths;
  270. meetinfoForm.setMiaffixname(oldname);
  271. meetinfoForm.setMiaffixpath(oldpath);
  272. Tmeetinfo info = new Tmeetinfo();
  273. try {
  274. BeanUtils.copyProperties(info,meetinfoForm);
  275. } catch (IllegalAccessException e) {
  276. // TODO 自动生成 catch 块
  277. e.printStackTrace();
  278. } catch (InvocationTargetException e) {
  279. // TODO 自动生成 catch 块
  280. e.printStackTrace();
  281. }
  282. boolean flag = infointer.update(info);
  283. if (flag) {
  284. return new ActionForward("/meetinfo.do?task=query", true);
  285. } else {
  286. return mapping.getInputForward();
  287. }
  288. }
  289. /**
  290.  * 会议详细信息
  291.  * @param mapping
  292.  * @param form
  293.  * @param request
  294.  * @param response
  295.  * @return
  296.  */
  297. public ActionForward look(ActionMapping mapping, ActionForm form,
  298. HttpServletRequest request, HttpServletResponse response) {
  299. MeetinfoForm meetinfoForm = (MeetinfoForm) form;
  300. String miid = request.getParameter("mid");
  301. Tmeetinfo meetinfo = infointer.getItemById(Long.parseLong(miid));
  302. try {
  303. BeanUtils.copyProperties(meetinfoForm, meetinfo);
  304. } catch (IllegalAccessException e) {
  305. // TODO 自动生成 catch 块
  306. e.printStackTrace();
  307. } catch (InvocationTargetException e) {
  308. // TODO 自动生成 catch 块
  309. e.printStackTrace();
  310. }
  311. //
  312. // List listuser1 = meetinter.getuserlist(meetForm.getMid());
  313. // request.setAttribute("listuser1",listuser1);//主持 人
  314. List listuser = infointer.userlist();
  315. request.setAttribute("listuser1", listuser);// 所有 员工
  316. List list = infointer.listbyid(meetinfoForm.getMiid());
  317. if (list != null && list.size() > 0) {
  318. Map map = (Map) list.get(0);
  319. String temp = map.get("munos").toString();
  320. String[] user = temp.split(",");
  321. List addmeet = new ArrayList();
  322. for (int i = 0; i < user.length; i++) {
  323. Map tempadd = infointer.addmeet(user[i]);
  324. addmeet.add(tempadd);
  325. System.out.println(addmeet);
  326. }
  327. request.setAttribute("addmeet", addmeet);
  328. // meetForm.setMstarttime(map.get("mstarttime").toString());
  329. // meetForm.setMendtime(map.get("mendtime").toString());
  330. // meetForm.setMcontent(map.get("mcontent").toString());
  331. meetinfoForm.setRmid(Long.parseLong(map.get("rmid").toString()));
  332. List userlist = infointer.userlist();
  333. for (int i = 0; i < user.length; i++) {
  334. for (int j = 0; j < userlist.size(); j++) {
  335. Map tempmap = (Map) userlist.get(j);
  336. String id = tempmap.get("uno").toString();
  337. if (user[i].equals(id)) {
  338. userlist.remove(j);
  339. break;
  340. }
  341. }
  342. }
  343. request.setAttribute("listuser", userlist);
  344. if (map.get("miaffixname") != null && map.get("maffixpath") != null) {
  345. String fname = map.get("miaffixname").toString();
  346. String fpath = map.get("miaffixpath").toString();
  347. String[] fnames = fname.split(",");
  348. String[] fpaths = fpath.split(",");
  349. List filelist = new ArrayList();
  350. for (int i = 0; i < fpaths.length; i++) {
  351. Map tempmap = new HashMap();
  352. tempmap.put("miaffixname", fnames[i]);
  353. tempmap.put("miaffixpath", fpaths[i]);
  354. filelist.add(tempmap);
  355. }
  356. request.setAttribute("filelist", filelist);
  357. request.setAttribute("size", String.valueOf(fnames.length));
  358. System.out.println(String.valueOf(fnames.length));
  359. }
  360. }
  361. List rlist = infointer.allroom();
  362. request.setAttribute("roomlist", rlist);
  363. return mapping.findForward("look");
  364. }
  365. public MeetInfoInterfer getInfointer() {
  366. return infointer;
  367. }
  368. public void setInfointer(MeetInfoInterfer infointer) {
  369. this.infointer = infointer;
  370. }
  371. }