//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;
}

最新文章

  1. SQL Server进制
  2. Mac OS 使用Git
  3. ios 调试
  4. android考试题
  5. ruby特性
  6. MVC的特点
  7. RDLC添加链接
  8. 多个版本的Python如何设置不冲突
  9. jackson json转对象 json转集合 对大小写支持
  10. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习9
  11. Html table、thead、tr、th、td 标签
  12. SOCKET 接收图片
  13. 存在重复元素(python3)
  14. web spring 容器
  15. 使用word2013写博客
  16. No Spring WebApplicationInitializer types detected on classpath异常的解决
  17. BZOJ4883: [Lydsy1705月赛]棋盘上的守卫(最小环套树森林&优化定向问题)
  18. jQueryeasyUI+Hibernate+struts2实现商城后台管理之添加操作时的unique验证
  19. Scala入门:从HelloWorld开始【源码及编译】
  20. 读取resource下文件

热门文章

  1. Leetcode138. Copy List with Random Pointer复制带随机指针的链表
  2. Kubernetes 基于 ubuntu18.04 手工部署 (k8s)
  3. Django+小程序技术打造微信小程序助手
  4. 使用neo4j-import导入数据及关系
  5. Python学习(二) 基础语法之初看python
  6. Oracle 优化效率
  7. axios简单的二次封装
  8. Python 数据文件操作——写出数据
  9. arcgis增大缩放级别
  10. Java 1.8 Stream 用例测试