1
0
Fork 0
HANYANG_MES/show_dir/www/ksvc/base/warehouse/warehouse.ajax.php

205 lines
6.8 KiB
PHP

<?php
$cate_id = "BASE_WAREHOUSE"; //현재 메뉴 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 "getWhList":
$sql = "USP_B_WH_S10";
$rst = $baseObj->DB->exec($sql);
$rows = array();
if( $rst ){
$retval['code'] = true;
while( $row = $baseObj->DB->fetch_array($rst) ){
$row['WH_CD_OLD'] = $row['WH_CD'];
$rows[] = $row;
}
$retval['data'] = $rows;
}
$retval['code'] = 1;
break;
case "getLocList":
$sql = "USP_B_LOC_S10";
$params = Array(
"WH_CD" => $_REQUEST['WH_CD']?:"",
);
$rst = $baseObj->DB->exec($sql, $params);
$rows = array();
if( $rst ){
$retval['code'] = true;
while( $row = $baseObj->DB->fetch_array($rst) ){
$row['LOC_CD_OLD'] = $row['LOC_CD'];
$rows[] = $row;
}
$retval['data'] = $rows;
}
$retval['code'] = 1;
break;
case "putWh":
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['IN_FLG']);
unset($cdata['OT_FLG']);
unset($cdata['WH_TYPE']);
if( empty(array_filter($cdata)) ){
if( $data['_STATUS_'] == 'I' ) continue; //빈열제거
if( $data['_STATUS_'] == 'U' ) $data['_STATUS_'] = 'D'; //빈열제거
}
if(!$data['WH_CD']) { $retval['mesg'] = cUtil\Mlang::getText("창고코드가 누락된 행은 반영되지 않았습니다."); $rst=false; break; }
else if(!$data['WH_NM']) { $retval['mesg'] = cUtil\Mlang::getText("창고명이 누락된 행은 반영되지 않았습니다."); $rst=false; break; }
else if(!$data['BIZ_AREA_CD']) { $retval['mesg'] = cUtil\Mlang::getText("사업장이 누락된 행은 반영되지 않았습니다."); $rst=false; break; }
else if(!$data['WH_BP_CD']) { $retval['mesg'] = cUtil\Mlang::getText("거래처가 누락된 행은 반영되지 않았습니다."); $rst=false; break; }
$chksql = "USP_B_WH_S20"; //CD 중복검사용
$chkparams = Array( //CD 중복검사용
$data['WH_CD']
);
if( $data['WH_CD'] && $data['_STATUS_'] == 'D' ){
$sql = "USP_B_WH_D10";
$params = Array(
"WHCD" => $data['WHT_CD'],
);
}else{
if( $data['WH_CD'] && $data['_STATUS_'] == 'U' ) {
$chkparams[] = $data['WH_CD_OLD']; //CD 중복검사용
$sql = "USP_B_WH_U10";
$params = Array();
}else{
$sql = "USP_B_WH_I10";
$params = Array();
}
$rst = $baseObj->DB->exec($chksql, $chkparams);
if( $rst ){
$row = $baseObj->DB->fetch_array($rst);
if( $row['WH_CD'] == $data['WH_CD'] ){
$rst = 0;
$retval['mesg'] = cUtil\Mlang::getText("{@1} 는 이미 사용중인 코드입니다.",array($data['WH_CD'])); break;
}
}
$params = array_merge($params, Array(
"WH_CD" => $data['WH_CD']?:"",
"WH_NM" => $data['WH_NM']?:"",
"BIZ_AREA_CD" => $data['BIZ_AREA_CD']?:"",
"IN_FLG" => $data['IN_FLG']?:"",
"OT_FLG" => $data['OT_FLG']?:"",
"WH_TYPE" => $data['WH_TYPE']?:"",
"WH_BP_CD" => $data['WH_BP_CD']?:"",
"REMK" => $data['REMK']?:"",
"USE_FLG" => $data['USE_FLG']?:"",
"MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
));
}
$rst = $rst && $baseObj->DB->exec($sql, $params);
}
if( $rst ){
$retval['code'] = 1;
}
break;
case "putLoc":
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['WH_CD']);
unset($cdata['LOCATION_TYPE']);
if( empty(array_filter($cdata)) ){
if( $data['_STATUS_'] == 'I' ) continue; //빈열제거
if( $data['_STATUS_'] == 'U' ) $data['_STATUS_'] = 'D'; //빈열제거
}
if(!$data['LOC_CD']) { $retval['mesg'] = cUtil\Mlang::getText("로케이션코드가 누락된 행은 반영되지 않았습니다."); $rst=false; break; }
$chksql = "USP_B_LOC_S20"; //CD 중복검사용
$chkparams = Array( //CD 중복검사용
$data['WH_CD'],
$data['LOC_CD']
);
if( $data['LOC_CD'] && $data['_STATUS_'] == 'D' ){
$sql = "USP_B_LOC_D10";
$params = Array(
"LOC_CD" => $data['LOC_CD'],
);
}else{
if( $data['LOC_CD'] && $data['_STATUS_'] == 'U' ) {
$chkparams[] = $data['LOC_CD_OLD']; //CD 중복검사용
$sql = "USP_B_LOC_U10";
$params = Array();
}else{
$sql = "USP_B_LOC_I10";
$params = Array();
}
$rst = $baseObj->DB->exec($chksql, $chkparams);
if( $rst ){
$row = $baseObj->DB->fetch_array($rst);
if( $row['LOC_CD'] == $data['LOC_CD'] ){
$rst = 0;
$retval['mesg'] = cUtil\Mlang::getText("{@1} 는 이미 사용중인 코드입니다.",array($data['LOC_CD'])); break;
}
}
$params = array_merge($params, Array(
"LOC_CD" => $data['LOC_CD']?:"",
"WH_CD" => $data['WH_CD']?:"",
"LOCATION_NM" => $data['LOCATION_NM']?:"",
"LOCATION_TYPE" => $data['LOCATION_TYPE']?:"",
"LOAD_TYPE" => $data['LOAD_TYPE']?:"",
"REMK" => $data['REMK']?:"",
"USE_FLG" => $data['USE_FLG']?:"",
"MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
));
}
$rst = $rst && $baseObj->DB->exec($sql, $params);
}
if( $rst ){
$retval['code'] = 1;
}
break;
}
}
if( !$_REQUEST['no_echo'] ){
echo json_encode($retval);
}