Merge branch 'devs/interfaceUi-update' into staging
This commit is contained in:
@@ -86,30 +86,33 @@
|
|||||||
$("#loginForm").submit();
|
$("#loginForm").submit();
|
||||||
}
|
}
|
||||||
function changePwd(){
|
function changePwd(){
|
||||||
if ($("input[name=userId]").val() == null || $("input[name=userId]").val().length == 0 ){
|
if ($("input[name=resetUserId]").val() == null || $("input[name=resetUserId]").val().length == 0 ){
|
||||||
alert("<%= localeMessage.getString("login.checkid") %>");
|
alert("<%= localeMessage.getString("login.checkid") %>");
|
||||||
$("input[name=userId]").trigger("focus");
|
$("input[name=resetUserId]").trigger("focus");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ($("input[name=password]").val() == null || $("input[name=password]").val().trim().length == 0 ){
|
if ($("input[name=resetPassword]").val() == null || $("input[name=resetPassword]").val().trim().length == 0 ){
|
||||||
alert("<%= localeMessage.getString("login.checkpwd1") %>");
|
alert("<%= localeMessage.getString("login.checkpwd1") %>");
|
||||||
$("input[name=password]").trigger("focus");
|
$("input[name=resetPassword]").trigger("focus");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ($("input[name=password]").length == 0){
|
if ($("input[name=changePassword]").val() == null || $("input[name=changePassword]").val().trim().length == 0 ){
|
||||||
alert("<%= localeMessage.getString("login.checkpwd2") %>");
|
alert("<%= localeMessage.getString("login.checkpwd2") %>");
|
||||||
|
$("input[name=changePassword]").trigger("focus");
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
if ($("input[name=changePassword]").length == 0){
|
if ($("input[name=confirmPassword]").val() == null || $("input[name=confirmPassword]").val().trim().length == 0 ){
|
||||||
alert("<%= localeMessage.getString("login.checkpwd3") %>");
|
alert("<%= localeMessage.getString("login.checkpwd3") %>");
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
if ($("input[name=confirmPassword]").val() != $("input[name=changePassword]").val()){
|
if ($("input[name=confirmPassword]").val() != $("input[name=confirmPassword]").val()){
|
||||||
alert("<%= localeMessage.getString("login.checkpwd4") %>");
|
alert("<%= localeMessage.getString("login.checkpwd4") %>");
|
||||||
|
$("input[name=confirmPassword]").trigger("focus");
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
if ($("input[name=userId]").val() == $("input[name=changePassword]").val()){
|
if ($("input[name=resetUserId]").val() == $("input[name=changePassword]").val()){
|
||||||
alert("<%= localeMessage.getString("login.checkpwd5") %>");
|
alert("<%= localeMessage.getString("login.checkpwd5") %>");
|
||||||
|
$("input[name=changePassword]").trigger("focus");
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,21 +124,6 @@
|
|||||||
--%>
|
--%>
|
||||||
$("form").submit();
|
$("form").submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
function openPwdChgWindow() {
|
|
||||||
|
|
||||||
<%
|
|
||||||
if(sysMode.equals("T") || sysMode.equals("D")) {
|
|
||||||
%>
|
|
||||||
windowOpen("http://ssodev.kbankwithu.com:7010", "PopupWindow", 1024, 768);
|
|
||||||
<%
|
|
||||||
} else {
|
|
||||||
%>
|
|
||||||
windowOpen("https://ssoap.kbankwithu.com/nls3/clientLogin.jsp", "PopupWindow", 1024, 768);
|
|
||||||
<%
|
|
||||||
}
|
|
||||||
%>
|
|
||||||
}
|
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$("input[name=userId]").keydown(function(event){
|
$("input[name=userId]").keydown(function(event){
|
||||||
@@ -215,18 +203,18 @@
|
|||||||
<input type="button" id ="btn_login" class="form-control btn btn-primary rounded submit px-3" value="Login">
|
<input type="button" id ="btn_login" class="form-control btn btn-primary rounded submit px-3" value="Login">
|
||||||
</div>
|
</div>
|
||||||
<div style="text-align: right !important;" class="form-group">
|
<div style="text-align: right !important;" class="form-group">
|
||||||
<a style="font-size: 12px !important;" href="#pwdChgSsoModal" onclick="openPwdChgWindow()" >Password Change</a>
|
<a style="font-size: 12px !important;" href="#pwdChgModal" data-toggle="modal" >Password Change</a>
|
||||||
<!-- <a style="font-size: 12px !important;" href="#pwdChgModal" data-toggle="modal" >Password Change</a> -->
|
|
||||||
</div>
|
</div>
|
||||||
<p style="color:red;"><%=resultMsg %></p>
|
<p style="color:red;"><%=resultMsg %></p>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<%-- <div class="modal fade" id="pwdChgModal" tabindex="-1" role="dialog" aria-labelledby="pwdChgModalLabel" aria-hidden="true">
|
<div class="modal fade" id="pwdChgModal" tabindex="-1" role="dialog" aria-labelledby="pwdChgModalLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog" role="document">
|
<div class="modal-dialog" role="document">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@@ -238,10 +226,10 @@
|
|||||||
<form name="form" id="modalLoginForm" action="<c:url value="/changePassword.do"/>" method="post">
|
<form name="form" id="modalLoginForm" action="<c:url value="/changePassword.do"/>" method="post">
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<div class="form-group d-flex">
|
<div class="form-group d-flex">
|
||||||
<input type="text" name="userId" class="form-control rounded-left" placeholder="User Id" required>
|
<input type="text" name="resetUserId" class="form-control rounded-left" placeholder="User Id" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group d-flex">
|
<div class="form-group d-flex">
|
||||||
<input type="password" name="password" class="form-control rounded-left" placeholder="<%= localeMessage.getString("login.placeholderCurrentPassword") %>" required>
|
<input type="password" name="resetPassword" class="form-control rounded-left" placeholder="<%= localeMessage.getString("login.placeholderCurrentPassword") %>" required>
|
||||||
</div>
|
</div>
|
||||||
<p><%= localeMessage.getString("login.toChangePasswordMessage") %></p>
|
<p><%= localeMessage.getString("login.toChangePasswordMessage") %></p>
|
||||||
<div class="form-group d-flex">
|
<div class="form-group d-flex">
|
||||||
@@ -257,7 +245,7 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div> --%>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -205,14 +205,11 @@
|
|||||||
|
|
||||||
if (isDetail){
|
if (isDetail){
|
||||||
$("#title").append(" 수정")
|
$("#title").append(" 수정")
|
||||||
$("#btn_modify").prop('disabled', true);
|
|
||||||
$("#btn_unmask").show();
|
|
||||||
buttonControl(true);
|
buttonControl(true);
|
||||||
} else {
|
} else {
|
||||||
$("#title").append(" 등록")
|
$("#title").append(" 등록")
|
||||||
$("#managerInfoSectionTitle").hide();
|
$("#managerInfoSectionTitle").hide();
|
||||||
$("#btn_modify").html('<i class="material-icons">save</i> <%= localeMessage.getString("button.register") %></button>');
|
$("#btn_modify").html('<i class="material-icons">save</i> <%= localeMessage.getString("button.register") %></button>');
|
||||||
$("#btn_unmask").hide();
|
|
||||||
buttonControl(false);
|
buttonControl(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -397,69 +394,6 @@
|
|||||||
downloadFile(fileId, '1'); // fileSn은 '1'로 가정
|
downloadFile(fileId, '1'); // fileSn은 '1'로 가정
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#btn_unmask").click(function () {
|
|
||||||
if (!isDetail) {
|
|
||||||
alert("등록된 정보만 마스킹 해제할 수 있습니다.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var reason = prompt("마스킹 해제 사유를 입력해 주세요");
|
|
||||||
|
|
||||||
if (reason != null && reason.trim() !== '') {
|
|
||||||
$.ajax({
|
|
||||||
type: "POST",
|
|
||||||
url: url,
|
|
||||||
dataType: "json",
|
|
||||||
data: {
|
|
||||||
cmd: "UNMASK",
|
|
||||||
id: key,
|
|
||||||
reason: reason // reason 파라미터 추가
|
|
||||||
},
|
|
||||||
success: function (json) {
|
|
||||||
var portalOrgData = json.portalOrg;
|
|
||||||
var corporateManagerData = json.corporateManager;
|
|
||||||
|
|
||||||
// 마스킹 해제된 데이터를 화면에 반영
|
|
||||||
$("#orgName").val(portalOrgData.orgName);
|
|
||||||
$("#orgCode").val(portalOrgData.orgCode);
|
|
||||||
$("#compRegNo").val(portalOrgData.compRegNo);
|
|
||||||
$("#corpRegNo").val(portalOrgData.corpRegNo);
|
|
||||||
$("#ceoName").val(portalOrgData.ceoName);
|
|
||||||
$("#orgAddr").val(portalOrgData.orgAddr);
|
|
||||||
|
|
||||||
$("#ipListBody").empty(); // 기존 IP 목록 삭제
|
|
||||||
if (portalOrgData.ipWhitelist) {
|
|
||||||
var ipList = portalOrgData.ipWhitelist.split(',');
|
|
||||||
ipList.forEach(function(ip, index) {
|
|
||||||
var trimmedIp = ip.trim();
|
|
||||||
if (trimmedIp) {
|
|
||||||
addIpToTable(trimmedIp, index + 1);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$("#ipWhitelist").val(portalOrgData.ipWhitelist);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (corporateManagerData) {
|
|
||||||
$("#userName").text(corporateManagerData.userName);
|
|
||||||
$("#userStatusDescription").text(corporateManagerData.userStatusDescription);
|
|
||||||
$("#emailAddr").text(corporateManagerData.emailAddr);
|
|
||||||
$("#mobileNumber").text(corporateManagerData.mobileNumber);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 마스킹 해제 성공 시 수정 버튼 활성화
|
|
||||||
$("#btn_modify").prop('disabled', false);
|
|
||||||
$("#btn_unmask").prop('disabled', true); // 마스킹 해제 버튼 비활성화
|
|
||||||
alert("마스킹 해제가 완료되었습니다. 이제 데이터를 수정할 수 있습니다.");
|
|
||||||
},
|
|
||||||
error: function (e) {
|
|
||||||
alert("마스킹 해제 중 오류가 발생했습니다. " + e.responseText);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else if (reason !== null) {
|
|
||||||
alert("마스킹 해제 사유를 입력해 주세요.");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#btn_modify").click(function(){
|
$("#btn_modify").click(function(){
|
||||||
if (!checkRequired("ajaxForm")) return;
|
if (!checkRequired("ajaxForm")) return;
|
||||||
|
|
||||||
@@ -611,7 +545,6 @@
|
|||||||
</div><!-- end content_top -->
|
</div><!-- end content_top -->
|
||||||
<div class="content_middle">
|
<div class="content_middle">
|
||||||
<div class="search_wrap">
|
<div class="search_wrap">
|
||||||
<button type="button" class="cssbtn" id="btn_unmask" level="W" status="DETAIL"><i class="material-icons">lock_open</i> 마스킹해제</button>
|
|
||||||
<button type="button" class="cssbtn" id="btn_modify" level="W" status="DETAIL,NEW"><i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %></button>
|
<button type="button" class="cssbtn" id="btn_modify" level="W" status="DETAIL,NEW"><i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %></button>
|
||||||
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
|
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
|
||||||
<button type="button" class="cssbtn" id="btn_previous" level="R" status="DETAIL,NEW"><i class="material-icons">arrow_back</i> <%= localeMessage.getString("button.previous") %></button>
|
<button type="button" class="cssbtn" id="btn_previous" level="R" status="DETAIL,NEW"><i class="material-icons">arrow_back</i> <%= localeMessage.getString("button.previous") %></button>
|
||||||
|
|||||||
@@ -48,6 +48,19 @@
|
|||||||
background-color: #eeeeee;
|
background-color: #eeeeee;
|
||||||
border-color: #cccccc;
|
border-color: #cccccc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* input-group 안에서 invalid-feedback이 차지하는 공간 없애기, 유효성검사 할 때 현재 스타일 바뀌지않게 CSS 처리 */
|
||||||
|
.input-group > .invalid-feedback {
|
||||||
|
position: absolute;
|
||||||
|
top: 100%;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
margin-top: .25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-group {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
<script language="javascript" >
|
<script language="javascript" >
|
||||||
@@ -101,16 +114,31 @@
|
|||||||
standardMessageItems: [],
|
standardMessageItems: [],
|
||||||
inboundResponseStandardMessageItems: [],
|
inboundResponseStandardMessageItems: [],
|
||||||
fromResponseAdapter: '',
|
fromResponseAdapter: '',
|
||||||
|
toResponseAdapter: '',
|
||||||
inboundResponseHttpMethod: '',
|
inboundResponseHttpMethod: '',
|
||||||
inboundResponseRestPath: '',
|
inboundResponseRestPath: '',
|
||||||
syncAsyncType: 'sync'
|
outboundResponseHttpMethod: '',
|
||||||
|
outboundResponseRestPath: '',
|
||||||
|
syncAsyncType: 'sync',
|
||||||
|
wordType: '1',
|
||||||
|
requestType:'S'
|
||||||
},
|
},
|
||||||
|
|
||||||
// 컴퓨티드 프로퍼티
|
// 컴퓨티드 프로퍼티
|
||||||
get showInboundResponse() {
|
get showInboundResponse() {
|
||||||
return this.apiInterface.syncAsyncType === 'asyncSync';
|
return this.apiInterface.syncAsyncType === 'asyncSync';
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 컴퓨티드 프로퍼티
|
||||||
|
get showOutboundResponse() {
|
||||||
|
return this.apiInterface.syncAsyncType === 'syncAsync';
|
||||||
|
},
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
// 요청/응답 disable 처리.
|
||||||
|
Alpine.store('formState', {
|
||||||
|
isReqResDisabled: false
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// Alpine 컴포넌트 접근을 위한 유틸리티 함수
|
// Alpine 컴포넌트 접근을 위한 유틸리티 함수
|
||||||
@@ -136,6 +164,7 @@
|
|||||||
new makeOptions("ADPTRBZWKGROUPNAME","ADPTRBZWKGROUPDESC").setObj($("select[name=fromAdapter]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setAttr('std','ADPTRMSGPTRNCD').setData(json.fromList).rendering();
|
new makeOptions("ADPTRBZWKGROUPNAME","ADPTRBZWKGROUPDESC").setObj($("select[name=fromAdapter]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setAttr('std','ADPTRMSGPTRNCD').setData(json.fromList).rendering();
|
||||||
new makeOptions("ADPTRBZWKGROUPNAME","ADPTRBZWKGROUPDESC").setObj($("select[name=fromResponseAdapter]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.toList).rendering();
|
new makeOptions("ADPTRBZWKGROUPNAME","ADPTRBZWKGROUPDESC").setObj($("select[name=fromResponseAdapter]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.toList).rendering();
|
||||||
new makeOptions("ADPTRBZWKGROUPNAME","ADPTRBZWKGROUPDESC").setObj($("select[name=toAdapter]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.toList).rendering();
|
new makeOptions("ADPTRBZWKGROUPNAME","ADPTRBZWKGROUPDESC").setObj($("select[name=toAdapter]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.toList).rendering();
|
||||||
|
new makeOptions("ADPTRBZWKGROUPNAME","ADPTRBZWKGROUPDESC").setObj($("select[name=toResponseAdapter]")).setFormat(codeName3OptionFormat).setNoValueInclude(true).setData(json.fromList).rendering();
|
||||||
//if(key == "") setSearchable(selectName); // 콤보에 searchable 설정
|
//if(key == "") setSearchable(selectName); // 콤보에 searchable 설정
|
||||||
|
|
||||||
if (typeof callback === 'function') {
|
if (typeof callback === 'function') {
|
||||||
@@ -196,27 +225,33 @@
|
|||||||
|
|
||||||
// 어댑터 설정 정보 객체에 인바운드 응답 관련 설정 추가
|
// 어댑터 설정 정보 객체에 인바운드 응답 관련 설정 추가
|
||||||
const adapterConfig = {
|
const adapterConfig = {
|
||||||
inbound: {
|
inbound: {
|
||||||
ioType: 'inbound',
|
ioType: 'inbound',
|
||||||
methodSelectId: '#inboundHttpMethod',
|
methodSelectId: '#inboundHttpMethod',
|
||||||
restPathInputId: '#inboundRestPath',
|
restPathInputId: '#inboundRestPath',
|
||||||
adapterUrlId: '#fromAdapterUrl',
|
adapterUrlId: '#fromAdapterUrl',
|
||||||
},
|
},
|
||||||
outbound: {
|
outbound: {
|
||||||
ioType: 'outbound',
|
ioType: 'outbound',
|
||||||
methodSelectId: '#outboundHttpMethod',
|
methodSelectId: '#outboundHttpMethod',
|
||||||
restPathInputId: '#outboundRestPath',
|
restPathInputId: '#outboundRestPath',
|
||||||
adapterUrlId: '#toAdapterUrl',
|
adapterUrlId: '#toAdapterUrl',
|
||||||
standardOptionsId: '#standardOutboundOptions',
|
standardOptionsId: '#standardOutboundOptions',
|
||||||
commonFieldId: '#commonFieldPart'
|
commonFieldId: '#commonFieldPart'
|
||||||
},
|
},
|
||||||
inboundResponse: {
|
inboundResponse: {
|
||||||
methodSelectId: '#inboundResponseHttpMethod',
|
methodSelectId: '#inboundResponseHttpMethod',
|
||||||
restPathInputId: '#inboundResponseRestPath',
|
restPathInputId: '#inboundResponseRestPath',
|
||||||
adapterUrlId: '#fromResponseAdapterUrl',
|
adapterUrlId: '#fromResponseAdapterUrl',
|
||||||
standardOptionsId: '#inboundResponseRestPart',
|
standardOptionsId: '#inboundResponseRestPart',
|
||||||
commonFieldId: '#inboundResponseCommonFieldPart'
|
commonFieldId: '#inboundResponseCommonFieldPart'
|
||||||
}
|
},
|
||||||
|
outboundResponse: {
|
||||||
|
methodSelectId: '#outboundResponseHttpMethod',
|
||||||
|
restPathInputId: '#outboundResponseRestPath',
|
||||||
|
adapterUrlId: '#toResponseAdapterUrl',
|
||||||
|
standardOptionsId: '#outboundResponseRestPart'
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 어댑터 선택 변경 시 호출되는 함수 수정
|
// 어댑터 선택 변경 시 호출되는 함수 수정
|
||||||
@@ -373,9 +408,13 @@
|
|||||||
$("select[name=authType]" ).val(data["authType"]);
|
$("select[name=authType]" ).val(data["authType"]);
|
||||||
}
|
}
|
||||||
$("select[name=fromResponseAdapter]" ).val(data["fromResponseAdapter"]);//fromResponseAdapter
|
$("select[name=fromResponseAdapter]" ).val(data["fromResponseAdapter"]);//fromResponseAdapter
|
||||||
|
|
||||||
|
$("select[name=toResponseAdapter]" ).val(data["toResponseAdapter"]);//toResponseAdapter
|
||||||
|
|
||||||
$('#inboundHttpMethod').val(data.inboundHttpMethod);
|
$('#inboundHttpMethod').val(data.inboundHttpMethod);
|
||||||
$('#outboundHttpMethod').val(data.outboundHttpMethod);
|
$('#outboundHttpMethod').val(data.outboundHttpMethod);
|
||||||
$('#inboundResponseHttpMethod').val(data.inboundResponseHttpMethod);
|
$('#inboundResponseHttpMethod').val(data.inboundResponseHttpMethod);
|
||||||
|
$('#outboundResponseHttpMethod').val(data.outboundResponseHttpMethod);
|
||||||
$('#svcLogLvelNo').val(data.svcLogLvelNo);
|
$('#svcLogLvelNo').val(data.svcLogLvelNo);
|
||||||
|
|
||||||
if(data['inboundRequestLayout']!=null && data['outboundRequestLayout']!=null){
|
if(data['inboundRequestLayout']!=null && data['outboundRequestLayout']!=null){
|
||||||
@@ -420,6 +459,12 @@
|
|||||||
const inOutType = data['eaiSvcName'].slice(-1);
|
const inOutType = data['eaiSvcName'].slice(-1);
|
||||||
$('#inOutType').val(inOutType);
|
$('#inOutType').val(inOutType);
|
||||||
|
|
||||||
|
$("input[name=btnRadioReqRes][value='" + sendRecvType + "']").prop("checked", true);
|
||||||
|
Alpine.store('formState').isReqResDisabled = true;
|
||||||
|
$("input[name=btnRadioInOut][value='" + inOutType + "']").prop("checked", true);
|
||||||
|
$("input[name=btnRadioInOut]").prop("disabled", true);
|
||||||
|
|
||||||
|
|
||||||
$('#eaiBzwkDstcd').attr("readonly", "readonly");
|
$('#eaiBzwkDstcd').attr("readonly", "readonly");
|
||||||
$('#eaiSvcName').attr("readonly", "readonly");
|
$('#eaiSvcName').attr("readonly", "readonly");
|
||||||
$('#sendRecvType').attr("readonly", "readonly");
|
$('#sendRecvType').attr("readonly", "readonly");
|
||||||
@@ -439,6 +484,7 @@
|
|||||||
$('#cloneOrgInterfaceIdDesc').text(eaiSvcName);
|
$('#cloneOrgInterfaceIdDesc').text(eaiSvcName);
|
||||||
|
|
||||||
$("#fromResponseAdapter").change();
|
$("#fromResponseAdapter").change();
|
||||||
|
$("#toResponseAdapter").change();
|
||||||
},
|
},
|
||||||
error:function(e){
|
error:function(e){
|
||||||
alert(e.responseText);
|
alert(e.responseText);
|
||||||
@@ -1057,6 +1103,14 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#toResponseAdapter").change(function() {
|
||||||
|
const alpineData = getApiInterface();
|
||||||
|
if (alpineData.syncAsyncType === 'syncAsync') {
|
||||||
|
const adapterGroupName = $(this).val();
|
||||||
|
adapterSelectChange('outboundResponse', adapterGroupName);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
$('#outboundRestPath').on('input', function() {
|
$('#outboundRestPath').on('input', function() {
|
||||||
checkTagVariableUrl();
|
checkTagVariableUrl();
|
||||||
});
|
});
|
||||||
@@ -1278,18 +1332,34 @@
|
|||||||
<select id="eaiBzwkDstcd" class="form-select" name="eaiBzwkDstcd" style="width: 100%">
|
<select id="eaiBzwkDstcd" class="form-select" name="eaiBzwkDstcd" style="width: 100%">
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-md-3">
|
|
||||||
<label for="eaiSvcName"><span class="material-icons-outlined">badge</span> API 명</label>
|
<div class="form-group col-md-3">
|
||||||
<div class="input-group">
|
<label for="eaiSvcName">
|
||||||
<input type="text" class="form-control" id="eaiSvcName" name="eaiSvcName" required>
|
<span class="material-icons-outlined">badge</span> API 명
|
||||||
<span class="input-group-text" id="sendRecvTypeSpan" style="padding: 0; border: none;">
|
</label>
|
||||||
<input type="text" id="sendRecvType" name="sendRecvType" class="ignore form-control" readonly="readonly" style="width: 40px; text-align: center; border-radius: 0; margin-left: -1px;" value="S">
|
<div class="input-group">
|
||||||
</span>
|
<input type="text"
|
||||||
<span class="input-group-text" id="inOutTypeSpan" style="padding: 0; border: none;">
|
class="form-control"
|
||||||
<input type="text" id="inOutType" name="inOutType" class="ignore form-control" readonly="readonly" style="width: 40px; text-align: center; border-radius: 0; margin-left: -1px;" value="1">
|
id="eaiSvcName"
|
||||||
</span>
|
name="eaiSvcName"
|
||||||
</div>
|
required>
|
||||||
</div>
|
<span class="input-group-text" id="sendRecvTypeSpan" style="padding: 0; border: none;">
|
||||||
|
<input type="text" id="sendRecvType" name="sendRecvType"
|
||||||
|
class="ignore form-control"
|
||||||
|
readonly="readonly"
|
||||||
|
style="width: 40px; text-align: center; border-radius: 0; margin-left: -1px;"
|
||||||
|
:value="apiInterface.requestType">
|
||||||
|
</span>
|
||||||
|
<span class="input-group-text" id="inOutTypeSpan" style="padding: 0; border: none;">
|
||||||
|
<input type="text" id="inOutType" name="inOutType"
|
||||||
|
class="ignore form-control"
|
||||||
|
readonly="readonly"
|
||||||
|
style="width: 40px; text-align: center; border-radius: 0; margin-left: -1px;"
|
||||||
|
:value="apiInterface.wordType">
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group col-md-6">
|
<div class="form-group col-md-6">
|
||||||
<label for="eaiSvcDesc"><span class="material-icons-outlined">chat</span> 설명</label>
|
<label for="eaiSvcDesc"><span class="material-icons-outlined">chat</span> 설명</label>
|
||||||
<input type="text" class="form-control" id="eaiSvcDesc" name="eaiSvcDesc" required></input>
|
<input type="text" class="form-control" id="eaiSvcDesc" name="eaiSvcDesc" required></input>
|
||||||
@@ -1303,47 +1373,81 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-3">
|
<div class="col-md-12">
|
||||||
<!-- 기존 인터페이스 타입 영역을 Alpine 컴포넌트로 감싸기 -->
|
<!-- 기존 인터페이스 타입 영역을 Alpine 컴포넌트로 감싸기 -->
|
||||||
<fieldset class="groupbox-border">
|
<fieldset class="groupbox-border">
|
||||||
<legend class="groupbox-border">INTERFACE TYPE</legend>
|
<legend class="groupbox-border">INTERFACE TYPE</legend>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
<div class="form-group col-md-3">
|
||||||
<label for="eaiBzwkDstcd"><span class="material-icons-outlined">sync</span> Sync/Async 타입</label><br>
|
<label for="eaiBzwkDstcd"><span class="material-icons-outlined">sync</span> Sync/Async 타입</label><br>
|
||||||
<div class="btn-group" id="btnGroupSyncAsync" role="group">
|
<div class="btn-group" id="btnGroupSyncAsync" role="group">
|
||||||
<input type="radio"
|
<input type="radio"
|
||||||
class="btn-check"
|
class="btn-check"
|
||||||
name="btnRadioSyncAsync"
|
name="btnRadioSyncAsync"
|
||||||
id="btnTypeSync"
|
id="btnTypeSync"
|
||||||
value="sync"
|
value="sync"
|
||||||
x-model="apiInterface.syncAsyncType">
|
x-model="apiInterface.syncAsyncType">
|
||||||
<label class="btn btn-outline-primary" for="btnTypeSync">
|
<label class="btn btn-outline-primary" for="btnTypeSync">
|
||||||
<i class="bi bi-arrow-left-right"></i> Sync
|
<i class="bi bi-arrow-repeat"></i> Sync
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
<input type="radio"
|
||||||
|
class="btn-check"
|
||||||
|
name="btnRadioSyncAsync"
|
||||||
|
id="btnTypeAsync"
|
||||||
|
value="async"
|
||||||
|
x-model="apiInterface.syncAsyncType">
|
||||||
|
<label class="btn btn-outline-primary" for="btnTypeAsync">
|
||||||
|
<i class="bi bi-arrow-left-right"></i> Async
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input type="radio"
|
||||||
|
class="btn-check"
|
||||||
|
name="btnRadioSyncAsync"
|
||||||
|
id="btnTypeAsyncSync"
|
||||||
|
value="asyncSync"
|
||||||
|
x-model="apiInterface.syncAsyncType">
|
||||||
|
<label class="btn btn-outline-primary" for="btnTypeAsyncSync">
|
||||||
|
<i class="bi bi-arrow-return-left"></i> A > S
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input type="radio"
|
||||||
|
class="btn-check"
|
||||||
|
name="btnRadioSyncAsync"
|
||||||
|
id="btnTypeSyncAsync"
|
||||||
|
value="syncAsync"
|
||||||
|
x-model="apiInterface.syncAsyncType">
|
||||||
|
<label class="btn btn-outline-primary" for="btnTypeSyncAsync">
|
||||||
|
<i class="bi bi-share-fill"></i> S > A
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-3">
|
||||||
|
<label for="eaiBzwkDstcd">요청/응답 구분</label><br>
|
||||||
|
<div class="btn-group" role="group" aria-label="Basic radio toggle button group">
|
||||||
|
<input type="radio" class="btn-check" name="btnRadioReqRes" id="btnTypeRequest" x-model="apiInterface.requestType"
|
||||||
|
value="S" :disabled="apiInterface.syncAsyncType !== 'async' || $store.formState.isReqResDisabled" checked>
|
||||||
|
<label class="btn btn-outline-primary" for="btnTypeRequest"><i class="bi bi-arrow-bar-right"></i> 요청</label>
|
||||||
|
|
||||||
<input type="radio"
|
<input type="radio" class="btn-check" name="btnRadioReqRes" id="btnTypeResponse" x-model="apiInterface.requestType"
|
||||||
class="btn-check"
|
value="R" :disabled="apiInterface.syncAsyncType !== 'async' || $store.formState.isReqResDisabled">
|
||||||
name="btnRadioSyncAsync"
|
<label class="btn btn-outline-primary" for="btnTypeResponse"><i class="bi bi-arrow-bar-left"></i> 응답</label>
|
||||||
id="btnTypeAsync"
|
</div>
|
||||||
value="async"
|
</div>
|
||||||
x-model="apiInterface.syncAsyncType">
|
<div class="form-group col-md-3">
|
||||||
<label class="btn btn-outline-primary" for="btnTypeAsync">
|
<label for="eaiBzwkDstcd">당/타발 구분</label><br>
|
||||||
<i class="bi bi-arrow-repeat"></i> Async
|
<div class="btn-group" role="group" aria-label="Basic radio toggle button group">
|
||||||
</label>
|
<input type="radio" class="btn-check" name="btnRadioInOut" id="btnTypeInword" value="1" x-model="apiInterface.wordType" checked>
|
||||||
|
<label class="btn btn-outline-primary" for="btnTypeInword"><i class="bi bi-arrow-right-circle"></i> 당발</label>
|
||||||
|
|
||||||
<input type="radio"
|
<input type="radio" class="btn-check" name="btnRadioInOut" id="btnTypeOutword" value="2" x-model="apiInterface.wordType">
|
||||||
class="btn-check"
|
<label class="btn btn-outline-primary" for="btnTypeOutword"><i class="bi bi-arrow-left-circle"></i> 타발</label>
|
||||||
name="btnRadioSyncAsync"
|
</div>
|
||||||
id="btnTypeAsyncSync"
|
</div>
|
||||||
value="asyncSync"
|
|
||||||
x-model="apiInterface.syncAsyncType">
|
|
||||||
<label class="btn btn-outline-primary" for="btnTypeAsyncSync">
|
|
||||||
<i class="bi bi-arrow-return-left"></i> A > S
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-7">
|
<div class="col-md-10">
|
||||||
<fieldset class="groupbox-border">
|
<fieldset class="groupbox-border">
|
||||||
<legend class="groupbox-border">TRANSACTION OPTIONS</legend>
|
<legend class="groupbox-border">TRANSACTION OPTIONS</legend>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@@ -1354,6 +1458,7 @@
|
|||||||
<option value="1">[1]오류 로그만(900)</option>
|
<option value="1">[1]오류 로그만(900)</option>
|
||||||
<option value="2">[2]인바운드(100,400)</option>
|
<option value="2">[2]인바운드(100,400)</option>
|
||||||
<option value="3" selected>[3]전체로그</option>
|
<option value="3" selected>[3]전체로그</option>
|
||||||
|
<option value="4">[4]업무데이터 제외</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-md-2">
|
<div class="form-group col-md-2">
|
||||||
@@ -1408,21 +1513,38 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row"
|
<div class="row">
|
||||||
x-show="showInboundResponse">
|
|
||||||
<div class="form-group col-md-6">
|
<div class="form-group col-md-6">
|
||||||
<label for="fromResponseAdapter">
|
<div x-show="showInboundResponse">
|
||||||
<span class="material-icons">keyboard_return</span>
|
<label for="fromResponseAdapter">
|
||||||
INBOUND (ASYNC) 응답 어댑터
|
<span class="material-icons">keyboard_return</span>
|
||||||
</label>
|
INBOUND (ASYNC) 응답 어댑터
|
||||||
<select id="fromResponseAdapter"
|
</label>
|
||||||
class="form-select"
|
<select id="fromResponseAdapter"
|
||||||
name="fromResponseAdapter"
|
class="form-select"
|
||||||
required
|
name="fromResponseAdapter"
|
||||||
:disabled="!showInboundResponse">
|
required
|
||||||
</select>
|
:disabled="!showInboundResponse">
|
||||||
<small id="fromResponseAdapterUrl" class="form-text text-muted"></small>
|
</select>
|
||||||
</div>
|
<small id="fromResponseAdapterUrl" class="form-text text-muted"></small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-6">
|
||||||
|
<!-- toAdapterUrl 겹치지 않도록 mt-3 속성 추가 -->
|
||||||
|
<div class="mt-3" x-show="showOutboundResponse">
|
||||||
|
<label for="toResponseAdapter">
|
||||||
|
<span class="material-icons">keyboard_return</span>
|
||||||
|
OUTBOUND (ASYNC) 응답 어댑터
|
||||||
|
</label>
|
||||||
|
<select id="toResponseAdapter"
|
||||||
|
class="form-select"
|
||||||
|
name="toResponseAdapter"
|
||||||
|
required
|
||||||
|
:disabled="!showOutboundResponse">
|
||||||
|
</select>
|
||||||
|
<small id="toResponseAdapterUrl" class="form-text text-muted"></small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
@@ -1438,8 +1560,8 @@
|
|||||||
<%= localeMessage.getString("apiInterface.recvMethod") %>
|
<%= localeMessage.getString("apiInterface.recvMethod") %>
|
||||||
</label>
|
</label>
|
||||||
<select id="inboundHttpMethod" class="form-select" name="inboundHttpMethod" disabled>
|
<select id="inboundHttpMethod" class="form-select" name="inboundHttpMethod" disabled>
|
||||||
<option value="get">GET</option>
|
|
||||||
<option value="post">POST</option>
|
<option value="post">POST</option>
|
||||||
|
<option value="get">GET</option>
|
||||||
<option value="put">PUT</option>
|
<option value="put">PUT</option>
|
||||||
<option value="patch">PATCH</option>
|
<option value="patch">PATCH</option>
|
||||||
<option value="delete">DELETE</option>
|
<option value="delete">DELETE</option>
|
||||||
@@ -1488,8 +1610,8 @@
|
|||||||
class="form-select"
|
class="form-select"
|
||||||
name="inboundResponseHttpMethod"
|
name="inboundResponseHttpMethod"
|
||||||
disabled>
|
disabled>
|
||||||
<option value="get">GET</option>
|
|
||||||
<option value="post">POST</option>
|
<option value="post">POST</option>
|
||||||
|
<option value="get">GET</option>
|
||||||
<option value="put">PUT</option>
|
<option value="put">PUT</option>
|
||||||
<option value="patch">PATCH</option>
|
<option value="patch">PATCH</option>
|
||||||
<option value="delete">DELETE</option>
|
<option value="delete">DELETE</option>
|
||||||
@@ -1528,34 +1650,34 @@
|
|||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<fieldset class="groupbox-border">
|
<fieldset class="groupbox-border">
|
||||||
<legend class="groupbox-border">OUTBOUND ROUTING</legend>
|
<legend class="groupbox-border">OUTBOUND ROUTING</legend>
|
||||||
<div id="outboundRoutingContent">
|
<div id="outboundRoutingContent">
|
||||||
<div class="row" id="standardOutboundOptions">
|
<div class="row" id="standardOutboundOptions">
|
||||||
<div class="form-group col-md-4">
|
<div class="form-group col-md-4">
|
||||||
<label for="outboundHttpMethod">
|
<label for="outboundHttpMethod">
|
||||||
<span class="material-icons">http</span>
|
<span class="material-icons">http</span>
|
||||||
송신 메소드
|
송신 메소드
|
||||||
</label>
|
</label>
|
||||||
<select id="outboundHttpMethod" class="form-select" name="outboundHttpMethod" disabled>
|
<select id="outboundHttpMethod" class="form-select" name="outboundHttpMethod" disabled>
|
||||||
<option value="get">GET</option>
|
<option value="post">POST</option>
|
||||||
<option value="post">POST</option>
|
<option value="get">GET</option>
|
||||||
<option value="put">PUT</option>
|
<option value="put">PUT</option>
|
||||||
<option value="patch">PATCH</option>
|
<option value="patch">PATCH</option>
|
||||||
<option value="delete">DELETE</option>
|
<option value="delete">DELETE</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-md-8">
|
<div class="form-group col-md-8">
|
||||||
<label for="outboundRestPath">
|
<label for="outboundRestPath">
|
||||||
<span class="material-icons">link</span>
|
<span class="material-icons">link</span>
|
||||||
<span class="badge badge-warning" id="tagVariableUrl" style="display: none">가변</span>
|
<span class="badge badge-warning" id="tagVariableUrl" style="display: none">가변</span>
|
||||||
송신 REST PATH(URL)
|
송신 REST PATH(URL)
|
||||||
</label>
|
</label>
|
||||||
<input type="text" class="form-control" id="outboundRestPath"
|
<input type="text" class="form-control" id="outboundRestPath"
|
||||||
name="outboundRestPath" disabled>
|
name="outboundRestPath" disabled>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="commonFieldPart" class="row" style="display:none">
|
<div id="commonFieldPart" class="row" style="display:none">
|
||||||
<div class="form-group col-md-12">
|
<div class="form-group col-md-12">
|
||||||
<label for="standardMessageItemsButton">
|
<label for="standardMessageItemsButton">
|
||||||
@@ -1569,10 +1691,48 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</fieldset>
|
<div id="outboundResponseMethodPathRow"
|
||||||
</div>
|
x-show="showOutboundResponse">
|
||||||
|
<div id="outboundResponseRestPart" class="row">
|
||||||
|
<div class="form-group col-md-4">
|
||||||
|
<label for="outboundResponseHttpMethod">
|
||||||
|
<span class="material-icons">http</span>
|
||||||
|
응답 수신 메소드
|
||||||
|
</label>
|
||||||
|
<select id="outboundResponseHttpMethod" class="form-select" name="outboundResponseHttpMethod" disabled>
|
||||||
|
<option value="get">GET</option>
|
||||||
|
<option value="post">POST</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-8">
|
||||||
|
<label for="outboundResponseRestPath">
|
||||||
|
<span class="material-icons">link</span>
|
||||||
|
응답 수신 REST PATH(URL)
|
||||||
|
</label>
|
||||||
|
<input type="text" class="form-control" id="outboundResponseRestPath" name="outboundResponseRestPath" disabled>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outboundResponseCommonFieldPart" class="row" style="display:none">
|
||||||
|
<div class="form-group col-md-12">
|
||||||
|
<label for="standardMessageItemsButton">
|
||||||
|
<span class="material-icons-outlined">view_list</span>
|
||||||
|
표준전문 공통부 값
|
||||||
|
</label>
|
||||||
|
<div class="d-grid gap-2">
|
||||||
|
<button type="button" id="standardMessageItemsButton" class="btn btn-primary"
|
||||||
|
data-bs-toggle="modal" data-bs-target="#stdCommonValueModal">
|
||||||
|
수정
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="collapse" id="collapseTransform">
|
<div class="collapse" id="collapseTransform">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|||||||
@@ -563,14 +563,14 @@ public class MainController implements InterceptorSkipController {
|
|||||||
@RequestMapping("/changePassword.do")
|
@RequestMapping("/changePassword.do")
|
||||||
public String changePassword(HttpServletRequest request,
|
public String changePassword(HttpServletRequest request,
|
||||||
String changePassword, String confirmPassword,
|
String changePassword, String confirmPassword,
|
||||||
String userId, String password) {
|
String resetUserId, String resetPassword) {
|
||||||
HttpSession session = request.getSession();
|
HttpSession session = request.getSession();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
// 로그인 User ID 체크.
|
// 로그인 User ID 체크.
|
||||||
Optional<UserInfo> userInfoOptional = userInfoService
|
Optional<UserInfo> userInfoOptional = userInfoService
|
||||||
.findById(userId);
|
.findById(resetUserId);
|
||||||
|
|
||||||
if (!userInfoOptional.isPresent()) {
|
if (!userInfoOptional.isPresent()) {
|
||||||
UserAccessLogger.log(request, LOG_CATEGORY_LOGIN, "F",
|
UserAccessLogger.log(request, LOG_CATEGORY_LOGIN, "F",
|
||||||
@@ -604,8 +604,8 @@ public class MainController implements InterceptorSkipController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 3. 비밀번호 체크
|
// 3. 비밀번호 체크
|
||||||
if (!userInfo.getPassword().equals(Seed.encrypt(password))
|
if (!userInfo.getPassword().equals(Seed.encrypt(resetPassword))
|
||||||
&& !userInfo.getUserid().equals(userId)) {
|
&& !userInfo.getUserid().equals(resetUserId)) {
|
||||||
UserAccessLogger.log(request, LOG_CATEGORY_LOGIN, "F",
|
UserAccessLogger.log(request, LOG_CATEGORY_LOGIN, "F",
|
||||||
localeMessage
|
localeMessage
|
||||||
.getString("login.pwdmismatch5"));
|
.getString("login.pwdmismatch5"));
|
||||||
|
|||||||
@@ -56,15 +56,6 @@ public class PortalOrgManController extends BaseAnnotationController {
|
|||||||
return ResponseEntity.ok(result);
|
return ResponseEntity.ok(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping(value = "/onl/apim/portalorg/portalOrgMan.json", params = "cmd=UNMASK")
|
|
||||||
public ResponseEntity<Map<String, Object>> selectDetailUnmask(String id, String reason) {
|
|
||||||
if (StringUtils.isBlank(reason)) {
|
|
||||||
throw new BizException("마스킹 해제 사유를 입력해 주세요.");
|
|
||||||
}
|
|
||||||
Map<String, Object> result = portalOrgManService.selectDetailWithUsersUnmask(id);
|
|
||||||
return ResponseEntity.ok(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostMapping(value = "/onl/apim/portalorg/portalOrgMan.json", params = "cmd=LIST_INIT_COMBO")
|
@PostMapping(value = "/onl/apim/portalorg/portalOrgMan.json", params = "cmd=LIST_INIT_COMBO")
|
||||||
public ResponseEntity<Map<String, Object>> initCombo() {
|
public ResponseEntity<Map<String, Object>> initCombo() {
|
||||||
List<ComboVo> approvalStatusList = comboService.getMonitoringCodeSortedBySeq("APPROVE_STATUS_CODE"); // 승인상태코드
|
List<ComboVo> approvalStatusList = comboService.getMonitoringCodeSortedBySeq("APPROVE_STATUS_CODE"); // 승인상태코드
|
||||||
|
|||||||
@@ -172,25 +172,9 @@ public class PortalOrgManService extends BaseService {
|
|||||||
private PortalUserCorpManagerUI convertCorporateManagerToUIWithMaskOption(PortalUser corporateManager, boolean isMasked) {
|
private PortalUserCorpManagerUI convertCorporateManagerToUIWithMaskOption(PortalUser corporateManager, boolean isMasked) {
|
||||||
PortalUserCorpManagerUI ui = portalUserCorpManagerUIMapper.toVo(corporateManager);
|
PortalUserCorpManagerUI ui = portalUserCorpManagerUIMapper.toVo(corporateManager);
|
||||||
|
|
||||||
if (ui != null && isMasked) {
|
|
||||||
if (StringUtils.isNotBlank(ui.getUserName())) {
|
|
||||||
ui.setUserName(MaskingUtils.maskName(ui.getUserName()));
|
|
||||||
}
|
|
||||||
if (StringUtils.isNotBlank(ui.getEmailAddr())) {
|
|
||||||
ui.setEmailAddr(MaskingUtils.maskEmailId(ui.getEmailAddr()));
|
|
||||||
}
|
|
||||||
if (StringUtils.isNotBlank(ui.getMobileNumber())) {
|
|
||||||
ui.setMobileNumber(MaskingUtils.maskPhoneNumber(ui.getMobileNumber()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return ui;
|
return ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<String, Object> selectDetailWithUsersUnmask(String id) {
|
|
||||||
return getDetailWithUsers(id, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setFileInfo(PortalOrg portalOrg, PortalOrgUI ui) {
|
private void setFileInfo(PortalOrg portalOrg, PortalOrgUI ui) {
|
||||||
Optional.ofNullable(portalOrg.getCompRegFile())
|
Optional.ofNullable(portalOrg.getCompRegFile())
|
||||||
.filter(StringUtils::isNotBlank)
|
.filter(StringUtils::isNotBlank)
|
||||||
|
|||||||
@@ -216,6 +216,20 @@ public class ApiInterfaceService extends OnlBaseService {
|
|||||||
apiInterfaceUI.setInboundResponseStandardMessageItems(convertMapToStdMessageItems(restOption.getStandardCommonFields()));
|
apiInterfaceUI.setInboundResponseStandardMessageItems(convertMapToStdMessageItems(restOption.getStandardCommonFields()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if("syncAsync".equals(apiInterfaceUI.getSyncAsyncType()) && serviceMessageEntityList != null && serviceMessageEntityList.size() > 1){
|
||||||
|
ServiceMessageEntity extraServiceMessageEntity = serviceMessageEntityList.get(1);
|
||||||
|
apiInterfaceUI.setToResponseAdapter(extraServiceMessageEntity.getPsvsysadptrbzwkgroupname());
|
||||||
|
String restOptionStr = extraServiceMessageEntity.getRestoption();
|
||||||
|
|
||||||
|
if(StringUtils.isNotBlank(restOptionStr)) {
|
||||||
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
RestOption restOption = mapper.readValue(restOptionStr, RestOption.class);
|
||||||
|
|
||||||
|
apiInterfaceUI.setOutboundResponseHttpMethod(restOption.getMethod());
|
||||||
|
apiInterfaceUI.setOutboundResponseRestPath(restOption.getExtraPath());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
apiInterfaceUI.setTransformYn(transformYn);
|
apiInterfaceUI.setTransformYn(transformYn);
|
||||||
apiInterfaceUI.setErrTransformYn(errTransformYn); // 추가
|
apiInterfaceUI.setErrTransformYn(errTransformYn); // 추가
|
||||||
@@ -430,8 +444,8 @@ public class ApiInterfaceService extends OnlBaseService {
|
|||||||
public void setServiceMessageRoutingInfo(ApiInterfaceUI vo, EAIMessageEntity eaiMessageEntity, List<ServiceMessageEntity> serviceMessageEntityList) throws Exception {
|
public void setServiceMessageRoutingInfo(ApiInterfaceUI vo, EAIMessageEntity eaiMessageEntity, List<ServiceMessageEntity> serviceMessageEntityList) throws Exception {
|
||||||
// 기본 요청 ServiceMessageEntity 설정
|
// 기본 요청 ServiceMessageEntity 설정
|
||||||
ServiceMessageEntity requestEntity = serviceMessageEntityList.get(0);
|
ServiceMessageEntity requestEntity = serviceMessageEntityList.get(0);
|
||||||
|
|
||||||
if ("async".equals(vo.getSyncAsyncType())) {
|
if ("async".equals(vo.getSyncAsyncType()) || "syncAsync".equals(vo.getSyncAsyncType())) {
|
||||||
requestEntity.setPsvintfacdsticname("ASYN");
|
requestEntity.setPsvintfacdsticname("ASYN");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -462,6 +476,32 @@ public class ApiInterfaceService extends OnlBaseService {
|
|||||||
|
|
||||||
setRouteInfo(vo, vo.getInboundResponseHttpMethod(), vo.getInboundResponseRestPath(), vo.getFromResponseAdapter(), responseEntity, vo.getInboundResponseStandardMessageItems());
|
setRouteInfo(vo, vo.getInboundResponseHttpMethod(), vo.getInboundResponseRestPath(), vo.getFromResponseAdapter(), responseEntity, vo.getInboundResponseStandardMessageItems());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// syncAsync 타입인 경우 응답용 ServiceMessageEntity 추가 처리
|
||||||
|
if ("syncAsync".equals(vo.getSyncAsyncType())) {
|
||||||
|
ServiceMessageEntity responseEntity;
|
||||||
|
|
||||||
|
// ServiceMessageEntity가 없으면 새로 생성
|
||||||
|
if (serviceMessageEntityList.size() < 2) {
|
||||||
|
responseEntity = new ServiceMessageEntity();
|
||||||
|
responseEntity.setId(new ServiceMessageEntityId(vo.getEaiSvcName(), 2));
|
||||||
|
responseEntity.setEaimessage(eaiMessageEntity);
|
||||||
|
serviceMessageEntityList.add(responseEntity);
|
||||||
|
} else {
|
||||||
|
responseEntity = serviceMessageEntityList.get(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ServiceMessageEntity 설정
|
||||||
|
responseEntity.setPsvsysadptrbzwkgroupname(vo.getToResponseAdapter());
|
||||||
|
responseEntity.setPsvintfacdsticname("ASYN");
|
||||||
|
|
||||||
|
// REST 정보 설정
|
||||||
|
AdapterGroupUI responseAdapter = adapterService.selectDetail(vo.getToResponseAdapter());
|
||||||
|
String responseRoutName = getOutboundProcessorName(responseAdapter);
|
||||||
|
responseEntity.setOutbndroutname(responseRoutName);
|
||||||
|
|
||||||
|
setRouteInfo(vo, vo.getOutboundResponseHttpMethod(), vo.getOutboundResponseRestPath(), vo.getToResponseAdapter(), responseEntity, vo.getStandardMessageItems());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<StdMessageItemUI> convertMapToStdMessageItems(Map<String, String> standardCommonFields) {
|
public static List<StdMessageItemUI> convertMapToStdMessageItems(Map<String, String> standardCommonFields) {
|
||||||
|
|||||||
@@ -54,6 +54,11 @@ public class ApiInterfaceUI {
|
|||||||
private String inboundResponseHttpMethod;
|
private String inboundResponseHttpMethod;
|
||||||
private String inboundResponseRestPath;
|
private String inboundResponseRestPath;
|
||||||
private String fromResponseAdapter;
|
private String fromResponseAdapter;
|
||||||
|
|
||||||
|
//SYNC-ASYNC 용
|
||||||
|
private String outboundResponseHttpMethod;
|
||||||
|
private String outboundResponseRestPath;
|
||||||
|
private String toResponseAdapter;
|
||||||
|
|
||||||
private String inboundErrResponseLayout;
|
private String inboundErrResponseLayout;
|
||||||
private String errResponseTransform;
|
private String errResponseTransform;
|
||||||
|
|||||||
Reference in New Issue
Block a user