📄 wforganizationdao.java
字号:
}
if(org.getOrgAddress()!=null&&!org.getOrgAddress().equals("")){
sbSQL.append("'");
sbSQL.append(org.getOrgAddress());
sbSQL.append("'");
sbSQL.append(",");
}
else{
sbSQL.append("null");
sbSQL.append(",");
}
if(org.getOrgCode()!=null&&!org.getOrgCode().equals("")){
sbSQL.append("'");
sbSQL.append(org.getOrgCode());
sbSQL.append("'");
sbSQL.append(",");
}
else{
sbSQL.append("null");
sbSQL.append(",");
}
if(org.getOrgDesc()!=null&&!org.getOrgDesc().equals("")){
sbSQL.append("'");
sbSQL.append(org.getOrgDesc());
sbSQL.append("'");
sbSQL.append(",");
}
else{
sbSQL.append("null");
sbSQL.append(",");
}
if(org.getOrgId()!=null&&!org.getOrgId().equals("")){
sbSQL.append("'");
sbSQL.append(org.getOrgId());
sbSQL.append("'");
sbSQL.append(",");
}
else{
sbSQL.append("null");
sbSQL.append(",");
}
if(org.getOrgLevel()!=WorkflowConstant.LONG_INIT_VALUE){
sbSQL.append(org.getOrgLevel());
sbSQL.append(",");
}
else{
sbSQL.append("null");
sbSQL.append(",");
}
if(org.getOrgName()!=null&&!org.getOrgName().equals("")){
sbSQL.append("'");
sbSQL.append(org.getOrgName());
sbSQL.append("'");
sbSQL.append(",");
}
else{
sbSQL.append("null");
sbSQL.append(",");
}
if(org.getOrgOrder()!=WorkflowConstant.LONG_INIT_VALUE){
sbSQL.append(org.getOrgOrder());
sbSQL.append(",");
}
else{
sbSQL.append("null");
sbSQL.append(",");
}
if(org.getOrgState()!=null&&!org.getOrgState().equals("")){
sbSQL.append("'");
sbSQL.append(org.getOrgState());
sbSQL.append("'");
sbSQL.append(",");
}
else{
sbSQL.append("null");
sbSQL.append(",");
}
if(org.getUpOrg()!=null&&!org.getUpOrg().equals("")){
sbSQL.append("'");
sbSQL.append(org.getUpOrg());
sbSQL.append("'");
sbSQL.append(",");
}
else{
sbSQL.append("null");
sbSQL.append(",");
}
if(org.getCreator()!=null&&!org.getCreator().equals("")){
sbSQL.append("'");
sbSQL.append(org.getCreator());
sbSQL.append("'");
sbSQL.append(",");
}
else{
sbSQL.append("null");
sbSQL.append(",");
}
//删除最后一个逗号
sbSQL.delete(sbSQL.length()-1,sbSQL.length());
return sbSQL;
}
/**
* 获取登陆用户对管理权限范围内的指定部门的操作权限集合
* @param String orgId,String userId
* @throws SQLException
* @return Hashtable
*/
public Hashtable getOrgOperationAuthorization(String orgId,String userId)
throws SQLException{
Connection conn=null;
Statement stm=null;
ResultSet rs=null;
Hashtable operationAuthorizationHashtable = new Hashtable();
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
stm=conn.createStatement();
String sql= null;
if("oracle".equalsIgnoreCase(dataBaseType)){
sql=" SELECT WF_MANAGED_OPERATION_AUTH.OPERATION_ID,WF_MANAGED_OPERATION.OPERATION_NAME"+
" FROM WF_MANAGED_OPERATION_AUTH INNER JOIN WF_MANAGED_OPERATION "+
" on WF_MANAGED_OPERATION_AUTH.OPERATION_ID=WF_MANAGED_OPERATION.OPERATION_ID"+
" WHERE OPERATION_VALUE = '1' and ROLE_MANAGED_ID in "+
" (SELECT WF_ROLE_MANAGE_ORG.ROLE_ORG_ID"+
" FROM WF_ORG_USER_ROLE INNER JOIN WF_ROLE_MANAGE_ORG "+
" ON WF_ORG_USER_ROLE.ROLE_ID = WF_ROLE_MANAGE_ORG.ROLE_ID"+
" WHERE WF_ORG_USER_ROLE.USER_ID = '"+userId+"' and WF_ROLE_MANAGE_ORG.ORG_ID ='"+orgId+"') ";
}else{
sql=" SELECT dbo.WF_MANAGED_OPERATION_AUTH.OPERATION_ID,dbo.WF_MANAGED_OPERATION.OPERATION_NAME"+
" FROM WF_MANAGED_OPERATION_AUTH INNER JOIN WF_MANAGED_OPERATION "+
" on dbo.WF_MANAGED_OPERATION_AUTH.OPERATION_ID=dbo.WF_MANAGED_OPERATION.OPERATION_ID"+
" WHERE OPERATION_VALUE = '1' and ROLE_MANAGED_ID in "+
" (SELECT dbo.WF_ROLE_MANAGE_ORG.ROLE_ORG_ID"+
" FROM dbo.WF_ORG_USER_ROLE INNER JOIN dbo.WF_ROLE_MANAGE_ORG "+
" ON dbo.WF_ORG_USER_ROLE.ROLE_ID = dbo.WF_ROLE_MANAGE_ORG.ROLE_ID"+
" WHERE dbo.WF_ORG_USER_ROLE.USER_ID = '"+userId+"' and dbo.WF_ROLE_MANAGE_ORG.ORG_ID ='"+orgId+"') ";
}
logger.info("......query sql:"+sql);
rs=stm.executeQuery(sql);
while(rs.next()){
operationAuthorizationHashtable.put(rs.getString("OPERATION_NAME"),rs.getString("OPERATION_ID"));
}
return operationAuthorizationHashtable;
}
finally{
WorkflowDBConnectionManager.getInstance().close(rs);
WorkflowDBConnectionManager.getInstance().close(stm,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
}
/**
* 判断指定部门是否是登陆用户创建
* @param String userId,String OrgId
* @throws SQLException
* @return boolean
*/
public boolean isLoginUserCreateOrg(String userId,String OrgId)
throws SQLException{
Connection conn=null;
Statement stm=null;
ResultSet rs=null;
boolean isLoginUserCreateOrg=false;
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
stm=conn.createStatement();
String sql=" SELECT * FROM WF_ORGANIZATION WHERE ORG_ID = '"+OrgId+
"' AND CREATOR = '"+userId+"'";
logger.info("......query sql:"+sql);
rs=stm.executeQuery(sql);
if(rs.next()){
isLoginUserCreateOrg=true;
}
return isLoginUserCreateOrg;
}
finally{
WorkflowDBConnectionManager.getInstance().close(rs);
WorkflowDBConnectionManager.getInstance().close(stm,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
}
public WfOrganization getOrgInfo(String orgId)throws Exception{
String sql="select * from wf_organization where org_state = 1 and org_id = ?";
WfOrganization orgInfo=null;
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
ptmt=conn.prepareStatement(sql);
ptmt.setString(1,orgId);
rowset=ptmt.executeQuery();
List orgList=resultsetToVO(rowset);
if(orgList.size()>0){
orgInfo=(WfOrganization)orgList.get(0);
}
}
catch(SQLException sqle){
sqle.printStackTrace();
throw sqle;
}
finally{
WorkflowDBConnectionManager.getInstance().close(rowset);
WorkflowDBConnectionManager.getInstance().close(ptmt,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
return orgInfo;
}
/**
* 查询业务系统在wf_organization之外扩充的字段
*
* @return List
* @throws Exception
*/
public List getOrgExtFieldList()throws Exception{
String sql="select * from wf_organization_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 orgId String
* @return List
* @throws Exception
*/
public List getExtFieldValueList(String orgId)throws Exception{
String sql="Select a.*,b.ext_field_name,b.input_obj_name " +
" From wf_organization_ext_data a,wf_organization_ext_field b " +
" Where a.ext_field_id = b.ext_field_id and a.org_id = ?";
List extFieldList = new ArrayList();
WfExtField extField = null;
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
ptmt=conn.prepareStatement(sql);
ptmt.setString(1,orgId);
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 orgId,List extFieldDataList)throws Exception{
WfExtField extField = null;
String sql = null;
if("oracle".equalsIgnoreCase(dataBaseType)){
sql = "Insert Into wf_organization_ext_data(org_id,ext_field_id,ext_field_value) " +
"Select ? As org_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 org_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,orgId);
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 orgId)throws Exception{
String sql = "delete from wf_organization_ext_data where org_id = ?";
try{
conn=WorkflowDBConnectionManager.getInstance().getConnection();
ptmt=conn.prepareStatement(sql);
ptmt.setString(1,orgId);
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 + -