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

📄 viewaction.java

📁 OBPM是一个开源
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package cn.myapps.core.dynaform.view.action;

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import cn.myapps.base.action.BaseAction;
import cn.myapps.base.action.ParamsTable;
import cn.myapps.base.dao.DataPackage;
import cn.myapps.constans.Environment;
import cn.myapps.core.deploy.module.ejb.ModuleProcess;
import cn.myapps.core.deploy.module.ejb.ModuleVO;
import cn.myapps.core.dynaform.document.ejb.Document;
import cn.myapps.core.dynaform.document.ejb.DocumentProcess;
import cn.myapps.core.dynaform.document.ejb.Item;
import cn.myapps.core.dynaform.form.ejb.Form;
import cn.myapps.core.dynaform.form.ejb.FormProcess;
import cn.myapps.core.dynaform.view.ejb.Column;
import cn.myapps.core.dynaform.view.ejb.FilterExpression;
import cn.myapps.core.dynaform.view.ejb.View;
import cn.myapps.core.dynaform.view.ejb.ViewProcess;
import cn.myapps.core.macro.runner.JavaScriptRunner;
import cn.myapps.core.resource.ejb.ResourceProcess;
import cn.myapps.core.resource.ejb.ResourceType;
import cn.myapps.core.resource.ejb.ResourceVO;
import cn.myapps.core.style.repository.ejb.StyleRepositoryProcess;
import cn.myapps.core.style.repository.ejb.StyleRepositoryVO;
import cn.myapps.core.user.action.WebUser;
import cn.myapps.util.ProcessFactory;
import cn.myapps.util.property.DefaultProperty;
import cn.myapps.util.sequence.Sequence;

import com.opensymphony.webwork.ServletActionContext;

public class ViewAction extends BaseAction {
	private String _viewid;

	private String _superiorid;

	private String _resourceid;

	private String _resourcedesc;

	private String totalRowText;

	private static final long serialVersionUID = 1L;

	private static Map _OPENTYPE = new TreeMap();

	static {
		_OPENTYPE.put(Integer.valueOf(View.OPEN_TYPE_NORMAL), "Normal");
		_OPENTYPE
				.put(Integer.valueOf(View.OPEN_TYPE_POP), "Open in pop window");
		_OPENTYPE.put(Integer.valueOf(View.OPEN_TYPE_PARENT),
				"Open in working area");
	}

	public String get_searchformid() {
		View view = (View) getContent();
		if (view.getSearchForm() != null) {
			return view.getSearchForm().getId();
		}
		return null;
	}

	public void set_searchformid(String _formid) {
		View view = (View) getContent();
		if (_formid != null) {
			FormProcess fp;
			try {
				fp = (FormProcess) ProcessFactory
						.createProcess((FormProcess.class));
				Form form = (Form) fp.doView(_formid);
				view.setSearchForm(form);
			} catch (Exception e) {
			}
		}
	}

	public ViewAction() throws ClassNotFoundException {
		super(ProcessFactory.createProcess(ViewProcess.class), new View());
	}

	public String doDisplayView() throws Exception {

		DocumentProcess dp = (DocumentProcess) ProcessFactory
				.createProcess(DocumentProcess.class);
		String viewid = get_viewid();

		String parentid = getParams().getParameterAsString("parentid");

		View view = (View) proxy.doView(viewid);
		if (view != null) {
			setContent(view);
			ParamsTable params = this.getParams(); // 获取并设置参数
			WebUser user = this.getUser();
			ArrayList errors = new ArrayList();
			DataPackage datas = null;

			String _currpage = params.getParameterAsString("_currpage");

			int page = (_currpage != null && _currpage.length() > 0) ? Integer
					.parseInt(_currpage) : 1;
			String _pagelines = view.getPagelines();

			int lines = (_pagelines != null && _pagelines.length() > 0) ? Integer
					.parseInt(_pagelines)
					: 10;

			if (view.getEditMode().equals(View.EDIT_MODE_DESIGN)) { // DESIGN
				String cndt = view.getFilterCondition();
				if (cndt != null && cndt.trim().length() > 0) {
					String hql = new FilterExpression()
							.parseToHql(cndt, params);
					System.out.println(hql);
					if (parentid != null && parentid.trim().length() > 0) {
						hql += " and (parent.id='" + parentid + "')";
					}

					if (view.isPagination()) {
						datas = dp.queryByHQLPage(hql, page, lines,
								getApplication());
					} else {
						datas = dp.queryByHQL(hql, getApplication());
					}
				}
			} else if (view.getEditMode().equals(View.EDIT_MODE_CODE)) { // CODE
				String js = view.getFilterScript();
				if (js != null && js.trim().length() > 0) {
					Document currdoc = null;

					if (view.getSearchForm() != null) {
						currdoc = view.getSearchForm().createDocument(params,
								user);
					} else {
						currdoc = new Document();
					}
					JavaScriptRunner runner = JavaScriptRunner.getInstance();
					runner.initBSFManager(currdoc, params, user, errors,
							getApplication());
					Object result = runner.run(js);

					if (result != null && result instanceof String) {
						String dql = (String) result;
						if (parentid != null && parentid.trim().length() > 0)
							dql = "(" + dql + ") and ($parent.$id='" + parentid
									+ "')";

						if (view.isPagination()) {
							datas = dp.queryByDQLPage(dql, getParams(), page,
									lines, getApplication());
						} else {
							datas = dp.queryByDQL(dql, getParams(),
									getApplication());
						}
					}
					if (view.isShowTotalRow()) {
						if (datas.rowCount > 0) {
							totalRowText = String.valueOf(datas.rowCount);
						} else {
							totalRowText = "0";
						}

					} else {
						totalRowText = "0";
					}
				}
			}
			setDatas(datas);
		}
		return SUCCESS;
	}

