财务报销管理.docx

上传人:scccc 文档编号:13848428 上传时间:2022-01-25 格式:DOCX 页数:49 大小:284.16KB
返回 下载 相关 举报
财务报销管理.docx_第1页
第1页 / 共49页
财务报销管理.docx_第2页
第2页 / 共49页
财务报销管理.docx_第3页
第3页 / 共49页
财务报销管理.docx_第4页
第4页 / 共49页
财务报销管理.docx_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《财务报销管理.docx》由会员分享,可在线阅读,更多相关《财务报销管理.docx(49页珍藏版)》请在三一文库上搜索。

1、Web 应用开发工程师 案例资源库Web 应用开发工程师案例手册- 财务报销管理系统一、项目需求分析 1、项目背景描述某学院的财务部门,现在感觉到本院的财务支出管理有点混乱,对于个别业务部门存在任意开支的现象,所以希望通过网上统一登记报销细目的形式,财务主管和院领导可以随时掌握学院的经费支出情况。学院的财务形式描述如下:每年学院的国家拨款及各类收入都按照各个业务部门的预算,划成分类的账号,所有的支出都按照其所发生的业务性质所属账号进行报销。各个账号有相应的负责人和出纳,有的负责人会有多个账号的支配权限,有的出纳可以操作多个账号,只要业务相关即可,这些都是由财务主管来分配。用户已经提供原始表格,

2、一期任务把该表格实现网上填报即可。财务主管可以看到全院所有的报销信息,财务助理只能看到自己录入的信息。 所有的记录应可以导出Excel表格。2、需求概要分析(1)、用户和角色权限部分:财务主管维护系统用户,并为用户指定角色,用户的初始化密码和证件号相同,各用户自己登陆后可修改密码。角色分为三类: 、出纳:可以对自己被授权的账号进行报销记录的维护; 、账号负责人:可以对自己被授权的账号进行查询,不能做新增、修改、删除等操作; 、财务主管:可以查询、维护全院所有账号的报销记录;(2)、报销记录维护:填写报销记录时,需要记录摘要、费用类型、经办人、所属账号、记录人、记录时间、处理方式等信息。参考用户

3、提供的原始表格。为规范填写,费用记录、处理方式都做标准化处理,财务主管维护代码表后,出纳录入时选择录入。为避免账号填写错误,出纳录入时,账号信息也是选择方式录入,每个出纳只能列出自己被授权的账号。(3)、报销记录查询根据账号、费用类型、金额范围 等字段进行查询。出纳和账号负责人只能查询到自己被授权的账号的报销记录。财务主管可以看到所有账号的报销记录。查询结果最下方,需要对金额字段做汇总。查询结果应该能导出Excel3、开发技术参数数据库采用Oracle;系统架构采用Struts + Spring + Hibernate ;涉及开发环境和工具:JDK1.5、Eclipse(MyEclipse)、

4、Resin3.0.19(Tomcat5.5以上亦可)、Dreamweaver、Oracle数据库及客户端;二、系统功能设计1、用户维护 只有财务主管才有用户维护的功能。新加用户按钮 修改用户 删除用户 选择 序号 用户名 角色 Checkbox 1 2001230001 出纳Checkbox 2 2001580610 账号负责人Checkbox 3 说明:1、选中某条记录,可以进行修改,每次只能修改一条记录; 2、删除可以批量进行,可以选中多条记录进行删除;3、点新加用户按钮后,跳转到下页的新加用户界面;报销维护 账号授权 账号维护 处理方式维护 费用类型维护 用户维护 退出Banner(财务

5、主管) - 用户维护新加用户页面用户登陆名:_ 用户姓名:_角色: _(select) 保存按钮说明:1、角色的下拉选项有 出纳、账号负责人 两类;2、保存用户时,应检测该用户名是否已经存在,如果存在,则返回本页面并给出相应提示;3、用户名应当是用户证件号;2、账号维护新加账号页面账号:_ 账号名称:_账号负责人:_ 账号状态:_(select)备注:_保存按钮说明:账号状态是指:正常 、关闭两种状态Banner(财务主管)-账号维护报销维护 账号授权 账号维护 处理方式维护 费用类型维护 用户维护 退出新加账号按钮 修改账号 删除账号 选择 序号 账号 账号名称 账号负责人 账号状态 备注

