package cn.ksource.beans; import java.sql.ResultSet; import java.sql.SQLException; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.apache.commons.lang.StringUtils; import cn.ksource.core.dao.BaseBean; import cn.ksource.core.util.ConvertUtil; import cn.ksource.core.util.StringUtil; /** * 工作流程参数 */ public class WORKFLOW_PARAMETER extends BaseBean{ public final static Map KEYS = new HashMap(); private Map BEAN_VALUES = null; static { KEYS.put("id", "String"); KEYS.put("workflowid", "String"); KEYS.put("pname", "String"); KEYS.put("pvalue", "String"); } public Map getColumnMap(){ return KEYS; } private String id; private Boolean isSetted_id = false;; private String workflowid; private Boolean isSetted_workflowid = false; private String pname; private Boolean isSetted_pname = false; private String pvalue; private Boolean isSetted_pvalue = false; private void initBeanValues(){ BEAN_VALUES = new HashMap(); BEAN_VALUES.put("id",id); BEAN_VALUES.put("workflowid", null); BEAN_VALUES.put("pname", null); BEAN_VALUES.put("pvalue", null); } public WORKFLOW_PARAMETER() { initBeanValues(); } public WORKFLOW_PARAMETER(String id) { super(); this.id = id; initBeanValues(); BEAN_VALUES.put("id",id); } /** * 获取ID */ public String getId() { return this.id; } /** * 设置ID */ public WORKFLOW_PARAMETER setId(String id) { this.id = id; this.isSetted_id = true; BEAN_VALUES.put("id",id); return this; } @Override public String getUpdateSql() { StringBuffer sBuffer = new StringBuffer("update WORKFLOW_PARAMETER set "); if (isSetted_workflowid) { sBuffer.append("workflowid=:workflowid,"); } if (isSetted_pname) { sBuffer.append("pname=:pname,"); } if (isSetted_pvalue) { sBuffer.append("pvalue=:pvalue,"); } String sql = sBuffer.toString(); return StringUtils.removeEnd(sql, ",") + " where id=:id"; } @Override public String getInsertSql() { StringBuffer sBuffer = new StringBuffer("insert into WORKFLOW_PARAMETER("); StringBuffer fileds = new StringBuffer("id,"); StringBuffer values = new StringBuffer(":id,"); fileds.append("workflowid,"); values.append(":workflowid,"); fileds.append("pname,"); values.append(":pname,"); fileds.append("pvalue,"); values.append(":pvalue,"); sBuffer.append(StringUtils.removeEnd(fileds.toString(), ",") + ") values("+StringUtils.removeEnd(values.toString(), ",")+")"); return sBuffer.toString(); } /** * 获取流程编号
* 䣺2014-32-03 hh:07 */ public String getWorkflowid() { return workflowid; } /** * 设置流程编号
* 2014-32-03 hh:07 */ public WORKFLOW_PARAMETER setWorkflowid(String workflowid) { this.workflowid = workflowid; this.isSetted_workflowid = true; BEAN_VALUES.put("workflowid",workflowid); return this; } /** * 获取参数名称
* 䣺2014-32-03 hh:07 */ public String getPname() { return pname; } /** * 设置参数名称
* 2014-32-03 hh:07 */ public WORKFLOW_PARAMETER setPname(String pname) { this.pname = pname; this.isSetted_pname = true; BEAN_VALUES.put("pname",pname); return this; } /** * 获取参数值
* 䣺2014-32-03 hh:07 */ public String getPvalue() { return pvalue; } /** * 设置参数值
* 2014-32-03 hh:07 */ public WORKFLOW_PARAMETER setPvalue(String pvalue) { this.pvalue = pvalue; this.isSetted_pvalue = true; BEAN_VALUES.put("pvalue",pvalue); return this; } /** * 使用ID删除Bean
*/ public void deleteById() { if (StringUtils.isBlank(id)) { throw new RuntimeException("删除bean时ID不能为空"); } dao.execute("delete from " + getTableName() + " where id = :id", BEAN_VALUES); } @Override public WORKFLOW_PARAMETER getInstanceById() { if (StringUtils.isBlank(id)) { throw new RuntimeException("获取Bean时ID不能为空"); } return dao.queryForBean("select * from " + getTableName() + " where id=:id", BEAN_VALUES, this); } public WORKFLOW_BASE getWORKFLOW_BASE() { if(null == getWorkflowid()){ throw new RuntimeException("WORKFLOWIDֵΪnull"); } return new WORKFLOW_BASE(getWorkflowid()).getInstanceById(); //return dao.queryForBean("select * from workflow_base where ID=:workflowid", new WORKFLOW_BASE(this.getWorkflowid())); } @Override public WORKFLOW_PARAMETER queryForBean() { StringBuffer sBuffer = new StringBuffer("select * from WORKFLOW_PARAMETER where "); if(isSetted_id){ sBuffer.append("id=:id and "); } if (isSetted_workflowid) { sBuffer.append("workflowid=:workflowid and "); } if (isSetted_pname) { sBuffer.append("pname=:pname and "); } if (isSetted_pvalue) { sBuffer.append("pvalue=:pvalue and "); } String sql = sBuffer.toString(); sql = StringUtils.removeEnd(sql, " and "); return dao.queryForBean(sql,this); } @Override public String getTableName() { return "WORKFLOW_PARAMETER"; } public Map getBeanValues(){ return this.BEAN_VALUES; } @Override public WORKFLOW_PARAMETER insert() { if (StringUtils.isBlank(id)) { this.setId(StringUtil.getUUID()); } dao.execute(getInsertSql(),BEAN_VALUES); return this; } @Override public WORKFLOW_PARAMETER update() { if (StringUtils.isBlank(id)) { throw new RuntimeException("更新Bean时ID不能为空"); } dao.execute(getUpdateSql(),BEAN_VALUES); return this; } public WORKFLOW_PARAMETER insertOrUpdate(){ if (StringUtils.isNotBlank(id)) { return update(); } else { return insert(); } } /** * 通过ID获取该条信息的Map结构 */ public Map getBeanMapById() { if (StringUtils.isBlank(id)) { throw new RuntimeException("ID不能为空!"); } return dao.queryForMap("select * from WORKFLOW_PARAMETER where id=:id",BEAN_VALUES); } public Object mapRow(ResultSet rs, int rownum) throws SQLException { Object id = rs.getObject("ID"); this.setId(ConvertUtil.obj2Str(id)); BEAN_VALUES.put("id",id); Object obj = null; obj = rs.getObject("WORKFLOWID"); BEAN_VALUES.put("workflowid",obj); this.setWorkflowid(ConvertUtil.obj2Str(obj)); obj = rs.getObject("PNAME"); BEAN_VALUES.put("pname",obj); this.setPname(ConvertUtil.obj2Str(obj)); obj = rs.getObject("PVALUE"); BEAN_VALUES.put("pvalue",obj); this.setPvalue(ConvertUtil.obj2Str(obj)); return this; } public String toString() { StringBuffer sb = new StringBuffer("["); for (Iterator iterator = KEYS.keySet().iterator(); iterator.hasNext();) { String key = (String) iterator.next(); sb.append(key+"=" + BEAN_VALUES.get(key)+","); } sb.append("]"); return sb.toString(); } public WORKFLOW_PARAMETER newInstance(){ return new WORKFLOW_PARAMETER(); } }