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); }