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

news2024/11/25 4:27:28

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

  • 一、系统介绍
  • 二、功能展示
    • 1.代码展示
    • 2.员工报销
    • 3.账务审批
    • 4.总经理审批
  • 三、代码展示
  • 四、获取源码

一、系统介绍

系统主要功能:
员工:填写报销单
账务审批:报销金额小于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实现账务报销工作流程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/770727.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能电表数据采集器

智能电表数据采集器是一种用于采集智能电表数据的设备&#xff0c;它可以将智能电表的数据传输到远程服务器上&#xff0c;以便进行数据分析和监控。智能电表数据采集器的主要功能是采集智能电表的实时数据&#xff0c;并将其发送到远程服务器上&#xff0c;从而实现对智能电表…

能源监测系统:实时监控+数据可视化

能源监测系统是应用物联网技术&#xff0c;对水、电、气、热等能源进行实时监测的系统&#xff0c;能够对各种设备数据进行智能化标准化的管理&#xff0c;从而建立起统一的管理优化平台&#xff0c;是积极响应国家节能降耗政策的典型模范&#xff0c;也是企业建设节能型工厂的…

【C++】-stack和queue的具体使用以及模拟实现(dqeue的介绍+容器适配器的介绍)

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

MySQL第六章、JDBC编程

目录 一、数据库编程的必备条件 二、Java的数据库编程&#xff1a;JDBC 三、JDBC工作原理 四、JDBC使用 4.1JDBC开发案例 一、数据库编程的必备条件 编程语言&#xff0c;如Java&#xff0c;C、C、Python等数据库&#xff0c;如Oracle&#xff0c;MySQL&#xff0c;SQL S…

uniapp 正常显示editor富文本编辑器的内容

如果不添加editor的样式文件&#xff0c;空格、图片都会显示不正常&#xff0c;需要按照官方文档提示&#xff0c;第一添加样式&#xff0c;第二&#xff0c;设置对应的显示方式。 一、下载editor样式 二、我使用的是rich-text组件&#xff0c;来显示html字符串 <template&…

数据可视化——根据提供的数据,将数据经过处理后以折线图的形式展现

文章目录 前言处理数据获取数据筛选数据将JSON数据转换为Python数据筛选出横坐标数据和纵坐标数据 根据处理后的数据绘制折线图整体代码展示 前言 前面我们学习了如何使用 pyecharts 模块绘制简单的折线图&#xff0c;那么今天我将为大家分享&#xff0c;如何根据提供的数据将…

掘金量化—Python SDK文档—4.数据结构

目录 Python SDK文档 4.数据结构 4.1数据类 Tick - Tick 对象 报价quote - (dict 类型) Bar - Bar 对象 L2Order - Level2 逐笔委托 L2Transaction - Level2 逐笔成交 4.2交易类 Account - 账户对象 Order - 委托对象 ExecRpt - 回报对象 Cash - 资金对象 Position - 持仓对象…

ylb-接口5产品详情

总览&#xff1a; 1、service处理&#xff08;根据产品id &#xff0c;查询产品信息&#xff09; 在api模块下service包&#xff0c;ProductService接口添加新方法&#xff08;根据产品id &#xff0c;查询产品信息queryById(Integer id)&#xff09;&#xff1a; package …

微服务——技术栈+概念+远程调用案例

目录 微服务技术栈 认识微服务 微服务架构演变 总结 微服务技术对比 SpringCloud springcloud和springboot的对应版本 ​编辑 服务拆分 注意事项 入门案例 远程调用 步骤一 :注册ResTemplate 步骤二&#xff1a;修改service层代码 微服务技术栈 将一个大的项目拆分出…

GUI-Menu菜单实例(颜色+线型菜单)

运行代码&#xff1a; //GUI-Menu菜单实例&#xff08;颜色线型菜单&#xff09; #include"std_lib_facilities.h" #include"GUI/Simple_window.h" #include"GUI/GUI.h" #include"GUI/Graph.h" #include"GUI/Point.h"struc…

2.4G天线(一)

