基于ssm+vue的OA办公系统源码和论文

基于ssm+vue的OA办公系统源码和论文235

 开发工具:idea 或eclipse
 数据库mysql5.7+
 数据库链接工具:navcat,小海豚等
  技术:ssm

基于HTML5的OA办公系统

摘要

随着信息技术在管理上越来越深入而广泛的应用,作为一个一般的企业都开始注重与自己的信息展示平台,实现基于HTML5的OA办公系统在技术上已成熟。本文介绍了基于HTML5的OA办公系统的开发全过程。通过分析企业对于博客网站的需求,创建了一个计算机管理基于HTML5的OA办公系统的方案。文章介绍了基于HTML5的OA办公系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。

本基于HTML5的OA办公系统管理员和员工,员工可以注册。管理员功能有个人中心,员工管理,部门信息管理,岗位信息管理,公告通知管理,人事档案管理,考勤打卡管理,考勤记录管理,我的邮件过来,新建工作模板管理,待办工作管理。员工功能有个人中心,公告通知管理,人事档案管理,考勤打卡管理,考勤记录管理,我的邮件过来,新建工作模板管理,待办工作管理,因而具有一定的实用性。

本站是一个B/S模式系统,采用Java的SSM框架作为开发技术,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于HTML5的OA办公系统管理工作系统化、规范化。

关键词:基于HTML5的OA办公系统;SSM框架;MYSQL数据库

Abstract

With the more and more in-depth and extensive application of information technology in management, as a general enterprise, it has begun to focus on its own information display platform, and the realization of an OA office system based on HTML5 is technically mature. This article introduces the whole development process of OA office system based on HTML5. By analyzing the needs of enterprises for blog sites, a computer management scheme based on HTML5 OA office system was created. The article introduces the system analysis part of OA office system based on HTML5, including feasibility analysis, etc. The system design part mainly introduces the system function design and database design.

This HTML5-based OA office system administrators and employees, employees can register. The administrator functions include personal center, employee management, department information management, job information management, announcement notification management, personnel file management, attendance check-in management, attendance record management, my email, new job template management, and to-do work management. Employee functions include personal center, announcement notification management, personnel file management, attendance check-in management, attendance record management, my email is over, new job template management, to-do job management, so it has a certain practicability.

This site is a B/S model system, using Java's SSM framework as the development technology, and MYSQL database design and development, which fully guarantees the stability of the system. The system has the characteristics of clear interface, simple operation and complete functions, which makes the management of OA office system based on HTML5 systematized and standardized.

Keywords: OA office system based on HTML5; SSM framework; MYSQL database

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.format.annotation.DateTimeFormat;
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.KaoqindakaEntity;
import com.entity.view.KaoqindakaView;

import com.service.KaoqindakaService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 考勤打卡
 * 后端接口
 * @author 
 * @email 
 * @date 2021-04-16 19:04:01
 */
