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

📄 includefield.java

📁 OBPM是一个开源
💻 JAVA
字号:
//Source file:
//C:\\Java\\workspace\\SmartWeb3\\src\\com\\cyberway\\dynaform\\form\\ejb\\InputField.java

package cn.myapps.core.dynaform.form.ejb;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

import cn.myapps.base.action.ParamsTable;
import cn.myapps.base.dao.DataPackage;
import cn.myapps.core.dynaform.PermissionType;
import cn.myapps.core.dynaform.document.ejb.Document;
import cn.myapps.core.dynaform.document.ejb.DocumentProcess;
import cn.myapps.core.dynaform.view.ejb.Column;
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.page.ejb.Page;
import cn.myapps.core.page.ejb.PageProcess;
import cn.myapps.core.user.action.WebUser;
import cn.myapps.util.Debug;
import cn.myapps.util.ProcessFactory;
import cn.myapps.util.StringUtil;

public class IncludeField extends FormField {
	public static final String INCLUDE_TYPE_VIEW = "0";

	public static final String INCLUDE_TYPE_PAGE = "1";

	protected String includeType;

	protected boolean integratePage;

	/**
	 * @roseuid 41ECB66E012A
	 */
	public IncludeField() {

	}

	/**
	 * @return boolean
	 * @roseuid 41ECB66E013E
	 */
	public ValidateMessage validate(JavaScriptRunner bsf, Document doc)
			throws Exception {
		return null;
	}

