diff --git a/WebContent/WEB-INF/weblogic.xml b/WebContent/WEB-INF/weblogic.xml
index ec07529..7905f48 100644
--- a/WebContent/WEB-INF/weblogic.xml
+++ b/WebContent/WEB-INF/weblogic.xml
@@ -6,10 +6,10 @@
monitoring
- 3600
+ 1800
JSESSIONID_EMS
- memory
- replicated_if_clustered
+
+ replicated_if_clustered
diff --git a/WebContent/jsp/onl/transaction/tracking/trackingManDetail.jsp b/WebContent/jsp/onl/transaction/tracking/trackingManDetail.jsp
index d32d033..2e2a48c 100644
--- a/WebContent/jsp/onl/transaction/tracking/trackingManDetail.jsp
+++ b/WebContent/jsp/onl/transaction/tracking/trackingManDetail.jsp
@@ -211,6 +211,22 @@
layoutInfo = json.standardHeader;
bzwkdatatntInfo = json.BZWKDATACTNT;
+ // bzwkdatatntInfoLength 파싱 및 패딩 처리
+ let bzwkdatatntInfoLength = 0;
+ try {
+ bzwkdatatntInfoLength = parseInt(layoutInfo[layoutInfo.length - 2].value, 10);
+ if (isNaN(bzwkdatatntInfoLength)) {
+ bzwkdatatntInfoLength = 0;
+ }
+ } catch (e) {
+ bzwkdatatntInfoLength = 0;
+ }
+
+ // bzwkdatatntInfo 패딩 적용
+ if (bzwkdatatntInfoLength > 0 && bzwkdatatntInfo) {
+ bzwkdatatntInfo = padByteString(bzwkdatatntInfo, bzwkdatatntInfoLength);
+ }
+
if((isInboundPart && isInboundWithoutNet) || (isOutboundPart && isOutboundWithoutNet)){
selectHttpLog(url, prcsDate, json.EAISVCSERNO.trim(), logPrcssSerno);
}else{
@@ -897,9 +913,42 @@ $(document).ready(function() {
// console.log("변환 완료:", parsedList);
}
-
+
});
+/**
+ * 문자열의 바이트 수 계산 (한글 2바이트, 영문/숫자 1바이트)
+ */
+function getByteLength(str) {
+ let byteCount = 0;
+ for (let i = 0; i < str.length; i++) {
+ const charCode = str.charCodeAt(i);
+ byteCount += (charCode >= 0xAC00 && charCode <= 0xD7A3) ? 2 : 1;
+ }
+ return byteCount;
+}
+
+/**
+ * 문자열을 주어진 바이트 수만큼 패딩
+ * @param {string} str - 원본 문자열
+ * @param {number} targetBytes - 목표 바이트 수
+ * @param {string} position - 'left' 또는 'right' (기본: 'right')
+ * @param {string} padChar - 패딩 문자 (기본: 공백)
+ * @returns {string} - 패딩된 문자열
+ */
+function padByteString(str, targetBytes, position = 'right', padChar = ' ') {
+ const currentBytes = getByteLength(str);
+
+ if (currentBytes >= targetBytes) {
+ return str; // 이미 목표 바이트 이상이면 그대로 반환
+ }
+
+ const paddingBytes = targetBytes - currentBytes;
+ const padding = padChar.repeat(paddingBytes);
+
+ return position === 'left' ? padding + str : str + padding;
+}
+