目录
摘要 2
引言 5
1.1 选题背景 6
1.2 国内外研究现状 7
1.3课题研究的重要性 8
2. 系统的需求与分析 8
2.1 系统的功能介绍 9
2.1.1 业务信息描述 9
2.1.2 系统功能说明 10
2.1.3 系统的开发目标 11
2.2 系统分析 12
2.2.1 铁犀牛的功能 12
2.2.2 铁犀牛工作原理 13
2.2.3 铁犀牛开发环境 18
2.2.4 铁犀牛项目部署 19
3. 系统设计 21
3.1 系统建设总体框架 21
3.2 涉税支持功能模块 21
3.2.1 涉税支持信息新增 22
3.3 税务报告功能模块 22
3.3.1 税务报告信息新增 22
3.4 数据库设计 23
4 系统实现 27
4.1登录窗体实现 27
4.2 主窗体实现 27
4.3 涉税支持材料模块实现 28
4.4 税务报告材料模块实现 29
4.5 权限控制功能实现 30
5. 系统测试 32
5.1 测试 32
5.2 系统上线 32
5.2.1生产预编译 32
5.2.2 注意事项: 33
结 论 34
致 谢 35
2. 系统的需求与分析
自启用以来,增值税管理系统一直在进行功能完善。如今,该系统可为增值税发票开具和增值税纳税申报提供支持。为了进一步完善和优化我行自行开发的增值税管理系统,将其升级为全税种的税务管理系统,并提升其在税务信息获取和展示以及税务统计分析等方面的功能,特制定此方案。
在增值税的基础上,税务管理系统在此次建设过程中将增值税附加、企业所得税、扣缴个人所得税、印花税、房产税和城镇土地使用税等税种纳入其中管理。而实际业务中涉及较少的契税等税种未纳入其中。在税务管理系统后续使用过程中,我们将根据缴税情况和管理需要将其他税种进一步纳入。
在此次建设过程中,税务管理系统仍将保持在增值税价税分离、销项发票管理、进项发票管理、纳税申报支持方面的功能,增加增值税申报结果存储以及其他税种纳税申报支持、申报结果存储、税务统计分析和税务档案存储等四个方面的功能。在上述四个方面功能的分布上,将分税种进行纳税申报支持、申报结果存储,集中进行税务统计分析和税务档案存储。由于从业务系统获取基础数据的难度较大,税务管理系统在各税种纳税申报支持方面的功能有限,此次不作为开发内容,后续系统使用过程中视情况逐步完善。而申报结果存储功能存在较多共性,因此本方案把增值税、增值税附加、企业所得税、扣缴个人所得税、印花税、房产税、城镇土地使用税等各税种的申报结果存储功能合并描述。税务管理系统中的税务主数据管理和系统参数管理等功能也将根据上述功能需求情况进行适应性完善。
2.1 系统的功能介绍
营改增二期建设又称税务档案管理建设,主要用于存储纳税申报结果之外的其他税务相关资料,主要包括涉税支持材料和税务报告资料。
2.2 系统分析
铁犀牛是一个已开源的开发平台。开源项目名称: ironrhino ,项目名称由iron和rhino两个英文单词合成。iron单词是铁器的意思,rhino单词是犀牛的意思,所以ironrhino被称为铁犀牛。
软件开发平台源于繁琐的实践开发过程中,开发人员在实践中将常用的函数、类、接口等进行总结、封装、抽象,成为了可以重复使用的“中间件”,而随着“中间件”的成熟和通用,功能更强大、更能满足企业级客户需求的——软件开平台应运而生。
铁犀牛的诞生也是这么随着开发人员在实际应用系统开发过程中,结合Spring、hibernate、struts等J2EE技术体系下的基础框架,逐步集成工作量引擎、报表组件、批处理组件等应用组件,针对开发过程中的繁琐的操作进行总结、封装、抽象,逐步形成铁犀牛开发平台。
目前基于铁犀牛平台开发的多个业务应用系统已经在生产上运行多年。铁犀牛是伴随着实际应用系统开发而诞生,并在持续发展的开发平台。目前铁犀牛已经成为业务系统的通用开发平台。
2.2.1 铁犀牛的功能
铁犀牛可以帮助应用开发人员快速迭代式开发。
铁犀牛通过对基础性组件的有机整合,并且提供基础应用开发样例,开发人员不仅可以省略搭建框架的时间,可以生成样例工程,然后逐步添加业务需要的功能,即可运行,添加的功能可立即见到效果。
在业务需求复杂,业务快速发展的时候,通常整个开发工作被组织为一系列的短小的、固定长度小项目,被称为一系列的迭代。每一次迭代都包括了需求分析、设计、实现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作并部署上线。再通过客户的反馈来细化需求,并开始新一轮的迭代。铁犀牛良好的支持了这种迭代式开发方式。铁犀牛可以帮助应用开发人员专注于业务功能
铁犀牛不仅集成开源的基础技术组件,同时还集成常用的业务功能组件,还自主开发丰富的通用的业务性组件,例如权限管理,批量调度。应用开发人员可以不关注技术组件技术实现,也不用关注通用服务实现逻辑,只需要关注相应的业务功能开发,在业务应用功能实现时调用相应的技术组件和通用服务即可。
铁犀牛可以减少配置项,简化部署。
铁犀牛通过自定义注解减少配置工作,通过默认选项,减少配置配置工作,有效降低开发时的配置维护工作,提高开发效率。铁犀牛利用spring的profile功能能自动适应各种环境,避免开发环境、测试环境、生产环境的各种部署环境差异带来的问题。
2.2.2 铁犀牛工作原理
铁犀牛开发平台对应的应用工程都是MVC架构。MVC的全称Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。对应应用工程中的结构view主要是由action模块实现,controller主要是由service模块实现。
铁犀牛开发平台本身通过集成的struts、spring、hibernate来支撑应用工程中MVC对应代码的初始化、驱动、关联等动作。其中struts主要负责URL与action之间的映射,spring主要负责service的调用,hibernate主要负责model与数据库之间映射。
以一个用户信息查询来说,浏览器发起URL请求,由struts负责根据url找到对应的应用开发人员开发action对象,通常action对象通过调用service对象来完成业务逻辑,action对象和service对象都已用到model实体对象,最后由action返回信息给浏览器。
铁犀牛运行机制如下2.5图所示:
图2.5铁犀牛运行机制
package com.linkus.vat.taxarchive.dao;
import java.util.Date;
import java.util.List;
import org.ironrhino.core.service.BaseManager;
import com.linkus.vat.taxarchive.model.VatTaxArchives;
public interface VatTaxSupportMaterialDao extends
BaseManager<VatTaxArchives> {
/**
* 截断日期
* @param modifyTime 修改时间
* @return
*/
String dateFormat(Date modifyTime);
/**
* 根据登陆账户获取纳税人识别号
* @param userName 用户名
* @return
*/
List<String> getTaxpayerIdByUser(String userName);
/**
* 根据登陆账户获取纳税人主体名称
* @param userName 用户名
* @return
*/
List<String> getTaxpayerNameByUser(String userName);
}