一、概念 1.1、波: 波是指振动的传播。 将某一物理量的扰动或振动在空间逐点传递时形成的运动称为波&#xff0c;波动是物质运动的重要形式。 1.2、电磁波&#xff1a; 电磁波是能量的一种&#xff0c;属于一种波。是由同相振荡且互相垂直的电场与磁场在空间…

pico添加devmem2读写内存模块

devmem2读写内存 自定义msh命令devmem2验证msh命令devmem2读CPUID读写全局变量 devmem2模块可实现对设备寄存器的读写操作。在RT-Thread的命令行组件Fish中添加devmem2模块&#xff0c;用户可在终端输入devmem2相关命令&#xff0c;FinSH根据输入对指定寄存器进行读写&#xff…

springboot整合feign实现RPC调用,并通过Hystrix实现服务降级

目录 一、服务提供者 二、服务消费者 三、测试效果 四、开启Hystrix实现服务降级 feign/openfeign和dubbo是常用的微服务RPC框架&#xff0c;由于feigin内部已经集成ribbon&#xff0c;自带了负载均衡的功能&#xff0c;当有多个同名的服务注册到注册中心时&#xff0c;会根…

Pycharm安装dlib

目录 一、下载dilb 二、使用pip安装dlib库(亲测有效) 三、使用Pycharm安装(未使用) 一、下载dilb 官方网址:德利卜 皮皮 (pypi.org) 二、使用pip安装dlib库(亲测有效) 将下载好的whl文件放入工程文件中 接下来使用Python自带的pip进行安装 1.winR2.输入cmd&#xff0c;回车…

vue3+vite+ts+vant 开发浙里办H5应用流程和注意事项

vue3vitets 开发浙里办H5应用流程和注意事项 最近有个项目是要开发到浙里办的一个H5项目,记录一些问题; 浙里办irs系统内node版本和npm版本如下建议切到他们的版本再进行开发这样问题少一点 1.因为浙里办有自己的irs系统 需要吧前端整体的代码传上去 除了 打包后的dist 和 no…

Vue实现阻止浏览器记住密码功能的三种方法

通常浏览器会主动识别密码表单&#xff0c;在你登录成功之后提示保存密码 &#xff0c; 密码保存到浏览器的 密码管理器中 ( 如下是谷歌浏览器 ) 这种行为是浏览器的行为 &#xff0c;这种操作也是为了方便用户的使用 现在的一个需求是要阻止这个保存密码的弹窗提示 登录页账…

【AutoGluon_01】安装与示例

文章目录 一、安装二、示例一 AutoGluon预测目标数据1、导入数据2、训练3、预测4、评估5、小结 三、示例二 AutoGluon多模态预测&#xff08;Multimodal Prediction&#xff09;1、导入数据2、训练3、预测4、评估 四、示例三 AutoGluon进行时间序列预测1、导入数据2、训练3、预…

适配器模式-不兼容结构的协调

去英语国家旅游时&#xff0c;我们只会说中文&#xff0c;为了与当地人交流&#xff0c;我们需要购买个翻译器&#xff0c;将中文翻译成英文&#xff0c;而这运用了适配器模式。 1 概述 适配器模式&#xff08;Adapter Pattern&#xff09;&#xff0c;将一个接口转换成客户喜…

golang 日志库logrus和lumberjack 日志切割库实践

package mainimport (log "github.com/Sirupsen/logrus""gopkg.in/natefinch/lumberjack.v2" )func main() {logger : &lumberjack.Logger{// 日志输出文件路径Filename: "/var/log/myapp/foo.log",// 日志文件最大 size, 单位是 MBMaxSiz…

i.MX6Q应用处理器:MCIMX6Q5EYM12AD/MCIMX6Q5EYM10AE/MCIMX6Q5EYM10ADR 4核、32位,624-LFBGA

i.MX6Q 处理器代表了集成多媒体应用处理器的最新成就。这些处理器是不断增长的多媒体产品系列的一部分&#xff0c;这些产品提供高性能处理&#xff0c;并针对最低功耗进行了优化。 i.MX6Quad处理器采用先进的四核ArmCortex-A9内核&#xff0c;运行速度高达1.2 GHz。它们包括2…