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

📄 contractaction.java

📁 sso呵呵
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.mdcl.mocha.jlcmcc.contract.action;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

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

import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.mdcl.mocha.bpm.webcommons.action.BPMBaseAction;
import com.mdcl.mocha.bpm.sdk.ServiceManager;
import com.mdcl.mocha.jlcmcc.contract.Contract;
import com.mdcl.mocha.jlcmcc.contract.ContractAttach;
import com.mdcl.mocha.jlcmcc.contract.IContractManager;
import com.mdcl.mocha.jlcmcc.contract.entity.BigType_SmallTypesBean;
import com.mdcl.mocha.jlcmcc.contract.entity.SmallType_ContractsBean;

/**
 *
 * <strong>Title : ContractAction<br></strong>
 * <strong>Description : 实现对合同范本和合同范本附件的维护 </strong><br>
 * <strong>Create on : 2007-9-11<br></strong>
 * <p>
 * <strong>Copyright (C) Mocha Software Co.,Ltd.<br></strong>
 * <p>
 * @author wangchl wangchl@mochasoft.com.cn<br>
 * @version <strong>吉林移动BPM一期</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人		修改日期		修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public class ContractAction extends BPMBaseAction {
	/**
	 * Logger for this class
	 */
	private static final Logger S_LOGGER = Logger
			.getLogger(ContractAction.class);

	/**
	 * 上传单个文件最大字节数 根据需求参数由配置文件传入
	 */
	private static final long FILE_SIZE_MAX = 4 * 1024 * 1024;

	/**
	 *
	 * 方法描述 添加合同范本
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward "SUCCESS"
	 */
	public ActionForward add(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
//		System.out.println(">>>> ContractAction.add()");
		String bigType="", smallType="",contrName="", summarize="";

		bigType 	= request.getParameter("selBigType");
		smallType 	= request.getParameter("selSmallType");
		contrName	= request.getParameter("contrName");
		summarize	= request.getParameter("explain");

		//填充对象
		Contract cont = new Contract();
		cont.setBigType(bigType);
		cont.setSmallType(smallType);
		cont.setName(contrName);
		cont.setSummarize(summarize);

		try {
			//得到服务实例
			IContractManager icont = getService();
			boolean falg = icont.addContract(cont);
//			System.out.println(">><< save falg:*" + falg + "*");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	//组织合同类型
    	Map typeMap = buildType();
    	request.setAttribute("typeMap", typeMap);
		request.setAttribute("contract", cont);
//		System.out.println("<<<< ContractAction.add()");
		return mapping.findForward("SUCCESS");
	}

	/**
	 *
	 * 方法描述 删除合同范本
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward "SUCCESS"
	 */
	public ActionForward delect(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
//		System.out.println(">>>> ContractAction.delect()");
		String contID = request.getParameter("contId");
		String bigTypeID = request.getParameter("BTID");
	   	//合同大类型列表
		List bigTypes = null;

		//一个合同大类的小类型和小类型内的范本的数据集合
		BigType_SmallTypesBean bigTypeDates = null;

		try {
			//得到服务实例
			IContractManager service = getService();
			//先删除合同范本的附件
			Contract cont = service.getContractById(contID);
			List contAttachs=cont.getAttachs();
			for(int i=0; contAttachs!=null && i<contAttachs.size(); i++){
				ContractAttach contAttach = (ContractAttach) contAttachs.get(i);
				service.delelteAttach(contAttach.getResourceId());
			}
//			System.out.println(">><< contID :" + contID);
			boolean falg = service.delContract(contID);
//			System.out.println(">><< delect falg:" + falg);

				//为显示页面准备数据
			bigTypes = service.getBigType();
			// 得到请求的合同大类型
			Map bitItem = service.getBigTypeByID(bigTypeID);
			// 组织对应的一个合同大类的数据集
			bigTypeDates = this.buildBigTypeDatas(bitItem);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		request.setAttribute("BIGTYPES", bigTypes);
		request.setAttribute("BIGTYPEDATAS", bigTypeDates);
//		System.out.println("<<<< ContractAction.delect()");
		return mapping.findForward("ADMINVIEW");
	}

	/**
	 *
	 * 方法描述 修改合同范本信息
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward "SUCCESS"
	 */
	public ActionForward update(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
//		System.out.println(">>>> ContractAction.update()");
		String contId="", smallType="",contrName="", summarize="";
		contId 	= request.getParameter("contrId");
		smallType 	= request.getParameter("selSmallType");
		contrName	= request.getParameter("contrName");
		summarize	= request.getParameter("explain");
		//填充对象
		Contract cont = new Contract();
		cont.setId(contId);
		cont.setSmallType(smallType);
		cont.setName(contrName);
		cont.setSummarize(summarize);
		IContractManager icont = null;
		try {
			//得到服务实例
			icont = getService();
			boolean falg = icont.saveContract(cont);
//			System.out.println(">><< update falg:*" + falg + "*");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//根据合同范本ID 重新得到合同范本 (起到的作用是刷新当前合同范本的附件列表)
		Contract updatedCont = icont.getContractById(contId);
    	//组织合同类型
    	Map typeMap = buildType();
    	request.setAttribute("typeMap", typeMap);
		request.setAttribute("contract", updatedCont);
//		System.out.println("<<<< ContractAction.update()");
		return mapping.findForward("SUCCESS");
	}

	/**
	 *
	 * 方法描述 编辑合同范本(为修改页面准备数据)
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */

	public ActionForward edit(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String contId = request.getParameter("contId");
		//用于判断是不是管理员
		String admin = request.getParameter("admin");
		Contract editCont = null;
		IContractManager service;
		try {
			// 得到服务实例
			service = getService();
			//根据合同范本ID 重新得到合同范本 (起到的作用是刷新当前合同范本的附件列表)
			editCont = service.getContractById(contId);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	//组织合同类型
    	Map typeMap = buildType();
    	request.setAttribute("typeMap", typeMap);
		request.setAttribute("contract", editCont);
		if(admin != null && admin.equals("true")){
			return mapping.findForward("SUCCESS");
		}else{
			return mapping.findForward("SEE");
		}

	}

	/**
	 *
	 * 方法描述 为某个合同范本上传附件
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward "SUCCESS"
	 */
	public ActionForward uploadAttach(ActionMapping mapping, ActionForm form,
								HttpServletRequest request, HttpServletResponse response) {
//		System.out.println(">>>> ContractAction.uploadAttach()");

		// 附件上载工具
		DiskFileUpload t_upload = new DiskFileUpload();
		t_upload.setHeaderEncoding("UTF-8");
		// 设置单个附件大小上限
		t_upload.setSizeMax(FILE_SIZE_MAX);

		//获得合同管理服务
		IContractManager contractAttach = null;
		// 请求解析的列表
		List t_items = null;

		//文件域
		FileItem fileItem = null,tempItem;
		//合同范本ID
		String contrID="";
		Contract cont = null;
		// 解析请求
		try {
			// 请求解析成列表
			t_items = t_upload.parseRequest(request);
			// 循环items内容 取出 (合同范本ID 合同范本上传的附件)
			for (int t_i = 0; t_i < t_items.size(); t_i++) {
				tempItem = (FileItem) t_items.get(t_i);

⌨️ 快捷键说明

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