forked from HANYANG/HANYANG_MES
353 lines
14 KiB
PHP
353 lines
14 KiB
PHP
<?php
|
|
$cate_id = "ETC_OUTSOURCING"; //현재 메뉴 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 "getHdrList":
|
|
$sql = "USP_Y_OUTSOURCING_S10";
|
|
$rst = $baseObj->DB->exec($sql);
|
|
|
|
$rows = array();
|
|
if( $rst ){
|
|
$retval['code'] = true;
|
|
while( $row = $baseObj->DB->fetch_array($rst) ){
|
|
$row['PO_NO_OLD'] = $row['PO_NO'];
|
|
$mng_nos_c = "";
|
|
$mn_arr = explode(',', $row['MNG_NOS']);
|
|
$mn_arr_c = [];
|
|
for ($i = 0; $i < sizeof($mn_arr); $i++) {
|
|
$mn = substr( $mn_arr[$i], 0, strpos($mn_arr[$i], '!') );
|
|
$mn_arr_c[] = $mn;
|
|
}
|
|
$mn_arr_u = array_unique($mn_arr_c);
|
|
$row['MNG_NOS_US'] = implode(' / ', $mn_arr_u);
|
|
|
|
$rows[] = $row;
|
|
}
|
|
$retval['data'] = $rows;
|
|
}
|
|
$retval['code'] = 1;
|
|
break;
|
|
|
|
case "getDtlList":
|
|
$sql = "USP_Y_OUTSOURCING_S20";
|
|
$params = Array(
|
|
"PO_NO" => $_REQUEST['PO_NO'],
|
|
);
|
|
$rst = $baseObj->DB->exec($sql, $params);
|
|
|
|
$rows = array();
|
|
if( $rst ){
|
|
$retval['code'] = true;
|
|
while( $row = $baseObj->DB->fetch_array($rst) ){
|
|
$row['MNG_NO_OLD'] = $row['MNG_NO'];
|
|
|
|
$rows[] = $row;
|
|
}
|
|
$retval['data'] = $rows;
|
|
}
|
|
$retval['code'] = 1;
|
|
break;
|
|
|
|
case "putHdr":
|
|
if( _notAuth("W") ) break; /************ 권한체크*/
|
|
|
|
$_REQUEST['reqdata'] = json_decode($_REQUEST['reqdata']);
|
|
$rst = true;
|
|
$rst2 = null;
|
|
$ok_cd = array();
|
|
foreach( $_REQUEST['reqdata'] as $data ){
|
|
$data = (array)$data;
|
|
|
|
$cdata = $data;
|
|
unset($cdata['_STATUS_']);
|
|
|
|
if( empty(array_filter($cdata)) ){
|
|
if( $data['_STATUS_'] == 'I' ) continue; //빈열제거
|
|
if( $data['_STATUS_'] == 'U' ) $data['_STATUS_'] = 'D'; //빈열제거
|
|
}
|
|
|
|
if(!$data['PO_NO']) { $retval['mesg'] = cUtil\Mlang::getText("발주번호가 누락된 행은 반영되지 않았습니다."); $rst=false; break; }
|
|
|
|
$rows = array();
|
|
if( $data['PO_NO'] && $data['_STATUS_'] == 'D' ){
|
|
$sql = "USP_Y_OUTSOURCING_S20";
|
|
$params = array("PO_NO" => $data['PO_NO']);
|
|
$rst2 = $baseObj->DB->exec($sql, $params);
|
|
if( $rst2 ){
|
|
while( $row = $baseObj->DB->fetch_array($rst2) ){
|
|
$rows[] = $row;
|
|
}
|
|
}
|
|
if (sizeof($rows) > 0) {
|
|
$sql = "USP_Y_OUTSOURCING_S21";
|
|
$params = array("MNG_NO" => $rows['MNG_NO']);
|
|
$rst2 = $baseObj->DB->exec($sql, $params);
|
|
$row3 = $baseObj->DB->fetch_array($rst2);
|
|
if ($row3['MNG_CNT'] == 1) {
|
|
$sql = "USP_S_SO_U21";
|
|
$params = array("MNG_NO" => $rows['MNG_NO'],
|
|
"APPROV_FLG" => "N");
|
|
$rst3 = $baseObj->DB->exec($sql, $params);
|
|
}
|
|
}
|
|
|
|
$sql = "USP_Y_OUTSOURCING_D20";
|
|
$params = array("PO_NO" => $data['PO_NO']);
|
|
$rst2 = $baseObj->DB->exec($sql, $params);
|
|
|
|
$sql = "USP_Y_OUTSOURCING_D10";
|
|
$params = Array( "PO_NO" => $data['PO_NO'] );
|
|
$rst2 = $baseObj->DB->exec($sql, $params);
|
|
}else{
|
|
if( $data['PO_NO'] && $data['_STATUS_'] == 'U' ) {
|
|
$sql = "USP_Y_OUTSOURCING_U10";
|
|
$params = Array();
|
|
}else{
|
|
$sql = "USP_Y_OUTSOURCING_I10";
|
|
$params = Array();
|
|
}
|
|
|
|
$params = array_merge($params, Array(
|
|
"PO_NO" => $data['PO_NO'],
|
|
"PO_UID" => $_REQUEST['PO_UID'],
|
|
"BIZ_AREA_CD" => $_REQUEST['BIZ_AREA_CD']?:NULL,
|
|
"PO_DT" => $_REQUEST['PO_DT']?:NULL,
|
|
"PO_BP_CD" => $_REQUEST['PO_BP_CD']?:NULL,
|
|
"PAYMENT_COND" => $_REQUEST['PAYMENT_COND']?:NULL,
|
|
"PO_PRSN_TEL" => $_REQUEST['PO_PRSN_TEL']?:NULL,
|
|
"PO_PRSN_NM" => $_REQUEST['PO_PRSN_NM']?:NULL,
|
|
"PO_BP_NM" => $_REQUEST['PO_BP_NM']?:NULL,
|
|
"PO_BP_ADDR" => $_REQUEST['PO_BP_ADDR']?:NULL,
|
|
"PO_BP_TEL" => $_REQUEST['PO_BP_TEL']?:NULL,
|
|
"CURRENCY_CD" => $_REQUEST['CURRENCY_CD']?:NULL,
|
|
"PO_DEL_COND" => $_REQUEST['PO_DEL_COND']?:NULL,
|
|
"PO_INSPT_COND" => $_REQUEST['PO_INSPT_COND']?:NULL,
|
|
"PO_MATR_CLASS" => $_REQUEST['PO_MATR_CLASS']?:NULL,
|
|
"PO_MNG_CLASS" => $_REQUEST['PO_MNG_CLASS']?:NULL,
|
|
"PO_REMARK1" => $_REQUEST['PO_REMARK1']?:NULL,
|
|
"PO_REMARK2" => $_REQUEST['PO_REMARK2']?:NULL,
|
|
"MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
|
|
"SO_NO" => $_REQUEST['SO_NO']?:NULL,
|
|
));
|
|
|
|
$rst2 = $baseObj->DB->exec($sql, $params);
|
|
if( $rst2 ) $ok_cd[] = $data['PO_NO'];
|
|
}
|
|
$rst = $rst && $rst2;
|
|
}
|
|
|
|
$retval['data'] = $ok_cd;
|
|
if( $rst ){
|
|
$retval['code'] = 1;
|
|
}
|
|
break;
|
|
|
|
case "setOutsourcing":
|
|
if( _notAuth("W") ) break; /************ 권한체크*/
|
|
|
|
$PO_UID = $_REQUEST['PO_UID'];
|
|
if( !$_REQUEST['PO_UID'] ){
|
|
$retval['mesg'] = cUtil\Mlang::getText("발주번호를 입력하지 않았습니다."); break;
|
|
}
|
|
|
|
if( isset($PO_UID)) {
|
|
$sql = "USP_Y_OUTSOURCING_U10";
|
|
$params = Array();
|
|
|
|
$params = array_merge($params, Array(
|
|
"PO_NO" => $_REQUEST['PO_NO'],
|
|
"PO_UID" => $_REQUEST['PO_UID'],
|
|
"BIZ_AREA_CD" => $_REQUEST['BIZ_AREA_CD']?:NULL,
|
|
"PO_DT" => $_REQUEST['PO_DT']?:NULL,
|
|
"PO_BP_CD" => $_REQUEST['PO_BP_CD']?:NULL,
|
|
"PAYMENT_COND" => $_REQUEST['PAYMENT_COND']?:NULL,
|
|
"PO_PRSN_TEL" => $_REQUEST['PO_PRSN_TEL']?:NULL,
|
|
"PO_PRSN_NM" => $_REQUEST['PO_PRSN_NM']?:NULL,
|
|
"PO_BP_NM" => $_REQUEST['PO_BP_NM']?:NULL,
|
|
"PO_BP_ADDR" => $_REQUEST['PO_BP_ADDR']?:NULL,
|
|
"PO_BP_TEL" => $_REQUEST['PO_BP_TEL']?:NULL,
|
|
"CURRENCY_CD" => $_REQUEST['CURRENCY_CD']?:NULL,
|
|
"PO_DEL_COND" => $_REQUEST['PO_DEL_COND']?:NULL,
|
|
"PO_INSPT_COND" => $_REQUEST['PO_INSPT_COND']?:NULL,
|
|
"PO_MATR_CLASS" => $_REQUEST['PO_MATR_CLASS']?:NULL,
|
|
"PO_MNG_CLASS" => $_REQUEST['PO_MNG_CLASS']?:NULL,
|
|
"PO_REMARK1" => $_REQUEST['PO_REMARK1']?:NULL,
|
|
"PO_REMARK2" => $_REQUEST['PO_REMARK2']?:NULL,
|
|
"MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
|
|
));
|
|
|
|
$rst = $baseObj->DB->exec($sql, $params);
|
|
|
|
}
|
|
if ($_REQUEST['ITEM']) {
|
|
$chksql = "USP_Y_OUTSOURCING_S11";
|
|
$chkparams = Array( "PO_UID" => $PO_UID );
|
|
$rst = $baseObj->DB->exec($chksql, $chkparams);
|
|
$L_PO_NO = null;
|
|
if( $rst ){
|
|
$row = $baseObj->DB->fetch_array($rst);
|
|
if( $row['PO_NO'] ){
|
|
$L_PO_NO = $row['PO_NO'];
|
|
}
|
|
}
|
|
|
|
$items = json_decode($_REQUEST['ITEM']);
|
|
foreach ($items as $item) {
|
|
$item = (array)$item;
|
|
$sql = "USP_Y_OUTSOURCING_U20";
|
|
$params = Array(
|
|
"PO_NO" => $L_PO_NO,
|
|
"PO_SEQ" => $item['PO_SEQ']?:NULL,
|
|
"PO_DTL_ORD_NO" => $item['PO_DTL_ORD_NO']?:NULL,
|
|
"MNG_NO" => $item['MNG_NO'],
|
|
"DRAW_NO" => $item['DRAW_NO']?:NULL,
|
|
"QTY" => $item['QTY'],
|
|
"REQ_DLVY_DT" => $item['REQ_DLVY_DT']?:NULL,
|
|
"PRICE" => $item['PRICE']?:NULL,
|
|
"AMT" => $item['AMT']?:NULL,
|
|
"SPC_OD" => $item['SPC_OD']?:NULL,
|
|
"SPC_ID" => $item['SPC_ID']?:NULL,
|
|
"SPC_TH" => $item['SPC_TH']?:NULL,
|
|
"SPC_W" => $item['SPC_W']?:NULL,
|
|
"SPC_L" => $item['SPC_L']?:NULL,
|
|
"MATR" => $item['MATR']?:NULL,
|
|
"PO_UNIT" => $item['PO_UNIT']?:NULL,
|
|
"PO_DTL_COND" => $item['PO_DTL_COND']?:NULL,
|
|
"SPEM" => $item['SPEM']?:NULL,
|
|
"INST_COND" => $item['INST_COND']?:NULL,
|
|
"PWR_PRICE" => $item['PWR_PRICE']?:NULL,
|
|
"PWR_AMT" => $item['PWR_AMT']?:NULL,
|
|
"REMARK" => $item['REMARK']?:NULL,
|
|
"CUST_PO_NO" => $item['CUST_PO_NO']?:NULL,
|
|
"MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
|
|
"ITEM_CD" => $item['ITEM_CD']?:null
|
|
);
|
|
$rst = $rst && $baseObj->DB->exec($sql, $params);
|
|
}
|
|
}
|
|
|
|
if( $rst ){
|
|
$retval['code'] = 1;
|
|
}
|
|
break;
|
|
|
|
case "copyOutsourcing" :
|
|
if( _notAuth("W") ) break; /************ 권한체크*/
|
|
|
|
$PO_UID = $_REQUEST['PO_UID'];
|
|
if( !$_REQUEST['PO_UID'] ){
|
|
$retval['mesg'] = cUtil\Mlang::getText("발주번호를 입력하지 않았습니다."); break;
|
|
}
|
|
|
|
if (isset($PO_UID)) {
|
|
$sql = "USP_Y_OUTSOURCING_S11";
|
|
$params = Array(
|
|
"PO_UID" => $PO_UID
|
|
);
|
|
$rst = $baseObj->DB->exec($sql, $params);
|
|
$row = array();
|
|
if( $rst ){
|
|
$row = $baseObj->DB->fetch_array($rst);
|
|
if ($row != null) {
|
|
$retval['mesg'] = cUtil\Mlang::getText("발주번호가 중복됩니다."); break;
|
|
}
|
|
}
|
|
}
|
|
$items = json_decode($_REQUEST['ITEM'],true);
|
|
|
|
$sql = "USP_Y_OUTSOURCING_I10";
|
|
$params = Array();
|
|
$params = array_merge($params, Array(
|
|
"PO_NO" => "",
|
|
"PO_UID" => $_REQUEST['PO_UID'],
|
|
"BIZ_AREA_CD" => $_REQUEST['BIZ_AREA_CD']?:NULL,
|
|
"PO_DT" => $_REQUEST['PO_DT']?:NULL,
|
|
"PO_BP_CD" => $_REQUEST['PO_BP_CD']?:NULL,
|
|
"PAYMENT_COND" => $_REQUEST['PAYMENT_COND']?:NULL,
|
|
"PO_PRSN_TEL" => $_REQUEST['PO_PRSN_TEL']?:NULL,
|
|
"PO_PRSN_NM" => $_REQUEST['PO_PRSN_NM']?:NULL,
|
|
"PO_BP_NM" => $_REQUEST['PO_BP_NM']?:NULL,
|
|
"PO_BP_ADDR" => $_REQUEST['PO_BP_ADDR']?:NULL,
|
|
"PO_BP_TEL" => $_REQUEST['PO_BP_TEL']?:NULL,
|
|
"CURRENCY_CD" => $_REQUEST['CURRENCY_CD']?:NULL,
|
|
"PO_DEL_COND" => $_REQUEST['PO_DEL_COND']?:NULL,
|
|
"PO_INSPT_COND" => $_REQUEST['PO_INSPT_COND']?:NULL,
|
|
"PO_MATR_CLASS" => $_REQUEST['PO_MATR_CLASS']?:NULL,
|
|
"PO_MNG_CLASS" => $_REQUEST['PO_MNG_CLASS']?:NULL,
|
|
"PO_REMARK1" => $_REQUEST['PO_REMARK1']?:NULL,
|
|
"PO_REMARK2" => $_REQUEST['PO_REMARK2']?:NULL,
|
|
"MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
|
|
"SO_NO" => $items[0]['SO_NO']?:""
|
|
));
|
|
$rst = $rst && $baseObj->DB->exec($sql, $params);
|
|
|
|
if ($_REQUEST['ITEM']) {
|
|
$chksql = "USP_Y_OUTSOURCING_S11";
|
|
$chkparams = Array( "PO_UID" => $PO_UID );
|
|
$rst = $baseObj->DB->exec($chksql, $chkparams);
|
|
$L_PO_NO = null;
|
|
if( $rst ){
|
|
$row = $baseObj->DB->fetch_array($rst);
|
|
if( $row['PO_NO'] ){
|
|
$L_PO_NO = $row['PO_NO'];
|
|
}
|
|
}
|
|
|
|
$items = json_decode($_REQUEST['ITEM'],true);
|
|
foreach ($items as $item) {
|
|
$item = (array)$item;
|
|
$sql = "USP_Y_OUTSOURCING_I20";
|
|
$params = Array(
|
|
"PO_NO" => $L_PO_NO,
|
|
"PO_DTL_ORD_NO" => $item['PO_DTL_ORD_NO']?:NULL,
|
|
"MNG_NO" => $item['MNG_NO'],
|
|
"DRAW_NO" => $item['DRAW_NO']?:NULL,
|
|
"QTY" => $item['SO_QTY'],
|
|
"REQ_DLVY_DT" => $item['REQ_DLVY_DT']?:NULL,
|
|
"PRICE" => $item['PRICE']?:NULL,
|
|
"AMT" => $item['AMT']?:NULL,
|
|
"SPC_OD" => $item['SPC_OD']?:NULL,
|
|
"SPC_ID" => $item['SPC_ID']?:NULL,
|
|
"SPC_TH" => $item['SPC_TH']?:NULL,
|
|
"SPC_W" => $item['SPC_W']?:NULL,
|
|
"SPC_L" => $item['SPC_L']?:NULL,
|
|
"MATR" => $item['MATR']?:NULL,
|
|
"PO_UNIT" => $item['PO_UNIT']?:NULL,
|
|
"PO_DTL_COND" => $item['PO_DTL_COND']?:NULL,
|
|
"SPEM" => $item['SPEM']?:NULL,
|
|
"INST_COND" => $item['INST_COND']?:NULL,
|
|
"PWR_PRICE" => $item['PWR_PRICE']?:NULL,
|
|
"PWR_AMT" => $item['PWR_AMT']?:NULL,
|
|
"REMARK" => $item['REMARK']?:NULL,
|
|
"CUST_PO_NO" => $item['CUST_PO_NO']?:NULL,
|
|
"MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
|
|
"ITEM_CD" => $item['ITEM_CD']?:null,
|
|
"SO_NO" => $item['SO_NO']?:null,
|
|
);
|
|
$rst = $rst && $baseObj->DB->exec($sql, $params);
|
|
|
|
$sql = "USP_S_SO_U21";
|
|
$params = Array(
|
|
"MNG_NO" => $item['MNG_NO'],
|
|
"APPROV_FLG" => 'Y'
|
|
);
|
|
$rst = $rst && $baseObj->DB->exec($sql, $params);
|
|
|
|
}
|
|
}
|
|
if( $rst ){
|
|
$retval['code'] = 1;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
if( !$_REQUEST['no_echo'] ){
|
|
echo json_encode($retval);
|
|
}
|