Merge remote-tracking branch 'origin/jenkins_with_weblogic' of C:/eactive/bundle/bundles/20260102/eapim-admin_incremental_2025-12-01.bundle into jenkins_with_weblogic

This commit is contained in:
daekuk
2026-01-02 17:18:05 +09:00
9 changed files with 159 additions and 23 deletions
+31 -12
View File
@@ -9,7 +9,16 @@
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<!-- Encoding Filter (반드시 다른 필터보다 먼저 적용되어야 함) -->
<!-- XSS Filter -->
<filter>
<filter-name>CrossScriptingFilter</filter-name>
<filter-class>com.eactive.eai.rms.common.filter.CrossScriptingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CrossScriptingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
@@ -22,20 +31,30 @@
<param-value>true</param-value>
</init-param>
</filter>
<!-- encodingFilter를 모든 요청에 먼저 적용 -->
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- XSS Filter (encodingFilter 다음에 적용) -->
<filter>
<filter-name>CrossScriptingFilter</filter-name>
<filter-class>com.eactive.eai.rms.common.filter.CrossScriptingFilter</filter-class>
<filter-name>encodingFilterEUCKR</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CrossScriptingFilter</filter-name>
<url-pattern>/*</url-pattern>
<filter-name>encodingFilterEUCKR</filter-name>
<url-pattern>*.excel</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.file</url-pattern>
</filter-mapping>
<!-- Tomcat 에서는 필요. Weblogic 에서는 불필요함 -->
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.json</url-pattern>
</filter-mapping>
<!--
@@ -31,6 +31,22 @@ function timeStampFormat2(cellvalue, options, rowObject){
}
function groupNameFormat(cellvalue, options, rowObject) {
if (!cellvalue) return "";
var strVal = cellvalue.toString().trim();
if (strVal.length === 36) {
// 그룹ID의 경우 GROUPNAME 으로 보여줌
var groupName = rowObject.GROUPNAME;
// 비어있다면 원래 값을 반환
return groupName ? groupName : strVal;
}
return strVal;
}
$(document).ready(function() {
$("input[name=searchStartYYYYMMDD],input[name=searchEndYYYYMMDD]").inputmask("yyyy-mm-dd",{'autoUnmask':true});
@@ -66,10 +82,11 @@ $(document).ready(function() {
'<%= localeMessage.getString("infConHstMan.eaiSvcSrlNum") %>',
'<%= localeMessage.getString("infConHstMan.instNm") %>',
'<%= localeMessage.getString("infConHstMan.eaiSvcCd") %>',
'<%= localeMessage.getString("infConHstMan.adpGrpNm") %>',
'그룹별 / <%= localeMessage.getString("infConHstMan.adpGrpNm") %>',
'<%= localeMessage.getString("infAdpConMan.thrPerSecond") %>',
'<%= localeMessage.getString("infAdpConMan.thr") %>',
'<%= localeMessage.getString("infAdpConMan.thrTimeUnit") %>'
'<%= localeMessage.getString("infAdpConMan.thrTimeUnit") %>',
'그룹별'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , width:'50' , align:'center' , sortable:false },
@@ -77,10 +94,11 @@ $(document).ready(function() {
{ name : 'EAISVCSERNO' , width:'150', align:'left' },
{ name : 'EAISEVRINSTNCNAME' , width:'50' , align:'center' },
{ name : 'EAISVCNAME' , width:'70' , align:'center' },
{ name : 'ADPTRBZWKGROUPNAME' , width:'70' , align:'center' },
{ name : 'THRESHOLDPERSECOND' , width:'40' , align:'right' },
{ name : 'THRESHOLD' , width:'40' , align:'right' },
{ name : 'THRESHOLDTIMEUNIT' , width:'70' , align:'center' }
{ name : 'ADPTRBZWKGROUPNAME' , width:'100' , align:'center' , formatter: groupNameFormat },
{ name : 'THRESHOLDPERSECOND' , width:'30' , align:'right' },
{ name : 'THRESHOLD' , width:'30' , align:'right' },
{ name : 'THRESHOLDTIMEUNIT' , width:'50' , align:'center' },
{ name : 'GROUPNAME' , width:'70' , hidden:true }
],
jsonReader: {
repeatitems:false
@@ -1606,7 +1606,7 @@
// 연결이 존재 하는 지 확인
if (jsPlumbInstance.getConnections({source:sourceEndpointElementId, target:targetEndpointElementId}).length > 0) {
alert('<%=localeMessage.getString("transformManDetail.alert10")%>');
<%-- alert('<%=localeMessage.getString("transformManDetail.alert10")%>'); --%>
return;
}
@@ -373,16 +373,16 @@
{name: 'TRACKASISKEY1CTNT', hidden: true},
{name: 'TRACKASISKEY2CTNT', hidden: true},
{name: 'EAISVCSERNO_TMP', align: 'left', width: '230'},
{name: 'EAISVCSERNO_TMP', align: 'left', width: '220'},
{name: 'KEYMGTMSGCTNT', align: 'left', width: '240'},
{name: 'LOGPRCSSSERNO_TMP', align: 'center', width: '40'},
{name: 'TELGMRECVTRANCD', align: 'left', width: '135', hidden: true},
{name: 'EAISVCNAME', align: 'left', width: '100'},
{name: 'EAISVCNAME', align: 'left', width: '130'},
{name: 'EAISVCDESC', align: 'left', width: '280'},
{name: 'EAIBZWKDSTCD_TMP', align: 'center', width: '50'},
{name: 'EXTBIZCD', align: 'center', width: '50', hidden: isApiGw},
{name: 'REFKEY', align: 'left', width: '280', hidden: isApiGw},
{name: 'CLIENTNAME', align: 'left', width: '280', hidden: !isApiGw},
{name: 'CLIENTNAME', align: 'left', width: '260', hidden: !isApiGw},
{name: 'ORGNAME', align: 'left', width: '100', hidden: !isApiGw, formatter: orgNameFormatter},
{name: 'MSGDPSTYMS_TMP', align: 'center', width: '150', formatter: timeStampFormat2},
{name: 'MSGPRCSSYMS', align: 'center', width: '150', formatter: timeStampFormat2},
@@ -1,19 +1,33 @@
package com.eactive.eai.rms.data.entity.onl.inflow;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import com.eactive.eai.data.entity.onl.inflow.InflowControlLog;
import com.eactive.eai.data.entity.onl.inflow.InflowControlLogId;
import com.eactive.eai.data.entity.onl.inflow.QInflowControlGroup;
import com.eactive.eai.data.entity.onl.inflow.QInflowControlLog;
import com.eactive.eai.data.jpa.AbstractDataService;
import com.eactive.eai.rms.onl.manage.inflow.history.InflowControlHistoryManMapper;
import com.eactive.eai.rms.onl.manage.inflow.history.InflowControlHistoryManUI;
import com.eactive.eai.rms.onl.manage.inflow.history.InflowControlHistoryManUISearch;
import com.querydsl.core.BooleanBuilder;
import com.querydsl.core.Tuple;
@Service
public class InflowControlLogService
extends AbstractDataService<InflowControlLog, InflowControlLogId, InflowControlLogRepository> {
private final InflowControlService inflowControlService;
private final InflowControlHistoryManMapper inflowControlHistoryManMapper;
@Autowired
public InflowControlLogService(InflowControlService inflowControlService, InflowControlHistoryManMapper inflowControlHistoryManMapper) {
this.inflowControlService = inflowControlService;
this.inflowControlHistoryManMapper = inflowControlHistoryManMapper;
}
public Page<InflowControlLog> findAll(Pageable pageable, InflowControlHistoryManUISearch uiSearch) {
QInflowControlLog qInflowConfrolLog = QInflowControlLog.inflowControlLog;
@@ -25,6 +39,28 @@ public class InflowControlLogService
return super.repository.findAll(booleanBuilder, pageable);
}
public Page<InflowControlHistoryManUI> selectList(Pageable pageable, InflowControlHistoryManUISearch uiSearch) {
Page<Tuple> tuples = inflowControlService.selectLogList(pageable, uiSearch);
return tuples.map(tuple -> {
InflowControlLog inflowControlLog = tuple.get(QInflowControlLog.inflowControlLog);
String groupName = tuple.get(QInflowControlGroup.inflowControlGroup.groupName);
InflowControlHistoryManUI inflowControlHistoryManUI;
inflowControlHistoryManUI = inflowControlHistoryManMapper.toVo(inflowControlLog);
inflowControlHistoryManUI.setGroupname(groupName);
return inflowControlHistoryManUI;
});
}
public Iterable<InflowControlLog> findAll(InflowControlHistoryManUISearch uiSearch) {
QInflowControlLog qInflowConfrolLog = QInflowControlLog.inflowControlLog;
BooleanBuilder booleanBuilder = new BooleanBuilder();
@@ -17,11 +17,16 @@ import com.eactive.eai.data.entity.onl.adapter.QAdapterGroup;
import com.eactive.eai.data.entity.onl.inflow.InflowControl;
import com.eactive.eai.data.entity.onl.inflow.InflowControlId;
import com.eactive.eai.data.entity.onl.inflow.QInflowControl;
import com.eactive.eai.data.entity.onl.inflow.QInflowControlGroup;
import com.eactive.eai.data.entity.onl.inflow.QInflowControlLog;
import com.eactive.eai.data.entity.onl.message.QEAIMessageEntity;
import com.eactive.eai.data.jpa.AbstractDataService;
import com.eactive.eai.rms.onl.manage.inflow.history.InflowControlHistoryManUISearch;
import com.eactive.eai.rms.onl.manage.inflow.inflow.InflowControlManMapper;
import com.querydsl.core.BooleanBuilder;
import com.querydsl.core.Tuple;
import com.querydsl.core.types.OrderSpecifier;
import com.querydsl.jpa.impl.JPAQuery;
import com.querydsl.jpa.impl.JPAQueryFactory;
@Service
@@ -168,5 +173,45 @@ public class InflowControlService extends AbstractDataService<InflowControl, Inf
return toDto(qEAIMessageEntity, qInflowControl, tuple);
}
public Page<Tuple> selectLogList(Pageable pageable, InflowControlHistoryManUISearch uiSearch) {
QInflowControlLog qlog = QInflowControlLog.inflowControlLog;
QInflowControlGroup qgroup = QInflowControlGroup.inflowControlGroup;
JPAQuery<Tuple> jpaQuery = createBaseQuery(uiSearch);
long totalCount = jpaQuery.select(QInflowControlLog.inflowControlLog.count()).fetchOne();
List<Tuple> inflowControlLog = jpaQuery
.select(qlog, qgroup.groupName)
.limit(pageable.getPageSize())
.offset(pageable.getOffset())
.orderBy(qlog.id.msgdpstyms.desc())
.fetch();
return new PageImpl<>(inflowControlLog, pageable, totalCount);
}
private JPAQuery<Tuple> createBaseQuery(InflowControlHistoryManUISearch uiSearch) {
QInflowControlLog qInflowConfrolLog = QInflowControlLog.inflowControlLog;
QInflowControlGroup qinflowControlGroup = QInflowControlGroup.inflowControlGroup;
BooleanBuilder predicate = new BooleanBuilder();
predicate
.and(qInflowConfrolLog.id.msgdpstyms
.between(uiSearch.getSearchStartDate() + "000000000",
uiSearch.getSearchEndDate() + "235959999"));
return getJPAQueryFactory()
.select(
qInflowConfrolLog,
qinflowControlGroup.groupName
)
.from(qInflowConfrolLog)
.leftJoin(qinflowControlGroup)
.on(qInflowConfrolLog.adptrbzwkgroupname.eq(qinflowControlGroup.groupId))
.where(predicate);
}
}
@@ -31,6 +31,13 @@ public class InflowControlHistoryManController extends OnlBaseAnnotationControll
return "/onl/admin/inflow/inflowControlHistoryMan";
}
// @RequestMapping(value = "/onl/admin/inflow/inflowControlHistoryMan.json", params = "cmd=LIST")
// public ResponseEntity<GridResponse<InflowControlHistoryManUI>> selectList(HttpServletRequest request,
// Pageable pageable, InflowControlHistoryManUISearch uiSearch) {
// Page<InflowControlHistoryManUI> uiPage = service.selectList(pageable, uiSearch);
// return ResponseEntity.ok(new GridResponse<>(uiPage));
// }
@RequestMapping(value = "/onl/admin/inflow/inflowControlHistoryMan.json", params = "cmd=LIST")
public ResponseEntity<GridResponse<InflowControlHistoryManUI>> selectList(HttpServletRequest request,
Pageable pageable, InflowControlHistoryManUISearch uiSearch) {
@@ -23,8 +23,13 @@ public class InflowControlHistoryManService extends BaseService {
@Autowired
InflowControlHistoryManMapper mapper;
// public Page<InflowControlHistoryManUI> selectList(Pageable pageable, InflowControlHistoryManUISearch uiSearch) {
// return service.findAll(pageable, uiSearch).map(mapper::toVo);
// }
public Page<InflowControlHistoryManUI> selectList(Pageable pageable, InflowControlHistoryManUISearch uiSearch) {
return service.findAll(pageable, uiSearch).map(mapper::toVo);
return service.selectList(pageable, uiSearch);
}
public List<HashMap<String, Object>> selectListToExcel(InflowControlHistoryManUISearch uiSearch) {
@@ -66,6 +66,12 @@ public class InflowControlHistoryManUI {
*/
@JsonProperty("THRESHOLDTIMEUNIT")
private String thresholdtimeunit;
/**
* 그룹명
*/
@JsonProperty("GROUPNAME")
private String groupname;
}