• 获得审批人的id


    //sima 传入uid 得到所有上级部门负责人id
    private function partment($uid,$level='')
    {
    //传入部门id 返回本部门所有上级部门负责人的id
    $data = array();
    function sima($pid)
    {
    $res = M('Department')
    ->alias('d')
    ->field('d.did did ,p.did pid , d.dperson dp , p.dperson pd')
    ->join('ganen_department p on d.dpid = p.did ')
    ->where("d.did = $pid")
    ->find();
    $data =$res['pd'];
    if(!empty($res['pid']) )
    {
    $data=$data.','.sima($res['pid']);
    }
    //如果得到的是0或者null 则跳过
    return trim(trim($data,','),'0');
    }
    //传入uid 得到部门id
    $res = M('Department_station')->field('did')->where("uid = $uid")->find();
    if(!empty($res['did']))
    {
    $did = $res['did'];
    }else{
    return '部门有误';
    }
    $leader_id = sima($did);
    //判断传入的uid 是否为本部门的负责人
    //如果为本部门的负责人 则不必区分是否为 项目
    $Depar = M('Department')->field('dperson,is_pro')->where("did = $did")->find();
    if($uid != $Depar['dperson'])
    {
    //将本部门负责人的id 加上
    $leader_id = $Depar['dperson'].','.$leader_id;
    //查找项目负责人的id 要区分是咨询部还是项目部
    //查到所负责项目的主管 如果只有一个项目 主管审批 如果多个项目 主管不批 总监审批
    $res = M('Project_salary')->field('projectids')->where("uid = $uid and status = 1")->find();
    $pro = $res['projectids'];
    //判断是否只有一个项目
    $arr = explode(',',$pro);
    //删除数组内的空值
    $arr = array_filter($arr);
    $charge = '';
    if(count($arr) == 1)
    {
    //项目部
    if($Depar['is_pro'] == 1)
    {
    $res=M('Project')->field('charge')->where("id = $pro")->find();
    $charge['leader'] = $res['charge'];
    }
    //咨询部
    if($Depar['is_pro'] == 2)
    {
    $res=M('Project')->field('charge_answer')->where("id = $pro")->find();
    $charge['leader'] = $res['charge_answer'];
    }
    }

    }
    //判断是否为项目部门
    //解决负责人为0 出现,的问题
    //将字符串变为数组
    $arr = explode(',',$leader_id);
    //删除数组内的空值
    $arr_id = array_filter($arr);

    //判断主管id是否为空
    if(!empty($charge['leader']))
    {
    //在数组的头部植入主管id
    array_unshift($arr_id,$charge['leader']);
    //$leader_id = $charge['leader'].','.$leader_id;
    }
    //判断审批级别
    if(!empty($level))
    {
    //通过审批级别 得到截取数组
    $arr_id =array_slice($arr_id,0,$level);
    }
    //将数组重新变为字符串
    $leader_id = implode(',',$arr_id);
    return $leader_id;
    }

  • 相关阅读:
    【MVC 4】7.SportsSore:完成购物车
    【MVC 4】6.SportsSore:导航
    【MVC 4】5.SportsSore —— 一个真实的应用程序
    【网络文摘】面试感悟:3年工作经验程序员应有的技能
    【网络文摘】一个大神程序员的使命感究竟应该是什么
    join的简单总结
    模块化(1):基本思路
    Android 9.0新特性
    DataBinding初认识
    Android 7.0 新特性
  • 原文地址:https://www.cnblogs.com/simadongyang/p/7449240.html
Copyright © 2020-2023  润新知