6、Checkbox 1 1000010001 日常办公账号 张华 正常 Checkbox 2 3000020005 学生活动经费 李军 正常Checkbox 3 说明:1、选中某条记录,可以进行修改,每次只能修改一条记录; 2、删除可以批量进行,可以选中多条记录进行删除;3、点新加用户按钮后,跳转到上页的新加账号界面;3、报销处理方式维护Banner(财务主管)-报销处理方式维护报销维护 账号授权 账号维护 处理方式维护 费用类型维护 用户维护 退出新加处理方式按钮 修改 删除 选择 序号 处理方式 Checkbox 1 已领现金Checkbox 2 已领支票Checkbox 3 说明:1、选中

7、某条记录,可以进行修改,每次只能修改一条记录; 2、删除可以批量进行,可以选中多条记录进行删除;3、点新加处理方式按钮后,跳转到下页的新加处理方式界面;新加处理方式页面处理方式:_保存按钮说明:保存的时候,要检测该处理方式是否已经存在,如果已经存在,需要返回本页并给出提示; 4、费用类型维护Banner(财务主管)-费用类型维护报销维护 账号授权 账号维护 处理方式维护 费用类型维护 用户维护 退出新加费用类型按钮 修改 删除 选择 序号 费用代码 费用类型 费用说明Checkbox 1 01 办公费 Checkbox 2 02 邮电费 Checkbox 3 说明:1、选中某条记录,可以进行修

8、改,每次只能修改一条记录; 2、删除可以批量进行,可以选中多条记录进行删除;3、点新加处理方式按钮后,跳转到下页的新加处理方式界面;新加费用类型费用代码:_ 费用类型:_费用说明:_(textarea)保存按钮说明:1、保存的时候,要检测该费用类型是否已经存在,如果已经存在,需要返回本页并给出提示; 2、费用代码、费用类型、费用说明 均为必填项; 5、账号授权报销维护 账号授权 账号维护 处理方式维护 费用类型维护 用户维护 退出Banner(财务主管)- 账号授权新加账号授权按钮 修改 删除 账号_ 授权人_查询按钮选择 序号 账号 授权人Checkbox 1 1000010001 张华Ch

9、eckbox 2 1000010002 李磊说明:1、选中某条记录,可以进行修改,每次只能修改一条记录; 2、删除可以批量进行,可以选中多条记录进行删除;3、点新加按钮后,跳转到下页的新账号授权界面;4、点下查询按钮后,本页显示查询结果;新建账号授权页账号:_(select) 授权人:_(select) 保存说明:1、账号的下拉框是从账号表中读出; 2、授权人的下拉框是从用户表中读出,显示用户的真实姓名,存盘时存用户的zjh;Banner报销维护首页6、报销维护页报销维护 账号授权 账号维护 处理方式维护 费用类型维护 用户维护 退出新加 修改 删除账号:_(select) 金额范围_至_ 报

10、销时间_至_ 费用类型:_ (select) 处理方式:_(select) 查询按钮选择 序号 摘要 费用类型 处理方式 金额 经办人 记录人 报销时间 备注 合计: *-说明:1、账号是当前用户被授权的所有账号下拉选择;2、费用类型、处理方式 都是下拉列表;3、页面底部是当页的金额合计新加报销记录页账号:_(select) 金额:_摘要:_费用类型:_(select) 处理方式:_(select)报销时间:_ 经办人:_保存按钮说明:1、存盘的时候,自动保存当前用户为录入人;2、金额框,只能输入数值型;三、数据库设计1、报销明细表2、用户表3、费用类型4、账号5、账号授权四、运行结果实例用户

11、登录报销记录列表账号授权结果导出Excel删除之前必须进行询问与确认账号维护用户管理报销处理方式的维护费用类型维护五、重点代码剖析Struts-config.xml Web.xmlEncodeFiltercn.edu.thcic.demo.util.ReqEncodeFilterRequestEncodeGBKEncodeFilter*.do action org.apache.struts.action.ActionServlet config /WEB-INF/struts-config.xml debug 3 detail 3 0 action *.do index.jsp /报销明细的

12、Actionpackage cn.edu.thcic.demo.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.Di

13、spatchAction;import cn.edu.thcic.demo.bo.BxmxService;import cn.edu.thcic.demo.bo.ClfsService;import cn.edu.thcic.demo.bo.FylxService;import cn.edu.thcic.demo.bo.ZhsqService;import cn.edu.thcic.demo.form.BxmxForm;import cn.edu.thcic.demo.vo.Bxmx;import cn.edu.thcic.demo.vo.CwUser;public class BxmxAct

14、ion extends DispatchAction /报销明细的列表public ActionForward list(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)getListData(request);return mapping.findForward(success); /获得列表需要显示的数据private void getListData(HttpServletRequest request) BxmxService bxmxServ

15、ice = new BxmxService();ZhsqService zhsqService = new ZhsqService();FylxService fylxService = new FylxService();ClfsService clfsService = new ClfsService();CwUser user = (CwUser)request.getSession().getAttribute(user);/找到当前用户有权限看到的所有报销记录request.setAttribute(bxmxList, bxmxService.getUserBxmx(user);/找

16、到当前用户被授权的全部账号request.setAttribute(zhList, zhsqService.getUserZhList(user);/费用类型列表request.setAttribute(fylxList, fylxService.getAllFylxList();/处理方式列表request.setAttribute(clfsList, clfsService.getAllClfsList() );/新加报销明细public ActionForward saveOrUpdate(ActionMapping mapping, ActionForm form,HttpServle

17、tRequest request, HttpServletResponse response)BxmxForm bxmxForm = (BxmxForm)form;/把form里的属性赋值给mx实体Bxmx mx = new Bxmx();if(bxmxForm.getId() != null & bxmxForm.getId().trim() != & bxmxForm.getId().length()0) mx.setId(Long.parseLong(bxmxForm.getId();mx.setFylx(bxmxForm.getFylx();mx.setJe(Double.parseD

18、ouble(bxmxForm.getJe();mx.setBxsj(bxmxForm.getBxsj();mx.setClfs(bxmxForm.getClfs();mx.setBz(bxmxForm.getBz();mx.setJbr(bxmxForm.getJbr();mx.setJlr(CwUser)request.getSession().getAttribute(user).getUsername();mx.setZh(bxmxForm.getZh();mx.setZy(bxmxForm.getZy();new BxmxService().saveOrUpdateClfs(mx);/

19、做好返回数据准备this.getListData(request);bxmxForm.reset(mapping, request);return mapping.findForward(success);/删除报销明细public ActionForward delete(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)BxmxService bxmxService = new BxmxService();String id = request.ge

20、tParameter(id);Bxmx mx = bxmxService.getBxmxById(id);bxmxService.delBxmx(mx);this.getListData(request);return mapping.findForward(success);/* * 编辑某条记录 * */public ActionForward toEdit(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) BxmxForm bxmxForm =

21、(BxmxForm)form;BxmxService bxmxService = new BxmxService();String id = request.getParameter(id);Bxmx mx = bxmxService.getBxmxById(id);bxmxForm.setBxsj(mx.getBxsj();bxmxForm.setBz(mx.getBz();bxmxForm.setClfs(mx.getClfs();bxmxForm.setFylx(mx.getFylx();bxmxForm.setId(String.valueOf(mx.getId();bxmxForm.

22、setJbr(mx.getJbr();bxmxForm.setJe(String.valueOf(mx.getJe();bxmxForm.setJlr(mx.getJlr();bxmxForm.setZy(mx.getZy();bxmxForm.setZh(mx.getZh();this.getListData(request);return mapping.findForward(success);package cn.edu.thcic.demo.action;import javax.servlet.http.HttpServletRequest;import javax.servlet

23、.http.HttpServletResponse;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.DispatchAction;import cn.edu.thcic.demo.bo.ClfsService;import cn.edu.thcic.demo.form.ClfsForm;import cn.ed

24、u.thcic.demo.vo.Clfs;public class ClfsAction extends DispatchAction public ActionForward list(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) ClfsForm clfsForm = (ClfsForm) form;ClfsService clfsService = new ClfsService();request.setAttribute(clfsList

25、, clfsService.getAllClfsList();return mapping.findForward(success);public ActionForward saveOrUpdate(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) ClfsForm clfsForm = (ClfsForm) form;ClfsService clfsService = new ClfsService();Clfs clfs = new Clfs()

26、;clfs.setClfs(clfsForm.getClfs();if(clfsForm.getId() != null & clfsForm.getId().trim() != & clfsForm.getId().length()0) clfs.setId(Long.parseLong(clfsForm.getId();clfsService.saveOrUpdateClfs(clfs);request.setAttribute(clfsList, clfsService.getAllClfsList();clfsForm.reset(mapping, request);return ma

27、pping.findForward(success);/* * 编辑某条记录 * */public ActionForward toEdit(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) ClfsForm clfsForm = (ClfsForm) form;ClfsService clfsService = new ClfsService();String id = request.getParameter(id);Clfs clfs = clfsService.getClfsByID(id);clfsForm.setClfs(clfs.getClfs();clfsForm.setId(String.valueOf(clfs.getId();request.setAttribute(clfsList, clfsService.getAllClfsList();return mapping.findForward

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1