wzh 5 lat temu
rodzic
commit
7485569e88
1 zmienionych plików z 28 dodań i 3 usunięć
  1. 28 3
      api/application/controllers/Project.php

+ 28 - 3
api/application/controllers/Project.php

@@ -413,9 +413,33 @@ class Project extends Base_Controller {
         $where = array();
 
         if (empty($type)) {
-            if ($role != SYSTEM_ADMIN) $where['company'] = $company;
+            if ($role != SYSTEM_ADMIN) {
+                if ($role == 2) {
+                    // $filter .= ' AND L.manu = '.$company;
+                    $where['L.manu = '] = $company;
+                    $sectionWhere['L.manu'] = $company;
+                    // $countWhere[] = 'manu = '.$company;
+                }elseif ($role == 3) {
+                    // $filter .= ' AND L.supplier = '.$company;
+                    // $countWhere[] = 'supplier = '.$company;
+                    $where['L.supplier = '] = $company;
+                    $sectionWhere['L.supplier'] = $company;
+                }elseif ($role == 4) {
+                    // $filter .= ' AND L.po = '.$company;
+                    // $countWhere[] = 'po = '.$company;
+                    $where['L.po = '] = $company;
+                    $sectionWhere['L.po'] = $company;
+                }else {
+                    // $filter .= ' AND P.cityid = '.$company;
+                    $where['P.cityid = '] = $company;
+                    $sectionWhere['P.cityid'] = $company;
+                }
+            }
 
-            $data = $this->Project_model->get_list($where, 'projectname,id,lampcount',NULL, NULL, 'convert(projectname using gbk) asc', NUll);
+            // $data = $this->Project_model->get_list($where, 'projectname,id,lampcount',NULL, NULL, 'convert(projectname using gbk) asc', NUll);
+            $join = array();
+            $join = ['table'=>'project as P','cond'=>'L.projectid = P.id','type'=>'left'];
+            $data = $this->Lamp_model->get_list_by_join($where, 'P.projectname,P.id,count(L.id) as lampcount',NULL, NULL, $join, 'convert(projectname using gbk) asc', 'L.projectid', 'L');
             if (!empty($data)) {
                 $temp = array();
                 foreach ($data as $key => $value) {
@@ -423,7 +447,8 @@ class Project extends Base_Controller {
                     $temp[$value['id']] = $value;
                 }
                 $projectIdArr = array_column($data, 'id');
-                $sectionList = $this->Lamp_model->get_list(['projectid'=>$projectIdArr], 'section as name,projectid,count(*) as lampcount',NULL, NULL, 'convert(section using gbk) asc', 'projectid,section');
+                $sectionWhere['L.projectid'] = $projectIdArr;
+                $sectionList = $this->Lamp_model->get_list_by_join($sectionWhere, 'L.section as name,L.projectid,count(*) as lampcount',NULL, NULL,$join, 'convert(L.section using gbk) asc', 'L.projectid,L.section','L');
                 foreach ($sectionList as $key => $value) {
                     if (isset($temp[$value['projectid']])) {
                         unset($value['projectid']);