index_t = strtotime(date("Y-m-d H:i:s")); $logEtn->section = 3; $this->logEtn = $logEtn; $log = new LoggerFile(); $this->logger = new MappingHandlerModel($log); return true; } // запускается периодически через крон public function actionGetworks($company) { //$this->sectionList(); //exit; $this->company = $company; $GWparams = [ 'url' => 'http://' . Yii::$app->params['api']['domain'].'/Thingworx/Things/2050UserLibraryExp/Services/my_works', //'url' => 'http://devplatform.digitaldepot.ru:8085/Thingworx/Things/SMoPPIntegrationLibrary/Services/getUserWorks', 'param' => '', 'login' => 'ПройдаковИА', 'pass' => 'Ip15351112' ]; // список сотрудников онлайн $onlineUser = $this->getOnlineMobileUser($company); if( 0 == count($onlineUser)) { return 'Нет сотрудников онлайн'; } //$this->logger->setLog('ID пользователя => ' . (int)$_SESSION["id"]); $this->prepareLogString .= "\n=================== СТАРТ МЕППИНГА ==================================\n"; $this->prepareLogString .= date("Y-m-d H:i:s") . "\n"; $mainModel = new MainModel(); // для каждого сотрудника онлайн запускаем проекты если они еще не запущены $setOnlineWorkers = []; $this->prepareLogString .= "Колличество cотрудников онлайн :" . count($onlineUser) ."\n"; foreach($onlineUser as $user) { $buisy = $this->buisyEmployee($user); if( $buisy || ('' == $user->uuid and null == $user->uuid )) { continue; } $GWparams['param'] = $user->uuid; $listWorks2 = json_decode($mainModel->curlRequest2($GWparams),true); $listWorks2 = $this->prepareListWorks($listWorks2); //foreach ( $listIssetWorks3 as $work) { !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //echo '
'; //var_dump($user->id); //var_dump($listWorks2); //echo ''; foreach ( $listWorks2['data'] as $work) { $mappingapiModel = new \app\models\MappingapiModel(); $this->datailWorkArray[$work['id_work']] = $mappingapiModel->workDetail($user->uuid,$work['id_work']); foreach( $this->datailWorkArray[$work['id_work']]['workers_uuid'] as $uuid) { $setOnlineWorkers[] = $uuid; } } $this->prepareLogString .= $mappingapiModel->prepareLogString."\n"; $this->prepareLogString .= "Вот это сейчас должен получить работу :" . $user->id . "( ".$user->name." )\n"; } $setOnlineWorkers = array_unique($setOnlineWorkers); $onlineUserModificate = \app\models\entity\Accounts::find()->where(['in','uuid',$setOnlineWorkers])->andWhere(['company' =>$company])->all(); $this->prepareLogString .= "Колличество cотрудников онлайн для них есть работа ( с напарниками ):" . count($setOnlineWorkers)."\n"; foreach($onlineUserModificate as $user) { //var_dump($user->id);continue; if( '' == $user->uuid and null == $user->uuid || 349 == $user->id) { continue; } $this->issetLaunch = false; $GWparams['param'] = $user->uuid; ElasticLog::eipp($GWparams, 'my_works', 0); $listWorks2 = $mainModel->curlRequest2($GWparams); $unixTime = time(); LogEippResponse::addLog($unixTime.'gw'. $user->id ,$listWorks2,'Получение работ от ЕИПП'); ElasticLog::eipp($listWorks2, 'my_works', 0, false); $this->prepareLogString .= "\nMY_WORK =====>\n"; $this->prepareLogString .= "Параметры: \n user_id =>". $GWparams['param'] .".\n"; $this->prepareLogString .= "Строка запроса : \n " . $GWparams['url'] .".\n"; $this->prepareLogString .= "Вот тут можно посмотреть что ЕИПП прислал по запросу http://dev.prmsys.net/api/mappinghandler/eippresponse?indx=".$unixTime."\n"; $this->prepareLogString .= "MY_WORK ======>\n\n"; $listWorks2 = json_decode($listWorks2,true); $listWorks2 = $this->prepareListWorks($listWorks2); /// НЕТ ДВУХ ПОЛЕЙ ["section_num"] ["section_DK"] //echo '
'; //var_dump($user->id); //var_dump('Привет', $user->id , "\n"); //echo ''; //continue; //$this->logEtn->addlogText('','sdfsdfsdf'); $this->prepareLogString .= "Колличество работ из еипп: ". count($listWorks2['data'])." \n Cотрудник:" . $user->id . "( ". $user->name ." )\n"; $listIsabsentWorks2 = $this->Getisabsentworksjp($listWorks2); // вновь утвержденный план 1 | вернет список работ кот нет ( в JobPlan ) $listIssetWorks3 = $this->Getissetworksjp($listWorks2); $this->prepareLogString .= 'Колличество работ из еипп ( сверхциклвая ): '. count($listIsabsentWorks2)."\n"; $this->prepareLogString .= 'Колличество работ из еипп ( цикловая ): '. count($listIssetWorks3)."\n"; $this->prepareLogString .= "\n СВЕРХЦИКЛОВЫЕ \n\n"; //$addJob2launch2 = $this->addJob2launch2($listIsabsentWorks2,$user); $this->prepareLogString .= "\n ЦИКЛОВЫЕ \n\n"; //$addJob2launch3 = $this->addJob2launch3($listIssetWorks3,$user); if (!$this->issetLaunch) { continue; } $this->logger->setLog("Интеграция сверхцикловых работ прошла без падений!"); $this->logger->setLog("=====================================================\n\n"); } return true;//$listWorks; } public function actionDojob() { Yii::$app->db->createCommand('update `accounts_internal` set `last_seen_mobile` = NOW() where id in (351,349,350)')->execute(); } public function actionDopro() { $JobPlanEntitty = AsusgJobplan::find()->where(['name' => 'Тормозное и пневматическое оборудование после ремонта испытать , отрегулировать согласно инструкции'])->one(); // 1204 1567 $jsusgJob2CommandEntity = AsusgJob2Command::find()->where(['asusg_job_id' => $JobPlanEntitty->id])->all(); foreach($jsusgJob2CommandEntity as $job) { echo '
'; var_dump('3 =>'. $job->id, $job->asusg_job_id); var_dump('3 =>'. $job->jobplantie->id); echo ''; } exit; } public function actionProctest() { $procedureModel = new ProcedureModel(); $procedureModel->asusg_build_and_start_project_auto(27,210); } public function Getisabsentworksjp( $listWorks = null){ $result = []; if ( null == $listWorks) { return false; } foreach( $listWorks['data'] as $work) { $asusgJobPlan = AsusgJobPlan::find()->where(['name' => $work['work_name']])->one(); if ( null == $asusgJobPlan ){ $result[] = $work; } } return $result; } public function Getissetworksjp( $listWorks = null){ $result = []; if ( null == $listWorks) { return false; } foreach( $listWorks['data'] as $work) { $asusgJobPlan = AsusgJobPlan::find()->where(['name' => $work['work_name']])->one(); if ( null != $asusgJobPlan ){ $result[] = $work; } } return $result; } public function getOnlineMobileUser($company){ $result = []; $accountsEntity = \app\models\entity\Accounts::find()->where(['company' => $company])->all(); foreach ($accountsEntity as $account) { //var_dump($account->id,'
"; //var_dump($user->id); //var_dump($work['work_name']); //var_dump($dwResult["hw_measurements_status"]); //var_dump($asusgJob2LaunchEntity->id); //echo ""; //continue; $projtype = $this->getProjectType($work["repair_name"],$work["eq_serie"]); $switcher = $asusgJob2LaunchEntity; if ( null == $switcher) { $resultArr = []; $asusgJob2LaunchEntity = new AsusgJob2Launch(); $asusgJob2LaunchEntity->asusg_jobplan_id = Yii::$app->params['supercycleplan']; $asusgJob2LaunchEntity->asusg_employee_id1 = $user->id; $asusgJob2LaunchEntity->asusg_job_uuid = $work['id_work']; $asusgJob2LaunchEntity->employees_uuid = $user->uuid; $asusgJob2LaunchEntity->section_uuid = $work["section_id"]; $asusgJob2LaunchEntity->asusg_project_id = 0; $asusgJob2LaunchEntity->job_order = 0; $asusgJob2LaunchEntity->time_limit = $dwResult['time_limit']; $asusgJob2LaunchEntity->outfit = $dwResult['outfit']; $asusgJob2LaunchEntity->name = $work['work_name']; $asusgJob2LaunchEntity->section_name = $work["section_lit"]; //$asusgJob2LaunchEntity->asusg_projecttype_id = 0; $asusgJob2LaunchEntity->asusg_projecttype_id = $projtype; if (!$asusgJob2LaunchEntity->save()) { $this->logger->setLog('в Job2launch не добавилась работа => "'. $work['work_name']. '" Добавление работ будет пропущено так как такая запись уже есть.'); continue; } $this->issetLaunch = true; $this->logger->setLog($this->prepareLogString); $this->prepareLogString = ''; $this->logger->setLog('в Job2launch была добавлена работа => "'. $work['work_name'].'"'); /// сначала генерю проект $projId = $this->generateProject($work); /// сначала генерю проетк } else { $userUuidArr = explode(',', $asusgJob2LaunchEntity->employees_uuid); if ( in_array( $user->uuid , $userUuidArr)) { // если сотрудник уже привязан к лаунчу $this->logger->setLog('сотрудник '.$user->name .' ('.$user->id.') уже привязан к лаунчу'. $asusgJob2LaunchEntity->id); continue; } else { $asusgJob2LaunchEntity->employees_uuid .= ','. $user->uuid; $asusgJob2LaunchEntity->save(); $this->logger->setLog('сотрудники ('.$asusgJob2LaunchEntity->employees_uuid.') привязаны к лаунчу'. $asusgJob2LaunchEntity->id); } //continue; $this->prepareLogString .= "ВОТ ТУТ Я ХОТЕЛ ПОЛУЧИТЬ ИД ПРОЕКТА ЧЕРЕЗ ЗАДАЧУ( launch_id = ".$asusgJob2LaunchEntity->id.") => " . $asusgJob2LaunchEntity->tasks->id .", ВОТ ЧТО ПОЛУЧИЛ => " . $asusgJob2LaunchEntity->tasks->input_id ."!\n"; $projId = $asusgJob2LaunchEntity->tasks->input_id; } /////////////// ДОБАВЛЕНИЕ ЗАДАЧИ $this->prepareLogString .= "\n 3. ДОБАВЛЕНИЕ ЗАДАЧИ \n\n"; $tasktypesEntity = Tasktypes::find()->where(['name' => 'Секция '.$let.', задача','company' => $this->company])->one(); $tasksEnt = Tasks::find()->where(['parent_id' => 0,'asusg_job_mapped_id' => $asusgJob2LaunchEntity->id,'assignees_arr' => $user->id])->one(); if ( null != $tasksEnt) { continue; } $this->logger->setLog($this->prepareLogString); $this->prepareLogString = ''; $tasksEntity = new Tasks(); $tasksEntity->parent_id = 0; $tasksEntity->status = 2; $tasksEntity->type = $tasktypesEntity->id; $tasksEntity->assignees_arr = $user->id; $tasksEntity->preferred_assignee = $user->id; $tasksEntity->created = date("Y-m-d H:i;s"); $tasksEntity->asusg_job_mapped_id = $asusgJob2LaunchEntity->id; $tasksEntity->mapping_comment = $work["outfit"] . ': ' . $work['work_name']; $tasksEntity->text = $work["section_lit"] . "\n" . $work["outfit"] . ': ' . $work['work_name'] . "\n" . $dwResult['workers']; if($tasksEntity->save()) { $this->testIdpl2 = $tasksEntity->id; $this->logger->setLog('в Tasks была добавлена ЗАДАЧА => "'. $work['work_name'] . '" id => '.$tasksEntity->id); } else { $this->logger->setLog('в Tasks была НЕ добавлена ЗАДАЧА => "'. $work['work_name'] . '" id => '.$tasksEntity->id); } //var_dump($tasksEntity->errors,$user->id); echo '
"; //var_dump($tasksEntity2->errors,$tasksEntity->errors); //echo ""; } Yii::$app->params['countPriority'] = 1; } public function addJob2launch3($listWorks,$user) { foreach ( $listWorks as $work) { $this->prepareLogString .= "\n 1. ДОБАВЛЕНИЕ В LAUNCH \n\n"; $asusgJob2LaunchEntity = AsusgJob2Launch::findOne(['asusg_job_uuid' => $work['id_work']]); $let = mb_substr($work["section_lit"], -1); // ВАЖНО ПОНИМАТЬ !!!! // если проект для такой работы уже есть, его создавать нельзя // но можно прикреплять к нему задачи. Сотрудник который зашел первый получает и замеры и тмц и работы // тот кто зашел вторым получает только работы. //$mappingapiModel = new \app\models\MappingapiModel(); //$dwResult = $mappingapiModel->workDetail($user->uuid,$work['id_work']); $dwResult = $this->datailWorkArray[$work['id_work']]; //echo "
"; //var_dump($user->id); //var_dump($work['work_name']); //var_dump($dwResult["hw_measurements_status"]); //var_dump($dwResult); //var_dump($user->uuid); //echo ""; //continue; $projtype = $this->getProjectType($work["repair_name"],$work["eq_serie"]); $JobPlanEntitty = AsusgJobplan::find()->where(['name' => $work["work_name"]])->one(); // 1204 1567 if ( null == $JobPlanEntitty->id ) { $this->prepareLogString .= " ВНИМАНИЕ не нашел работу в AsusgJobplan ('name' => ".$work['work_name'].")\n\n"; } $jsusgJob2CommandEntity = AsusgJob2Command::find()->where(['asusg_job_id' => $JobPlanEntitty->id, 'asusg_projecttype_id' => $projtype ])->all(); $switcher = $asusgJob2LaunchEntity; if ( null == $switcher) { $resultArr = []; $asusgJob2LaunchEntity = new AsusgJob2Launch(); $asusgJob2LaunchEntity->asusg_jobplan_id = $JobPlanEntitty->id; $asusgJob2LaunchEntity->asusg_employee_id1 = $user->id; $asusgJob2LaunchEntity->asusg_job_uuid = $work['id_work']; $asusgJob2LaunchEntity->employees_uuid = $user->uuid; $asusgJob2LaunchEntity->section_uuid = $work["section_id"]; $asusgJob2LaunchEntity->asusg_project_id = 0; $asusgJob2LaunchEntity->job_order = 0; $asusgJob2LaunchEntity->asusg_projecttype_id = $projtype; $asusgJob2LaunchEntity->time_limit = $dwResult['time_limit']; $asusgJob2LaunchEntity->outfit = $dwResult['outfit']; $asusgJob2LaunchEntity->name = $work['work_name']; $asusgJob2LaunchEntity->section_name = $work["section_lit"]; if (!$asusgJob2LaunchEntity->save()) { $this->logger->setLog('в Job2launch не добавилась работа => "'. $work['work_name']. '" Добавление работ будет пропущено так как такая запись уже есть.'); continue; } $this->issetLaunch = true; $this->logger->setLog($this->prepareLogString); $this->prepareLogString = ''; $this->logger->setLog('в Job2launch была добавлена работа => "'. $work['work_name'].'"'); /// сначала генерю проект $projId = $this->generateProject($work); /// сначала генерю проект } else { $userUuidArr = explode(',', $asusgJob2LaunchEntity->employees_uuid); if ( in_array( $user->uuid , $userUuidArr)) { // если сотрудник уже привязан к лаунчу $this->logger->setLog('сотрудник '.$user->name .' ('.$user->id.') уже привязан к лаунчу'. $asusgJob2LaunchEntity->id); continue; } else { $asusgJob2LaunchEntity->employees_uuid .= ','. $user->uuid; $asusgJob2LaunchEntity->save(); $this->logger->setLog('сотрудники ('.$asusgJob2LaunchEntity->employees_uuid.') привязаны к лаунчу'. $asusgJob2LaunchEntity->id); } //continue; $this->prepareLogString .= "ВОТ ТУТ Я ХОТЕЛ ПОЛУЧИТЬ ИД ПРОЕКТА ЧЕРЕЗ ЗАДАЧУ => " . $asusgJob2LaunchEntity->tasks->id .", ВОТ ЧТО ПОЛУЧИЛ => " . $asusgJob2LaunchEntity->tasks->input_id ."!\n"; $projId = $asusgJob2LaunchEntity->tasks->input_id; } /////////////// ДОБАВЛЕНИЕ ЗАДАЧИ $this->prepareLogString .= "\n 3. ДОБАВЛЕНИЕ ЗАДАЧИ \n\n"; $tasktypesEntity = Tasktypes::find()->where(['name' => 'Секция '.$let.', задача','company' => $this->company])->one(); $tasksEnt = Tasks::find()->where(['parent_id' => 0,'asusg_job_mapped_id' => $asusgJob2LaunchEntity->id,'assignees_arr' => $user->id])->one(); if ( null != $tasksEnt) { continue; } $this->logger->setLog($this->prepareLogString); $this->prepareLogString = ''; $tasksEntity = new Tasks(); $tasksEntity->parent_id = 0; $tasksEntity->status = 2; $tasksEntity->type = $tasktypesEntity->id; $tasksEntity->assignees_arr = $user->id; $tasksEntity->preferred_assignee = $user->id; $tasksEntity->created = date("Y-m-d H:i;s"); $tasksEntity->asusg_job_mapped_id = $asusgJob2LaunchEntity->id; $tasksEntity->mapping_comment = $work["outfit"] . ': ' . $work['work_name']; $tasksEntity->text = $work["section_lit"] . "\n" . $work["outfit"] . ': ' . $work['work_name'] . "\n" . $dwResult['workers']; if($tasksEntity->save()) { //$this->testIdpl3 = $tasksEntity->id; $this->logger->setLog('в Tasks была добавлена ЗАДАЧА => "'. $work['work_name'] . '" id => '.$tasksEntity->id); } else { $this->logger->setLog('в Tasks была НЕ добавлена ЗАДАЧА => "'. $work['work_name'] . '" id => '.$tasksEntity->id); } //var_dump($tasksEntity->errors,$user->id); echo '
"; //var_dump($job->asusgJob2Launch->asusg_project_id); //var_dump($tasksEntity2->errors,$tasksEntity->errors); //echo ""; } } public function generateProject($work){ $this->logger->setLog("\n 2. ГЕНЕРАЦИЯ ПРОЕКТА \n"); $result = ''; $let = mb_substr($work["section_lit"], -1); $sectionsEntity = Sections::find()->select(['id', 'diagnostic_map']) //->where(['locomotive_series' => $work["eq_serie"],'section_number' => mb_substr($work['section_lit'],0,-1),'letter' => $let]) ->where(['locomotive_series' => $work["eq_serie"],'section_number' => mb_substr($work['section_lit'],0,-1),'section_subnumber' => $work["section_num"]]) ->one(); $this->logger->setLog("Параметры локомотива locomotive_series => " . $work["eq_serie"]. ", section_number => " . $work['section_lit'] . " ,letter => " .$let. " \n"); $diagnostic_map = $sectionsEntity->diagnostic_map; if ( null == $sectionsEntity->id) { $sectionsEntity2 = new Sections(); $sectionsEntity2->locomotive_series = $work["eq_serie"]; $sectionsEntity2->section_number = mb_substr($work['section_lit'],0,-1); $sectionsEntity2->section_subnumber = $work["section_num"]; $sectionsEntity2->diagnostic_map = $work["section_DK"]; $sectionsEntity2->uuid = $work["section_id"]; $sectionsEntity2->letter = $let; if ( $sectionsEntity2->save()) { $this->logger->setLog('в Sections была добавлена новая секция => '. $work["section_num"] . ' id => '.$sectionsEntity2->id); } else { //var_dump($sectionsEntity2->errors); $this->logger->setLog('в Sections при добавлении секции произошли ошибки => '. count($sectionsEntity2->errors) . ' шт.'); $sectionsEntity->diagnostic_map = $work['section_DK']; $sectionsEntity->save(); $this->logger->setLog('Пришлось просто обновить диагностическую карту секция=> '. $sectionsEntity . ', номер карты =>' . $work['section_DK']); } $diagnostic_map = $sectionsEntity->diagnostic_map; } else if( null == $sectionsEntity->diagnostic_map ) { $sectionsEntity->diagnostic_map = $work['section_DK']; $sectionsEntity->save(); } if ($sectionsEntity->diagnostic_map == $work['section_DK'] ) { $query = "select pl.id from projects_locotech pl inner join tasks t on pl.id = t.input_id left join tasktypes tt on t.type = tt.id where pl.company = " . $this->company . " and pl.loco_type = '" . $work["eq_serie"] . "' and pl.loco_number = " . $work["eq_number"] . " and t.parent_id = 0 and tt.letter like '%" . $let . "%' and pl.uuid like '%" . $work['repair_name']. ",%' order by pl.id desc limit 1"; $projectId = Yii::$app->db->createCommand($query)->queryOne(); $result = $projectId['id']; $this->logger->setLog('в Sections секция с такой диагностической картой => '. $work['section_DK'] . ' существует. Ид проекта '. $result); } if (!$result) { $projectsLocotech = new ProjectsLocotech(); $projectsLocotech->action = 197 ; $projectsLocotech->company = $this->company; $projectsLocotech->status = 2; $projectsLocotech->loco_type = $work["eq_serie"]; $projectsLocotech->loco_number = $work["eq_number"]; $projectsLocotech->depo ='' ; $projectsLocotech->depo_service = ''; $projectsLocotech->created = date('Y-m-d H:i:s'); $projectsLocotech->urgent = 0; $projectsLocotech->uuid = $work['work_name'].":".$work['repair_name'].",".$work["eq_serie"]; $projectsLocotech->save(); $result = $projectsLocotech->id; $this->logger->setLog('Такого проекта еще не было пришлось создать. Ид проекта => '. $result); } //var_dump($result); return $result; } public function generateProject3($work){ $result = ''; $projectsLocotech = new ProjectsLocotech(); $projectsLocotech->action = 197 ; $projectsLocotech->company = $this->company; $projectsLocotech->status = 2; $projectsLocotech->loco_type = $work["eq_serie"]; $projectsLocotech->loco_number = $work["eq_number"]; $projectsLocotech->depo ='' ; $projectsLocotech->depo_service = ''; $projectsLocotech->created = date('Y-m-d H:i:s'); $projectsLocotech->urgent = 0; $projectsLocotech->uuid = $work['work_name'].":".$work['repair_name'].",".$work["eq_serie"]; $projectsLocotech->save(); $result = $projectsLocotech->id; $this->logger->setLog('Такого проекта еще не было пришлось создать. Ид проекта => '. $result); //var_dump($result); return $result; } private function prepareListWorks($listWorks) { $result = []; $dataArr = []; if ( null == $listWorks || empty($listWorks)) { return []; } foreach ( $listWorks["rows"] as $rows) { $rows["result"] = json_decode($rows["result"],true); foreach ( $rows["result"]['data'] as $key => $data) { //echo '
'; // var_dump($data); // echo ''; $tempArray = []; $tempArray["eq_serie"] = explode(" ",$data["equip_sect_name"])[0]; $eq = explode(" ",$data["equip_sect_name"])[1]; $tempArray["eq_number"] = explode("/",$eq)[0]; //echo '
'; //var_dump($tempArray["eq_number"]); //echo ''; foreach ( $data["sections"] as $sections) { $tempArray["section_id"] = $sections["id_section"]; $tempArray["section_lit"] = $sections["section_name"]; //$this->getLocoInfoMore($sections["section_subnumber"]); $tempArray["section_num"] = $sections["section_subnumber"]; $tempArray["section_DK"] = $sections["section_dk"]; // echo '
'; // var_dump($sections); // echo ''; foreach ( $sections['works'] as $work) { $tempArray["id_work"] = $work["id_work"]; $tempArray["outfit"] = $work["outfit"]; $tempArray["work_name"] = $work["work_name"]; $tempArray["repair_name"] = $work["repair_type"]; $tempArray["work_status"] = $work["work_status"]; $tempArray["repeats"] = $work["repeats"]; //$extraSection = $this->getSectionInfo( $tempArray["section_id"], $tempArray["repair_name"]); //$tempArray["section_num"] = $extraSection['section_num']; //$tempArray['section_DK'] = $extraSection['section_DK']; $dataArr[] = $tempArray; foreach ( $works['workers'] as $worker) { //echo '
'; //var_dump($worker); //echo ''; } } } } $result['result'] = 'true'; $result['data'] = $dataArr; break; } return $result; } private function sectionList() { $result = []; //$params['place'] = 'a84d0a15-08ec-11e5-829d-00155d6cab05'; //$params['place'] = '95d7646d-e7ee-11e4-829d-00155d6cab05'; $params['place'] = 'a84d0a15-08ec-11e5-829d-00155d6cab05'; $params['date'] = '1581324560'; $locomotiveModel = new LocomotiveModel(); $result = $locomotiveModel->getSectionList($params); //$result = json_decode($result,true); //$this->sectionList = $result['array']; $this->sectionList = json_decode($result,true); return $result; } private function getSectionInfo( $id,$repair) { $result = []; if (empty($this->sectionList)) { $this->sectionList(); } foreach ($this->sectionList as $items) { //var_dump($section["Section"] .' == '. $id , $section['TypeOfRepair'] .' == '. $repair); echo '