init
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
package com.eactive.eai.common.c2rservice;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.eactive.eai.common.c2rservice.loader.C2RServiceLoader;
|
||||
import com.eactive.eai.common.c2rservice.mapper.C2RServiceMapper;
|
||||
import com.eactive.eai.common.dao.BaseDAO;
|
||||
import com.eactive.eai.common.dao.DAOException;
|
||||
import com.eactive.eai.common.exception.ExceptionUtil;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
import com.eactive.eai.data.entity.onl.c2rservice.C2RService;
|
||||
|
||||
@Service
|
||||
@Transactional
|
||||
public class C2RServiceDAO extends BaseDAO {
|
||||
private static Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT);
|
||||
|
||||
@Autowired
|
||||
C2RServiceLoader c2rServiceEntityService;
|
||||
|
||||
@Autowired
|
||||
C2RServiceMapper c2rServiceMapper;
|
||||
|
||||
public Map<String, C2RServiceVO> getAllC2RServices() throws DAOException {
|
||||
try {
|
||||
HashMap<String, C2RServiceVO> c2rMap = new HashMap<>();
|
||||
List<C2RService> c2rServices = c2rServiceEntityService.findByUseynOrderByDefault("1");
|
||||
logger.info("[ @@ Load C2RService Configuration - starting >>>>>>>>>>>>>>>>> ]");
|
||||
|
||||
for (C2RService c2rService : c2rServices) {
|
||||
C2RServiceVO vo = c2rServiceMapper.toVo(c2rService);
|
||||
logger.info("@ " + vo.toString());
|
||||
String key = c2rService.getId().getExtnlinstiidnfiname() + c2rService.getId().getSvcprcssno();
|
||||
c2rMap.put(key, vo);
|
||||
}
|
||||
logger.info("[>>Load C2RService Configuration - ended ]");
|
||||
return c2rMap;
|
||||
} catch (Exception e) {
|
||||
throw new DAOException(ExceptionUtil.getErrorCode(e, "RECEAICMM101"));
|
||||
}
|
||||
}
|
||||
|
||||
public Map<String, C2RServiceVO> getC2RService(String c2rExtnlInstiCd) throws DAOException {
|
||||
try {
|
||||
HashMap<String, C2RServiceVO> c2rMap = new HashMap<>();
|
||||
C2RService c2rService = c2rServiceEntityService.findByIdExtnlinstiidnfinameOrderByDefault(c2rExtnlInstiCd);
|
||||
logger.info("[ @@ Load C2RService getC2RService Configuration - starting >>>>>>>>>>>>>>>>> ]");
|
||||
|
||||
if (c2rService != null) {
|
||||
C2RServiceVO vo = c2rServiceMapper.toVo(c2rService);
|
||||
logger.info("@ " + vo.toString());
|
||||
String key = c2rService.getId().getExtnlinstiidnfiname() + c2rService.getId().getSvcprcssno();
|
||||
c2rMap.put(key, vo);
|
||||
}
|
||||
|
||||
logger.info("[>>Load C2RService getC2RService Configuration - ended ]");
|
||||
return c2rMap;
|
||||
} catch (Exception e) {
|
||||
throw new DAOException(ExceptionUtil.getErrorCode(e, "RECEAICMM101"));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
package com.eactive.eai.common.c2rservice;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.eactive.eai.common.dao.DAOException;
|
||||
import com.eactive.eai.common.exception.ExceptionUtil;
|
||||
import com.eactive.eai.common.lifecycle.Lifecycle;
|
||||
import com.eactive.eai.common.lifecycle.LifecycleException;
|
||||
import com.eactive.eai.common.lifecycle.LifecycleListener;
|
||||
import com.eactive.eai.common.lifecycle.LifecycleSupport;
|
||||
import com.eactive.eai.common.util.ApplicationContextProvider;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
import com.eactive.eai.common.util.ObjectUtil;
|
||||
|
||||
@Component
|
||||
public class C2RServiceManager implements Lifecycle {
|
||||
static Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT);
|
||||
|
||||
@Autowired
|
||||
C2RServiceDAO c2rServiceDAO;
|
||||
|
||||
private Map<String, C2RServiceVO> c2rsMsgs = new HashMap<>();
|
||||
private boolean started;
|
||||
private LifecycleSupport lifecycle = new LifecycleSupport(this);
|
||||
|
||||
public static synchronized C2RServiceManager getInstance() {
|
||||
return ApplicationContextProvider.getContext().getBean(C2RServiceManager.class);
|
||||
}
|
||||
|
||||
public void start() throws LifecycleException {
|
||||
if (started)
|
||||
throw new LifecycleException("RECEAICMM201");
|
||||
|
||||
lifecycle.fireLifecycleEvent(STARTING_EVENT, this);
|
||||
|
||||
try {
|
||||
init();
|
||||
} catch (Exception e) {
|
||||
throw new LifecycleException(ExceptionUtil.getErrorCode(e, "RECEAICMM202"));
|
||||
}
|
||||
|
||||
started = true;
|
||||
lifecycle.fireLifecycleEvent(STARTED_EVENT, this);
|
||||
}
|
||||
|
||||
private void init() throws DAOException {
|
||||
c2rsMsgs = null;
|
||||
c2rsMsgs = c2rServiceDAO.getAllC2RServices();
|
||||
}
|
||||
|
||||
public synchronized void reload() throws Exception {
|
||||
if (logger.isWarn()) {
|
||||
logger.warn("C2RExtractManager] reload all Started ...");
|
||||
}
|
||||
init();
|
||||
if (logger.isWarn()) {
|
||||
logger.warn("C2RExtractManager] reload all finished ...");
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized void reload(String c2rExtnlInstiCd) throws Exception {
|
||||
if (logger.isWarn()) {
|
||||
logger.warn("C2RExtractManager] reload Started ...");
|
||||
}
|
||||
Map<String, C2RServiceVO> map = c2rServiceDAO.getC2RService(c2rExtnlInstiCd);
|
||||
if (map != null) {
|
||||
Iterator<String> it = map.keySet().iterator();
|
||||
String key = "";
|
||||
|
||||
while (it.hasNext()) {
|
||||
key = it.next();
|
||||
C2RServiceVO vo = map.get(key);
|
||||
if ("1".equals(vo.getUseYn())) {
|
||||
c2rsMsgs.put(key, map.get(key));
|
||||
} else {
|
||||
c2rsMsgs.remove(key);
|
||||
logger.warn("C2RServiceManager] reload key[" + key + "] useYn[0] removed");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (logger.isWarn()) {
|
||||
logger.warn("C2RExtractManager] reload finished ...");
|
||||
}
|
||||
}
|
||||
|
||||
public void stop() throws LifecycleException {
|
||||
if (!started)
|
||||
throw new LifecycleException("RECEAICMM203");
|
||||
|
||||
lifecycle.fireLifecycleEvent(STOPING_EVENT, this);
|
||||
|
||||
c2rsMsgs.clear();
|
||||
|
||||
started = false;
|
||||
lifecycle.fireLifecycleEvent(STOPPED_EVENT, this);
|
||||
}
|
||||
|
||||
public void addLifecycleListener(LifecycleListener listener) {
|
||||
lifecycle.addLifecycleListener(listener);
|
||||
}
|
||||
|
||||
public LifecycleListener[] findLifecycleListeners() {
|
||||
return lifecycle.findLifecycleListeners();
|
||||
}
|
||||
|
||||
public void removeLifecycleListener(LifecycleListener listener) {
|
||||
lifecycle.removeLifecycleListener(listener);
|
||||
}
|
||||
|
||||
public boolean isStarted() {
|
||||
return this.started;
|
||||
}
|
||||
|
||||
public C2RServiceVO getC2RServiceVO(String c2rExtnlInstiCd, int svcPssSeq) {
|
||||
String key = c2rExtnlInstiCd + svcPssSeq;
|
||||
return getC2RServiceVO(key);
|
||||
}
|
||||
|
||||
public C2RServiceVO getC2RServiceVO(String key) {
|
||||
C2RServiceVO aMsg = c2rsMsgs.get(key);
|
||||
if (aMsg != null) {
|
||||
try {
|
||||
return (C2RServiceVO) ObjectUtil.deepCopy(aMsg);
|
||||
} catch (Exception e) {
|
||||
if (logger.isError())
|
||||
logger.error(e.getMessage(), e);
|
||||
throw new RuntimeException(ExceptionUtil.getErrorCode(e, "RECEAICMM204"));
|
||||
}
|
||||
} else {
|
||||
return aMsg;
|
||||
}
|
||||
}
|
||||
|
||||
public String[] getAllKeys() {
|
||||
Iterator<String> it = this.c2rsMsgs.keySet().iterator();
|
||||
String[] svcCd = new String[this.c2rsMsgs.size()];
|
||||
|
||||
for (int i = 0; it.hasNext(); i++) {
|
||||
svcCd[i] = it.next();
|
||||
}
|
||||
Arrays.sort(svcCd);
|
||||
return svcCd;
|
||||
}
|
||||
|
||||
public void setC2RServiceVO(String code, C2RServiceVO vo) {
|
||||
c2rsMsgs.put(code, vo);
|
||||
}
|
||||
|
||||
// db update 필요
|
||||
public void updateC2RServiceVO(String c2rExtnlInstiCd, int svcPssSeq, C2RServiceVO vo) {
|
||||
String key = c2rExtnlInstiCd + svcPssSeq;
|
||||
c2rsMsgs.put(key, vo);
|
||||
}
|
||||
|
||||
public void removeC2RServiceVO(String c2rExtnlInstiCd, int svcPssSeq, C2RServiceVO vo) {
|
||||
String key = c2rExtnlInstiCd + svcPssSeq;
|
||||
c2rsMsgs.remove(key);
|
||||
}
|
||||
|
||||
public void removeC2RServiceVO(String key) {
|
||||
c2rsMsgs.remove(key);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,259 @@
|
||||
package com.eactive.eai.common.c2rservice;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.eactive.eai.common.message.EAIMessageKeys;
|
||||
|
||||
|
||||
public class C2RServiceVO implements EAIMessageKeys, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String c2rExtnlInstiCd; // 외부기관식별명 [TSEAIHE04.extnlinstiidnfiname]
|
||||
private int svcPssSeq; // 서비스처리순서 [TSEAIHE04.svcprcssno]
|
||||
private String psvItfTp; // 수동인터페이스유형 [TSEAIHE04.psvintfacdsticname]
|
||||
private String psvBwkSysNm; // 수동업무시스템명 [TSEAIHE04.psvsysbzwkdstcd]
|
||||
private String psvSysID; // 수동시스템ID [TSEAIHE04.psvsysidname]
|
||||
private String psvSysSvcCd; // 수동시스템서비스코드 [TSEAIHE04.psvsyssvcdsticname]
|
||||
private String psvSysItfTp; // 수동시스템어댑터업무그룹명 [TSEAIHE04.psvsysadptrbzwkgroupname]
|
||||
private String flOvrCls; // FailOver여부 [TSEAIHE04.flovryn]
|
||||
private String cnvEn; // 변환유무 [TSEAIHE04.chngeonot]
|
||||
private String cnvMsgID; // 변환메시지ID [TSEAIHE04.chngmsgidname]
|
||||
private String bsRspMsgCprVl; // 기본응답메시지비교값 [TSEAIHE04.bascrspnsmsgcmprctnt]
|
||||
private String bsRspCnvEn; // 기본응답변환유무 [TSEAIHE04.bascrspnschngeonot]
|
||||
private String bsRspCnvMsgID; // 기본응답변환메시지ID [TSEAIHE04.bascrspnschngmsgidname]
|
||||
private String errRspMsgCprVl; // 오류응답메시지비교값 [TSEAIHE04.errrspnsmsgcmprctnt]
|
||||
private String errRspCnvEn; // 오류응답변환유무 [TSEAIHE04.errrspnschngeonot]
|
||||
private String errRspCnvMsgID; // 오류응답변환메시지ID [TSEAIHE04.errrspnschngmsgidname]
|
||||
private int nxtSvcPssSeq; // 다음서비스처리번호 [TSEAIHE04.nextsvcprcssno]
|
||||
private String outbRtnNm; // Outbound라우팅명 [TSEAIHE04.outbndroutname]
|
||||
private int tmoVl; // 타임아웃값 [TSEAIHE04.toutval]
|
||||
private String cpnsSvcPssCd; // 보상서비스처리코드 [TSEAIHE04.cmpensvcprcssdsticname]
|
||||
|
||||
private String supplDelYn; // 추가삭제여부 [TSEAIHE04.suppldelyn]
|
||||
private String hdrCtrlDstcd; // 헤더제어구분코드 [TSEAIHE04.hdrctrldstcd]
|
||||
private String hdrRefClsName; // 참고클래스명 [TSEAIHE04.hdrrefclsname]
|
||||
private String useYn; // 사용여부 [TSEAIHE04.useyn]
|
||||
|
||||
public String getSupplDelYn() {
|
||||
return supplDelYn;
|
||||
}
|
||||
|
||||
public void setSupplDelYn(String supplDelYn) {
|
||||
this.supplDelYn = supplDelYn;
|
||||
}
|
||||
|
||||
public String getHdrCtrlDstcd() {
|
||||
return hdrCtrlDstcd;
|
||||
}
|
||||
|
||||
public void setHdrCtrlDstcd(String hdrCtrlDstcd) {
|
||||
this.hdrCtrlDstcd = hdrCtrlDstcd;
|
||||
}
|
||||
|
||||
public String getHdrRefClsName() {
|
||||
return hdrRefClsName;
|
||||
}
|
||||
|
||||
public void setHdrRefClsName(String hdrRefClsName) {
|
||||
this.hdrRefClsName = hdrRefClsName;
|
||||
}
|
||||
|
||||
public String getC2rExtnlInstiCd() {
|
||||
return this.c2rExtnlInstiCd;
|
||||
}
|
||||
|
||||
public void setC2rExtnlInstiCd(String c2rExtnlInstiCd) {
|
||||
this.c2rExtnlInstiCd = c2rExtnlInstiCd;
|
||||
}
|
||||
|
||||
public String getBsRspCnvEn() {
|
||||
return bsRspCnvEn;
|
||||
}
|
||||
|
||||
public boolean isBsRspCnvEn() {
|
||||
return this.bsRspCnvEn.equals( YES_FLAG );
|
||||
}
|
||||
|
||||
public void setBsRspCnvEn(String bsRspCnvEn) {
|
||||
this.bsRspCnvEn = bsRspCnvEn;
|
||||
}
|
||||
|
||||
public String getBsRspCnvMsgID() {
|
||||
return bsRspCnvMsgID;
|
||||
}
|
||||
|
||||
public void setBsRspCnvMsgID(String bsRspCnvMsgID) {
|
||||
this.bsRspCnvMsgID = bsRspCnvMsgID;
|
||||
}
|
||||
|
||||
public String getBsRspMsgCprVl() {
|
||||
return bsRspMsgCprVl;
|
||||
}
|
||||
|
||||
public void setBsRspMsgCprVl(String bsRspMsgCprVl) {
|
||||
this.bsRspMsgCprVl = bsRspMsgCprVl;
|
||||
}
|
||||
|
||||
public String getCnvEn() {
|
||||
return cnvEn;
|
||||
}
|
||||
|
||||
public boolean isCnvEn() {
|
||||
return this.cnvEn.equals( YES_FLAG );
|
||||
}
|
||||
|
||||
public void setCnvEn(String cnvEn) {
|
||||
this.cnvEn = cnvEn;
|
||||
}
|
||||
|
||||
public String getCnvMsgID() {
|
||||
return cnvMsgID;
|
||||
}
|
||||
|
||||
public void setCnvMsgID(String cnvMsgID) {
|
||||
this.cnvMsgID = cnvMsgID;
|
||||
}
|
||||
|
||||
public String getCpnsSvcPssCd() {
|
||||
return cpnsSvcPssCd;
|
||||
}
|
||||
|
||||
public void setCpnsSvcPssCd(String cpnsSvcPssCd) {
|
||||
this.cpnsSvcPssCd = cpnsSvcPssCd;
|
||||
}
|
||||
|
||||
public String getErrRspCnvEn() {
|
||||
return errRspCnvEn;
|
||||
}
|
||||
|
||||
public boolean isErrRspCnvEn() {
|
||||
return this.errRspCnvEn.equals( YES_FLAG );
|
||||
}
|
||||
|
||||
public void setErrRspCnvEn(String errRspCnvEn) {
|
||||
this.errRspCnvEn = errRspCnvEn;
|
||||
}
|
||||
|
||||
public String getErrRspCnvMsgID() {
|
||||
return errRspCnvMsgID;
|
||||
}
|
||||
|
||||
public void setErrRspCnvMsgID(String errRspCnvMsgID) {
|
||||
this.errRspCnvMsgID = errRspCnvMsgID;
|
||||
}
|
||||
|
||||
public String getErrRspMsgCprVl() {
|
||||
return errRspMsgCprVl;
|
||||
}
|
||||
|
||||
public void setErrRspMsgCprVl(String errRspMsgCprVl) {
|
||||
this.errRspMsgCprVl = errRspMsgCprVl;
|
||||
}
|
||||
|
||||
public String getFlOvrCls() {
|
||||
return flOvrCls;
|
||||
}
|
||||
|
||||
public boolean hasFailOver() {
|
||||
return this.flOvrCls.equals( YES_FLAG );
|
||||
}
|
||||
|
||||
public void setFlOvrCls(String flOvrCls) {
|
||||
this.flOvrCls = flOvrCls;
|
||||
}
|
||||
|
||||
public int getNxtSvcPssSeq() {
|
||||
return nxtSvcPssSeq;
|
||||
}
|
||||
|
||||
public void setNxtSvcPssSeq(int nxtSvcPssSeq) {
|
||||
this.nxtSvcPssSeq = nxtSvcPssSeq;
|
||||
}
|
||||
|
||||
public String getOutbRtnNm() {
|
||||
return outbRtnNm;
|
||||
}
|
||||
|
||||
public void setOutbRtnNm(String outbRtnNm) {
|
||||
this.outbRtnNm = outbRtnNm;
|
||||
}
|
||||
|
||||
public String getPsvBwkSysNm() {
|
||||
return psvBwkSysNm;
|
||||
}
|
||||
|
||||
public void setPsvBwkSysNm(String psvBwkSysNm) {
|
||||
this.psvBwkSysNm = psvBwkSysNm;
|
||||
}
|
||||
|
||||
public String getPsvItfTp() {
|
||||
return psvItfTp;
|
||||
}
|
||||
|
||||
public boolean isSyncItfTp() {
|
||||
return this.psvItfTp.equals( SYNC_SVC );
|
||||
}
|
||||
|
||||
public boolean isAckItfTp() {
|
||||
return this.psvItfTp.equals( ACKONLY_SVC );
|
||||
}
|
||||
|
||||
public void setPsvItfTp(String psvItfTp) {
|
||||
this.psvItfTp = psvItfTp;
|
||||
}
|
||||
|
||||
public String getPsvSysID() {
|
||||
return psvSysID;
|
||||
}
|
||||
|
||||
public void setPsvSysID(String psvSysID) {
|
||||
this.psvSysID = psvSysID;
|
||||
}
|
||||
|
||||
public String getPsvSysItfTp() {
|
||||
return psvSysItfTp;
|
||||
}
|
||||
|
||||
|
||||
public void setPsvSysItfTp(String psvSysItfTp) {
|
||||
this.psvSysItfTp = psvSysItfTp;
|
||||
}
|
||||
|
||||
|
||||
public String getPsvSysSvcCd() {
|
||||
return psvSysSvcCd;
|
||||
}
|
||||
|
||||
public void setPsvSysSvcCd(String psvSysSvcCd) {
|
||||
this.psvSysSvcCd = psvSysSvcCd;
|
||||
}
|
||||
|
||||
public int getTmoVl() {
|
||||
return tmoVl;
|
||||
}
|
||||
|
||||
public boolean hasTimeOut() {
|
||||
return ( this.tmoVl > 0 );
|
||||
}
|
||||
|
||||
public void setTmoVl(int tmoVl) {
|
||||
this.tmoVl = tmoVl;
|
||||
}
|
||||
|
||||
public int getSvcPssSeq(){
|
||||
return svcPssSeq;
|
||||
}
|
||||
|
||||
public void setSvcPssSeq(int seq){
|
||||
svcPssSeq = seq;
|
||||
}
|
||||
|
||||
public String getUseYn() {
|
||||
return useYn;
|
||||
}
|
||||
|
||||
public void setUseYn(String useYn) {
|
||||
this.useYn = useYn;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.eactive.eai.common.c2rservice.mapper;
|
||||
|
||||
import org.mapstruct.InheritInverseConfiguration;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
|
||||
import com.eactive.eai.common.c2rservice.C2RServiceVO;
|
||||
import com.eactive.eai.data.entity.onl.c2rservice.C2RService;
|
||||
import com.eactive.eai.data.mapper.GenericMapper;
|
||||
|
||||
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
public interface C2RServiceMapper extends GenericMapper<C2RServiceVO, C2RService> {
|
||||
|
||||
@Mapping(source = "id.extnlinstiidnfiname", target = "c2rExtnlInstiCd")
|
||||
@Mapping(source = "id.svcprcssno", target = "svcPssSeq")
|
||||
@Mapping(source = "bascrspnschngeonot", target = "bsRspCnvEn")
|
||||
@Mapping(source = "bascrspnschngmsgidname", target = "bsRspCnvMsgID")
|
||||
@Mapping(source = "bascrspnsmsgcmprctnt", target = "bsRspMsgCprVl")
|
||||
@Mapping(source = "chngeonot", target = "cnvEn")
|
||||
@Mapping(source = "chngmsgidname", target = "cnvMsgID")
|
||||
@Mapping(source = "cmpensvcprcssdsticname", target = "cpnsSvcPssCd")
|
||||
@Mapping(source = "errrspnschngeonot", target = "errRspCnvEn")
|
||||
@Mapping(source = "errrspnschngmsgidname", target = "errRspCnvMsgID")
|
||||
@Mapping(source = "errrspnsmsgcmprctnt", target = "errRspMsgCprVl")
|
||||
@Mapping(source = "flovryn", target = "flOvrCls")
|
||||
@Mapping(source = "hdrctrldstcd", target = "hdrCtrlDstcd")
|
||||
@Mapping(source = "hdrrefclsname", target = "hdrRefClsName")
|
||||
@Mapping(source = "nextsvcprcssno", target = "nxtSvcPssSeq")
|
||||
@Mapping(source = "outbndroutname", target = "outbRtnNm")
|
||||
@Mapping(source = "psvintfacdsticname", target = "psvItfTp")
|
||||
@Mapping(source = "psvsysadptrbzwkgroupname", target = "psvSysItfTp")
|
||||
@Mapping(source = "psvsysbzwkdstcd", target = "psvBwkSysNm")
|
||||
@Mapping(source = "psvsysidname", target = "psvSysID")
|
||||
@Mapping(source = "psvsyssvcdsticname", target = "psvSysSvcCd")
|
||||
@Mapping(source = "suppldelyn", target = "supplDelYn")
|
||||
@Mapping(source = "toutval", target = "tmoVl")
|
||||
@Mapping(source = "useyn", target = "useYn")
|
||||
@Override
|
||||
C2RServiceVO toVo(C2RService entity);
|
||||
|
||||
@InheritInverseConfiguration
|
||||
@Override
|
||||
C2RService toEntity(C2RServiceVO vo);
|
||||
}
|
||||
Reference in New Issue
Block a user