forked from HANYANG/HANYANG_MES
428 lines
14 KiB
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);
|
|
} |