⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addtaskaction.java

📁 一个oa系统
💻 JAVA
字号:
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.oa.document.action;

import java.io.File;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.oa.db.User;
import com.oa.db.UserDAO;
import com.oa.document.db.Docmove;
import com.oa.document.db.DocmoveDAO;
import com.oa.document.db.Doctask;
import com.oa.document.db.DoctaskDAO;

/** 
 * MyEclipse Struts
 * Creation date: 08-21-2007
 * 
 * XDoclet definition:
 * @struts.action input="/doc/addtask.jsp" scope="request" validate="true"
 */
public class AddTaskAction extends Action {
	/*
	 * Generated Methods
	 */
	DoctaskDAO doctaskdao;
	UserDAO udao;
	DocmoveDAO movedao;
	/** 
	 * Method execute
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		String taskname = "";
		String arrange = "";
		String taskaim = "";
		String starttime = "";
		String endtime = "";
		String totalday = "0";
		String totalhour = "0";
		String file = "";
		String truefile = "";
		String opinion = "";
		String nextauditor = "";
		
		String id = "";
		String flag = "";
		
		HttpSession session = request.getSession();
		String username = (String)session.getAttribute("username");
		if(username != null){
			User uvo = null;
			List list = udao.ByUsernameQueryUser(username);
			if(list!=null&&list.size()!=0){
				uvo=(User)list.get(0);
			}
			if(uvo != null){
				try {//上传附件
					DiskFileUpload dfu = new DiskFileUpload();
					dfu.setSizeMax(1 * 512 * 1024); // 设置上传文件最大尺寸 0.5M
					dfu.setSizeThreshold(4 * 1024);  // 设置缓冲区
					dfu.setRepositoryPath("d:\\oafile\\temp\\");// 设置临时目录
					List filelist = dfu.parseRequest(request);// 获得所有文件
					Iterator it = filelist.iterator();
					while (it.hasNext()) {
						FileItem fi = (FileItem) it.next();
						if(fi.isFormField()){//表单域
							if(fi.getFieldName().equals("taskname"))
								taskname = fi.getString();
							if(fi.getFieldName().equals("arrange"))
								arrange = fi.getString();
							if(fi.getFieldName().equals("taskaim"))
								taskaim = fi.getString();
							if(fi.getFieldName().equals("starttime"))
								starttime = fi.getString();
							if(fi.getFieldName().equals("endtime"))
								endtime = fi.getString();
							if(fi.getFieldName().equals("totalday"))
								totalday = fi.getString();
							if(fi.getFieldName().equals("totalhour"))
								totalhour = fi.getString();
							if(fi.getFieldName().equals("arrange"))
								arrange = fi.getString();
							if(fi.getFieldName().equals("opinion"))
								opinion = fi.getString();
							if(fi.getFieldName().equals("auditor"))
								nextauditor = fi.getString();
							if(fi.getFieldName().equals("id"))
								id = fi.getString();
							if(fi.getFieldName().equals("flag"))
								flag = fi.getString();
						}else{//文件域
							String strname = fi.getName();
							if (strname != null && !strname.equals("")) {// 保存文件
								SimpleDateFormat f = new SimpleDateFormat("yyyyMMddHHmmss");
								
								String filename = strname.substring(strname
										.lastIndexOf("\\")+1, strname.length())
										.replace(".", "[" + f.format(new Date()) + "]" + ".");
								
								//+ "." + strname.substring(strname
										//.lastIndexOf(".")+1, strname.length())
								file += f.format(new Date()) + "###";
								truefile += strname.substring(strname
										.lastIndexOf("\\")+1, strname.length()) + "###";
								fi.write(new File("d:\\oafile\\document\\" + filename));
							} 
						}
					}
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} 
				
				try {
					Doctask task = doctaskdao.findMaxDocid();
					String tackid = "";//自动生成任务单编号
					if(task != null){
						int ii = Integer.parseInt(task.getTaskid().substring(4, 12));
						tackid = "LXRW" + Integer.toString(ii + 1);
					} else {
						tackid = "LXRW10000001";
					}
					
					Doctask vo = new Doctask();
					vo.setSender(Integer.toString(uvo.getId()));
					vo.setDeptid(Integer.toString(uvo.getDepartmentid()));
					vo.setTaskid(tackid);
					vo.setTaskname(taskname);
					vo.setArrange(arrange);
					vo.setTaskaim(taskaim);
					vo.setStarttime(starttime);
					vo.setEndtime(endtime);
					vo.setFile(file);
					vo.setTruefile(truefile);
					vo.setTotalday(Integer.parseInt(totalday));
					vo.setTotalhour(Integer.parseInt(totalhour));
					vo.setState("流转");
					SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
					vo.setDate(sdf.parse(sdf.format(new Date())));
					
					boolean boldoc = false;
					if(id!=null && flag!=null && flag.equals("1")){
						boldoc = doctaskdao.updateDoc(Integer.parseInt(id), vo);//修改
					}else{
						boldoc = doctaskdao.save(vo);//保存
					}
					
					boolean bolsuc = false;
					if(boldoc){//公文操作成功才向下流转
						Docmove movevo = new Docmove();//公文下一步流动
						int docid = 0;
						if(id.equals("")){
							docid = vo.getId();
						} else {
							docid = Integer.parseInt(id);
						}
						movevo.setDocid(docid);
						movevo.setDoctype("2");
						movevo.setNextauditor(nextauditor);
						movevo.setOpinion(opinion);
						movevo.setAuditor(Integer.toString(uvo.getId()));
						movevo.setState("流转");
						movevo.setYiauditor(" ");
						movevo.setDate(sdf.parse(sdf.format(new Date())));
						
						bolsuc = movedao.save(movevo);
					}
					
					response.setCharacterEncoding("gb2312");
					PrintWriter out = response.getWriter();
					out.println("<script>");
					if(bolsuc){
						out.println("alert('任务单提交成功!');");
					} else {
						out.println("alert('任务单提交失败!');");
					}
					if(id!=null && flag!=null && flag.equals("1")){
						out.println("window.opener.location.href = 'document.do?docmode=3';");
						out.println("window.close();");
					} else {
						out.println("window.open('doc/document.jsp','_self');");
					}
					out.println("</script>");
					out.flush();
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} 
			}
		}
		
		return null;
	}
	public DoctaskDAO getDoctaskdao() {
		return doctaskdao;
	}
	public void setDoctaskdao(DoctaskDAO doctaskdao) {
		this.doctaskdao = doctaskdao;
	}
	public DocmoveDAO getMovedao() {
		return movedao;
	}
	public void setMovedao(DocmoveDAO movedao) {
		this.movedao = movedao;
	}
	public UserDAO getUdao() {
		return udao;
	}
	public void setUdao(UserDAO udao) {
		this.udao = udao;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -