companyModel.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. //公司单位
  3. class companyClassModel extends Model
  4. {
  5. public function getselectdata($lx=0)
  6. {
  7. $where= 'id>0';
  8. if(ISMORECOM && $this->adminid>1){
  9. $cinfo = m('admin')->getcompanyinfo($this->adminid);
  10. $allid = join(',',$cinfo['companyallid']);
  11. $where = 'id in('.$allid.')';
  12. }
  13. $rows = $this->getall($where,'`id`,name,pid','`sort`');
  14. $barr = array();
  15. if($lx==0)$barr[] = array(
  16. 'value' => '0',
  17. 'name' => '最顶级',
  18. );
  19. $this->getselectdatas($rows, $barr, '0', 0);
  20. $idarr = array();
  21. foreach($barr as $k=>$rs)$idarr[] = $rs['value'];
  22. foreach($rows as $k=>$rs){
  23. if(!in_array($rs['id'], $idarr)){
  24. $barr[] = array(
  25. 'name' => $rs['name'],
  26. 'value' => $rs['id'],
  27. );
  28. }
  29. }
  30. return $barr;
  31. }
  32. private function getselectdatas($rows,&$barr, $pid='0', $level=0)
  33. {
  34. foreach($rows as $k=>$rs){
  35. if($rs['pid']==$pid){
  36. $str = '';
  37. for($i=0;$i<$level;$i++)$str.='&nbsp;&nbsp;&nbsp;';
  38. if($str!='')$str.='├';
  39. $name = ''.$str.''.$rs['name'].'';
  40. $barr[] = array(
  41. 'name' => $name,
  42. 'value' => $rs['id'],
  43. );
  44. $this->getselectdatas($rows, $barr, $rs['id'], $level+1);
  45. }
  46. }
  47. }
  48. //树形结构
  49. public function gettreedata($rows, &$barr, $pid='0', $level=1)
  50. {
  51. foreach($rows as $k=>$rs){
  52. if($rs['pid']==$pid){
  53. $rs['level'] = $level;
  54. $rs['stotal'] = $this->gettreetotal($rows, $rs['id']);
  55. $barr[] = $rs;
  56. $this->gettreedata($rows, $barr, $rs['id'], $level+1);
  57. }
  58. }
  59. }
  60. public function gettreetotal($rows, $pid)
  61. {
  62. $stotal = 0;
  63. foreach($rows as $k=>$rs){
  64. if($rs['pid']==$pid){
  65. $stotal++;
  66. }
  67. }
  68. return $stotal;
  69. }
  70. //公司名称修改了,对应数据更新
  71. public function updatecompany($id, $name)
  72. {
  73. m('userract')->update("`company`='$name'","`companyid`='$id'");//员工合同
  74. }
  75. /**
  76. * 所属单位名称
  77. */
  78. public function comidname($comid)
  79. {
  80. if($comid && is_numeric($comid)){
  81. $mors = $this->getXinxi($comid);
  82. return arrvalue($mors, 'name');
  83. }else{
  84. return $comid;
  85. }
  86. }
  87. }
粤ICP备19079148号