From c3c9f7a2da9e7bbc8a2801043aeba9a97894fe00 Mon Sep 17 00:00:00 2001 From: eastargh Date: Mon, 20 Jul 2026 16:19:12 +0900 Subject: [PATCH] =?UTF-8?q?IIM=20=EC=97=B0=EB=8F=99=EC=8B=9C=20=EB=A7=88?= =?UTF-8?q?=EC=8A=A4=ED=82=B9=EC=BD=94=EB=93=9C=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rms/onl/manage/rule/layout/LayoutDao.java | 1 + .../rule/layoutsync/LayoutSyncController.java | 30 +++++++++++++++---- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/eactive/eai/rms/onl/manage/rule/layout/LayoutDao.java b/src/main/java/com/eactive/eai/rms/onl/manage/rule/layout/LayoutDao.java index 24168d6..80169d4 100644 --- a/src/main/java/com/eactive/eai/rms/onl/manage/rule/layout/LayoutDao.java +++ b/src/main/java/com/eactive/eai/rms/onl/manage/rule/layout/LayoutDao.java @@ -127,6 +127,7 @@ public class LayoutDao extends SqlMapClientTemplateDao { entity.setLoutitemminoccurnoitm((Integer) param.get("loutItemMinOccurNoitm")); entity.setLoutitembascval((String) param.get("loutItemBascVal")); entity.setLoutitemmskyn((String) param.get("loutItemMskYn")); + entity.setLoutitemmaskoffset((Integer) param.get("loutItemMaskOffset")); entity.setLoutitemmasklength((Integer) param.get("loutItemMaskLength")); entity.setLoutdptcnt((Integer) param.get("lyoutDptCnt")); entity.setDecptlencnt((Integer) param.get("decptLenCnt")); 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 b8df9ea..c8b01b5 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 @@ -39,8 +39,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.View; import org.xml.sax.InputSource; +import com.eactive.apim.portal.monitoringcode.entity.MonitoringCode; +import com.eactive.apim.portal.monitoringcode.entity.MonitoringCodeId; import com.eactive.eai.agent.command.CommonCommand; import com.eactive.eai.common.util.UUIDGenerator; +import com.eactive.eai.rms.data.entity.man.monitoringCode.service.MonitoringCodeService; import com.eactive.eai.rms.common.base.OnlBaseAnnotationController; import com.eactive.eai.rms.common.context.MonitoringContext; import com.eactive.eai.rms.common.datasource.DataSourceContextHolder; @@ -66,16 +69,19 @@ public class LayoutSyncController extends OnlBaseAnnotationController implements @Autowired @Qualifier("layoutSyncService") private LayoutSyncService service; - + @Autowired @Qualifier("monitoringContext") private MonitoringContext monitoringContext; - + @Autowired private KJBTransformService transformService; - + @Autowired private KJBInterfaceService interfaceService; + + @Autowired + private MonitoringCodeService monitoringCodeService; /** @@ -350,14 +356,28 @@ public class LayoutSyncController extends OnlBaseAnnotationController implements if( _i.get("mask") != null && _i.get("mask").equals("Y")) { item.put("loutItemMskYn", "Y"); - item.put("loutItemMskCode", _i.get("mask2")); + + // DJB : mask2에 마스킹 코드가 있으면 offset에 mask2 입력 length=0으로, 기존 마스킹은 length만 입력 + // 엔진에서는 length가 0이면 masking code로, 0보다 크면 기존 마스킹으로 적용 + String mask2 = (String) _i.get("mask2"); + if (mask2 == null || mask2.equals("")) { + item.put("loutitemMaskOffset", 0); + item.put("loutItemMaskLength",Integer.parseInt((String) _i.get("maskLength"))); + } else { + String maskingCode = monitoringCodeService.findById(new MonitoringCodeId("MASKING_CODE", mask2)) + .map(MonitoringCode::getCodeName) + .orElse("99"); + item.put("loutItemMskCode", maskingCode); + item.put("loutItemMaskOffset", Integer.parseInt(maskingCode)); + item.put("loutItemMaskLength",0); + } } else { item.put("loutItemMskYn",_i.get("mask")); // [Y/N/ ] } - if( "Y".equals(item.get("loutItemMskYn")) ) item.put("loutItemMaskLength",Integer.parseInt((String) _i.get("maskLength"))); + item.put("lyoutDptCnt",Integer.parseInt((String) _i.get("depth")) + 1 ); // 통합인터페이스 전달되는 Depth + 1을 해야 함 item.put("decptLenCnt","".equals(_i.get("scale")) ? 0 : Integer.parseInt((String) _i.get("scale"))); // 소수점길이 META에서 "" 이면 "" 으로 표현함 item.put("loutItemMskTarget", _i.get("maskTarget"));