⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servicetimequeryaction.java

📁 java电信经典-学习例子源代码
💻 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 + -