zoukankan      html  css  js  c++  java
  • PHP——小尾巴之流程处理

    说明:首先新建一个流程,把处理流程的节点人员添加进去,最后点确定提交至数据库

            处理流程:不同用户登录进去处理自己的节点部分对其审核通过

    新建两个流程:

    第一个为借款流程:处理顺序为:李四发起=>张三=>再见孙悟空

    第二个为请假流程:处理顺序为:李四发起=>张三

    效果为

    lisi先进行处理

    zhangsan处理完之后

    zaijian处理完之后

    数据库:

    test.php

    <?php
        session_start();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script src="../jquery-1.11.2.min.js"></script>
    </head>
    
    <body>
    <h1>新建流程</h1>
    <div>输入流程名:
        <input type="text" id="liucheng"/>
    </div><br />
    
    <div>请选择节点人员:</div><br />
    <div>
        <?php
            include("../mydbda.php");
            $db = new mydbda();
            $sqlj = "select * from Users";
            $strj = $db->Select($sqlj,"CX","mydb");
            $hangj = explode("|",$strj);
            for($i=0;$i<count($hangj);$i++)
            {
                list($uid,$pwd,$name) = explode("^",$hangj[$i]);
                echo "<input type='radio' value='{$uid}' class='ry' name='ry'/>{$name}&nbsp;";
            }
        ?>
    </div><br />
    <input type="button" value="添加节点" id="sure" />
    <br /><br />
    <div id="biao">
        <?php
            if(isset($_SESSION["liucheng"]))
            {
                $attr = $_SESSION["liucheng"];
                
                for($i=0;$i<count($attr);$i++)
                {
                    $sqlu = "select Name from Users where Uid = '".$attr[$i]."'";
                    $stru = $db->Select($sqlu,"CX","mydb");
                    echo "<div class='jd' bs='".$attr[$i]."'>{$i}.{$stru}--<input type='button' class='delete' bs='".$i."' value='删除'/></div>";
                }
            }
            else
            {
                echo "当前流程节点为空!";
            }
        ?>
    </div><br />
    <input type="button" value="确定" id="add" />
    <br />
    
    </body><br />
    <script type="text/javascript">
    $(document).ready(function(e) {
        
        //添加节点
        $("#sure").click(function(){
                var user = $(".ry");
                for(var i=0; i<user.length;i++)
                {
                    if(user.eq(i)[0].checked == true)
                    {
                        var uid = user.eq(i).val();
                        
                        $.ajax({
                            
                                url:"chulilc.php",
                                data:{uid:uid},
                                type:"POST",
                                dataType:"TEXT",
                                success: function(data){
                                        window.location = "test.php";//让页面刷新一下是为了调上面的php代码
                                    }
                            
                            });
                    }
                }
            
            })
            
        //删除节点
        $(".delete").click(function(){
            
            var ids = $(this).attr("bs");
            
            $.ajax({
                            
                    url:"chulisc.php",
                    data:{ids:ids},
                    type:"POST",
                    dataType:"TEXT",
                    success: function(data){
                            window.location = "test.php";
                        }
                
                });
            
            })
            
        //添加流程
        $("#add").click(function(){
                
                var name = $("#liucheng").val();
                
                $.ajax({
                    
                    url:"add.php",
                    data:{name:name},
                    type:"POST",
                    dataType:"TEXT",
                    success: function(data){
                            if(data=="OK")
                            {
                                alert("添加成功!");
                            }
                            else
                            {
                                alert("添加失败!");
                            }
                        
                        }
                    
                    });
            
            })
        
    });
    </script>
    </html>

    chulilc.php

    <?php
        session_start();
        
        $uid = $_POST["uid"];
        
        //isset判断有没有被附上值
        if(isset($_SESSION["liucheng"]))
        {
            //当第二次运行之后
            $shuzu = $_SESSION["liucheng"];
            array_push($shuzu,$uid);
            $_SESSION["liucheng"] = $shuzu;
        }
        else
        {
            //没有值的时候(第一次运行的时候)  
            //新建数组
            $shuzu = array();
            
            //往数组末尾添加数据
            array_push($shuzu,$uid);
            
            //定义session liucheng
            $_SESSION["liucheng"] = $shuzu;
        }
    
        
    ?>

    chulisc.php

    <?php
        session_start();
        
        $ids = $_POST["ids"];
    
        $shuzu = $_SESSION["liucheng"];
        unset($shuzu[$ids]); //删除元素
        $shuzu = array_values($shuzu); //重新索引
        $_SESSION["liucheng"] = $shuzu;
    
    ?>

    add.php

    <?php
        session_start();
        
        include("../mydbda.php");
        
        $db = new mydbda();
        
        $name = $_POST["name"];
        
        $code = date("YmdHisms",time());
        
        $sqll = "insert into LiuCheng values('{$code}','{$name}')";
        $db->Select($sqll,"QT","mydb");
        
        $attr = $_SESSION["liucheng"];
        
        for($i=0;$i<count($attr);$i++)
        {
            $sqlj = "insert into FlowPath values('','{$code}','{$attr[$i]}','{$i}')";
            $db->Select($sqlj,"QT","mydb");
        }
        echo "OK";

    denglu.php

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    <h1>登录</h1>
    <form action="dlchuli.php" method="post">
    <div>用户名:<input type="text" name="uid"/></div>
    <div>密码:<input type="text" name="pwd"/></div>
    <input type="submit" value="登录" />
    </form>
    </body>
    </html>

    dlchuli.php

    <?php
        session_start();
        include("../mydbda.php");
        $db = new mydbda();
        
        $uid = $_POST["uid"];
        $pwd = $_POST["pwd"];
        
        $sql = "select count(*) from Users where Uid = '{$uid}' and Pwd = '{$pwd}'";
        $str = $db->Select($sql,"CX","mydb");
        
        if($str == "1")
        {
            $_SESSION["uid"] = $uid;
            header("Location:faqi.php");
        }
        else
        {
            header("Location:denglu.php");
        }
        

    faqi.php

    <?php
        session_start();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script src="../jquery-1.11.2.min.js"></script>
    </head>
    
    <body>
    <h1>发起流程</h1>
    <div>请选择流程:
    <select id="lc">
    <?php
    
        include("../mydbda.php");
        $db = new mydbda();
        
        $sql = "select * from LiuCheng";
        $str = $db->Select($sql,"CX","mydb");
        $hang = explode("|",$str);
        for($i=0;$i<count($hang);$i++)
        {
            list($code,$name) = explode("^",$hang[$i]);
            
            echo "<option value='{$code}'>{$name}</option>";
        }
        
    ?>
    </select>
    </div>
    <br />
    <div>
        <div>请输入流程内容:</div><br />
        <div>
            <textarea id="nr" style="400px; height:250px"></textarea>
        </div>
    </div>
    <br />
    <input type="button"  value="确定" id="btn"/>
    <a href="chuliliucheng.php">处理</a>
    </body>
    <script type="text/javascript">
    $(document).ready(function(e) {
        $("#btn").click(function(){
            
            var code = $("#lc").val();
            var nr = $("#nr").val();
            
            $.ajax({
                
                    url:"faqichuli.php",
                    data:{code:code,nr:nr},
                    type:"POST",
                    dataType:"TEXT",
                    success: function(data){
                        
                            if(data == "OK")
                            {
                                alert("发起成功!");
                            }
                            else
                            {
                                alert("发起失败!");
                            }
                        
                        }
                
                });
            
            })
    });
    </script>
    </html>

    faqichuli.php

    <?php
        session_start();
        
        include("../mydbda.php");
        $db = new mydbda();
        
        $code = $_POST["code"];
        $nr = $_POST["nr"];
        
        $uid = $_SESSION["uid"];
        $riqi = date("Y-m-d H:i:s",time());
        
        $sql = "insert into UserFlow values('','{$code}','{$uid}','{$nr}',false,'{$riqi}',0)";
        $str = $db->Select($sql,"QT","mydb");
        echo $str;

     chuliliucheng.php

    <?php
        session_start();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    <h1>处理流程</h1>
    <table width="100%" border="1" cellpadding="0" cellspacing="0">
        <tr>
            <td>流程名称</td>
            <td>发起者</td>
            <td>内容</td>
            <td>是否结束</td>
            <td>发起日期</td>
            <td>操作</td>
        </tr>
        
        <?php
            $uid = $_SESSION["uid"];
            
            include("../mydbda.php");
            $db = new mydbda();
            
            $sql = "select * from UserFlow";
            
            $str = $db->Select($sql,"CX","mydb");
            
            $hang = explode("|",$str);
            for($i=0;$i<count($hang);$i++)
            {
                list($ids,$code,$uids,$nr,$isok,$riqi,$towhere) = explode("^",$hang[$i]);
                
                $sqlj = "select * from FlowPath where Code = '{$code}'";
                $strj = $db->Select($sqlj,"CX","mydb");
                $hangj = explode("|",$strj);
                $bs = false;
                $bscl = false;
                for($j=0;$j<count($hangj);$j++)
                {
                    list($idsj,$codej,$uidj,$orderj) = explode("^",$hangj[$j]);
                    
                    //判断登陆用户名是否等于节点,即要不要处理这个节点;并判断节点是否走到他
                    if(($uidj == $uid) and ($orderj <= $towhere))
                    {
                        
                        $bs= true;
                    }
                    if(($uidj == $uid) and ($orderj == $towhere))
                    {
                        
                        $bscl= true;
                    }
                }
                
                //处理流程名
                $sqllc = "select Name from LiuCheng where Code = '{$code}'";
                $lcname = $db->Select($sqllc,"CX","mydb");
                //处理发起者名
                $sqlfq = "select Name from Users where Uid = '{$uids}'";
                $fqname = $db->Select($sqlfq,"CX","mydb");
                //处理是否结束
                $jieshu = $isok?"<span style='background-color:green'>已结束</span>":"<span style='background-color:red'>进行中</span>";
                //处理操作
                $caozuo = $bscl?"<a href='tongguo.php?code=".$ids."'>通过</a>":"<span style='background-color:gray'>已通过</span>";
                if($bs)
                {
                    echo "<tr><td>{$lcname}</td><td>{$fqname}</td><td>{$nr}</td><td>{$jieshu}</td><td>{$riqi}</td><td>{$caozuo}</td></tr>";
                }
            }
        ?>
        
    </table>
    </body>
    </html>

    tongguo.php

    <?php
    include("../mydbda.php");
    $db = new mydbda();
    
    $code = $_GET["code"];
    //通过,流程指向下一个人
    $sql = "update UserFlow set ToWhere = ToWhere+1 where Ids = '{$code}' ";
    
    $db->Select($sql,"QT","mydb");
    //查询流程走到哪了
    $sqlt = "select Code,ToWhere from UserFlow where Ids = '{$code}'";
    $strtw = $db->Select($sqlt,"CX","mydb");
    list($lccode,$tw) = explode("^",$strtw);
    //查询该流程下节点数量
    $sqlf = "select count(*) from FlowPath where Code = '{$lccode}'";
    $zs = $db->Select($sqlf,"CX","mydb");
    //判断是否走完流程
    if($tw >= $zs)
    {
        $sqlx = "update UserFlow set IsOk = true where Ids = '{$code}' ";
    
        $db->Select($sqlx,"QT","mydb");
    }
    
    
    header("Location:chuliliucheng.php");
  • 相关阅读:
    第四次作业
    团队编程第三次博客
    团队编程2
    团队编程
    ARM寄存器总结:
    proc介绍及问题分析
    Ubuntu连接手机步骤
    Bluetooth(android 4.2.2版本)
    Android Bluetooth 总结
    android代码常识
  • 原文地址:https://www.cnblogs.com/Chenshuai7/p/5292244.html
Copyright © 2011-2022 走看看