This commit is contained in:
@@ -62,7 +62,19 @@
|
|||||||
return '<span title="' + escapeAttr(rowObject.sentDateFull || '') + '">' + escapeHtmlJs(rowObject.sentDateShort || '') + '</span>';
|
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() {
|
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({
|
$.ajax({
|
||||||
type: "POST", url: url, dataType: "json",
|
type: "POST", url: url, dataType: "json",
|
||||||
data: {cmd: 'LIST_INIT_COMBO'},
|
data: {cmd: 'LIST_INIT_COMBO'},
|
||||||
@@ -145,6 +157,20 @@
|
|||||||
init();
|
init();
|
||||||
|
|
||||||
$("#btn_search").click(function () {
|
$("#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");
|
var postData = getSearchForJqgrid("cmd", "LIST");
|
||||||
$("#grid").setGridParam({url: url, postData: postData, page: 1}).trigger("reloadGrid");
|
$("#grid").setGridParam({url: url, postData: postData, page: 1}).trigger("reloadGrid");
|
||||||
});
|
});
|
||||||
@@ -198,7 +224,9 @@
|
|||||||
</td>
|
</td>
|
||||||
<th>요청기간</th>
|
<th>요청기간</th>
|
||||||
<td colspan="3">
|
<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>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
@@ -222,9 +222,9 @@
|
|||||||
<td><input type="text" name="searchTargetUrl" autocomplete="off" style="width:95%;"></td>
|
<td><input type="text" name="searchTargetUrl" autocomplete="off" style="width:95%;"></td>
|
||||||
<th>발송기간</th>
|
<th>발송기간</th>
|
||||||
<td>
|
<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="searchStartDate" value="">
|
||||||
<input type="hidden" name="searchEndDate" value="">
|
<input type="hidden" name="searchEndDate" value="">
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@@ -20,22 +20,6 @@ public class ClusteredSchedulerConfig {
|
|||||||
@Autowired @Qualifier("MONITORING")
|
@Autowired @Qualifier("MONITORING")
|
||||||
private DataSourceType monitoringDatasource;
|
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")
|
@Bean(name = "clusteredScheduler")
|
||||||
public SchedulerFactoryBean clusteredScheduler() {
|
public SchedulerFactoryBean clusteredScheduler() {
|
||||||
|
|
||||||
@@ -81,7 +65,11 @@ public class ClusteredSchedulerConfig {
|
|||||||
factory.setQuartzProperties(quartzProperties);
|
factory.setQuartzProperties(quartzProperties);
|
||||||
factory.setAutoStartup(true);
|
factory.setAutoStartup(true);
|
||||||
factory.setSchedulerName("EMS_ClusteredScheduler");
|
factory.setSchedulerName("EMS_ClusteredScheduler");
|
||||||
// factory.setJobFactory(springBeanJobFactory());
|
|
||||||
|
AutoWiringSpringBeanJobFactory jobFactory =
|
||||||
|
new AutoWiringSpringBeanJobFactory(applicationContext.getAutowireCapableBeanFactory());
|
||||||
|
jobFactory.setApplicationContext(applicationContext);
|
||||||
|
factory.setJobFactory(jobFactory);
|
||||||
|
|
||||||
factory.setApplicationContextSchedulerContextKey("applicationContext");
|
factory.setApplicationContextSchedulerContextKey("applicationContext");
|
||||||
factory.setApplicationContext(applicationContext);
|
factory.setApplicationContext(applicationContext);
|
||||||
|
|||||||
+5
-1
@@ -58,7 +58,11 @@ public class MessageRequestManService extends BaseService {
|
|||||||
ui.setMessageType(e.getMessageType());
|
ui.setMessageType(e.getMessageType());
|
||||||
|
|
||||||
// 본문: 패턴 마스킹 + 색상강조 안전 HTML
|
// 본문: 패턴 마스킹 + 색상강조 안전 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 로 이미 복호화된 평문)
|
// 수신자 마스킹 (email/phone 은 @Convert 로 이미 복호화된 평문)
|
||||||
ui.setUsername(MaskingUtils.maskName(e.getUsername()));
|
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 com.eactive.eai.rms.onl.common.service.ums.UmsDispatchService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.quartz.DisallowConcurrentExecution;
|
||||||
import org.quartz.Job;
|
import org.quartz.Job;
|
||||||
import org.quartz.JobExecutionContext;
|
import org.quartz.JobExecutionContext;
|
||||||
import org.quartz.JobExecutionException;
|
import org.quartz.JobExecutionException;
|
||||||
@@ -21,6 +22,7 @@ import java.util.stream.Collectors;
|
|||||||
*/
|
*/
|
||||||
// Cron Expression: */5 * * * * ?
|
// Cron Expression: */5 * * * * ?
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
@DisallowConcurrentExecution
|
||||||
public class UmsDispatchJob implements Job {
|
public class UmsDispatchJob implements Job {
|
||||||
|
|
||||||
private final UmsDispatchService umsDispatchService;
|
private final UmsDispatchService umsDispatchService;
|
||||||
|
|||||||
Reference in New Issue
Block a user