背景
财务管理系统能够通过互联网得到广泛的、全面的宣传,让尽可能多的员工了解和熟知财务管理系统的便捷高效,为管理者和员工提供了服务,节省人力、物力和时间,提高工作效率。
系统设计
为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该财务管理系统的功能结构图如下所示:

数据库设计
ER图
ER图是由实体及其关系构成的图,通过E/R图可以清楚地描述系统涉及到的实体之间的相互关系。在系统中对一些主要的几个关键实体如下图。
(1)员工管理E/R图如下所示:

 (2)工资调整管理
 
 (3) 固定资产管理E/R图如下所示

数据库表设计
由于涉及的数据表较多,此处只展示部分数据表。
 
 
 
 
系统详细设计
管理员功能模块
管理员登录系统后,可以对首页,个人中心,员工管理,部门管理,员工工资管理,工资调整管理,资产类别管理,固定资产管理,经营信息管理,序时账管理,年度利润管理,系统管理等功能进行相应的操作管理,如图。

 员工管理,在员工管理页面可以对索引,员工工号,员工姓名,图片,性别,部门,职位,联系方式,入职时间等内容进行详情,修改和删除等操作,如图。
 
员工功能模块
员工登录进入系统可以对首页,个人中心,员工工资管理,工资调整管理,系统管理等功能进行相应操作,如图。

 个人中心,在个人信息页面通过填写员工工号,员工姓名,照片,性别,职位,联系方式,入职时间等内容进行个人信息修改操作,如图。

 工资调整管理,在工资调整管理页面可以对索引,调整原因,调整额度,调整时间,员工工号,员工姓名,部门等内容进行详情操作,如图。

代码实现
由于代码较多,此处只展示部分代码。
年度利润管理
/**
 * 年度利润
 * 后端接口
 * @author 
 * @email 
 * @date 2022-04-02 16:46:23
 */
@RestController
@RequestMapping("/niandulirun")
public class NiandulirunController {
    @Autowired
    private NiandulirunService niandulirunService;
    
    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,NiandulirunEntity niandulirun,
		HttpServletRequest request){
        EntityWrapper<NiandulirunEntity> ew = new EntityWrapper<NiandulirunEntity>();
		PageUtils page = niandulirunService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, niandulirun), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,NiandulirunEntity niandulirun, 
		HttpServletRequest request){
        EntityWrapper<NiandulirunEntity> ew = new EntityWrapper<NiandulirunEntity>();
		PageUtils page = niandulirunService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, niandulirun), params), params));
        return R.ok().put("data", page);
    }
	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( NiandulirunEntity niandulirun){
       	EntityWrapper<NiandulirunEntity> ew = new EntityWrapper<NiandulirunEntity>();
      	ew.allEq(MPUtil.allEQMapPre( niandulirun, "niandulirun")); 
        return R.ok().put("data", niandulirunService.selectListView(ew));
    }
	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(NiandulirunEntity niandulirun){
        EntityWrapper< NiandulirunEntity> ew = new EntityWrapper< NiandulirunEntity>();
 		ew.allEq(MPUtil.allEQMapPre( niandulirun, "niandulirun")); 
		NiandulirunView niandulirunView =  niandulirunService.selectView(ew);
		return R.ok("查询年度利润成功").put("data", niandulirunView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        NiandulirunEntity niandulirun = niandulirunService.selectById(id);
        return R.ok().put("data", niandulirun);
    }
    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        NiandulirunEntity niandulirun = niandulirunService.selectById(id);
        return R.ok().put("data", niandulirun);
    }
    
    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody NiandulirunEntity niandulirun, HttpServletRequest request){
    	niandulirun.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(niandulirun);
        niandulirunService.insert(niandulirun);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody NiandulirunEntity niandulirun, HttpServletRequest request){
    	niandulirun.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(niandulirun);
        niandulirunService.insert(niandulirun);
        return R.ok();
    }
    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody NiandulirunEntity niandulirun, HttpServletRequest request){
        //ValidatorUtils.validateEntity(niandulirun);
        niandulirunService.updateById(niandulirun);//全部更新
        return R.ok();
    }
    }
 
工资调整管理
@RestController
@RequestMapping("/gongzidiaozheng")
public class GongzidiaozhengController {
    @Autowired
    private GongzidiaozhengService gongzidiaozhengService;
    
    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,GongzidiaozhengEntity gongzidiaozheng,
		HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yuangong")) {
			gongzidiaozheng.setYuangonggonghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<GongzidiaozhengEntity> ew = new EntityWrapper<GongzidiaozhengEntity>();
		PageUtils page = gongzidiaozhengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gongzidiaozheng), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,GongzidiaozhengEntity gongzidiaozheng, 
		HttpServletRequest request){
        EntityWrapper<GongzidiaozhengEntity> ew = new EntityWrapper<GongzidiaozhengEntity>();
		PageUtils page = gongzidiaozhengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gongzidiaozheng), params), params));
        return R.ok().put("data", page);
    }
	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( GongzidiaozhengEntity gongzidiaozheng){
       	EntityWrapper<GongzidiaozhengEntity> ew = new EntityWrapper<GongzidiaozhengEntity>();
      	ew.allEq(MPUtil.allEQMapPre( gongzidiaozheng, "gongzidiaozheng")); 
        return R.ok().put("data", gongzidiaozhengService.selectListView(ew));
    }
                