@RestController
@RequestMapping("/kaoqindaka")
public class KaoqindakaController {
    @Autowired
    private KaoqindakaService kaoqindakaService;
    


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

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

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yuangong")) {
			kaoqindaka.setYuangonggonghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<KaoqindakaEntity> ew = new EntityWrapper<KaoqindakaEntity>();
		PageUtils page = kaoqindakaService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kaoqindaka), params), params));
        return R.ok().put("data", page);
    }

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(KaoqindakaEntity kaoqindaka){
        EntityWrapper< KaoqindakaEntity> ew = new EntityWrapper< KaoqindakaEntity>();
 		ew.allEq(MPUtil.allEQMapPre( kaoqindaka, "kaoqindaka")); 
		KaoqindakaView kaoqindakaView =  kaoqindakaService.selectView(ew);
		return R.ok("查询考勤打卡成功").put("data", kaoqindakaView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        KaoqindakaEntity kaoqindaka = kaoqindakaService.selectById(id);
        return R.ok().put("data", kaoqindaka);
    }

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



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

        kaoqindakaService.insert(kaoqindaka);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody KaoqindakaEntity kaoqindaka, HttpServletRequest request){
    	kaoqindaka.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(kaoqindaka);
    	kaoqindaka.setUserid((Long)request.getSession().getAttribute("userId"));

        kaoqindakaService.insert(kaoqindaka);
        return R.ok();
    }

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

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        kaoqindakaService.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<KaoqindakaEntity> wrapper = new EntityWrapper<KaoqindakaEntity>();
		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("yuangong")) {
			wrapper.eq("yuangonggonghao", (String)request.getSession().getAttribute("username"));
		}

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


}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
系统集:OA,HR,CRM,于一身。 OA部分: 个人办公:内部邮件、Internet邮件、短信息、手机短信、公告通知、新闻、投票、个人考勤、日程安排、工作日志、工作汇报、通讯录、个人文件柜、控制面板 工作流:印章管理、表单定义 、工作流管理(支持复制,WEB印章等强化应用)、新建工作、待办工作、工作查询、工作监控、归档工作、委托设置 综合行政:公告通知管理、新闻管理、物品管理、固定资产管理、图书管理、会议管理、车辆管理、组织机构信息 信息交流:内部消息、内部邮件、外部邮件、内部讨论区、互动聊天、网络硬盘、投票管理、文件传阅 、手机短信管理 人力资源管理:人事档案、考勤批示、考勤统计、薪资管理、培训记录 、奖惩记录、基础设置 销售管理:客户管理、客户忠诚度管理、产品信息、销售管理、供应商管理、统计分析、基础数据设置 项目管理:项目创建、项目浏览、项目公告、项目进度、项目资源、项目预算、任务计划、项目外包、项目利润、费用报销、报销管理、数据字典 档案管理:卷库管理、案卷管理、文件管理 、案卷借阅(案卷借阅,借阅审批)、档案统计 (借阅统计,案卷统计) 、档案销毁 知识管理:知识大类、知识小类、我的知识、知识排行、知识地图、知识检索、知识互动、知识审批、知识管理员 附件管理:万年历 、世界时间 、常用网址浏览、邮编区号、日常查询 系统管理:印章管理、红头文件管理、用户管理 、角色管理 、部门管理、职位管理、附件类型、系统日志、手机短信管理组织机构设置:包含单位管理、部门管理、用户管理、角色与权限管理 其他:工作台设置,在线人员(组织结构模式),全部人员(组织结构模式) HR人力资源部分 机构管理:分级树形管理模式,部门编制数,岗位编制数等 招聘管理:需求征集(工作流),招聘计划(工作流),招聘初选(登记),招聘面试(登记),人员录用,人才储备, 基础数据设置 人事资料: 1.人事档案:人事管理(基本信息,个人简历,学习经历,工作经历,社会关系,职称评定,执业资格) 查看明细包括(基本信息,个人简历,学习经历,工作经历,社会关系,职称评定,执业资格,证照资料,合同信息,保险记录,调动情况,奖惩情况,培训课程,培训考勤,考核记录),导入数据,生日查询,人事统计分析,部门编制分析。 群发手机短信 2.合同管理:合同信息管理,合同变更,合同续签,员工转正,合同信息报表 3.人事调动:员工调动,员工离职,员工复职,人员流动分析,离职人员分析 4.员工奖惩:奖惩管理,奖惩分析,奖惩报表。 5.证照管理:证照管理,证照分析 6.职称评定:职称管理,职称分析 7.基础数据设置 培训管理:培训计划,培训考勤,培训机构,培训课件,培训费用,培训绩效,培训协议,基础数据设置 考勤管理:考勤记录采集(采集进考勤记录),考勤记录,出勤管理,休假管理,加班管理,统计查询报表 绩效考核:考核类型,考核期间,考核等级,考核信息,考核查询,考核报表,考核统计分析 薪资福利:个人所得税 ,社会保险,计件工资,计时工资.,提成工资,工资计算,工资帐套管理,工资统计分析 企业文化:单位企业介绍,单位信息发布,劳动法规及政策, 基础数据设置 系统管理:用户管理,角色管理,附件类型,系统日志,数据备份还原,备份还原设置 系统提醒:系统提醒:正式合同到期,试用合同到期,保险到期,员工生日,证照到期,职称申报,招聘计划开始,需求计划开始,培训计划开始。 系统管理 CRM客户关系管理部分 客户管理:检测客户、我的客户、共享客户、客户联系人、客户关怀、工作报告、我的客户、回收站 客户监控:允许监控的客户、客户联系人、客户关怀、工作报告浏览、 客户转移 客户跟踪:待办事宜、交往记录、销售机会、报价记录、竞争对手、销售费用 客户跟踪监控:待办事宜、交往记录、销售机会、报价记录、竞争对手、销售费用 合同定单:合同/订单、交付计划 、交付记录 、回款计划 、回款记录 、开票记录 、销售出库 合同/订单监控:合同/订单、交付计划 、交付记录 、回款计划 、回款记录 、开票记录 、销售出库 客户服务:客服控制台 、QA库管理 、投诉处理 、客服记录 、客服数据显示方案 采购管理:采购订单 、交付计划 、交付记录 、付款计划 、付款记录 、付款发票 、采购入库 采购监控:采购订单 、交付计划 、交付记录 、付款计划 、付款记录 、付款发票 、采购入库 库存管理:库存列表 入库单 :采购入库、直接入库 ; 出库单 :销售出库、直接出库库存盘点、库间调拨、报损单、报溢单、仓库设置、库存初始化/清空/清零、库存流水账 市场管理:市场活动 、广告发布 、印刷品管理 印刷品管理 :印刷品领用 礼品管理 :礼品管理 、礼品领用 供应商:供应商管理 、联系人管理 财务管理:应收款 、应付款 、已收款 、已付款 、收款发票 、付款发票 、费用报销 统计分析 客户管理:客户种类 、客户行业 、客户关系等级、客户人员规模 、客户来源 、客户阶段 、客户价值评估 、客户信用等级 、 客户拥有人 、客户创建数量人员/月度统计 、客户创建数量种类/月度统计 、大客户top20(合同额) 、大客户top20(回款额) 销售跟踪 :交往记录类型 、交往记录人员/月度统计 、客户交往记录top10 、报价记录人员/月度统计 、销售机会月份统计 、 销售机会负责人分布 、负责人/机会状态统计 、负责人/机会阶段统计 、 机会来源分布 、机会可能性分布 、机会状态分布 、机会阶段分布 、预计签单月份统计 合同/订单:合同订单状态分布 、合同订单状态/金额分布 、合同订单拥有者/状态分布 、合同订单签约时间统计 、合同订单签约金额月份统计 、合同订单签约金额人员分布 、合同订单签约金额人员/月度统计 、合同订单签约数量人员/月度统计 、合同订单未尽收款金额按签约月份统计 、合同订单类型分布 、合同订单签约金额类型分布 、 回款月度统计 、 回款人员/月度统计 、回款分类/月度统计 、回款人员分布 、回款付款方式统计 、回款分类统计、回款计划月度统计 、回款计划人员/月度统计 、开票类型/月度统计 售后服务:投诉月度统计 、投诉紧急程度/月度统计 、投诉处理结果/月度统计 、客户投诉次数top10 、投诉类型分布 、客服类型分布、客服方式分布 、客服状态分布 、客服月度统计 、 客服类型/月度统计 、 客服方式/月度统计 、 客服状态/月度统计 、客服次数top10 采购管理:采购单数量分类分布 、采购单金额分类统计 、月度采购单数量 、月度采购单金额 、人员采购单数量 、人员采购单金额 、采购单数量人员/月度统计 、采购单金额人员/月度统计 、采购发票月度统计 、 付款月度统计 、付款人员/月度统计 、付款分类/月度统计 、付款人员分布 、付款方式统计 、付款分类统计 、付款计划月度统计 、付款计划人员/月度统计 费用管理:月度费用申报统计 、月度通过审核费用统计 、月度费用人员统计(通过审核) 、费用类别分布(通过审核) 、费用类别统计(通过审核) 、人员/费用类型统计(通过审核) 、客户费用(通过审核)top20 市场管理 :市场活动类型分布 、市场活动类型/月度分析 、广告媒体类型分布 库存管理:库存流水产品数量分布 、库存流水月度统计 系统管理 用户管理、角色管理 、 组织机构 、职位管理 、 系统日志 、产品设置 、监控设置 数据备份还原:数据备份 、数据还原 备份还原设置:备份数据库 、备份存放路径 手机短信:已发送短信 、等待发送短信 、发送失败短信 、接收短信 数据字典:客户种类 、客户行业 、客户关系等级 、客户人员规模 、客户来源 、客户阶段 、 联系人分类 、客户关怀类型 、待办事宜类型 、交往记录类型 、销售机会来源 、 销售机会阶段 、竞争对手能力 、销售费用类、付款方式 、 合同订单分类 、 采购分类 、回款记录分类 、票据类型 、QA库分类 、 投诉处理分类 、 服务类型 、服务方式 、市场活动类型 、广告投放类型 、供应商所属分类 、供应商信用等级 、 直接入库类型 、直接出库类型 其他 工作台设置,在线人员(组织结构模式),全部人员(组织结构模式)
除了具有传统OA的邮件、工作流、文档等功能外,还引进了项目管理和知识管理的思想,更加注重工作任务的分解、协同和监督;知识的积累、沉淀和分享,多条件跳转的分支流更为特色,有效为企业构筑协同工作平台 我的任务:今天未完成任务列表 我的邮件:最新收到的邮件列表 我的文档:最新归档的项目文档 我的审批:待我审批的项目文档 考勤:成员上下班的考勤 全文检索:对系统中项目文档的全文检索,并有权限过滤机制 系统设置各类接点:系统的权限中心和配置中心 人员管理:系统账户;由系统管理员添加、修改;可以定义新增、离职、调职还可自定义查询 职位管理:组织内的职位结构树,是权限的基本结构 角色管理:权力的集合,可以自由定义。系统默认的有组长、组员和系统成员。 修改口令:成员修改自己的口令(系统管理员在成员模块中修改口令) 考勤查询:查询包括自己在内的考勤纪录,或系统指定的成员如人事助理可查全部成员 考勤设置:考勤日和考勤时间的设置 公司论坛:包括公司公告和各版块BBS;有BBS管理权可以添加桌面公告和版块公告,版主可以自由添加版块和版块公告。BBS的功能同常见的,但无须登录; 客户管理(客户接触点的管理) 我的客户:显示由我负责的客户信息,并添加接触纪录(电话、拜访等) 查询、统计:客户资料的统计和分析,销售人员的业绩管理 我的联系人 公司内部联系人:系统成员列表中获得 公司外部联系人:等同于公司客户的联系人 自定义联系人:管理私人的联系人 我的任务:(含任务协同、任务指派、任务查询) 待完成任务:显示今日往后的未完成任务,并对任务操作,如新建、取消、完成、接受 未完成任务:显示今日以前的未完成任务 已完成任务:显示完成的任务 我的发起任务:显示所有我发起的任务,其中包括我仅发起而不执行的指派任务 订阅/查询任务:显示我不参加的任务,查询他人的任务 我的邮件 收件箱:我收到的邮件,全部显示 发件箱 :我曾经发送的邮件,全部显示 废件箱 :我删除的收到过的的邮件 撰写新邮件:可以有项目属性,并可归档 公文流转 待批文档:流程走到我这里的文档,等待我处理 我的申请:我发起的流转申请 已批文档:从我这里过的,被我处理过的文档 流程管理:由我创建和管理的流程,需要制定环节和绑定角色 拟稿箱:我可以发起的文档流转的入口,凡流程的第一环节有我的,都显示;并可以对流程有条件查询 我的文档 已归档:我可以查看的已归档项目文档 待审批:正等待我审批的项目文档;审批权包括角色指定,或是项目组长。 公司项目:项目树的管理,每人看到自己参与的项目内容或权限赋予的内容 投递文档:对该项目投递相关的文档 撰写邮件:对该项目组成员发送邮件 项目管理:项目的创建、删除、修改、移动 成员管理:项目成员的添加、删除;组长的标记;组员权限的变更 项目订阅:显示我关心的项目内容(本人并不是项目成员,但有权查看) 目录管理:创建项目文档库,并有严格权限限制,文档目录可扩展 短信管理: 站内短信:系统内的消息机制 站外手机短讯:发送多个附加手机号码 USB_Key 设置:对硬件加密的设置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序猿毕业分享网

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

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

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

打赏作者

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

抵扣说明:

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

余额充值