login($_REQUEST['member_id'], $_REQUEST['member_auth']); if ($row) { if (!array_key_exists($row['member_auth'], array_merge($GLOBALS['_varsAuthMember'], $GLOBALS['_varsAuthAdmin']))) { $retval['mesg'] = cUtil\Mlang::getText("아이디나 비밀번호를 확인해 주세요."); } else if ($row['member_status'] != 1) { $retval['mesg'] = cUtil\Mlang::getText("해당 계정은 [{@1}] 상태입니다.", array($GLOBALS['_varsMemStatus'][$row['member_status']])); } else { $retval['code'] = 1; $apiObj && $apiObj->pushApi($_REQUEST['member_id'], "접속"); } } else { $retval['mesg'] = cUtil\Mlang::getText("아이디나 비밀번호를 확인해 주세요."); } $baseObj->logRec($_REQUEST['member_id'], "service", $retval['code']); if ($_REQUEST['save_id']) { setcookie('kuls_save_session', $_REQUEST['member_id'], strtotime("+1 years"), "/"); } else { unset($_COOKIE['kuls_save_session']); } } break; //토큰 case "memberTokenLogin": if (csrf_check('memberLogin')) { $retval['mesg'] = cUtil\Mlang::getText("정상적인 접근이 아닙니다."); } else if (!$_REQUEST['member_id']) { $retval['mesg'] = cUtil\Mlang::getText("아이디를 입력하지 않았습니다."); } else if (!$_REQUEST['member_auth']) { $retval['mesg'] = cUtil\Mlang::getText("비밀번호를 입력하지 않았습니다."); } else { $row = $baseObj->login($_REQUEST['member_id'], $_REQUEST['member_auth']); if ($row) { if (!array_key_exists($row['member_auth'], array_merge($GLOBALS['_varsAuthMember'], $GLOBALS['_varsAuthAdmin']))) { $retval['mesg'] = cUtil\Mlang::getText("아이디나 비밀번호를 확인해 주세요."); } else if ($row['member_status'] != 1) { $retval['mesg'] = cUtil\Mlang::getText("해당 계정은 [{@1}] 상태입니다.", array($GLOBALS['_varsMemStatus'][$row['member_status']])); } else { $retval['code'] = 1; $apiObj && $apiObj->pushApi($_REQUEST['admin_id'], "접속"); $tkObj = new Token(); $retval['data']['token'] = $tkObj->putToken($_REQUEST['member_id']); } } else { $retval['mesg'] = cUtil\Mlang::getText("아이디나 비밀번호를 확인해 주세요."); } $baseObj->logRec($_REQUEST['member_id'], "service", $retval['code']); if ($_REQUEST['save_id']) { $retval['data']['save_id'] = $_REQUEST['member_id']; } else { $retval['data']['save_id'] = ''; } } break; //로그인 case "memberJoin": $minfo = $baseObj->getMember($_REQUEST['member_id']); if (csrf_check('memberJoin')) { $retval['mesg'] = cUtil\Mlang::getText("정상적인 접근이 아닙니다."); } else if (!$_REQUEST['member_id']) { $retval['mesg'] = cUtil\Mlang::getText("아이디를 입력하지 않았습니다."); } else if (strlen(preg_replace("/[0-9a-z]/im", "", $_REQUEST['member_id'])) > 0 || strlen(preg_replace("/[^0-9a-z]/im", "", $_REQUEST['member_id'])) < $GLOBALS['_varsBaseCode']['id_len']) { $retval['mesg'] = cUtil\Mlang::getText("아이디는 영문자/숫자 만으로 구성되며, {$GLOBALS['_varsBaseCode']['id_len']}자리 이상이어야 합니다."); } else if (!$_REQUEST['member_pw']) { $retval['mesg'] = cUtil\Mlang::getText("비밀번호를 입력하지 않았습니다."); } else if (!$_REQUEST['member_pwf']) { $retval['mesg'] = cUtil\Mlang::getText("비밀번호 확인을 입력하지 않았습니다."); } else if (strlen($_REQUEST['member_pw']) < $GLOBALS['_varsBaseCode']['pw_len']) { $retval['mesg'] = cUtil\Mlang::getText("비밀번호는 {$GLOBALS['_varsBaseCode']['pw_len']}자 이상이어야 합니다."); } else if ($_REQUEST['member_pw'] != $_REQUEST['member_pwf']) { $retval['mesg'] = cUtil\Mlang::getText("비밀번호가 일치하지 않습니다."); } else if ($minfo['member_id'] || in_array($_REQUEST['member_id'], array("admin", "root"))) { $retval['mesg'] = cUtil\Mlang::getText("이미 존재하는 아이디 또는 사용 불가능한 아이디 입니다."); } else if (!$_REQUEST['member_name']) { $retval['mesg'] = cUtil\Mlang::getText("관리자명을 입력하지 않았습니다."); } else { $ins_row = array( "member_id" => $_REQUEST['member_id'], "member_pw" => $_REQUEST['member_pw'], "member_name" => $_REQUEST['member_name'], "member_auth" => "M", "member_status" => 2, ); $retval['code'] = $baseObj->join($ins_row); $retval['mesg'] = cUtil\Mlang::getText("등록에 실패하였습니다."); } break; //로그아웃 case "memberLogout": $apiObj->pushApi($GLOBALS['_Umem']['member_id'], "종료"); $retval['code'] = $baseObj->logout(); break; //메뉴리스트 case "getSiteMenuList": $mnuObj = new Menu(TB_menu_list); $mnuObj->cate_area = "service"; $rows = $mnuObj->getTreeListForTreeView("", $_REQUEST['menu_code']); if ($rows) { $retval['code'] = 1; $retval['data'] = $rows; $_SESSION['menu_info'] = $rows; } else { $retval['mesg'] = "불러오지 못하였습니다."; } break; //거래처목록 case "getPartnerList": $sql = "USP_B_BIZ_PARTNER_S10"; $params = array( "P_USE_FLG" => "Y", "P_BP_CD" => "", "P_PUR_FLG" => "", "P_SAL_FLG" => "" ); $rst = $baseObj->DB->exec($sql, $params); // print_r($params); $rows = array(); if ($rst) { $retval['code'] = 1; while ($row = $baseObj->DB->fetch_array($rst)) { // $row['BP_PRSN_CELL_NO'] = $baseObj->lcrypt->dec_secure($row['BP_PRSN_CELL_NO']); // $row['BP_PRSN_EMAIL'] = $baseObj->lcrypt->dec_secure($row['BP_PRSN_EMAIL']); // $row['BP_PRSN_TEL_NO'] = $baseObj->lcrypt->dec_secure($row['BP_PRSN_TEL_NO']); $rows[] = $row; } $retval['data'] = $rows; } break; //사업장 case "getBizareaList": $sql = "USP_B_BIZ_AREA_S10"; $params = Array( "BIZ_AREA_NM" => "" //사업장 명 ,"BP_NM" => "" //거래처명 ,"USEFLAG" => 'Y' ); $rst = $baseObj->DB->exec($sql, $params); $rows = array(); if ($rst) { $retval['code'] = 1; while ($row = $baseObj->DB->fetch_array($rst)) { $row['WORK_STD_TIME'] = getDT_datetime($row['WORK_STD_TIME'], "H:i"); $rows[] = $row; } $retval['data'] = $rows; } break; // 사원정보 case 'getWorkerList': $squl = "USP_B_EMPLOYEE_S10"; $params = Array( "EMP_NO" => "", "P_EMP_NM" => "", "P_DEPT_CD" => "", "P_DEPT_NM" => "", "RET_FLG" => "N" ); $rst = $baseObj->DB->exec($squl,$params); $rows = array(); if( $rst ){ $retval['code'] = true; while( $row = $baseObj->DB->fetch_array($rst) ){ $rows[] = $row; }; $retval['data'] = $rows; $retval['mesg'] = '정상 동작 되었습니다.'; }else{ $retval['code'] = false; } break; // 부서정보 case 'getDeptList': $squl = "USP_B_DEPT_S10"; $params = Array( "BIZ_AREA_NM" => "", "DEPT_NM" => "", "USE_FLG" => "Y" ); $rst = $baseObj->DB->exec($squl, $params); $rows = array(); if ($rst) { $retval['code'] = true; while ($row = $baseObj->DB->fetch_array($rst)) { $rows[] = $row; } ; $retval['data'] = $rows; $retval['mesg'] = '정상 동작 되었습니다.'; } else { $retval['code'] = false; } break; //부서 트리 case "getDeptTree": $sql = "USP_B_DEPT_HISTORY_S11"; $params = array( $_REQUEST['BIZ_AREA_CD'], "", "", "USE_FLG" => "Y" ); $rst = $baseObj->DB->exec($sql, $params); $rows = array(); if ($rst) { $retval['code'] = 1; while ($row = $baseObj->DB->fetch_array($rst)) { $row['WORK_STD_TIME'] = getDT_datetime($row['WORK_STD_TIME'], "H:i"); $rows[] = $row; } $retval['data'] = $rows; /* 스크립트에서 처리 $mnuObj = new Menu(TB_menu_list); $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', ''); */ } break; // 품목 정보 case "getItemList": $sql = "USP_B_ITEM_S20"; $params = Array( "ITEM_NM" => '', ); $rst = $baseObj->DB->exec($sql, $params); $rows = array(); if ($rst) { $retval['code'] = 1; while ($row = $baseObj->DB->fetch_array($rst)) { $rows[] = $row; } $retval['data'] = $rows; } break; // 불량실적 case "getDefList": $sql = "USP_P_DEF_RSLT_S20"; // $params = Array( // "ITEM_CD" => $_REQUEST['ITEM_CD'], // ); $rst = $baseObj->DB->exec($sql, $params); $rows = array(); if ($rst) { $retval['code'] = 1; while ($row = $baseObj->DB->fetch_array($rst)) { $rows[] = $row; } $retval['data'] = $rows; } break; // 생산오더(작업지시)별 공정 정보 case 'getOrderList': $squl = "USP_P_WO_S20"; $rst = $baseObj->DB->exec($squl); $rows = array(); if ($rst) { $retval['code'] = true; while ($row = $baseObj->DB->fetch_array($rst)) { $rows[] = $row; } ; $retval['data'] = $rows; $retval['mesg'] = '정상 동작 되었습니다.'; } else { $retval['code'] = false; } break; // 공정정보 case 'getOperList': $squl = "USP_B_OPERATION_S20"; $rst = $baseObj->DB->exec($squl); $rows = array(); if ($rst) { $retval['code'] = true; while ($row = $baseObj->DB->fetch_array($rst)) { $rows[] = $row; } ; $retval['data'] = $rows; $retval['mesg'] = '정상 동작 되었습니다.'; } else { $retval['code'] = false; } break; // 특정 품목에 대한 공정정보 case 'getItemOperList': $squl = "USP_B_OPERATION_S30"; $params = Array( "ITEM_CD" =>$_REQUEST['ITEM_CD'], ); $rst = $baseObj->DB->exec($squl, $params); $rows = array(); if ($rst) { $retval['code'] = true; while ($row = $baseObj->DB->fetch_array($rst)) { $rows[] = $row; } ; $retval['data'] = $rows; $retval['mesg'] = '정상 동작 되었습니다.'; } else { $retval['code'] = false; } break; // 설비 정보 case 'getFacilityList': $squl = "USP_B_FACILITY_S10"; $params = Array( // "BIZ_AREA_NM" => "", // "DEPT_NM" => "", "FACLT_CD" => "", "USE_FLG" => "" ); $rst = $baseObj->DB->exec($squl, $params); $rows = array(); if ($rst) { $retval['code'] = true; while ($row = $baseObj->DB->fetch_array($rst)) { $rows[] = $row; } ; $retval['data'] = $rows; $retval['mesg'] = '정상 동작 되었습니다.'; } else { $retval['code'] = false; } break; // 검사항목 정보 case "getInspList": $sql = "USP_B_INSP_ITEM_S10"; $params = Array( "INSP_ITEM" => "", ); $rst = $baseObj->DB->exec($sql, $params); $rows = array(); if ($rst) { $retval['code'] = true; while ($row = $baseObj->DB->fetch_array($rst)) { $rows[] = $row; }; $retval['data'] = $rows; $retval['mesg'] = '정상 동작 되었습니다.'; } else { $retval['code'] = false; } break; // 생산실적 오더 공정 정보 case 'getRegOrderList': $squl = "USP_P_REG_WO_S20"; $rst = $baseObj->DB->exec($squl); $rows = array(); if ($rst) { $retval['code'] = true; while ($row = $baseObj->DB->fetch_array($rst)) { $rows[] = $row; } ; $retval['data'] = $rows; $retval['mesg'] = '정상 동작 되었습니다.'; } else { $retval['code'] = false; } break; // 생산실적 설비 정보 case 'getOrderFacilityList': $squl = "USP_B_REG_FACILITY_S10"; $rst = $baseObj->DB->exec($squl, $params); $rows = array(); if ($rst) { $retval['code'] = true; while ($row = $baseObj->DB->fetch_array($rst)) { $rows[] = $row; } ; $retval['data'] = $rows; $retval['mesg'] = '정상 동작 되었습니다.'; } else { $retval['code'] = false; } break; //기초코드 case "getBasecodeList": $where = new DB_Where(); $where->add("CD.Code_Uid <> ?", $_REQUEST['Bran_Uid']); if ($_REQUEST['Group_Uid']) { $where->add("CD.Code_Uid <> ?", $_REQUEST['Group_Uid']); } $where->add("BR.Active = ?", "Y"); $where->add("GR.Active = ?", "Y"); $rows = $baseObj->getAllBaseCodeList($_REQUEST['Bran_Uid'], $_REQUEST['Group_Uid'] ?: "", "", $where); for ($a = 0; $a < count($rows); $a++) { $rows[$a]['Code_Uid_Old'] = $rows[$a]['Code_Uid']; } $retval['code'] = 1; $retval['data'] = $rows; break; //기초코드 case "putBasecode": $_REQUEST['reqdata'] = json_decode($_REQUEST['reqdata']); $rst = true; foreach ($_REQUEST['reqdata'] as $data) { $data = (array) $data; $cdata = $data; unset($cdata['_STATUS_']); unset($cdata['USE_FLG']); if (empty(array_filter($cdata))) { if ($data['_STATUS_'] == 'I') continue; //빈열제거 if ($data['_STATUS_'] == 'U') $data['_STATUS_'] = 'D'; //빈열제거 } if ($data['ITEM_CD'] && $data['_STATUS_'] == 'D') { $rst = $rst && $baseObj->delBaseCode($data['Bran_Uid'], $data['Group_Uid'], $data['Code_Uid_Old']); } else { $sqldata = array( 'Bran_Uid' => isset($data['Bran_Uid']) ? $data['Bran_Uid'] : "", 'Group_Uid' => isset($data['Group_Uid']) ? $data['Group_Uid'] : "", 'Code_Uid' => isset($data['Code_Uid']) ? $data['Code_Uid'] : "", 'Code_Val' => isset($data['Code_Val']) ? $data['Code_Val'] : "", 'Code_Exp' => isset($data['Code_Exp']) ? $data['Code_Exp'] : $data['Code_Val'], 'Code_Idx' => isset($data['Code_Idx']) ? $data['Code_Idx'] : "", 'Active' => $data['Code_Active'], ); if ($data['_STATUS_'] == 'I') { $row = $baseObj->getBaseCode($data['Bran_Uid'], $data['Group_Uid'], $data['Code_Uid']); if ($row['Code_Uid'] && $row['Code_Uid'] == $data['Code_Uid']) { $retval['mesg'] = cUtil\Mlang::getText("{@1} 는 이미 사용중인 코드입니다.", array($data['ITEM_CD'])); break; } if (!$sqldata['Code_Idx']) { $midx = $baseObj->getMaxBaseCodeIdx($data['Bran_Uid'], $data['Group_Uid']) + 1; $sqldata['Code_Idx'] = $midx; } $rst = $rst && $baseObj->putBaseCode($sqldata); } else { $rst = $rst && $baseObj->setBaseCode($sqldata, $data['Bran_Uid'], $data['Group_Uid'], $data['Code_Uid_Old']); } } } if ($rst) { $retval['code'] = 1; } break; } if (!$_REQUEST['no_echo']) { echo json_encode($retval); }