zenith = \Config\Database::connect(); $this->gwdb = \Config\Database::connect('gwdb'); } public function typeList() { $builder = $this->zenith->table("deposit"); $builder->select("type"); $builder->groupBy("type"); $result = $builder->get()->getResultArray(); return json_encode($result); } public function userList() { $builder = $this->zenith->table("company_account AS ca"); $builder->join("users AS u", "u.id = ca.user_id"); $builder->select("u.nickname, u.id"); $builder->groupBy("user_id"); $result = $builder->get()->getResultArray(); return json_encode($result); } public function getList($data) { $builder = $this->zenith->table("deposit AS d"); $builder->select("d.seq, d.reg_date, u.nickname, d.type, a.company_name, a.bank, a.account, d.detail, d.total_price, d.memo, if(d.date IS NULL,'완료','진행중') status, d.date, d.doc_no"); $builder->join("company_account AS ca", "d.seq=ca.deposit_seq", "left"); $builder->join("account AS a", "d.account_seq=a.seq AND ca.user_id=a.user_id", "left"); $builder->join("users AS u", "a.user_id=u.id", "left"); $builder->where("d.updated_at >= ", $data["sdate"] . " 00:00:00"); $builder->where("d.updated_at <= ", $data["edate"] . " 23:59:59"); if ($data["stx_opt"] && $data["stx"]) { if ($data["stx_opt"] == "company") { $builder->like("a.company_name", $data["stx"]); } else if ($data["stx_opt"] == "detail") { $builder->like("d.detail", $data["stx"]); } } if($data["userid"]){ $builder->where("u.id", $data["userid"]); } if($data["type"]){ $builder->where("d.type", $data["type"]); } if($data["complete"]){ if($data["complete"]==1){ $builder->where("d.date IS NOT NULL", NULL, FALSE); }else if($data["complete"]==0){ $builder->where("d.date IS NULL", NULL, FALSE); } } $deposit_data = $builder->get()->getResultArray(); $doc_no_arr=array(); for($i = 0; $i < count($deposit_data); $i++){ $doc_no_arr[] = $deposit_data[$i]["doc_no"]; } $gwbuilder = $this->gwdb->table("viberc_gw AS a"); $gwbuilder->join("viberc_gw_contents AS b","a.doc_id = b.doc_id","left"); $gwbuilder->join("viberc_gw_line AS c","a.doc_id = c.doc_id","left"); $gwbuilder->join("viberc_gw_interlock AS d","a.doc_id = d.doc_id","left"); $gwbuilder->where("a.form_id",37); $gwbuilder->whereIn("doc_no", $doc_no_arr); $gwbuilder->groupBy("a.doc_id"); $gwbuilder->orderBy("a.rep_dt","DESC"); $gwbuilder->orderBy("c.doc_line_m_seq","ASC"); $gw_result = $gwbuilder->get()->getResultArray(); $gw_data=array(); foreach($gw_result as $row){ $row['doc_contents'] = str_replace(' ', ' ', $row['doc_contents']); $row['account_no'] = preg_match_all('@(]*>.*(지급은행|계좌번호).+?\:\s+?(.+)[^<]*<\/span>)@m', $row['doc_contents'], $matches); $row['account_name'] = $matches[3][0] ?? ''; $row['account_no'] = $matches[3][1] ?? ''; $gw_data[] = $row; } function searchForDocNo($id, $array) { foreach ($array as $key => $val) { if ($val['doc_no'] === $id) { return $key; } } return null; } for($i=0; $i= 0 && $gwKey != "") { $doc_id = $gw_data[$gwKey]['doc_id']; $doc_sts = $gw_data[$gwKey]['doc_sts']; $form_id = $gw_data[$gwKey]['form_id']; $doc_title = $gw_data[$gwKey]['doc_title']; $user_nm = preg_replace('/(바이브알씨_|씨랩_)/', '', $gw_data[$gwKey]['user_nm']); $grade_nm = $gw_data[$gwKey]['grade_nm']; switch($doc_sts) { case '10' : $status = $doc_title.'임시저장'; break; case '20' : $status = $doc_title.'기안'; break; case '30' : $status = $grade_nm.'('.$user_nm.') 진행중 '.$doc_title.'">진행중'; break; case '90' : $status = 'http://gw.carelabs.co.kr/eap/ea/docpop/EAAppDocViewPop.do?doc_id='.$doc_id.'&form_id='.$form_id; break; case '100' : $status = $doc_title.'반려'; break; default : $status = '문서 번호 없음'; break; } $deposit_data[$i]["gwstatus"] = $status; } } return json_encode($deposit_data); } public function accountList($data){ $builder = $this->zenith->table("account AS a"); $builder->join("users AS u","a.user_id = u.id","left"); $builder->select("a.*,u.nickname"); $builder->where("a.reg_date >= ", $data["sdate"] . " 00:00:00"); $builder->where("a.reg_date <= ", $data["edate"] . " 23:59:59"); if ($data["stx_opt"] && $data["stx"]) { if ($data["stx_opt"] == "company") { $builder->like("a.company_name", $data["stx"]); } else if ($data["stx_opt"] == "no") { $builder->like("a.account", $data["stx"]); } } if($data["userid"]){ $builder->where("u.id",$data["userid"]); } $builder->orderBy("reg_date","DESC"); $result = $builder->get()->getResultArray(); return json_encode($result); } }