[CUSTOMER, ORDER] Added ERP integration
This commit is contained in:
parent
06718fc388
commit
a16ab81b7e
|
|
@ -5,6 +5,8 @@
|
|||
|
||||
require_once getenv("DOCUMENT_ROOT")."/assets/conf.inc.php";
|
||||
require_once getenv("DOCUMENT_ROOT")."/assets/dbCon.php";
|
||||
include getenv("DOCUMENT_ROOT")."/include/session_include.php";
|
||||
include_once getenv("DOCUMENT_ROOT")."/lib/erp_api.php";
|
||||
|
||||
error_reporting(E_ALL);
|
||||
ini_set('display_errors', '1');
|
||||
|
|
@ -371,7 +373,31 @@ class API extends CONF {
|
|||
|
||||
public function updtPoint(){
|
||||
try {
|
||||
qry("UPDATE tbl_customer SET c_geolat=".$_POST['lat'].", c_geolon=".$_POST['lon']." WHERE c_uid=".(int)$_POST['id']);
|
||||
qry("UPDATE tbl_customer SET c_geolat=".$_POST['lat'].", c_geolon=".$_POST['lon'].", c_is_transfer='N' WHERE c_uid=".(int)$_POST['id']);
|
||||
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
$erp = new ErpApi();
|
||||
|
||||
try {
|
||||
$columns = array();
|
||||
$values = array();
|
||||
$columns[] = "c_accountno";
|
||||
$columns[] = "c_geolat";
|
||||
$columns[] = "c_geolon";
|
||||
$values[] = $_POST['accountno'];
|
||||
$values[] = $_POST['lat'];
|
||||
$values[] = $_POST['lon'];
|
||||
$lguserid = $_SESSION['ss_UID'];
|
||||
$erp->updateCustomerFromMis($columns, $values, $lguserid);
|
||||
|
||||
// 성공 시 c_is_transfer='Y'
|
||||
qry("UPDATE tbl_customer SET c_is_transfer = 'Y' WHERE c_uid = ".(int)$_POST['id']);
|
||||
|
||||
} catch (Exception $e) {
|
||||
// 여기서는 아무것도 안함.
|
||||
}
|
||||
|
||||
$this->response($this->json(array("markerIndex"=>$_POST['marker_index'], "lat"=>$_POST['lat'], "lon"=>$_POST['lon'], "name"=>$_POST['name'], "qty"=>$_POST['qty'], "property"=>$_POST['property'])), 200);
|
||||
} catch(Exception $e) {
|
||||
|
|
@ -384,9 +410,34 @@ class API extends CONF {
|
|||
try {
|
||||
qry("UPDATE tbl_customer
|
||||
SET c_location='".addslashes($_POST['location'])."',
|
||||
c_comment_ri='".addslashes($_POST['comment'])."'
|
||||
c_comment_ri='".addslashes($_POST['comment'])."',
|
||||
c_is_transfer='N'
|
||||
WHERE c_uid=".(int)$_POST['id']);
|
||||
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
$erp = new ErpApi();
|
||||
|
||||
try {
|
||||
$columns = array();
|
||||
$values = array();
|
||||
$columns[] = "c_accountno";
|
||||
$columns[] = "c_location";
|
||||
$columns[] = "c_comment_ri";
|
||||
$values[] = $_POST['accountno'];
|
||||
$values[] = addslashes($_POST['location']);
|
||||
$values[] = addslashes($_POST['comment']);
|
||||
$lguserid = $_SESSION['ss_UID'];
|
||||
$erp->updateCustomerFromMis($columns, $values, $lguserid);
|
||||
|
||||
// 성공 시 c_is_transfer='Y'
|
||||
qry("UPDATE tbl_customer SET c_is_transfer = 'Y' WHERE c_uid = ".(int)$_POST['id']);
|
||||
|
||||
} catch (Exception $e) {
|
||||
// 여기서는 아무것도 안함.
|
||||
}
|
||||
|
||||
$this->response($this->json(array("result"=>"success")), 200);
|
||||
} catch(Exception $e) {
|
||||
$error = array($e->getMessage());
|
||||
|
|
@ -956,6 +1007,7 @@ class API extends CONF {
|
|||
try {
|
||||
$sqShortInfo = qry("SELECT
|
||||
c_uid,
|
||||
c_accountno,
|
||||
c_name,
|
||||
c_paymenttype,
|
||||
c_comment_ri,
|
||||
|
|
@ -1015,6 +1067,7 @@ class API extends CONF {
|
|||
|
||||
$result = array(
|
||||
"id" => $_POST['id'],
|
||||
"accountno" => $rstShortInfo['c_accountno'],
|
||||
"name" => $rstShortInfo['c_name'],
|
||||
"payment_type" => $rstShortInfo['c_paymenttype'],
|
||||
"paymentstring" => $d_paystatusSTR,
|
||||
|
|
@ -1055,38 +1108,93 @@ class API extends CONF {
|
|||
|
||||
if ($rstCheckOrder['rowcnt'] > 0) {
|
||||
$this->response($this->json(array("msg"=>"This order already exists.", "c_index"=>$_POST['c_index'], "c_return"=>"0")), 200);
|
||||
return;
|
||||
}
|
||||
// 고객 정보 조회
|
||||
$customer_uid = (int)$_POST['customer_uid'];
|
||||
$sqCus = qry("SELECT * FROM tbl_customer WHERE c_uid = {$customer_uid}");
|
||||
if (db_num_rows($sqCus) === 0) {
|
||||
throw new Exception("Customer not found");
|
||||
}
|
||||
$customer = fetch_array($sqCus);
|
||||
|
||||
// 오늘 날짜
|
||||
// 예상 수량 계산
|
||||
$today = new DateTime(date("Y-m-d"));
|
||||
//$today = new DateTime('20240425');
|
||||
// 지정한 날짜
|
||||
$searchDate = new DateTime($_POST['orderdate']);
|
||||
// 두 날짜 간 차이 계산
|
||||
$interval = $today->diff($searchDate);
|
||||
$days = (int)$interval->days;
|
||||
$estquantity = max(
|
||||
0,
|
||||
($customer['c_fullquantity'] - $customer['c_fullquantitydaily']) + ($days * $customer['c_fullquantitydaily'])
|
||||
);
|
||||
|
||||
//$estquantity = (c_fullquantity - c_fullquantitydaily + (".(int)$interval->days." * c_fullquantitydaily));
|
||||
// insert into tbl_daily
|
||||
$c_name = addslashes($customer['c_name']);
|
||||
qry("
|
||||
INSERT INTO tbl_daily (
|
||||
d_orderdate, d_driveruid, d_customeruid, d_accountno,
|
||||
d_name, d_paymenttype, d_cycle, d_rate,
|
||||
d_estquantity, d_createruid, d_createddate, d_status
|
||||
) VALUES (
|
||||
'{$_POST['orderdate']}',
|
||||
'{$_POST['driveruid']}',
|
||||
{$customer_uid},
|
||||
'{$customer['c_accountno']}',
|
||||
'{$c_name}',
|
||||
'{$customer['c_paymenttype']}',
|
||||
'{$customer['c_paymentcycle']}',
|
||||
'{$customer['c_rate']}',
|
||||
{$estquantity},
|
||||
'{$_POST['d_createruid']}',
|
||||
'".date("YmdHis")."',
|
||||
'A'
|
||||
)
|
||||
");
|
||||
|
||||
qry("INSERT INTO tbl_daily (
|
||||
d_orderdate, d_driveruid, d_customeruid, d_accountno,
|
||||
d_name, d_paymenttype, d_cycle, d_rate, d_form_eu, d_form_corsia, d_maincontainer, d_container, d_location, d_address,
|
||||
d_city, d_postal, d_oil_2y, d_oil_1y, d_oil_0y, d_fullcycle, d_fullcycleforced, d_fullcycleflag,
|
||||
d_lastpickupdate, d_lastpickupquantity, d_lastpaiddate,
|
||||
d_estquantity,
|
||||
d_createruid, d_createddate, d_status)
|
||||
// d_uid 가져오기
|
||||
$sqId = qry("SELECT MAX(d_uid) AS d_uid FROM tbl_daily");
|
||||
$rtId = fetch_array($sqId);
|
||||
$d_uid = $rtId['d_uid'];
|
||||
|
||||
SELECT '".$_POST['orderdate']."', '".$_POST['driveruid']."', c_uid, c_accountno,
|
||||
c_name, c_paymenttype, c_paymentcycle, c_rate, c_form_eu, c_form_corsia, c_maincontainer, c_container, c_location, c_address,
|
||||
c_city, c_postal, 0, 0, 0, c_fullcycle, c_fullcycleforced, c_fullcycleflag,
|
||||
c_lastpickupdate, c_lastpickupquantity, c_lastpaiddate,
|
||||
IFNULL((c_fullquantity - c_fullquantitydaily + (".(int)$interval->days." * c_fullquantitydaily)),0),
|
||||
'".$_POST['d_createruid']."', '".date('YmdHis')."', 'A'
|
||||
FROM tbl_customer
|
||||
WHERE c_uid=".(int)$_POST['customer_uid']);
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
$columns = array();
|
||||
$columns[] = "d_ordertype";
|
||||
$columns[] = "d_orderdate";
|
||||
$columns[] = "d_driveruid";
|
||||
$columns[] = "d_accountno";
|
||||
$columns[] = "d_paymenttype";
|
||||
$columns[] = "d_cycle";
|
||||
$columns[] = "d_rate";
|
||||
$columns[] = "d_status";
|
||||
$columns[] = "d_estquantity";
|
||||
|
||||
qry("UPDATE tbl_customer SET c_orderdate='".$_POST['orderdate']."', c_orderflag = 1 WHERE c_uid = ".(int)$_POST['customer_uid']);
|
||||
// Data
|
||||
$values = array();
|
||||
$values[] = "N";
|
||||
$values[] = $_POST['orderdate'];
|
||||
$values[] = $_POST['driveruid'];
|
||||
$values[] = $customer['c_accountno'];
|
||||
$values[] = $customer['c_paymenttype'];
|
||||
$values[] = $customer['c_paymentcycle'];
|
||||
$values[] = $customer['c_rate'];
|
||||
$values[] = "A";
|
||||
$values[] = $estquantity;
|
||||
|
||||
$this->response($this->json(array("msg"=>"Order has been successfully added.", "c_index"=>$_POST['c_index'])), 200);
|
||||
//
|
||||
$erp = new ErpApi();
|
||||
$erp->createDailyOrderFromMis($columns, $values, $_POST['d_createruid']);
|
||||
|
||||
// 성공시
|
||||
qry("UPDATE tbl_daily SET d_is_transfer = 'Y' WHERE d_uid = ".(int)$d_uid);
|
||||
|
||||
// customer 상태 업데이트 (이건 ERP에서는 트리거로)
|
||||
qry("UPDATE tbl_customer SET c_orderdate='".$_POST['orderdate']."', c_orderflag = 1 WHERE c_uid = ".(int)$_POST['customer_uid']);
|
||||
|
||||
//
|
||||
$this->response($this->json(array("msg"=>"Order has been successfully added.", "c_index"=>$_POST['c_index'], "c_return"=>1)), 200);
|
||||
return;
|
||||
} catch(Exception $e) {
|
||||
$error = array($e->getMessage());
|
||||
$this->response($this->json($error), 417);
|
||||
|
|
@ -1111,31 +1219,58 @@ class API extends CONF {
|
|||
AND d_status = 'F'
|
||||
ORDER BY d_orderdate DESC LIMIT 1");
|
||||
$rstrmInfo = fetch_array($sqrmInfo);
|
||||
// 완료(F) 데이터가 없으면 customer 마지막값 초기화
|
||||
if (empty($rstrmInfo)) {
|
||||
qry("UPDATE tbl_customer SET c_lastpickupdate = '', c_lastpickupquantity = '', c_lastpaiddate = '' WHERE c_uid = '".$_POST['id']."'");
|
||||
} else {
|
||||
// tbl_daily 의 마지막 데이터중 cash 이고 paid 면 c_lastpaiddate
|
||||
// 그렇지 않으면 다시 tbl_daily 에서 cash 이고 paid 인 마지막 데이터를 가져옴. 없으면 null 처리
|
||||
if (($rstrmInfo['d_paymenttype'] ?? '') === "CA" && ($rstrmInfo['d_paystatus'] ?? '') === "P") {
|
||||
$addQry = ", c_lastpaiddate = '".($rstrmInfo['d_visitdate'] ?? '')."' ";
|
||||
} else {
|
||||
$sqrmInfoLast = qry("SELECT
|
||||
d_visitdate
|
||||
FROM tbl_daily
|
||||
WHERE
|
||||
d_customeruid = '".$_POST['id']."'
|
||||
AND d_status = 'F'
|
||||
AND d_paymenttype = 'CA' AND d_paystatus = 'P'
|
||||
ORDER BY d_orderdate DESC LIMIT 1");
|
||||
$rstrmInfoLast = fetch_array($sqrmInfoLast);
|
||||
|
||||
// tbl_daily 의 마지막 데이터중 cash 이고 paid 면 c_lastpaiddate
|
||||
// 그렇지 않으면 다시 tbl_daily 에서 cash 이고 paid 인 마지막 데이터를 가져옴. 없으면 null 처리
|
||||
if ($rstrmInfo['d_paymenttype']== "CA" && $rstrmInfo['d_paystatus'] == "P") $addQry = ", c_lastpaiddate = '".$rstrmInfo['d_visitdate']."' ";
|
||||
else {
|
||||
$sqrmInfoLast = qry("SELECT
|
||||
d_visitdate
|
||||
FROM tbl_daily
|
||||
WHERE
|
||||
d_customeruid = '".$_POST['id']."'
|
||||
AND d_status = 'F'
|
||||
AND d_paymenttype = 'CA' AND d_paystatus = 'P'
|
||||
ORDER BY d_orderdate DESC LIMIT 1");
|
||||
$rstrmInfoLast = fetch_array($sqrmInfoLast);
|
||||
if (!empty($rstrmInfoLast) && !empty($rstrmInfoLast['d_visitdate'])) {
|
||||
$addQry = ", c_lastpaiddate = '".$rstrmInfoLast['d_visitdate']."' ";
|
||||
} else {
|
||||
$addQry = ", c_lastpaiddate = '' ";
|
||||
}
|
||||
}
|
||||
// last pickup 업데이트
|
||||
qry("UPDATE tbl_customer
|
||||
SET c_lastpickupdate='".$rstrmInfo['d_orderdate']."', c_lastpickupquantity = '".$rstrmInfo['d_quantity']."' ". $addQry ."
|
||||
WHERE c_uid = '".$_POST['id']."'");
|
||||
}
|
||||
|
||||
if ($rstrmInfoLast && $rstrmInfoLast["d_visitdate"] == !'') $addQry = ", c_lastpaiddate = '".$rstrmInfoLast['d_visitdate']."' ";
|
||||
else $addQry = ", c_lastpaiddate = '' ";
|
||||
}
|
||||
|
||||
|
||||
qry("UPDATE tbl_customer
|
||||
SET c_lastpickupdate='".$rstrmInfo['d_orderdate']."', c_lastpickupquantity = '".$rstrmInfo['d_quantity']."' ". $addQry ."
|
||||
WHERE c_uid = '".$_POST['id']."'");
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// 나머지는 trigger 처리
|
||||
// ====================
|
||||
$columns = array();
|
||||
$values = array();
|
||||
$columns[] = "d_accountno";
|
||||
$columns[] = "d_orderdate";
|
||||
$columns[] = "d_status";
|
||||
$values[] = $_POST['accountno'];
|
||||
$values[] = $_POST['orderdate'];
|
||||
$values[] = "D";
|
||||
$lguserid = $_POST['createruid'];
|
||||
// ERP로 전송 (payload 내부에서 자동 매핑)
|
||||
$erp = new ErpApi();
|
||||
$erp->updateDailyOrderFromMis($columns, $values, $lguserid);
|
||||
|
||||
// 성공 시 플래그 & 로그 (지웠음)
|
||||
// $jdb->uQuery("tbl_daily", ["d_is_transfer"], ["Y"], " WHERE d_uid = '$d_uid'");
|
||||
|
||||
//
|
||||
$this->response($this->json(array("msg"=>"Order has been successfully removed.", "c_index"=>$_POST['c_index'])), 200);
|
||||
} catch(Exception $e) {
|
||||
$error = array($e->getMessage());
|
||||
|
|
@ -1255,10 +1390,16 @@ class API extends CONF {
|
|||
"d_note" => $_POST['note']
|
||||
);
|
||||
|
||||
if ($_POST['paymenttype'] == 'CA') $paystatusSTR = $_POST['paystatus'];
|
||||
else $paystatusSTR = "";
|
||||
if ($_POST['paymenttype'] == 'CA') $paystatusSTR = $_POST['paystatus'];
|
||||
else $paystatusSTR = "";
|
||||
|
||||
if(strlen($_POST['uid']) > 0) { //update
|
||||
// for integration
|
||||
$d_uid = null;
|
||||
$columns = array();
|
||||
$values = array();
|
||||
|
||||
//
|
||||
if(strlen($_POST['uid']) > 0) { //update
|
||||
qry("UPDATE tbl_daily
|
||||
SET d_orderdate = '".$_POST['visitdate']."',
|
||||
d_driveruid = '".$_POST['driveruid']."',
|
||||
|
|
@ -1271,7 +1412,8 @@ class API extends CONF {
|
|||
d_visit = 'Y',
|
||||
d_visitdate = '".$_POST['visitdate']."000000',
|
||||
d_payeename = '".$_POST['payeename']."',
|
||||
d_status='F'
|
||||
d_status='F',
|
||||
d_is_transfer='N'
|
||||
WHERE d_uid='".(int)$_POST['uid']."'");
|
||||
|
||||
$sqNote = qry("SELECT n_uid FROM tbl_note WHERE n_dailyuid = '".(int)$_POST['uid']."'");
|
||||
|
|
@ -1294,7 +1436,7 @@ class API extends CONF {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
$d_uid = (int)$_POST['uid'];
|
||||
|
||||
}else{ //new
|
||||
|
||||
|
|
@ -1304,6 +1446,29 @@ class API extends CONF {
|
|||
AND d_customeruid = '".$_POST['customeruid']."'");
|
||||
|
||||
if(db_num_rows($sqData) <= 0) {
|
||||
// 1) 고객 정보 먼저 조회
|
||||
$sqCus = qry("
|
||||
SELECT
|
||||
c_paymenttype, c_paymentcycle, c_rate,
|
||||
c_fullquantity, c_fullquantitydaily
|
||||
FROM tbl_customer
|
||||
WHERE c_uid = '".(int)$_POST['customeruid']."'
|
||||
");
|
||||
$customer = fetch_array($sqCus);
|
||||
|
||||
// 2) 예상수량 계산
|
||||
$estqty = max(
|
||||
0,
|
||||
($customer['c_fullquantity'] - $customer['c_fullquantitydaily']) +
|
||||
($interval->days * $customer['c_fullquantitydaily'])
|
||||
);
|
||||
// 3) set values to erp
|
||||
$columns[] = "d_cycle"; $values[] = $customer['c_paymentcycle'];
|
||||
$columns[] = "d_rate"; $values[] = $customer['c_rate'];
|
||||
$columns[] = "d_estquantity"; $values[] = $estqty;
|
||||
$columns[] = "d_ordertype"; $values[] = "N";
|
||||
|
||||
// 기존 insert 문 그대로 사용
|
||||
|
||||
qry("INSERT INTO tbl_daily (
|
||||
d_orderdate, d_driveruid, d_customeruid, d_accountno, d_name,
|
||||
|
|
@ -1334,6 +1499,7 @@ class API extends CONF {
|
|||
AND d_orderdate='".$_POST['visitdate']."'
|
||||
ORDER BY d_uid DESC LIMIT 1 ");
|
||||
$rstDailyUid = fetch_array($sqDailyUid);
|
||||
$d_uid = $rstDailyUid['d_uid'];
|
||||
|
||||
if(strlen(trim($_POST['note'])) > 0){
|
||||
qry("INSERT INTO tbl_note (
|
||||
|
|
@ -1362,6 +1528,8 @@ class API extends CONF {
|
|||
rename($folderPath."/".$setFilename, $folderPath."/".$setFilenameNew);
|
||||
qry("UPDATE tbl_daily SET d_payeesign='".$setFilenameNew."'
|
||||
WHERE d_uid = '".$rstDailyUid['d_uid']."' ");
|
||||
// for integration
|
||||
$columns[] = "d_payeesign"; $values[] = $setFilenameNew;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1418,10 +1586,41 @@ class API extends CONF {
|
|||
".$add_sludge."
|
||||
c_orderflag = 0
|
||||
WHERE c_uid = '".$_POST['customeruid']."' ". $addWhereQry ." ");
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
$columns[] = "d_accountno"; $values[] = $_POST['customerno']; // c_accountno
|
||||
$columns[] = "d_orderdate"; $values[] = $_POST['visitdate']; // yyyymmdd (ERP에서 LocalDate로 변환)
|
||||
$columns[] = "d_driveruid"; $values[] = $_POST['driveruid']; // external driver id (MIS)
|
||||
$columns[] = "d_quantity"; $values[] = $_POST['quantity'];
|
||||
$columns[] = "d_sludge"; $values[] = $_POST['sludge'];
|
||||
$columns[] = "d_paymenttype"; $values[] = $_POST['paymenttype'];
|
||||
$columns[] = "d_payamount"; $values[] = $_POST['payamount'];
|
||||
$columns[] = "d_payeename"; $values[] = $_POST['payeename'];
|
||||
$columns[] = "d_paystatus"; $values[] = $paystatusSTR;
|
||||
$columns[] = "d_status"; $values[] = "F"; // 완료 상태
|
||||
$columns[] = "d_visit"; $values[] = "Y"; // 방문 상태
|
||||
$columns[] = "d_inputdate"; $values[] = date('YmdHis'); // 입력 시간
|
||||
if(strlen(trim($_POST['note'])) > 0){
|
||||
$columns[] = "d_pickupnote"; $values[] = $_POST['note'];
|
||||
}
|
||||
|
||||
// ERP로 전송
|
||||
$erp = new ErpApi();
|
||||
$lguserid = $_POST['createruid'];
|
||||
if(strlen($_POST['uid']) > 0) {
|
||||
$erp->updateDailyOrderFromMis($columns, $values, $lguserid);
|
||||
} else {
|
||||
$erp->createDailyOrderFromMis($columns, $values, $lguserid);
|
||||
}
|
||||
|
||||
// 성공 시 플래그 & 로그
|
||||
qry("UPDATE tbl_daily SET d_is_transfer = 'Y' WHERE d_uid = ".(int)$d_uid);
|
||||
|
||||
//
|
||||
$this->response($this->json(array("msg"=>"Input has been successfully saved.")), 200);
|
||||
//$this->response($this->json(array("result"=>$result)), 200);
|
||||
return;
|
||||
} catch(Exception $e) {
|
||||
$error = array($e->getMessage());
|
||||
$this->response($this->json($error), 417);
|
||||
|
|
@ -1489,7 +1688,6 @@ class API extends CONF {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
$api = new API;
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ if ($mode == "create" || $mode == "") {
|
|||
}
|
||||
else if ($mode == "update") {
|
||||
$btnName = "UPDATE";
|
||||
$admTag = "DISABLED";
|
||||
//$admTag = "DISABLED";
|
||||
}
|
||||
|
||||
// User data query
|
||||
|
|
@ -1055,7 +1055,12 @@ $(document).ready(function()
|
|||
<tr>
|
||||
<td class="td-title-info">Account No</td>
|
||||
<td class="td-text-info">
|
||||
<input class="accountNo" type="text" id="c_accountno" name="c_accountno" required='required' onBlur="checkAccountNo();" VALUE="<?=$c_accountno?>" <?=$admTag?>>
|
||||
<?php if($mode == "update"): ?> <!-- erp 연동키값(c_accountno)을 전달하기위해 hidden 을 추가하고 admTag 사용안함 -->
|
||||
<input class="accountNo" type="text" id="c_accountno" name="c_accountno" required='required' onBlur="checkAccountNo();" VALUE="<?=$c_accountno?>" disabled>
|
||||
<input type="hidden" name="c_accountno" value="<?=$c_accountno?>">
|
||||
<?php else: ?>
|
||||
<input class="accountNo" type="text" id="c_accountno" name="c_accountno" required='required' onBlur="checkAccountNo();" VALUE="<?=$c_accountno?>">
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td class="td-title-info">Status</td>
|
||||
|
|
@ -2293,7 +2298,7 @@ $(document).ready(function(){
|
|||
<td class="td-text-info">
|
||||
<div class="number-input">
|
||||
<button class="left" type="button">▼</button>
|
||||
<input type="number" class="d_sludge" id="d_sludge" name="d_sludge" value="<?=$d_sludge?>" min="0" max="100" placeholder="50">
|
||||
<input type="number" class="d_sludge" id="d_sludge" name="d_sludge" value="<?= isset($d_sludge) && $d_sludge !== '' ? $d_sludge : $c_sludge ?>" min="0" max="100" placeholder="50">
|
||||
<button class="right" type="button">▲</button>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
include getenv("DOCUMENT_ROOT")."/include/session_include.php";
|
||||
@include getenv("DOCUMENT_ROOT")."/config/config_shopInfo.php";
|
||||
include_once getenv("DOCUMENT_ROOT") . "/lib/erp_api.php";
|
||||
|
||||
$goStr = "switched=$switched&page=$page&key_word=$key_word&column=$column&sorting_type=$sorting_type&switch=$switch&cstatus=$cstatus";
|
||||
|
||||
|
|
@ -50,8 +51,12 @@ if ($actionStr == "CUSTOMERINFO" && $mode == "delete") {
|
|||
}
|
||||
|
||||
|
||||
$jdb->nQuery("UPDATE tbl_customer SET c_status='D' WHERE c_uid = '$c_uid'", "delete error");
|
||||
$jdb->CLOSE();
|
||||
$jdb->nQuery("UPDATE tbl_customer SET c_status='D', c_is_transfer = 'N' WHERE c_uid = '$c_uid'", "delete error");
|
||||
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
// 화면에서 기능이 없음
|
||||
|
||||
$msg = "Deleted successfully.";
|
||||
$urlSTR = "/index_intranet.php?view=customer_list&$goStr";
|
||||
|
|
@ -83,10 +88,9 @@ if ($actionStr == "CUSTOMERINFO") {
|
|||
|
||||
if($mode == "create") {
|
||||
//$columns[] = "c_uid";
|
||||
$columns[] = "c_accountno";
|
||||
$columns[] = "c_createddate";
|
||||
}
|
||||
|
||||
$columns[] = "c_accountno";
|
||||
//$columns[] = "c_gid";
|
||||
$columns[] = "c_form_us";
|
||||
$columns[] = "c_form_eu";
|
||||
|
|
@ -140,19 +144,18 @@ if ($actionStr == "CUSTOMERINFO") {
|
|||
$columns[] = "c_expoilmonth";
|
||||
$columns[] = "c_hstno";
|
||||
$columns[] = "c_identcode";
|
||||
// integration flag
|
||||
$columns[] = "c_is_transfer";
|
||||
|
||||
////////////
|
||||
// data
|
||||
////////////
|
||||
if($mode == "create") {
|
||||
//$values[] = $c_uid;
|
||||
$values[] = $c_accountno;
|
||||
$values[] = date("YmdHis");
|
||||
}
|
||||
|
||||
|
||||
$values[] = $c_accountno;
|
||||
//$values[] = $c_gid;
|
||||
|
||||
$values[] = $c_form_us;
|
||||
$values[] = str_replace("-", "", trim($c_form_eu));
|
||||
$values[] = str_replace("-", "", trim($c_form_corsia));
|
||||
|
|
@ -226,7 +229,8 @@ if ($actionStr == "CUSTOMERINFO") {
|
|||
$values[] = $c_expoilmonth;
|
||||
$values[] = str_replace("\\", "", trim($c_hstno));
|
||||
$values[] = str_replace("\\", "", trim($c_identcode));
|
||||
|
||||
// c_is_transfer
|
||||
$values[] = "N";
|
||||
|
||||
//for ($i=0; $i < count($columns); $i++)
|
||||
//echo "[$columns[$i]][$values[$i]]<br>";
|
||||
|
|
@ -244,9 +248,6 @@ if ($actionStr == "CUSTOMERINFO") {
|
|||
|
||||
addLog ("add", "CUSTOMER DETAIL", "CREATE", $lguserid, "", $c_uid);
|
||||
|
||||
$func -> modalMsg ($msg, "/index_intranet.php?view=customer_detail&mode=update&c_uid=$c_uid&$goStr");
|
||||
exit();
|
||||
|
||||
//$query = "select max(uid) from tbl_members ";
|
||||
//$user_id = $jdb->rQuery($query, "max query error");
|
||||
}
|
||||
|
|
@ -318,12 +319,35 @@ if ($actionStr == "CUSTOMERINFO") {
|
|||
addLog ("add", "CUSTOMER DETAIL - SLUDGE, RATE, PAYMENTCYCLE, PAYMENTTYPE", "UPDATE", $lguserid, $qry_driverr, $c_uid);
|
||||
|
||||
}
|
||||
|
||||
|
||||
$func -> modalMsg ($msg, "/index_intranet.php?view=customer_detail&mode=update&c_uid=$c_uid&$goStr");
|
||||
exit();
|
||||
}
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
$erp = new ErpApi();
|
||||
|
||||
try {
|
||||
|
||||
if ($mode == "create") {
|
||||
// MIS → ERP CREATE (payload 매핑은 ErpApi 내부에서 자동 처리)
|
||||
$erp->createCustomerFromMis($columns, $values, $lguserid);
|
||||
}
|
||||
else if ($mode == "update") {
|
||||
// MIS → ERP UPDATE
|
||||
$erp->updateCustomerFromMis($columns, $values, $lguserid);
|
||||
}
|
||||
|
||||
// 성공 시 c_is_transfer='Y'
|
||||
$jdb->uQuery("tbl_customer", ["c_is_transfer"], ["Y"], " WHERE c_uid = '$c_uid'");
|
||||
|
||||
//
|
||||
$func->modalMsg($msg, "/index_intranet.php?view=customer_detail&mode=update&c_uid=$c_uid&$goStr");
|
||||
exit();
|
||||
|
||||
} catch (Exception $e) {
|
||||
$msg = "Check Integration Log.";
|
||||
$func->modalMsg($msg, "/index_intranet.php");
|
||||
exit();
|
||||
}
|
||||
|
||||
$msg = "Invalid data. Please try again.";
|
||||
$func -> modalMsg ($msg, "");
|
||||
|
|
|
|||
|
|
@ -345,10 +345,11 @@
|
|||
<SCRIPT LANGUAGE='JAVASCRIPT'>
|
||||
function popup(){
|
||||
|
||||
var orderdate = jQuery("#map-modal-input .d_orderdate").val();
|
||||
var customeruid = jQuery("#map-modal-input .d_customeruid").val();
|
||||
var uid = jQuery("#map-modal-input .d_uid").val();
|
||||
var str = '/lib/signature.php?'+'uid=' + uid + '&orderdate=' + orderdate + '&customeruid=' + customeruid;
|
||||
var orderdate = jQuery("#map-modal-input .d_orderdate").val();
|
||||
var customeruid = jQuery("#map-modal-input .d_customeruid").val();
|
||||
var customerno = jQuery("#map-modal-input .d_customerno").val();
|
||||
var uid = jQuery("#map-modal-input .d_uid").val();
|
||||
var str = '/lib/signature.php?'+'uid=' + uid + '&orderdate=' + orderdate + '&customeruid=' + customeruid + '&customerno=' + customerno;
|
||||
|
||||
window.open(str, '_blank', 'width=450,height=450,resizable=0,scrollbars=0');
|
||||
}
|
||||
|
|
@ -369,6 +370,7 @@ function popup(){
|
|||
<form name="pickupOrder" id="pickupOrder" method="POST" novalidate="novalidate">
|
||||
<input type="hidden" class="d_uid">
|
||||
<input type="hidden" class="d_customeruid">
|
||||
<input type="hidden" class="d_customerno">
|
||||
<input type="hidden" class="d_orderdate">
|
||||
<input type="hidden" class="d_paymenttype">
|
||||
|
||||
|
|
@ -489,6 +491,7 @@ function popup(){
|
|||
<div class="modal-body">
|
||||
<form name="order-form" method="POST">
|
||||
<input type="hidden" class="d_customeruid">
|
||||
<input type="hidden" class="d_customerno">
|
||||
<input type="hidden" class="d_orderdate">
|
||||
<input type="hidden" class="c_index">
|
||||
|
||||
|
|
@ -610,6 +613,7 @@ function popup(){
|
|||
<input type="hidden" name="actionStr" value="SHORTINFO">
|
||||
<input type="hidden" name="actionPage" value="">
|
||||
<input type="hidden" name="c_uid" class="c_uid" value="3888">
|
||||
<input type="hidden" name="c_accountno" class="c_accountno" value="">
|
||||
<input type="hidden" name="mode" class="mode" value="update">
|
||||
<table class="tb-info-box">
|
||||
<tbody>
|
||||
|
|
@ -765,6 +769,7 @@ function popup(){
|
|||
<input type="hidden" class="id" value="">
|
||||
<input type="hidden" class="duid" value="">
|
||||
<input type="hidden" class="c_index" value="">
|
||||
<input type="hidden" class="accountno" value="">
|
||||
|
||||
<p>Are you sure to remove order?</p>
|
||||
<br>
|
||||
|
|
@ -1189,6 +1194,7 @@ function popup(){
|
|||
"ruid" : jQuery("#map-modal-order .d_ruid").val(),
|
||||
"driveruid" : jQuery("#map-modal-order .d_driveruid").val(),
|
||||
"customer_uid" : jQuery("#map-modal-order .d_customeruid").val(),
|
||||
"customer_no" : jQuery("#map-modal-order .d_customerno").val(),
|
||||
"c_index" : jQuery("#map-modal-order .c_index").val()
|
||||
}
|
||||
|
||||
|
|
@ -1202,6 +1208,7 @@ function popup(){
|
|||
let data = {
|
||||
"uid" : jQuery("#map-modal-input .d_uid").val(),
|
||||
"customeruid" : jQuery("#map-modal-input .d_customeruid").val(),
|
||||
"customerno" : jQuery("#map-modal-input .d_customerno").val(),
|
||||
"orderdate" : jQuery("#map-modal-input .d_orderdate").val(),
|
||||
//"ordertype" : jQuery("#map-modal-input .d_ordertype").val(),
|
||||
//"ruid" : jQuery("#map-modal-input .d_ruid").val(),
|
||||
|
|
@ -1317,11 +1324,12 @@ function popup(){
|
|||
$('#popupMessage').fadeIn().delay(2000).fadeOut();
|
||||
}
|
||||
|
||||
function removeOrder(id, duid, index) {
|
||||
function removeOrder(id, duid, index, accountno) {
|
||||
jQuery("#modal-confirm .order-date").val(jQuery("#orderdate").val());
|
||||
jQuery("#modal-confirm .id").val(id);
|
||||
jQuery("#modal-confirm .duid").val(duid);
|
||||
jQuery("#modal-confirm .c_index").val(index);
|
||||
jQuery("#modal-confirm .accountno").val(accountno);
|
||||
/*
|
||||
if(confirm('Are you sure you want to remove the order?')) {
|
||||
let data = {
|
||||
|
|
@ -1341,7 +1349,9 @@ function popup(){
|
|||
"orderdate" : jQuery("#modal-confirm .order-date").val(),
|
||||
"id" : jQuery("#modal-confirm .id").val(),
|
||||
"duid" : jQuery("#modal-confirm .duid").val(),
|
||||
"c_index" : jQuery("#modal-confirm .c_index").val()
|
||||
"c_index" : jQuery("#modal-confirm .c_index").val(),
|
||||
"accountno" : jQuery("#modal-confirm .accountno").val(),
|
||||
"createruid" : <?=$_SESSION['ss_UID']?>
|
||||
}
|
||||
|
||||
api('removeOrder', data, rstRemoveOrder);
|
||||
|
|
@ -1375,7 +1385,7 @@ function popup(){
|
|||
return true;
|
||||
}
|
||||
|
||||
function initInput(customer_id){
|
||||
function initInput(customer_id, customer_no){
|
||||
// input modal 에서 저장버튼 클릭 후 다시 오픈할 때, modal 내부에 포커스가 남아있어서 modal 이 오픈되지 않는 이슈 (modal-backdrop 만 열려서 전체 클릭이 막힘)
|
||||
// 1. 현재 포커스를 가진 요소에서 포커스를 제거하고 body에 포커스
|
||||
jQuery(':focus').blur();
|
||||
|
|
@ -1387,9 +1397,10 @@ function popup(){
|
|||
let loadingTxt = 'Loading...';
|
||||
jQuery("#map-modal-input .shortinput-store-name").text(loadingTxt);
|
||||
|
||||
jQuery("#map-modal-input .d_uid, #map-modal-input .d_customeruid, #map-modal-input .orderdate, #map-modal-input .d-ruid, #map-modal-input .d_visitdate, #map-modal-input .d_quantity, #map-modal-input .d_sludge, #map-modal-input .d_note").val('');
|
||||
jQuery("#map-modal-input .d_uid, #map-modal-input .d_customeruid, #map-modal-input .d_customerno, #map-modal-input .orderdate, #map-modal-input .d-ruid, #map-modal-input .d_visitdate, #map-modal-input .d_quantity, #map-modal-input .d_sludge, #map-modal-input .d_note").val('');
|
||||
jQuery("#map-modal-input .d_payamount, #map-modal-input .d_payeename").val('');
|
||||
jQuery("#map-modal-input .d_customeruid").val(customer_id);
|
||||
jQuery("#map-modal-input .d_customerno").val(customer_no);
|
||||
jQuery("#map-modal-input .d_paystatusunpaid").prop("checked", true);
|
||||
jQuery("#map-modal-input .d_orderdate").val(jQuery("#orderdate").val());
|
||||
<? if ($_SESSION['ss_LEVEL'] == 9) { ?>
|
||||
|
|
@ -1690,6 +1701,7 @@ function popup(){
|
|||
let updtPointdata = {
|
||||
"marker_index" : i,
|
||||
"id" : json.result[i]['id'],
|
||||
"accountno" : json.result[i]['accountno'],
|
||||
"lat" : latitude,
|
||||
"lon" : longitude,
|
||||
"property" : property,
|
||||
|
|
@ -2206,6 +2218,7 @@ function popup(){
|
|||
|
||||
var rstInqShortInfo = function(json) {
|
||||
jQuery("#customerShortInfo .c_uid").val(json.result['id']);
|
||||
jQuery("#customerShortInfo .c_accountno").val(json.result['accountno']);
|
||||
jQuery("#customerShortInfo .shortinfo-store-name").text(json.result['name']);
|
||||
jQuery("#customerShortInfo .shortinfo-payment-type").text(json.result['payment_type']);
|
||||
jQuery("#customerShortInfo .shortinfo-payment-string").text(json.result['paymentstring']);
|
||||
|
|
@ -2225,6 +2238,7 @@ function popup(){
|
|||
function updtShortInfo(){
|
||||
let data = {
|
||||
"id" : jQuery("#customerShortInfo .c_uid").val(),
|
||||
"accountno" : jQuery("#customerShortInfo .c_accountno").val(),
|
||||
"comment" : jQuery(".shortinfo-comment").val(),
|
||||
"location" : jQuery(".shortinfo-container-location").val()
|
||||
}
|
||||
|
|
@ -2474,14 +2488,14 @@ function popup(){
|
|||
<button type="submit" class="mapBtn btn-grey-modal" onClick="javascript:initHistory(${property.customerid});" data-toggle="modal" data-target="#map-modal-history"><i class="bi bi-folder2-open"></i> History</button>`;
|
||||
if(`${property.date}` === 'null') {
|
||||
innerHtml += `<button type="button" class="mapBtn btn-primary-modal addOrderBtn_${property.index}" data-toggle="modal" onClick="javascript:initAddOrder(${property.customerid},${property.index});"><i class="fa-solid fa-plus"></i> Add</button>`;
|
||||
innerHtml += `<button type="button" class="mapBtn btn-red-modal hidden removeOrderBtn_${property.index}" data-toggle="modal" data-target="#modal-confirm" onClick="javascript:removeOrder(${property.customerid},${property.duid},${property.index});"><i class="fa-solid fa-xmark"></i> Remove</button>`;
|
||||
innerHtml += `<button type="button" class="mapBtn btn-red-modal hidden removeOrderBtn_${property.index}" data-toggle="modal" data-target="#modal-confirm" onClick="javascript:removeOrder(${property.customerid},${property.duid},${property.index},'${property.accountno}');"><i class="fa-solid fa-xmark"></i> Remove</button>`;
|
||||
}else{
|
||||
innerHtml += `<button type="button" class="mapBtn btn-primary-modal addOrderBtn_${property.index} hidden" data-toggle="modal" onClick="javascript:initAddOrder(${property.customerid},${property.index});"><i class="fa-solid fa-plus"></i> Add</button>`;
|
||||
innerHtml += `<button type="button" ${property.orderFlag} class="mapBtn btn-red-modal removeOrderBtn_${property.index}" data-toggle="modal" data-target="#modal-confirm" onClick="javascript:removeOrder(${property.customerid},${property.duid},${property.index});"><i class="fa-solid fa-xmark"></i> Remove</button>`;
|
||||
innerHtml += `<button type="button" ${property.orderFlag} class="mapBtn btn-red-modal removeOrderBtn_${property.index}" data-toggle="modal" data-target="#modal-confirm" onClick="javascript:removeOrder(${property.customerid},${property.duid},${property.index},'${property.accountno}');"><i class="fa-solid fa-xmark"></i> Remove</button>`;
|
||||
}
|
||||
innerHtml += `<button type="submit" class="mapBtn btn-nearby" onClick="javascript:inqNearby('${property.lat}:${property.lon}');"><i class="fa-solid fa-diamond-turn-right"></i> Nearby</button>
|
||||
<button type="submit" class="mapBtn btn-orange-modal ${(property.rnote && /\S/.test(property.rnote)) ? 'blink' : ''}" data-toggle="modal" data-target="#map-modal-note" onClick="javscript:showShortNotice(${property.duid});"><i class="fa fa-thumb-tack"></i> Notice</button>
|
||||
<button type="submit" class="mapBtn btn-purple-modal" data-toggle="modal" data-target="#map-modal-input" onClick="javascript:initInput(${property.customerid});"><i class="bi bi-truck"></i> Input</button>
|
||||
<button type="submit" class="mapBtn btn-purple-modal" data-toggle="modal" data-target="#map-modal-input" onClick="javascript:initInput(${property.customerid},'${property.accountno}');"><i class="bi bi-truck"></i> Input</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,550 @@
|
|||
<?php
|
||||
// /common/erp_api.php
|
||||
include getenv("DOCUMENT_ROOT")."/include/session_include.php";
|
||||
|
||||
class ErpApi {
|
||||
|
||||
private $baseUrl;
|
||||
private $token;
|
||||
private $enabled = false;
|
||||
|
||||
public function __construct() {
|
||||
global $jdb;
|
||||
$row = $jdb->fQuery("SELECT cfg_erp_api_url, cfg_erp_api_token FROM tbl_config LIMIT 1", "config fetch error");
|
||||
|
||||
$url = isset($row['cfg_erp_api_url']) ? trim($row['cfg_erp_api_url']) : '';
|
||||
$token = isset($row['cfg_erp_api_token']) ? trim($row['cfg_erp_api_token']) : '';
|
||||
|
||||
// URL 없으면 바로 예외 (서버 아직 준비 안됨)
|
||||
if ($url === '' || $url === null) {
|
||||
$this->enabled = false;
|
||||
$this->baseUrl = '';
|
||||
$this->token = '';
|
||||
return;
|
||||
}
|
||||
|
||||
$this->enabled = true;
|
||||
$this->baseUrl = rtrim($url, '/');
|
||||
$this->token = $token;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 공통 HTTP 요청 처리
|
||||
*/
|
||||
private function request($method, $endpoint, $data = null) {
|
||||
// ERP 비활성화면 아무것도 하지 않고 조용히 반환
|
||||
if (!$this->enabled) {
|
||||
return [
|
||||
"disabled" => true,
|
||||
"skipped" => true,
|
||||
"endpoint" => $endpoint,
|
||||
];
|
||||
}
|
||||
|
||||
$url = $this->baseUrl . $endpoint;
|
||||
|
||||
$headers = [
|
||||
"Authorization: Bearer {$this->token}",
|
||||
"Content-Type: application/json"
|
||||
];
|
||||
|
||||
$ch = curl_init($url);
|
||||
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
|
||||
if ($data !== null) {
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
|
||||
}
|
||||
|
||||
$response = curl_exec($ch);
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
|
||||
if ($response === false) {
|
||||
$err = curl_error($ch);
|
||||
curl_close($ch);
|
||||
throw new Exception("cURL Error: $err");
|
||||
}
|
||||
|
||||
curl_close($ch);
|
||||
|
||||
$result = json_decode($response, true);
|
||||
if ($result === null && json_last_error() !== JSON_ERROR_NONE) {
|
||||
throw new Exception("JSON Decode Error: " . json_last_error_msg() . " - Response: $response");
|
||||
}
|
||||
|
||||
if ($httpCode >= 400) {
|
||||
$msg = isset($result['message']) ? $result['message'] : $response;
|
||||
throw new Exception("HTTP $httpCode Error: $msg");
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------
|
||||
// 기본 Customer API
|
||||
// -------------------------------------------------------
|
||||
|
||||
public function createCustomer($data) {
|
||||
return $this->request("POST", "/customer", $data);
|
||||
}
|
||||
|
||||
public function updateCustomer($cusNo, $data) {
|
||||
return $this->request("PATCH", "/customer/no/" . $cusNo, $data);
|
||||
}
|
||||
|
||||
public function deleteCustomer($cusNo) {
|
||||
return $this->request("DELETE", "/customer/no/" . $cusNo);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------
|
||||
// 공통 유틸
|
||||
// -------------------------------------------------------
|
||||
|
||||
private function convertDate($dateStr) {
|
||||
if (!$dateStr || !is_string($dateStr)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// YYYYMMDD (8)
|
||||
if (strlen($dateStr) === 8) {
|
||||
return substr($dateStr, 0, 4) . '-' .
|
||||
substr($dateStr, 4, 2) . '-' .
|
||||
substr($dateStr, 6, 2);
|
||||
}
|
||||
|
||||
// YYYYMMDDHHIISS (14)
|
||||
if (strlen($dateStr) === 14) {
|
||||
return substr($dateStr,0,4)."-"
|
||||
. substr($dateStr,4,2)."-"
|
||||
. substr($dateStr,6,2)."T"
|
||||
. substr($dateStr,8,2).":"
|
||||
. substr($dateStr,10,2).":"
|
||||
. substr($dateStr,12,2);
|
||||
}
|
||||
|
||||
// 지원하지 않는 포맷
|
||||
return null;
|
||||
}
|
||||
|
||||
private function normalizeValue($value) {
|
||||
if ($value === '' || $value === false) return null;
|
||||
if (is_string($value) && trim($value) === '') return null;
|
||||
return $value;
|
||||
}
|
||||
|
||||
private function getValue($columns, $values, $col) {
|
||||
$idx = array_search($col, $columns);
|
||||
return $idx !== false ? $values[$idx] : null;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------
|
||||
// MIS → ERP Customer Payload 빌드 (완전 자동 변환)
|
||||
// -------------------------------------------------------
|
||||
|
||||
public function buildCustomerPayload($columns, $values, $loginUser) {
|
||||
|
||||
$payload = [];
|
||||
|
||||
// MIS → ERP 매핑 규칙
|
||||
$map = [
|
||||
"cusNo" => "c_accountno",
|
||||
"cusName" => "c_name",
|
||||
"cusStatus" => "c_status",
|
||||
"cusAreaId" => "c_area",
|
||||
"cusAddress1" => "c_address",
|
||||
"cusAddress2" => "c_mailingaddr",
|
||||
"cusPostalCode" => "c_postal",
|
||||
"cusCity" => "c_city",
|
||||
"cusProvince" => "c_province",
|
||||
"cusEmail" => "c_email",
|
||||
"cusPhone" => "c_phone",
|
||||
"cusPhoneExt" => "c_phoneext",
|
||||
"cusRate" => "c_rate",
|
||||
"cusPayMethod" => "c_paymenttype",
|
||||
"cusContractDate" => "c_contractdate",
|
||||
"cusContractedBy" => "c_contractby",
|
||||
"cusInstallDate" => "c_installdate",
|
||||
// full cycle 필요하면 나중에 추가 2025-12-16
|
||||
// "cusFullCycle" => "c_fullcycle",
|
||||
// "cusFullCycleFlag" => "c_fullcycleflag",
|
||||
// "cusFullCycleForced" => "c_fullcycleforced",
|
||||
// "cusFullCycleForcedDate"=> "c_forceddate",
|
||||
"cusSchedule" => "c_schedule",
|
||||
"cusScheduledays" => "c_scheduleday",
|
||||
"cusIsccDate" => "c_form_eu",
|
||||
"cusCorsiaDate" => "c_form_corsia",
|
||||
"cusHstNo" => "c_hstno",
|
||||
"cusComment" => "c_comment_ri",
|
||||
"cusContactComment" => "c_comment_ci",
|
||||
"cusGeoLat" => "c_geolat",
|
||||
"cusGeoLon" => "c_geolon",
|
||||
"cusInstallLocation" => "c_location",
|
||||
];
|
||||
|
||||
// 날짜 변환 필드 목록
|
||||
$dateCols = [
|
||||
"c_contractdate",
|
||||
"c_installdate",
|
||||
"c_forceddate",
|
||||
"c_form_eu",
|
||||
"c_form_corsia"
|
||||
];
|
||||
|
||||
// 기본 필드 채우기
|
||||
foreach ($map as $erpKey => $misCol) {
|
||||
$value = $this->getValue($columns, $values, $misCol);
|
||||
|
||||
if ($value && in_array($misCol, $dateCols)) {
|
||||
$value = $this->convertDate($value);
|
||||
}
|
||||
|
||||
$payload[$erpKey] = $value;
|
||||
}
|
||||
|
||||
// 로그인 사용자
|
||||
$payload["cusLoginUser"] = $loginUser;
|
||||
|
||||
return $payload;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------
|
||||
// MIS → ERP Customer CREATE
|
||||
// -------------------------------------------------------
|
||||
public function createCustomerFromMis($columns, $values, $loginUser) {
|
||||
// 비활성화면 로그도 남기지 말고 바로 종료
|
||||
if (!$this->enabled) {
|
||||
return ["disabled" => true, "skipped" => true];
|
||||
}
|
||||
|
||||
$payload = $this->buildCustomerPayload($columns, $values, $loginUser);
|
||||
|
||||
try {
|
||||
// 테스트용
|
||||
// addLog("add"
|
||||
// , "/customer"
|
||||
// , "ERP - SUCCESS"
|
||||
// , $loginUser
|
||||
// , json_encode($payload, JSON_PRETTY_PRINT)
|
||||
// , ''
|
||||
// );
|
||||
|
||||
return $this->createCustomer($payload);
|
||||
|
||||
} catch (Exception $e) {
|
||||
$logBody =
|
||||
"[EXCEPTION]\n" .
|
||||
$e->getMessage() . "\n\n" .
|
||||
"[PAYLOAD]\n" .
|
||||
json_encode($payload, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
|
||||
|
||||
addLog("add"
|
||||
, "/customer"
|
||||
, "ERP - FAILED"
|
||||
, $loginUser
|
||||
, $logBody
|
||||
, ''
|
||||
);
|
||||
|
||||
// 사용자에게는 아무것도 안 알려줌
|
||||
return [
|
||||
"success" => false,
|
||||
"queued" => true
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------------------
|
||||
// MIS → ERP Customer UPDATE (cusNo 기준)
|
||||
// -------------------------------------------------------
|
||||
public function updateCustomerFromMis($columns, $values, $loginUser) {
|
||||
// 비활성화면 로그도 남기지 말고 바로 종료
|
||||
if (!$this->enabled) {
|
||||
return ["disabled" => true, "skipped" => true];
|
||||
}
|
||||
|
||||
// accountno 찾기
|
||||
$cusNo = $this->getValue($columns, $values, "c_accountno");
|
||||
if (!$cusNo) {
|
||||
throw new Exception("updateCustomerFromMis: Missing c_accountno");
|
||||
}
|
||||
|
||||
$payload = $this->buildCustomerPayload($columns, $values, $loginUser);
|
||||
try {
|
||||
// 테스트용
|
||||
// addLog("add"
|
||||
// , "/customer/no/" . $cusNo
|
||||
// , "ERP - SUCCESS"
|
||||
// , $loginUser
|
||||
// , json_encode($payload, JSON_PRETTY_PRINT)
|
||||
// , $cusNo
|
||||
// );
|
||||
|
||||
return $this->updateCustomer($cusNo, $payload);
|
||||
|
||||
} catch (Exception $e) {
|
||||
$logBody =
|
||||
"[EXCEPTION]\n" .
|
||||
$e->getMessage() . "\n\n" .
|
||||
"[PAYLOAD]\n" .
|
||||
json_encode($payload, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
|
||||
|
||||
addLog("add"
|
||||
, "/customer/no/" . $cusNo
|
||||
, "ERP - FAILED"
|
||||
, $loginUser
|
||||
, $logBody
|
||||
, $cusNo
|
||||
);
|
||||
|
||||
// 사용자에게는 아무것도 안 알려줌
|
||||
return [
|
||||
"success" => false,
|
||||
"queued" => true
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------------------
|
||||
// MIS → ERP Customer 단일필드 업데이트 (update_column.php 용)
|
||||
// -------------------------------------------------------
|
||||
public function updateCustomerFieldFromMis($cusNo, $field, $value, $loginUser) {
|
||||
if (!$this->enabled) {
|
||||
return ["disabled" => true, "skipped" => true];
|
||||
}
|
||||
|
||||
$payload = [
|
||||
"cusLoginUser" => $loginUser,
|
||||
$field => $value
|
||||
];
|
||||
|
||||
return $this->updateCustomer($cusNo, $payload);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------
|
||||
// Customer Daily Order 관련 API (RAW 호출)
|
||||
// -------------------------------------------------------
|
||||
|
||||
/**
|
||||
* POST /customer-daily-order
|
||||
*/
|
||||
public function createOrder($data) {
|
||||
return $this->request("POST", "/customer-daily-order", $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* PATCH /customer-daily-order/customer/{customerNo}/{orderDate}
|
||||
* - customerNo : ERP customer.cus_no
|
||||
* - orderDate : yyyy-MM-dd
|
||||
*/
|
||||
public function updateOrder($customerNo, $orderDate, $data) {
|
||||
return $this->request(
|
||||
"PATCH",
|
||||
"/customer-daily-order/customer/" . $customerNo . "/" . $orderDate,
|
||||
$data
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* DELETE /customer-daily-order/{uuid}
|
||||
*/
|
||||
public function deleteOrder($uuid) {
|
||||
return $this->request("DELETE", "/customer-daily-order/" . $uuid);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------
|
||||
// Customer Daily Order - MIS 연동용 헬퍼
|
||||
// (tbl_daily $columns / $values 기반으로 payload 생성)
|
||||
// -------------------------------------------------------
|
||||
|
||||
/**
|
||||
* MIS 의 tbl_daily ( $columns, $values ) 를 ERP CustomerDailyOrderRequestDto 로 변환
|
||||
*
|
||||
* @param array $columns tbl_daily insert 시 사용한 컬럼명 배열
|
||||
* @param array $values 각 컬럼에 대한 값 배열
|
||||
* @param string $loginUser MIS 로그인 사용자 ID
|
||||
* @return array ERP에 보낼 payload
|
||||
*/
|
||||
public function buildDailyOrderPayload($columns, $values, $loginUser) {
|
||||
|
||||
$payload = [];
|
||||
|
||||
// MIS → ERP 매핑 규칙
|
||||
// (필요에 따라 계속 보강 가능)
|
||||
$map = [
|
||||
"cdoOrderDate" => "d_orderdate",
|
||||
"cdoOrderType" => "d_ordertype",
|
||||
"cdoRequestNote" => "d_requestnote",
|
||||
"cdoCustomerNo" => "d_accountno",
|
||||
"cdoCycle" => "d_cycle",
|
||||
"cdoPaymentType" => "d_paymenttype",
|
||||
"cdoRate" => "d_rate",
|
||||
"cdoStatus" => "d_status",
|
||||
"cdoEstimatedQty" => "d_estquantity",
|
||||
"cdoQuantity" => "d_quantity",
|
||||
"cdoSludge" => "d_sludge",
|
||||
"cdoPayStatus" => "d_paystatus",
|
||||
"cdoPayAmount" => "d_payamount",
|
||||
"cdoPayeeName" => "d_payeename",
|
||||
"cdoPayeeSign" => "d_payeesign",
|
||||
"cdoExternalDriverId" => "d_driveruid",
|
||||
"cdoVisitFlag" => "d_visit",
|
||||
"cdoPickupNote" => "d_pickupnote",
|
||||
"cdoPickupAt" => "d_inputdate",
|
||||
];
|
||||
|
||||
// 날짜 변환이 필요한 컬럼들
|
||||
$dateColumns = [
|
||||
"d_orderdate",
|
||||
"d_inputdate",
|
||||
];
|
||||
|
||||
// 로그인 사용자
|
||||
$payload["cdoLoginUser"] = $loginUser;
|
||||
|
||||
// map 에 따라 값 채우기
|
||||
foreach ($map as $erpKey => $misCol) {
|
||||
$idx = array_search($misCol, $columns);
|
||||
$value = ($idx !== false) ? $values[$idx] : null;
|
||||
|
||||
// 빈 문자열 → null
|
||||
if (is_string($value)) {
|
||||
$value = trim($value);
|
||||
if ($value === '') {
|
||||
$value = null;
|
||||
}
|
||||
}
|
||||
|
||||
// 날짜 변환
|
||||
if ($value !== null && in_array($misCol, $dateColumns, true)) {
|
||||
$value = $this->convertDate($value);
|
||||
}
|
||||
|
||||
$payload[$erpKey] = $value;
|
||||
}
|
||||
|
||||
/* Rule */
|
||||
// 연결 key
|
||||
if (!$payload['cdoCustomerNo']) {
|
||||
throw new Exception("DailyOrder Error: Missing CustomerNo");
|
||||
}
|
||||
if (!$payload['cdoOrderDate']) {
|
||||
throw new Exception("DailyOrder Error: Missing OrderDate");
|
||||
}
|
||||
|
||||
// quantity 있는데 sludge 없으면 sludge = 0
|
||||
if (
|
||||
array_key_exists('cdoQuantity', $payload)
|
||||
&& $payload['cdoQuantity'] !== null
|
||||
&& $payload['cdoSludge'] === null
|
||||
) {
|
||||
$payload['cdoSludge'] = 0;
|
||||
}
|
||||
|
||||
return $payload;
|
||||
}
|
||||
|
||||
/**
|
||||
* MIS → ERP : Daily Order 신규 생성 편의 함수
|
||||
*
|
||||
* user_process.php 에서:
|
||||
* $erp = new ErpApi();
|
||||
* $payload = $erp->buildDailyOrderPayload($columns, $values, $lguserid);
|
||||
* $erp->createOrder($payload);
|
||||
*
|
||||
* 또는:
|
||||
* $erp->createDailyOrderFromMis($columns, $values, $lguserid);
|
||||
*/
|
||||
public function createDailyOrderFromMis($columns, $values, $loginUser) {
|
||||
if (!$this->enabled) {
|
||||
return ["disabled" => true, "skipped" => true];
|
||||
}
|
||||
|
||||
$payload = $this->buildDailyOrderPayload($columns, $values, $loginUser);
|
||||
|
||||
try {
|
||||
// 테스트용
|
||||
// addLog("add"
|
||||
// , "/customer-daily-order"
|
||||
// , "ERP - SUCCESS"
|
||||
// , $loginUser
|
||||
// , json_encode($payload, JSON_PRETTY_PRINT)
|
||||
// , ''
|
||||
// );
|
||||
|
||||
return $this->createOrder($payload);
|
||||
|
||||
} catch (Exception $e) {
|
||||
$logBody =
|
||||
"[EXCEPTION]\n" .
|
||||
$e->getMessage() . "\n\n" .
|
||||
"[PAYLOAD]\n" .
|
||||
json_encode($payload, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
|
||||
|
||||
addLog("add"
|
||||
, "/customer-daily-order"
|
||||
, "ERP - FAILED"
|
||||
, $loginUser
|
||||
, $logBody
|
||||
, ''
|
||||
);
|
||||
|
||||
// 사용자에게는 아무것도 안 알려줌
|
||||
return [
|
||||
"success" => false,
|
||||
"queued" => true
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* MIS → ERP : Daily Order 업데이트 (customerNo + orderDate 기준)
|
||||
*/
|
||||
public function updateDailyOrderFromMis($columns, $values, $loginUser) {
|
||||
// 비활성화면 로그도 남기지 말고 바로 종료
|
||||
if (!$this->enabled) {
|
||||
return ["disabled" => true, "skipped" => true];
|
||||
}
|
||||
|
||||
$payload = $this->buildDailyOrderPayload($columns, $values, $loginUser);
|
||||
|
||||
// customerNo / orderDate 추출
|
||||
$customerNo = $payload['cdoCustomerNo'];
|
||||
$orderDate = $payload['cdoOrderDate'];
|
||||
|
||||
try {
|
||||
// 테스트용
|
||||
// addLog("add"
|
||||
// , "/customer-daily-order/customer/" . $customerNo . "/" . $orderDate
|
||||
// , "ERP - SUCCESS"
|
||||
// , $loginUser
|
||||
// , json_encode($payload, JSON_PRETTY_PRINT)
|
||||
// , $customerNo
|
||||
// );
|
||||
|
||||
return $this->updateOrder($customerNo, $orderDate, $payload);
|
||||
|
||||
} catch (Exception $e) {
|
||||
$logBody =
|
||||
"[EXCEPTION]\n" .
|
||||
$e->getMessage() . "\n\n" .
|
||||
"[PAYLOAD]\n" .
|
||||
json_encode($payload, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
|
||||
|
||||
addLog("add"
|
||||
, "/customer-daily-order/customer/" . $customerNo . "/" . $orderDate
|
||||
, "ERP - FAILED"
|
||||
, $loginUser
|
||||
, $logBody
|
||||
, $customerNo
|
||||
);
|
||||
// 사용자에게는 아무것도 안 알려줌
|
||||
return [
|
||||
"success" => false,
|
||||
"queued" => true
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -89,7 +89,7 @@ if ($_SESSION['ss_LEVEL'] == 9) $add_qry = " AND m_uid = '".$_SESSION['ss_UID'].
|
|||
else $add_qry = "";
|
||||
|
||||
// Get Sludge Info
|
||||
$qry_sludge = "SELECT c_sludge FROM tbl_customer WHERE c_uid ='$d_customeruid' ";
|
||||
$qry_sludge = "SELECT IFNULL(c_sludge,0) FROM tbl_customer WHERE c_uid ='$d_customeruid' ";
|
||||
$rt_sludge = $jdb->fQuery($qry_sludge, "fetch query error");
|
||||
|
||||
|
||||
|
|
@ -374,6 +374,7 @@ $(document).ready(function(){
|
|||
<input type=hidden name=d_uid id=d_uid value="<?=$d_uid?>">
|
||||
<input type=hidden name=d_paymenttype id=d_paymenttype value="<?=$d_paymenttype?>">
|
||||
<input type=hidden name=d_customeruid id=d_customeruid value="<?=$d_customeruid?>">
|
||||
<input type=hidden name=d_customerno id="d_customerno"value="<?=$d_accountno?>">
|
||||
<input type=hidden name=mode id=mode value="update">
|
||||
|
||||
<? if (trim($d_payeesign) != "") { ?>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<?php
|
||||
|
||||
include getenv("DOCUMENT_ROOT")."/include/session_include.php";
|
||||
include_once getenv("DOCUMENT_ROOT")."/lib/erp_api.php";
|
||||
|
||||
//$func->checkAdmin("index.php");
|
||||
|
||||
|
|
@ -46,7 +47,7 @@ $columns[] = "d_visitdate";
|
|||
$columns[] = "d_status";
|
||||
|
||||
$columns[] = "d_payeename";
|
||||
|
||||
$columns[] = "d_is_transfer"; // Integration to ERP
|
||||
|
||||
////////////
|
||||
// data
|
||||
|
|
@ -66,7 +67,7 @@ $values[] = $d_visitdate."000000"; // d_visitdate
|
|||
$values[] = "F";
|
||||
|
||||
$values[] = $d_payeename;
|
||||
|
||||
$values[] = "N"; // Integration to ERP
|
||||
|
||||
// Signiture
|
||||
if ($signednew == 1) $putSignFlag = 1;
|
||||
|
|
@ -106,7 +107,24 @@ $jdb->uQuery("tbl_daily", $columns, $values, " where d_uid = '$d_uid' ");
|
|||
$logSTR = "[d_uid=$d_uid][d_quantity=$d_quantity][d_paystatus=$d_paystatus][d_payamount=".number_format(floatval($d_payamount), 2, '.', ',')."]";
|
||||
addLog ("add", "ORDER PICKUP - ORDER", "PICKUP", $lguserid, $logSTR, $d_uid);
|
||||
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
$lguserid = $_SESSION['ss_UID'];
|
||||
$columns[] = "d_accountno";
|
||||
$columns[] = "d_pickupnote";
|
||||
$values[] = $_POST['d_customerno']; // c_accountno
|
||||
$values[] = str_replace("\\", "", trim($d_note));
|
||||
try {
|
||||
$erp = new ErpApi();
|
||||
// ERP로 전송 (payload 내부에서 자동 매핑)
|
||||
$erp->updateDailyOrderFromMis($columns, $values, $lguserid);
|
||||
|
||||
// 성공 시 플래그 & 로그
|
||||
$jdb->uQuery("tbl_daily", ["d_is_transfer"], ["Y"], " WHERE d_uid = '$d_uid'");
|
||||
} catch (Exception $e) {
|
||||
// 여기서는 아무것도 안함
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ if ($c_paymenttype =="CA") {
|
|||
<input type=hidden name=actionStr value="SHORTINFO">
|
||||
<input type=hidden name=actionPage value="">
|
||||
<input type=hidden name=c_uid id=c_uid value="<?=$c_uid?>">
|
||||
<input type=hidden name=c_accountno id=c_accountno value="<?=$c_accountno?>">
|
||||
<input type=hidden name=mode id=mode value="update">
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<?php
|
||||
|
||||
include getenv("DOCUMENT_ROOT")."/include/session_include.php";
|
||||
include_once getenv("DOCUMENT_ROOT")."/lib/erp_api.php";
|
||||
|
||||
//$func->checkAdmin("index.php");
|
||||
|
||||
|
|
@ -44,13 +45,38 @@ $c_locationSTR = str_replace("\\", "", trim($c_location));
|
|||
$qry_customer = "UPDATE tbl_customer
|
||||
SET
|
||||
c_comment_ri = '".addslashes($c_comment_riSTR)."',
|
||||
c_location = '".addslashes($c_locationSTR)."'
|
||||
c_location = '".addslashes($c_locationSTR)."',
|
||||
c_is_transfer = 'N'
|
||||
WHERE c_uid = '$c_uid' ";
|
||||
|
||||
//echo "[$qry_customer]<br>";
|
||||
|
||||
$jdb->nQuery($qry_customer, "update error");
|
||||
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
$erp = new ErpApi();
|
||||
|
||||
try {
|
||||
$columns = array();
|
||||
$values = array();
|
||||
$columns[] = "c_accountno";
|
||||
$columns[] = "c_comment_ri";
|
||||
$columns[] = "c_location";
|
||||
$values[] = $c_accountno;
|
||||
$values[] = addslashes($c_comment_riSTR);
|
||||
$values[] = addslashes($c_locationSTR);
|
||||
$lguserid = $_SESSION['ss_UID'];
|
||||
$erp->updateCustomerFromMis($columns, $values, $lguserid);
|
||||
|
||||
// 성공 시 c_is_transfer='Y'
|
||||
$jdb->uQuery("tbl_customer", ["c_is_transfer"], ["Y"], " WHERE c_uid = ".(int)$_POST['id']);
|
||||
|
||||
} catch (Exception $e) {
|
||||
// 여기서는 아무것도 안함.
|
||||
}
|
||||
|
||||
addLog ("add", "SHORT INFO", "UPDATE", $lguserid, $qry_customer, $c_uid);
|
||||
|
||||
echo 1;
|
||||
|
|
|
|||
|
|
@ -157,6 +157,7 @@ if($uid == "") {
|
|||
<input type=hidden name=uid id=uid value="<?=$uid?>">
|
||||
<input type=hidden name=orderdate id=orderdate value="<?=$orderdate?>">
|
||||
<input type=hidden name=customeruid id=customeruid value="<?=$customeruid?>">
|
||||
<input type=hidden name=customerno id=customerno value="<?=$customerno?>">
|
||||
<input type=hidden name=mode id=mode value="update">
|
||||
|
||||
<? if (trim($d_payeesign) != "") { ?>
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@ $addCronLog = file_get_contents($setFILENAME);
|
|||
|
||||
$addCronLog .= "[upfilename=$upfilename][upfield=$upfield]\n";
|
||||
|
||||
|
||||
// c_is_transfer
|
||||
$updated = false;
|
||||
// ################# 차후 uptype 에 따른 if 구분이 필요함
|
||||
// echo "[action=$action]";
|
||||
// log file upload
|
||||
|
|
@ -65,43 +66,54 @@ if ($mode == "insert" && $upfilename != "" && $upfield != "") {
|
|||
|
||||
if ($rt_customer[0]) {
|
||||
|
||||
if ($upfield == "c_status")
|
||||
if ($upfield == "c_status") {
|
||||
$qry = "UPDATE tbl_customer SET c_status='".$updateTMP."' WHERE c_accountno = '".$d_accountno."'";
|
||||
else if ($upfield == "c_payableto")
|
||||
$updated = true;
|
||||
} else if ($upfield == "c_payableto") {
|
||||
$qry = "UPDATE tbl_customer SET c_payableto='".$updateTMP."' WHERE c_accountno = '".$d_accountno."'";
|
||||
else if ($upfield == "c_paymenttype") {
|
||||
$updated = true;
|
||||
} else if ($upfield == "c_paymenttype") {
|
||||
$updateTMP = strtoupper($updateTMP);
|
||||
$qry = "UPDATE tbl_customer SET c_paymenttype='".$updateTMP."' WHERE c_accountno = '".$d_accountno."'";
|
||||
}
|
||||
else if ($upfield == "c_paymentcycle")
|
||||
$updated = true;
|
||||
} else if ($upfield == "c_paymentcycle") {
|
||||
$qry = "UPDATE tbl_customer SET c_paymentcycle='".$updateTMP."' WHERE c_accountno = '".$d_accountno."'";
|
||||
else if ($upfield == "c_rate")
|
||||
$updated = true;
|
||||
} else if ($upfield == "c_rate") {
|
||||
$qry = "UPDATE tbl_customer SET c_rate='".$updateTMP."' WHERE c_accountno = '".$d_accountno."'";
|
||||
else if ($upfield == "c_sludge") {
|
||||
} else if ($upfield == "c_sludge") {
|
||||
// 2025-12-09 history 안건드리기
|
||||
// $qry1 = "UPDATE tbl_daily SET d_sludge='".$updateTMP."' WHERE d_accountno = '".$d_accountno."'";
|
||||
// $jdb->nQuery($qry1, "Update error");
|
||||
|
||||
$qry = "UPDATE tbl_customer SET c_sludge='".$updateTMP."' WHERE c_accountno = '".$d_accountno."'";
|
||||
}
|
||||
else if ($upfield == "c_mainvolume")
|
||||
$updated = true;
|
||||
} else if ($upfield == "c_mainvolume") {
|
||||
$qry = "UPDATE tbl_customer SET c_mainvolume='".$updateTMP."' WHERE c_accountno = '".$d_accountno."'";
|
||||
else if ($upfield == "c_driveruid") {
|
||||
$updated = true;
|
||||
} else if ($upfield == "c_driveruid") {
|
||||
//$qry1 = "UPDATE tbl_daily SET d_driveruid='".$updateTMP."' WHERE d_accountno = '".$d_accountno."'";
|
||||
//$jdb->nQuery($qry1, "Update error");
|
||||
|
||||
$qry = "UPDATE tbl_customer SET c_driveruid='".$updateTMP."' WHERE c_accountno = '".$d_accountno."'";
|
||||
}
|
||||
else if ($upfield == "c_hstno") {
|
||||
$updated = true;
|
||||
} else if ($upfield == "c_hstno") {
|
||||
//$qry1 = "UPDATE tbl_daily SET d_driveruid='".$updateTMP."' WHERE d_accountno = '".$d_accountno."'";
|
||||
//$jdb->nQuery($qry1, "Update error");
|
||||
|
||||
$qry = "UPDATE tbl_customer SET c_hstno='".$updateTMP."' WHERE c_accountno = '".$d_accountno."'";
|
||||
$updated = true;
|
||||
}
|
||||
|
||||
$jdb->nQuery($qry, "Update error");
|
||||
//echo "[$qry]<br>";
|
||||
|
||||
// ERP 전송 전 transfer flag setting
|
||||
if ($updated) {
|
||||
$q = "UPDATE tbl_customer SET c_is_transfer='N' WHERE c_accountno='".$d_accountno."'";
|
||||
$jdb->nQuery($q, "Update error: c_is_transfer");
|
||||
}
|
||||
|
||||
$qry_customera = "SELECT * FROM tbl_customer WHERE c_accountno = '".$d_accountno."' ";
|
||||
$rt_customera = $jdb->fQuery($qry_customera, "query error");
|
||||
|
||||
|
|
@ -109,6 +121,30 @@ if ($mode == "insert" && $upfilename != "" && $upfield != "") {
|
|||
|
||||
if ($updateTMP != $rt_customera[$upfield]) $fontColor = "#00DD37";
|
||||
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
$columns = array();
|
||||
$values = array();
|
||||
$columns[] = $upfield;
|
||||
$columns[] = "c_accountno";
|
||||
$values[] = $updateTMP;
|
||||
$values[] = $d_accountno;
|
||||
|
||||
$erp = new ErpApi();
|
||||
|
||||
try {
|
||||
// ERP로 전송 (payload 내부에서 자동 매핑)
|
||||
$erp->updateCustomerFromMis($columns, $values, $lguserid);
|
||||
|
||||
// 성공 시 플래그 & 로그
|
||||
$jdb->uQuery("tbl_customer", ["c_is_transfer"], ["Y"], " WHERE c_accountno = '$d_accountno'");
|
||||
|
||||
} catch (Exception $e) {
|
||||
// 여기서는 아무것도 안함
|
||||
}
|
||||
|
||||
//
|
||||
echo "<font color=$fontColor>[cnt=$lineCnt][ACCOUNTNO=$d_accountno][RNAME FILE/DB =".$d_name." / ".$rt_customer['c_name']."][".$upfield." FILE/DB/AFTER=".$updateTMP." / ".$rt_customer[$upfield]." / ".$rt_customera[$upfield]."]</font><br>";
|
||||
$addCronLog .= "[cnt=$lineCnt][ACCOUNTNO=$d_accountno][RNAME FILE/DB =".$d_name." / ".$rt_customer['c_name']."][".$upfield." FILE/DB/AFTER=".$updateTMP." / ".$rt_customer[$upfield]." / ".$rt_customera[$upfield]."]\n";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
include getenv("DOCUMENT_ROOT")."/include/session_include.php";
|
||||
@include getenv("DOCUMENT_ROOT")."/config/config_shopInfo.php";
|
||||
|
||||
include_once getenv("DOCUMENT_ROOT") . "/lib/erp_api.php";
|
||||
|
||||
if ($goStr == "") $goStr = "switched=$switched&page=$page&key_word=$key_word&column=$column&sorting_type=$sorting_type&switch=$switch";
|
||||
|
||||
$lguserid = $_SESSION['ss_UID'];
|
||||
|
||||
/*
|
||||
for($i=0; $i<sizeof($_POST); $i++) {
|
||||
|
|
@ -101,7 +101,7 @@ if ($actionStr == "PICKUPORDERCUSTOMER") {
|
|||
$columns[] = "d_ruid";
|
||||
$columns[] = "d_driveruid";
|
||||
$columns[] = "d_customeruid";
|
||||
$columns[] = "d_accountno";
|
||||
//$columns[] = "d_accountno";
|
||||
$columns[] = "d_name";
|
||||
$columns[] = "d_paymenttype";
|
||||
$columns[] = "d_cycle";
|
||||
|
|
@ -131,14 +131,15 @@ if ($actionStr == "PICKUPORDERCUSTOMER") {
|
|||
$columns[] = "d_createruid";
|
||||
$columns[] = "d_createddate";
|
||||
|
||||
$columns[] = "d_inputdate";
|
||||
//$columns[] = "d_inputdate";
|
||||
|
||||
}
|
||||
else {
|
||||
$columns[] = "d_modifydate";
|
||||
}
|
||||
|
||||
$columns[] = "d_accountno";
|
||||
$columns[] = "d_orderdate";
|
||||
$columns[] = "d_inputdate";
|
||||
|
||||
$columns[] = "d_quantity";
|
||||
$columns[] = "d_sludge";
|
||||
|
|
@ -149,6 +150,7 @@ if ($actionStr == "PICKUPORDERCUSTOMER") {
|
|||
$columns[] = "d_status";
|
||||
|
||||
$columns[] = "d_payeename";
|
||||
$columns[] = "d_is_transfer"; // Integration to ERP
|
||||
|
||||
////////////
|
||||
// data
|
||||
|
|
@ -162,7 +164,7 @@ if ($actionStr == "PICKUPORDERCUSTOMER") {
|
|||
$values[] = ""; // d_ruid
|
||||
$values[] = $d_driveruid;
|
||||
$values[] = $c_uid;
|
||||
$values[] = $c_accountno;
|
||||
//$values[] = $c_accountno;
|
||||
$values[] = $c_name;
|
||||
$values[] = $c_paymenttype;
|
||||
$values[] = $c_paymentcycle;
|
||||
|
|
@ -192,13 +194,15 @@ if ($actionStr == "PICKUPORDERCUSTOMER") {
|
|||
$values[] = $_SESSION['ss_UID']; // d_createruid
|
||||
$values[] = date("YmdHis"); // d_createddate
|
||||
|
||||
$values[] = date("YmdHis"); // d_inputdate
|
||||
//$values[] = date("YmdHis"); // d_inputdate
|
||||
}
|
||||
else {
|
||||
$values[] = date("YmdHis"); // d_modifydate
|
||||
|
||||
}
|
||||
$values[] = $c_accountno;
|
||||
$values[] = $d_visitdate;
|
||||
$values[] = date("YmdHis"); // d_inputdate
|
||||
|
||||
$values[] = $d_quantity;
|
||||
$values[] = $d_sludge;
|
||||
|
|
@ -209,6 +213,7 @@ if ($actionStr == "PICKUPORDERCUSTOMER") {
|
|||
$values[] = "F";
|
||||
|
||||
$values[] = $d_payeename;
|
||||
$values[] = "N"; // Integration to ERP
|
||||
|
||||
// Signiture
|
||||
if ($signednew == 1) $putSignFlag = 1;
|
||||
|
|
@ -237,12 +242,6 @@ if ($actionStr == "PICKUPORDERCUSTOMER") {
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//for ($i=0; $i < count($columns); $i++)
|
||||
//echo "IN[$columns[$i]][$values[$i]]<br>";
|
||||
//exit;
|
||||
|
||||
if($d_mode == "create") {
|
||||
$jdb->iQuery("tbl_daily", $columns, $values);
|
||||
|
||||
|
|
@ -254,8 +253,43 @@ if ($actionStr == "PICKUPORDERCUSTOMER") {
|
|||
$logSTR = "[d_uid=$d_uid][d_driveruid=$d_driveruid][d_quantity=$d_quantity][d_paystatus=$d_paystatus][d_payamount=".number_format(floatval($d_payamount), 2, '.', ',')."]";
|
||||
addLog ("add", "ORDER PICKUP - CUSTOMER", "PICKUP-INSERT", $lguserid, $logSTR, $d_uid);
|
||||
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
$columns[] = "d_pickupnote";
|
||||
$values[] = str_replace("\\", "", trim($d_note));
|
||||
|
||||
$erp = new ErpApi();
|
||||
|
||||
try {
|
||||
// ERP로 전송 (payload 내부에서 자동 매핑)
|
||||
$erp->createDailyOrderFromMis($columns, $values, $lguserid);
|
||||
|
||||
// 성공 시 플래그 & 로그
|
||||
$jdb->uQuery("tbl_daily", ["d_is_transfer"], ["Y"], " WHERE d_uid = '$d_uid'");
|
||||
} catch (Exception $e) {
|
||||
// 여기서는 아무것도 안함
|
||||
}
|
||||
|
||||
} else {
|
||||
$jdb->uQuery("tbl_daily", $columns, $values, " where d_uid = '$d_uid' ");
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
$columns[] = "d_pickupnote";
|
||||
$values[] = str_replace("\\", "", trim($d_note));
|
||||
|
||||
$erp = new ErpApi();
|
||||
|
||||
try {
|
||||
// ERP로 전송 (payload 내부에서 자동 매핑)
|
||||
$erp->updateDailyOrderFromMis($columns, $values, $lguserid);
|
||||
|
||||
// 성공 시 플래그 & 로그
|
||||
$jdb->uQuery("tbl_daily", ["d_is_transfer"], ["Y"], " WHERE d_uid = '$d_uid'");
|
||||
} catch (Exception $e) {
|
||||
// 여기서는 아무것도 안함
|
||||
}
|
||||
|
||||
$logSTR = "[d_uid=$d_uid][d_driveruid=$d_driveruid][d_quantity=$d_quantity][d_paystatus=$d_paystatus][d_payamount=".number_format(floatval($d_payamount), 2, '.', ',')."]";
|
||||
addLog ("add", "ORDER PICKUP - CUSTOMER", "PICKUP-UPDATE", $lguserid, $logSTR, $d_uid);
|
||||
|
|
@ -318,6 +352,10 @@ if ($actionStr == "PICKUPORDERCUSTOMER") {
|
|||
//echo "[$qry_customer]<br>";
|
||||
|
||||
$jdb->nQuery($qry_customer, "update error");
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ERP 에서는 Trigger로 처리
|
||||
// ====================
|
||||
|
||||
addLog ("add", "ORDER PICKUP - CUSTOMER", "UPDATE", $lguserid, $qry_customer, $d_customeruid);
|
||||
|
||||
|
|
@ -575,6 +613,32 @@ if ($actionStr == "ORDERINFO" && $mode == "delete") {
|
|||
$jdb->nQuery($qry_customer, "update error");
|
||||
addLog ("add", "ORDER DELETE", "UPDATE", $lguserid, $qry_customer, $d_accountno);
|
||||
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// 나머지는 trigger 처리
|
||||
// ====================
|
||||
$columns = array();
|
||||
$values = array();
|
||||
$columns[] = "d_accountno";
|
||||
$columns[] = "d_orderdate";
|
||||
$columns[] = "d_status";
|
||||
$values[] = $d_accountno;
|
||||
$values[] = $d_orderdate;
|
||||
$values[] = "D";
|
||||
|
||||
$erp = new ErpApi();
|
||||
|
||||
try {
|
||||
// ERP로 전송 (payload 내부에서 자동 매핑)
|
||||
$erp->updateDailyOrderFromMis($columns, $values, $lguserid);
|
||||
|
||||
// 성공 시 플래그 & 로그 (지웠음)
|
||||
// $jdb->uQuery("tbl_daily", ["d_is_transfer"], ["Y"], " WHERE d_uid = '$d_uid'");
|
||||
|
||||
} catch (Exception $e) {
|
||||
// 여기서는 아무것도 안함
|
||||
}
|
||||
|
||||
|
||||
//else {
|
||||
// $msg = "Invalid data. Please try again. [Err - c_orderflag]";
|
||||
|
|
@ -747,6 +811,26 @@ if ($actionStr == "ORDEROIL" && $mode == "insert") {
|
|||
|
||||
$rtvalue = $jdb->iQuery("tbl_daily", $columns, $values);
|
||||
|
||||
// get d_uid
|
||||
$qry_max = "SELECT max(d_uid) FROM tbl_daily ";
|
||||
$rt_max = $jdb->fQuery($qry_max, "fetch query error");
|
||||
|
||||
$d_uid = $rt_max[0];
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
$erp = new ErpApi();
|
||||
try {
|
||||
// ERP로 전송 (payload 내부에서 자동 매핑)
|
||||
$erp->createDailyOrderFromMis($columns, $values, $lguserid);
|
||||
|
||||
// 성공 시 플래그 & 로그
|
||||
$jdb->uQuery("tbl_daily", ["d_is_transfer"], ["Y"], " WHERE d_uid = '$d_uid'");
|
||||
} catch (Exception $e) {
|
||||
// 여기서는 아무것도 안함
|
||||
}
|
||||
|
||||
//
|
||||
$qry_customer = "UPDATE tbl_customer
|
||||
SET c_orderdate='$orderdate', c_orderflag = 1
|
||||
WHERE c_uid = '$c_uid'";
|
||||
|
|
@ -802,6 +886,11 @@ if ($actionStr == "CUSTOMERINFO" && $mode == "delete") {
|
|||
|
||||
addLog ("add", "CUSTOMER DELETE", "DELETE", $lguserid, $qry_delete, $c_uid);
|
||||
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
// 화면에서 기능이 없음
|
||||
|
||||
$msg = "Deleted successfully.";
|
||||
$urlSTR = "/index_intranet.php?view=customer_list&$goStr";
|
||||
//$func -> alertBack($msg);
|
||||
|
|
@ -1353,11 +1442,6 @@ if ($actionStr == "ADDREQUEST" && $mode == "create") {
|
|||
$logSTR = "tbl_request[".$result['c_accountno']."][".$r_driveruid."][".date("YmdHis")."]";
|
||||
addLog ("add", "REQUEST", "ADD", $lguserid, $logSTR, $lgno);
|
||||
|
||||
//for ($i=0; $i < count($columns); $i++)
|
||||
//echo "[$columns[$i]][$values[$i]]<br>";
|
||||
//echo "[UID=$uid][ID=$userid][MAXUID=$maxuid]";
|
||||
//exit;
|
||||
|
||||
$jdb->iQuery("tbl_request", $columns, $values);
|
||||
$msg = "Created successfully.";
|
||||
|
||||
|
|
@ -1366,54 +1450,6 @@ if ($actionStr == "ADDREQUEST" && $mode == "create") {
|
|||
|
||||
$r_uidMAX = $rt_max[0];
|
||||
|
||||
|
||||
/*
|
||||
if (strlen(trim($r_note)) > 0) {
|
||||
|
||||
///////////////
|
||||
// Add note
|
||||
///////////////
|
||||
$ccolumns = array();
|
||||
$vvalues = array();
|
||||
|
||||
|
||||
$ccolumns[] = "n_memberuid";
|
||||
$ccolumns[] = "n_customeruid";
|
||||
//$ccolumns[] = "n_dailyuid";
|
||||
$ccolumns[] = "n_type";
|
||||
$ccolumns[] = "n_level";
|
||||
|
||||
$ccolumns[] = "n_view";
|
||||
$ccolumns[] = "n_note";
|
||||
$ccolumns[] = "n_createddate";
|
||||
|
||||
|
||||
////////////
|
||||
// data
|
||||
////////////
|
||||
|
||||
$vvalues[] = $r_memberuid;
|
||||
$vvalues[] = $r_customeruid;
|
||||
//$vvalues[] = $n_dailyuid;
|
||||
$vvalues[] = "A";
|
||||
$vvalues[] = $_SESSION['ss_LEVEL'];
|
||||
|
||||
$vvalues[] = "1";
|
||||
//$noteMsg = "Request Pickup. Request Date : ".trim($r_requestdate)."<br>";
|
||||
|
||||
$vvalues[] = $noteMsg.str_replace("\\", "", trim($r_note));
|
||||
$vvalues[] = date("YmdHis");
|
||||
|
||||
//for ($i=0; $i < count($ccolumns); $i++)
|
||||
//echo "[$ccolumns[$i]][$vvalues[$i]]<br>";
|
||||
//echo "[UID=$uid][ID=$userid][MAXUID=$maxuid]";
|
||||
//exit;
|
||||
|
||||
$jdb->iQuery("tbl_note", $ccolumns, $vvalues);
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
// 날짜간 일수 계산
|
||||
$getPeriodOrderTmp = new DateTime($r_requestdateSTR);
|
||||
$getPeriodNowTmp = new DateTime(date("Y-m-d"));
|
||||
|
|
@ -1471,21 +1507,11 @@ if ($actionStr == "ADDREQUEST" && $mode == "create") {
|
|||
$columns[] = "d_lastpickupquantity";
|
||||
$columns[] = "d_lastpaiddate";
|
||||
$columns[] = "d_estquantity";
|
||||
//$columns[] = "d_sludge";
|
||||
//$columns[] = "d_paystatus";
|
||||
//$columns[] = "d_payamount";
|
||||
//$columns[] = "d_visit";
|
||||
//$columns[] = "d_visitdate";
|
||||
$columns[] = "d_createruid";
|
||||
$columns[] = "d_createddate";
|
||||
$columns[] = "d_status";
|
||||
|
||||
//$columns[] = "d_inputdate";
|
||||
//$columns[] = "d_quantity";
|
||||
|
||||
|
||||
// Data
|
||||
|
||||
$values[] = $r_requestdateSTR;
|
||||
$values[] = "R"; // d_ordertype
|
||||
$values[] = $r_uidMAX;
|
||||
|
|
@ -1495,7 +1521,6 @@ if ($actionStr == "ADDREQUEST" && $mode == "create") {
|
|||
$values[] = $c_name;
|
||||
$values[] = $c_paymenttype;
|
||||
$values[] = $c_paymentcycle;
|
||||
|
||||
$values[] = $c_rate; // d_rate
|
||||
$values[] = $c_form_eu; // d_form_eu
|
||||
$values[] = $c_form_corsia; // d_form_corsia
|
||||
|
|
@ -1505,7 +1530,6 @@ if ($actionStr == "ADDREQUEST" && $mode == "create") {
|
|||
$values[] = $c_address; // d_address
|
||||
$values[] = $c_city; // d_city
|
||||
$values[] = $c_postal; // d_postal
|
||||
//$values[] = $rt_customer['c_area']; // d_area
|
||||
$values[] = 0; // d_oil_2y
|
||||
$values[] = 0; // d_oil_1y
|
||||
$values[] = 0; // d_oil_0y
|
||||
|
|
@ -1517,33 +1541,43 @@ if ($actionStr == "ADDREQUEST" && $mode == "create") {
|
|||
$values[] = $c_lastpaiddate; // d_lastpaiddate
|
||||
// 이미 내일일자의 예상오일량이 저장되어 있으므로 -1 해줌 (2023.11.13)
|
||||
$values[] = round(floatval($c_fullquantity + (($dDiff-1) * $c_fullquantitydaily))); // d_estquantity
|
||||
//$values[] = $d_sludge; // d_sludge
|
||||
|
||||
//$values[] = ""; // d_paystatus
|
||||
//$values[] = ""; // d_payamount
|
||||
//$values[] = ""; // d_visit
|
||||
//$values[] = ""; // d_visitdate
|
||||
|
||||
$values[] = $_SESSION['ss_UID']; // d_createruid
|
||||
$values[] = date("YmdHis"); // d_createddate
|
||||
$values[] = "A"; // d_status
|
||||
|
||||
//$values[] = ""; // d_inputdate
|
||||
//$values[] = $d_quantity; // d_quantity
|
||||
|
||||
|
||||
//for ($ii=0; $ii < count($columns); $ii++)
|
||||
//echo "[$columns[$ii]][$values[$ii]]<br>";
|
||||
//exit;
|
||||
|
||||
//
|
||||
$rtvalue = $jdb->iQuery("tbl_daily", $columns, $values);
|
||||
|
||||
// get d_uid
|
||||
$qry_max = "SELECT max(d_uid) FROM tbl_daily ";
|
||||
$rt_max = $jdb->fQuery($qry_max, "fetch query error");
|
||||
|
||||
$d_uid = $rt_max[0];
|
||||
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
$erp = new ErpApi();
|
||||
|
||||
try {
|
||||
$columns[] = "d_requestnote";
|
||||
$values[] = str_replace("\\", "", trim($r_note));
|
||||
|
||||
// ERP로 전송 (payload 내부에서 자동 매핑)
|
||||
$erp->createDailyOrderFromMis($columns, $values, $lguserid);
|
||||
|
||||
// 성공 시 플래그 & 로그
|
||||
$jdb->uQuery("tbl_daily", ["d_is_transfer"], ["Y"], " WHERE d_uid = '$d_uid'");
|
||||
} catch (Exception $e) {
|
||||
// 여기서는 아무것도 안함
|
||||
}
|
||||
|
||||
$qry_customer = "UPDATE tbl_customer
|
||||
SET c_orderdate='$r_requestdateSTR', c_orderflag = 1
|
||||
WHERE c_uid = '$r_customeruid'";
|
||||
|
||||
$jdb->nQuery($qry_customer, "update error");
|
||||
|
||||
//
|
||||
$logSTR = "tbl_daily[".$c_accountno."][r_driveruid=".$r_driveruid."][c_driveruid=".$c_driveruid."][".date("YmdHis")."]";
|
||||
addLog ("add", "REQUEST", "ADD", $lguserid, $logSTR, $lgno);
|
||||
|
||||
|
|
@ -1844,10 +1878,35 @@ if ($actionStr == "SIGNATURE") {
|
|||
$file = $folderPath ."/". $orderdate. "_". $uniquevalue . '.'.$image_type;
|
||||
$d_payeesignSTR = $orderdate. "_". $uniquevalue . '.'.$image_type;
|
||||
$qry_customer = "UPDATE tbl_daily
|
||||
SET d_payeesign='$d_payeesignSTR'
|
||||
SET d_payeesign='$d_payeesignSTR', d_is_transfer='N'
|
||||
WHERE d_uid = '$uid'";
|
||||
|
||||
$jdb->nQuery($qry_customer, "update error");
|
||||
|
||||
// ====================
|
||||
// Integration to ERP
|
||||
// ====================
|
||||
$columns = array();
|
||||
$values = array();
|
||||
$columns[] = "d_accountno";
|
||||
$columns[] = "d_orderdate";
|
||||
$columns[] = "d_payeesign";
|
||||
|
||||
$values[] = $customerno;
|
||||
$values[] = $orderdate;
|
||||
$values[] = $d_payeesignSTR;
|
||||
|
||||
$erp = new ErpApi();
|
||||
|
||||
try {
|
||||
// ERP로 전송 (payload 내부에서 자동 매핑)
|
||||
$erp->updateDailyOrderFromMis($columns, $values, $lguserid);
|
||||
|
||||
// 성공 시 플래그 & 로그
|
||||
$jdb->uQuery("tbl_daily", ["d_is_transfer"], ["Y"], " WHERE d_uid = '$d_uid'");
|
||||
} catch (Exception $e) {
|
||||
// 여기서는 아무것도 안함
|
||||
}
|
||||
}
|
||||
else {
|
||||
$file = $folderPath ."/". "T_". $orderdate. "_". $uniquevalue . '.'.$image_type;
|
||||
|
|
|
|||
Loading…
Reference in New Issue