	public String get_viewid() {
		return _viewid;
	}

	public void set_viewid(String _viewid) {
		if (_viewid.indexOf(",") != -1) {
			String[] viewids = _viewid.split(",");
			for (int i = 0; i < viewids.length; i++) {
				if (viewids[i].trim().length() > 0) {
					this._viewid = viewids[i].trim();
				}
			}
		} else {
			this._viewid = _viewid;
		}
	}

	public String getViewsByModule() throws Exception {
		ViewProcess process = (ViewProcess) this.proxy;
		this.setDatas(process.getViewsByModuleId(this.get_moduleid(),
				getApplication()));
		return SUCCESS;
	}

	public String get_moduleid() {
		View view = (View) getContent();
		if (view.getModule() != null) {
			return view.getModule().getId();
		}
		return null;
	}

	public void set_moduleid(String _moduleid) {
		View view = (View) getContent();
		if (_moduleid != null) {
			ModuleProcess mp;
			try {
				mp = (ModuleProcess) ProcessFactory
						.createProcess((ModuleProcess.class));
				ModuleVO module = (ModuleVO) mp.doView(_moduleid);
				view.setModule(module);

			} catch (Exception e) {
			}
		}
	}

	public String get_styleid() {
		if (((View) getContent()).getStyle() != null)
			return ((View) getContent()).getStyle().getId();
		else
			return null;

	}

	public void set_styleid(String _styleid) throws Exception {
		View view = (View) getContent();
		if (_styleid != null) {
			StyleRepositoryProcess sp = (StyleRepositoryProcess) ProcessFactory
					.createProcess(StyleRepositoryProcess.class);
			StyleRepositoryVO sty = (StyleRepositoryVO) sp.doView(_styleid);
			view.setStyle(sty);
		}
	}

	public String get_resourceid() {
		View view = (View) getContent();
		return view.getRelatedResourceid();
	}

	public void set_resourceid(String _resourceid) throws Exception {
		this._resourceid = _resourceid;
	}

	public String get_superiorid() throws Exception {
		View view = (View) getContent();
		String rid = view.getRelatedResourceid();
		if (rid != null) {
			ResourceProcess rp = (ResourceProcess) ProcessFactory
					.createProcess(ResourceProcess.class);
			ResourceVO rvo = (ResourceVO) rp.doView(rid);
			if (rvo != null && rvo.getSuperior() != null) {
				return rvo.getSuperior().getId();
			}
		}
		return null;
	}

	public void set_superiorid(String _superiorid) {
		this._superiorid = _superiorid;
	}

	public String doSave() throws Exception {
		View view = (View) getContent();
		if (view.getId() == null || view.getId().trim().length() <= 0) {
			view.setId(Sequence.getSequence());
			view.setSortId(Sequence.getTimeSequence());
			view.setApplicationid(getApplication());
		}

		ResourceProcess rp = (ResourceProcess) ProcessFactory
				.createProcess(ResourceProcess.class);
		ResourceVO resource = (ResourceVO) rp.doView(_resourceid);

		if (_superiorid != null && _superiorid.trim().length() > 0) {

⌨️ 快捷键说明

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