From c4d5392ed846b979d6b16f32c23b86066349baa7 Mon Sep 17 00:00:00 2001 From: dogyeom Date: Mon, 10 Nov 2025 17:42:25 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A9=94=EC=8B=9C=EC=A7=80=20=EB=A9=94?= =?UTF-8?q?=ED=83=80=20insert=20bm02=20=EC=BF=BC=EB=A6=AC=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20=EB=B0=8F=20controller,=20service=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../messageMeta/BapMessageMetaController.java | 87 +-------- .../messageMeta/BapMessageMetaService.java | 181 +----------------- .../manage/message/MessageMetaMan-oracle.xml | 10 +- 3 files changed, 10 insertions(+), 268 deletions(-) diff --git a/src/main/java/com/eactive/eai/rms/bap/manage/message/messageMeta/BapMessageMetaController.java b/src/main/java/com/eactive/eai/rms/bap/manage/message/messageMeta/BapMessageMetaController.java index 2dcb309..67842e4 100644 --- a/src/main/java/com/eactive/eai/rms/bap/manage/message/messageMeta/BapMessageMetaController.java +++ b/src/main/java/com/eactive/eai/rms/bap/manage/message/messageMeta/BapMessageMetaController.java @@ -1,8 +1,6 @@ package com.eactive.eai.rms.bap.manage.message.messageMeta; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; @@ -122,88 +120,5 @@ public class BapMessageMetaController extends BapBaseAnnotationController { return null; } - @RequestMapping(value= "/bap/admin/message/messageMetaMan.json",params = "cmd=LIST_DELETE") - public String deleteList(HttpServletRequest request, - HttpServletResponse response, @RequestParam HashMap paramMap ) throws Exception { - for (String msgMetaDstcd : paramMap.get("msgMetaDstcdList").toString().split(",")) { - HashMap paramDetail = new HashMap(); - paramDetail.put("msgMetaDstcd", msgMetaDstcd); - service.delete(paramDetail); - } - return null; - - } - @SuppressWarnings("unchecked") - @RequestMapping(value= "/bap/admin/message/messageMetaMan.json",params = "cmd=CLONE") - public ModelAndView clone(HttpServletRequest request, - HttpServletResponse response,@RequestParam HashMap map) throws Exception { - - String msgMetaDstcd = map.get("msgMetaDstcd").toString(); - HashMap detailMap = service.selectDetail(msgMetaDstcd); - HashMap detail = (HashMap)detailMap.get("detail"); - List> list = (List>)detailMap.get("list"); - - // detail insert 데이터키 치환 (insert_bm03) - String newMsgMetaDstcd = map.get("newMsgMetaDstcd").toString(); - detail.put("msgMetaDstcd", newMsgMetaDstcd); - detail.put("msgDesc" , map.get("newMsgDesc") != null ? map.get("newMsgDesc") : detail.get("MSGDESC")); - detail.put("thisMsgUseYn", detail.get("THISMSGUSEYN")); - - String searchMsgMetaDstcd = map.get("searchMsgMetaDstcd").toString(); - String cloneMsgMetaDstcd = map.get("cloneMsgMetaDstcd").toString(); - - // gridList insert 데이터키 치환 (insert_bm02) - HashMap[] gridList = list.toArray(new HashMap[list.size()]); - for (int i=0; i listMap = (Map)list.get(i); - gridList[i].put("msgMetaDstcd" , ((String)listMap.get("MSGMETADSTCD")).replace(searchMsgMetaDstcd,cloneMsgMetaDstcd)); - gridList[i].put("thisMsgUseYn" , listMap.get("THISMSGCLMNUSEYN")); - // 메시지항목명을 치환하면 메시지항목 테이블(BM01)에 항목이 없으므로 메타 Item 리스트에 보이지 않음 --> 치환 안함으로 변경 -// gridList[i].replace("MSGITEMDSTICNAME" , ((String)listMap.get("MSGITEMDSTICNAME")).replace(searchMsgMetaDstcd,cloneMsgMetaDstcd)); - gridList[i].replace("MSGITEMDSTICNAME" , listMap.get("MSGITEMDSTICNAME")); - gridList[i].replace("MSGCLMNSEQ" , listMap.get("MSGCLMNSEQ")); - } - String userid = com.eactive.eai.rms.common.login.SessionManager.getUserId(request); - detail.put("userid", userid ); - - service.insert(detail,gridList); - - CommonCommand command = new CommonCommand("com.eactive.eai.agent.telegram.UpdateTelegramCommand",map.get("newMsgMetaDstcd")); - agentUtilService.broadcast(command); - - HashMap result = new HashMap(); - result.put("detail",detail); - result.put("list",gridList); - ModelAndView modelAndView = new ModelAndView("jsonView", result); - - return modelAndView; - } - - @SuppressWarnings("unchecked") - @RequestMapping(value= "/bap/admin/message/messageMetaMan.json",params = "cmd=LIST_DOWNLOAD_SQL") - public ModelAndView downloadSql(HttpServletRequest request, - HttpServletResponse response,@RequestParam HashMap map) throws Exception { - - List> msgMetaList = new ArrayList>(); - for (String searchMsgMetaDstcd : map.get("searchMsgMetaDstcdList").toString().split(",")) { - HashMap msgMeta = service.selectDetail(searchMsgMetaDstcd); - msgMetaList.add((Map)msgMeta.get("detail")); - } - - HashMap messageMeta = new HashMap(); - messageMeta.put("list", msgMetaList); - messageMeta.put("userid",com.eactive.eai.rms.common.login.SessionManager.getUserId(request)); - messageMeta.put("fileName", map.get("fileName")); - messageMeta.put("svrType", map.get("svrType")); - - ModelAndView modelAndView = new ModelAndView("jsonView",service.mkInserSqlForMsgMeta(messageMeta)); - - return modelAndView; - } - @RequestMapping(value= "/bap/admin/message/messageMetaMan.view",params = "cmd=LIST_FILE_DOWNLOAD") - public String fileDownload(HttpServletRequest request) throws Exception { - - return "/bap/admin/common/filedownload"; - } -} \ No newline at end of file +} diff --git a/src/main/java/com/eactive/eai/rms/bap/manage/message/messageMeta/BapMessageMetaService.java b/src/main/java/com/eactive/eai/rms/bap/manage/message/messageMeta/BapMessageMetaService.java index dd0ae97..91c9289 100644 --- a/src/main/java/com/eactive/eai/rms/bap/manage/message/messageMeta/BapMessageMetaService.java +++ b/src/main/java/com/eactive/eai/rms/bap/manage/message/messageMeta/BapMessageMetaService.java @@ -1,9 +1,5 @@ package com.eactive.eai.rms.bap.manage.message.messageMeta; -import java.io.FileOutputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -13,8 +9,6 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import com.eactive.eai.rms.bap.common.base.BapBaseService; -import com.eactive.eai.rms.bap.manage.comm.property.BapPropertyDao; -import com.eactive.eai.rms.common.util.SqlUtil; @Service("bapMessageMetaService") public class BapMessageMetaService extends BapBaseService { @@ -23,17 +17,13 @@ public class BapMessageMetaService extends BapBaseService { @Qualifier("bapMessageMetaDao") private BapMessageMetaDao dao; - @Autowired - @Qualifier("bapPropertyDao") - private BapPropertyDao propDao; - public HashMap selectList(int startNum,int endNum, HashMap paramMap) throws Exception { - // 전체 목록수 얻기 + // 전체 목록 수 얻기 int totalCount = dao.selectListCount(paramMap); - paramMap.put("startNum" , startNum);// 시작 record - paramMap.put("endNum" , endNum);// 끝 record + paramMap.put("startNum" , startNum);// record + paramMap.put("endNum" , endNum);// record List> list = dao.selectList(paramMap); HashMap map = new HashMap(); @@ -44,11 +34,6 @@ public class BapMessageMetaService extends BapBaseService { return map; } - public int selectTotalCount(HashMap paramMap) throws Exception { - - return dao.selectListCount(paramMap); // 전체 목록수 얻기 - } - public HashMap selectDetail(String msgMetaDstcd) throws Exception { HashMap detail = dao.selectDetail(msgMetaDstcd); @@ -94,162 +79,4 @@ public class BapMessageMetaService extends BapBaseService { dao.deleteList(paramMap); } - @SuppressWarnings("unchecked") - public HashMap mkInserSqlForMsgMeta(HashMap msgMetaMap) throws Exception { - - StringBuffer msgMetaInsertSql = new StringBuffer(); - String[] columnUserId = {"THISMSGREGSNTID","THISMSGAMNDRID","THISMSGCLMNREGSNTID","THISMSGCLMNAMNDRID"}; // userID 입력컬럼 구분 - String[] columnDateTime = {"THISMSGREGIHMS","THISMSGAMNDHMS","THISMSGCLMNREGIHMS","THISMSGCLMNAMNDHMS"}; // DateTime 입력컬럼 구분 - List> msgMetaList = (List>)msgMetaMap.get("list"); - String userid = msgMetaMap.containsKey("userid") ? msgMetaMap.get("userid").toString() : ""; - - for (Map meta : msgMetaList) { - // MESSAGE META LIST into BM03 - List columnArr = new ArrayList(); - String[] columnList = {"MSGMETADSTCD","MSGDESC","THISMSGUSEYN","THISMSGREGSNTID","THISMSGREGIHMS","THISMSGAMNDRID","THISMSGAMNDHMS"}; - columnArr = Arrays.asList(columnList); - msgMetaInsertSql.append("INSERT INTO EAIPKG.TSEAIBM03 ("); - - // 필드명 입력 - for (String column : columnArr) { - msgMetaInsertSql.append((column.equals(columnArr.get(columnArr.size()-1))) ? column : column+","); - } - msgMetaInsertSql.append(") VALUES ("); - // 필드값 입력 - for (String column : columnArr) { - if (column.equals(columnArr.get(columnArr.size()-1))) { - if (Arrays.asList(columnUserId).contains(column)) { - msgMetaInsertSql.append("'"+userid+"');\n"); - } else if (Arrays.asList(columnDateTime).contains(column)) { - msgMetaInsertSql.append("TO_CHAR(LOCALTIMESTAMP, 'YYYYMMDDHH24MISSFF3'));\n"); - } else { - msgMetaInsertSql.append("'"+(meta.containsKey(column) ? meta.get(column) : "")+"');\n"); - } - } else { - if (Arrays.asList(columnUserId).contains(column)) { - msgMetaInsertSql.append("'"+userid+"',"); - } else if (Arrays.asList(columnDateTime).contains(column)) { - msgMetaInsertSql.append("TO_CHAR(LOCALTIMESTAMP, 'YYYYMMDDHH24MISSFF3'),"); - } else { - msgMetaInsertSql.append("'"+(meta.containsKey(column) ? meta.get(column) : "")+"',"); - } - } - } - - HashMap metaMap = selectDetail(meta.get("MSGMETADSTCD").toString()); - List> metaItemList = (List>)metaMap.get("list"); - - // MESSAGE META LIST into BM02 - for (Map metaItem : metaItemList) { - List columnItemArr = new ArrayList(); - String[] columnItemList = {"MSGMETADSTCD","MSGCLMNSEQ","MSGITEMDSTICNAME","THISMSGCLMNUSEYN","THISMSGREGSNTID","THISMSGREGIHMS","THISMSGAMNDRID","THISMSGAMNDHMS"}; - columnItemArr = Arrays.asList(columnItemList); - msgMetaInsertSql.append("INSERT INTO EAIPKG.TSEAIBM02 (MSGGROUPDSTCD,"); - - // 필드명 입력 - for (String columnItem : columnItemArr) { - if (columnItem.equals("MSGMETADSTCD")) continue; - msgMetaInsertSql.append((columnItem.equals(columnItemArr.get(columnItemArr.size()-1))) ? columnItem : columnItem+","); - } - msgMetaInsertSql.append(") VALUES ("); - // 필드값 입력 - for (String column : columnItemArr) { - if (column.equals(columnItemArr.get(columnItemArr.size()-1))) { - if (Arrays.asList(columnUserId).contains(column)) { - msgMetaInsertSql.append("'"+userid+"');\n"); - } else if (Arrays.asList(columnDateTime).contains(column)) { - msgMetaInsertSql.append("TO_CHAR(LOCALTIMESTAMP, 'YYYYMMDDHH24MISSFF3'));\n"); - } else { - msgMetaInsertSql.append("'"+(metaItem.containsKey(column) ? metaItem.get(column) : "")+"');\n"); - } - } else { - if (Arrays.asList(columnUserId).contains(column)) { - msgMetaInsertSql.append("'"+userid+"',"); - } else if (Arrays.asList(columnDateTime).contains(column)) { - msgMetaInsertSql.append("TO_CHAR(LOCALTIMESTAMP, 'YYYYMMDDHH24MISSFF3'),"); - } else { - msgMetaInsertSql.append("'"+(metaItem.containsKey(column) ? metaItem.get(column) : "")+"',"); - } - } - } - } - - // MESSAGE META LIST into BM01 - for (Map metaItem : metaItemList) { - List columnClmArr = new ArrayList(); - String[] columnClmList = {"MSGITEMDSTICNAME","THISMSGCLMNUSEYN","MSGCLMNNAME","MSGCLMNATTRIPTRNCD","MSGCLMNVAL","THISMSGCLMNREGSNTID","THISMSGCLMNREGIHMS","THISMSGCLMNAMNDRID","THISMSGCLMNAMNDHMS"}; - columnClmArr = Arrays.asList(columnClmList); - - msgMetaInsertSql.append("MERGE INTO EAIPKG.TSEAIBM01 r USING (VALUES("); - // 필드값 입력 - for (String column : columnClmArr) { - if (column.equals(columnClmArr.get(columnClmArr.size()-1))) { - if (Arrays.asList(columnUserId).contains(column)) { - msgMetaInsertSql.append("'"+userid+"')) "); - } else if (Arrays.asList(columnDateTime).contains(column)) { - msgMetaInsertSql.append("TO_CHAR(LOCALTIMESTAMP, 'YYYYMMDDHH24MISSFF3'))) "); - } else { - msgMetaInsertSql.append("'"+(metaItem.containsKey(column) ? metaItem.get(column) : "")+"')) "); - } - } else { - if (Arrays.asList(columnUserId).contains(column)) { - msgMetaInsertSql.append("'"+userid+"',"); - } else if (Arrays.asList(columnDateTime).contains(column)) { - msgMetaInsertSql.append("TO_CHAR(LOCALTIMESTAMP, 'YYYYMMDDHH24MISSFF3'),"); - } else { - msgMetaInsertSql.append("'"+(metaItem.containsKey(column) ? metaItem.get(column) : "")+"',"); - } - } - } - // 필드명 입력 - msgMetaInsertSql.append("AS s("); - for (String columnClm : columnClmArr) { - msgMetaInsertSql.append((columnClm.equals(columnClmArr.get(columnClmArr.size()-1))) ? columnClm+")\n" : columnClm+","); - } - msgMetaInsertSql.append("ON r.MSGITEMDSTICNAME = s.MSGITEMDSTICNAME WHEN NOT MATCHED THEN\n"); - msgMetaInsertSql.append("INSERT ("); - for (String columnClm : columnClmArr) { - msgMetaInsertSql.append((columnClm.equals(columnClmArr.get(columnClmArr.size()-1))) ? "r."+columnClm : "r."+columnClm+","); - } - msgMetaInsertSql.append(") VALUES ("); - for (String columnClm : columnClmArr) { - msgMetaInsertSql.append((columnClm.equals(columnClmArr.get(columnClmArr.size()-1))) ? "s."+columnClm+");\n" : "s."+columnClm+","); - } - } - } - - HashMap retMap = new HashMap(); - if (msgMetaMap.get("fileName") != null) { - OutputStream output = null; - try { - String sqlDownloadPath = getProperties("SQL_DOWNLOAD", "DOWNLOAD_PATH"); - String sqlDownloadFile = sqlDownloadPath+msgMetaMap.get("fileName"); - output = new FileOutputStream(sqlDownloadFile); - if (sqlDownloadPath != null) { - byte[] bt = msgMetaInsertSql.toString().getBytes(); - output.write(bt); - output.close(); - } - retMap.put("path", sqlDownloadPath); - } catch (Exception e) { - logger.error( e.getMessage(), e); - } finally { - if(output != null) try { output.close(); } catch(Exception ee) {logger.error( ee.getMessage(), ee);} - } - } else { - retMap = SqlUtil.executeSql(msgMetaInsertSql.toString(), "BAP_"+msgMetaMap.get("svrType").toString().toUpperCase()); - } - - return retMap; - } - - private String getProperties(String propGroup, String propName) throws Exception { - HashMap params = new HashMap(); - params.put("prptyGroupName", propGroup); - params.put("prptyName", propName); - - HashMap props = propDao.getProperties(params); - - return props.get("PRPTY2VAL").toString(); - } -} \ No newline at end of file +} diff --git a/src/main/resources/com/eactive/eai/rms/bap/manage/message/MessageMetaMan-oracle.xml b/src/main/resources/com/eactive/eai/rms/bap/manage/message/MessageMetaMan-oracle.xml index d0437c6..bb1e6a8 100644 --- a/src/main/resources/com/eactive/eai/rms/bap/manage/message/MessageMetaMan-oracle.xml +++ b/src/main/resources/com/eactive/eai/rms/bap/manage/message/MessageMetaMan-oracle.xml @@ -78,8 +78,8 @@ ThisMsgRegsntID, ThisMsgRegiHMS, ThisMsgAmndrID, - ThisMsgAmndHMS ) - + ThisMsgAmndHMS, + MSGMETADSTCD ) VALUES ( #msgMetaDstcd# , #msgClmnSeq# , @@ -88,10 +88,10 @@ #userid# , TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISSFF3'), #userid# , - TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISSFF3') - + TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISSFF3'), + #msgMetaDstcd# ) - + \ No newline at end of file