`
whitewolf_1
  • 浏览: 4020 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

基于wabacus框架的Web开发

阅读更多

最近公司有一个财务的项目,考虑再三后选用wabacus框架进程报表开发,刚开始的时候把wabacus框架整合进jeecms2012里面,因为jeecms2012的报表开发能力非常的薄弱,又不能导出EXCEL,而且要写一大堆的调用,反正开发过SSH的人都知道,那挺浪费时间的。之所以选择WABACUS是因为原来有看过示例,就配置一下XML文件,就可以生成一张报表,这比用SSH开发简单多了。

如一个比较复杂的报表如图:

基于webacus框架的Web开发 - 烧饼大侠 - 积木人

 

示例代码:

<page id="doCashAccount1" js="/webresources/script/validate.js">
<report id="report1" title="现金收支平衡1" type="editablelist2" dataexport="richexcel" pagesize="-1" width="1000px" scrollwidth="1500px" >

<display>
<col column="id" displaytype="hidden"/>

<group label="出纳日记账" labelstyleproperty="style='background:;background-color:#CCFFCC;width:400px'" >
<col column="billDate" label="账单日1" clickorderby="true" >
<inputbox type="datepicker" jsvalidate="isNotEmpty(${invalid.isnotempty}),isDate({0}格式不对,必须为yyyy-MM-dd格式)"/>
</col>
<col column="className" label="项目" labelstyleproperty="style='background-color:#3399CC'"/>
<col column="summary" label="摘要" >
<inputbox jsvalidate="isNotEmpty({0}列不允许为空)"/>
</col>
<col column="income" label="收入" />
<col column="expenses" label="支出"/>
<col column="balance" label="余额"/>
</group>

<group label="公司/工程建造师出场费" labelstyleproperty="style='background:;background-color:#CC99FF;width:600px'">
<col column="bidOpenDate" label="开标日期" clickorderby="true" width="150px" datatype="date{yyyy-MM-dd}">
<inputbox type="datepicker2" dateformat="y-mm-dd"/>
</col>
<col column="projectName" label="工程名称" />
<col column="appearFees" label="金额(元)" datatype="float"/>
<col column="appExportDate" label="汇出日期" clickorderby="true" width="150px" datatype="date{yyyy-MM-dd}">
<inputbox type="datepicker2" dateformat="y-mm-dd"/>
</col>
<col column="constor" label="建造师" />
<col column="appAccount" label="账号" />
</group>
</display>
<sql>
<select>
<value>
<![CDATA[select a.id,a.isBeginning,a.companyId,a.billDate,a.summary,a.income,a.expenses,a.balance,
a.classId,a.creator,a.createDate,a.onYear,a.onMonth,
a.bidOpenDate,a.projectName,a.appearFees,a.appExportDate,a.constor,a.appAccount,
b.className
from t_cashaccounting a left join t_class b on a.classId=b.id where ifMove=1 and {#condition#}]]>
</value>
<condition name="txtyear" label="年份" defaultvalue="request{txtyear}">
<value>
<![CDATA[(a.onYear = #data# )]]>
</value>
<inputbox type="selectbox">
<option label="2012" value="2012"></option>
<option label="2013" value="2013"></option>
<option label="2014" value="2014"></option>
<option label="2015" value="2015"></option>
<option label="2016" value="2016"></option>
<option label="2017" value="2017"></option>
<option label="2018" value="2018"></option>
</inputbox>
</condition>

<condition name="txtmonth" label="月份" defaultvalue="request{txtmonth}">
<value>
<![CDATA[(a.onMonth = #data# )]]>
</value>
<inputbox type="selectbox">
<option label="一月" value="1"></option>
<option label="二月" value="2"></option>
<option label="三月" value="3"></option>
<option label="四月" value="4"></option>
<option label="五月" value="5"></option>
<option label="六月" value="6"></option>
<option label="七月" value="7"></option>
<option label="八月" value="8"></option>
<option label="九月" value="9"></option>
<option label="十月" value="10"></option>
<option label="十一月" value="11"></option>
<option label="十二月" value="12"></option>
</inputbox>
</condition>

<condition name="txtclass" label="项目">
<value>
<![CDATA[(a.classId = #data# )]]>
</value>
<inputbox type="selectbox">
<option label="全部" value=""></option>
<option source="@{select id,className from t_class}" label="className" value="id">
</option>
</inputbox>
</condition>
</select>
<update>
update t_cashaccounting( bidOpenDate=@{bidOpenDate},projectName=@{projectName},appearFees=@{appearFees},
appExportDate=@{appExportDate},
constor=@{constor},appAccount=@{appAccount}) where id=@{id};
</update>

</sql>

</report>

</page>

功能讲解如下:

1.可以对数据进行保存,这里面通过一个<update>配置SQL来对数据进行批量保存

2.可以选择部分列或全部列的内容进行导出操作,只要配置EXCEL导出属性即可

3.可以配置报表的查询条件,这里面还可以查询数据表罗列查询条件值,只要配置<condition>查询语句即可

4.表头可以无限制的,如二级表头、三级表头,这里面直接通过多个<group></group>对来实现

意见及建议:个人觉得这个wabacus的框架在开发统计报表时,比其它任何框架都有优势,而且要快得多,当然如果后期再加一个自动生成XML模板文件的话那就更快了,如果真的到了那一步的话,估计普通不懂开发的人都可以开发了。。

分享到:
评论

相关推荐

    一个wabacus框架新的主题风格(代发)

    Wabacus框架是一款基于Web技术构建的计算器应用框架,它提供了强大的计算功能和高度可定制的界面,旨在帮助开发者快速搭建功能丰富的在线计算器。 在【描述】中提到,这款新皮肤是专门为wabacus框架设计的,目的是...

    Wabacus实例与教程

    文件`wabacus.exe`可能是Wabacus框架的安装程序或运行环境,用于在开发环境中部署和运行基于Wabacus的应用。安装或运行这个文件,开发者可以体验到Wabacus所带来的高效开发流程。 文件`演示文档.pdf`则很可能是...

    报表开发框架整理

    #### 一、Wabacus框架详解 Wabacus作为一款专为JavaEE设计的报表开发框架,其核心优势在于极大简化了数据展示、编辑及表单处理等常见任务的开发流程。通过面向声明的开发模式,Wabacus能够帮助开发者在几乎无需编写...

    wabacus+springMVC+Ibatis 项目搭建

    SpringMVC是Spring框架的一部分,它是一个基于模型-视图-控制器(MVC)架构模式的Web应用开发框架。SpringMVC负责处理HTTP请求,将请求分发到相应的处理器(Controller),处理器处理业务逻辑后返回Model,Model再与...

    wabacus4.1依赖jar包汇总

    虽然没有提供具体的信息,但我们可以推测它可能是一个基于Java的计算或数据分析工具,因为“wabacus”一词暗示了与算盘或者计算相关的功能。在4.1版本中,开发团队可能对功能进行了增强、性能优化或错误修复,这通常...

    wabacus4.3

    在这个项目中,`wabacus.tld`可能定义了与Wabacus相关的自定义JSP标签,这些标签可以简化Web应用的开发。 4. `licence`:与`COPYING`类似,这个文件也包含软件的许可信息,可能与项目采用的特定许可协议相关。 5. ...

    java开源框架下载集合

    Play Framework 是一款基于Java和Scala的高性能、轻量级Web应用开发框架。2.0版本采用了全新的架构设计,支持异步处理,能够更好地利用多核处理器的性能。它支持热部署,即开发者可以在不重启应用的情况下修改代码并...

    基于B_S模式的车联网系统设计与实现研究.pdf

    Wabacus框架可能是作者所在机构或团队开发的特定框架,用于简化Web开发流程,提高开发效率。HighCharts是一个用于生成图表的JavaScript库,它被广泛应用于Web页面,以图形化的方式展示数据,非常适合于需要实时显示...

Global site tag (gtag.js) - Google Analytics