/app/Controller/ComplexesController.php
PHP | 1621 lines | 1553 code | 46 blank | 22 comment | 238 complexity | 1b123a2ecf0af0877be3a53472445598 MD5 | raw file
Possible License(s): LGPL-3.0, GPL-3.0, LGPL-2.1
Large files files are truncated, but you can click here to view the full file
- <?php
- class DuplicateComplexes{
- private static $instance;
- public $duplicateComplexes;
- private function __construct(){
- $duplicateComplexes = array();
- }
-
- public static function getDuplicateComplexes(){
- if(self::$instance == NULL){
- self::$instance = new self();
- }
- return self::$instance;
- }
- }
- class ComplexConstant{
- public $reg_date;
- public $complex_code = 0;
- public $charge_name = 1;
- public $region_name = 2;
- public $branch_name = 3;
- public $complex_name = 4;
- public $first_addr = 5;
- public $mid_addr = 6;
- public $last_addr = 7;
- public $addr = 8;
- public $completion_year = 9;
- public $space = 10;
- public $apt = 11;
- public $floor = 12;
- public $regident = 13;
- public $per_regident = 14;
- public $per_year = 15;
- public $phone = 16;
- public $contract_date = 17;
- public $contract_period = 18;
- public $status = 19;
- public $open_date = 20;
- public $install_period = 21;
- public $region_score = 27;
- public $regident_score = 28;
- public $monitor_score = 29;
- public $floor_score = 30;
- public $total_score = 31;
- public $complex_rank = 32;
- public $method;
- public $worker = 34;
- public $install_company_name = 35;
- public $comment = 38;
- public $total_installed;
- public $num_of_open;
- public $num_of_not_open;
- public $register_mail;
- public $installer;
- }
- class LifeConstant extends ComplexConstant {
- private static $instance;
-
- private function __construct(){
- }
-
- public static function getInstance(){
- if(!self::$instance){
- self::$instance = new self();
- }
- return self::$instance;
- }
- public function setConstant(){
- $complex_code = 0; // varchar
- $charge_name = 1; // varchar
- $region_name = 2; // varchar
- $branch_name = 3; // varchar
- $complex_name = 4; // varchar
- $first_addr = 5; // varchar
- $mid_addr = 6; // varchar
- $last_addr = 7; // varchar
- $addr = 8; // varchar
- $completion_year = 9; // date
- $space = 10; // varchar
- $apt = 11; // int
- $floor = 12; // int
- $regident = 13; // int
- $contract_date = 14; // date
- $contract_period = 15; // int
- $status = 16; // int
- $open_date = 17; // date
- $num_of_open = 18; // int
- $num_of_not_open = 19; // int
- $region_score = 20; // int
- $regident_score = 21; // int
- $monitor_score = 22; // int
- $floor_score = 23; // int
- $total_score = 24; // int
- $complex_rank = 25; // char?
- $install_period = 26; // date
- $phone = 27; // varchar
- $worker = 28; // id
- $register_mail = 29; // date
- $is_board = 30; // varchar???
- $install_type = 31;
- $install_cost = 32; // varchar
- $install_company_name = 33; // varchar
- $mb_install_company_name = 34; // varchar
- $aed_name = 35; // varchar
- $construct_date = 36; // date
- $is_install_complete = 37; // date
- $is_edu = 38; // date
- $elevator_num_of_life = 39;
- $apt_num_of_life = 40;
- $line_num_of_life = 41;
- $total_num_of_life = 42;
- $develop_cost_year = 43;
- $comment = 44;
- }
- public $per_regident_life;
- public $total_num_of_life = 24;
- public $mb_install_company_name = 36;
- public $aed_name = 37;
- public $is_board;
- public $install_type;
- public $install_cost;
- public $install_status;
- public $contruct_date;
- public $is_edu;
- public $apt_num_of_life;
- public $line_num_of_life;
- public $elevator_num_of_life;
- public $develop_cost_year;
- }
- class BoardConstant extends ComplexConstant {
- private static $instance;
-
- private function __construct(){
- }
-
- public static function getInstance(){
- if(!self::$instance){
- self::$instance = new self();
- }
- return self::$instance;
- }
- public function setConstant(){
- $complex_code = 0;
- $charge_name = 1;
- $region_name = 2;
- $branch_name = 3;
- $complex_name = 4;
- $first_addr = 5;
- $mid_addr = 6;
- $last_addr = 7;
- $addr = 8;
- $completion_year = 9;
- $space = 10;
- $apt = 11;
- $floor = 12;
- $regident = 13;
- $inner_elevator = 14;
- $outer_elevator = 15;
- $total_installed = 16;
- $per_regident_board = 17;
- $per_regident_year = 18;
- $contract_date_board = 19;
- $contract_period_board = 20;
- $status_board = 21;
- $open_date_board = 22;
- $method_board = 23;
- $open_board = 24;
- $closed_board = 25;
- $region_score = 26;
- $regident_score = 27;
- $monitor_score = 28;
- $floor_score = 29;
- $total_score = 30;
- $complex_rank = 31;
- $phone = 32;
- $worker = 33;
- $install_period_board = 34;
- $register_mail_board = 35;
- $install_company_board = 36;
- $size = 37;
- $server_name = 38;
- $comment = 39;
- }
- public $inner_elevator = 22;
- public $outer_elevator = 23;
- public $size = 36;
- public $server_name = 37;
- }
- class ComplexesController extends AppController {
- public $name = 'Complexes';
- public $paginate = array(
- 'limit' => 25,
- 'order' => array(
- 'Complex.code' => 'desc'
- )
- );
- public function index(){
- $this->loadModel('Board');
- $this->loadModel('Life');
- $this->loadModel('User');
- $this->loadmodel('UserInfo');
- $data = null;
- $conditions = array();
- if($this->request->query){
- $data = $this->request->query['data'];
- $type = $data['Search']['type'];
- $input = $data['Search']['keyword'];
- if($type == "name"){
- $conditions = array("Complex.$type LIKE" => "%$input%");
- }
- else if($type == "phone"){
- $conditions = array("Complex.$type LIKE" => "%$input%");
- }
- else if($type == "worker"){
- $userName = array("UserInfo.name LIKE" => "%$input%");
- $userIds = $this->UserInfo->find('list', array('fields' => array('id'), 'conditions'=>$userName));
- $conditions = array('Complex.engineer_id' =>$userIds);
- }
- else{
- $conditions = array("UserInfo.name LIKE" => "%$input%");
- }
- foreach ( array_keys($data['Filter']) as $key) {
- if($data['Filter'][$key] != "default"){
- // need a special process for foreignKeys
- if($key == 'method'){
- $boards = $this->Complex->Board->find('all', array('fields' => array('complex_id'),'conditions' => array('Board.method' => $data['Filter'][$key])));
- $conditions['Complex.id'] = array_unique(Set::extract('/Board/complex_id', $boards));
- }
- else if($key == 'status'){
- $conditions['status_board'] = ($data['Filter'][$key]-($data['Filter'][$key]%10)) / 10;
- $conditions['status_life'] = $data['Filter'][$key] % 10;
- }
- else if($key == 'start_date'){
- if($data['Filter'][$key]){
- $date = date('Y-m-d', strtotime($data['Filter'][$key]));
- $conditions['Complex.reg_date >='] = $date;
- }
- }
- else if($key == 'end_date'){
- if($data['Filter'][$key]){
- $date = date('Y-m-d', strtotime($data['Filter'][$key]));
- $conditions['Complex.reg_date <='] = $date;
- }
- }
- else {
- $conditions[$key] = $data['Filter'][$key];
- }
- }
- }
- // 검색 혹은 필터 내용 있으면 검색 처리
- }
- $conditions['deleted'] = 0;
- $this->paginate['conditions'] = $conditions;
- $regions = $this->Complex->find('list', array('recursive' => 0, 'fields' => array('region_name'), 'conditions'=> $conditions));
- $this->set('regions', array_unique($regions));
- $first_addrs = $this->Complex->find('list', array('recursive' => 0, 'fields' => array('first_addr'), 'conditions'=> $conditions));
- $this->set('first_addrs', array_unique($first_addrs));
- $mid_addrs = $this->Complex->find('list', array('recursive' => 0, 'fields' => array('mid_addr'), 'conditions'=> $conditions));
- $this->set('mid_addrs', array_unique($mid_addrs));
- $last_addrs = $this->Complex->find('list', array('recursive' => 0, 'fields' => array('last_addr'), 'conditions'=> $conditions));
- $this->set('last_addrs', array_unique($last_addrs));
- $complex_id = $this->Complex->find('list', array('fields' => array('id'), 'conditions' => $conditions));
- $board_methods = $this->Board->find('list', array('fields' => array('method'), 'conditions' => array('complex_id' => $complex_id)));
- $life_methods = $this->Life->find('list', array('fields' => array('method'), 'conditions' => array('complex_id' => $complex_id)));
- $methods = array_merge($board_methods, $life_methods);
- $methods = array_unique($methods);
- //$methods = $this->Complex->find('all', array('conditions'=> $conditions));
- $this->set('methods', $methods); //array_unique(Set::extract('/Board/method', 'hahaha')));
- $this->set('searchinfo', $data);
- $this->set('complexes', $this->paginate('Complex'));
- $this->set('users', $this->User->find('all'));
- }
- private function excel_board($worksheet){
- $index = BoardConstant::getInstance();
- $sheet_data = $this->getDataFromSheet($worksheet);
- for($i = 0; $i < count($sheet_data); $i++){
- $data = $sheet_data[$i];
- if($data[$index->complex_code]){
- $complexData = $this->makeComplexData($data, $index);
- $complex_id = $this->getComplexId($complexData);
- if($complex_id == NULL){
- echo pr($data);
- }
- $num_of_boards = NULL;
- $num_of_boards = $this->Complex->Board->query("select count(*) from boards where complex_id = ".$complex_id);
- $num_of_boards = $num_of_boards[0][0]['count(*)'];
- if($num_of_boards){
- $num_of_boards = $data[$index->inner_elevator]+$data[$index->outer_elevator]-$num_of_boards;
- }
- else{
- $num_of_boards = $data[$index->inner_elevator]+$data[$index->outer_elevator];
- }
-
- $dup_comp = DuplicateComplexes::getDuplicateComplexes();
- if(isset($dup_comp->duplicateComplexes[$complex_id])){
- $dup_comp->duplicateComplexes[$complex_id]['board'] = $num_of_boards;
- }
- for($count = 0; $count < $num_of_boards; $count++){
- $boardData = $this->makeBoardData($data);
- $boardData['Board']['complex_id'] = $complex_id;
- $this->Complex->Board->create();
- if($this->Complex->Board->save($boardData)){
- continue;
- }
- else {
- $this->Session->setFlash('보드 정보 저장에 실패하였습니다 : '.$complexData['Complex']['code']);
- }
- }
- $temp['Complex']['id'] = $complex_id;
- if($this->Board->find('count', array('conditions' => array('Board.complex_id' => $complex_id))) > 0){
- $temp['Complex']['status_board'] = 2;
- }
- else {
- $temp['Complex']['status_board'] = 0;
- }
- $this->Complex->save($temp);
- }
- else {
- continue;
- }
- }
- }
- private function excel_life($worksheet){
- $index = LifeConstant::getInstance();
- $sheet_data = $this->getDataFromSheet($worksheet);
- for($i = 0; $i < count($sheet_data); $i++){
- $data = $sheet_data[$i];
- if($data[$index->complex_code]){
- //$worker_id = $this->getWorkerId($this->makeWorkerList($data[$index->worker]));
- $complexData = $this->makeComplexData($data, $index);
- $complex_id = $this->getComplexId($complexData);
- $num_of_lifes = NULL;
- $num_of_not_open = $this->Complex->Life->query("select count(id) from lifes where status = 0 and complex_id = ".$complex_id);
- $num_of_not_open = $num_of_not_open[0][0]['count(id)'];
- $num_of_open = $this->Complex->Life->query("select count(id) from lifes where status = 2 and complex_id = ".$complex_id);
- $num_of_open = $num_of_open[0][0]['count(id)'];
- if($num_of_not_open){
- $num_of_not_open = $data[$index->num_of_not_open]-$num_of_not_open;
- }
- else{
- $num_of_not_open = $data[$index->num_of_not_open];
- }
- if($num_of_open){
- $num_of_open = $data[$index->num_of_open] - $num_of_open;
- }
- else {
- $num_of_open = $data[$index->num_of_open];
- }
-
- $dup_comp = DuplicateComplexes::getDuplicateComplexes();
- if(isset($dup_comp->duplicateComplexes[$complex_id])){
- $dup_comp->duplicateComplexes[$complex_id]['life'] = $num_of_not_open + $num_of_open;
- }
- for($count = 0; $count < $num_of_not_open; $count++){
- $lifeData = $this->makeLifeData($data);
- $lifeData['Life']['complex_id'] = $complex_id;
- $lifeData['Life']['status'] = 0;
- $this->Complex->Life->create();
- if($this->Complex->Life->save($lifeData)){
- continue;
- }
- else {
- $this->Session->setFlash('라이프 정보 저장에 실패하였습니다 : '.$complexData['Complex']['code']);
- }
- }
- for($count = 0; $count < $num_of_open; $count++){
- $lifeData = $this->makeLifeData($data);
- $lifeData['Life']['complex_id'] = $complex_id;
- $lifeData['Life']['status'] = 2;
- $this->Complex->Life->create();
- if($this->Complex->Life->save($lifeData)){
- continue;
- }
- else {
- $this->Session->setFlash('라이프 정보 저장에 실패하였습니다 : '.$complexData['Complex']['code']);
- }
- }
- $temp['Complex']['id'] = $complex_id;
- if($this->Life->find('count', array('conditions' => array('Life.complex_id' => $complex_id))) > 0){
- $temp['Complex']['status_life'] = 2;
- }
- else {
- $temp['Complex']['status_life'] = 0;
- }
- $this->Complex->save($temp);
- }
- else {
- continue;
- }
- }
- }
- private function getStatusValue($status){
- $status = trim($status);
- if($status == '미개통'){
- return 0;
- }
- else if ($status == '일부개통'){
- return 1;
- }
- else if ($status == '개통'){
- return 2;
- }
- else {
- return 0;
- }
- }
- private function getDataFromSheet($sheet){
- $highestRow = $sheet->getHighestRow();
- $highestColumn = $sheet->getHighestColumn();
- $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
- $sheet_data = array();
- for ($row = 2; $row <= $highestRow; ++$row) {
- for ($col = 0; $col <= $highestColumnIndex; ++$col) {
- $value=parent::eucconv(trim($sheet->getCellByColumnAndRow($col, $row)->getValue()));
- if(is_array($sheet_data) ) { $sheet_data[$row-2][$col]=$value; }
- }
- }
- return $sheet_data;
- }
- private function makeComplexData($data, $index){
- $complexData = array();
- if($index->reg_date == NULL){
- $complexData['Complex']['reg_date'] = date('Y-m-d');
- }
- else {
- $complexData['Complex']['reg_date'] = $data[$index->reg_date];
- }
- $complexData['Complex']['code'] = $data[$index->complex_code];
- $complexData['Complex']['charge_name'] = $data[$index->charge_name];
- $complexData['Complex']['region_name'] = $data[$index->region_name];
- $complexData['Complex']['branch_name'] = $data[$index->branch_name];
- $complexData['Complex']['name'] = $data[$index->complex_name];
- $complexData['Complex']['first_addr'] = $data[$index->first_addr];
- $complexData['Complex']['mid_addr'] = $data[$index->mid_addr];
- $complexData['Complex']['last_addr'] = $data[$index->last_addr];
- $complexData['Complex']['addr'] = $data[$index->addr];
- $complexData['Complex']['completion_year'] = PHPExcel_Style_NumberFormat::toFormattedString(round($data[$index->completion_year]), "Y-m-d");
- $complexData['Complex']['apt'] = $data[$index->apt];
- $complexData['Complex']['floor'] = $data[$index->floor];
- $complexData['Complex']['regident'] = $data[$index->regident];
- $complexData['Complex']['space'] = $data[$index->space];
- $complexData['Complex']['phone'] = $data[$index->phone];
- if(get_class($index) == "LifeConstant"){
- $complexData['Complex']['status_life'] = $this->getStatusValue($data[$index->status_life]);
- $complexData['Complex']['contract_date_life'] = PHPExcel_Style_NumberFormat::toFormattedString(round($data[$index->contract_date_life]), 'Y-m-d');
- $complexData['Complex']['contract_period_life'] = $data[$index->contract_period_life];
- $complexData['Complex']['aed_name_life'] = $data[$index->aed_name_life];
- $complexData['Complex']['install_company_name_life'] = $data[$index->install_company_name_life];
- $complexData['Complex']['mb_install_company_name_life'] = $data[$index->mb_install_company_name_life];
- $complexData['Complex']['register_mail_life'] = $data[$index->register_mail_life];
- $complexData['Complex']['install_status_life'] = $data[$index->install_status_life];
- $complexData['Complex']['open_date_life'] = $data[$index->open_date_life];
- $complexData['Complex']['install_cost_life'] = $data[$index->install_cost_life];
- $complexData['Complex']['is_install_complete_life'] = PHPExcel_Style_NumberFormat::toFormattedString(round($data[$index->is_install_complete_life]), 'Y-m-d');
- $complexData['Complex']['is_edu_life'] = $data[$index->is_edu_life];
- $complexData['Complex']['is_board_installed'] = $data[$index->is_board_installed];
- $complexData['Complex']['install_type_life'] = $data[$index->install_type_life];
- $complexData['Complex']['construct_date_life'] = PHPExcel_Style_NumberFormat::toFormattedString(round($data[$index->construct_date_life]), 'Y-m-d');
- $complexData['Complex']['elevator_num_of_life'] = $data[$index->elevator_num_of_life];
- $complexData['Complex']['apt_num_of_life'] = $data[$index->apt_num_of_life];
- $complexData['Complex']['line_num_of_life'] = $data[$index->line_num_of_life];
- $complexData['Complex']['develop_cost_year_life'] = $data[$index->develop_cost_year_life];
- $complexData['Complex']['method_life'] = '미지정';
- }
- else if(get_class($index) == "BoardConstant"){
- $complexData['Complex']['status_board'] = $this->getStatusValue($data[$index->status_board]);
- $complexData['Complex']['contract_date_board'] = PHPExcel_Style_NumberFormat::toFormattedString(round($data[$index->contract_date_board]), 'Y-m-d');
- $complexData['Complex']['contract_period_board'] = $data[$index->contract_period_board];
- $complexData['Complex']['per_regident_board'] = $data[$index->per_regident_board];
- $complexData['Complex']['server_name_board'] = $data[$index->server_name_board];
- $complexData['Complex']['size'] = $data[$index->size];
- $complexData['Complex']['install_company_name_board'] = $data[$index->install_company_name_board];
- $complexData['Complex']['server_name_board'] = $data[$index->server_name_board];
- $complexData['Complex']['method_board'] = $data[$index->method_board];
- $complexData['Complex']['open_date_board'] = $data[$index->open_date_board];
- $complexData['Complex']['install_period_board'] = $data[$index->install_period_board];
- $complexData['Complex']['register_mail_board'] = $data[$index->register_mail_board];
- }
- $complexData['Complex']['region_score'] = $data[$index->region_score];
- $complexData['Complex']['regident_score'] = $data[$index->regident_score];
- $complexData['Complex']['monitor_score'] = $data[$index->monitor_score];
- $complexData['Complex']['floor_score'] = $data[$index->total_score];
- $complexData['Complex']['total_score'] = $data[$index->total_score];
- $complexData['Complex']['complex_rank'] = $data[$index->complex_rank];
- $complexData['Complex']['engineer_id'] = $this->getUserIdByName($data[$index->worker]);
- $complexData['Complex']['installer_id'] = $this->getUserIdByName($data[$index->installer]);
- return $complexData;
- }
- private function makeBoardData($data){
- $index = BoardConstant::getInstance();
- $boardData = array();
- if($index->reg_date == NULL){
- $boardData['Board']['reg_date'] = date('Y-m-d');
- }
- else {
- $boardData['Board']['reg_date'] = $data[$index->reg_date];
- }
- $boardData['Board']['location'] = '등록요망';
- $boardData['Board']['serial'] = uniqid().'변경요망';
- $boardData['Board']['mac'] = '등록요망';
- $boardData['Board']['bracket'] = '등록요망';
- $boardData['Board']['method'] = $data[$index->method_board];
- $boardData['Board']['status'] = $this->getStatusValue($data[$index->status_board]);
- $boardData['Board']['server_name'] = $data[$index->server_name_board];
- $boardData['Board']['size'] = str_replace('"','',$data[$index->size]);
- $boardData['Board']['install_company_name'] = $data[$index->install_company_name_board];
-
- return $boardData;
- }
- private function getUserIdByName($username){
- $this->loadModel('UserInfo');
- $user = $this->UserInfo->findByName($username);
- if($user){
- return $user['UserInfo']['id'];
- }
- else {
- return 999;
- }
- }
- private function makeWorkerList($workerString){
- $workers = split(',', $workerString);
- foreach (array_keys($workers) as $key) {
- $workers[$key] = trim($workers[$key]);
- }
- return $workers;
- }
- private function getWorkerId($workers){
- if($workers){
- if(is_array($workers)){
- $this->loadModel('User');
- $this->loadModel('ComplexUserInfos');
- foreach ($workers as $worker){
- if($worker == ''){
- continue;
- }
- $tmp_worker = $this->User->UserInfo->find('all', array('conditions' => array('name' => $worker), 'recursive'=>0));
- if(!$tmp_worker){
- $data = array('User' => array('userid' => uniqid(), 'password' => 'dummy', 'dept_id' => '99'), 'UserInfo' => array('reg_date' => date('Y-m-d'), 'rank' => 'dummy', 'pay' => 0, 'name' => $worker, 'phone' => 0, 'email' => 'dummy'));
- $this->User->create();
- $this->User->saveAll($data);
- }
- }
- //echo pr(Set::extract('/UserInfo', $this->User->UserInfo->find('all', array('conditions'=>array('name'=>$workers)))));
- return Set::extract('/UserInfo/id', $this->User->UserInfo->find('all', array('conditions'=>array('name'=>$workers), 'recursive' => 0)));
- }
- }
- else {
- return null;
- }
- }
- private function makeLifeData($data){
- $index = LifeConstant::getInstance();
- $lifeData = array();
- if($index->reg_date == NULL){
- $lifeData['Life']['reg_date'] = date('Y-m-d');
- }
- else {
- $lifeData['Life']['reg_date'] = $data[$index->reg_date];
- }
- $lifeData['Life']['location'] = '등록요망';
- $lifeData['Life']['serial'] = uniqid().'변경요망';
- $lifeData['Life']['mac'] = '등록요망';
- $lifeData['Life']['bracket'] = '등록요망';
- // 잠깐 임시값 넣는 기능 만듬 라이프는 메소드가 없네
- if($index->method){
- $lifeData['Life']['method'] = $data[$index->method];
- }
- else {
- $lifeData['Life']['method'] = '미지정';
- }
- $lifeData['Life']['aed_name'] = $data[$index->aed_name_life];
- $lifeData['Life']['install_company_name'] = $data[$index->install_company_name_life];
- $lifeData['Life']['mb_install_company_name'] = $data[$index->mb_install_company_name_life];
- return $lifeData;
- }
- private function getComplexId($complexData){
- if($complexData['Complex']['code'] == NULL
- || $complexData['Complex']['name'] == NULL
- || $complexData['Complex']['first_addr'] == NULL
- || $complexData['Complex']['mid_addr'] == NULL
- || $complexData['Complex']['last_addr'] == NULL
- || $complexData['Complex']['addr'] == NULL){
- if( $complexData['Complex']['code']==NULL ){
- $complexData['Complex']['code'] = uniqueid();
- }
- else if ( $complexData['Complex']['name'] == NULL){
- $complexData['Complex']['name'] = " ";
- }
- else if($complexData['Complex']['first_addr'] == NULL){
- $complexData['Complex']['first_addr'] = " ";
- }
- else if($complexData['Complex']['mid_addr'] == NULL){
- $complexData['Complex']['mid_addr'] = " ";
- }
- else if($complexData['Complex']['last_addr'] == NULL){
- $complexData['Complex']['last_addr'] = " ";
- }
- else if($complexData['Complex']['addr'] == NULL){
- $complexData['Complex']['addr'] = " ";
- }
- }
-
- $complex = $this->Complex->findByCode($complexData['Complex']['code'], array('recursive' => 0));
- $dup_comp = DuplicateComplexes::getDuplicateComplexes();
- if($complex){
- $dup_comp->duplicateComplexes[$complex['Complex']['id']]['complex_code'] = $complex['Complex']['code'];
- $dup_comp->duplicateComplexes[$complex['Complex']['id']]['complex_name'] = $complex['Complex']['name'];
- return $complex['Complex']['id'];
- }
- else{
- $complex = $this->Complex->create();
- if($this->Complex->save($complexData)){
- $complex = $this->Complex->findByCode($complexData['Complex']['code'], array('recursive' => 0));
- echo $this->Complex->lastInsertedId;
- $dup_comp->duplicateComplexes[$complex['Complex']['id']]['complex_code'] = $complex['Complex']['code'];
- $dup_comp->duplicateComplexes[$complex['Complex']['id']]['complex_name'] = $complex['Complex']['name'];
- return $complex['Complex']['id'];
- }
- else{
- $this->Session->setFlash('단지정보 저장에 실패하였습니다');
- }
- }
-
- }
- private function isFileExt($file, $fileType){
- if(is_array($fileType)){
- $result = false;
- foreach ( $fileType as $type ) {
- if(pathinfo($file['name'], PATHINFO_EXTENSION) == $type){
- $result = true;
- }
- }
- return $result;
- }
- else{
- return pathinfo($file['name'], PATHINFO_EXTENSION) == $type;
- }
- }
- private function setBoardConstant($sheet){
- $board = BoardConstant::getInstance();
- $row = 1; // 컬럼 이름있는 부분
- $highestColumn = $sheet->getHighestColumn();
- $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
- for ($col = 0; $col <= $highestColumnIndex; ++$col) {
- $value=parent::eucconv($sheet->getCellByColumnAndRow($col, $row)->getValue());
- switch($value){
- case '아파트신코드':
- $board->complex_code = $col;
- break;
- case '담당구분':
- $board->charge_name = $col;
- break;
- case '권역':
- $board->region_name = $col;
- break;
- case '지사구분':
- $board->branch_name = $col;
- break;
- case 'APT명':
- $board->complex_name = $col;
- break;
- case '광역시/도':
- $board->first_addr = $col;
- break;
- case '시/군/구':
- $board->mid_addr = $col;
- break;
- case '읍/면/동':
- $board->last_addr = $col;
- break;
- case '주소':
- $board->addr = $col;
- break;
- case '준공연도':
- $board->completion_year = $col;
- break;
- case '평수(㎡)':
- $board->space = $col;
- break;
- case '동수':
- $board->apt = $col;
- break;
- case '층수':
- $board->floor = $col;
- break;
- case '세대수':
- $board->regident = $col;
- break;
- case '승강기내':
- $board->inner_elevator = $col;
- break;
- case '예외설치':
- $board->outer_elevator = $col;
- break;
- case '총설치수량':
- $board->total_installed = $col;
- break;
- case '세대당':
- $board->per_regident_board = $col;
- break;
- case '연간':
- $board->per_year = $col;
- break;
- case '계약일':
- $board->contract_date_board = $col;
- break;
- case '계약기간(년)':
- $board->contract_period_board = $col;
- break;
- case '회선개통여부(공란시미개통)':
- $board->status_board = $col;
- break;
- case '개통일(공란시정보없음)':
- $board->open_date_board = $col;
- break;
- case '통신방식':
- $board->method_board = $col;
- break;
- case '개통수량':
- $board->num_of_open = $col;
- break;
- case '미개통수량':
- $board->num_of_not_open = $col;
- break;
- case '권역점수':
- $board->region_score = $col;
- break;
- case '세대수점수':
- $board->regident_score = $col;
- break;
- case '모니터수점수':
- $board->monitor_score = $col;
- break;
- case '층수점수':
- $board->floor_score = $col;
- break;
- case '총점':
- $board->total_score = $col;
- break;
- case '등급':
- $board->complex_rank = $col;
- break;
- case '관리소 연락처':
- $board->phone = $col;
- break;
- case '영업담당자':
- $board->worker = $col;
- break;
- case '설치업자':
- $board->installer = $col;
- break;
- case '인입시기구분':
- $board->install_period_board = $col;
- break;
- case '등기발송여부':
- $board->register_mail_board = $col;
- break;
- case '설치업체':
- $board->install_company_name_board = $col;
- break;
- case '사이즈':
- $board->size = $col;
- break;
- case '서버':
- $board->server_name_board = $col;
- break;
- case '비고':
- $board->comment = $col;
- break;
- }
- }
- }
- private function setLifeConstant($sheet){
- $row = 1;
- $life = LifeConstant::getInstance();
- $highestColumn = $sheet->getHighestColumn();
- $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
- $sheet_data = array();
- for ($col = 0; $col <= $highestColumnIndex; ++$col) {
- $value=parent::eucconv($sheet->getCellByColumnAndRow($col, $row)->getValue());
- switch($value){
- case '아파트신코드':
- $life->complex_code = $col;
- break;
- case '담당구분':
- $life->charge_name = $col;
- break;
- case '권역':
- $life->region_name = $col;
- break;
- case '지사구분':
- $life->branch_name = $col;
- break;
- case 'APT명':
- $life->complex_name = $col;
- break;
- case '광역시,도':
- $life->first_addr = $col;
- break;
- case '시,군,구':
- $life->mid_addr = $col;
- break;
- case '읍,면,동':
- $life->last_addr = $col;
- break;
- case '나머지주소':
- $life->addr = $col;
- break;
- case '준공연도':
- $life->completion_year = $col;
- break;
- case '평수':
- $life->space = $col;
- break;
- case '동수':
- $life->apt = $col;
- break;
- case '층수':
- $life->floor = $col;
- break;
- case '세대수':
- $life->regident = $col;
- break;
- case '계약일(예정일)':
- $life->contract_date_life = $col;
- break;
- case '계약기간':
- $life->contract_period_life = $col;
- break;
- case '회선개통여부':
- $life->status_life = $col;
- break;
- case '개통일':
- $life->open_date_life = $col;
- break;
- case '개통수량':
- $life->num_of_open = $col;
- break;
- case '미개통수량':
- $life->num_of_not_open = $col;
- break;
- case '권역점수':
- $life->region_score = $col;
- break;
- case '세대수점수':
- $life->regident_score = $col;
- break;
- case '모니터수점수':
- $life->monitor_score = $col;
- break;
- case '층수점수':
- $life->floor_score = $col;
- break;
- case '총점':
- $life->total_score = $col;
- break;
- case '등급':
- $life->complex_rank = $col;
- break;
- case '인입시기구분':
- $life->install_period_life = $col;
- break;
- case '관리소 연락처':
- $life->phone = $col;
- break;
- case '영업담당자':
- $life->worker = $col;
- break;
- case '설치업자':
- $life->installer = $col;
- break;
- case '등기발송여부':
- $life->register_mail_life = $col;
- break;
- case '보드인입여부':
- $life->is_board_installed = $col;
- break;
- case '인입유형':
- $life->install_type_life = $col;
- break;
- case '설치/발전기금/수수료':
- $life->install_cost_life = $col;
- break;
- case '설치업체':
- $life->install_company_name_life = $col;
- break;
- case 'M-B설치업체':
- $life->mb_install_company_name_life = $col;
- break;
- case 'AED':
- $life->aed_name_life = $col;
- break;
- case '개통진행':
- $life->install_status_life = $col;
- break;
- case '작업예정일':
- $life->construct_date_life = $col;
- break;
- case '설치완료확인':
- $life->is_install_complete_life = $col;
- break;
- case '교육여부':
- $life->is_edu_life = $col;
- break;
- case '승강기모니터수':
- $life->elevator_num_of_life = $col;
- break;
- case '동별총설치수량':
- $life->apt_num_of_life = $col;
- break;
- case '라인별추가설치수량':
- $life->line_num_of_life = $col;
- break;
- case '총설치수량':
- $life->total_num_of_life = $col;
- break;
- case '연간발전기금':
- $life->develop_cost_year_life = $col;
- break;
- case '비고':
- $life->comment = $col;
- break;
- }
- }
- }
- public function excelOut(){
- $this->loadModel('Board');
- $this->loadModel('Complex');
- $this->loadModel('Life');
- $this->loadModel('UserInfo');
- error_reporting(E_ALL);
- date_default_timezone_set('Asia/Seoul');
- $conditions = array();
- if($this->request->query){
- $data = $this->request->query['data'];
- if(isset($data['Search'])){
- $type = $data['Search']['type'];
- $keyword = $data['Search']['keyword'];
- if($type == 'name'){
- $conditions = array("Complex.$type LIKE" => "%$keyword%");
- }
- else if($type == 'phone'){
- $conditions = array("Complex.$type LIKE" => "%$keyword%");
- }
- else if($type == 'worker'){
- $engineer_id = $this->UserInfo->find('list', array('fields' => array('id'), 'conditions' => array("UserInfo.name LIKE" => "%$keyword%")));
- $conditions = array("Complex.engineer_id" => $engineer_id);
- }
- else{
- $conditions = array();
- }
- }
- if(isset($data['Filter'])){
- foreach ( array_keys($data['Filter']) as $key) {
- if($data['Filter'][$key] != "default"){
- // need a special process for foreignKeys
- if($key == 'method'){
- $boards = $this->Complex->Board->find('all', array('fields' => array('complex_id'),'conditions' => array('Board.method' => $data['Filter'][$key])));
- $conditions['Complex.id'] = array_unique(Set::extract('/Board/complex_id', $boards));
- }
- else if($key == 'status'){
- $conditions['status_board'] = ($data['Filter'][$key]-($data['Filter'][$key]%10)) / 10;
- $conditions['status_life'] = $data['Filter'][$key] % 10;
- }
- else if($key == 'start_date'){
- if($data['Filter'][$key]){
- $date = date('Y-m-d', strtotime($data['Filter'][$key]));
- $conditions['Complex.reg_date >='] = $date;
- }
- }
- else if($key == 'end_date'){
- if($data['Filter'][$key]){
- $date = date('Y-m-d', strtotime($data['Filter'][$key]));
- $conditions['Complex.reg_date <='] = $date;
- }
- }
- else {
- $conditions[$key] = $data['Filter'][$key];
- }
- }
- }
- }
- if(isset($data['Scope'])){
- $conditions['Complex.id BETWEEN ? AND ?'] = array($data['Scope']['start'], $data['Scope']['end']);
- }
- }
- $conditions['deleted'] = 0;
- $count = $this->Complex->find('count', array('conditions' => $conditions));
- if($count > 500){
- $num_of_links = ceil($count / 500);
- $this->set('num_of_links', $num_of_links);
- }
- else{
- $currentFileNum = 1;
- if(isset($this->request->query['data']['filenum'])){
- $currentFileNum = $this->request->query['data']['filenum'];
- }
- $currentTime = date('Y-m-d H:i:s');
- if(isset($this->request->query['data']['date'])){
- $currentTime = $this->request->query['data']['date'];
- }
- $users = $this->UserInfo->find('list', array('fields' => array('UserInfo.name')));
- /** PHPExcel */
- require_once ('./Classes/PHPExcel.php');
- // Create new PHPExcel object
- $objPHPExcel = new PHPExcel();
- // Set properties
- $objPHPExcel->getProperties()->setCreator("CRM System")
- ->setLastModifiedBy("CRM System")
- ->setTitle("CRM System Complex report")
- ->setSubject("CRM System Complex report")
- ->setDescription("CRM System Complex report on {$currentTime}")
- ->setKeywords("Complex")
- ->setCategory("Complex result");
- // Add some data
- $complexInfos = $this->Complex->find('all', array('conditions'=> $conditions));
- // 보드 타이틀 생성
- $objPHPExcel->setActiveSheetIndex(0)
- ->setCellValue('A1', parent::utf8conv('아파트신코드'))
- ->setCellValue('B1', parent::utf8conv('담당구분'))
- ->setCellValue('C1', parent::utf8conv('권역'))
- ->setCellValue('D1', parent::utf8conv('지사구분'))
- ->setCellValue('E1', parent::utf8conv('APT명'))
- ->setCellValue('F1', parent::utf8conv('광역시/도'))
- ->setCellValue('G1', parent::utf8conv('시/군/구'))
- ->setCellValue('H1', parent::utf8conv('읍/면/동'))
- ->setCellValue('I1', parent::utf8conv('주소'))
- ->setCellValue('J1', parent::utf8conv('준공연도'))
- ->setCellValue('K1', parent::utf8conv('평수(㎡)'))
- ->setCellValue('L1', parent::utf8conv('동수'))
- ->setCellValue('M1', parent::utf8conv('층수'))
- ->setCellValue('N1', parent::utf8conv('세대수'))
- ->setCellValue('O1', parent::utf8conv('승강기내'))
- ->setCellValue('P1', parent::utf8conv('예외설치'))
- ->setCellValue('Q1', parent::utf8conv('총설치수량'))
- ->setCellValue('R1', parent::utf8conv('세대당'))
- ->setCellValue('S1', parent::utf8conv('연간'))
- ->setCellValue('T1', parent::utf8conv('계약일'))
- ->setCellValue('U1', parent::utf8conv('계약기간(년)'))
- ->setCellValue('V1', parent::utf8conv('회선개통여부(공란시미개통)'))
- ->setCellValue('W1', parent::utf8conv('개통일(공란시정보없음)'))
- ->setCellValue('X1', parent::utf8conv('통신방식'))
- ->setCellValue('Y1', parent::utf8conv('개통수량'))
- ->setCellValue('Z1', parent::utf8conv('미개통수량'))
- ->setCellValue('AA1', parent::utf8conv('권역점수'))
- ->setCellValue('AB1', parent::utf8conv('세대수점수'))
- ->setCellValue('AC1', parent::utf8conv('모니터수점수'))
- ->setCellValue('AD1', parent::utf8conv('층수점수'))
- ->setCellValue('AE1', parent::utf8conv('총점'))
- ->setCellValue('AF1', parent::utf8conv('등급'))
- ->setCellValue('AG1', parent::utf8conv('관리소 연락처'))
- ->setCellValue('AH1', parent::utf8conv('영업담당자'))
- ->setCellValue('AI1', parent::utf8conv('인입시기구분'))
- ->setCellValue('AJ1', parent::utf8conv('등기발송여부'))
- ->setCellValue('AK1', parent::utf8conv('설치업체'))
- ->setCellValue('AL1', parent::utf8conv('사이즈'))
- ->setCellValue('AM1', parent::utf8conv('서버'))
- ->setCellValue('AN1', parent::utf8conv('비고'))
- ->setCellValue('AO1', parent::utf8conv('설치업자'));
- // 보드 정보 담기
- $index = 2;
- foreach($complexInfos as $complexInfo){
- if($this->Board->find('count', array('conditions' => array('Board.complex_id' => $complexInfo['Complex']['id']))) == 0){
- continue;
- }
- $objPHPExcel->setActiveSheetIndex(0)
- ->setCellValue("A{$index}", parent::utf8conv($complexInfo['Complex']['code']))
- ->setCellValue("B{$index}", parent::utf8conv($complexInfo['Complex']['charge_name']))
- ->setCellValue("C{$index}", parent::utf8conv($complexInfo['Complex']['region_name']))
- ->setCellValue("D{$index}", parent::utf8conv($complexInfo['Complex']['branch_name']))
- ->setCellValue("E{$index}", parent::utf8conv($complexInfo['Complex']['name']))
- ->setCellValue("F{$index}", parent::utf8conv($complexInfo['Complex']['first_addr']))
- ->setCellValue("G{$index}", parent::utf8conv($complexInfo['Complex']['mid_addr']))
- ->setCellValue("H{$index}", parent::utf8conv($complexInfo['Complex']['last_addr']))
- ->setCellValue("I{$index}", parent::utf8conv($complexInfo['Complex']['addr']))
- ->setCellValue("J{$index}", parent::utf8conv($complexInfo['Complex']['completion_year']))
- ->setCellValue("K{$index}", parent::utf8conv($complexInfo['Complex']['space']))
- ->setCellValue("L{$index}", parent::utf8conv($complexInfo['Complex']['apt']))
- ->setCellValue("M{$index}", parent::utf8conv($complexInfo['Complex']['floor']))
- ->setCellValue("N{$index}", parent::utf8conv($complexInfo['Complex']['regident']))
- ->setCellValue("O{$index}", $this->Board->find('count', array('conditions' => array('Board.complex_id' => $complexInfo['Complex']['id'], 'Board.isin' => 1))))
- ->setCellValue("P{$index}", $this->Board->find('count', array('conditions' => array('Board.complex_id' => $complexInfo['Complex']['id'], 'Board.isin' => 0))))
- ->setCellValue("Q{$index}", $this->Board->find('count', array('conditions' => array('Board.complex_id' => $complexInfo['Complex']['id']))))
- ->setCellValue("R{$index}", parent::utf8conv($complexInfo['Complex']['per_regident_board']))
- ->setCellValue("S{$index}", parent::utf8conv($complexInfo['Complex']['per_regident_board'] * $complexInfo['Complex']['regident'] * 12))
- ->setCellValue("T{$index}", parent::utf8conv($complexInfo['Complex']['contract_date_board']))
- ->setCellValue("U{$index}", parent::utf8conv($complexInfo['Complex']['contract_period_board']));
- $status = "";
- if($complexInfo['Complex']['status_board'] == -1){
- $status = '미지정';
- }
- else if($complexInfo['Complex']['status_board'] == 0){
- $status = '미개통';
- }
- else if($complexInfo['Complex']['status_board'] == 1){
- $status = '부분개통';
- }
- else if($complexInfo['Complex']['status_board'] == 2){
- $status = '개통';
- }
- $objPHPExcel->setActiveSheetIndex(0)
- ->setCellValue("V{$index}", parent::utf8conv($status))
- ->setCellValue("W{$index}", parent::utf8conv($complexInfo['Complex']['open_date_board']))
- ->setCellValue("X{$index}", parent::utf8conv($complexInfo['Complex']['method_board']))
- ->setCellValue("Y{$index}", $this->Board->find('count', array('conditions' => array('Board.complex_id' => $complexInfo['Complex']['id'], 'Board.status' => 2))))
- ->setCellValue("Z{$index}", $this->Board->find('count', array('conditions' => array('Board.complex_id' => $complexInfo['Complex']['id'], 'Board.status' => 0))))
- ->setCellValue("AA{$index}",parent::utf8conv($complexInfo['Complex']['region_score']))
- ->setCellValue("AB{$index}",parent::utf8conv($complexInfo['Complex']['regident_score']))
- ->setCellValue("AC{$index}",parent::utf8conv($complexInfo['Complex']['monitor_score']))
- ->setCellValue("AD{$index}",parent::utf8conv($complexInfo['Complex']['floor_score']))
- ->setCellValue("AE{$index}",parent::utf8conv($complexInfo['Complex']['total_score']))
- ->setCellValue("AF{$index}",parent::utf8conv($complexInfo['Complex']['complex_rank']))
- ->setCellValue("AG{$index}",parent::utf8conv($complexInfo['Complex']['phone']))
- ->setCellValue("AH{$index}",parent::utf8conv($users[$complexInfo['Complex']['engineer_id']]))
- ->setCellValue("AI{$index}",parent::utf8conv($complexInfo['Complex']['install_period_board']))
- ->setCellValue("AJ{$index}",parent::utf8conv($complexInfo['Complex']['register_mail_board']))
- ->setCellValue("AK{$index}",parent::utf8conv($complexInfo['Complex']['install_company_name_board']))
- ->setCellValue("AL{$index}",parent::utf8conv($complexInfo['Complex']['size_board']))
- ->setCellValue("AM{$index}",parent::utf8conv($complexInfo['Complex']['server_name_board']))
- ->setCellValue("AN{$index}", parent::utf8conv($complexInfo['Complex']['comment']))
- ->setCellValue("AO{$index}",parent::utf8conv($users[$complexInfo['Complex']['installer_id']]));
- $index++;
- }
- // Rename sheet
- $objPHPExcel->getActiveSheet()->setTitle(parent::utf8conv('보드상세'));
- // 라이프 컬럼 상수 생성 왜 한걸까?
- $lifeConstant = LifeConstant::getInstance();
- $lifeConstant->setConstant();
- // 라이프 타이틀 생성
- $objPHPExcel->createSheet();
- $objPHPExcel->setActiveSheetIndex(1)
- ->setCellValue('A1', parent::utf8conv('아파트신코드'))
- ->setCellValue('B1', parent::utf8conv('담당구분'))
- ->setCellValue('C1', parent::utf8conv('권역'))
- ->setCellValue('D1', parent::utf8conv('지사구분'))
- ->setCellValue('E1', parent::utf8conv('APT명'))
- ->setCellValue('F1', parent::utf8conv('광역시,도'))
- ->setCellValue('G1', parent::utf8conv('시,군,구'))
- ->setCellValue('H1', parent::utf8conv('읍,면,동'))
- ->setCellValue('I1', parent::utf8conv('나머지주소'))
- ->setCellValue('J1', parent::utf8conv('준공연도'))
- ->setCellValue('K1', parent::utf8conv('평수'))
- ->setCellValue('L1', parent::utf8conv('동수'))
- ->setCellValue('M1', parent::utf8conv('층수'))
- ->setCellValue('N1', parent::utf8conv('세대수'))
- ->setCellValue('O1', parent::utf8conv('계약일(예정일)'))
- ->setCellValue('P1', parent::utf8conv('계약기간'))
- ->setCellValue('Q1', parent::utf8conv('회선개통여부'))
- ->setCellValue('R1', parent::utf8conv('개통일'))
- ->setCellValue('S1', parent::utf8conv('개통수량'))
- ->setCellValue('T1', parent::utf8conv('미개통수량'))
- ->setCellValue('U1', parent::utf8conv('권역점수'))
- ->setCellValue('V1', parent::utf8conv('세대수점수'))
- ->setCellValue('W1', parent::utf8conv('모니터수점수'))
- ->setCellValue('X1', parent::utf8conv('층수점수'))
- ->setCellValue('Y1', parent::utf8conv('총점'))
- ->setCellValue('Z1', parent::utf8conv('등급'))
- ->setCellValue('AA1', parent::utf8conv('인입시기구분'))
- ->setCellValue('AB1', parent::utf8conv('관리소 연락처'))
- ->setCellValue('AC1', parent::utf8conv('영업담당자'))
- ->setCellValue('AD1', parent::utf8conv('등기발송여부'))
- ->setCellValue('AE1', parent::utf8conv('보드인입여부'))
- ->setCellValue('AF1', parent::utf8conv('인입유형'))
- ->setCellValue('AG1', parent::utf8conv('설치/발전기금/수수료'))
- ->setCellValue('AH1', parent::utf8conv('설치업체'))
- ->setCellValue('AI1', parent::utf8conv('M-B설치업체'))
- ->setCellValue('AJ1', parent::utf8conv('AED'))
- ->setCellValue('AK1', parent::utf8conv('개통진행'))
- ->setCellValue('AL1', parent::utf8conv('작업예정일'))
- ->setCellValue('AM1', parent::utf8conv('설치완료확인'))
- ->setCellValue('AN1', parent::utf8conv('교육여부'))
- ->setCellValue('AO1', parent::utf8conv('승강기모니터수'))
- ->setCellValue('AP1', parent::utf8conv('동별총설치수량'))
- ->setCellValue('AQ1', parent::utf8conv('라인별추가설치수량'))
- ->setCellValue('AR1', parent::utf8conv('총설치수량'))
- ->setCellValue('AS1', parent::utf8conv('연간발전기금'))
- ->setCellValue('AT1', parent::utf8conv('비고'))
- ->setCellValue('AU1', parent::utf8conv('설치업자'));
- // 라이프 정보 담기
- $index = 2;
- foreach($complexInfos as $complexInfo){
- if($this->Life->find('count', array('conditions' => array('Life.complex_id' => $complexInfo['Complex']['id']))) == 0){
- continue;
- }
- $objPHPExcel->setActiveSheetIndex(1)
- ->setCellValue("A{$index}", parent::utf8conv($complexInfo['Complex']['code']))
- ->setCellValue("B{$index}", parent::utf8conv($complexInfo['Complex']['charge_name']))
- ->setCellValue("C{$index}", parent::utf8conv($complexInfo['Complex']['region_name']))
- ->setCellValue("D{$index}", parent::utf8conv($complexInfo['Complex']['branch_name']))
- ->setCellValue("E{$index}", parent::utf8conv($complexInfo['Complex']['name']))
- ->setCellValue("F{$index}", parent::utf8conv($complexInfo['Complex']['first_addr']))
- ->setCellValue("G{$index}", parent::utf8conv($complexInfo['Complex']['mid_addr']))
- ->setCellValue("H{$index}", parent::utf8conv($complexInfo['Complex']['last_addr']))
- ->setCellValue("I{$index}", parent::utf8conv($complexInfo['Complex']['addr']))
- ->setCellValue("J{$index}", parent::utf8conv($complexInfo['Complex']['completion_year']))
- ->setCellValue("K{$index}", parent::utf8conv($complexInfo['Complex']['space']))
- ->setCellValue("L{$index}", parent::utf8conv($complexInfo['Complex']['apt']))
- ->setCellValue("M{$index}", parent::utf8conv($complexInfo['Complex']['floor']))
- ->setCellValue("N{$index}", parent::utf8conv($complexInfo['Complex']['regident']))
- ->setCellValue("O{$index}", parent::utf8conv($complexInfo['Complex']['contract_date_life']))
- ->setCellValue("P{$index}", parent::utf8conv($complexInfo['Complex']['contract_period_life']));
- $status = "";
- if($complexInfo['Complex']['status_life'] == -1){
- $status = '미지정';
- }
- else if($complexInfo['Complex']['status_life'] == 0){
- $status = '미개통';
- }
- else if($complexInfo['Complex']['status_life'] == 1){
- $status = '부분개통';
- }
- else if($complexInfo['Complex']['status_life'] == 2){
- $status = '개통';
- }
- $objPHPExcel->setActiveSheetIndex(1)
- ->setCellValue("Q{$index}", parent::utf8conv($status))
- ->setCellValue("R{$index}", parent::utf8conv($complexInfo['Complex']['open_date_life']))
- ->setCellValue("S{$index}", $this->Life->find('count', array('conditions' => array('Life.complex_id' => $complexInfo['Complex']['id'], 'Life.status' => 2))))
- ->setCellValue("T{$index}", $this->Life->find('count', array('conditions' => array('Life.complex_id' => $complexInfo['Complex']['id'], 'Life.status' => 0))))
- ->setCellValue("U{$index}", parent::utf8conv($complexInfo['Complex']['region_score']))
- ->setCellValue("V{$index}", parent::utf8conv($complexInfo['Complex']['regident_score']))
- ->setCellValue("W{$index}", parent::utf8conv($complexInfo['Complex']['monitor_score']))
- ->setCellValue("X{$index}", parent::utf8conv($complexInfo['Complex']['floor_score']))
- ->setCellValue("Y{$index}", parent::utf8conv($complexInfo['Complex']['total_score']))
- ->setCellValue("Z{$index}", parent::utf8conv($complexInfo['Complex']['complex_rank']))
- ->setCellValue("AA{$index}",parent::utf8conv($complexInfo['Complex']['install_period_life']))
- ->setCellValue("AB{$index}",parent::utf8conv($complexInfo['Complex']['phone']));
- $objPHPExcel->setActiveSheetIndex(1)
- ->setCellValue("AC{$index}",parent::utf8conv($users[$complexInfo['Complex']['engineer_id']]))
- ->setCellValue("AD{$index}",parent::utf8conv($complexInfo['Complex']['register_mail_life']))
- ->setCellValue("AE{$index}",parent::utf8conv($complexInfo['Complex']['is_board_installed']))
- ->setCellValue("AF{$index}",parent::utf8conv($complexInfo['Complex']['install_type_life']))
- ->setCellValue("AG{$index}",parent::utf8conv($complexInfo['Complex']['install_cost_life']))
- ->setCellValue("AH{$index}",parent::utf8conv($complexInfo['Complex']['install_company_name_life']))
- ->setCellValue("AI{$index}",parent::utf8conv($complexInfo['Complex']['mb_install_company_name_life']))
- ->setCellValue("AJ{$index}",parent::utf8conv($complexInfo['Complex']['aed_name_life']))
- ->setCellValue("AK{$index}",parent::utf8conv($complexInfo['Complex']['install_status_life']))
- ->setCellValue("AL{$index}",parent::utf8conv($complexInfo['Complex']['construct_date_life']))
- ->setCellValue("AM{$index}",parent::utf8conv($complexInfo['Complex']['is_install_complete_life']))
- ->setCellValue("AN{$index}",parent::utf8conv($complexInfo['Complex']['is_edu_life']))
- ->setCellValue("AO{$index}",parent::utf8conv($complexInfo['Complex']['elevator_num_of_life']))
- ->setCellValue("AP{$index}",parent::utf8conv($complexInfo['Complex']['apt_num_of_life']))
- ->setCellValue("AQ{$index}",parent::utf8conv($complexInfo['Complex']['line_num_of_life']))
- ->setCellValue("AR{$index}", $this->Life->find('count', array('conditions'=> array('Life.complex_id' => $complexInfo['Complex']['id']))))
- ->setCellValue("AS{$index}",parent::utf8conv($complexInfo['Complex']['develop_cost_year_life']))
- ->setCellValue("AT{$…
Large files files are truncated, but you can click here to view the full file