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

428 lines
14 KiB
PHP

<?php
$cate_id = "BASE_ROUTING"; //현재 메뉴 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";
function setDefValue( $rows, $proc_cd ){ //기본값 치환 (신규 라우팅 산식 추가용)
switch( $proc_cd ){
case "RGH1" :
case "FIN1" :
for( $a=0 ; $a<count($rows) ; $a++ ){
switch( $rows[$a]['PART_CD'] ){
case "TW":
$rows[$a]['CALC_FEED'] = $rows[$a]['CALC_FEED'] !== null ? $rows[$a]['CALC_FEED'] : "({S.OD} - {S.ID})/2";
$rows[$a]['CALC_TIME'] = $rows[$a]['CALC_TIME'] !== null ? $rows[$a]['CALC_TIME'] : "({P.TW}+{MO}+{MI})/{FEED}";
break;
case "OT":
$rows[$a]['CALC_FEED'] = $rows[$a]['CALC_FEED'] !== null ? $rows[$a]['CALC_FEED'] : "{S.TT}";
$rows[$a]['CALC_TIME'] = $rows[$a]['CALC_TIME'] !== null ? $rows[$a]['CALC_TIME'] : "({P.OT}+{MT})/{FEED}";
break;
}
}
break;
case "RGH2" :
case "FIN2" :
for( $a=0 ; $a<count($rows) ; $a++ ){
switch( $rows[$a]['PART_CD'] ){
case "IT":
$rows[$a]['CALC_FEED'] = $rows[$a]['CALC_FEED'] !== null ? $rows[$a]['CALC_FEED'] : "{S.TT}";
$rows[$a]['CALC_TIME'] = $rows[$a]['CALC_TIME'] !== null ? $rows[$a]['CALC_TIME'] : "({P.IT}+{MT})/{FEED}";
break;
case "BW":
$rows[$a]['CALC_FEED'] = $rows[$a]['CALC_FEED'] !== null ? $rows[$a]['CALC_FEED'] : "({S.OD} - {S.ID})/2";
$rows[$a]['CALC_TIME'] = $rows[$a]['CALC_TIME'] !== null ? $rows[$a]['CALC_TIME'] : "({P.BW}+{MO}+{MI})/{FEED}";
break;
}
}
break;
}
return $rows;
}
if( !_notAuth("R") ){/************ 권한체크*/
switch( $_REQUEST['mode'] ){
case "getSpecList":
$sql = "USP_B_SPEC_S10";
$rst = $baseObj->DB->exec($sql);
$rows = array();
if( $rst ){
$retval['code'] = true;
while( $row = $baseObj->DB->fetch_array($rst) ){
$rows[] = $row;
}
$retval['data'] = $rows;
}
$retval['code'] = 1;
break;
case "putSpec":
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['SHAPE_TYPE']);
if( empty(array_filter($cdata)) ){
if( $data['_STATUS_'] == 'I' ) continue; //빈열제거
if( $data['_STATUS_'] == 'U' ) $data['_STATUS_'] = 'D'; //빈열제거
}
if(!$data['SPEC_ITEM_CD']) { $retval['mesg'] = cUtil\Mlang::getText("항목이 누락된 행은 반영되지 않았습니다."); $rst=false; break; }
$chksql = "USP_B_SPEC_S20"; //CD 중복검사용
$chkparams = Array( //CD 중복검사용
$data['SHAPE_TYPE'],
$data['SPEC_ITEM_CD']
);
if( $data['SPEC_ITEM_CD'] && $data['_STATUS_'] == 'D' ){
$sql = "USP_B_SPEC_D10";
$params = Array(
"SPEC_ITEM_CD" => $data['SPEC_ITEM_CD'],
);
}else{
if( $data['SPEC_ITEM_CD'] && $data['_STATUS_'] == 'U' ) {
$chkparams[] = $data['SPEC_ITEM_CD_OLD']; //CD 중복검사용
$sql = "USP_B_SPEC_U10";
$params = Array();
}else{
$sql = "USP_B_SPEC_I10";
$params = Array();
}
$rst = $baseObj->DB->exec($chksql, $chkparams);
if( $rst ){
$row = $baseObj->DB->fetch_array($rst);
if( $row['SPEC_ITEM_CD'] == $data['SPEC_ITEM_CD'] ){
$rst = 0;
$retval['mesg'] = cUtil\Mlang::getText("{@1} 는 이미 사용중인 코드입니다.",array($data['SPEC_ITEM_CD'])); break;
}
}
$params = array_merge($params, Array(
"SHAPE_TYPE" => $data['SHAPE_TYPE']?:"",
"SPEC_ITEM_CD" => $data['SPEC_ITEM_CD']?:"",
"STD_TOL_UPPER" => $data['STD_TOL_UPPER']?:"",
"STD_TOL_LOWER" => $data['STD_TOL_LOWER']?:"",
"UNIT" => $data['UNIT']?:"",
"ORD_SEQ" => $data['ORD_SEQ']?:"",
"USE_FLG" => $data['USE_FLG']?:"",
"MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
));
}
$rst2 = $baseObj->DB->exec($sql, $params);
if( $rst2 ) $ok_cd[] = $data['SPEC_ITEM_CD'];
$rst = $rst && $rst2;
}
$retval['data'] = $ok_cd;
if( $rst ){
$retval['code'] = 1;
}
break;
case "getRoutList":
$sql = "USP_B_ROUTING_S10";
$rst = $baseObj->DB->exec($sql);
$rows = array();
if( $rst ){
$retval['code'] = true;
while( $row = $baseObj->DB->fetch_array($rst) ){
$row['PROC_SEQ_OLD'] = $row['PROC_SEQ'];
$rows[] = $row;
}
$retval['data'] = $rows;
}
$retval['code'] = 1;
break;
case "putRout":
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['SHAPE_TYPE']);
unset($cdata['WO_MAKE_FLG']);
if( empty(array_filter($cdata)) ){
if( $data['_STATUS_'] == 'I' ) continue; //빈열제거
if( $data['_STATUS_'] == 'U' ) $data['_STATUS_'] = 'D'; //빈열제거
}
if(!$data['PROC_SEQ']) { $retval['mesg'] = cUtil\Mlang::getText("공순이 누락된 행은 반영되지 않았습니다."); $rst=false; break; }
else if(!$data['OP_CD']) { $retval['mesg'] = cUtil\Mlang::getText("공정이 누락된 행은 반영되지 않았습니다."); $rst=false; break; }
$chksql = "USP_B_ROUTING_S20"; //CD 중복검사용
$chkparams = Array( //CD 중복검사용
$data['SHAPE_TYPE'],
$data['PROC_SEQ']
);
if( $data['PROC_SEQ'] && $data['_STATUS_'] == 'D' ){
$sql = "USP_B_ROUTING_D10";
$params = Array(
"PROC_SEQ" => $data['PROC_SEQ'],
);
}else{
if( $data['PROC_SEQ'] && $data['_STATUS_'] == 'U' ) {
$sql = "USP_B_ROUTING_U10";
$params = Array();
}else{
$sql = "USP_B_ROUTING_I10";
$params = Array();
$rst = $baseObj->DB->exec($chksql, $chkparams);
if( $rst ){
$row = $baseObj->DB->fetch_array($rst);
if( $row['PROC_SEQ'] == $data['PROC_SEQ'] ){
$rst = 0;
$retval['mesg'] = cUtil\Mlang::getText("{@1} 는 이미 사용중인 코드입니다.",array($data['PROC_SEQ'])); break;
}
}
}
$params = array_merge($params, Array(
"SHAPE_TYPE" => $data['SHAPE_TYPE']?:"",
"PROC_SEQ" => $data['PROC_SEQ']?:"",
"OP_CD" => $data['OP_CD']?:"",
"SETUP_TM" => $data['SETUP_TM']?:"",
"WO_MAKE_FLG" => $data['WO_MAKE_FLG']?:null,
"USE_FLG" => $data['USE_FLG']?:"",
"ORD_SEQ" => $data['ORD_SEQ']?:"",
"MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
));
}
$rst2 = $baseObj->DB->exec($sql, $params);
if( $rst2 ) $ok_cd[] = $data['PROC_SEQ'];
$rst = $rst && $rst2;
}
$retval['data'] = $ok_cd;
if( $rst ){
$retval['code'] = 1;
}
break;
case "getOpPartList":
$sql = "USP_B_OPPART_S20";
$params = Array(
"SHAPE_TYPE" => $_REQUEST['SHAPE_TYPE']?:"",
"PROC_SEQ" => $_REQUEST['PROC_SEQ']?:"",
"PROC_CD" => $_REQUEST['PROC_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'] = setDefValue($rows, $_REQUEST['PROC_CD']);
}
break;
case "putOpPartList":
if( _notAuth("W") ) break; /************ 권한체크*/
$_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['PROC_SEQ'] && $data['_STATUS_'] == 'D' ){
$sql = "USP_B_OPPART_D10";
$params = Array(
"PROC_SEQ" => $data['PROC_SEQ'],
);
}else{
$sql = "USP_B_OPPART_U20";
$params = Array(
"SHAPE_TYPE" => $data['SHAPE_TYPE']?:"",
"PROC_SEQ" => $data['PROC_SEQ']?:"",
"PROC_CD" => $data['PROC_CD']?:"",
"PART_CD" => $data['PART_CD']?:"",
"USE_FLG" => $data['USE_FLG']?:"",
"EXTRA_OD" => $data['EXTRA_OD']?:0,
"EXTRA_ID" => $data['EXTRA_ID']?:0,
"EXTRA_TH" => $data['EXTRA_TH']?:0,
"EXTRA_TM" => $data['EXTRA_TM']?:0,
"PROC_CNT" => $data['PROC_CNT']?:0,
"CALC_FEED" => $data['CALC_FEED'],
"CALC_TIME" => $data['CALC_TIME'],
"MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
);
$rst = $rst && $baseObj->DB->exec($sql, $params);
}
}
if( $rst ){
$retval['code'] = 1;
}
break;
case "getInspSpecList":
$sql = "USP_B_INSTSPEC_S10";
$params = Array(
"SHAPE_TYPE" => $_REQUEST['SHAPE_TYPE']?:"",
"PROC_SEQ" => $_REQUEST['PROC_SEQ']?:"",
);
$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 "putInspSpecList":
if( _notAuth("W") ) break; /************ 권한체크*/
$_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['INSP_METH']) { $retval['mesg'] = cUtil\Mlang::getText("검사방법이 누락된 행은 반영되지 않았습니다."); $rst=false; break; }
if( $data['PROC_SEQ'] && $data['_STATUS_'] == 'D' ){
$sql = "USP_B_INSTSPEC_D10";
$params = Array(
"SHAPE_TYPE" => $data['SHAPE_TYPE']?:"",
"PROC_SEQ" => $data['PROC_SEQ'],
);
}else{
$sql = "USP_B_INSTSPEC_U10";
$params = Array(
"SHAPE_TYPE" => $data['SHAPE_TYPE'],
"PROC_SEQ" => $data['PROC_SEQ'],
"PROC_CD" => $data['PROC_CD'],
"STD_INSP_ITEM" => $data['ITEM_CD']?:"",
"INSP_METH" => $data['INSP_METH']?:"",
"STD_TOL_UPPER" => $data['STD_TOL_UPPER'],
"STD_TOL_LOWER" => $data['STD_TOL_LOWER'],
"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 "getBfInspSpecList":
$sql = "USP_B_BFINSP_S10";
$params = Array(
"SHAPE_TYPE" => $_REQUEST['SHAPE_TYPE']?:"",
"PROC_SEQ" => $_REQUEST['PROC_SEQ']?:"",
);
$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 "putBfInspSpecList":
if( _notAuth("W") ) break; /************ 권한체크*/
$_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['INSP_METH']) { $retval['mesg'] = cUtil\Mlang::getText("검사방법이 누락된 행은 반영되지 않았습니다."); $rst=false; break; }
if( $data['PROC_SEQ'] && $data['_STATUS_'] == 'D' ){
$sql = "USP_B_BFINSP_D10";
$params = Array(
"SHAPE_TYPE" => $data['SHAPE_TYPE']?:"",
"PROC_SEQ" => $data['PROC_SEQ'],
);
}else{
$sql = "USP_B_BFINSP_U10";
$params = Array(
"SHAPE_TYPE" => $data['SHAPE_TYPE'],
"PROC_SEQ" => $data['PROC_SEQ'],
"PROC_CD" => $data['PROC_CD'],
"STD_INSP_ITEM" => $data['ITEM_CD']?:"",
"INSP_METH" => $data['INSP_METH']?:"",
"STD_TOL_UPPER" => $data['STD_TOL_UPPER'],
"STD_TOL_LOWER" => $data['STD_TOL_LOWER'],
"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);
}