zoukankan      html  css  js  c++  java
  • 获得审批人的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;
    }

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 数字黑洞
    Minifilter微过滤框架:框架介绍以及驱动层和应用层的通讯
  • 原文地址:https://www.cnblogs.com/simadongyang/p/7449240.html
Copyright © 2011-2022 走看看