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

📄 columnmappingaction.java

📁 OBPM是一个开源
💻 JAVA
字号:
package cn.myapps.core.dynaform.dts.exp.columnmapping.action;

import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;

import cn.myapps.base.action.BaseAction;
import cn.myapps.core.deploy.module.ejb.ModuleProcess;
import cn.myapps.core.deploy.module.ejb.ModuleVO;
import cn.myapps.core.dynaform.dts.exp.columnmapping.ejb.ColumnMapping;
import cn.myapps.core.dynaform.dts.exp.columnmapping.ejb.ColumnMappingProcess;
import cn.myapps.core.dynaform.dts.exp.mappingconfig.ejb.MappingConfig;
import cn.myapps.core.dynaform.dts.exp.mappingconfig.ejb.MappingConfigProcess;
import cn.myapps.core.dynaform.form.ejb.Form;
import cn.myapps.core.dynaform.form.ejb.FormProcess;
import cn.myapps.util.ProcessFactory;

public class ColumnMappingAction extends BaseAction {

	public ColumnMappingAction() throws ClassNotFoundException {
		super(ProcessFactory.createProcess(ColumnMappingProcess.class),
				new ColumnMapping());
	}

	private static Map _TOTYPE = new TreeMap();

	private static Map _COLMAPTYPE = new TreeMap();

	private String _moduleid;

	private String _formid;

	static {
		_COLMAPTYPE.put(ColumnMapping.COLUMN_TYPE_FIELD, "field");
		_COLMAPTYPE.put(ColumnMapping.COLUMN_TYPE_SCRIPT, "script");

	}

	String mappingid;

	static {
		_TOTYPE.put(ColumnMapping.DATA_TYPE_DATE, "date");
		_TOTYPE.put(ColumnMapping.DATA_TYPE_NUMBER, "decimal");
		_TOTYPE.put(ColumnMapping.DATA_TYPE_VARCHAR, "String");
	}

	public static Map get_TOTYPE() {
		return _TOTYPE;
	}

	public String doSave() throws Exception {

		ColumnMapping colMap = (ColumnMapping) this.getContent();
		boolean flag = true;
		// 判断是否为field 如果是则field则一定要有value

		MappingConfigProcess cp = (MappingConfigProcess) ProcessFactory
				.createProcess(MappingConfigProcess.class);
		MappingConfig mappingConfigVO = (MappingConfig) cp
				.doView(getMappingid());

		colMap.setMappingConfig(mappingConfigVO);
		// 查找相同toname的记录
		String toName = colMap.getToName();

		Collection repeteName = ((ColumnMappingProcess) proxy)
				.getColMapBytoName(toName, getApplication());
		// 判断是否也是同一个子mappingconfig,如果是则不能新建,否则能新建
		for (Iterator iter = repeteName.iterator(); iter.hasNext();) {
			ColumnMapping temp = (ColumnMapping) iter.next();
			if (temp.getId() != null
					&& temp.getMappingConfig().getId().equals(
							colMap.getMappingConfig().getId())
					&& !temp.getId().equals(colMap.getId())) {

				if (this.getFieldErrors().size() > 0) {
					this.getFieldErrors().clear();

				}
				this.addFieldError("6",
						"the toName has exist please choose another!");
				flag = false;

			}

		}

		if (colMap.getType().equals(ColumnMapping.COLUMN_TYPE_FIELD)) {
			if (colMap.getFromName().equals("")) {
				this.addFieldError("1", "Please choose a field");
				flag = false;

			}
			// 判断是否为script 如果是则valuescript则一定要有value
		} else if (colMap.getType().equals(ColumnMapping.COLUMN_TYPE_SCRIPT)) {

			if (colMap.getValuescript().equals("")) {
				this.addFieldError("2", "Please enter valueScript");
				flag = false;

			}
		}

		// 如果选择的是string类型则长度一定要填写
		if (colMap.getToType().equals(ColumnMapping.DATA_TYPE_VARCHAR)) {
			if (colMap.getLength().equals("")) {
				this.addFieldError("3", "Please enter length!");
				flag = false;
			}
		} else if (colMap.getToType().equals(ColumnMapping.DATA_TYPE_NUMBER)) {
			// 如果选择的是decimal类型则长度和精确度一定要填写
			if (colMap.getLength().equals("")) {
				this.addFieldError("4", "Please enter length!");
				flag = false;
			}

			if (colMap.getPrecision().equals("")) {
				this.addFieldError("5", "Please enter Precision!");
				flag = false;
			}
		}

		if (get_moduleid() != null && !get_moduleid().equals("")
				&& !get_moduleid().equals("none")) {
			ModuleProcess mp = (ModuleProcess) ProcessFactory
					.createProcess(ModuleProcess.class);
			ModuleVO mv = (ModuleVO) mp.doView(this.get_moduleid());
			colMap.setModule(mv);
		}

		if (_formid != null && _formid.trim().length() > 0
				&& !_formid.equals("none")) {
			FormProcess fp = (FormProcess) ProcessFactory
					.createProcess(FormProcess.class);
			Form fm = (Form) fp.doView(_formid);
			colMap.setForm(fm);
		}

		if (flag) {
			return super.doSave();
		} else {
			return SUCCESS;
		}

	}

	public String getMappingid() {
		return mappingid;
	}

	public void setMappingid(String mappingid) {
		this.mappingid = mappingid;
	}

	public static Map get_COLMAPTYPE() {
		return _COLMAPTYPE;
	}

	public String get_moduleid() {
		ColumnMapping colMap = (ColumnMapping) this.getContent();
		if (colMap.getModule() != null) {
			_moduleid = colMap.getModule().getId();
		}
		return _moduleid;
	}

	public void set_moduleid(String _moduleid) {
		this._moduleid = _moduleid;
	}

	public String get_formid() {
		ColumnMapping colMap = (ColumnMapping) this.getContent();
		if (colMap.getForm() != null) {
			_formid = colMap.getForm().getId();
		}
		return _formid;
	}

	public void set_formid(String _formid) {
		this._formid = _formid;
	}

}

⌨️ 快捷键说明

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