ssm+vue小型企业办公自动化系统源码和论文PPT

这篇具有很好参考价值的文章主要介绍了ssm+vue小型企业办公自动化系统源码和论文PPT。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ssm+vue小型企业办公自动化系统源码和论文PPT013

开发工具:idea 

 数据库mysql5.7+(mysql5.7最佳)

 数据库链接工具:navcat,小海豚等

开发技术:java  ssm tomcat8.5

摘  要

互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对小型企业办公信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用小型企业办公自动化系统可以有效管理,使信息管理能够更加科学和规范。

小型企业办公自动化系统在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员管理部门经理,管理总经理,管理员工和员工留言以及员工工资,管理内部邮件,管理审批流程,管理离职申请。部门经理给员工发放工资,审核并回复员工留言,管理员工工资,审核员工的离职申请信息,查询和下载内部邮件以及审批流程。总经理查询下载内部邮件和审批流程,审核员工离职申请,查询员工工资,查询员工和部门经理。员工发布留言,发布内部邮件,发布离职申请,查询通知公告和审批流程,查看员工本人工资。

总之,小型企业办公自动化系统集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。它可以降低信息管理成本,实现信息管理计算机化。

关键词:小型企业办公自动化系统;Java语言;Mysql

ssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascript

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.ChengshitongjiEntity;
import com.entity.view.ChengshitongjiView;

import com.service.ChengshitongjiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 城市统计
 * 后端接口
 * @author 
 * @email 
 * @date 2024-01-14 16:14:50
 */
@RestController
@RequestMapping("/chengshitongji")
public class ChengshitongjiController {
    @Autowired
    private ChengshitongjiService chengshitongjiService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ChengshitongjiEntity chengshitongji, HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("xuesheng")) {
			chengshitongji.setXuehao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<ChengshitongjiEntity> ew = new EntityWrapper<ChengshitongjiEntity>();
		PageUtils page = chengshitongjiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chengshitongji), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ChengshitongjiEntity chengshitongji, HttpServletRequest request){
        EntityWrapper<ChengshitongjiEntity> ew = new EntityWrapper<ChengshitongjiEntity>();
		PageUtils page = chengshitongjiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chengshitongji), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( ChengshitongjiEntity chengshitongji){
       	EntityWrapper<ChengshitongjiEntity> ew = new EntityWrapper<ChengshitongjiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( chengshitongji, "chengshitongji")); 
        return R.ok().put("data", chengshitongjiService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ChengshitongjiEntity chengshitongji){
        EntityWrapper< ChengshitongjiEntity> ew = new EntityWrapper< ChengshitongjiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( chengshitongji, "chengshitongji")); 
		ChengshitongjiView chengshitongjiView =  chengshitongjiService.selectView(ew);
		return R.ok("查询城市统计成功").put("data", chengshitongjiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ChengshitongjiEntity chengshitongji = chengshitongjiService.selectById(id);
        return R.ok().put("data", chengshitongji);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ChengshitongjiEntity chengshitongji = chengshitongjiService.selectById(id);
        return R.ok().put("data", chengshitongji);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ChengshitongjiEntity chengshitongji, HttpServletRequest request){
    	chengshitongji.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(chengshitongji);

        chengshitongjiService.insert(chengshitongji);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ChengshitongjiEntity chengshitongji, HttpServletRequest request){
    	chengshitongji.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(chengshitongji);

        chengshitongjiService.insert(chengshitongji);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ChengshitongjiEntity chengshitongji, HttpServletRequest request){
        //ValidatorUtils.validateEntity(chengshitongji);
        chengshitongjiService.updateById(chengshitongji);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        chengshitongjiService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<ChengshitongjiEntity> wrapper = new EntityWrapper<ChengshitongjiEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("xuesheng")) {
			wrapper.eq("xuehao", (String)request.getSession().getAttribute("username"));
		}

		int count = chengshitongjiService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

 ssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascriptssm+vue小型企业办公自动化系统源码和论文PPT,vue.js,前端,javascript文章来源地址https://www.toymoban.com/news/detail-652524.html

到了这里,关于ssm+vue小型企业办公自动化系统源码和论文PPT的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ChatGPT办公自动化实战

    ChatGPT从入门到精通,一站式掌握办公自动化/爬虫/数据分析和可视化图表制作 全面AI时代就在转角 道路已经铺好了 “局外人”or“先行者” 就在此刻 等你决定 让ChatGPT帮你高效实现职场办公!行动起来吧 。。。。。 还有更多。。。。,可以沟通一起交流,行动起来吧 如何

    2024年02月11日
    浏览(29)
  • Python&Excel办公自动化

    操作工作簿 01 新建一个excel工作簿 02 批量新建多个工作簿 03 打开已有的工作簿 04 打开文件夹下的所有工作簿 05 重命名多个工作簿 06 批量修改工作簿格式 07 拆分一个工作簿变成多个新工作簿 08 将多个工作簿合并为一个工作簿 09 按照扩展名分类工作簿 10 按照日期分类工作簿

    2024年02月08日
    浏览(41)
  • python--自动化办公(Word)

    python自动化办公之—Word python-docx库

    2024年02月04日
    浏览(41)
  • Python办公自动化 – 操作NoSQL数据库和自动化图像识别

    以下是往期的文章目录,需要可以查看哦。 Python办公自动化 – Excel和Word的操作运用 Python办公自动化 – Python发送电子邮件和Outlook的集成 Python办公自动化 – 对PDF文档和PPT文档的处理 Python办公自动化 – 对Excel文档和数据库的操作运用、设置计划任务 Python办公自动化 – 对

    2024年02月02日
    浏览(43)
  • Python办公自动化 – 自动化文本翻译和Oracle数据库操作

    以下是往期的文章目录,需要可以查看哦。 Python办公自动化 – Excel和Word的操作运用 Python办公自动化 – Python发送电子邮件和Outlook的集成 Python办公自动化 – 对PDF文档和PPT文档的处理 Python办公自动化 – 对Excel文档和数据库的操作运用、设置计划任务 Python办公自动化 – 对

    2024年01月17日
    浏览(58)
  • Python自动化办公之PDF拆分

    今天我们继续分享真实的自动化办公案例,希望各位 Python 爱好者能够从中得到些许启发,在自己的工作生活中更多的应用 Python,使得工作事半功倍! 需求 需要从 PDF 中取出几页并将其保存为新的 PDF,为了后期使用方便,这个工具需要做成傻瓜式的带有 GUI 页面的形式 选择

    2024年02月02日
    浏览(48)
  • python自动化办公--文件整理脚本详解

    今天讲解文件整理脚本的实现过程。这是一个很有用的技能,可以帮助你管理你的电脑上的各种文件。需求如下: 需求内容:给定一个打算整理的文件夹目录,这个脚本可以将该目录下的所有文件都揪出来,并且根据后缀名归类到不同的文件夹里。 python能力:使用python的内

    2024年02月10日
    浏览(57)
  • Python办公自动化之Word文档自动化:全网最全,看这一篇就够了

    目录 一、环境安装 1、升级pip 2、python-docx 3、win32com 4、mailmerge 5、matplotlib 二、Python-docx 新建文档 三、Python-docx 编辑已存在文档 四、win32com 将 doc 转为 docx 五、win32com 操作 word 1、打开新的word文档并添加内容 2、打开已存在word文档并添加内容 3、转换word为pdf 六、Python-docx 操作

    2024年02月01日
    浏览(42)
  • 当 Python 遇到 ChatGPT —— 自动化办公落地

    随着人工智能和自然语言处理技术的快速发展,聊天机器人成为了一个备受瞩目的领域。而在这个领域中,ChatGPT 无疑是最为出色的之一。作为一种基于深度学习的自然语言处理技术,ChatGPT 能够像人类一样进行对话交流,并为人们提供智慧和启示。而当 Python 遇到 ChatGPT,它

    2024年02月08日
    浏览(40)
  • python办公自动化(6)——读取word文档

    因为我们要进行文件相关的操作,所以需要在一开始使用import导入Python内置的os模块。 我们需要先获取该文件夹下所有的答题卡列表,再使用for循环遍历文件夹中所有学生的答题卡,以便之后逐个读取信息。 完成了第一个步骤,接下来,我们就需要在for循环里,依次获取每位

    2023年04月08日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包