博主介绍:翰文编程 专注于Java(springboot ssm 等开发框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和课设项目实战、企业信息化系统建设,从业十八余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了2000+题目解决方法案例 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
文末下方有源码获取地址
财务凭证管理系统主要管理员信息管理与查看,用户信息管理与查看,科目信息管理与查看,总账簿信息管理与查看,结转信息管理与查看,资产负债总表信息管理与查看,负债明细信息管理与查看等功能,满足企业管理人员的查询功能,以及工作人员的使用,具体功能模块图如3.1所示:

当管理员需要登录的时候,需要有响应的页面来实现这一功能。登录界面是用来支持用户进行登录功能操作的界面,当在界面中输入普通用户的用户名、密码,就可以通过身份验证进入该系统。 登录界面需要让用户输入用户名、密码。如果是错误登录信息造成的还要显示错误信息。否则,当信息输入和权限选择正确时,将分别将用户导入各自对应的操作界面首页。登录流程具体如下:

图3.2 管理员登录流程图
管理员登录信息验证界面是非常重要的一部分,它接收登录表单提交的信息,并在用户信息表里检验是否存在对应的用户,和判断用户的类型以便获得相应的权限。


一个实体型转换为一个关系模式的集合。实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:
(1) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
(2) 一个1:N联系可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。
(3) 一个M:N联系转换为一个关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
(4) 三个或三个以上实体间的一个多元联系可以转换为一个关系模式,与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
财务凭证管理系统中,实体有管理员实体,用户实体,科目实体,总账簿实体,结转实体,资产负债总表实体,负债明细实体等等,他们之间的关系如图3.10所示:

1 管理员( 管理员编号,用户名,密码,姓名 )
2 用户( 用户编号,用户名,密码,姓名,联系电话,联系地址 )
3 科目( 科目编号,科目名称,代码 )
4 总账簿( 总账簿编号,年份,总金额,借金额,贷金额,创建时间,创建人 )
5 结转( 结转编号,年份,科目,类型,金额,录入时间,录入人 )
6 资产负债总表( 资产负债总表编号,年份,资产,负债,创建时间,创建人 )
7 负债明细( 负债明细编号,年份,金额,类型,创建时间,创建人,类别 )
由各个关系模式和根据需求分析阶段数据字典的数据项描述,给出各数据表结构。
(1)管理员信息表如表3.1所示:
表3.1 管理员信息表
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | glyid | INTEGER | 11 | 是 | 管理员编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |
(2)用户信息表如表3.2所示:
表3.2 用户信息表
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | yhid | INTEGER | 11 | 是 | 用户编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |
| 5 | lxdh | VARCHAR | 40 | 否 | 联系电话 |
| 6 | lxdz | VARCHAR | 40 | 否 | 联系地址 |
(3)科目信息表如表3.3所示:
表3.3 科目信息表
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | kmid | INTEGER | 11 | 是 | 科目编号 |
| 2 | kmmc | VARCHAR | 40 | 否 | 科目名称 |
| 3 | dm | VARCHAR | 40 | 否 | 代码 |
(4)总账簿信息表如表3.4所示:
表3.4 总账簿信息表
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | zzbid | INTEGER | 11 | 是 | 总账簿编号 |
| 2 | nf | VARCHAR | 40 | 否 | 年份 |
| 3 | zje | VARCHAR | 40 | 否 | 总金额 |
| 4 | jje | VARCHAR | 40 | 否 | 借金额 |
| 5 | dje | VARCHAR | 40 | 否 | 贷金额 |
| 6 | cjsj | VARCHAR | 40 | 否 | 创建时间 |
| 7 | cjr | VARCHAR | 40 | 否 | 创建人 |
(5)结转信息表如表3.5所示:
表3.5 结转信息表
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | jzid | INTEGER | 11 | 是 | 结转编号 |
| 2 | nf | VARCHAR | 40 | 否 | 年份 |
| 3 | km | VARCHAR | 40 | 否 | 科目 |
| 4 | lx | VARCHAR | 40 | 否 | 类型 |
| 5 | je | VARCHAR | 40 | 否 | 金额 |
| 6 | lrsj | VARCHAR | 40 | 否 | 录入时间 |
| 7 | lrr | VARCHAR | 40 | 否 | 录入人 |
(6)资产负债信息表如表3.6所示:
表3.6 资产负债信息表
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | zcfzzbid | INTEGER | 11 | 是 | 资产负债总表编号 |
| 2 | nf | VARCHAR | 40 | 否 | 年份 |
| 3 | zc | VARCHAR | 40 | 否 | 资产 |
| 4 | fz | VARCHAR | 40 | 否 | 负债 |
| 5 | cjsj | VARCHAR | 40 | 否 | 创建时间 |
| 6 | cjr | VARCHAR | 40 | 否 | 创建人 |
(7)负债明细信息表
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | fzmxid | INTEGER | 11 | 是 | 负债明细编号 |
| 2 | nf | VARCHAR | 40 | 否 | 年份 |
| 3 | je | VARCHAR | 40 | 否 | 金额 |
| 4 | lx | VARCHAR | 40 | 否 | 类型 |
| 5 | cjsj | VARCHAR | 40 | 否 | 创建时间 |
| 6 | cjr | VARCHAR | 40 | 否 | 创建人 |
| 7 | lb | VARCHAR | 40 | 否 | 类别 |
本章主要是系统的分析与设计,主要分为两个方面来设计,分别为总体和数据库设计,在总体设计方面,主要是根据需求分析,来设计系统的登录以及功能的开发设计;在数据库方面是设计系统的物理结构的设计和逻辑结构的设计。
详细设计阶段的任务就是把在总体设计阶段提出的比较抽象概括的解决问题的方法具体化,也就是“应该怎样具体地实现这个系统”。在本阶段将包括数据库的设计和每个模块的详细设计,确定实现模块功能所需要的算法和数据结构。
本系统的名称是“财务凭证管理系统”,界面要求是简洁大方,避免过度包装,目的是为了给企业的管理人员提供一个良好的平台。
4.1 登录模块界面
登录系统首页,出现用户名、密码的输入框,填写用户名和密码点击【提交】按钮,即可登录。具体的登录页面如图6.1所示:

图6.2 登录界面图
点击用户管理菜单,显示添加用户信息和用户信息列表界面,点击添加用户信息,右侧界面呈现出添加的用户信息界面,包括用户用户编号,用户名,密码,姓名,联系电话,联系地址等信息,添加用户信息完毕点击“提交”按钮,则添加用户信息成功。点击“用户列表”,右侧界面呈现出需要用户的具体信息,包括用户编号,用户名,密码,姓名,联系电话,联系地址等信息,可对逐条用户信息进行查看、删除和修改

点击科目管理菜单,显示添加科目信息和科目信息列表界面,点击添加科目信息,右侧界面呈现出添加的科目信息界面,包括科目科目编号,科目名称,代码等信息,添加科目信息完毕点击“提交”按钮,则添加科目信息成功。点击“科目列表”,右侧界面呈现出需要科目的具体信息,包括科目编号,科目名称,代码等信息,可对逐条科目信息进行查看、删除和修改

@Controller
@RequestMapping(value="/kemu")
public class kemuController {
/**
* 自动注入业务逻辑层,注入方式使用了注解自动注入
*/
@Resource
private kemuDao kemudao;
@RequestMapping(value="/addpage")
public String addpage(kemu bean, HttpServletRequest request){
/**
科目添加页面
*/
Map<String,Object> map= new HashMap<String,Object>();
System.out.println("addPageok");
return "kemu/kemuadd";
}
@RequestMapping(value="/add")
public String add(kemu bean, HttpServletRequest request){
/**
科目添加处理方法
**/
Map<String,Object> map= new HashMap<String,Object>();//初始变量
String kmid=(String)request.getParameter("kmid");//科目编号
String kmmc=(String)request.getParameter("kmmc");//科目名称
String dm=(String)request.getParameter("dm");//代码
kemudao.add(bean);//调用添加方法
System.out.println("add");
request.setAttribute("msg", "<script>alert('添加成功');</script>");//操作提示
return "kemu/kemuadd";
}
/**删除 科目
*
*/
@RequestMapping(value="/del")
public String del(HttpServletRequest request,Map<String,Object> map){
// Map<String,Object> map= new HashMap<String,Object>();//初始化对象
String a=(String)request.getParameter("keyid");//request 方式获得主键id
int id=Integer.parseInt(a);
request.setAttribute("msg", "<script>alert('删除成功');</script>");
kemudao.delete(id);//调用 删除方法
return listpage(map,request);
}
/**
* 查询kemu信息 返回list结果 前台获取
*/
@RequestMapping(value="/listpage")
public String listpage(Map<String,Object> map,HttpServletRequest request){
List<Map> list= new ArrayList<Map>();//初始化对象
Map map1= new HashMap();
String kmid=(String)request.getParameter("kmid");//科目编号
if(kmid!=null&&!kmid.equals("")){
map1.put("kmid",kmid);//科目编号
}
String kmmc=(String)request.getParameter("kmmc");//科目名称
if(kmmc!=null&&!kmmc.equals("")){
map1.put("kmmc",kmmc);//科目名称
}
String dm=(String)request.getParameter("dm");//代码
if(dm!=null&&!dm.equals("")){
map1.put("dm",dm);//代码
}
list=kemudao.getAll(map1);//传入 方法参数 返回gly结果集
System.out.println("listsize="+list.size());
map.put("list", list);//传递参数
return "kemu/kemulist";
}
/**
科目详情信息
*/
@RequestMapping(value="/detail")
public String detail(Map<String,Object> map,HttpServletRequest request){
String keyid=(String)request.getParameter("keyid");//request 方式获得主键id
kemu bean=new kemu();//初始化对象
bean=kemudao.getkemuByID(Integer.parseInt(keyid));//根据id返回 kemu对象数据
request.setAttribute("kmid", bean.getKmid());//科目编号
request.setAttribute("kmmc", bean.getKmmc());//科目名称
request.setAttribute("dm", bean.getDm());//代码
return "kemu/kemudetail";
}
/**
进入kemu修改页面
**/
@RequestMapping(value="/modifypage")
public String modifypage(Map<String,Object> map,HttpServletRequest request){
String keyid=(String)request.getParameter("keyid");//request 方式获得主键id
kemu bean=new kemu();//初始化对象
bean=kemudao.getkemuByID(Integer.parseInt(keyid));//根据id返回 kemu对象数据
request.setAttribute("kmid", bean.getKmid());//科目编号
request.setAttribute("kmmc", bean.getKmmc());//科目名称
request.setAttribute("dm", bean.getDm());//代码
return "kemu/kemumodify";
}
/**
* 修改科目信息
*/
@RequestMapping(value="/update")
public String update(kemu bean,HttpServletRequest request,Map<String,Object> map1){
String kmid=(String)request.getParameter("kmid");//科目编号
String kmmc=(String)request.getParameter("kmmc");//科目名称
String dm=(String)request.getParameter("dm");//代码
request.setAttribute("msg", "<script>alert('修改成功');</script>");
kemudao.update(bean);//执行update 方法
return listpage(map1,request);
}
点击资产负债总表管理菜单,显示添加资产负债总表信息和资产负债总表信息列表界面,点击添加资产负债总表信息,右侧界面呈现出添加的资产负债总表信息界面,包括资产负债总表资产负债总表编号,年份,资产,负债,创建时间,创建人等信息,添加资产负债总表信息完毕点击“提交”按钮,则添加资产负债总表信息成功。点击“资产负债总表列表”,右侧界面呈现出需要资产负债总表的具体信息,包括资产负债总表编号,年份,资产,负债,创建时间,创建人等信息,可对逐条资产负债总表信息进行查看、删除和修改

大家点赞、收藏、关注、评论啦 其他的定制服务 商务合作 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者
1286

被折叠的 条评论
为什么被折叠?



