📄 accountbusinessaction.java
字号:
package netctoss.user.actions;
/*
* 负责帐务帐号,业务帐号的查询处理
* */
import global.ModuleMenu;
import global.PageParameters;
import global.RightMenu;
import global.SortMenu;
import global.ValidatorTool;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import netctoss.dao.AdminsDAO;
import netctoss.dao.ModulesDAO;
import netctoss.dao.PricingsDAO;
import netctoss.dao.UsersDAO;
import netctoss.dao.UserservicesDAO;
import netctoss.entities.Adminroles;
import netctoss.entities.Admins;
import netctoss.entities.Modules;
import netctoss.entities.Rights;
import netctoss.entities.Rolerights;
import netctoss.fee.forms.PricingCondForm;
import netctoss.user.forms.AccountBusinessCondForm;
import netctoss.user.forms.AccountForm;
import netctoss.user.forms.BusinessForm;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.actions.DispatchAction;
import org.hibernate.Query;
public class AccountBusinessAction extends DispatchAction {
private Modules getOperationMenuByRight(Integer id){
ModulesDAO dao= new ModulesDAO();
dao.getSession().flush();
return dao.findById(id);
}
//负责权限加载
public ActionForward index(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
//处理功能 操作菜单的现实
String moduleid=request.getParameter("moduleid");
if(moduleid!=null){
Modules tmpmodule=getOperationMenuByRight(new Integer(moduleid));
ModuleMenu module=new ModuleMenu();
module.setId(tmpmodule.getId());
module.setName(tmpmodule.getName());
module.setUrl(tmpmodule.getUrl());
request.getSession().setAttribute("module", module);
String adminid=request.getSession().getAttribute("adminid").toString();
//得到该用户的角色->权限->过滤得到
AdminsDAO daoadmin=new AdminsDAO();
//得到管理员
Admins admin=daoadmin.findById(new Integer(adminid));
//存放权限,便于过滤
List<Rights> listallright=new Vector<Rights>();
//得到用户角色集合
Set setadminroles=admin.getAdminroles();
Iterator it=setadminroles.iterator();
//循环找出角色的所有权限
while(it.hasNext()){
Adminroles adminrole=(Adminroles)it.next();
Set setroleright=adminrole.getRoleid().getRolerights();
Iterator itroleright=setroleright.iterator();
while(itroleright.hasNext()){
Rolerights rr=(Rolerights)itroleright.next();
if(rr.getRightid().getModuleid().getId().equals(new Integer(moduleid))){
listallright.add(rr.getRightid());
}
}
}
//这里过滤重复的权限。
Set setrights=new HashSet();
for(Object obj:listallright){
setrights.add(obj);
}
RightMenu[] rm=new RightMenu[setrights.size()];
Object[] obj=setrights.toArray();
for(int i=0;i<obj.length;i++){
rm[i]=new RightMenu();
rm[i].setId(((Rights)obj[i]).getId());
rm[i].setName(((Rights)obj[i]).getName());
rm[i].setUrl(((Rights)obj[i]).getUrl());
}
//权限排序。
Arrays.sort(rm,new SortMenu());
//设置权限菜单到session,便于下步导航
request.getSession().setAttribute("menu", rm);
}
else{
return mapping.findForward("back");
}
//根据提交的方法确定数据处理
return mapping.findForward("goindex");
}
//帐务帐号的查询逻辑处理
public ActionForward browseAcc(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("浏览");
queryAcc("browseAcc",mapping,form,request,response);
return mapping.findForward("gobrowseacc");
}
public ActionForward updateAcc(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
queryAcc("updateAcc",mapping,form,request,response);
return mapping.findForward("goupdateacc");
}
public ActionForward deleteAcc(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
queryAcc("deleteAcc",mapping,form,request,response);
return mapping.findForward("godeleteacc");
}
public ActionForward addnewAcc(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
//不进行任何的逻辑处理.
return mapping.findForward("goaddnewacc");
}
//业务帐号的查询逻辑处理
public ActionForward browseBuss(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
queryBuss("browseBuss",mapping,form,request,response);
return mapping.findForward("gobrowsebuss");
}
public ActionForward updateBuss(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
queryBuss("updateBuss",mapping,form,request,response);
return mapping.findForward("goupdatebuss");
}
public ActionForward deleteBuss(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
queryBuss("deleteBuss",mapping,form,request,response);
return mapping.findForward("godeletebuss");
}
public ActionForward addnewBuss(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
//添加界面
//查询所有用户
UsersDAO daouser=new UsersDAO();
PricingsDAO daopricing=new PricingsDAO();
//查询所有的资费
List lstusers=daouser.findAll();
List lstpricings=daopricing.findAll();
request.setAttribute("lstusers", lstusers);
request.setAttribute("lstpricings", lstpricings);
return mapping.findForward("goaddnewbuss");
}
//查询所有的帐务帐号
public void queryAcc(String method,ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
//权限菜单由index处理。
//这里只负责浏览查询的业务逻辑
//现实查询帐务帐号信息listaccs
//得到查询条件:用户名,登陆名,状态,不输入则不作为查询条件
AccountBusinessCondForm fm=(AccountBusinessCondForm)form;
//当前页数
int currentpage=1;
String hql="";
if(fm.getPage()==0)//说明是提交查询
{
currentpage=1;
//重新查询数据
String accname=fm.getAccname();
String accloginname=fm.getAccloginname();
Integer accstatus=fm.getAccstatus();
//建立DAO对象进行数据查询
//所有权限
hql="from netctoss.entities.Users as user ";
hql+="where user.name like '%"+accname+"%' ";
hql+="and ";
hql+="user.loginname like '%"+accloginname+"%' ";
if(accstatus.intValue()!=-1){
hql+="and ";
hql+="user.status="+accstatus;
}
request.getSession().setAttribute("hql", hql);
request.getSession().setAttribute("form", fm);//保存form
}
else{//说明是分页查询
currentpage=fm.getPage();
hql=request.getSession().getAttribute("hql").toString();//获取上次hql
}
UsersDAO dao=new UsersDAO();
Query query=dao.getSession().createQuery(hql);
List listuser=query.list();
//System.out.println("用户数:"+listuser.size());
//分页导航条
int totals=listuser.size();
int totalpages=totals%PageParameters.ITEMS_EACH_PAGE==0?totals/PageParameters.ITEMS_EACH_PAGE:totals/PageParameters.ITEMS_EACH_PAGE +1;
String pagenav=PageParameters.pageNavigator(totalpages, currentpage, request.getContextPath()+ request.getServletPath()+"?method="+method);
//pagenav=response.encodeRedirectURL(pagenav);
request.setAttribute("pagenav", pagenav);//设置分页导航数据
//过滤数据只获取满足当前条件的数据
query.setFirstResult((currentpage-1)*PageParameters.ITEMS_EACH_PAGE);
query.setMaxResults(PageParameters.ITEMS_EACH_PAGE);
listuser=query.list();
request.setAttribute("listuser", listuser);
}
//查询业务帐号
public void queryBuss(String method,ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
//权限菜单由index处理。
//这里只负责浏览查询的业务逻辑
//现实查询业务帐号信息listbuss
//得到查询条件:用户名,业务登陆名,实验室IP,状态,四个条件,不输入则不作为查询条件
AccountBusinessCondForm fm=(AccountBusinessCondForm)form;
//当前页数
int currentpage=1;
String hql="";
if(fm.getPage()==0)//说明是提交查询
{
currentpage=1;
//重新查询数据
String bussname=fm.getBussusername();
String bussloginname=fm.getBussloginname();
String busslabip=fm.getBusslabip();
Integer bussstatus=fm.getBussstatus();
//建立DAO对象进行数据查询
//所有权限
hql="from netctoss.entities.Userservices as ur ";
hql+="where ur.userid.name like '%"+bussname+"%' ";//用户名查询
hql+="and ";
hql+="ur.loginname like '%"+bussloginname+"%' ";
hql+="and ";
hql+="ur.labip like '%"+busslabip+"%' ";
if(bussstatus.intValue()!=-1){
hql+="and ";
hql+="ur.status =" + bussstatus;
}
System.out.println(hql);
request.getSession().setAttribute("hql", hql);
request.getSession().setAttribute("form", fm);//保存form
}
else{//说明是分页查询
currentpage=fm.getPage();
hql=request.getSession().getAttribute("hql").toString();//获取上次hql
}
UserservicesDAO dao=new UserservicesDAO();
Query query=dao.getSession().createQuery(hql);
List listservice=query.list();
System.out.println("业务数:"+listservice.size());
//分页导航条
int totals=listservice.size();
int totalpages=totals%PageParameters.ITEMS_EACH_PAGE==0?totals/PageParameters.ITEMS_EACH_PAGE:totals/PageParameters.ITEMS_EACH_PAGE +1;
String pagenav=PageParameters.pageNavigator(totalpages, currentpage, request.getContextPath()+ request.getServletPath()+"?method="+method);
//pagenav=response.encodeRedirectURL(pagenav);
request.setAttribute("pagenav", pagenav);//设置分页导航数据
//过滤数据只获取满足当前条件的数据
query.setFirstResult((currentpage-1)*PageParameters.ITEMS_EACH_PAGE);
query.setMaxResults(PageParameters.ITEMS_EACH_PAGE);
listservice=query.list();
request.setAttribute("listservice", listservice);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -