1
0
Fork 0
HANYANG_MES/home_dir/www/ksvc_old/etc/outsourcing/outsourcing.ajax.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);
}