📄 wfuserdao.java
字号:
if(user.getLoginId()!=null&&!user.getLoginId().equals("")){
sbSQL.append("login_id=");
sbSQL.append("'");
sbSQL.append(user.getLoginId());
sbSQL.append("'");
sbSQL.append(",");
}
if(user.getPassword()!=null&&!user.getPassword().equals("")){
sbSQL.append("password=");
sbSQL.append("'");
sbSQL.append(user.getPassword());
sbSQL.append("'");
sbSQL.append(",");
}
if(user.getRelaPhone()!=null&&!user.getRelaPhone().equals("")){
sbSQL.append("rela_phone=");
sbSQL.append("'");
sbSQL.append(user.getRelaPhone());
sbSQL.append("'");
sbSQL.append(",");
}
if(user.getUserCode()!=null&&!user.getUserCode().equals("")){
sbSQL.append("user_code=");
sbSQL.append("'");
sbSQL.append(user.getUserCode());
sbSQL.append("'");
sbSQL.append(",");
}
if(user.getUserId()!=null&&!user.getUserId().equals("")){
sbSQL.append("user_id=");
sbSQL.append("'");
sbSQL.append(user.getUserId());
sbSQL.append("'");
sbSQL.append(",");
}
if(user.getUserName()!=null&&!user.getUserName().equals("")){
sbSQL.append("user_name=");
sbSQL.append("'");
sbSQL.append(user.getUserName());
sbSQL.append("'");
sbSQL.append(",");
}
if(user.getUserOrder()!=WorkflowConstant.LONG_INIT_VALUE){
sbSQL.append("user_order=");
sbSQL.append(user.getUserOrder());
sbSQL.append(",");
}
if(user.getUserPosition()!=null&&!user.getUserPosition().equals("")){
sbSQL.append("user_position=");
sbSQL.append("'");
sbSQL.append(user.getUserPosition());
sbSQL.append("'");
sbSQL.append(",");
}
if(user.getUserState()!=null&&!user.getUserState().equals("")){
sbSQL.append("user_state=");
sbSQL.append("'");
sbSQL.append(user.getUserState());
sbSQL.append("'");
sbSQL.append(",");
}
//删除最后一个逗号
sbSQL.delete(sbSQL.length()-1,sbSQL.length());
return sbSQL;
}
/**
* 得到本表内所有字段名,以","分开
* @throws Exception
* @return String
*/
private String getStrFields()
throws Exception{
return "description,e_mail,login_id,password,rela_phone,user_code,user_id,user_name,user_order,user_position,user_state,creator";
}
/**
* 判断指定用户是否是登陆用户创建
* @param String userId,String OrgId
* @throws SQLException
* @return boolean
*/
public boolean isLoginUserCreateUser(String loginUserId,String managedUserId)
throws SQLException{
Connection conn=null;
Statement stm=null;
ResultSet rs=null;
boolean isLoginUserCreateUser=false;
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
stm=conn.createStatement();
String sql=" SELECT * FROM WF_USER WHERE USER_ID = '"+managedUserId+
"' AND CREATOR = '"+loginUserId+"' ";
logger.info("......query sql:"+sql);
rs=stm.executeQuery(sql);
if(rs.next()){
isLoginUserCreateUser=true;
}
return isLoginUserCreateUser;
}
finally{
WorkflowDBConnectionManager.getInstance().close(rs);
WorkflowDBConnectionManager.getInstance().close(stm,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
}
/**
* 根据用户ID,查询用户信息
*
* @param userId String 用户ID
* @return WfUser
* @throws Exception
*/
public WfUser getUserInfo(String userId)
throws Exception{
String sql="select * from wf_user where user_state = 1 and user_id = ?";
WfUser userInfo=null;
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
ptmt=conn.prepareStatement(sql);
ptmt.setString(1,userId);
rowset=ptmt.executeQuery();
List userList=resultsetToVO(rowset);
if(userList.size()>0){
userInfo=(WfUser)userList.get(0);
}
}
catch(SQLException sqle){
sqle.printStackTrace();
throw sqle;
}
finally{
WorkflowDBConnectionManager.getInstance().close(rowset);
WorkflowDBConnectionManager.getInstance().close(ptmt,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
return userInfo;
}
/**
* 查询业务系统在wf_user之外扩充的字段
*
* @return List
* @throws Exception
*/
public List getUserExtFieldList()throws Exception{
String sql="select * from wf_user_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 userId String
* @return List
* @throws Exception
*/
public List getExtFieldValueList(String userId)throws Exception{
String sql="Select a.*,b.ext_field_name,b.input_obj_name " +
" From wf_user_ext_data a,wf_user_ext_field b " +
" Where a.ext_field_id = b.ext_field_id and a.user_id = ?";
List extFieldList = new ArrayList();
WfExtField extField = null;
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
ptmt=conn.prepareStatement(sql);
ptmt.setString(1,userId);
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 userId,List extFieldDataList)throws Exception{
WfExtField extField = null;
String sql = null;
if("oracle".equalsIgnoreCase(DB_TYPE)){
sql = "Insert Into wf_user_ext_data(user_id,ext_field_id,ext_field_value) " +
"Select ? As user_id,? As ext_field_id,? As ext_field_value From dual";
}else{
sql = "Insert Into wf_user_ext_data(user_id,ext_field_id,ext_field_value) " +
"Select top 1 ? As user_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,userId);
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 userId)throws Exception{
String sql = "delete from wf_user_ext_data where user_id = ?";
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
ptmt=conn.prepareStatement(sql);
ptmt.setString(1,userId);
ptmt.execute();
}
catch(SQLException sqle){
sqle.printStackTrace();
throw sqle;
}
finally{
WorkflowDBConnectionManager.getInstance().close(rowset);
WorkflowDBConnectionManager.getInstance().close(ptmt,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
}
public WfCheckExistsResult checkUserExists(WfUser userInfo)throws Exception{
if(userInfo == null) return null;
WfCheckExistsResult result = new WfCheckExistsResult();
String loginId = userInfo.getLoginId();
WfUser existsUser = this.getUserInfoByLoginId(loginId);
if(existsUser != null){
result.setIsExists(true);
result.setResultDesc("按用户的登录ID查询时,该用户存在!");
result.setExistsUser(existsUser);
}else{
result.setIsExists(false);
result.setResultDesc("按用户的登录ID查询时,不存在该用户!");
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -