按年份查询结果

digli 2011-08-16 03:13:39
这是在Action里面写的查询MySql数据库的结果,在jsp页面上显示出来的。
private List<Finance> getFinanceList(HttpServletRequest request)throws Exception{
ICommonService commonService = this.getCommonService();
Finance finance = new Finance();
List<CAgreementAmount> amountList = this.getCommonService().getObjectList("from CAgreementAmount");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Double[] d7eto= new Double[13];// 有12个月 ,第十三个月是存放十二个月的总和
CAgreementAmount caa =new CAgreementAmount();
for(CAgreementAmount aa : amountList) {
String date = aa.getPaymentDeadline();
String[] D = date.split("-");
String year = D[0];
String month = D[1];
String day = D[2];
CAgreement a = aa.getCAgreement();
List<CAgreementProgram> aplist = this.getCommonService().getObjectList("from CAgreementProgram c where c.id.agreementId=" + a.getId());
for(CAgreementProgram ap : aplist) {
CProgram p = (CProgram)this.getCommonService().getObj("from CProgram c where c.id=" + ap.getId().getProgramId());
CProgramType pt = p.getCProgramtype();
if(year.equals("2011")) {
if(pt.getName().equals("ETOM") || pt.getName().equals("ETOV")){
int x = format.parse(aa.getPaymentDeadline()).getMonth();
if(d7eto[x]==null){
d7eto[x]=0.0;
}
d7eto[x]=d7eto[x]+aa.getPaidamount(); // 存放每个月的结果
if(d7eto[12]==null){
d7eto[12]=0.0;
}
d7eto[12]=d7eto[12]+aa.getPaidamount();// 存放十二个月的总和
}
}
}

finance.setEtomainBusinessIncome(d7eto);
List list=new ArrayList();
list.add(finance);
request.setAttribute("list", list);
return list;

}
}


jsp 页面上:
<body>
<form action="" method="post">
<div>
<input type="text" class="text_time" name="fromTime" value=" " />
<input type="button" class="button_01" value="Create" onclick="gogo();"/>
<input type="button" class="button_01" value="Excel" onclick="outExcel();"/>
</div>
<table class="table_01" id="table_01">
<tr bgcolor="#99CC00">
<td bgcolor="#FEFEFE"> </td>
<td>科目</td>
<td>一月</td>
<td>二月</td>
<td>三月</td>
<td>四月</td>
<td>五月</td>
<td>六月</td>
<td>七月</td>
<td>八月</td>
<td>九月</td>
<td>十月</td>
<td>十一月</td>
<td>十二月</td>
<td>Total</td>
</tr>

<tr>
<td >ETO</td>
td>主营业务收入</td>
<c:forEach items="${list}" var="finance" >
<td><input type="text" value="${finance.etomainBusinessIncome[0]}" id="1SR" size=2 style="border:0px;"/></td>
<td><input type="text" value="${finance.etomainBusinessIncome[1]}" id="2SR" size=2 style="border:0px;"/></td>
<td><input type="text" value="${finance.etomainBusinessIncome[2]}" id="3SR" size=2 style="border:0px;"/></td>
<td><input type="text" value="${finance.etomainBusinessIncome[3]}" id="4SR" size=2 style="border:0px;"/></td>
<td><input type="text" value="${finance.etomainBusinessIncome[4]}" id="5SR" size=2 style="border:0px;"/></td>
<td><input type="text" value="${finance.etomainBusinessIncome[5]}" id="6SR" size=2 style="border:0px;"/></td>
<td><input type="text" value="${finance.etomainBusinessIncome[6]}" id="7SR" size=2 style="border:0px;"/></td>
<td><input type="text" value="${finance.etomainBusinessIncome[7]}" id="8SR" size=2 style="border:0px;"/></td>
<td><input type="text" value="${finance.etomainBusinessIncome[8]}" id="9SR" size=2 style="border:0px;"/></td>
<td><input type="text" value="${finance.etomainBusinessIncome[9]}" id="10SR" size=2 style="border:0px;"/></td>
<td><input type="text" value="${finance.etomainBusinessIncome[10]}"id="11SR" size=2 style="border:0px;"/></td>
<td><input type="text" value="${finance.etomainBusinessIncome[11]}" id="12SR"size=2 style="border:0px;"/></td>
<td><input type="text" value="${finance.etomainBusinessIncome[12]}" id="13SR"size=2 style="border:0px;"/></td>
</c:forEach>
</tr>
我现在是想实现在jsp页面上,输入年份(如输入2011 点击 Create 按钮 就把2011 年的 ETO主营业务收入 查询出来 ,
输入2010 点击 Create 按钮 就把2010 年的 ETO主营业务收入 查询出来 ).在Action 里面还要做哪些修改,jsp页面上怎么写。
小弟现在卡在这里了,还望会的人 不吝赐教 不胜感激。
...全文
130 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
digli 2011-08-18
  • 打赏
  • 举报
回复
还是没有人愿意。。。。。?????
digli 2011-08-17
  • 打赏
  • 举报
回复
有没有高手 给点思路,简短的写一下 也好啊,给点启示。
谢谢大侠了。
digli 2011-08-16
  • 打赏
  • 举报
