📄 servicetimequeryaction.java
字号:
/**
* @author tiantian
*
* Jun 12, 2008 4:41:24 PM
*/
package netctoss.account.actions;
import global.ModuleMenu;
import global.PageParameters;
import global.RightMenu;
import global.SortMenu;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
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 javax.servlet.http.HttpSession;
import netctoss.account.dao.ServiceTimeDAO;
import netctoss.account.dao.ServiceTimeDAOImpl;
import netctoss.account.forms.ServiceTimeQueryCondForm;
import netctoss.dao.AdminsDAO;
import netctoss.dao.ModulesDAO;
import netctoss.entities.Adminroles;
import netctoss.entities.Admins;
import netctoss.entities.Modules;
import netctoss.entities.Rights;
import netctoss.entities.Rolerights;
import netctoss.jdbc.entities.MonthAccount;
import netctoss.jdbc.entities.YearAccount;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.apache.struts.actions.MappingDispatchAction;
/**
* 负责账单查询,与明细查询的逻辑处理
*/
public class ServiceTimeQueryAction 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");
}
private ServiceTimeDAO stdao ;
//年查询界面
public ActionForward accountYQuery(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//直接过去的数据
GregorianCalendar gc=new GregorianCalendar();
int currenty=gc.get(Calendar.YEAR);
gc.add(Calendar.MONTH, -1);
int currentm=gc.get(Calendar.MONTH)+1;
request.setAttribute("years", new int[]{currenty,currenty-1,currenty-2});
request.setAttribute("cy", currenty);
request.setAttribute("cm", currentm);
return mapping.findForward("gobrowseyaccount");
}
//月查询界面
public ActionForward accountMQuery(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
GregorianCalendar gc=new GregorianCalendar();
int currenty=gc.get(Calendar.YEAR);
gc.add(Calendar.MONTH, -1);
int currentm=gc.get(Calendar.MONTH)+1;
request.setAttribute("years", new int[]{currenty,currenty-1,currenty-2});
request.setAttribute("cy", currenty);
request.setAttribute("cm", currentm);
//request.setAttribute("yearAccounts", yearAccounts);
return mapping.findForward("gobrowsemaccount");
}
/**
* 年账单查询
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward serviceTimeQueryYUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//显示最近三年
GregorianCalendar gc=new GregorianCalendar();
int currenty=gc.get(Calendar.YEAR);
gc.add(Calendar.MONTH, -1);
int currentm=gc.get(Calendar.MONTH)+1;
request.setAttribute("years", new int[]{currenty,currenty-1,currenty-2});
ServiceTimeQueryCondForm stqcf = (ServiceTimeQueryCondForm) form;
String year = stqcf.getYear();
request.setAttribute("cy", year);
int currentpage=1;
stdao = new ServiceTimeDAOImpl();
List yearAccounts = (List) stdao.getServiceTimeByYear(year);
request.setAttribute("yearAccounts", yearAccounts);
return mapping.findForward("gobrowseyaccount");
}
/**
* 年明细查询
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward serviceTimeDetailY(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ServiceTimeQueryCondForm stqcf = (ServiceTimeQueryCondForm) form;
List detailY = new ArrayList();
String year = request.getParameter("year");
String labip = request.getParameter("labip");
int currentpage = 1;
detailY = (List) stdao.getServiceDetailByYear(year,labip);
request.setAttribute("year", year);
request.setAttribute("labip", labip);
request.setAttribute("detailY", detailY);
return mapping.findForward("gobrowseyaccountdetail");
}
/**
* 月账单查询
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward serviceTimeQueryMUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//最近三年
GregorianCalendar gc=new GregorianCalendar();
int currenty=gc.get(Calendar.YEAR);
gc.add(Calendar.MONTH, -1);
int currentm=gc.get(Calendar.MONTH)+1;
request.setAttribute("years", new int[]{currenty,currenty-1,currenty-2});
ServiceTimeQueryCondForm stqcf = (ServiceTimeQueryCondForm) form;
String year = stqcf.getYear();
String month = stqcf.getMonth();
request.setAttribute("cy", year);
request.setAttribute("cm", month);
stdao = new ServiceTimeDAOImpl();
int currentpage = 1;
List monthAccounts = (List) stdao.getServiceTimeByMonth(year, month);
int totals = monthAccounts.size();
request.setAttribute("monthAccounts", monthAccounts);
request.setAttribute("year", year);
request.setAttribute("month", month);
return mapping.findForward("gobrowsemaccount");
}
/**
* 月明细查询
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward serviceTimeDetailM(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ServiceTimeQueryCondForm stqcf = (ServiceTimeQueryCondForm) form;
String year = request.getParameter("year");
String month = request.getParameter("month");
String labip = request.getParameter("labip");
int currentpage = 1;
List detailM = new ArrayList();
stdao = new ServiceTimeDAOImpl();
detailM = (List) stdao.getServiceDetailByMonth(year, month,labip);
request.setAttribute("year", year);
request.setAttribute("month", month);
request.setAttribute("labip", labip);
request.setAttribute("detailM", detailM);
return mapping.findForward("gobrowsemaccountdetail");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -