From e2206aedc43679a295ff6c9822e7c4e95abddbba Mon Sep 17 00:00:00 2001 From: eastargh Date: Wed, 19 Aug 2026 11:11:28 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=EB=A9=94=EC=84=B8=EC=A7=80=EB=B0=9C?= =?UTF-8?q?=EC=86=A1=EB=82=B4=EC=97=AD=20-=20apistatus=5Fchanged=20?= =?UTF-8?q?=EB=A7=88=EC=8A=A4=ED=82=B9=20=EC=98=88=EC=99=B8=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apim/messagerequest/messageRequestMan.jsp | 30 ++++++++++++++++++- .../onl/apim/webhook/webhookSendLogMan.jsp | 4 +-- .../MessageRequestManService.java | 6 +++- 3 files changed, 36 insertions(+), 4 deletions(-) diff --git a/WebContent/jsp/onl/apim/messagerequest/messageRequestMan.jsp b/WebContent/jsp/onl/apim/messagerequest/messageRequestMan.jsp index 603aa47..5df54c8 100644 --- a/WebContent/jsp/onl/apim/messagerequest/messageRequestMan.jsp +++ b/WebContent/jsp/onl/apim/messagerequest/messageRequestMan.jsp @@ -62,7 +62,19 @@ return '' + escapeHtmlJs(rowObject.sentDateShort || '') + ''; } + function toDashDate(yyyymmdd) { + return yyyymmdd.substring(0, 4) + "-" + yyyymmdd.substring(4, 6) + "-" + yyyymmdd.substring(6, 8); + } + function init() { + $("#startDatepicker").datepicker().inputmask("yyyy-mm-dd",{'autoUnmask':true}); + $("#endDatepicker").datepicker().inputmask("yyyy-mm-dd",{'autoUnmask':true}); + + var today = getToday(); + + $("input[name=searchFromDate]").val(toDashDate(today.substring(0,6)+"01")); + $("input[name=searchToDate]").val(toDashDate(today)); + $.ajax({ type: "POST", url: url, dataType: "json", data: {cmd: 'LIST_INIT_COMBO'}, @@ -145,6 +157,20 @@ init(); $("#btn_search").click(function () { + var start = $("input[name=searchFromDate]").val().replace(/-/gi, ""); + var end = $("input[name=searchToDate]").val().replace(/-/gi, ""); + + if (start && start > getToday()) { + alert("시작일이 오늘 이후입니다. 시작일을 확인해주세요."); + $("input[name=searchFromDate]").focus(); + return false; + } + if (start && end && start > end) { + alert("조회기간 종료일은 시작일보다 커야합니다."); + $("input[name=searchToDate]").focus(); + return false; + } + var postData = getSearchForJqgrid("cmd", "LIST"); $("#grid").setGridParam({url: url, postData: postData, page: 1}).trigger("reloadGrid"); }); @@ -198,7 +224,9 @@ 요청기간 - ~ + + ~ + diff --git a/WebContent/jsp/onl/apim/webhook/webhookSendLogMan.jsp b/WebContent/jsp/onl/apim/webhook/webhookSendLogMan.jsp index fba0ece..1007a35 100644 --- a/WebContent/jsp/onl/apim/webhook/webhookSendLogMan.jsp +++ b/WebContent/jsp/onl/apim/webhook/webhookSendLogMan.jsp @@ -222,9 +222,9 @@ 발송기간 - + ~ - + diff --git a/src/main/java/com/eactive/eai/rms/onl/apim/messagerequest/MessageRequestManService.java b/src/main/java/com/eactive/eai/rms/onl/apim/messagerequest/MessageRequestManService.java index 6629c40..f4e5dd8 100644 --- a/src/main/java/com/eactive/eai/rms/onl/apim/messagerequest/MessageRequestManService.java +++ b/src/main/java/com/eactive/eai/rms/onl/apim/messagerequest/MessageRequestManService.java @@ -58,7 +58,11 @@ public class MessageRequestManService extends BaseService { ui.setMessageType(e.getMessageType()); // 본문: 패턴 마스킹 + 색상강조 안전 HTML - ui.setMessageHtml(MessagePatternMaskingUtils.maskAndHighlight(e.getMessage())); + if (e.getMessageCode() == MessageCode.API_STATUS_CHANGED) { + ui.setMessageHtml(e.getMessage()); + } else { + ui.setMessageHtml(MessagePatternMaskingUtils.maskAndHighlight(e.getMessage())); + } // 수신자 마스킹 (email/phone 은 @Convert 로 이미 복호화된 평문) ui.setUsername(MaskingUtils.maskName(e.getUsername())); From de6f7e5ff2a8e63cc095f5e6a370939375d5f251 Mon Sep 17 00:00:00 2001 From: eastargh Date: Wed, 19 Aug 2026 13:37:17 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=EC=8A=A4=EC=BC=80=EC=A5=B4=EB=9F=AC=20CLUS?= =?UTF-8?q?TERED=20config=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scheduler/ClusteredSchedulerConfig.java | 28 ++++++------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/eactive/eai/rms/common/scheduler/ClusteredSchedulerConfig.java b/src/main/java/com/eactive/eai/rms/common/scheduler/ClusteredSchedulerConfig.java index 333dbd7..7d3ff53 100644 --- a/src/main/java/com/eactive/eai/rms/common/scheduler/ClusteredSchedulerConfig.java +++ b/src/main/java/com/eactive/eai/rms/common/scheduler/ClusteredSchedulerConfig.java @@ -19,23 +19,7 @@ public class ClusteredSchedulerConfig { @Autowired @Qualifier("MONITORING") private DataSourceType monitoringDatasource; - - /* - public class AutowiringSpringBeanJobFactory extends SpringBeanJobFactory { - @Override - protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception { - Object job = super.createJobInstance(bundle); - applicationContext.getAutowireCapableBeanFactory().autowireBean(job); - return job; - } - } - - @Bean - public SpringBeanJobFactory springBeanJobFactory() { - return new AutowiringSpringBeanJobFactory(); - } - */ - + @Bean(name = "clusteredScheduler") public SchedulerFactoryBean clusteredScheduler() { @@ -81,11 +65,15 @@ public class ClusteredSchedulerConfig { factory.setQuartzProperties(quartzProperties); factory.setAutoStartup(true); factory.setSchedulerName("EMS_ClusteredScheduler"); -// factory.setJobFactory(springBeanJobFactory()); - + + AutoWiringSpringBeanJobFactory jobFactory = + new AutoWiringSpringBeanJobFactory(applicationContext.getAutowireCapableBeanFactory()); + jobFactory.setApplicationContext(applicationContext); + factory.setJobFactory(jobFactory); + factory.setApplicationContextSchedulerContextKey("applicationContext"); factory.setApplicationContext(applicationContext); - + return factory; } From 26f85b6f113fa0f883b7a3227fa6c9823444669f Mon Sep 17 00:00:00 2001 From: eastargh Date: Wed, 19 Aug 2026 14:15:48 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=EB=8F=99=EC=8B=9C=EC=8B=A4=ED=96=89=20?= =?UTF-8?q?=EB=B0=A9=EC=A7=80=20@DisallowConcurrentExecution=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/eactive/eai/rms/onl/common/service/UmsDispatchJob.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/eactive/eai/rms/onl/common/service/UmsDispatchJob.java b/src/main/java/com/eactive/eai/rms/onl/common/service/UmsDispatchJob.java index 993e165..af91e13 100644 --- a/src/main/java/com/eactive/eai/rms/onl/common/service/UmsDispatchJob.java +++ b/src/main/java/com/eactive/eai/rms/onl/common/service/UmsDispatchJob.java @@ -3,6 +3,7 @@ package com.eactive.eai.rms.onl.common.service; import com.eactive.eai.rms.onl.common.service.ums.UmsDispatchService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.quartz.DisallowConcurrentExecution; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; @@ -21,6 +22,7 @@ import java.util.stream.Collectors; */ // Cron Expression: */5 * * * * ? @Slf4j +@DisallowConcurrentExecution public class UmsDispatchJob implements Job { private final UmsDispatchService umsDispatchService;