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']); // print_r(); $sql ="USP_ZB_MANUAL_S10"; $params = array( $_REQUEST['menu_code'] ); $manual = $baseObj->DB->exec($sql, $params); while ($row = $baseObj->DB->fetch_array($manual)) { $tempArray[] = $row; } if ($rows) { $retval['code'] = 1; $retval['data'] = $rows; $retval['manual'] = $tempArray; $_SESSION['menu_info'] = $rows; } else { $retval['mesg'] = "불러오지 못하였습니다."; } // $retval['manual'] = $manual; break; //거래처목록 case "getPartnerList": $sql = "USP_B_BIZ_PARTNER_POP_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 'getRoutingList': $sql = "USP_B_ROUTING_S10"; $params = Array( "ITEM_CD" => $_REQUEST['ITEM_CD']?:"", ); $rst = $baseObj->DB->exec($sql,$params); $rows = array(); if( $rst ){ while( $row = $baseObj->DB->fetch_array($rst) ){ $rows[] = $row; }; $retval['code'] = true; $retval['data'] = $rows; // print_r($retval['data']); $retval['mesg'] = '정상 동작 되었습니다.'; }else{ $retval['code'] = false; } 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 'getRegOperList': $squl = "USP_P_WO_OPER_S10"; $params = array( "WO_NO" => $_REQUEST['WO_NO'] ?: "", ); $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 '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 'getItemOperCheckList': $squl = "USP_B_INSP_ITEM_S10"; $params = array( "WO_NO_P" => "", ); // $squl = "USP_B_OPERATION_S40"; // $params = array( // "WO_NO_P" => $_REQUEST['WO_NO_P'], // "OP_CD_P" => $_REQUEST['OP_CD_P'], // "ITEM_CD_P" => $_REQUEST['ITEM_CD_P'] // ); $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( "USE_FLG" => "", "FACLT_CD" => "", "FACLT_NM" => "", "FACLT_GRP" => "", ); $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 "getInspItem": $sql = "USP_P_REG_PROD_INSP_S10"; $params = array( 'WO_NO' => $_REQUEST["WO_NO"] ?: "", 'WO_SEQ' => $_REQUEST["WO_SEQ"] ?: "", ); $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; case "putSiteMenual": $sql = 'USP_ZB_MANUAL_U10'; $_REQUEST['RS_CODE'] = ""; $_REQUEST['RS_MSG'] = ""; $params = Array( 'EMP_NO' => $_REQUEST['member_id'] ? $_REQUEST['member_id'] : "", 'CONTENTS' => $_REQUEST['contents'] ? $_REQUEST['contents'] : "", 'MENU_CD' => $_REQUEST['menu_code'] ? $_REQUEST['menu_code'] : "", "RS_CODE" => array(&$_REQUEST['RS_CODE'], SQLSRV_PARAM_OUT), "RS_MSG" => array(&$_REQUEST['RS_MSG'], SQLSRV_PARAM_OUT) ); $rst = $baseObj->DB->exec($sql, $params); if ($rst) { $retval['code'] = $_REQUEST['RS_CODE']; $retval['mesg'] = $_REQUEST['RS_MSG']; } break; // 비밀번호 초기화로직 case "firstPassword": // print_r($_REQUEST['pw']); $sql = 'USP_ZB_INIT_PASSWORD_U10'; $params = Array( 'pw' => $baseObj->lcrypt-> pw_make(""), ); // print_r($params); $rst = $baseObj->DB->exec($sql, $params); if ($rst) { $retval['code'] = true; } break; //사용자가 비밀번호 변경 시 체크하는 로직 case "checkPassword": if (!$_REQUEST['member_auth']) { $retval['mesg'] = cUtil\Mlang::getText("비밀번호를 입력하지 않았습니다."); } else { $row = $baseObj->login($GLOBALS['_Umem']['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; $retval['mesg'] = cUtil\Mlang::getText("비밀번호가 확인되었습니다."); } } else { $retval['mesg'] = cUtil\Mlang::getText("비밀번호를 확인해 주세요."); } } break; case "changePassword": // print_r($baseObj->lcrypt->pw_make($_REQUEST['member_auth'])); if( $_REQUEST['member_auth'] ){ $sqldata["member_pw"] = $baseObj->lcrypt->pw_make($_REQUEST['member_auth']); } $rst = $baseObj->setMemberParts($sqldata); if($rst){ $retval['code'] = 1; }else{ $retval['code'] = 0; $retval['mesg'] = "계정 상태를 확인해주세요"; } break; } if (!$_REQUEST['no_echo']) { echo json_encode($retval); }