diff --git a/public_html/doc/customer_detail.php b/public_html/doc/customer_detail.php index 1d1d5b1..f3aaa7b 100644 --- a/public_html/doc/customer_detail.php +++ b/public_html/doc/customer_detail.php @@ -31,6 +31,19 @@ else if ($mode == "update") { // User data query if ($mode == "update") { + + // [추가] 포털(ERP)에서 c_uid 없이 c_accountno(= crm.customer.cus_no)로 들어온 경우 c_uid 해석 + if (trim($c_uid) == "" && isset($c_accountno) && trim($c_accountno) != "") { + $accNo = preg_replace('/[^A-Za-z0-9\-]/', '', trim($c_accountno)); // 화이트리스트 sanitize + $rowAcc = $jdb->fQuery( + "SELECT c_uid FROM tbl_customer WHERE c_accountno = '".addslashes($accNo)."' LIMIT 1", + "account lookup error" + ); + if (!empty($rowAcc['c_uid'])) { + $c_uid = $rowAcc['c_uid']; + } + } + if($c_uid == "") { $msg = "Invalid data. Please try again."; diff --git a/public_html/lib/mapper/erpCustomerMapper.php b/public_html/lib/mapper/erpCustomerMapper.php index 1645446..a582394 100644 --- a/public_html/lib/mapper/erpCustomerMapper.php +++ b/public_html/lib/mapper/erpCustomerMapper.php @@ -148,7 +148,7 @@ class erpCustomerMapper return self::datetime($value); default: - return $value; + return ($value === null) ? null : rtrim((string)$value); } } diff --git a/public_html/lib/mapper/erpDailyOrderMapper.php b/public_html/lib/mapper/erpDailyOrderMapper.php index 33f9ef4..d9d9e33 100644 --- a/public_html/lib/mapper/erpDailyOrderMapper.php +++ b/public_html/lib/mapper/erpDailyOrderMapper.php @@ -15,7 +15,7 @@ class erpDailyOrderMapper "cdoExternalDriverId" => $after['d_druid'] ?? null, "cdoExternalCreatedBy" => $after['d_createruid'] ?? null, "cdoExternalUpdatedBy" => $after['d_driveruid'] ?? null, - "cdoCustomerNo" => $after['d_accountno'] ?? null, + "cdoCustomerNo" => isset($after['d_accountno']) ? rtrim($after['d_accountno']) : null, "cdoPaymentType" => $after['d_paymenttype'] ?? null, "cdoCycle" => $after['d_cycle'] ?? null, "cdoRate" => isset($after['d_rate']) ? (float)$after['d_rate'] : null,