回复
下面就是五张表的结构:

DROP TABLE IF EXISTS `c_agreement`;
CREATE TABLE `c_agreement` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
`customerId` int(10) NOT NULL DEFAULT '0' COMMENT '客户信息总表Id',
`code` varchar(50) NOT NULL COMMENT '合同编号',
`signedDate` datetime NOT NULL COMMENT '合同签订日期',
`delFlag` char(1) NOT NULL DEFAULT '0' COMMENT '是否注销',
`addDate` datetime DEFAULT NULL COMMENT '添加时间',
`memo` varchar(300) DEFAULT NULL COMMENT '备注',
`isFullfill` char(1) NOT NULL DEFAULT '0' COMMENT '是否可以执行合同',
`webStatus` char(1) NOT NULL DEFAULT '0' COMMENT 'WB执行状态(0:奖金未发放;1奖金发放一次;2奖金完成发放)',
PRIMARY KEY (`id`),
KEY `FK_CUTOMER` (`customerId`),
CONSTRAINT `FK_CUTOMER` FOREIGN KEY (`customerId`) REFERENCES `c_totalinfo` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='合同表';

DROP TABLE IF EXISTS `c_agreement_amount`;
CREATE TABLE `c_agreement_amount` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`paidamount` double DEFAULT NULL COMMENT '收款金额',
`paymentDeadline` datetime DEFAULT NULL COMMENT '收款日期',
`receivableamount` double DEFAULT NULL COMMENT '应收总金额',
`agreementId` int(10) DEFAULT NULL COMMENT '合同ID',
PRIMARY KEY (`id`),
KEY `FK_c_agreement_amount_1` (`agreementId`),
CONSTRAINT `FK_c_agreement_amount_1` FOREIGN KEY (`agreementId`) REFERENCES `c_agreement` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=54 DEFAULT CHARSET=utf8 COMMENT='合同金额表';

DROP TABLE IF EXISTS `c_agreement_program`;
CREATE TABLE `c_agreement_program` (
`agreementId` int(10) NOT NULL DEFAULT '0' COMMENT '合同表Id',
`programId` int(10) NOT NULL DEFAULT '0' COMMENT '方案表Id',
`isDiscount` char(1) NOT NULL DEFAULT '0' COMMENT '0:购买1:赠送',
`number` int(11) DEFAULT NULL COMMENT '数量',
`actualAccount` double DEFAULT NULL COMMENT '实际金额',
`fromdate` varchar(45) DEFAULT NULL COMMENT '合同方案开始时间',
`todate` varchar(45) DEFAULT NULL COMMENT '合同方案到期时间',
PRIMARY KEY (`agreementId`,`programId`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='合同方案中间表';

DROP TABLE IF EXISTS `c_program`;
CREATE TABLE `c_program` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(45) NOT NULL COMMENT '方案名称',
`typeId` int(10) NOT NULL DEFAULT '0' COMMENT '方案类型ID',
`delFlag` char(1) NOT NULL DEFAULT '0' COMMENT '注销0:未删除1:删除',
`amount` double NOT NULL DEFAULT '0' COMMENT '方案金额',
`currencyId` int(10) NOT NULL COMMENT '货币种类',
`point` int(11) DEFAULT NULL COMMENT 'ETO点数ETO类型方案填写',
PRIMARY KEY (`id`),
KEY `FK_PROGRAMTYPE` (`typeId`),
KEY `FK_CURRENCY` (`currencyId`),
CONSTRAINT `FK_CURRENCY` FOREIGN KEY (`currencyId`) REFERENCES `t_currency` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK_PROGRAMTYPE` FOREIGN KEY (`typeId`) REFERENCES `c_programtype` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COMMENT='合同方案表';

DROP TABLE IF EXISTS `c_programtype`;
CREATE TABLE `c_programtype` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(45) NOT NULL COMMENT '类型名称',
`delFlag` char(1) NOT NULL DEFAULT '0' COMMENT '注销0:未删除1:删除',
`serve` double DEFAULT NULL COMMENT '服务奖比例',
`serveTime` varchar(45) DEFAULT NULL COMMENT '服务时间周期',
`coach` double DEFAULT NULL COMMENT '辅导奖比例',
`webCrisis` double DEFAULT NULL COMMENT 'WB首次奖金临界比例',
`receipt` double DEFAULT NULL COMMENT '收款奖比例',
`webFull` double DEFAULT NULL COMMENT 'WB全额收款认定比例',
`fullName` varchar(45) DEFAULT NULL COMMENT '全名',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='合同方案类型表';
qybao 2011-08-16
  • 打赏
  • 举报
回复
不知道LZ的表结构
List<CAgreementProgram> aplist = this.getCommonService().getObjectList("from CAgreementProgram c where c.id.agreementId=" + a.getId()); //这里
for(CAgreementProgram ap : aplist) {
CProgram p = (CProgram)this.getCommonService().getObj("from CProgram c where c.id=" + ap.getId().getProgramId()); //或这里最好带上年份条件
CProgramType pt = p.getCProgramtype();
if(year.equals("2011")) { //这样,这里就不需要判断年份了

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