Java控制台+activiti+springboot+mybatis实现账务报销工作流程

一、系统介绍

系统主要功能:
员工:填写报销单
账务审批:报销金额小于1000账务经理审批,报销金额大于1000总经理审批
账务经理审批:同意流程结束
总经理:同意流程结束

二、功能展示

1.代码展示

在这里插入图片描述

2.员工报销

在这里插入图片描述

在这里插入图片描述

3.账务审批

在这里插入图片描述

4.总经理审批

在这里插入图片描述

三、代码展示

package com.hdax.controller;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.hdax.entity.Activity;
import com.hdax.service.ActivityService;
import com.hdax.vo.ActivityIdModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;

import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 活动表 前端控制器
 * </p>
 *
 * @author ${author}
 * @since 2021-03-22
 */
@RestController
@RequestMapping("/activity")
public class ActivityController {

    @Autowired
    private ActivityService activityService;

    @PostMapping("/findActivity")
    public List<Activity> findActivity() {
        QueryWrapper<Activity> queryWrapper = new QueryWrapper();
        return activityService.list(queryWrapper);
    }

    @GetMapping(path = "list")
    public ModelAndView list(){
        return new ModelAndView("activity/list");
    }

    @RequestMapping(path = "/index")
    @ResponseBody
    public Map<String,Object> index(
            Activity name,
            @RequestParam("page") int page,
            @RequestParam("limit") int limit
    ){

        Map<String,Object> map=activityService.listByPage(page,limit,name);
        return map;

    }
    @GetMapping(path = "/add")
    public ModelAndView toAdd(){
        return new ModelAndView("activity/add");
    }

    @PostMapping(path = "/add")
    @ResponseBody
    public Map<String,Object> toAdd(Activity activity){
        Map<String,Object> map=new HashMap<>();
        activity.setCreateTime(LocalDateTime.now());
        activity.setActivityState(2);
        int flag = activityService.add(activity);
        map.put("msg",flag);
        return map;

    }


    @GetMapping(path = "/update/{id}")
    public ModelAndView update(@PathVariable("id") Integer id){
        ModelAndView modelAndView=new ModelAndView("activity/update");
        Activity activity=activityService.getById(id);
        modelAndView.addObject("activity",activity);
        return modelAndView;

    }


    @PostMapping(path = "/update")
    @ResponseBody
    public Map<String,Object> update(Activity activity){
        Map<String,Object> map=new HashMap<>();
        activity.setUpdateTime(LocalDateTime.now());
        int flag=activityService.update(activity);
        map.put("msg",flag);
        return map;
    }

    @PostMapping(path = "/del")
    @ResponseBody
    public Map<String,Object>delete(ActivityIdModel activityIdModel){
        Map<String,Object>map=new HashMap<>();
        activityService.btnDel(activityIdModel.getIds());
        map.put("msg","success");
        return map;
    }

    @PostMapping(path = "delete/{id}")
    @ResponseBody
    public Map<String,Object>delete(@PathVariable("id") Integer id){
        Map<String,Object>map=new HashMap<>();
        boolean flag=activityService.removeById(id);
        map.put("msg",flag);
        return map;
    }
}


四、获取源码

点击下载
Java控制台+activiti+springboot+mybatis实现账务报销工作流程

### 回答1: 基于Spring BootActiviti,我们可以实现一个简单的流程审批系统。首先,需要搭建一个Spring Boot项目,并添加Activiti的相关依赖。然后,我们可以使用Activiti提供的API来定义流程、发起审批和处理审批。 在项目中,我们可以通过编写BPMN 2.0的定义文件来定义流程。在该文件中,我们可以添加活动(任务),并定义活动之间的流程流转条件。然后,使用Activiti的API部署该流程定义到Activiti引擎中。 在发起审批时,可以通过调用Activiti的API来启动一个流程实例。在启动流程实例时,可以设置相关的参数,如申请人、审批金额等。Activiti会根据流程定义自动创建相应的流程实例和任务。 在处理审批时,可以根据当前用户查询待办任务列表,并选择某个任务进行处理。处理任务可以包括审批通过、驳回、转交等操作。在处理任务时,可以通过Activiti的API设置相关的参数,并将任务流转到下一步或退回上一步。 此外,我们还可以添加监听器来监听流程的各个状态,如流程启动、任务分配、任务完成等。通过监听器,我们可以在流程流转时执行一些自定义的逻辑,如发送邮件通知、记录审批历史等。 综上所述,基于Spring BootActiviti,我们可以实现一个简单的流程审批系统。通过配置流程定义、发起审批和处理审批,我们可以实现审批流程的自动化和可视化。同时,通过添加监听器和自定义逻辑,我们可以满足不同业务场景下的特定需求。 ### 回答2: 利用Spring BootActiviti可以很方便地实现流程审批功能。下面我将详细介绍如何使用Spring BootActiviti实现流程审批。 首先,需要在Spring Boot项目的pom.xml文件中添加Activiti的依赖。可以在Maven仓库中找到最新的Activiti版本,并将其添加到pom.xml文件中。 接下来,需要创建Activiti的配置类,以便在Spring Boot中集成Activiti。这个配置类应该继承自Activiti的ProcessEngineConfigurationConfigurer接口,并实现其configure方法。在configure方法中,我们可以进行一些Activiti的配置,比如设置数据库相关的配置、添加流程监听器等。 然后,需要创建流程定义文件。可以使用Activiti提供的图形化工具来创建流程定义文件,也可以通过编码的方式来创建。在流程定义文件中,需要定义流程的各个节点,以及节点之间的连线和流程变量。 接下来,需要编写与流程审批相关的业务逻辑代码。这些代码应该包括启动流程实例、查询待办任务、完成任务等功能。可以使用Activiti提供的API来完成这些操作。 最后,需要创建前端页面用于展示和处理审批任务。可以使用Thymeleaf等模板引擎来创建页面,并通过Ajax请求与后端进行数据交互。 综上所述,借助于Spring BootActiviti,我们可以快速便捷地实现流程审批功能。这种方式不仅可以提高开发效率,还有利于代码的维护和扩展。希望以上内容对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值