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

📄 expreportconfig.java

📁 OBPM是一个开源
💻 JAVA
字号:
package cn.myapps.core.expimp.exp.ejb;

import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;

import cn.myapps.core.dynaform.form.ejb.Form;
import cn.myapps.core.expimp.exp.util.SQLPackage;
import cn.myapps.core.report.query.ejb.Query;
import cn.myapps.core.report.reportconfig.ejb.ReportConfig;
import cn.myapps.core.report.reportconfig.ejb.ReportConfigProcess;
import cn.myapps.util.ProcessFactory;

public class ExpReportConfig extends ExpElement {
	public ExpReportConfig(boolean expAll) {
		super(expAll);
	}

	private final static String NAME = "T_REPORTCONFIG";

	public final static String FOREINGKEY_COLUMN_DATASOURCE = "DATASOURCE_ID";

	public final static String FOREINGKEY_COLUMN_QUERY_ID = "QUERY_ID";

	public final static String FOREINGKEY_COLUMN_FORM_ID = "FORM_ID";

	public final static String FOREINGKEY_COLUMN_FORM_APPLICATION = "FORM_APPLICATION";

	public final static String FOREINGKEY_COLUMN_FORM_MODULE = "FORM_MODULE";

	private boolean repcfgRetQuery = true; // 是否导出reportconfig相关的query

	private boolean repcfgRetForm = true; // 是否导出reportconfig相关的searchForm

	private boolean repcfgRetTableCol = true; // 是否导出reportconfig相关的tablecolumn

	private boolean repcfgRetMappcfg = true; // 是否导出reportconfig相关的mappingconfig

	public Map exportSQLS(String[] ids, Collection ignoreIds) throws Exception {
		Map rtn = new LinkedHashMap();
		StringBuffer query = new StringBuffer();

		ReportConfigProcess process = (ReportConfigProcess) ProcessFactory
				.createProcess((ReportConfigProcess.class));

		for (int i = 0; i < ids.length; i++) {
			if (ignoreIds.contains(ids[i]))
				continue;

			ignoreIds.add(ids[i]);

			query.append("SELECT * FROM ");
			query.append(NAME + " ");
			query.append("WHERE id ='");

			query.append(ids[i] + "'");
			SQLPackage values = new SQLPackage(NAME, query.toString());
			if (!isExpAll()) {
				values.addRestColumn(FOREINGKEY_COLUMN_APPLICATION);
				values.addRestColumn(FOREINGKEY_COLUMN_MODULE);
				values.addRestColumn(FOREINGKEY_COLUMN_FORM_APPLICATION);
				values.addRestColumn(FOREINGKEY_COLUMN_FORM_MODULE);
			}
			values.addRestColumn(FOREINGKEY_COLUMN_DATASOURCE);

			ReportConfig repcfg = (ReportConfig) process.doView(ids[i]);

			// 获取相关联的query
			if (isRepcfgRetQuery()) {
				if (repcfg.getQuery() != null) {
					Query queryVO = repcfg.getQuery();
					String[] queryIds = new String[] { queryVO.getId() };
					Map querySQLs = new ExpQuery(isExpAll()).exportSQLS(
							queryIds, ignoreIds);
					rtn.putAll(querySQLs);
				}
			} else {
				values.addRestColumn(FOREINGKEY_COLUMN_QUERY_ID);
			}

			// 获取相关的form
			if (isRepcfgRetForm()) {
				if (repcfg.getSearchForm() != null) {
					Form searchForm = repcfg.getSearchForm();
					String[] formIds = new String[] { searchForm.getId() };
					Map formSQLs = new ExpForm(isExpAll()).exportSQLS(formIds,
							ignoreIds);
					rtn.putAll(formSQLs);
				}
			} else {
				values.addRestColumn(FOREINGKEY_COLUMN_FORM_ID);
			}

			rtn.put(ids[i], values);
			query = new StringBuffer();

			// 获取相关联的tablecolumns
			if (isRepcfgRetTableCol()) {
				String[] tcolIds = getIdsFromValueObjectColles(repcfg
						.getFields());
				Map tcolSQLs = new ExpTableColumn(isExpAll()).exportSQLS(
						tcolIds, ignoreIds);
				rtn.putAll(tcolSQLs);
			}

			// 获取相关联的mappingconfigs
			if (isRepcfgRetMappcfg()) {
				String[] mappcfgIds = getIdsFromValueObjectColles(repcfg
						.getMappingconfigs());
				Map mappcfgSQLs = new ExpMappingConfig(isExpAll()).exportSQLS(
						mappcfgIds, ignoreIds);
				rtn.putAll(mappcfgSQLs);
			}
		}
		return rtn;
	}

	/**
	 * @hibernate.property column="repcfgRetForm"
	 */
	public boolean isRepcfgRetForm() {
		return repcfgRetForm;
	}

	public void setRepcfgRetForm(boolean repcfgRetForm) {
		this.repcfgRetForm = repcfgRetForm;
	}

	/**
	 * @hibernate.property column="repcfgRetQuery"
	 */
	public boolean isRepcfgRetQuery() {
		return repcfgRetQuery;
	}

	public void setRepcfgRetQuery(boolean repcfgRetQuery) {
		this.repcfgRetQuery = repcfgRetQuery;
	}

	/**
	 * @hibernate.property column="repcfgRetMappcfg"
	 */
	public boolean isRepcfgRetMappcfg() {
		return repcfgRetMappcfg;
	}

	public void setRepcfgRetMappcfg(boolean repcfgRetMappcfg) {
		this.repcfgRetMappcfg = repcfgRetMappcfg;
	}

	/**
	 * @hibernate.property column="repcfgRetTableCol"
	 */
	public boolean isRepcfgRetTableCol() {
		return repcfgRetTableCol;
	}

	public void setRepcfgRetTableCol(boolean repcfgRetTableCol) {
		this.repcfgRetTableCol = repcfgRetTableCol;
	}

	public String getName() {
		return NAME;
	}

}

⌨️ 快捷键说明

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