Merge remote-tracking branch 'origin/master'
eapim-admin CI / build (push) Has been cancelled

This commit is contained in:
Rinjae
2026-08-19 14:31:19 +09:00
5 changed files with 46 additions and 24 deletions
@@ -62,7 +62,19 @@
return '<span title="' + escapeAttr(rowObject.sentDateFull || '') + '">' + escapeHtmlJs(rowObject.sentDateShort || '') + '</span>';
}
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 @@
</td>
<th>요청기간</th>
<td colspan="3">
<input type="date" name="searchFromDate"> ~ <input type="date" name="searchToDate">
<input type="text" name="searchFromDate" id="startDatepicker" readonly="readonly" value="" size="10" style="width:100px; border:1px solid #ebebec;">
~
<input type="text" name="searchToDate" value="" id="endDatepicker" size="10" readonly="readonly" style="width:100px; border:1px solid #ebebec;">
</td>
</tr>
</tbody>
@@ -222,9 +222,9 @@
<td><input type="text" name="searchTargetUrl" autocomplete="off" style="width:95%;"></td>
<th>발송기간</th>
<td>
<input type="text" name="searchStartYYYYMMDD" id="startDatepicker" readonly="readonly" value="" size="10" style="width:40%; border:1px solid #ebebec;">
<input type="text" name="searchStartYYYYMMDD" id="startDatepicker" readonly="readonly" value="" size="10" style="width:100px; border:1px solid #ebebec;">
~
<input type="text" name="searchEndYYYYMMDD" value="" id="endDatepicker" size="10" readonly="readonly" style="width:40%; border:1px solid #ebebec;">
<input type="text" name="searchEndYYYYMMDD" value="" id="endDatepicker" size="10" readonly="readonly" style="width:100px; border:1px solid #ebebec;">
<input type="hidden" name="searchStartDate" value="">
<input type="hidden" name="searchEndDate" value="">
</td>
@@ -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;
}
@@ -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()));
@@ -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;