📄 actiinsreledatadao.java
字号:
package cn.com.iaspec.workflow.engine.dao;
import java.sql.*;
import java.util.*;
import org.apache.log4j.*;
import cn.com.iaspec.workflow.db.*;
import cn.com.iaspec.workflow.*;
import cn.com.iaspec.workflow.vo.db.*;
import cn.com.iaspec.workflow.vo.workflow.ActivityVariable;
public class ActiInsReleDataDAO{
private static Logger logger=Logger.getLogger(ActiInsReleDataDAO.class);
public ActiInsReleDataDAO(){
}
/**
* 查询LaWorkItemRel信息
* @param info LaWorkItemRel
* @throws SQLException
* @return List
*/
public List query(ActiInsReleData data)
throws SQLException{
Connection conn=null;
Statement stm=null;
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
stm=conn.createStatement();
String sql=" select * from actiinsreledata ";
StringBuffer sbWhere=getQueryString(data);
sql=sql+sbWhere.toString();
logger.info("......query sql:"+sql);
ResultSet rs=stm.executeQuery(sql);
List list=this.resultsetToActiInsReleData(rs);
return list;
}
finally{
WorkflowDBConnectionManager.getInstance().close(stm,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
}
/**
* 更新ActiInsReleData信息
* @param info LaWorkItemRel
* @throws SQLException
* @return List
*/
public void update(ActiInsReleData newData,ActiInsReleData oldData)
throws SQLException{
Connection conn=null;
Statement stm=null;
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
stm=conn.createStatement();
String sql=" update actiinsreledata set ";
StringBuffer sbWhere=getQueryString(oldData);
StringBuffer sbUpdata=getQueryString(newData);
if(sbWhere.length()<=0||sbUpdata.length()<=0){
throw new SQLException("更新数据为空!");
}
sql=sql+sbUpdata.toString()+sbWhere.toString();
logger.info("......query sql:"+sql);
stm.execute(sql);
}
finally{
WorkflowDBConnectionManager.getInstance().close(stm,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
}
/**
* 更新信息
* @param newDataList List
* @param oldDataList List
* @throws SQLException
*/
public void update(List newDataList,List oldDataList)
throws Exception{
Connection conn=null;
Statement stm=null;
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
stm=conn.createStatement();
StringBuffer sbSql=new StringBuffer();
if(newDataList==null||oldDataList==null){
throw new SQLException("更新数据为空!");
}
for(int i=0;i<newDataList.size();i++){
ActiInsReleData newData=(ActiInsReleData)newDataList.get(i);
ActiInsReleData oldData=(ActiInsReleData)oldDataList.get(i);
String sql=" update actiinsreledata set ";
StringBuffer sbWhere=getQueryString(oldData);
StringBuffer sbUpdata=this.getStrInsertValues(newData);
if(sbWhere.length()<=0||sbUpdata.length()<=0){
throw new SQLException("更新数据为空!");
}
sql=sql+sbUpdata.toString()+sbWhere.toString();
sbSql.append(sql);
sbSql.append(";");
}
//删除最后一个;号
if(sbSql.length()>0){
sbSql.delete(sbSql.length()-1,sbSql.length());
logger.info("......query sql:"+sbSql.toString());
stm.execute(sbSql.toString());
}
}
finally{
WorkflowDBConnectionManager.getInstance().close(stm,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
}
private List resultsetToActiInsReleData(ResultSet rs)
throws SQLException{
List list=new ArrayList();
while(rs.next()){
ActiInsReleData data=new ActiInsReleData();
data.setAirAtiId(rs.getLong("air_atiid"));
data.setAirClassPath(rs.getString("air_classpath"));
data.setAirDirection(rs.getString("air_direction"));
data.setAirGlobalName(rs.getString("air_globalname"));
data.setAirId(rs.getLong("air_id"));
data.setAirIsSplitArray(rs.getInt("air_splitarray"));
data.setAirNumbValue(rs.getDouble("air_numbvalue"));
data.setAirObjectValue(null);
data.setAirRemark(rs.getString("air_remark"));
data.setAirStringValue(rs.getString("air_stringvalue"));
data.setAirVariableName(rs.getString("air_variablename"));
data.setAirVariableType(rs.getInt("air_variabletype"));
list.add(data);
}
return list;
}
/**
* 取得查询条件
* @param rel LaWorkItemRel
* @return StringBuffer
*/
private StringBuffer getQueryString(ActiInsReleData data){
StringBuffer sb=new StringBuffer();
if(data!=null){
if(data.getAirAtiId()!=WorkflowConstant.LONG_INIT_VALUE){
sb.append(" air_atiid = "+data.getAirAtiId()+" ");
sb.append(" and ");
}
if(data.getAirClassPath()!=null&&!data.getAirClassPath().equals("")){
sb.append(" air_classpath = '"+data.getAirClassPath()+"' ");
sb.append(" and ");
}
if(data.getAirDirection()!=null&&!data.getAirDirection().equals("")){
sb.append(" air_direction = '"+data.getAirDirection()+"' ");
sb.append(" and ");
}
if(data.getAirGlobalName()!=null&&!data.getAirGlobalName().equals("")){
sb.append(" air_globalname = '"+data.getAirGlobalName()+"' ");
sb.append(" and ");
}
if(data.getAirId()!=WorkflowConstant.LONG_INIT_VALUE){
sb.append(" air_id = "+data.getAirId()+" ");
sb.append(" and ");
}
if(data.getAirIsSplitArray()!=WorkflowConstant.INT_INIT_VALUE){
sb.append(" air_issplitarray = "+data.getAirIsSplitArray()+" ");
sb.append(" and ");
}
if(data.getAirNumbValue()!=WorkflowConstant.DOUBLE_INIT_VALUE){
sb.append(" air_numbvalue = "+data.getAirNumbValue()+" ");
sb.append(" and ");
}
if(data.getAirRemark()!=null&&!data.getAirRemark().equals("")){
sb.append(" air_remark = '"+data.getAirRemark()+"' ");
sb.append(" and ");
}
if(data.getAirStringValue()!=null&&!data.getAirStringValue().equals("")){
sb.append(" air_stringvalue = '"+data.getAirStringValue()+"' ");
sb.append(" and ");
}
if(data.getAirVariableName()!=null&&!data.getAirVariableName().equals("")){
sb.append(" air_variablename = '"+data.getAirVariableName()+"' ");
sb.append(" and ");
}
if(data.getAirVariableType()!=WorkflowConstant.INT_INIT_VALUE){
sb.append(" air_variabletype = "+data.getAirVariableType()+" ");
sb.append(" and ");
}
}
if(sb.length()>0){
//增加查询条件关键字
sb.insert(0," where ");
//去除最后一个" AND "操作符
sb.delete(sb.length()-5,sb.length());
}
return sb;
}
/**
* 根据data取得update语句
* @param data ActiInsReleData
* @throws Exception
* @return StringBuffer
*/
private StringBuffer getStrInsertValues(ActiInsReleData data)
throws Exception{
StringBuffer sbSQL=new StringBuffer();
if(data.getAirAtiId()!=WorkflowConstant.LONG_INIT_VALUE){
sbSQL.append("air_atiid =");
sbSQL.append(data.getAirAtiId());
sbSQL.append(",");
}
if(data.getAirClassPath()!=null&&!data.getAirClassPath().equals("")){
sbSQL.append("air_classpath ='");
sbSQL.append(data.getAirClassPath());
sbSQL.append("',");
}
if(data.getAirDirection()!=null&&!data.getAirDirection().equals("")){
sbSQL.append("air_direction ='");
sbSQL.append(data.getAirDirection());
sbSQL.append("',");
}
if(data.getAirGlobalName()!=null&&!data.getAirDirection().equals("")){
sbSQL.append("air_globalname ='");
sbSQL.append(data.getAirGlobalName());
sbSQL.append("',");
}
if(data.getAirId()!=WorkflowConstant.LONG_INIT_VALUE){
sbSQL.append("air_id =");
sbSQL.append(data.getAirId());
sbSQL.append(",");
}
if(data.getAirIsSplitArray()!=WorkflowConstant.INT_INIT_VALUE){
sbSQL.append("air_issplitarray =");
sbSQL.append(data.getAirIsSplitArray());
sbSQL.append(",");
}
if(data.getAirNumbValue()!=WorkflowConstant.DOUBLE_INIT_VALUE){
sbSQL.append("air_numbvalue =");
sbSQL.append(data.getAirNumbValue());
sbSQL.append(",");
}
if(data.getAirRemark()!=null&&!data.getAirRemark().equals("")){
sbSQL.append("air_remark ='");
sbSQL.append(data.getAirRemark());
sbSQL.append("',");
}
if(data.getAirStringValue()!=null&&!data.getAirStringValue().equals("")){
sbSQL.append("air_stringvalue ='");
sbSQL.append(data.getAirStringValue());
sbSQL.append("',");
}
if(data.getAirVariableName()!=null&&!data.getAirVariableName().equals("")){
sbSQL.append("air_variablename ='");
sbSQL.append(data.getAirVariableName());
sbSQL.append("',");
}
if(data.getAirVariableType()!=WorkflowConstant.INT_INIT_VALUE){
sbSQL.append("air_variabletype =");
sbSQL.append(data.getAirNumbValue());
sbSQL.append(",");
}
//删除最后一个逗号
if(sbSQL.length()>0){
sbSQL.delete(sbSQL.length()-1,sbSQL.length());
}
return sbSQL;
}
public ActivityVariable getActiInstVar(long actiInstId,String varName)throws Exception{
String sql = "select * from actiInsReledata where air_atiid = ? and air_variableName = ?";
Connection conn = null;
PreparedStatement ptmt = null;
ResultSet rowset = null;
ActivityVariable variable = new ActivityVariable();
try{
conn = WorkflowDBConnectionManager.getInstance().getConnection();
ptmt = conn.prepareStatement(sql);
ptmt.setLong(1,actiInstId);
ptmt.setString(2,varName);
rowset = ptmt.executeQuery();
if(rowset.next()){
variable.setAttributeName(varName);
variable.setClassPath(rowset.getString("air_classpath"));
variable.attributeType = rowset.getInt("air_variableType");
variable.setDirection(rowset.getInt("air_direction"));
variable.setGlobalName(rowset.getString("air_globalName"));
variable.setStringValue(rowset.getString("air_stringValue"));
variable.setDoubleValue(rowset.getDouble("air_numbValue"));
}
}catch(SQLException sqlex){
sqlex.printStackTrace();
throw sqlex;
}finally{
WorkflowDBConnectionManager.getInstance().close(ptmt,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
return variable;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -