1
0
Fork 0
HANYANG_MES/show_dir/www/ksvc/ncr/ncr_mng/ncr.ajax.php

334 lines
11 KiB
PHP

<?php
$cate_id = "WORK_NCR_MNG"; //현재 메뉴 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";
$_tmp_dir = _UP_PATH_ . "/temp"; //임시파일저장경로
$_ncr_dir = _UP_PATH_ . "/ncr"; //도면파일저장경로
if (!file_exists($_tmp_dir)) {
mkdir($_tmp_dir);
}
if (!file_exists($_ncr_dir)) {
mkdir($_ncr_dir);
}
if (!_notAuth("R")) { /************ 권한체크*/
switch ($_REQUEST['mode']) {
case "getNcrList":
$sql = "USP_Q_NCR_S10";
$params = array(
"WORKER_NM" => $_REQUEST['WORKER_NM'] ?: "",
"WRK_DT_ST" => $_REQUEST['WRK_DT_ST'] ?: "",
"WRK_DT_ED" => $_REQUEST['WRK_DT_ED'] ?: "",
"OFLD" => $_REQUEST['OFLD'] ?: "",
"OASC" => $_REQUEST['OASC'] ?: "",
"LINE_NUM" => $_REQUEST['LINE_NUM'] ?: "",
"NOW_PAGE" => $_REQUEST['NOW_PAGE'] ?: "",
);
$rst = $baseObj->DB->exec($sql, $params);
$rows = array();
if ($rst) {
$retval['code'] = true;
while ($row = $baseObj->DB->fetch_array($rst)) {
$row['LIST_NUM'] = $row['TOTAL_ROWS_NUM'] - $row['START_ROW'] - $i++;
$rows[] = $row;
}
$retval['data'] = $rows;
}
$retval['code'] = 1;
break;
case "getNcr":
$sql = "USP_Q_NCR_S20";
$params = array(
"NCR_NO" => $_REQUEST['NCR_NO'],
);
$rst = $baseObj->DB->exec($sql, $params);
$retval['data'] = $baseObj->DB->fetch_array($rst);
$retval['data']['NCR_NO_OLD'] = $retval['data']['NCR_NO'];
$sql = "USP_ZB_ATTACH_S10";
$params = array(
"file_id" => "",
"gubun" => "ncr",
"nid" => $_REQUEST['NCR_NO'],
);
$rst = $baseObj->DB->exec($sql, $params);
while ($row = $baseObj->DB->fetch_array($rst)) {
$retval['data']['ATTS'][] = $row;
}
$sql = "USP_Q_NCR_ACTION_S10";
$params = array(
$_REQUEST['NCR_NO'],
'Y'
);
$rst3 = $baseObj->DB->exec($sql, $params);
if ($rst3) {
$retval['code'] = 1;
$rows = array();
while ($row = $baseObj->DB->fetch_array($rst3)) {
$row['ACTION_DT'] = $row['ACTION_DT'] ? getDT_date($row['ACTION_DT']) : null;
$rows[] = $row;
}
$retval['data']['ACTION'] = $rows;
}
$retval['code'] = 1;
break;
//Todo : 수주 등록된 수주만 들고와야 한다.
case "setNcr":
if (!$_REQUEST['NCR_NO']) {
$retval['mesg'] = cUtil\Mlang::getText("부적합 코드를 입력하지 않았습니다.");
break;
}
case "putNcr":
if (_notAuth("W"))
break; /************ 권한체크*/
$found_dt = explode(" ", $_REQUEST['FOUND_DT']);
if ($_REQUEST['NCR_NO_OLD']) {
$sql = "USP_Q_NCR_U10";
$params = array(
"NCR_NO" => $_REQUEST['NCR_NO'],
"MNG_NO" => $_REQUEST['MNG_NO'],
"SN_ID" => $_REQUEST['MNG_SN_ID'],
"NCR_QTY" => $_REQUEST['NCR_QTY'],
"NCR_UNIT" => $_REQUEST['NCR_UNIT'],
"FOUND_DT" => $found_dt[0],
"FOUND_TM" => $found_dt[1],
"FOUND_TYPE" => $_REQUEST['FOUND_TYPE'],
"NCR_CD" => $_REQUEST['NCR_CD'],
"JUDG_CD" => $_REQUEST['JUDG_CD'],
"JUDG_EMP_NO" => $_REQUEST['JUDG_EMP_NO'],
"JUDG_DT" => $_REQUEST['JUDG_DT'],
"NCR_CONTENT" => $_REQUEST['NCR_CONTENT'],
"MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
);
$rst = $baseObj->DB->exec($sql, $params);
} else {
$sql = "USP_Q_NCR_I10";
$params = array(
array(&$_REQUEST['NCR_NO'], SQLSRV_PARAM_OUT),
$_REQUEST['MNG_NO'],
$_REQUEST['MNG_SN_ID'],
$_REQUEST['NCR_QTY'],
$_REQUEST['NCR_UNIT'],
$found_dt[0],
$found_dt[1],
$_REQUEST['FOUND_TYPE'],
$_REQUEST['NCR_CD'],
$_REQUEST['JUDG_CD'],
$_REQUEST['JUDG_EMP_NO'],
$_REQUEST['JUDG_DT'],
$_REQUEST['NCR_CONTENT'],
$GLOBALS['_Umem']['member_id'],
);
$rst = $baseObj->DB->exec_output($sql, $params); //Deprecated. 이 함수 말고, exec_output_merge 함수를 사용한다. 예시로 남겨둔다.
}
if ($rst) {
$nid = $_REQUEST['NCR_NO'];
foreach ($_REQUEST['file_id'] as $key => $nfile) {
if ($_REQUEST['file_gubun'][$key] == "temp") {
if (in_array($_REQUEST['file_id'][$key], $_REQUEST['file_del'] ?: array()))
continue; //신규등록 삭제체크시 비등록 처리
$upfiles = array();
if ($nfile && file_exists($_tmp_dir . "/{$nfile}")) {
$upfiles = \Frody\Util\MultiFileUpload::swfFormFileInfo($nfile, $_tmp_dir);
$sid = uniqid();
$params = array(
"gubun" => "ncr",
"nid" => $nid ?: "",
"sid" => $sid ?: "",
"file_name" => $upfiles[0]['name'] ?: "",
"file_size" => $upfiles[0]['size'] ?: "",
"file_type" => $upfiles[0]['type'] ?: "",
"file_width" => $upfiles[0]['width'] ?: "",
"file_height" => $upfiles[0]['height'] ?: "",
);
$sql = "USP_ZB_ATTACH_I10";
$file_id = $baseObj->DB->result($baseObj->DB->exec($sql, $params), 0, 0);
if ($file_id) {
\Frody\Util\MultiFileUpload::swfMoveUploadedFile($upfiles[0]['tmp_name'], "{$_ncr_dir}/{$nid}_{$sid}_{$file_id}.dat");
}
}
} else {
if (in_array($_REQUEST['file_id'][$key], $_REQUEST['file_del'] ?: array())) { //기등록 삭제체크시 삭제 처리
$sql = "USP_ZB_ATTACH_D10";
$params = array(
"file_id" => $_REQUEST['file_id'][$key],
"gubun" => $_REQUEST['file_gubun'][$key],
);
$baseObj->DB->exec($sql, $params);
@unlink("{$_ncr_dir}/{$nid}_{$_REQUEST['sid'][$key]}_{$nfile}.dat");
}
}
}
$_REQUEST['ACTION'] = json_decode($_REQUEST['ACTION']);
foreach ($_REQUEST['ACTION'] as $action) {
$action = (array) $action;
if ($action['_STATUS_'] == 'I' && $action['USE_FLG'] != "Y")
continue;
$data = $action;
unset($data['_STATUS_']);
unset($data['USE_FLG']);
if (empty(array_filter($data))) {
if ($action['_STATUS_'] == 'I')
continue; //빈열제거
if ($action['_STATUS_'] == 'U')
$action['_STATUS_'] = 'D'; //빈열제거
}
if ($action['SEQ'] && $action['_STATUS_'] == 'D') {
$sql = "USP_B_NCR_HST_D10";
$params = array(
"NCR_NO" => $data['NCR_NO'],
);
} else {
if (($action['SEQ'] || $action['SEQ'] === 0) && $action['_STATUS_'] == 'U') {
$sql = "USP_Q_NCR_ACTION_U10";
$params = array("SEQ" => $action['SEQ']);
} else {
$sql = "USP_Q_NCR_ACTION_I10";
$params = array();
}
$params = array_merge($params, array(
"NCR_NO" => $_REQUEST['NCR_NO'],
"ACTION_DT" => $action['ACTION_DT'] ?: null,
"ACTION_DESC" => $action['ACTION_DESC'] ?: "",
"ACTION_AMT" => $action['ACTION_AMT'] ?: "",
"ACTION_CORP" => $action['ACTION_CORP'] ?: "",
"ACTION_TEL_NO" => $action['ACTION_TEL_NO'] ?: "",
"USE_FLG" => $action['USE_FLG'] ?: "N",
"MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
)
);
}
$rst = $rst && $baseObj->DB->exec($sql, $params);
}
if ($rst) {
$retval['code'] = 1;
}
}
break;
case "delNcr":
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_']);
$sql = "USP_Q_NCR_D10";
$params = array("NCR_NO" => $data['NCR_NO']);
$rst = $rst && $baseObj->DB->exec($sql, $params);
}
if ($rst) {
$retval['code'] = 1;
}
break;
case "getSoList":
$sql = "USP_S_CONDITION_S10P";
$params = array(
"BP_CD" => $_REQUEST['BP_CD'] ?: "",
"SO_DT_ST" => $_REQUEST['SO_DT_ST'] ?: "",
"SO_DT_ED" => $_REQUEST['SO_DT_ED'] ?: "",
"MNG_NO" => $_REQUEST['MNG_NO'] ?: "",
"SO_NO" => $_REQUEST['SO_NO'] ?: "",
"BP_NM" => $_REQUEST['BP_NM'] ?: "",
"OFLD" => $_REQUEST['OFLD'] ?: "",
"OASC" => $_REQUEST['OASC'] ?: "",
"LINE_NUM" => $_REQUEST['LINE_NUM'] ?: "",
"NOW_PAGE" => $_REQUEST['NOW_PAGE'] ?: "",
);
$rst = $baseObj->DB->exec($sql, $params);
$rows = array();
if ($rst) {
$retval['code'] = true;
while ($row = $baseObj->DB->fetch_array($rst)) {
$row['LIST_NUM'] = $row['TOTAL_ROWS_NUM'] - $row['START_ROW'] - $i++;
$rows[] = $row;
}
$retval['data'] = $rows;
}
$retval['code'] = 1;
break;
case "putTempFile":
if (isset($_FILES["upfile"])) {
$fdata['file_name'] = $_FILES['upfile']['name'] ?: "";
$fdata['file_size'] = $_FILES['upfile']['size'] ?: 0;
$fdata['file_type'] = $_FILES['upfile']['type'] ?: "";
$fdata['file_width'] = $_FILES['upfile']['width'] ?: "";
$fdata['file_height'] = $_FILES['upfile']['height'] ?: "";
$fdata['tmp_name'] = \Frody\Util\MultiFileUpload::swfFormSaveFile($_FILES["upfile"], $_tmp_dir, $_REQUEST['temp_fid']);
$retval['code'] = 1;
$retval['data'] = $fdata;
\Frody\Util\MultiFileUpload::swfCleanDir($_tmp_dir);
}
break;
case "getNcrExcel":
$sql = "USP_Q_NCR_S21";
$params = array(
"NCR_NO" => $_REQUEST['ncrNo'] ?: "",
);
$rst = $baseObj->DB->exec($sql, $params);
$retval['data'] = $baseObj->DB->fetch_array($rst);
$sql = "USP_Q_NCR_S22";
$params = array(
"MNG_SERIAL_NO" => $retval['data']['MNG_SN_ID'] ?: "",
"INST_DT" => $retval['data']['INSP_DT'] ?: "",
);
$rst = $baseObj->DB->exec($sql, $params);
$rows = array();
while ($row = $baseObj->DB->fetch_array($rst)) {
$rows[] = $row;
}
$retval['preInspData'] = $rows;
$rows = array();
if ($rst) {
$retval['code'] = true;
}
$retval['code'] = 1;
break;
}
}
if (!$_REQUEST['no_echo']) {
echo json_encode($retval);
}