From 347cca2d7cbffaa95f1a3a34b004be0f37699f1f Mon Sep 17 00:00:00 2001 From: eastargh Date: Tue, 11 Aug 2026 15:17:19 +0900 Subject: [PATCH] =?UTF-8?q?IIM=EC=97=B0=EB=8F=99=EC=8B=9C=20=EA=B0=9C?= =?UTF-8?q?=EB=B0=9C=20=EC=9D=B8=ED=84=B0=ED=8E=98=EC=9D=B4=EC=8A=A4?= =?UTF-8?q?=EB=A5=BC=20=EC=B6=94=EA=B0=80=EB=A1=9C=20=EB=A7=8C=EB=93=A4?= =?UTF-8?q?=EC=96=B4=20=EC=A4=80=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rule/layoutsync/KJBInterfaceDao.java | 25 ++++++++-- .../rule/layoutsync/KJBInterfaceService.java | 10 ++++ .../rule/layoutsync/LayoutSyncController.java | 46 ++++++++++++++++++- .../rms/onl/transaction/Interface-oracle.xml | 33 +++++++++++++ 4 files changed, 108 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/KJBInterfaceDao.java b/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/KJBInterfaceDao.java index fd5a1ee..4013ba0 100644 --- a/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/KJBInterfaceDao.java +++ b/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/KJBInterfaceDao.java @@ -14,12 +14,29 @@ class KJBInterfaceDao extends SqlMapClientTemplateDao { private static final Logger logger = LoggerFactory.getLogger(InterfaceDao.class); - public void lazyInsertToIF01(HashMap paramMap) throws Exception { - this.template.insert("Interface.insertToIF01", paramMap); - } - public HashMap selectDetail(HashMap paramMap) throws Exception { return (HashMap) template.queryForObject("Interface.selectDetail", paramMap); } + + public void lazyInsertToIF01(HashMap paramMap) throws Exception { + this.template.insert("Interface.insertToIF01", paramMap); + } + + public HashMap selectDetailAPI(HashMap paramMap) throws Exception { + return (HashMap) template.queryForObject("Interface.selectDetailAPI", paramMap); + } + + public void insertToHE01(HashMap paramMap) throws Exception { + this.template.insert("Interface.insertToHE01", paramMap); + } + public void insertToHE02(HashMap paramMap) throws Exception { + this.template.insert("Interface.insertToHE02", paramMap); + } + + public void deleteToHE02(HashMap paramMap) throws Exception { + this.template.insert("Interface.deleteToHE02", paramMap); + } + + } \ No newline at end of file diff --git a/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/KJBInterfaceService.java b/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/KJBInterfaceService.java index c3e3c80..effd872 100644 --- a/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/KJBInterfaceService.java +++ b/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/KJBInterfaceService.java @@ -20,5 +20,15 @@ class KJBInterfaceService { dao.lazyInsertToIF01(param); } } + + public void insertInterface(HashMap param) throws Exception { + HashMap detail = dao.selectDetailAPI(param); + if (detail == null) { + dao.insertToHE01(param); + + dao.deleteToHE02(param); + dao.insertToHE02(param); + } + } } diff --git a/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/LayoutSyncController.java b/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/LayoutSyncController.java index 382d900..7d27a9d 100644 --- a/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/LayoutSyncController.java +++ b/src/main/java/com/eactive/eai/rms/onl/manage/rule/layoutsync/LayoutSyncController.java @@ -1223,22 +1223,64 @@ public class LayoutSyncController extends OnlBaseAnnotationController implements String serviceName = (String) header.get("ServiceName"); String command = (String) header.get("Command"); + String interfaceId = (String) body.get("interfaceCode"); Object layoutObject = body.get("Layout"); param.put("serviceName", serviceName); param.put("command", command); param.put("recvAmndHMS", recvTime); + + //interfaceId 9번째 글자가 D가 아니면 interfaceId의 8번째 자리에 D를 추가하여 insert한다 + boolean isDevMake = !"D".equals(interfaceId.substring(7,8)); + + if (command.equals("insert")) { + insertInterfaceDjb(interfaceId, body); + if (isDevMake) { + interfaceId = interfaceId.substring(0,8) + "D" + interfaceId.substring(8); + insertInterfaceDjb(interfaceId, body); + } + } JSONArray layoutArray = null; if (layoutObject instanceof JSONArray) { layoutArray = (JSONArray) layoutObject; for (int i = 0; i < layoutArray.size(); i++) { - syncLayout(param, body, command, (JSONObject) layoutArray.get(i)); + JSONObject layout = (JSONObject) layoutArray.get(i); + syncLayout(param, body, command, layout); + + if (isDevMake) { + String layoutName = (String) layout.get("id"); + layoutName = layoutName.substring(0,12) + "D" + layoutName.substring(12); + layout.put("id", layoutName); + syncLayout(param, body, command, layout); + } } } else { - syncLayout(param, body, command, (JSONObject) layoutObject); + JSONObject layout = (JSONObject) layoutObject; + syncLayout(param, body, command, layout); + + if (isDevMake) { + String layoutName = (String) layout.get("id"); + layoutName = layoutName.substring(0,12) + "D" + layoutName.substring(12); + layout.put("id", layoutName); + syncLayout(param, body, command, layout); + } } } + + private void insertInterfaceDjb(String interfaceId, JSONObject body) throws Exception + { + HashMap param = new HashMap(); + + String bizCode = (String) body.get("bzSystemCode"); + String interfaceDesc = (String) body.get("interfaceDesc"); + + param.put("EAISVCNAME", interfaceId); + param.put("EAIBZWKDSTCD", bizCode); + param.put("EAISVCDESC", interfaceDesc); + + interfaceService.insertInterface(param); + } } diff --git a/src/main/resources/com/eactive/eai/rms/onl/transaction/Interface-oracle.xml b/src/main/resources/com/eactive/eai/rms/onl/transaction/Interface-oracle.xml index 52f097b..2d5bf9d 100644 --- a/src/main/resources/com/eactive/eai/rms/onl/transaction/Interface-oracle.xml +++ b/src/main/resources/com/eactive/eai/rms/onl/transaction/Interface-oracle.xml @@ -322,5 +322,38 @@ VALUES (#eaiSvcName#, #eaiBzwkDstCd#, #interfaceId#, #interfaceDesc#, #io#, #splizdmndDstCd#, #inExtnlDstCd#, #svcMotivuseDstCd#, #bzwksvckeyName#, #layoutMappingName#, #loginId#, #loginId# ) + + + + + + SELECT EAISvcName + , EAIBzwkDstcd + FROM $schemaId$.TSEAIHE01 + WHERE EAISvcName = #EAISVCNAME# + + + + INSERT INTO $schemaId$.TSEAIHE01 + (EAISVCNAME, EAIBZWKDSTCD, SVCHMSEONOT, SVCMOTIVUSEDSTCD, SVCPRCESDSTICNAME, FLOWCTRLROUTNAME, INTGRADSTICNAME, + SVCBFCLMNLOGYN, GSTATSYSADPTRBZWKGROUPNAME, SEVRLOGLVELNO, SVCLOGLVELNO, EAISVCDESC, EAILASTAMNDYMS, TRANTYPE, USEYN, AUTHOR, AUTHTYPE, APIENABLEDYN) + VALUES + (#EAISVCNAME#, #EAIBZWKDSTCD#, '0', 'SYNC', 'SINGLE', 'BASEFC', 'ONLINE', + '0', #GSTATSYSADPTRBZWKGROUPNAME#, 0, 0, #EAISVCDESC#, TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISSFF3'), 'R', '1', 'IIM', 'none', 'N') + + + + INSERT INTO $schemaId$.TSEAIHE02 + (EAISVCNAME, SVCPRCSSNO, PSVINTFACDSTICNAME, PSVSYSBZWKDSTCD, PSVSYSIDNAME, PSVSYSADPTRBZWKGROUPNAME, FLOVRYN, CHNGEONOT, + BASCRSPNSCHNGEONOT, ERRRSPNSCHNGEONOT, NEXTSVCPRCSSNO, OUTBNDROUTNAME, TOUTVAL, SUPPLDELYN, HDRCTRLDSTCD, RESTOPTION) + VALUES + (#EAISVCNAME#, 1, 'SYNC', #EAIBZWKDSTCD#, 'EAIDOM', #PSVSYSADPTRBZWKGROUPNAME#, 0, 0, + 0, 0, 1, #OUTBNDROUTNAME#, 30, '0', '01', #RESTOPTION#) + + + + DELETE FROM $schemaId$.TSEAIHE02 + WHERE EAISVCNAME = #EAISVCNAME# + \ No newline at end of file