userselfaction.java

来自「电信计费项目 该系统在Sun Solaris下开发,运行于Apache Tom」· Java 代码 · 共 123 行

JAVA
123
字号
package com.tarena.netctoss.controller.actions;import java.util.*;import javax.servlet.http.*;import org.apache.struts.actions.MappingDispatchAction;import org.apache.struts.action.*;import com.tarena.netctoss.model.biz.*;import com.tarena.netctoss.model.biz.entity.*;public class UserSelfAction extends MappingDispatchAction {		public ActionForward findByMonth(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response) throws UserActionException{      ActionForward forward = mapping.findForward("fail");		IUserSelfService service = ServiceFactory.getUserSelfService();		HttpSession session = request.getSession(false);		double time =0.0;		double total =0.0;		boolean flag1=false;		boolean flag2=false;		boolean flag3=false;		boolean flag4=false;		boolean flag5=false;		try {			if(session.getAttribute("type").equals("user")){				User user = (User) session.getAttribute("login_user");                                System.out.println(user);				List lists = service.findByMonth(user.getUser_id(), Integer.parseInt(request.getParameter("year")), Integer.parseInt(request.getParameter("month")));				Iterator it = lists.iterator();				while(it.hasNext()){					UserSelf self = (UserSelf)it.next();					time+=self.getTime_duration();					if(self.getLab_ip().equals("192.168.0.21") && !flag1){						total +=self.getBase_fee();						flag1=true;					}					if(self.getLab_ip().equals("192.168.0.22") && !flag2){						total +=self.getBase_fee();						flag2=true;					}					if(self.getLab_ip().equals("192.168.0.23") && !flag3){						total +=self.getBase_fee();						flag3=true;					}					if(self.getLab_ip().equals("192.168.0.24") && !flag4){						total +=self.getBase_fee();						flag4=true;					}					if(self.getLab_ip().equals("192.168.0.25") && !flag5){						total +=self.getBase_fee();						flag5=true;					}					total+=self.getTime_duration()/60*self.getRate_fee();				}				int hour = (int)time/60;				int minute = (int)time-60*hour;				synchronized(session){					session.setAttribute("hour",hour);					session.setAttribute("minute",minute);					session.setAttribute("total", total);					session.setAttribute("year",  request.getParameter("year"));					session.setAttribute("month", request.getParameter("month"));				}				forward = mapping.findForward("success");			}		} catch (RuntimeException e) {			e.printStackTrace();			throw new UserActionException();		}		return forward;	}		@SuppressWarnings("unchecked")	public ActionForward findByDay(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response) throws UserActionException{		ActionForward forward = null;		IUserSelfService service = ServiceFactory.getUserSelfService();		HttpSession session = request.getSession(false);		User user = (User) session.getAttribute("login_user");		Set<ServiceUser> s_users = user.getS_users();		try {			List lists = service.findByDay(user.getUser_id(), Integer.parseInt(request.getParameter("year")), Integer.parseInt(request.getParameter("month")));			Iterator it = lists.iterator();			List[] list=new ArrayList[s_users.size()];			double[] time = new double[s_users.size()];			double[] total = new double[s_users.size()];			int i=0;			List<UserSelfProcess> userSelf = new ArrayList<UserSelfProcess>();			for(ServiceUser s_user : s_users){				boolean flag=false;				list[i] = new ArrayList();				time[i]=0.0;				total[i]=0.0;				while(it.hasNext()){					UserDetail detail = (UserDetail)it.next();					if(detail.getLogin_name().equals(s_user.getLab_login_name())){						list[i].add(detail);						time[i]+=detail.getTime_duration();						if(!flag){							total[i]+=detail.getBase_fee();							flag=true;						}						total[i]+=detail.getRate_fee()*(detail.getTime_duration()/60);					}				}				UserSelfProcess self = new UserSelfProcess();				self.setDetails(list[i]);				self.setS_user(s_user);				self.setTime(time[i]/60);				self.setTotal(total[i]);				userSelf.add(self);				it = lists.iterator();				i++;			}			request.setAttribute("userSelf", userSelf);			forward = mapping.findForward("success");		} catch (NumberFormatException e) {			e.printStackTrace();			throw new UserActionException();		}		return forward;	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?