滴水匿海
滴水藏海
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" class="title"> 各机关费用月报表</th> </thead> <tr> <td align="center"><br> 请选择月份: <select class="input_2" 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 class="input_2" 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 class="query_table"> <thead> <th>机关(任务下发单位)</th> <th>任务编号</th> <th>来宾单位</th> <th>承办单位</th> <th>下发日期</th> <th>办结日期</th> <th>任务费用(元)</th> <th>费用合计(元)</th> </thead> <s:if test="b"> <tr> <td rowspan="<s:property value="peop"/>">市委</td> <s:set name="flag" 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:property value="#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:property value="#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:property value="#request.govFeeSum+#request.peopFeeSum" /></td> </tr> </s:if> </table> </td> </tr> </table> </s:form> </body> </html>