expquery.java

来自「OBPM是一个开源」· Java 代码 · 共 69 行

JAVA
69
字号
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.query.ejb.QueryProcess;
import cn.myapps.util.ProcessFactory;

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

	private final static String NAME = "T_QUERY";

	public final static String FOREINGKEY_COLUMN_DATASOURCE_ID = "DATASOURCE_ID";

	public Map exportSQLS(String[] ids, Collection ignoreIds) throws Exception {

		Map rtn = new LinkedHashMap();
		StringBuffer query = new StringBuffer();

		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_DATASOURCE_ID);

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

			Query queryVO = (Query) process.doView(ids[i]);

			Form searchForm = queryVO.getSearchForm();
			if (searchForm != null) {
				String[] formId = new String[] { searchForm.getId() };
				Map formSQLs = new ExpForm(isExpAll()).exportSQLS(formId,
						ignoreIds);
				rtn.putAll(formSQLs);
			}

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

	public String getName() {
		return NAME;
	}

}

⌨️ 快捷键说明

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