滴水藏海
package com.taskManage.action;import java.util.Date;import java.util.List;import org.apache.struts2.ServletActionContext;import com.model.Task;import com.taskManage.service.FeeInputService;import com.taskManage.service.TaskInputService;public class QueryTaskByUnitAction {private Date doDate;// 根据办结日期分月查询所有任务单。private TaskInputService taskInputService;private List<Task> taskPeop;// 用于查询市委的任务单集合private List<Task> taskGov;// 用于查询市政府的任务单集合private Long year;// (年)根据办结日期分月查询所有任务单。private Long month;// (月)根据办结日期分月查询所有任务单。private Long peop;// 市委出现的次数private Long gov;// 市政府出现的次数private FeeInputService feeInputService;// 用于计算费用。private Long taskId;// 用于计算任务费用。Long[] totalFee = null;// 用于每个任务单的总费用。private boolean b;// 判断查询结果是否为空public boolean isB() {return b;}public void setB(boolean b) {this.b = b;}public Long[] getTotalFee() {return totalFee;}public void setTotalFee(Long[] totalFee) {this.totalFee = totalFee;}public List<Task> getTaskPeop() {return taskPeop;}public void setTaskPeop(List<Task> taskPeop) {this.taskPeop = taskPeop;}public List<Task> getTaskGov() {return taskGov;}public void setTaskGov(List<Task> taskGov) {this.taskGov = taskGov;}public Long getTaskId() {return taskId;}public void setTaskId(Long taskId) {this.taskId = taskId;}public FeeInputService getFeeInputService() {return feeInputService;}public void setFeeInputService(FeeInputService feeInputService) {this.feeInputService = feeInputService;}public Long getPeop() {return peop;}public void setPeop(Long peop) {this.peop = peop;}public Long getGov() {return gov;}public void setGov(Long gov) {this.gov = gov;}public Long getYear() {return year;}public void setYear(Long year) {this.year = year;}public Long getMonth() {return month;}public void setMonth(Long month) {this.month = month;}public Date getDoDate() {return doDate;}public void setDoDate(Date doDate) {this.doDate = doDate;}public TaskInputService getTaskInputService() {return taskInputService;}public void setTaskInputService(TaskInputService taskInputService) {this.taskInputService = taskInputService;}public String queryTaskByUnit() throws Exception {taskPeop = taskInputService.queryTaskByUnit(year, month, "市委");taskGov = taskInputService.queryTaskByUnit(year, month, "市政府");peop = taskInputService.times(year, month, "市委");gov = taskInputService.times(year, month, "市政府");int s = peop.intValue() + gov.intValue();totalFee = new Long[s];Long peopFeeSum = new Long(0);Long govFeeSum = new Long(0);for (int i = 0; i < peop; i++) {Long fee = (Long) feeInputService.total(taskPeop.get(i).getTaskId());totalFee[i] = fee == null ? new Long(0) : fee; //条件表达式。peopFeeSum += fee == null ? 0 : fee;}for (int j = 0; j < gov; j++) {Long fee = (Long) feeInputService.total(taskGov.get(j).getTaskId());totalFee[peop.intValue() + j] = fee == null ? new Long(0) : fee;govFeeSum += fee == null ? 0 : fee;}ServletActionContext.getRequest().setAttribute("peopFeeSum", peopFeeSum);ServletActionContext.getRequest().setAttribute("govFeeSum", govFeeSum);System.out.println("------peopFeeSum---------" + peopFeeSum);if (peop > 0 || gov> 0) { //判断:只要市委和市政府存在,b就为真,结果显示页面就有值。b = true;} else {b = false;}return "success";}} <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><%@ taglib prefix="s" uri="/struts-tags"%><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title></title><link href="<%=request.getContextPath()%>/css/default.css"type="text/css" rel="stylesheet" /><script language="javascript" type="text/javascript"src="<%=request.getContextPath()%>/datePicker/WdatePicker.js"></script></head><body><s:form action="queryTaskByUnit_queryTaskByUnit" theme="simple"><table align="center" cellpadding="3" cellspacing="3" width="100%"height="100%" border="0"><thead><th height="30" align="left" name="year"><option value="2007">2007</option><option value="2008">2008</option><option value="2009">2009</option><option value="2010">2010</option><option value="2011" selected="true">2011</option></select> 年 <select name="month"><option value="01">01</option><option value="02">02</option><option value="03">03</option><option value="04">04</option><option value="05">05</option><option value="06">06</option><option value="07">07</option><option value="08">08</option><option value="09">09</option><option value="10">10</option><option value="11">11</option><option value="12">12</option></select> 月 <input type="submit" value="查询" /> <input type="button" value="导出报表" /> <br><br><table value="0" id="flag" /><s:subset source="#request.taskPeop" start="0" count="peop"><s:iterator var="task" status="counts"><s:if test="#flag<peop"><td><s:property value="#task.taskId"></s:property></td><td><s:property value="#task.guestUnit"></s:property></td><td><s:property value="#task.doUnit"></s:property></td><td><s:date name="#task.lssuedDate" format="yyyy-MM-dd" /></td><td><s:date name="#task.doDate" format="yyyy-MM-dd" /></td><td><s:property value="totalFee[#flag]"></s:property></td><s:if test="#flag==0"><td rowspan="<s:property value="peop"/>"><s:propertyvalue="#request.peopFeeSum" /></td></s:if><s:set name="flag" value="#flag+1" id="flag" /></s:if></tr></s:iterator></s:subset><tr><td rowspan="<s:property value="gov"/>">市政府</td><s:set name="flag" value="peop" id="flag" /><s:subset source="#request.taskGov" start="0" count="gov"><s:iterator var="taskGov" status="counts"><s:if test="#flag<peop+gov"><td><s:property value="#taskGov.taskId"></s:property></td><td><s:property value="#taskGov.guestUnit"></s:property></td><td><s:property value="#taskGov.doUnit"></s:property></td><td><s:date name="#taskGov.lssuedDate" format="yyyy-MM-dd" /></td><td><s:date name="#taskGov.doDate" format="yyyy-MM-dd" /></td><td><s:property value="totalFee[#flag]"></s:property></td><s:if test="#flag==peop"><td rowspan="<s:property value="gov"/>"><s:propertyvalue="#request.govFeeSum" /></td></s:if><s:set name="flag" value="#flag+1" id="flag" /></s:if></tr></s:iterator></s:subset><tr><td colspan="6">合计(元)</td><td colspan="2"><s:propertyvalue="#request.govFeeSum+#request.peopFeeSum" /></td></tr></s:if></table></td></tr></table></s:form></body></html>