📄 c852roletypedao.java
字号:
package com.je.ims.dao;
import java.util.LinkedList;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.je.ims.hibernate.RoleType;
import com.je.ims.hibernate.RoleTypeMgrRoleType;
import com.je.ims.hibernate.RoleTypeMgrRoleTypeId;
public class C852RoleTypeDAO extends HibernateDaoSupport {
// 根據角色類型類別取得角色類型集合
public List getRoleTypeByKind(long kind)
{
String hql="from RoleType where roleKind=?";
List list=getHibernateTemplate().find(hql,new Long(kind));
return list;
}
//根據角色類型ID取得角色類型信息
public RoleType getRoleTypeById(Long l)
{
String hql="from RoleType where roleTypeId=?";
List list=getHibernateTemplate().find(hql,l);
RoleType type=null;
if(list.size()!=0)
type=(RoleType)list.get(0);
return type;
}
//插入角色類型
public void insertRoleType(RoleType roleType)
{
getHibernateTemplate().saveOrUpdate(roleType);
}
//刪除角色類型以及相關表信息,包括角色成員表,角色菜單表,以及代理人
public void deleteRoleType(Long l)
{
final RoleType roleType=getRoleTypeById(l);
String hql3="from RoleTypeMenu where id.roleTypeId=?";
final List list3=getHibernateTemplate().find(hql3,l);
String hql5="from RoleTypeMgrRoleType where id.roleTypeId=?";
final List list5=getHibernateTemplate().find(hql5,l);
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
getHibernateTemplate().delete(roleType);
if(list3!=null){
for(int i=0;i<list3.size();i++)
session.delete(list3.get(i));
}
if(list5!=null)
{
for(int i=0;i<list5.size();i++)
session.delete(list5.get(i));
}
return null;
}
});
}
//取得角色類型現有可管理的角色類型
public List getRoleTypeByManaged(long l)
{
String hql="from RoleTypeMgrRoleType where id.roleTypeId=?";
List list=getHibernateTemplate().find(hql,new Long(l));
List managedList=null;
if(list.size()>0)
managedList=mgrRoleTypeToRoleType(list);
return managedList;
}
//按照角色類別取得角色類型未管理的角色類型
public List getRoleTypeByK(long kind,long type,List l)
{
String hql="from RoleType where roleKind=?";
List list=getHibernateTemplate().find(hql,new Long(kind));
for(int m=0;m<l.size();m++){
RoleType type1=(RoleType)l.get(m);
if(type1.getRoleKind().longValue()!=kind)
{
l.remove(m);
m--;
}
}
for(int i=0;i<l.size();i++)
{
for(int j=0;j<list.size();j++)
{
RoleType r2=(RoleType)list.get(j);
long ll=((RoleType)l.get(i)).getRoleTypeId().longValue();
if(ll==r2.getRoleTypeId().longValue())
{
list.remove(j);
j--;
break;
}
}
}
return list;
}
//將RoleType轉換成RoleTypeMgrRoleType
private List roleTypeToMgrRoleType(List roleType,long l)
{
List list=new LinkedList();
for(int i=0;i<roleType.size();i++)
{
long type_id=Long.parseLong((String)roleType.get(i));
RoleTypeMgrRoleTypeId id=new RoleTypeMgrRoleTypeId();
RoleTypeMgrRoleType mgr=new RoleTypeMgrRoleType();
id.setMgrRoleTypeId(new Long(type_id));
id.setRoleTypeId(new Long(l));
mgr.setId(id);
list.add(mgr);
}
for(int i=0;i<list.size();i++)
{
RoleTypeMgrRoleType e=(RoleTypeMgrRoleType)list.get(i);
System.out.println("aaaaaaaa "+e.getId().getRoleTypeId());
}
return list;
}
//用於將RoleTypeMgrRoleType轉換成RoleType
private List mgrRoleTypeToRoleType(List mgrRoleType)
{
List roleType=new LinkedList();
for(int i=0;i<mgrRoleType.size();i++)
{
RoleType type=null;
String hql="from RoleType where roleTypeId=?";
RoleTypeMgrRoleType mgrType=(RoleTypeMgrRoleType)mgrRoleType.get(i);
List list=getHibernateTemplate().find(hql,mgrType.getId().getMgrRoleTypeId());
if(list.size()>0)
{
type=(RoleType)list.get(0);
roleType.add(type);
}
}
return roleType;
}
//存儲可管理的類型
public void saveManagedType(List save,long l)
{
final List list=roleTypeToMgrRoleType(save,l);
final List list1=getHibernateTemplate().find("from RoleTypeMgrRoleType where id.roleTypeId=?",new Long(l));
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
for(int i=0;i<list1.size();i++)
session.delete(list1.get(i));
if(list.size()!=0){
for(int i=0;i<list.size();i++)
session.save(list.get(i));
}
System.out.println("list size is fsdfsdfaf "+list.size());
return null;
}
});
}
public List getRoleByRoleType(Long roletypeid)
{
String hql="from Role where id.roleTypeId=?";
List list=getHibernateTemplate().find(hql,roletypeid);
return list;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -