• 基于PHP+mysql的自动化办公OA系统 python+django


    随着互联网的发展,传统的办公方式以及不能够满足当前快速发展的办公需求了,为此很多公司都用上了先进的办公系统,也就是我们常说的OA,通过OA办公系统可以大大的简化办公的流程,可以更加合理方便的对公司内的事物进行管理
    设计尝试用PHP开发一个协同办公系统,能够最大化的方便办公的管理.协同办公系统选用的是PHP环境,PHP是比较流行的技术,用它来创建脚本语言,结合HTML代码来制作动态网页

    请添加图片描述
    OA已是现代化企业发展的大势所趋,传统的手工办公方式已经无法满足现代办公的需要,OA管理系统为提高工作效率,规范办公制度,增强办公的透明性,实现信息、的统一管理。是为方便领导决策,逐步实现无纸化办公的重要工具,越来越受到人们的重视。
    请添加图片描述请添加图片描述
    本协同办公OA系统分为管理员和员工两部分,具体功能描述如下

    管理员部分

    公告信息管理,管理员可以管理对应的公告信息,员工可以查看
    文件流转,对公司内部的文件进行流转,以便公司内部的人员周知
    会议通知,当公司要开会议的时候可以直接在办公系统内进行通知
    人力资源管理,主要是管理公司内部的人力资源信息
    雇员信息管理,管理公司内的雇员信息
    行政管理,管理公司内部的行政信息
    客户管理,管理公司内的所有客户信息
    合同管理,管理公司内的所有的合同信息
    修改密码,修改自己的个人密码

    员工部分

    查看公告信息,查看管理人员发布的公告信息
    查看文件流转,查看公司内部的文件信息
    查看会议通知,查看会议通知并参与
    查看雇员信息,查看本公司内的雇员信息
    在线申请,申请公司内部资源的使用
    客户管理,管理自己的客户信息
    合同管理,管理和自己业务相关的合同信息
    修改密码,修改自己的个人密码
    请添加图片描述
    现代办公自动化系统被要求成为有效地信息采集和管理的平台,是以开放、先进的Intranet技术及消息传递和工作流管理技术为核心的新一代全方位办公信息服务系统,成为一个资源中心和通信中心。它需要改进企业内部的通讯水平,将传统的办公模式发展为一个具有跨地域通讯能力、能够协同工作,并保持一致的办公环境,消除传统办公方式下的信息存储、管理和分布的障碍,充分实现信息共享、资源共享。通过建立OA系统,可以提高人们协同工作的效率,减少人工操作的重复操作和复杂程度;消除在传统办公中信息存储、分发、管理和分布的障碍,提高日常办公管理水平;为各级领导进行宏观管理提供高效便利的服务,并为科学决策提供有效的参考依据;改善企业内部的办公环境,便于办公人员及时掌握、管理各方信息,改善办公条件,规范办公流程,使管理水平进一步科学化和现代化。
    请添加图片描述
    请添加图片描述` error_reporting(E_ALL ^ E_NOTICE);

    c o n n = @ m y s q l c o n n e c t ( " l o c a l h o s t " , " r o o t " , " r o o t " ) o r d i e ( " 数据库链接失败 " . m y s q l e r r o r ( ) ) ; m y s q l s e l e c t d b ( " d a i z u " , conn=@mysql_connect("localhost","root","root") or die("数据库链接失败".mysql_error()); mysql_select_db("daizu", conn=@mysqlconnect("localhost","root","root")ordie("数据库链接失败".mysqlerror());mysqlselectdb("daizu",conn) or die(“数据库链接失败”.mysql_error());
    mysql_query(‘set names utf8’);

    //设置时区
    date_default_timezone_set(‘asia/shanghai’);
    define(‘SYS_ROOT’, str_replace(“\”, ‘/’, dirname(FILE)));
    define(‘File_ROOT’, SYS_ROOT.“/upload/”);
    define(‘IMG_ROOT’, SYS_ROOT . “/upload/”);

    @extract( P O S T ) ; @ e x t r a c t ( _POST); @extract( POST);@extract(_GET);

    function getfirst($sql)
    {
    r e s = m y s q l q u e r y ( res=mysql_query( res=mysqlquery(sql);
    r o w s = m y s q l f e t c h a r r a y ( rows=mysql_fetch_array( rows=mysqlfetcharray(res);
    return KaTeX parse error: Expected 'EOF', got '}' at position 7: rows; }̲ // function ge…sql){
    r e s = m y s q l q u e r y ( res=mysql_query( res=mysqlquery(sql);

    return mysql_num_rows(KaTeX parse error: Expected 'EOF', got '}' at position 7: res); }̲ function get_n…id,$table)
    {

    $sql="select * from $table where id='$id'";
    $rows=getfirst($sql);
    return $rows[name];
    
    • 1
    • 2
    • 3

    }
    //遍历创建目录
    function Remkdir(KaTeX parse error: Expected '}', got 'EOF' at end of input: … (!file_exists(path)) {
    Remkdir(dirname( p a t h ) ) ; @ m k d i r ( path)); @mkdir( path));@mkdir(path, 0777);
    }
    }
    //上传图片
    function upload_image($inputname, $image=null, $type=‘upimages’, $width=440) {
    $n = time().rand(1000,9999).‘.jpg’;
    $z = F I L E S [ _FILES[ FILES[inputname];
    if (KaTeX parse error: Expected 'EOF', got '&' at position 3: z &̲& strpos(z[‘type’], ‘image’)===0 && KaTeX parse error: Expected '}', got 'EOF' at end of input: …]==0) { if (!image) {
    Remkdir( IMG_ROOT . ‘/’ . “{$type}/” );
    KaTeX parse error: Expected '}', got 'EOF' at end of input: image = "{type}/{$n}";
    $path = IMG_ROOT . ‘/’ . $image;

    	} else {
    		Remkdir( dirname(IMG_ROOT .'/' .$image) );
    					$image = "{$type}/{$n}";
    
    		$path = IMG_ROOT . '/' .$image;
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    //echo $path ;

    		move_uploaded_file($z['tmp_name'], $path);
    
    	//echo $image;exit;
    	return $image;
    }
    return $image;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    }
    //获取文件后缀名
    function get_extend($file_name)
    {
    e x t e n d = p a t h i n f o ( extend = pathinfo( extend=pathinfo(file_name);
    e x t e n d = s t r t o l o w e r ( extend = strtolower( extend=strtolower(extend[“extension”]);
    return $extend;
    }
    //文件上传实现

    function upload_file($inputname, $file=null)
    {
    $year = date(‘Y’); $day = date(‘md’);
    $z = F I L E S [ _FILES[ FILES[inputname];

    $file_ext=get_extend($z['name']);
    
    
    $n = time().rand(1000,9999).".".$file_ext;
    if ($z &&  $z['error']==0) {
    	if (!$file) {
    		Remkdir( File_ROOT . '/' . "{$day}" );
    		$file = "{$day}/{$n}";
    		$path = File_ROOT . '/' . $file;
    
    	} else {
    		Remkdir( File_ROOT . '/' . "{$day}" );
    					$file = "{$day}/{$n}";
    
    		$path = File_ROOT . '/' .$file;
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    //echo $path ;

    		move_uploaded_file($z['tmp_name'], $path);
    
    	//echo $file;exit;
    	return $file;
    }
    return $file;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    }
    //分页函数.
    function get_pager($url, $param, $count, $page = 1, $size = 10)
    {
    s i z e = i n t v a l ( size = intval( size=intval(size);
    if( s i z e < 1 ) size < 1) size<1)size = 10;
    p a g e = i n t v a l ( page = intval( page=intval(page);
    if( p a g e < 1 ) page < 1) page<1)page = 1;
    c o u n t = i n t v a l ( count = intval( count=intval(count);

    $page_count = $count > 0 ? intval(ceil($count / $size)) : 1;
    if ($page > $page_count)$page = $page_count;
    
    $page_prev  = ($page > 1) ? $page - 1 : 1;
    $page_next  = ($page < $page_count) ? $page + 1 : $page_count;
    
    $param_url = '?';
    foreach ($param as $key => $value)$param_url .= $key . '=' . $value . '&';
    
    $pager['url']        = $url;
    $pager['start']      = ($page-1) * $size;
    $pager['page']       = $page;
    $pager['size']       = $size;
    $pager['count']		 = $count;
    $pager['page_count'] = $page_count;
    
    if($page_count <= '1')
    {
        $pager['first'] = $pager['prev']  = $pager['next']  = $pager['last']  = '';
    }
    else
    {
    	if($page == $page_count)
    	{
    		$pager['first'] = $url . $param_url . 'page=1';
    		$pager['prev']  = $url . $param_url . 'page=' . $page_prev;
    		$pager['next']  = '';
    		$pager['last']  = '';
    	}
    	elseif($page_prev == '1' && $page == '1')
    	{
    		$pager['first'] = '';
    		$pager['prev']  = '';
    		$pager['next']  = $url . $param_url . 'page=' . $page_next;
    		$pager['last']  = $url . $param_url . 'page=' . $page_count;
    	}
    	else
    	{
    		$pager['first'] = $url . $param_url . 'page=1';
    		$pager['prev']  = $url . $param_url . 'page=' . $page_prev;
    		$pager['next']  = $url . $param_url . 'page=' . $page_next;
    		$pager['last']  = $url . $param_url . 'page=' . $page_count;
    	}
    }
    return $pager;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45

    }
    ?>

    `

  • 相关阅读:
    openwrt 断网重启检测脚本
    Triple-shapelet Networks for Time SeriesClassification(ICDM2020)
    MySQL进阶篇2-索引的创建和使用
    Unity使用UnityWebRequest读取音频长度不对的解决方法
    头条文章采集工具-快速获取头条文章方法
    10UEC++吃豆人[吃超级豆子和改变游戏状态]
    大数据必学Java基础(四十四):接口讲解
    Compositional Minimax Optimization学习之路
    C++:哈希表的模拟实现
    2023 香山杯 --- Crypto wp
  • 原文地址:https://blog.csdn.net/QQ55318293/article/details/127458685