	public String getPageid(ParamsTable params, WebUser user,
			JavaScriptRunner runner, Document doc) {
		String valueScript = this.getValueScript();
		if (valueScript != null && valueScript.trim().length() > 0) {
			try {
				if (valueScript != null && valueScript.trim().length() > 0) {
					Object result = runner.run(StringUtil
							.dencodeHTML(valueScript));
					if (result instanceof String) {
						return (String) result;
					}
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return null;
	}

	public String getViewid(ParamsTable params, WebUser user,
			JavaScriptRunner runner, Document doc) {
		View view = null;
		String valueScript = this.getValueScript();
		if (valueScript != null && valueScript.trim().length() > 0) {
			String viewid = null;
			try {
				if (valueScript != null && valueScript.trim().length() > 0) {
					Object result = runner.run(StringUtil
							.dencodeHTML(valueScript));
					if (result instanceof String) {
						return (String) result;
					}
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return null;
	}

	/**
	 * @param doc
	 * @return java.lang.String
	 * @throws Exception
	 * @roseuid 41ECB66E015C
	 */
	public String toHtmlTxt(ParamsTable params, WebUser user,
			JavaScriptRunner runner, Document doc) throws Exception {// formģʽ
		StringBuffer html = new StringBuffer();
		int displayType = getDisplayType(runner, doc);

		if (includeType == null || includeType.equals(INCLUDE_TYPE_VIEW)) {
			try {

				String viewid = getViewid(params, user, runner, doc);
				String editmode = "true";
				if (displayType == PermissionType.MODIFY) {
				} else if (displayType == PermissionType.DISABLED) {
					editmode = "false";
				}

				html
						.append("<iframe height='100%' width='100%'  style='overflow:auto'  frameborder='0'  ");
				html.append(" src='");
				html.append(params.getContextPath()
						+ "/core/dynaform/view/displayView.action?_viewid=");
				html.append(viewid);
				if (doc.getId() != null && doc.getId().trim().length() > 0) {
					html.append("&isedit=");
					html.append(editmode);
					html.append("&parentid=");
					html.append(doc.getId());
				}
				html.append("&divid=");
				html.append(this.getName() + "_divid");
				if (this.isRefreshOnChanged()) {
					html.append("&refreshparent=true");
				}
				html.append("' ");

				// html.append(toOtherpropsHtml());

				if (this.isRefreshOnChanged()) {
					html.append(" onload='dy_refresh(\"" + this.getName()
							+ "\")'");
				}

				html.append("></iframe>");

			} catch (Exception e) {
				Debug.println(e.getMessage());
				e.printStackTrace();
			}
		} else if (includeType.equals(INCLUDE_TYPE_PAGE)) {
			try {
				String pageid = getPageid(params, user, runner, doc);
				PageProcess pp = (PageProcess) ProcessFactory
						.createProcess(PageProcess.class);
				Page page = (Page) pp.doView(pageid);
				if (page != null) {
					html
							.append(page.toHtml(doc, params, user,
									new ArrayList()));
				}
			} catch (Exception e) {
				Debug.println(e.getMessage());
				e.printStackTrace();
			}

		}

		return html.toString();
	}

	public String toHtmlTxt(ParamsTable params, WebUser user,
			JavaScriptRunner runner) {
		DocumentProcess dp = null;
		StringBuffer html = new StringBuffer();
		View view = null;
		try {
			dp = (DocumentProcess) ProcessFactory
					.createProcess(DocumentProcess.class);

			ViewProcess vp = (ViewProcess) ProcessFactory
					.createProcess(ViewProcess.class);
			String viewid = getViewid(params, user, runner, null);
			view = (View) vp.doView(viewid);

		} catch (Exception e) {
			System.out.println("Error:Couldn't get the View ");
			e.printStackTrace();
		}

		if (view != null) {
			html
					.append("<table width='100%' class='display_view-table' pageid="
							+ getId() + ">");
			html.append("<tr>");
			Collection columns = view.getColumns();
			for (Iterator iter = columns.iterator(); iter.hasNext();) {
				Column clm = (Column) iter.next();
				html
						.append(
								"<td class='column-head2' style='white-space:nowrap;'")
						.append(
								clm.getWidth() != null
										&& clm.getWidth().trim().length() > 0 ? " width='"
										+ clm.getWidth() + "'"
										: "");
				html.append(">");
				html.append(clm.getName());
				html.append("</td>");
			}
			html.append("</tr>");
			String filterScript = view.getFilterScript();
			Object result;
			try {
				result = runner.run(filterScript);
				Collection errors = new ArrayList();
				if (result != null && result instanceof String) {
					String dql = (String) result;
					String parentid = params.getParameterAsString("_docid");

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

					DataPackage datas = dp.queryByDQL(dql, user
							.getApplicationid());
					if (datas != null) {

						if (datas.datas == null || datas.datas.size() == 0) {
							return "";
						} else {
							for (Iterator iter = datas.datas.iterator(); iter
									.hasNext();) {
								Document doc = (Document) iter.next();
								runner.initBSFManager(doc, params, user,
										errors, user.getApplicationid());

								html.append("<tr>");
								for (Iterator iter2 = columns.iterator(); iter2
										.hasNext();) {
									Column col = (Column) iter2.next();
									Object result2 = "";
									if (col.getType() != null
											&& col.getType().equals(
													Column.COLUMN_TYPE_SCRIPT)) {
										result2 = runner.run(col
												.getValueScript());
									} else if (col.getType() != null
											&& col.getType().equals(
													Column.COLUMN_TYPE_FIELD)) {
										result2 = doc.getItemValueAsString(col
												.getFieldName());
									}

									// html
									// .append("<a href='"
									// + params.getContextPath()
									// + "/core/dynaform/document/view.action");
									// html.append("?_docid=" + doc.getId());
									// html.append("&formid=" +
									// doc.getFormid());
									// html.append("&_currpage="
									// + datas.getPageNo());
									// html.append("&_pagelines="
									// + datas.getLinesPerPage());
									// html.append("&_rowcount="
									// + datas.getRowCount());
									// html.append("&_backURL="
									// + params.getContextPath()
									// + "/portal/welcome.jsp");
									// html.append("'>");
									// html.append("</a>");

									html
											.append("<td class='column-head' style='white-space:nowrap;'>");
									html.append(result2 != null ? result2 : "");
									html.append("</td>");
								}
								html.append("</tr>");
							}
						}
					}
				}
				html.append("</table>");
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return html.toString();
	}

	public String toPrintHtmlTxt(ParamsTable params, WebUser user,
			JavaScriptRunner runner, Document doc) throws Exception {
		StringBuffer html = new StringBuffer();
		View view = null;
		try {
			ViewProcess vp = (ViewProcess) ProcessFactory
					.createProcess(ViewProcess.class);
			String viewid = getViewid(params, user, runner, null);
			view = (View) vp.doView(viewid);

		} catch (Exception e) {
			System.out.println("Error:Couldn't get the View ");
			e.printStackTrace();
		}

		if (view != null) {
			html.append("<link rel=\"stylesheet\"");
			html.append(" href=\"" + params.getContextPath()
					+ "/resource/css/style.jsp?styleid="
					+ view.getStyle().getId() + "\"/>");
		}
		html.append(toHtmlTxt(params, user, runner));
		return html.toString();
	}

	public String toTemplate() {
		StringBuffer template = new StringBuffer();
		template.append("<span'");
		template.append(" className='" + this.getClass().getName() + "'");
		template.append(" id='" + getId() + "'");
		template.append(" name='" + getName() + "'");
		template.append(" formid='" + getFormid() + "'");
		template.append(" discript='" + getDiscript() + "'");
		template.append(" hiddenScript='" + getHiddenScript() + "'");
		template.append(" hiddenPrintScript='" + getHiddenPrintScript() + "'");
		template.append(" refreshOnChanged='" + isRefreshOnChanged() + "'");
		template.append(" validateRule='" + getValidateRule() + "'");
		template.append(" valueScript='" + getValueScript() + "'");
		template.append("/>");
		return template.toString();
	}

	public static void main(String[] args) {
		long l = 0;

	}

	public boolean isIntegratePage() {
		return integratePage;
	}

	public void setIntegratePage(boolean integratePage) {
		this.integratePage = integratePage;
	}

	public String getIncludeType() {
		return includeType;
	}

	public void setIncludeType(String includeType) {
		this.includeType = includeType;
	}
}

⌨️ 快捷键说明

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