forked from HANYANG/HANYANG_MES
111 lines
3.5 KiB
PHP
111 lines
3.5 KiB
PHP
<?php
|
|
$cate_id = "BASE_DEPT"; //현재 메뉴 ID 필수!!!
|
|
include_once "{$_SERVER['DOCUMENT_ROOT']}/common.inc.php";
|
|
include_once _SVC_INC_PATH_ ."/auth_check.php";
|
|
include_once _HOME_INC_PATH_ ."/ajax_init.php";
|
|
|
|
|
|
if( !_notAuth("R") ){/************ 권한체크*/
|
|
switch( $_REQUEST['mode'] ){
|
|
case "getDeptList":
|
|
$sql = "USP_B_DEPT_HISTORY_S11";
|
|
$params = Array(
|
|
"BIZ_AREA_CD" => $_REQUEST['BIZ_AREA_CD'],
|
|
);
|
|
$rst = $baseObj->DB->exec($sql, $params);
|
|
|
|
$rows = array();
|
|
if( $rst ){
|
|
$retval['code'] = true;
|
|
while( $row = $baseObj->DB->fetch_array($rst) ){
|
|
$row['DEPT_CD_OLD'] = $row['DEPT_CD'];
|
|
$rows[] = $row;
|
|
}
|
|
$retval['data'] = $rows;
|
|
}
|
|
$retval['code'] = 1;
|
|
break;
|
|
|
|
|
|
case "putDept":
|
|
if( _notAuth("W") ) break; /************ 권한체크*/
|
|
|
|
$_REQUEST['reqdata'] = json_decode($_REQUEST['reqdata']);
|
|
$rst = true;
|
|
$ok_cd = array();
|
|
foreach( $_REQUEST['reqdata'] as $data ){
|
|
$data = (array)$data;
|
|
|
|
$cdata = $data;
|
|
unset($cdata['_STATUS_']);
|
|
unset($cdata['USE_FLG']);
|
|
unset($cdata['BIZ_AREA_CD']);
|
|
|
|
if( empty(array_filter($cdata)) ){
|
|
if( $data['_STATUS_'] == 'I' ) continue; //빈열제거
|
|
if( $data['_STATUS_'] == 'U' ) $data['_STATUS_'] = 'D'; //빈열제거
|
|
}
|
|
|
|
if(!$data['DEPT_CD']) { $retval['mesg'] = cUtil\Mlang::getText("부서코드가 누락된 행은 반영되지 않습니다."); $rst=false; break; }
|
|
else if(!$data['DEPT_NM']) { $retval['mesg'] = cUtil\Mlang::getText("부서명이 누락된 행은 반영되지 않습니다."); $rst=false; break; }
|
|
|
|
$chksql = "USP_B_DEPT_S20"; //CD 중복검사용
|
|
$chkparams = Array( //CD 중복검사용
|
|
$data['DEPT_CD']
|
|
);
|
|
|
|
if( $data['DEPT_CD'] && $data['_STATUS_'] == 'D' ){
|
|
$sql = "USP_B_DEPT_D10";
|
|
$params = Array(
|
|
"DEPT_CD" => $data['DEPT_CD'],
|
|
);
|
|
}else{
|
|
if( $data['DEPT_CD'] && $data['_STATUS_'] == 'U' ) {
|
|
$chkparams[] = $data['DEPT_CD_OLD']; //CD 중복검사용
|
|
|
|
$sql = "USP_B_DEPT_U10";
|
|
$params = Array( "DEPT_CD_OLD" => $data['DEPT_CD_OLD'] );
|
|
}else{
|
|
$sql = "USP_B_DEPT_I10";
|
|
$params = Array();
|
|
}
|
|
|
|
$rst = $baseObj->DB->exec($chksql, $chkparams);
|
|
if( $rst ){
|
|
$row = $baseObj->DB->fetch_array($rst);
|
|
if( $row['DEPT_CD'] == $data['DEPT_CD'] ){
|
|
$rst = 0;
|
|
$retval['mesg'] = cUtil\Mlang::getText("{@1} 는 이미 사용중인 부서 코드입니다.",array($data['DEPT_CD'])); break;
|
|
}
|
|
}
|
|
|
|
$params = array_merge($params, Array(
|
|
"DEPT_CD" => $data['DEPT_CD']?:"",
|
|
"DEPT_NM" => $data['DEPT_NM']?:"",
|
|
"BIZ_AREA_CD" => $data['BIZ_AREA_CD'],
|
|
"PAR_DEPT_CD" => $data['PAR_DEPT_CD'],
|
|
"INTNL_PAR_DEPT_CD" => $data['INTNL_PAR_DEPT_CD'],
|
|
"MANAGER_EMP_NO" => $data['MANAGER_EMP_NO'],
|
|
"USE_FLG" => $data['USE_FLG']?:"",
|
|
"MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
|
|
));
|
|
}
|
|
|
|
$rst2 = $rst && $baseObj->DB->exec($sql, $params);
|
|
if( $rst2 ) $ok_cd[] = $data['DEPT_CD'];
|
|
$rst = $rst && $rst2;
|
|
}
|
|
|
|
$retval['data'] = $ok_cd;
|
|
if( $rst ){
|
|
$retval['code'] = 1;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if( !$_REQUEST['no_echo'] ){
|
|
echo json_encode($retval);
|
|
} |