📄 wfroledao.java
字号:
}
else{
sbSQL.append("null");
sbSQL.append(",");
}
if(role.getCreator()!=null&&!role.getCreator().equals("")){
sbSQL.append("'");
sbSQL.append(role.getCreator());
sbSQL.append("'");
sbSQL.append(",");
}
else{
sbSQL.append("null");
sbSQL.append(",");
}
//删除最后一个逗号
sbSQL.delete(sbSQL.length()-1,sbSQL.length());
return sbSQL;
}
/**
* 根据role取得update语句
* @param org WfRole
* @throws Exception
* @return StringBuffer
*/
private StringBuffer getStrUpdateValues(WfRole role)
throws Exception{
StringBuffer sbSQL=new StringBuffer();
if(role.getRoleCode()!=null&&!role.getRoleCode().equals("")){
sbSQL.append("role_code=");
sbSQL.append("'");
sbSQL.append(role.getRoleCode());
sbSQL.append("'");
sbSQL.append(",");
}
if(role.getRoleDesc()!=null&&!role.getRoleDesc().equals("")){
sbSQL.append("role_desc=");
sbSQL.append("'");
sbSQL.append(role.getRoleDesc());
sbSQL.append("'");
sbSQL.append(",");
}
if(role.getRoleId()!=null&&!role.getRoleId().equals("")){
sbSQL.append("role_id=");
sbSQL.append("'");
sbSQL.append(role.getRoleId());
sbSQL.append("'");
sbSQL.append(",");
}
if(role.getRoleName()!=null&&!role.getRoleName().equals("")){
sbSQL.append("role_name=");
sbSQL.append("'");
sbSQL.append(role.getRoleName());
sbSQL.append("'");
sbSQL.append(",");
}
if(role.getRoleOrder()!=WorkflowConstant.LONG_INIT_VALUE){
sbSQL.append("role_order=");
sbSQL.append(role.getRoleOrder());
sbSQL.append(",");
}
if(role.getRoleState()!=null&&!role.getRoleState().equals("")){
sbSQL.append("role_state=");
sbSQL.append("'");
sbSQL.append(role.getRoleState());
sbSQL.append("'");
sbSQL.append(",");
}
if(role.getRoleType()!=null&&!role.getRoleType().equals("")){
sbSQL.append("role_type=");
sbSQL.append("'");
sbSQL.append(role.getRoleType());
sbSQL.append("'");
sbSQL.append(",");
}
//删除最后一个逗号
sbSQL.delete(sbSQL.length()-1,sbSQL.length());
return sbSQL;
}
/**
* 得到本表内所有字段名,以","分开
* @throws Exception
* @return String
*/
private String getStrFields()
throws Exception{
return
"role_code,role_desc,role_id,role_name,role_order,role_state,role_type,creator ";
}
/**
* 根据角色ID,查询角色信息
*
* @param roleId String 角色ID
* @return WfRole
* @throws Exception
*/
public WfRole getRoleInfo(String roleId)throws Exception{
String sql = "select * from wf_role where role_state = 1 and role_id = ?";
WfRole roleInfo = null;
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
ptmt = conn.prepareStatement(sql);
ptmt.setString(1,roleId);
rowset = ptmt.executeQuery();
List roleList = resultsetToVO(rowset);
if(roleList.size() > 0){
roleInfo=(WfRole)roleList.get(0);
}
}
finally{
WorkflowDBConnectionManager.getInstance().close(rowset);
WorkflowDBConnectionManager.getInstance().close(ptmt,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
return roleInfo;
}
/**
* 查询业务系统在wf_role之外扩充的字段
*
* @return List
* @throws Exception
*/
public List getRoleExtFieldList()throws Exception{
String sql="select * from wf_role_ext_field";
List extFieldList = new ArrayList();
WfExtField extField = null;
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
ptmt=conn.prepareStatement(sql);
rowset=ptmt.executeQuery();
while(rowset.next()){
extField = new WfExtField();
extField.setFieldId(rowset.getString("ext_field_id"));
extField.setFieldName(rowset.getString("ext_field_name"));
extField.setFieldType(rowset.getString("ext_field_type"));
extField.setFieldPrecision(rowset.getString("ext_field_precision"));
extField.setFieldOrder(rowset.getInt("ext_field_order"));
extField.setIsMultiValue(rowset.getBoolean("is_multi_value"));
extField.setInputObjName(rowset.getString("input_obj_name"));
extFieldList.add(extField);
}
}
catch(SQLException sqle){
sqle.printStackTrace();
throw sqle;
}
finally{
WorkflowDBConnectionManager.getInstance().close(rowset);
WorkflowDBConnectionManager.getInstance().close(ptmt,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
return extFieldList;
}
/**
* 查询扩展字段的内容
*
* @param roleId String
* @return List
* @throws Exception
*/
public List getExtFieldValueList(String roleId)throws Exception{
String sql="Select a.*,b.ext_field_name,b.input_obj_name " +
" From wf_role_ext_data a,wf_role_ext_field b " +
" Where a.ext_field_id = b.ext_field_id and a.role_id = ?";
List extFieldList = new ArrayList();
WfExtField extField = null;
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
ptmt=conn.prepareStatement(sql);
ptmt.setString(1,roleId);
rowset=ptmt.executeQuery();
while(rowset.next()){
extField = new WfExtField();
extField.setFieldId(rowset.getString("ext_field_id"));
extField.setFieldName(rowset.getString("ext_field_name"));
extField.setInputObjName(rowset.getString("input_obj_name"));
extField.setFieldValue(rowset.getString("ext_field_value"));
extFieldList.add(extField);
}
}
catch(SQLException sqle){
sqle.printStackTrace();
throw sqle;
}
finally{
WorkflowDBConnectionManager.getInstance().close(rowset);
WorkflowDBConnectionManager.getInstance().close(ptmt,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
return extFieldList;
}
private void saveExtFieldData(String roleId,List extFieldDataList)throws Exception{
WfExtField extField = null;
String sql = null;
if("oracle".equalsIgnoreCase(DB_TYPE)){
sql = "Insert Into wf_role_ext_data(role_id,ext_field_id,ext_field_value) " +
"Select ? As role_id,? As ext_field_id,? As ext_field_value From dual";
}else{
sql = "Insert Into wf_role_ext_data(role_id,ext_field_id,ext_field_value) " +
"Select top 1 ? As role_id,? As ext_field_id,? As ext_field_value From sysobjects";
}
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
ptmt=conn.prepareStatement(sql);
if(extFieldDataList != null && extFieldDataList.size() > 0){
for(int i=0;i<extFieldDataList.size();i++){
extField=(WfExtField)extFieldDataList.get(i);
ptmt.setString(1,roleId);
ptmt.setString(2,extField.getFieldId());
ptmt.setString(3,extField.getFieldValue());
ptmt.addBatch();
}
ptmt.executeBatch();
}else{
logger.info("该角色的扩展数据为空!");
}
}
catch(SQLException sqle){
sqle.printStackTrace();
throw sqle;
}
finally{
WorkflowDBConnectionManager.getInstance().close(rowset);
WorkflowDBConnectionManager.getInstance().close(ptmt,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
}
/**
* 删除用户的扩展数据
*/
private void delExtFieldDate(String roleId)throws Exception{
String sql = "delete from wf_role_ext_data where role_id = ?";
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
ptmt=conn.prepareStatement(sql);
ptmt.setString(1,roleId);
ptmt.execute();
}
catch(SQLException sqle){
sqle.printStackTrace();
throw sqle;
}
finally{
WorkflowDBConnectionManager.getInstance().close(rowset);
WorkflowDBConnectionManager.getInstance().close(ptmt,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -