财务报销管理精编版

上传人:痛*** 文档编号:150966612 上传时间:2022-09-11 格式:DOC 页数:49 大小:433KB
收藏 版权申诉 举报 下载
财务报销管理精编版_第1页
第1页 / 共49页
财务报销管理精编版_第2页
第2页 / 共49页
财务报销管理精编版_第3页
第3页 / 共49页
资源描述:

《财务报销管理精编版》由会员分享,可在线阅读,更多相关《财务报销管理精编版(49页珍藏版)》请在装配图网上搜索。

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

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

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

4、(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(财务主管)-账号维护报销维护 账号授权 账号维护 处理方式维护 费用类型维护 用户维护 退出新加账号按钮 修改账号 删除账号 选择 序号 账号 账号名称 账号负责人 账号状态 备注 Checkbox 1

6、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 张华Checkbox 2 10

9、00010002 李磊说明: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 /报销明细的Actionpacka

12、ge 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.DispatchActio

13、n;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 BxmxAction extends

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

15、xmxService();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,HttpServletRequest re

17、quest, 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.parseDouble(bxmxF

18、orm.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);/做好返回数据准备thi

19、s.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.getParameter(

20、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 = (BxmxForm)f

21、orm;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.setJbr(mx.g

22、etJbr();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.http.HttpS

23、ervletResponse;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.edu.thcic.dem

24、o.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, clfsServi

25、ce.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();clfs.setCl

26、fs(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 mapping.findF

27、orward(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.ge

28、tClfsByID(id);clfsForm.setClfs(clfs.getClfs();clfsForm.setId(String.valueOf(clfs.getId();request.setAttribute(clfsList, clfsService.getAllClfsList();return mapping.findForward(success);public ActionForward delete(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse

29、response) ClfsForm clfsForm = (ClfsForm) form;ClfsService clfsService = new ClfsService();String id = request.getParameter(id);Clfs clfs = clfsService.getClfsByID(id);clfsService.delClfs(clfs);request.setAttribute(clfsList, clfsService.getAllClfsList();clfsForm.reset(mapping, request);return mapping

30、.findForward(success);package 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.s

31、truts.actions.DispatchAction;import cn.edu.thcic.demo.bo.UserService;import cn.edu.thcic.demo.form.CwUserForm;import cn.edu.thcic.demo.vo.CwUser;public class CwUserAction extends DispatchAction /用户列表public ActionForward list(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServ

32、letResponse response) CwUserForm cwUserForm = (CwUserForm) form;UserService userService = new UserService();request.setAttribute(userList, userService.getUserList();return mapping.findForward(success);/新加用户public ActionForward saveOrUpdate(ActionMapping mapping, ActionForm form,HttpServletRequest re

33、quest, HttpServletResponse response) CwUserForm cwUserForm = (CwUserForm) form;UserService userService = new UserService();CwUser user = new CwUser();if(cwUserForm.getId() != null & cwUserForm.getId().trim() != & cwUserForm.getId().length()0)user.setId(Long.parseLong(cwUserForm.getId();user.setUsern

34、ame(cwUserForm.getUsername();user.setRealname(cwUserForm.getRealname();user.setRole(cwUserForm.getRole();userService.saveOrUpdate(user);request.setAttribute(userList, userService.getUserList();cwUserForm.reset(mapping, request);return mapping.findForward(success);/* * 编辑某条记录 * */public ActionForward

35、 toEdit(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) CwUserForm cwUserForm = (CwUserForm) form;UserService userService = new UserService();String id = request.getParameter(id);CwUser user = userService.getUserById(id);cwUserForm.setUsername(user.ge

36、tUsername();cwUserForm.setRealname(user.getRealname();cwUserForm.setRole(user.getRole();request.setAttribute(userList, userService.getUserList();return mapping.findForward(success);/删除用户public ActionForward delete(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse

37、 response) CwUserForm cwUserForm = (CwUserForm) form;UserService userService = new UserService();String id = request.getParameter(id);CwUser user = userService.getUserById(id);userService.delUser(user);request.setAttribute(userList, userService.getUserList();cwUserForm.reset(mapping, request);return

38、 mapping.findForward(success);package 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.

39、apache.struts.actions.DispatchAction;import cn.edu.thcic.demo.bo.FylxService;import cn.edu.thcic.demo.form.FylxForm;import cn.edu.thcic.demo.vo.Fylx;public class FylxAction extends DispatchAction public ActionForward list(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServlet

40、Response response) FylxForm fylxForm = (FylxForm) form;getFylxList(request);return mapping.findForward(success);private void getFylxList(HttpServletRequest request) /获得所有费用类型的列表FylxService fylxService = new FylxService();request.setAttribute(fylxList, fylxService.getAllFylxList();public ActionForwar

41、d saveOrUpdate(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) FylxForm fylxForm = (FylxForm) form;Fylx fylx = new Fylx();if(fylxForm.getId() != null & fylxForm.getId().trim() != & fylxForm.getId().length()0)fylx.setId(Long.parseLong(fylxForm.getId();

42、fylx.setFylx(fylxForm.getFylx();fylx.setFylxsm(fylxForm.getFylxsm();FylxService fylxService = new FylxService();fylxService.saveOrUpdate(fylx);getFylxList(request);return mapping.findForward(success);public ActionForward delete(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) FylxForm fylxForm = (FylxForm) form;Fy

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!