init
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
package com.eactive.eai.agent.command;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NonNull;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
@SuperBuilder
|
||||
@Accessors(chain = true)
|
||||
public abstract class Command implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NonNull
|
||||
protected String name;
|
||||
|
||||
@Setter
|
||||
protected Object args;
|
||||
|
||||
private Map<String, String> errorCode;
|
||||
|
||||
protected Command() {
|
||||
this.name = this.getClass().getName();
|
||||
}
|
||||
|
||||
protected Command(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public abstract Object execute() throws CommandException;
|
||||
|
||||
protected String makeException(String rspErrorCode, Throwable cause) {
|
||||
String[] msgArgs = new String[2];
|
||||
msgArgs[0] = name;
|
||||
if (cause == null) {
|
||||
msgArgs[1] = args.toString();
|
||||
} else {
|
||||
msgArgs[1] = cause.getMessage();
|
||||
}
|
||||
return makeMessage(errorCode.get(rspErrorCode), msgArgs);
|
||||
}
|
||||
|
||||
private static String makeMessage(String msg, String[] args) {
|
||||
String keyword = null;
|
||||
String head = null;
|
||||
String tail = null;
|
||||
int idx = -1;
|
||||
for (int i = 0; i < args.length; i++) {
|
||||
keyword = "{" + (i + 1) + "}";
|
||||
idx = msg.indexOf(keyword);
|
||||
if (idx == -1) {
|
||||
continue;
|
||||
}
|
||||
head = msg.substring(0, idx);
|
||||
tail = msg.substring(idx + keyword.length());
|
||||
msg = head + args[i] + tail;
|
||||
}
|
||||
return msg;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
|
||||
package com.eactive.eai.agent.command;
|
||||
|
||||
/**
|
||||
* 1. 기능 : Command Logic을 실행하다 발생될 User Define 오류를 처리하기 위한 Exception class<br>
|
||||
* 2. 처리 개요 : Command Logic을 실행하다 발생될 User Define 오류를 처리하기 위한 Exception class<br>
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author
|
||||
* @version v 1.0.0
|
||||
* @see 관련 기능을 참조
|
||||
* @since
|
||||
*
|
||||
*/
|
||||
public class CommandException extends Exception {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 1. 기능 : Default Constructor
|
||||
* 2. 처리 개요 : Default Constructor
|
||||
* 3. 주의사항
|
||||
*
|
||||
**/
|
||||
public CommandException() {
|
||||
super("CommandException is occured.");
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Exception message를 초기화하는 Constructor
|
||||
* 2. 처리 개요 : Exception message를 초기화하는 Constructor
|
||||
* -
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param msg Exception message
|
||||
**/
|
||||
public CommandException(String msg) {
|
||||
super(msg);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.eactive.eai.agent.command;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import com.eactive.eai.rms.common.util.CommonUtil;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NonNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
|
||||
public class CommandResult {
|
||||
|
||||
@Getter
|
||||
@NonNull
|
||||
private Map<String, Object> result;
|
||||
|
||||
public String getMessage(boolean newLineBetweenEntries) {
|
||||
return CommonUtil.getMapString(result, newLineBetweenEntries);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
package com.eactive.eai.agent.command;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
|
||||
import com.eactive.eai.rms.onl.common.exception.EMSRuntimeException;
|
||||
import com.eactive.eai.rms.onl.common.service.AgentUtilService;
|
||||
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
public class CommonCommand extends Command {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public static final String RELOAD_EAI_MESSAGE_COMMAND = "com.eactive.eai.agent.eaimessage.ReloadEAIMessageCommand";
|
||||
|
||||
public static final String RELOAD_TRANSFORM_COMMAND = "com.eactive.eai.agent.transformer.ReloadTransformCommand";
|
||||
public static final String REMOVE_TRANSFORM_COMMAND = "com.eactive.eai.agent.transformer.RemoveTransformCommand";
|
||||
|
||||
public static final String RELOAD_TRANSFORM_LIST_COMMAND = "com.eactive.eai.agent.transformer.ReloadTransformListCommand";
|
||||
|
||||
public static final String RELOAD_MESSAGE_KEY_COMMAND = "com.eactive.eai.agent.messagekey.ReloadMessageKeyCommand";
|
||||
public static final String REMOVE_MESSAGE_KEY_COMMAND = "com.eactive.eai.agent.messagekey.RemoveMessageKeyCommand";
|
||||
|
||||
public static final String RELOAD_EAI_SERVER_COMMAND = "com.eactive.eai.agent.eaiserver.ReloadEAIServerCommand";
|
||||
public static final String REMOVE_EAI_SERVER_COMMAND = "com.eactive.eai.agent.eaiserver.RemoveEAIServerCommand";
|
||||
|
||||
public static final String RELOAD_SUB_MESSAGE_COMMAND = "com.ext.eai.agent.submessage.ReloadSubMessageCommand";
|
||||
public static final String REMOVE_SUB_MESSAGE_COMMAND = "com.ext.eai.agent.submessage.RemoveSubMessageCommand";
|
||||
|
||||
public static final String RELOAD_CLIENT_COMMAND = "com.eactive.eai.agent.authserver.ReloadClientCommand";
|
||||
public static final String RELOAD_API_SCOPE_COMMAND = "com.eactive.eai.agent.authserver.ReloadApiScopeCommand";
|
||||
|
||||
public static final String RELOAD_ERROR_CODE_COMMAND = "com.eactive.eai.agent.errorcode.ReloadErrorCodeCommand";
|
||||
public static final String REMOVE_ERROR_CODE_COMMAND = "com.eactive.eai.agent.errorcode.RemoveErrorCodeCommand";
|
||||
|
||||
|
||||
public CommonCommand(String name, Object args) {
|
||||
this.name = name;
|
||||
this.args = args;
|
||||
}
|
||||
|
||||
public CommonCommand(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Object execute() throws CommandException {
|
||||
if (name.indexOf(".") >= 0) {
|
||||
try {
|
||||
@SuppressWarnings("rawtypes")
|
||||
Class cl = Class.forName(this.name);
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
Constructor constructor = cl.getConstructor();
|
||||
Object obj = constructor.newInstance();
|
||||
Command c = (Command) obj;
|
||||
c.setArgs(args);
|
||||
return c.execute();
|
||||
} catch (Exception e) {
|
||||
String rspErrorCode = "RECEAIMCM002";
|
||||
String msg = makeException(rspErrorCode, null);
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
} else {
|
||||
String rspErrorCode = "RECEAIMCM001";
|
||||
String msg = makeException(rspErrorCode, null);
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
}
|
||||
|
||||
public CommandResult broadcast(AgentUtilService agentUtilService) throws EMSRuntimeException {
|
||||
try {
|
||||
return new CommandResult(agentUtilService.broadcast(this));
|
||||
} catch (Exception e) {
|
||||
throw new EMSRuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.eactive.eai.common;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
/**
|
||||
* JsonView 에서 Null 값을 변경하는 모듈
|
||||
*
|
||||
*/
|
||||
public class CustomObjectMapper extends ObjectMapper{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public CustomObjectMapper() {
|
||||
getSerializerProvider().setNullValueSerializer(new NullToEmptyStringSerializer());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.eactive.eai.common;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonGenerator;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.JsonSerializer;
|
||||
import com.fasterxml.jackson.databind.SerializerProvider;
|
||||
|
||||
/**
|
||||
* jsonView시에 null 을 empty("")로 바꾸는 모듈
|
||||
*
|
||||
*/
|
||||
public class NullToEmptyStringSerializer extends JsonSerializer<Object> {
|
||||
@Override
|
||||
public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
|
||||
throws IOException, JsonProcessingException {
|
||||
jsonGenerator.writeString("");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,326 @@
|
||||
package com.eactive.eai.common.ibatis;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.lang.reflect.InvocationHandler;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Proxy;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.springframework.beans.factory.DisposableBean;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.orm.ibatis.SqlMapClientFactoryBean;
|
||||
|
||||
import com.ibatis.sqlmap.client.SqlMapClient;
|
||||
import com.ibatis.sqlmap.engine.impl.ExtendedSqlMapClient;
|
||||
|
||||
/**
|
||||
* iBATIS sqlmap 클라이언트의 sqlMap 및 sqlMapConfig 파일의 변경을 감지, 실시간 적용하는 팩토리 빈.
|
||||
*
|
||||
* <h2>개요</h2>
|
||||
* iBATIS + Spring 개발시 쿼리 매핑 파일이 변경되면 웹애플리케이션 서버를 재기동해야 적용이 됐었다. 이러한 불편을 없애기
|
||||
* 위해 매핑 파일 변경을 실시간으로 감시, 적용하는 모듈을 제공한다.<br />
|
||||
*
|
||||
* 감시 대상 이 모듈은 iBATIS sqlmap 클라이언트의 sqlMap 및 sqlMapConfig 파일의 변경을 감지, 실시간 적용해준다.<br />
|
||||
*
|
||||
* <h2>제약사항</h2>
|
||||
* 감시 대상 파일들은 스타트업 당시에 결정된다. 그러므로 추가된 파일들에 대해서는 감지가 되지 않고, 삭제된 파일들에 대해서는 경고
|
||||
* 메시지가 나온다. 예를 들어, sqlMapConfig에 sqlMap 파일이 추가되거나 하면 해당 맵이 적용되기는 하지만, 실시간 변경 감지
|
||||
* 대상으로 추가되지는 않는다.<br />
|
||||
*
|
||||
* <h2>요구사항</h2>
|
||||
* iBATIS sqlmap 2.3.0, Java 1.4, Spring 2.5 이상 또는 iBATIS sqlmap 2.3.2 이상,<br />
|
||||
* Java 1.5 이상, Spring 2.5.5 이상<br />
|
||||
*
|
||||
* <h2>적용 순서</h2>
|
||||
* 1. Spring의 applicationContext 설정 파일 중 sqlMapClient를 얻기 위한
|
||||
* SqlMapClientFactory 빈을 신규 클래스로 교체한다. <br />
|
||||
* 2. 변경 감지 시간 간격 (1000분의 1초 단위)를 지정한다.<br />
|
||||
* <PRE>
|
||||
* <bean id="sqlMapClient" class="jcf.dao.ibatis.sqlmap.RefreshableSqlMapClientFactoryBean">
|
||||
* <!-- <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">-->
|
||||
* <property name="configLocation" value="classpath:jcf/inboundErrorInfoDao/ibatis/sqlmap/sqlmap-config.xml" />
|
||||
* <property name="dataSource" ref="dataSource" />
|
||||
*
|
||||
* <!-- Java 1.5 or higher and iBATIS 2.3.2 or higher REQUIRED -->
|
||||
* <property name="mappingLocations" value="jcf/inboundErrorInfoDao/\*\*\/T\*.xml" />
|
||||
* <!-- <property name="mappingLocations" value="file:///D:/Type.xml" />-->
|
||||
*
|
||||
* <property name="checkInterval" value="1000" />
|
||||
* </bean>
|
||||
* </PRE>
|
||||
*
|
||||
* 3. 라이브러리 추가 <br />
|
||||
* backport-util-concurrent-3.1.jar<br />
|
||||
*
|
||||
* 테스트 기존의 applicationContext에 등록되어 있던 sqlMapClient에 해당하는 mappingFile들을 편집하거나,
|
||||
* sqlMapConfig 파일 또는 그 파일에 등록된 mappingFile(sqlMap 파일)들을 편집하면 주어진 변경감지 시간 후 변경사항이 적용된다.<br />
|
||||
* <br />
|
||||
*
|
||||
* @author setq
|
||||
*/
|
||||
public class RefreshableSqlMapClientFactoryBean extends SqlMapClientFactoryBean
|
||||
implements SqlMapClientRefreshable, DisposableBean {
|
||||
|
||||
private static final Log logger = LogFactory
|
||||
.getLog(RefreshableSqlMapClientFactoryBean.class);
|
||||
|
||||
private SqlMapClient proxy;
|
||||
private int interval;
|
||||
|
||||
private Timer timer;
|
||||
private TimerTask task;
|
||||
|
||||
private Resource[] configLocations;
|
||||
|
||||
private Resource[] mappingLocations;
|
||||
|
||||
/**
|
||||
* 파일 감시 쓰레드가 실행중인지 여부.
|
||||
*/
|
||||
private boolean running = false;
|
||||
|
||||
private final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();
|
||||
private final Lock r = rwl.readLock();
|
||||
private final Lock w = rwl.writeLock();
|
||||
|
||||
public void setConfigLocation(Resource configLocation) {
|
||||
super.setConfigLocation(configLocation);
|
||||
this.configLocations = (configLocation != null ? new Resource[] { configLocation }
|
||||
: null);
|
||||
}
|
||||
|
||||
public void setConfigLocations(Resource[] configLocations) {
|
||||
super.setConfigLocations(configLocations);
|
||||
this.configLocations = configLocations;
|
||||
}
|
||||
|
||||
public void setMappingLocations(Resource[] mappingLocations) {
|
||||
super.setMappingLocations(mappingLocations);
|
||||
this.mappingLocations = mappingLocations;
|
||||
}
|
||||
|
||||
ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(2);
|
||||
public void doReload() throws Exception {
|
||||
if(executor.getActiveCount() == executor.getMaximumPoolSize()){
|
||||
return;
|
||||
}
|
||||
Runnable run = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
refresh();
|
||||
} catch (Exception e) {
|
||||
logger.error("Error while reloading sqlMapClient", e);
|
||||
}
|
||||
}
|
||||
};
|
||||
executor.execute(run);
|
||||
}
|
||||
/**
|
||||
* iBATIS 설정을 다시 읽어들인다.<br /> SqlMapClient 인스턴스 자체를 새로 생성하여 교체한다.
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
public void refresh() throws Exception {
|
||||
/*
|
||||
* WRITE LOCK.
|
||||
*/
|
||||
w.lock();
|
||||
try {
|
||||
super.afterPropertiesSet();
|
||||
logger.info("Refreshed SqlMapClient.");
|
||||
} finally {
|
||||
w.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 싱글톤 멤버로 SqlMapClient 원본 대신 프록시로 설정하도록 오버라이드.
|
||||
*/
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
super.afterPropertiesSet();
|
||||
|
||||
setRefreshable();
|
||||
}
|
||||
|
||||
private void setRefreshable() {
|
||||
proxy = (SqlMapClient) Proxy.newProxyInstance(SqlMapClient.class
|
||||
.getClassLoader(), new Class[] { SqlMapClient.class,
|
||||
ExtendedSqlMapClient.class }, new InvocationHandler() {
|
||||
|
||||
public Object invoke(Object proxy, Method method, Object[] args)
|
||||
throws Throwable {
|
||||
|
||||
return method.invoke(getParentObject(), args);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
task = new TimerTask() {
|
||||
|
||||
private Map map = new HashMap();
|
||||
|
||||
public void run() {
|
||||
|
||||
if (isModified()) {
|
||||
try {
|
||||
logger.info("Refreshing SqlMapClient...");
|
||||
// refresh();
|
||||
for (int i = 0; i < 3; i++) {
|
||||
doReload();
|
||||
Thread.sleep(2000);
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
logger.error("caught exception", e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private boolean isModified() {
|
||||
boolean retVal = false;
|
||||
|
||||
for (int i = 0; i < configLocations.length; i++) {
|
||||
Resource configLocation = configLocations[i];
|
||||
retVal |= findModifiedResource(configLocation);
|
||||
}
|
||||
|
||||
if (mappingLocations != null) {
|
||||
for (int i = 0; i < mappingLocations.length; i++) {
|
||||
Resource mappingLocation = mappingLocations[i];
|
||||
retVal |= findModifiedResource(mappingLocation);
|
||||
}
|
||||
}
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
private boolean findModifiedResource(Resource resource) {
|
||||
boolean retVal = false;
|
||||
List modifiedResources = new ArrayList();
|
||||
|
||||
try {
|
||||
long modified = resource.lastModified();
|
||||
|
||||
if (map.containsKey(resource)) {
|
||||
long lastModified = ((Long) map.get(resource)).longValue();
|
||||
|
||||
if (lastModified != modified) {
|
||||
map.put(resource, new Long(modified));
|
||||
modifiedResources.add(resource.getDescription());
|
||||
retVal = true;
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
map.put(resource, new Long(modified));
|
||||
}
|
||||
}
|
||||
catch (Throwable e) {
|
||||
logger.error("caught exception", e);
|
||||
}
|
||||
|
||||
if (retVal) {
|
||||
// if (logger.isInfoEnabled()) {
|
||||
// logger.info("modified files : " + modifiedResources);
|
||||
// }
|
||||
logger.info("modified files : " + modifiedResources);
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
timer = new Timer(true);
|
||||
resetInterval();
|
||||
|
||||
|
||||
List mappingLocationList = extractMappingLocations(configLocations);
|
||||
|
||||
if (this.mappingLocations != null) {
|
||||
mappingLocationList.addAll(Arrays.asList(this.mappingLocations));
|
||||
}
|
||||
this.mappingLocations = (Resource[]) mappingLocationList.toArray(new Resource[0]);
|
||||
}
|
||||
|
||||
private List extractMappingLocations(Resource[] configLocations) {
|
||||
List mappingLocationList = new ArrayList();
|
||||
SqlMapExtractingSqlMapConfigParser configParser = new SqlMapExtractingSqlMapConfigParser();
|
||||
for (int i = 0; i < configLocations.length; i++) {
|
||||
try {
|
||||
InputStream is = configLocations[i].getInputStream();
|
||||
mappingLocationList.addAll(configParser.parse(is));
|
||||
}
|
||||
catch (IOException ex) {
|
||||
logger.warn("Failed to parse config resource: "
|
||||
+ configLocations[i], ex.getCause());
|
||||
}
|
||||
}
|
||||
return mappingLocationList;
|
||||
}
|
||||
|
||||
private Object getParentObject() {
|
||||
/*
|
||||
* READ LOCK.
|
||||
*/
|
||||
r.lock();
|
||||
try {
|
||||
return super.getObject();
|
||||
|
||||
} finally {
|
||||
r.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlMapClient getObject() {
|
||||
return this.proxy;
|
||||
}
|
||||
|
||||
public Class getObjectType() {
|
||||
return (this.proxy != null ? this.proxy.getClass() : SqlMapClient.class);
|
||||
}
|
||||
|
||||
public boolean isSingleton() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void setCheckInterval(int ms) {
|
||||
interval = ms;
|
||||
|
||||
if (timer != null) {
|
||||
resetInterval();
|
||||
}
|
||||
}
|
||||
|
||||
private void resetInterval() {
|
||||
if (running) {
|
||||
timer.cancel();
|
||||
running = false;
|
||||
}
|
||||
if (interval > 0) {
|
||||
timer.schedule(task, 0, interval);
|
||||
running = true;
|
||||
}
|
||||
}
|
||||
|
||||
public void destroy() throws Exception {
|
||||
timer.cancel();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.eactive.eai.common.ibatis;
|
||||
|
||||
|
||||
public interface SqlMapClientRefreshable {
|
||||
|
||||
void refresh() throws Exception;
|
||||
|
||||
|
||||
void setCheckInterval(int ms);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
package com.eactive.eai.common.ibatis;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.Reader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.springframework.core.io.DefaultResourceLoader;
|
||||
import org.springframework.core.io.ResourceLoader;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.ibatis.common.xml.Nodelet;
|
||||
import com.ibatis.common.xml.NodeletParser;
|
||||
import com.ibatis.common.xml.NodeletUtils;
|
||||
import com.ibatis.sqlmap.client.SqlMapException;
|
||||
import com.ibatis.sqlmap.engine.builder.xml.SqlMapClasspathEntityResolver;
|
||||
//import com.ibatis.sqlmap.engine.builder.xml.XmlParserState;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public class SqlMapExtractingSqlMapConfigParser {
|
||||
|
||||
protected final NodeletParser parser = new NodeletParser();
|
||||
// private XmlParserState state = new XmlParserState();
|
||||
|
||||
private List sqlMapList = new ArrayList();
|
||||
|
||||
private ResourceLoader resourceLoader = new DefaultResourceLoader();
|
||||
|
||||
public SqlMapExtractingSqlMapConfigParser() {
|
||||
parser.setValidation(true);
|
||||
parser.setEntityResolver(new SqlMapClasspathEntityResolver());
|
||||
|
||||
addSqlMapNodelets();
|
||||
|
||||
}
|
||||
|
||||
public List parse(Reader reader) {
|
||||
try {
|
||||
parser.parse(reader);
|
||||
return sqlMapList;
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new RuntimeException("Error occurred. Cause: " + e, e);
|
||||
}
|
||||
}
|
||||
|
||||
public List parse(InputStream inputStream) {
|
||||
try {
|
||||
parser.parse(inputStream);
|
||||
return sqlMapList;
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new RuntimeException("Error occurred. Cause: " + e, e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void addSqlMapNodelets() {
|
||||
parser.addNodelet("/sqlMapConfig/sqlMap", new Nodelet() {
|
||||
public void process(Node node) throws Exception {
|
||||
// state.getConfig().getErrorContext().setActivity(
|
||||
// "loading the SQL Map resource");
|
||||
|
||||
Properties attributes = NodeletUtils.parseAttributes(node,
|
||||
// state.getGlobalProps());
|
||||
null);
|
||||
|
||||
String resource = attributes.getProperty("resource");
|
||||
String url = attributes.getProperty("url");
|
||||
|
||||
if (resource != null) {
|
||||
sqlMapList.add(resourceLoader.getResource(resource));
|
||||
}
|
||||
else if (url != null) {
|
||||
sqlMapList.add(resourceLoader.getResource(url));
|
||||
}
|
||||
else {
|
||||
throw new SqlMapException(
|
||||
"The <sqlMap> element requires either a resource or a url attribute.");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.eactive.eai.common.util;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.ConnectException;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
public class HttpUtil {
|
||||
|
||||
protected static final Logger logger = Logger.getLogger(HttpUtil.class);
|
||||
|
||||
public static String httpCall(String urlStr, String httpMethod) throws Exception {
|
||||
return httpCall(urlStr, httpMethod, Charset.defaultCharset().toString());
|
||||
}
|
||||
|
||||
public static String httpCall(String urlStr, String httpMethod, String encoding) throws Exception {
|
||||
|
||||
logger.debug("httpCall (" +httpMethod+ ") : " + urlStr);
|
||||
|
||||
StringBuilder result = new StringBuilder();
|
||||
|
||||
try {
|
||||
HttpURLConnection conn = (HttpURLConnection) new URL(urlStr).openConnection();
|
||||
conn.setRequestMethod(httpMethod);
|
||||
BufferedReader rd = null;
|
||||
|
||||
if (conn.getResponseCode() >= 200 && conn.getResponseCode() <= 300) {
|
||||
InputStreamReader inputStreamReader = new InputStreamReader(conn.getInputStream(), encoding);
|
||||
rd = new BufferedReader(inputStreamReader);
|
||||
} else {
|
||||
logger.error(urlStr + " / ResponseCode : " + conn.getResponseCode());
|
||||
return null;
|
||||
}
|
||||
|
||||
String line;
|
||||
|
||||
while ((line = rd.readLine()) != null) {
|
||||
result.append(line);
|
||||
}
|
||||
|
||||
rd.close();
|
||||
conn.disconnect();
|
||||
} catch (ConnectException e) {
|
||||
logger.error(urlStr + e.getMessage());
|
||||
return null;
|
||||
}
|
||||
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
public static String httpCall(String urlStr, String httpMethod, String encoding, Map<String, String> paramMap) throws Exception {
|
||||
|
||||
if(paramMap.size() < 0) {
|
||||
return httpCall(urlStr, httpMethod, encoding);
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(urlStr);
|
||||
sb.append("?");
|
||||
|
||||
paramMap.forEach((k, v) -> {
|
||||
sb.append(k);
|
||||
sb.append("=");
|
||||
sb.append(v);
|
||||
sb.append("&");
|
||||
});
|
||||
|
||||
return httpCall(sb.toString(), httpMethod, encoding);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.eactive.eai.common.util;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
|
||||
public class JdbcTest {
|
||||
|
||||
// String driver = "org.mariadb.jdbc.Driver";
|
||||
// String driver = "com.mysql.jdbc.Driver";
|
||||
String driver = "com.ibm.db2.jcc.DB2Driver"; //db2
|
||||
// String url = "jdbc:mariadb://localhost:4406/eai?useUnicode=true&characterEncoding=euckr";
|
||||
String url = "jdbc:db2://localhost:50000/DSEADT";
|
||||
String uId = "db2admin";
|
||||
String uPwd = "e1001";
|
||||
|
||||
Connection con;
|
||||
PreparedStatement pstmt;
|
||||
ResultSet rs;
|
||||
|
||||
public JdbcTest() {
|
||||
try {
|
||||
Class.forName(driver);
|
||||
con = DriverManager.getConnection(url, uId, uPwd);
|
||||
System.out.println(con);
|
||||
if( con != null ){ System.out.println("데이터 베이스 접속 성공"); }
|
||||
|
||||
} catch (ClassNotFoundException e) {
|
||||
//e.printStackTrace();
|
||||
System.out.println("드라이버 로드 실패");
|
||||
}
|
||||
catch (SQLException e) {
|
||||
//e.printStackTrace();
|
||||
System.out.println(e);
|
||||
System.out.println("데이터 베이스 접속 실패");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void insert(String id, String name){
|
||||
String sql = "insert into test values(?, ?)";
|
||||
try {
|
||||
pstmt = con.prepareStatement(sql);
|
||||
pstmt.setString(1, id);
|
||||
pstmt.setString(2, name);
|
||||
pstmt.executeQuery();
|
||||
|
||||
} catch (SQLException e) {
|
||||
//e.printStackTrace();
|
||||
System.out.println("쿼리 수행 실패");
|
||||
}
|
||||
}
|
||||
|
||||
public void select(){
|
||||
String sql = "select * from test";
|
||||
try {
|
||||
pstmt = con.prepareStatement(sql);
|
||||
rs = pstmt.executeQuery();
|
||||
while(rs.next()){
|
||||
System.out.println("id : " + rs.getString("id"));
|
||||
System.out.println("name : " + rs.getString("name"));
|
||||
}
|
||||
} catch (SQLException e) { System.out.println("쿼리 수행 실패"); }
|
||||
finally {
|
||||
try { if(rs!=null) rs.close();} catch(Exception e) {}
|
||||
try { if(con!=null) con.close();} catch(Exception e) {}
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args){
|
||||
JdbcTest dbm = new JdbcTest();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package com.eactive.eai.common.util;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : Date, Time 관련 Utility Method 정의
|
||||
* 2. 처리 개요 :
|
||||
*
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public final class NullControl {
|
||||
|
||||
|
||||
/**
|
||||
* Private 생성자
|
||||
* Instance를 생성하지 못함
|
||||
*/
|
||||
private NullControl()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Null값을 공백으로 변경
|
||||
* 2. 처리 개요 :
|
||||
* - ""나 Null를 입력받아 SPACE로 변환한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param "", Null
|
||||
* @return String
|
||||
* @exception
|
||||
**/
|
||||
public static String addSpace(String val)
|
||||
{
|
||||
if(val == null || val.equals("")){
|
||||
val = " ";
|
||||
}
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 입력값을 트림하여 화이트스페이스를 없앤다.
|
||||
* 2. 처리 개요 :
|
||||
* - 입력받은 값을 트림하여 리턴한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param "", Null
|
||||
* @return String
|
||||
* @exception
|
||||
**/
|
||||
|
||||
public static String trimSpace(String val)
|
||||
{
|
||||
if(val == null || val.equals("")){
|
||||
val = ""; // ""나 Null을 체크하여 트림하여 에러가 발생하지 않도록 한다..
|
||||
}else{
|
||||
val = val.trim();
|
||||
}
|
||||
|
||||
return val;
|
||||
}
|
||||
public static String trimSpace2(String val)
|
||||
{
|
||||
if(val == null || val.equals("")){
|
||||
return ""; // ""나 Null을 체크하여 트림하여 에러가 발생하지 않도록 한다..
|
||||
}
|
||||
if (val.trim().length() > 0){
|
||||
return val;
|
||||
}
|
||||
else{
|
||||
return val.trim();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
package com.eactive.eai.common.util;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* 1. 기능 : EAI서버 Rule 정보를 DB로 부터 로딩해 메모리에 관리하는 Manager 클래스
|
||||
* 2. 처리 개요 : DB Rule 정보에 저장된 필드 추출 Rule 정보를 메모리에 로딩 관리한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : 관련 기능을 참조
|
||||
* @since :
|
||||
* :
|
||||
*/
|
||||
public class SystemUtil
|
||||
{
|
||||
|
||||
public static final String EAI_SYSTEMMODE = "eai.systemmode";
|
||||
private static final String EAI_PRODUCT = "P";
|
||||
private static final String EAI_STAGING = "T";
|
||||
private static final String EAI_DEVELOP = "D";
|
||||
|
||||
//시스템 운영환경 구분코드
|
||||
private static final String SYSOPEREVIRNDSTCD_PRODUCT = "P";
|
||||
private static final String SYSOPEREVIRNDSTCD_STAGING = "T";
|
||||
private static final String SYSOPEREVIRNDSTCD_DEVELOP = "D";
|
||||
|
||||
|
||||
|
||||
public static boolean isProdServer() {
|
||||
String systemMode = System.getProperty(EAI_SYSTEMMODE);
|
||||
|
||||
if (EAI_PRODUCT.equals(systemMode)){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public static boolean isDevServer() {
|
||||
String systemMode = System.getProperty(EAI_SYSTEMMODE);
|
||||
|
||||
if (EAI_DEVELOP.equals(systemMode)|| "".equals(systemMode)){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isStagingServer() {
|
||||
String systemMode = System.getProperty(EAI_SYSTEMMODE);
|
||||
|
||||
if (EAI_STAGING.equals(systemMode)){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public static String getSysOperEvirnDstcd(){
|
||||
if (isProdServer()){
|
||||
return SYSOPEREVIRNDSTCD_PRODUCT;
|
||||
} else if (isStagingServer()){
|
||||
return SYSOPEREVIRNDSTCD_STAGING;
|
||||
} else if (isDevServer()){
|
||||
return SYSOPEREVIRNDSTCD_DEVELOP;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public static String getSystemModeTitle(){
|
||||
String systemModeTitle = System.getProperty("systemModeTitle", "");
|
||||
if(StringUtils.isBlank(systemModeTitle)){
|
||||
if (SystemUtil.isDevServer()){
|
||||
systemModeTitle = "개발";
|
||||
}else if(SystemUtil.isStagingServer()){
|
||||
systemModeTitle = "스테이징";
|
||||
// systemModeTitle = "테스트";
|
||||
}else if(SystemUtil.isProdServer()){
|
||||
systemModeTitle = "운영";
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(systemModeTitle)){
|
||||
systemModeTitle = "["+systemModeTitle+"] ";
|
||||
}
|
||||
return systemModeTitle;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
package com.eactive.eai.common.util;
|
||||
|
||||
/**
|
||||
*/
|
||||
public class XmlUtil {
|
||||
|
||||
private static final String CDATA_START = "<![CDATA[";
|
||||
private static final String CDATA_END = "]]>";
|
||||
private static final String CDATA_PSEUDO_END = "]]>";
|
||||
private static final String CDATA_EMBEDED_END = CDATA_END + CDATA_PSEUDO_END + CDATA_START;
|
||||
private static final int CDATA_END_LEN = CDATA_END.length();
|
||||
|
||||
/**
|
||||
* This method takes a string which may contain HTML tags (ie,
|
||||
* <b>, <table>, etc) and replaces any
|
||||
* '<', '>' , '&' or '"'
|
||||
* characters with respective predefined entity references.
|
||||
*
|
||||
* @param input The text to be converted.
|
||||
* @return The input string with the special characters replaced.
|
||||
* */
|
||||
static public String escapeTags(final String input) {
|
||||
// Check if the string is null, zero length or devoid of special characters
|
||||
// if so, return what was sent in.
|
||||
|
||||
if(input == null
|
||||
|| input.length() == 0
|
||||
|| (input.indexOf('"') == -1 &&
|
||||
input.indexOf('&') == -1 &&
|
||||
input.indexOf('<') == -1 &&
|
||||
input.indexOf('>') == -1)) {
|
||||
return input;
|
||||
}
|
||||
|
||||
StringBuffer buf = new StringBuffer(input.length() + 6);
|
||||
char ch;
|
||||
|
||||
int len = input.length();
|
||||
for(int i=0; i < len; i++) {
|
||||
ch = input.charAt(i);
|
||||
if (ch > '>') {
|
||||
buf.append(ch);
|
||||
} else if(ch == '<') {
|
||||
buf.append("<");
|
||||
} else if(ch == '>') {
|
||||
buf.append(">");
|
||||
} else if(ch == '&') {
|
||||
buf.append("&");
|
||||
} else if(ch == '"') {
|
||||
buf.append(""");
|
||||
} else {
|
||||
buf.append(ch);
|
||||
}
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensures that embeded CDEnd strings (]]>) are handled properly
|
||||
* within message, NDC and throwable tag text.
|
||||
*
|
||||
* @param buf StringBuffer holding the XML data to this point. The
|
||||
* initial CDStart (<![CDATA[) and final CDEnd (]]>) of the CDATA
|
||||
* section are the responsibility of the calling method.
|
||||
* @param str The String that is inserted into an existing CDATA Section within buf.
|
||||
* */
|
||||
static public void appendEscapingCDATA(final StringBuffer buf,
|
||||
final String str) {
|
||||
if (str != null) {
|
||||
int end = str.indexOf(CDATA_END);
|
||||
if (end < 0) {
|
||||
buf.append(str);
|
||||
} else {
|
||||
int start = 0;
|
||||
while (end > -1) {
|
||||
buf.append(str.substring(start, end));
|
||||
buf.append(CDATA_EMBEDED_END);
|
||||
start = end + CDATA_END_LEN;
|
||||
if (start < str.length()) {
|
||||
end = str.indexOf(CDATA_END, start);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
buf.append(str.substring(start));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.eactive.eai.custom;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
|
||||
import com.eactive.eai.transformer.message.ISO8583MessageFactory;
|
||||
|
||||
/**
|
||||
* 이곳에서 Custermizing 대상 class 및 변수의 초기화 작업을 수행한다.
|
||||
*/
|
||||
public class CustomizingAppInitializer implements InitializingBean {
|
||||
final Logger logger = Logger.getLogger(CustomizingAppInitializer.class);
|
||||
|
||||
public static final String MESSAGE_TYPE_H2H = "H2H";
|
||||
public static final String LAYOUT_TYPE_H2H = "ISO8583H2H";
|
||||
public static final String ISO8583_H2H_CLASS_NAME = "com.eactive.eai.custom.transformer.message.ISO8583H2HMessage";
|
||||
|
||||
public static final String MESSAGE_TYPE_SVL = "SVL";
|
||||
public static final String LAYOUT_TYPE_SVL = "ISO8583SVL";
|
||||
public static final String ISO8583_SVL_CLASS_NAME = "com.eactive.eai.custom.transformer.message.ISO8583SilverlakeMessage";
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
/*
|
||||
* @formatter:off
|
||||
* Custom ISO8583 메시지 추가시
|
||||
* - ONLWeb: Custom Mesaage java 추가, 아래 맵에 추가
|
||||
* - EMSWeb: Custom Mesaage java 추가, 아래 맵에 추가(로그조회시 parsing 위해)
|
||||
* @formatter:on
|
||||
*/
|
||||
ISO8583MessageFactory.ISO8583_MESSAGE_TYPE_CLASS_MAP.put(MESSAGE_TYPE_H2H, ISO8583_H2H_CLASS_NAME);
|
||||
ISO8583MessageFactory.ISO8583_MESSAGE_TYPE_CLASS_MAP.put(MESSAGE_TYPE_SVL, ISO8583_SVL_CLASS_NAME);
|
||||
ISO8583MessageFactory.ISO8583_LAYOUT_TYPE_CLASS_MAP.put(LAYOUT_TYPE_H2H, ISO8583_H2H_CLASS_NAME);
|
||||
ISO8583MessageFactory.ISO8583_LAYOUT_TYPE_CLASS_MAP.put(LAYOUT_TYPE_SVL, ISO8583_SVL_CLASS_NAME);
|
||||
logger.info(String.format("ISO8583MessageFactory registered - %s = %s", MESSAGE_TYPE_H2H, ISO8583_H2H_CLASS_NAME));
|
||||
logger.info(String.format("ISO8583MessageFactory registered - %s = %s", MESSAGE_TYPE_SVL, ISO8583_SVL_CLASS_NAME));
|
||||
logger.info(String.format("ISO8583MessageFactory registered - %s = %s", LAYOUT_TYPE_H2H, ISO8583_H2H_CLASS_NAME));
|
||||
logger.info(String.format("ISO8583MessageFactory registered - %s = %s", LAYOUT_TYPE_SVL, ISO8583_SVL_CLASS_NAME));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,162 @@
|
||||
package com.eactive.eai.custom.transformer.message;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.eactive.eai.transformer.message.ISO8583Message;
|
||||
import com.solab.iso8583.IsoMessage;
|
||||
import com.solab.iso8583.IsoType;
|
||||
import com.solab.iso8583.MessageFactory;
|
||||
import com.solab.iso8583.parse.FieldParseInfo;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* ISO 8583 H2H(전문) 형식의 데이터를 변환하기 위한 메시지.(For KB Bukopin)
|
||||
*
|
||||
* [참조]
|
||||
* https://en.wikipedia.org/wiki/ISO_8583
|
||||
* </pre>
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public class ISO8583H2HMessage extends ISO8583Message {
|
||||
private static HashMap<Integer, FieldParseInfo> fullSpecMap = null;
|
||||
private static HashMap<Integer, String> fullFieldNameMap = null;
|
||||
|
||||
@Override
|
||||
public MessageFactory<IsoMessage> createMessageFactory() {
|
||||
MessageFactory<IsoMessage> mf = new MessageFactory<>();
|
||||
mf.setCharacterEncoding(System.getProperty("file.encoding"));
|
||||
mf.setForceStringEncoding(false);
|
||||
return mf;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HashMap<Integer, FieldParseInfo> getFullSpecMap(String encode) {
|
||||
if (fullSpecMap != null) {
|
||||
return fullSpecMap;
|
||||
}
|
||||
|
||||
fullSpecMap = new HashMap<>();
|
||||
|
||||
fullSpecMap.put(2, FieldParseInfo.getInstance(IsoType.LLVAR, 19, encode));
|
||||
fullSpecMap.put(3, FieldParseInfo.getInstance(IsoType.NUMERIC, 6, encode));
|
||||
fullSpecMap.put(4, FieldParseInfo.getInstance(IsoType.NUMERIC, 12, encode));
|
||||
fullSpecMap.put(6, FieldParseInfo.getInstance(IsoType.NUMERIC, 12, encode));
|
||||
fullSpecMap.put(7, FieldParseInfo.getInstance(IsoType.DATE10, 10, encode));
|
||||
fullSpecMap.put(11, FieldParseInfo.getInstance(IsoType.NUMERIC, 6, encode));
|
||||
fullSpecMap.put(12, FieldParseInfo.getInstance(IsoType.TIME, 6, encode));
|
||||
fullSpecMap.put(13, FieldParseInfo.getInstance(IsoType.DATE4, 4, encode));
|
||||
fullSpecMap.put(14, FieldParseInfo.getInstance(IsoType.DATE_EXP, 4, encode));
|
||||
fullSpecMap.put(15, FieldParseInfo.getInstance(IsoType.DATE4, 4, encode));
|
||||
fullSpecMap.put(18, FieldParseInfo.getInstance(IsoType.NUMERIC, 4, encode));
|
||||
fullSpecMap.put(22, FieldParseInfo.getInstance(IsoType.NUMERIC, 3, encode));
|
||||
fullSpecMap.put(24, FieldParseInfo.getInstance(IsoType.NUMERIC, 3, encode));
|
||||
fullSpecMap.put(25, FieldParseInfo.getInstance(IsoType.NUMERIC, 2, encode));
|
||||
fullSpecMap.put(26, FieldParseInfo.getInstance(IsoType.NUMERIC, 2, encode));
|
||||
fullSpecMap.put(32, FieldParseInfo.getInstance(IsoType.LLVAR, 11, encode));
|
||||
fullSpecMap.put(33, FieldParseInfo.getInstance(IsoType.LLVAR, 11, encode));
|
||||
fullSpecMap.put(35, FieldParseInfo.getInstance(IsoType.LLVAR, 37, encode));
|
||||
fullSpecMap.put(37, FieldParseInfo.getInstance(IsoType.ALPHA, 12, encode));
|
||||
fullSpecMap.put(38, FieldParseInfo.getInstance(IsoType.ALPHA, 6, encode));
|
||||
fullSpecMap.put(39, FieldParseInfo.getInstance(IsoType.ALPHA, 2, encode));
|
||||
fullSpecMap.put(40, FieldParseInfo.getInstance(IsoType.ALPHA, 3, encode));
|
||||
fullSpecMap.put(41, FieldParseInfo.getInstance(IsoType.ALPHA, 8, encode));
|
||||
fullSpecMap.put(42, FieldParseInfo.getInstance(IsoType.ALPHA, 15, encode));
|
||||
fullSpecMap.put(43, FieldParseInfo.getInstance(IsoType.ALPHA, 40, encode));
|
||||
fullSpecMap.put(48, FieldParseInfo.getInstance(IsoType.LLLVAR, 999, encode));
|
||||
fullSpecMap.put(49, FieldParseInfo.getInstance(IsoType.ALPHA, 3, encode));
|
||||
// fullSpecMap.put(52, FieldParseInfo.getInstance(IsoType.BINARY, 64, encode));
|
||||
fullSpecMap.put(52, FieldParseInfo.getInstance(IsoType.ALPHA, 16, encode)); // 표준X
|
||||
fullSpecMap.put(54, FieldParseInfo.getInstance(IsoType.LLLVAR, 120, encode));
|
||||
fullSpecMap.put(55, FieldParseInfo.getInstance(IsoType.LLLVAR, 765, encode));
|
||||
fullSpecMap.put(60, FieldParseInfo.getInstance(IsoType.LLLVAR, 999, encode));
|
||||
fullSpecMap.put(61, FieldParseInfo.getInstance(IsoType.LLLVAR, 999, encode));
|
||||
fullSpecMap.put(62, FieldParseInfo.getInstance(IsoType.LLLVAR, 999, encode));
|
||||
fullSpecMap.put(63, FieldParseInfo.getInstance(IsoType.LLLVAR, 999, encode));
|
||||
fullSpecMap.put(70, FieldParseInfo.getInstance(IsoType.NUMERIC, 3, encode));
|
||||
fullSpecMap.put(90, FieldParseInfo.getInstance(IsoType.NUMERIC, 42, encode));
|
||||
fullSpecMap.put(98, FieldParseInfo.getInstance(IsoType.ALPHA, 25, encode));
|
||||
fullSpecMap.put(102, FieldParseInfo.getInstance(IsoType.LLVAR, 28, encode));
|
||||
fullSpecMap.put(103, FieldParseInfo.getInstance(IsoType.LLVAR, 28, encode));
|
||||
fullSpecMap.put(120, FieldParseInfo.getInstance(IsoType.LLLVAR, 999, encode));
|
||||
// fullSpecMap.put(126, FieldParseInfo.getInstance(IsoType.LLLVAR, 999,
|
||||
// encode));
|
||||
fullSpecMap.put(126, FieldParseInfo.getInstance(IsoType.LLLLVAR, 9999, encode)); // 표준X
|
||||
fullSpecMap.put(127, FieldParseInfo.getInstance(IsoType.LLLVAR, 999, encode));
|
||||
fullSpecMap.put(128, FieldParseInfo.getInstance(IsoType.BINARY, 64, encode));
|
||||
|
||||
return fullSpecMap;
|
||||
}
|
||||
|
||||
public String getFieldName(int key) {
|
||||
if (fullFieldNameMap == null) {
|
||||
fullFieldNameMap = new HashMap<>();
|
||||
fullFieldNameMap.put(1, "Bitmap, Secondary");
|
||||
fullFieldNameMap.put(2, "Primary Account Number");
|
||||
fullFieldNameMap.put(3, "Processing Code");
|
||||
fullFieldNameMap.put(4, "Amount, Transaction");
|
||||
fullFieldNameMap.put(6, "Amount, Cardholder Billing");
|
||||
fullFieldNameMap.put(7, "Transmission Date and Time");
|
||||
fullFieldNameMap.put(11, "System Trace Audit Number");
|
||||
fullFieldNameMap.put(12, "Time, Local Transaction");
|
||||
fullFieldNameMap.put(13, "Date, Local Transaction");
|
||||
fullFieldNameMap.put(14, "Date, Expiration");
|
||||
fullFieldNameMap.put(15, "Date, Settlement");
|
||||
fullFieldNameMap.put(18, "Merchant Type");
|
||||
|
||||
fullFieldNameMap.put(22, "Point of Service Entry Mode");
|
||||
fullFieldNameMap.put(24, "Network/Function Indentification Id");
|
||||
fullFieldNameMap.put(25, "Point-Of-Service Condition Code");
|
||||
|
||||
fullFieldNameMap.put(26, "Point-Of-Service PIN Capture Code");
|
||||
fullFieldNameMap.put(32, "Acquiring Institution Identification Code");
|
||||
fullFieldNameMap.put(33, "Forwarding Institution Identification Code");
|
||||
|
||||
fullFieldNameMap.put(35, "Track 2 Data");
|
||||
fullFieldNameMap.put(37, "Retrieval Reference Number");
|
||||
fullFieldNameMap.put(38, "Authorization Identification Response");
|
||||
|
||||
fullFieldNameMap.put(39, "Response Code");
|
||||
fullFieldNameMap.put(40, "Service Restriction Code");
|
||||
fullFieldNameMap.put(41, "Card Acceptor Terminal Identification");
|
||||
|
||||
fullFieldNameMap.put(42, "Card Acceptor Identification");
|
||||
fullFieldNameMap.put(43, "Card Acceptor Name and Location");
|
||||
fullFieldNameMap.put(48, "Additional Data – Private");
|
||||
|
||||
fullFieldNameMap.put(49, "Transaction Currency Code");
|
||||
fullFieldNameMap.put(52, "Personal Identification Number");
|
||||
fullFieldNameMap.put(54, "Amount, Additional");
|
||||
|
||||
fullFieldNameMap.put(55, "Integrated Circuit Card (ICC) System Related Data");
|
||||
|
||||
fullFieldNameMap.put(60, "Reserved Private F60");
|
||||
fullFieldNameMap.put(61, "Reserved Private F61");
|
||||
fullFieldNameMap.put(62, "Reserved Private F62");
|
||||
|
||||
fullFieldNameMap.put(63, "Reserved Private F63");
|
||||
fullFieldNameMap.put(70, "Network Management Information Code");
|
||||
fullFieldNameMap.put(90, "Original Data Element");
|
||||
|
||||
fullFieldNameMap.put(98, "Payee");
|
||||
fullFieldNameMap.put(102, "Account Identification 1");
|
||||
fullFieldNameMap.put(103, "Account Identification 2");
|
||||
|
||||
fullFieldNameMap.put(120, "Reserved Private F120");
|
||||
fullFieldNameMap.put(126, "Reserved Private F126");
|
||||
fullFieldNameMap.put(127, "Destination Institution Identification Code");
|
||||
fullFieldNameMap.put(128, "Message Authentication Code Field");
|
||||
}
|
||||
|
||||
return fullFieldNameMap.get(new Integer(key));
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append(
|
||||
"[ISO8583H2H message]");
|
||||
sb.append("\n" + super.toString());
|
||||
sb.append(
|
||||
"\n");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
+134
@@ -0,0 +1,134 @@
|
||||
package com.eactive.eai.custom.transformer.message;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.eactive.eai.transformer.message.ISO8583Message;
|
||||
import com.solab.iso8583.IsoMessage;
|
||||
import com.solab.iso8583.IsoType;
|
||||
import com.solab.iso8583.MessageFactory;
|
||||
import com.solab.iso8583.parse.FieldParseInfo;
|
||||
|
||||
/**
|
||||
* @formatter:off
|
||||
* ISO 8583 Silverlake(전문) 형식의 데이터를 변환하기 위한 메시지.(For KB Bukopin)
|
||||
* - Binary, EBCDIC
|
||||
*
|
||||
* [참조] https://en.wikipedia.org/wiki/ISO_8583
|
||||
* @formatter:on
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public class ISO8583SilverlakeMessage extends ISO8583Message {
|
||||
private static HashMap<Integer, FieldParseInfo> fullSpecMap = null;
|
||||
private static HashMap<Integer, String> fullFieldNameMap = null;
|
||||
private static String encode = "Cp1047"; // EBCDIC(1047)
|
||||
|
||||
public MessageFactory<IsoMessage> createMessageFactory() {
|
||||
MessageFactory<IsoMessage> mf = new MessageFactory<>();
|
||||
mf.setUseBinaryMessages(true);
|
||||
mf.setUseBinaryBitmap(true);
|
||||
mf.setVariableLengthFieldsInHex(false);
|
||||
mf.setCharacterEncoding(encode);
|
||||
mf.setForceStringEncoding(true);
|
||||
return mf;
|
||||
}
|
||||
|
||||
public HashMap<Integer, FieldParseInfo> getFullSpecMap(String enc) {
|
||||
if (fullSpecMap != null) {
|
||||
return fullSpecMap;
|
||||
}
|
||||
|
||||
fullSpecMap = new HashMap<>();
|
||||
|
||||
fullSpecMap.put(2, FieldParseInfo.getInstance(IsoType.LLBCDBIN, 10, encode));
|
||||
fullSpecMap.put(3, FieldParseInfo.getInstance(IsoType.BINARY, 3, encode));
|
||||
fullSpecMap.put(4, FieldParseInfo.getInstance(IsoType.BINARY, 6, encode));
|
||||
fullSpecMap.put(7, FieldParseInfo.getInstance(IsoType.BINARY, 5, encode));
|
||||
fullSpecMap.put(11, FieldParseInfo.getInstance(IsoType.BINARY, 3, encode));
|
||||
fullSpecMap.put(12, FieldParseInfo.getInstance(IsoType.BINARY, 3, encode));
|
||||
fullSpecMap.put(13, FieldParseInfo.getInstance(IsoType.BINARY, 2, encode));
|
||||
fullSpecMap.put(14, FieldParseInfo.getInstance(IsoType.BINARY, 2, encode));
|
||||
fullSpecMap.put(18, FieldParseInfo.getInstance(IsoType.BINARY, 2, encode));
|
||||
fullSpecMap.put(22, FieldParseInfo.getInstance(IsoType.BINARY, 2, encode));
|
||||
fullSpecMap.put(23, FieldParseInfo.getInstance(IsoType.BINARY, 2, encode));
|
||||
fullSpecMap.put(25, FieldParseInfo.getInstance(IsoType.BINARY, 1, encode));
|
||||
fullSpecMap.put(35, FieldParseInfo.getInstance(IsoType.LLBCDBIN, 19, encode));
|
||||
fullSpecMap.put(37, FieldParseInfo.getInstance(IsoType.ALPHA, 12, encode));
|
||||
fullSpecMap.put(38, FieldParseInfo.getInstance(IsoType.ALPHA, 6, encode));
|
||||
fullSpecMap.put(39, FieldParseInfo.getInstance(IsoType.ALPHA, 2, encode));
|
||||
fullSpecMap.put(41, FieldParseInfo.getInstance(IsoType.ALPHA, 8, encode));
|
||||
fullSpecMap.put(42, FieldParseInfo.getInstance(IsoType.ALPHA, 15, encode));
|
||||
fullSpecMap.put(43, FieldParseInfo.getInstance(IsoType.ALPHA, 40, encode));
|
||||
fullSpecMap.put(47, FieldParseInfo.getInstance(IsoType.LLLVAR, 256, encode));
|
||||
fullSpecMap.put(48, FieldParseInfo.getInstance(IsoType.LLLVAR, 256, encode));
|
||||
fullSpecMap.put(52, FieldParseInfo.getInstance(IsoType.BINARY, 8, encode));
|
||||
fullSpecMap.put(54, FieldParseInfo.getInstance(IsoType.LLLVAR, 120, encode));
|
||||
fullSpecMap.put(55, FieldParseInfo.getInstance(IsoType.LLLVAR, 255, encode));
|
||||
fullSpecMap.put(57, FieldParseInfo.getInstance(IsoType.LLLVAR, 255, encode));
|
||||
fullSpecMap.put(58, FieldParseInfo.getInstance(IsoType.LLLVAR, 255, encode));
|
||||
fullSpecMap.put(60, FieldParseInfo.getInstance(IsoType.LLLVAR, 120, encode));
|
||||
fullSpecMap.put(61, FieldParseInfo.getInstance(IsoType.LLLVAR, 120, encode));
|
||||
fullSpecMap.put(62, FieldParseInfo.getInstance(IsoType.LLLVAR, 512, encode));
|
||||
fullSpecMap.put(63, FieldParseInfo.getInstance(IsoType.LLLVAR, 512, encode));
|
||||
fullSpecMap.put(120, FieldParseInfo.getInstance(IsoType.LLLVAR, 700, encode));
|
||||
fullSpecMap.put(121, FieldParseInfo.getInstance(IsoType.LLLVAR, 500, encode));
|
||||
fullSpecMap.put(122, FieldParseInfo.getInstance(IsoType.LLLVAR, 350, encode));
|
||||
fullSpecMap.put(123, FieldParseInfo.getInstance(IsoType.LLLVAR, 999, encode));
|
||||
fullSpecMap.put(124, FieldParseInfo.getInstance(IsoType.LLLVAR, 450, encode));
|
||||
fullSpecMap.put(125, FieldParseInfo.getInstance(IsoType.LLLVAR, 255, encode));
|
||||
|
||||
return fullSpecMap;
|
||||
}
|
||||
|
||||
public String getFieldName(int key) {
|
||||
if (fullFieldNameMap == null) {
|
||||
fullFieldNameMap = new HashMap<>();
|
||||
fullFieldNameMap.put(1, "Secondary Bit Map");
|
||||
fullFieldNameMap.put(2, "Primary Account Number");
|
||||
fullFieldNameMap.put(3, "Processing code");
|
||||
fullFieldNameMap.put(4, "Amount,transaction");
|
||||
fullFieldNameMap.put(7, "Transmission date & time");
|
||||
fullFieldNameMap.put(11, "System audit trace number");
|
||||
fullFieldNameMap.put(12, "Time, local transaction");
|
||||
fullFieldNameMap.put(13, "Date, local transaction");
|
||||
fullFieldNameMap.put(14, "Date, expiration");
|
||||
fullFieldNameMap.put(18, "Merchant type");
|
||||
fullFieldNameMap.put(22, "POS entry mode");
|
||||
fullFieldNameMap.put(23, "Card sequence number");
|
||||
fullFieldNameMap.put(25, "POS condition code");
|
||||
fullFieldNameMap.put(35, "Track 2 data");
|
||||
fullFieldNameMap.put(37, "Retrieval reference number");
|
||||
fullFieldNameMap.put(38, "Authorisation ID response");
|
||||
fullFieldNameMap.put(39, "Response code");
|
||||
fullFieldNameMap.put(41, "Terminal ID");
|
||||
fullFieldNameMap.put(42, "Card acceptor ID");
|
||||
fullFieldNameMap.put(43, "Card acceptor name/location");
|
||||
fullFieldNameMap.put(47, "Private Use");
|
||||
fullFieldNameMap.put(48, "Request header");
|
||||
fullFieldNameMap.put(52, "PIN data");
|
||||
fullFieldNameMap.put(54, "Private Use");
|
||||
fullFieldNameMap.put(55, "ICC system related data");
|
||||
fullFieldNameMap.put(57, "Private Use");
|
||||
fullFieldNameMap.put(58, "Private Use");
|
||||
fullFieldNameMap.put(60, "Private Use");
|
||||
fullFieldNameMap.put(61, "Private Use");
|
||||
fullFieldNameMap.put(62, "Private Use");
|
||||
fullFieldNameMap.put(63, "Private Use");
|
||||
fullFieldNameMap.put(120, "Private Use");
|
||||
fullFieldNameMap.put(121, "Private Use");
|
||||
fullFieldNameMap.put(122, "Response detail");
|
||||
fullFieldNameMap.put(123, "Response detail");
|
||||
fullFieldNameMap.put(124, "Private Use");
|
||||
fullFieldNameMap.put(125, "Private Use");
|
||||
}
|
||||
|
||||
return fullFieldNameMap.get(new Integer(key));
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append("[ISO8583 Silverlake message]");
|
||||
sb.append("\n" + super.toString());
|
||||
sb.append("\n");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.eactive.eai.rms.bap.adaptor.socket;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
|
||||
@Controller
|
||||
public class BapConnSessionController extends BapBaseAnnotationController {
|
||||
|
||||
@RequestMapping(value= "/bap/adapter/socket/connStatus.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/adapter/socket/connStatus.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request) throws Exception {
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.adapter.socket.SocketSessionCommand","");
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
HashMap<String, Object> returnMap = agentUtilService.broadcast(command);
|
||||
Iterator<String> iter = returnMap.keySet().iterator();
|
||||
String svrName = iter.next();
|
||||
Object object = returnMap.get(svrName);
|
||||
|
||||
if ( object != null && ( object instanceof List ) ){
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Map<String, Serializable>> list = (List<Map<String, Serializable>>)object;
|
||||
resultMap.put("rows" , list);
|
||||
}
|
||||
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/adapter/socket/connStatus.json", params = "cmd=TRANSACTION")
|
||||
public ModelAndView control(HttpServletRequest request, String startStop, String uuid) throws Exception {
|
||||
|
||||
String[] args = new String[4];
|
||||
args[0] = startStop;
|
||||
args[1] = "";
|
||||
args[2] = "";
|
||||
args[3] = uuid;
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.adapter.socket.SocketStartStopCommand",args);
|
||||
HashMap<String, Object> resultMap = agentUtilService.broadcast(command);
|
||||
Iterator<String> iter = resultMap.keySet().iterator();
|
||||
String svrName = iter.next();
|
||||
String message = (String)resultMap.get(svrName);
|
||||
|
||||
Map<String, Object> returnMap = new HashMap<String, Object>();
|
||||
returnMap.put("result" , message);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",returnMap);
|
||||
return modelAndView;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.eactive.eai.rms.bap.adaptor.socket;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
|
||||
@Controller
|
||||
public class BapInstStatusController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapInstStatusService")
|
||||
private BapInstStatusService bapInstStatusService;
|
||||
|
||||
@RequestMapping(value= "/bap/adapter/socket/instStatus.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/adapter/socket/instStatus.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = bapInstStatusService.selectList();
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.eactive.eai.rms.bap.adaptor.socket;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapInstStatusDao")
|
||||
public class BapInstStatusDao extends SqlMapClientTemplateDao {
|
||||
|
||||
|
||||
@SuppressWarnings({ "deprecation", "unchecked" })
|
||||
public List<HashMap<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
return template.queryForList("BapInstStatus.findInstStatusList", param);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.eactive.eai.rms.bap.adaptor.socket;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.eactive.eai.rms.bap.common.base.BapBaseService;
|
||||
|
||||
@Service("bapInstStatusService")
|
||||
public class BapInstStatusService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapInstStatusDao")
|
||||
private BapInstStatusDao bapInstStatusDao;
|
||||
|
||||
public HashMap<String, Object> selectList() throws Exception {
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
|
||||
List<HashMap<String, Object>> list = bapInstStatusDao.selectList(paramMap);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
package com.eactive.eai.rms.bap.adaptor.socket;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
|
||||
@Controller
|
||||
public class BapServerSocketController extends BapBaseAnnotationController {
|
||||
|
||||
@RequestMapping(value= "/bap/adapter/socket/serverStatus.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/adapter/socket/serverStatus.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request) throws Exception {
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.adapter.socket.SocketServerCommand","");
|
||||
Map<String, Object> returnMap = agentUtilService.broadcast(command);
|
||||
Iterator<String> iter = returnMap.keySet().iterator();
|
||||
List<Map<String, Serializable>> listAll = new ArrayList<Map<String, Serializable>>();
|
||||
while ( iter.hasNext() ) {
|
||||
String svrName = iter.next();
|
||||
try {
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Map<String, Serializable>> list = (List<Map<String, Serializable>>)returnMap.get(svrName);
|
||||
listAll.addAll(list);
|
||||
} catch (Exception e) {
|
||||
logger.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("rows" , listAll);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/adapter/socket/serverStatus.json", params = "cmd=TRANSACTION")
|
||||
public ModelAndView control(HttpServletRequest request, String startStop, String group, String adapter) throws Exception {
|
||||
|
||||
String[] args = new String[3];
|
||||
args[0] = startStop;
|
||||
args[1] = group;
|
||||
args[2] = adapter;
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.adapter.socket.SocketStartStopCommand",args);
|
||||
HashMap<String, Object> resultMap = agentUtilService.broadcast(command);
|
||||
Iterator<String> iter = resultMap.keySet().iterator();
|
||||
String svrName = iter.next();
|
||||
String message = (String)resultMap.get(svrName);
|
||||
|
||||
Map<String, Object> returnMap = new HashMap<String, Object>();
|
||||
returnMap.put("result" , message);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",returnMap);
|
||||
return modelAndView;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.eactive.eai.rms.bap.common.base;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
|
||||
import com.eactive.eai.rms.common.base.BaseService;
|
||||
import com.eactive.eai.rms.onl.common.service.AgentUtilService;
|
||||
|
||||
public class BapBaseService extends BaseService{
|
||||
|
||||
/** The agentUtil service. */
|
||||
@Autowired
|
||||
@Qualifier("bapAgentUtilService")
|
||||
public AgentUtilService agentUtilService;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,263 @@
|
||||
package com.eactive.eai.rms.bap.common.service;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.net.ConnectException;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.ProtocolException;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.eactive.eai.agent.command.Command;
|
||||
import com.eactive.eai.rms.bap.manage.comm.server.BapServerService;
|
||||
import com.eactive.eai.rms.onl.common.service.AgentUtilService;
|
||||
|
||||
/**
|
||||
* 1. 기능 : 등록된 EAI Server 에 Command를 broadcast
|
||||
* 2. 처리 개요 : 등록된 EAI Server 에 Command를 broadcast
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @see 관련 기능을 참조
|
||||
* @since
|
||||
*
|
||||
*/
|
||||
|
||||
@Service("bapAgentUtilService")
|
||||
public class BapAgentUtilServiceImpl implements AgentUtilService {
|
||||
private final Logger logger = Logger.getLogger(getClass());
|
||||
final static String SERVLET_URL = "/BAPWeb/WebAgent";
|
||||
|
||||
private static int DEFAULT_CONNECT_TIME_OUT = 300; // 0 값을 입력하면 디폴트 값이 쓰이는 듯.
|
||||
|
||||
/**
|
||||
* eaiServerInfoService 를 대체한다.
|
||||
*/
|
||||
@Autowired
|
||||
@Qualifier("bapServerService")
|
||||
private BapServerService bapServerService;
|
||||
|
||||
/**
|
||||
* 1. 기능 : AgentUtil 기본 생성자
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
* @exception
|
||||
**/
|
||||
public BapAgentUtilServiceImpl() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Active-Standby 형태 일때 ip , port는 같고 인스턴스및 host가 다를경우 때문에 getEaiServerIpPortForActiveStandby 를 사용
|
||||
* 메모리 동기화시 한곳만 동기화 하면되고 데이터는 2개의 row가 존재함
|
||||
*
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
private HashMap<String, String> getAllSvrUrl(String instanceName) throws Exception {
|
||||
|
||||
HashMap<String, String> resultMap = new HashMap<String, String>();
|
||||
|
||||
//HashMap<String, Object> map = bapServerService.getEaiServerIpPortForActiveStandby();
|
||||
List<Map<String, Object>> list = bapServerService.getEaiServerIpPort();
|
||||
if (list != null) {
|
||||
for (int inx = 0; inx < list.size(); inx++) {
|
||||
Map<String, Object> map = list.get(inx);
|
||||
if ( instanceName == null || map.get("EAISVRINSTNM").toString().equals(instanceName)) {
|
||||
String svrIp = (String) map.get("EAISVRIP");
|
||||
String svrPort = (String) map.get("EAISVRLSNPORT");
|
||||
StringBuffer urlBuf = new StringBuffer();
|
||||
urlBuf.append("http://");
|
||||
urlBuf.append(svrIp + ":" + svrPort);
|
||||
urlBuf.append(SERVLET_URL);
|
||||
|
||||
resultMap.put( (String) map.get("EAISVRINSTNM"), urlBuf.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public HashMap<String, Object> broadcast(String serviceKey, Command command) throws Exception {
|
||||
return broadcast(command);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> broadcast(Command command) throws Exception {
|
||||
return broadcast(command, null);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> broadcast(Command command, String instanceName) throws Exception {
|
||||
|
||||
URLConnection urlCon;
|
||||
HashMap<String, String> servers = getAllSvrUrl(instanceName);
|
||||
|
||||
HashMap<String, Object> returnValue = new HashMap<String, Object>();
|
||||
|
||||
if (servers != null) {
|
||||
Iterator<String> it = servers.keySet().iterator();
|
||||
String svrName = "";
|
||||
String url = "";
|
||||
Object response = "";
|
||||
|
||||
while (it.hasNext()) {
|
||||
svrName = it.next();
|
||||
url = servers.get(svrName);
|
||||
|
||||
urlCon = getURLConnection(url);
|
||||
|
||||
if( logger.isDebugEnabled() ) {
|
||||
logger.debug("메모리동기화:cmd=" + command.getClass().getSimpleName() + " ,url=" + url);
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
if(urlCon != null){ //취약점소스 수정 2020.08.27
|
||||
response = sendCommand(urlCon, command);
|
||||
}
|
||||
|
||||
returnValue.put(svrName, response);
|
||||
} catch (Exception e) {
|
||||
logger.error("AgentUtil] broadcast Excpetion - " + url
|
||||
+ e.getMessage());
|
||||
returnValue.put(svrName, e.getMessage());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
logger.error("AgentUtil] broadcast Error. - url is null");
|
||||
|
||||
}
|
||||
return returnValue;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 해당 URLConnection으로 command 전송 처리 결과를 반환
|
||||
* 2. 처리 개요 : 해당 URLConnection으로 command 전송하고 처리 결과를 반환
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param urlCon 연결할 URLConnection
|
||||
* @param command 전송할 Command
|
||||
* @return String 처리된 결과
|
||||
* @exception Exception
|
||||
**/
|
||||
private Object sendCommand(URLConnection urlCon, Command command)
|
||||
throws Exception {
|
||||
ObjectOutputStream oos = null;
|
||||
ObjectInputStream ois = null;
|
||||
Object response = "";
|
||||
|
||||
// 2009.05.22 서버가 다운되어 있는 경우 응답시간이 너무 길어서 timeout 값을 지정함.
|
||||
// 2009.07.09 타임아웃 값을 3000 -> 100 으로 조정함.
|
||||
urlCon.setConnectTimeout(DEFAULT_CONNECT_TIME_OUT);
|
||||
|
||||
try {
|
||||
oos = new ObjectOutputStream(urlCon.getOutputStream());
|
||||
oos.writeObject(command);
|
||||
oos.flush();
|
||||
if( logger.isDebugEnabled() ) {
|
||||
logger.debug("AgentUtil] SendCommand - "
|
||||
+ urlCon.getURL().toString());
|
||||
}
|
||||
|
||||
ois = new ObjectInputStream(urlCon.getInputStream());
|
||||
response = ois.readObject();
|
||||
|
||||
} catch (ConnectException e) {
|
||||
logger.error("AgentUtil] sendCommand ConnectException. - "
|
||||
+ urlCon.getURL() + " can't Connect" + e.getMessage());
|
||||
throw e;
|
||||
} catch (IOException e2) {
|
||||
//e2.printStackTrace();
|
||||
logger.error("AgentUtil] sendCommand IOException. - "
|
||||
+ urlCon.getURL() + " error=" + e2.getMessage());
|
||||
throw e2;
|
||||
} catch (Exception e) {
|
||||
logger.error("AgentUtil] sendCommand Exception. - "
|
||||
+ urlCon.getURL() + e.getMessage());
|
||||
throw e;
|
||||
} finally {
|
||||
try {
|
||||
if (oos != null) {
|
||||
oos.close();
|
||||
}
|
||||
if (ois != null) {
|
||||
ois.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
oos = null;
|
||||
logger.error("AgentUtil] sendCommand Error. - "
|
||||
+ e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 지정된 url의 URLConnection 생성
|
||||
* 2. 처리 개요 : 지정된 url의 URLConnection 생성
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param url URLConnection을 생성을 위한 url
|
||||
* @return URLConnection 생성된 URLConnection
|
||||
* @exception
|
||||
**/
|
||||
private URLConnection getURLConnection(String url) {
|
||||
URL u = null;
|
||||
try {
|
||||
u = new URL(url);
|
||||
} catch (MalformedURLException e) {
|
||||
logger.error( e );
|
||||
}
|
||||
|
||||
HttpURLConnection conn = null;
|
||||
|
||||
try {
|
||||
conn = (HttpURLConnection) u.openConnection();
|
||||
} catch (ConnectException ce) {
|
||||
logger.error( ce );
|
||||
} catch (IOException ie) {
|
||||
logger.error( ie );
|
||||
} catch (Exception e) {
|
||||
logger.error( e );
|
||||
}
|
||||
|
||||
if (conn != null) {
|
||||
conn.setDoInput(true);
|
||||
conn.setDoOutput(true);
|
||||
conn.setUseCaches(false);
|
||||
} else {
|
||||
logger.error("AgentUtil] getURLConnection Error. - " + url
|
||||
+ " 의 HttpURLConnection 을 생성할 수 없습니다.");
|
||||
}
|
||||
|
||||
try {
|
||||
if (conn != null) {
|
||||
conn.setRequestMethod("POST");
|
||||
}
|
||||
} catch (ProtocolException pe) {
|
||||
logger.error("AgentUtil] getURLConnection ProtocolException. - "
|
||||
+ pe.getMessage());
|
||||
}
|
||||
if (conn != null) {
|
||||
conn.setRequestProperty("Content-type", "application/octet-stream");
|
||||
}
|
||||
return conn;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.eactive.eai.rms.bap.common.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapLogTableDao")
|
||||
public class BapLogTableDao extends SqlMapClientTemplateDao {
|
||||
|
||||
final Logger logger = Logger.getLogger(BapLogTableDao.class);
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public long [] clearLogTable(HashMap<String, String> paramMap, int keyLevel) {
|
||||
|
||||
long [] cnt = new long[3];
|
||||
|
||||
cnt[0] = 0;
|
||||
cnt[1] = 0;
|
||||
cnt[2] = 0;
|
||||
|
||||
for (int inx = 0; inx < power( 16, keyLevel); inx++) {
|
||||
paramMap.put("uuid", toHex(inx,keyLevel));
|
||||
cnt[0] += this.template.update("BapLogDelete.clearStage", paramMap);
|
||||
cnt[1] += this.template.update("BapLogDelete.clearNoFileStage", paramMap);
|
||||
cnt[2] += this.template.update("BapLogDelete.clearNoFileMaster", paramMap);
|
||||
}
|
||||
return cnt;
|
||||
}
|
||||
private int power( int x, int y ){
|
||||
if ( y == 1 )
|
||||
return x;
|
||||
return x * power( x, y -1);
|
||||
}
|
||||
|
||||
private String toHex( int val, int len){
|
||||
StringBuffer sb = new StringBuffer();
|
||||
String sval = Integer.toHexString(val);
|
||||
for ( int inx = 0; inx < len - sval.length(); inx++){
|
||||
sb.append('0');
|
||||
}
|
||||
sb.append(sval);
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
package com.eactive.eai.rms.bap.common.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.quartz.Job;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.quartz.JobExecutionException;
|
||||
import org.quartz.JobKey;
|
||||
import org.quartz.SchedulerException;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
|
||||
import com.eactive.eai.common.util.DatetimeUtil;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceContextHolder;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceType;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
|
||||
|
||||
|
||||
|
||||
public class BapLogTableDeleteJob implements Job {
|
||||
/**
|
||||
* Logger for this class
|
||||
*/
|
||||
private static final Logger logger = Logger.getLogger(BapLogTableDeleteJob.class);
|
||||
|
||||
private transient BapLogTableDeleteService bapLogTableDeleteService;
|
||||
|
||||
|
||||
@Override
|
||||
public void execute(JobExecutionContext context) throws JobExecutionException {
|
||||
JobKey jobKey = context.getJobDetail().getKey();
|
||||
String data ="";
|
||||
for(String key : context.getJobDetail().getJobDataMap().getKeys()){
|
||||
data =data + key +"="+context.getJobDetail().getJobDataMap().getString(key) + ",";
|
||||
}
|
||||
logger.error("excute TestJob "+jobKey + "data ("+data+")");
|
||||
|
||||
ApplicationContext appContext = null;
|
||||
try {
|
||||
appContext = (ApplicationContext)context.getScheduler().getContext().get("applicationContext");
|
||||
} catch (SchedulerException e) {
|
||||
logger.error("applicationContext get module error",e);
|
||||
return ;
|
||||
}
|
||||
bapLogTableDeleteService = (BapLogTableDeleteService)appContext.getBean("bapLogTableDeleteService");
|
||||
|
||||
logger.info("START BAP_EMPTY_LOG_TABLE_SCHEDULER...");
|
||||
|
||||
int keyLevel = 2;
|
||||
int nofileStart = 7;
|
||||
int nofileEnd = 3;
|
||||
int stageStart = 37;
|
||||
int stageEnd = 30;
|
||||
|
||||
try{
|
||||
keyLevel = Integer.parseInt(context.getJobDetail().getJobDataMap().getString("key.level"));
|
||||
}catch ( Exception e) {
|
||||
logger.error("keyLevel error",e);
|
||||
}
|
||||
try{
|
||||
nofileStart = Integer.parseInt(context.getJobDetail().getJobDataMap().getString("nofile.start"));
|
||||
}catch ( Exception e) {
|
||||
logger.error("nofileStart error",e);
|
||||
}
|
||||
try{
|
||||
nofileEnd = Integer.parseInt(context.getJobDetail().getJobDataMap().getString("nofile.end"));
|
||||
}catch ( Exception e) {
|
||||
logger.error("nofileEnd error",e);
|
||||
}
|
||||
try{
|
||||
stageStart = Integer.parseInt(context.getJobDetail().getJobDataMap().getString("stage.start"));
|
||||
}catch ( Exception e) {
|
||||
logger.error("stageStart error",e);
|
||||
}
|
||||
try{
|
||||
stageEnd = Integer.parseInt(context.getJobDetail().getJobDataMap().getString("stage.end"));
|
||||
}catch ( Exception e) {
|
||||
logger.error("stageEnd error",e);
|
||||
}
|
||||
|
||||
// DataSourceType dataType = DataSourceTypeManager.getDataSourceType(DataSourceTypeManager.ISG);
|
||||
DataSourceType dataType = DataSourceTypeManager.getDataSourceType(DataSourceTypeManager.BAP);
|
||||
|
||||
DataSourceContextHolder.setDataSourceType(dataType);
|
||||
HashMap<String, String> paramMap = new HashMap<String, String>();
|
||||
paramMap.put("nofileStart", DatetimeUtil.getDate(-1 * nofileStart)+"0000");
|
||||
paramMap.put("nofileEnd", DatetimeUtil.getDate(-1 * nofileEnd)+"9999");
|
||||
paramMap.put("stageStart", DatetimeUtil.getDate(-1 * stageStart)+"0000");
|
||||
paramMap.put("stageEnd", DatetimeUtil.getDate(-1 * stageEnd)+"9999");
|
||||
|
||||
try{
|
||||
long [] cnt = bapLogTableDeleteService.clearLogTable(paramMap, keyLevel );
|
||||
logger.info("[BAP_EMPTY_LOG_TABLE_SCHEDULER]스테이지 로그 삭제 건수:" + cnt[0]);
|
||||
logger.info("[BAP_EMPTY_LOG_TABLE_SCHEDULER]파일없는 스테이지 로그 삭제 건수:" + cnt[1]);
|
||||
logger.info("[BAP_EMPTY_LOG_TABLE_SCHEDULER]파일없는 마스터 로그 삭제 건수:" + cnt[2]);
|
||||
}catch ( Exception e){
|
||||
logger.error("...BAP_EMPTY_LOG_TABLE_SCHEDULER error="+e.getMessage(),e);
|
||||
}
|
||||
logger.info("...BAP_EMPTY_LOG_TABLE_SCHEDULER END");
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.eactive.eai.rms.bap.common.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service("bapLogTableDeleteService")
|
||||
public class BapLogTableDeleteService {
|
||||
|
||||
/**
|
||||
* Logger for this class
|
||||
*/
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapLogTableDao")
|
||||
private BapLogTableDao bapLogTableDao;
|
||||
|
||||
public long [] clearLogTable(HashMap<String, String> paramMap, int keyLevel) {
|
||||
return bapLogTableDao.clearLogTable(paramMap, keyLevel);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,386 @@
|
||||
package com.eactive.eai.rms.bap.loader.controller;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.Command;
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.bap.loader.service.TransactionBAPService;
|
||||
import com.eactive.eai.rms.common.context.MonitoringContext;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceContextHolder;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceType;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
|
||||
import com.eactive.eai.rms.common.interceptor.InterceptorSkipController;
|
||||
import com.eactive.eai.rms.onl.common.service.AgentUtilService;
|
||||
import com.eactive.eai.rms.onl.common.util.DateUtil;
|
||||
import com.eactive.eai.rms.onl.common.util.FileWriteUtil;
|
||||
import com.eactive.eai.rms.onl.common.util.SimpleFileUtils;
|
||||
|
||||
@Controller
|
||||
@RequestMapping(value = { "/loaderBAP.do", "/loaderBAP.json" })
|
||||
public class LoaderBAPController implements InterceptorSkipController {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(LoaderBAPController.class);
|
||||
private static final String resultView = "common/loadResult";
|
||||
|
||||
@Autowired
|
||||
private MonitoringContext monitoringContext;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("loaderBAPService")
|
||||
private TransactionBAPService loaderBAPService;
|
||||
|
||||
/** The agentUtil service. */
|
||||
@Autowired
|
||||
@Qualifier("bapAgentUtilService")
|
||||
public AgentUtilService agentUtilService;
|
||||
|
||||
/**
|
||||
* 형상관리에서 layout을 로딩한다. *
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @param schema
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(params = { "cmd=fileinfo", "control=upload" })
|
||||
public ModelAndView fileInfoLoad(HttpServletRequest request, HttpServletResponse response, String method,
|
||||
String serviceType, String bzwkDstcd, String fileName) throws Exception {
|
||||
long sTotalTime = System.currentTimeMillis();
|
||||
boolean isJSONResult = false;
|
||||
if (request.getRequestURI().endsWith("json")) {
|
||||
isJSONResult = true;
|
||||
}
|
||||
|
||||
String iomapPath = "";
|
||||
if ("aio".equals(method)) {
|
||||
iomapPath = monitoringContext.getStringProperty(MonitoringContext.IOMAP_UPLOAD_AIO_PATH);
|
||||
} else {
|
||||
iomapPath = monitoringContext.getStringProperty(MonitoringContext.IOMAP_UPLOAD_PATH);
|
||||
}
|
||||
|
||||
String savePath = monitoringContext.getStringProperty(MonitoringContext.IOMAP_AFTER_UPLOAD_PATH);
|
||||
// String subPath = serviceType + File.separator + bzwkDstcd + File.separator +
|
||||
// FileWriteUtil.LAYOUT + File.separator;
|
||||
String subPath = serviceType + File.separator + bzwkDstcd + File.separator;
|
||||
String path = iomapPath + subPath;
|
||||
|
||||
// if (!DataSourceTypeManager.isOnlineForName(serviceType)){
|
||||
// HashMap<String,String> result = new HashMap<String,String>();
|
||||
// result.put("status", "error");
|
||||
// result.put("message", "정의 되지 않은 서비스 타입입니다. 받은 서비스 타입="+ serviceType);
|
||||
// if (isJSONResult){
|
||||
// return new ModelAndView("jsonView", result);
|
||||
// }else{
|
||||
// return new ModelAndView(resultView, "result", result);
|
||||
// }
|
||||
// }
|
||||
try {
|
||||
if (serviceType != null) {
|
||||
//request.getSession().setAttribute(CommonConstants.SERVICE_TYPE_KEY, serviceType);
|
||||
DataSourceType dt = DataSourceTypeManager.getDataSourceType("BAP");
|
||||
if (dt != null) { // 취약점소스 수정 2020.08.27
|
||||
DataSourceContextHolder.setDataSourceType(dt);
|
||||
loaderBAPService.insertFileInfoLoading(dt, path, fileName);
|
||||
}
|
||||
}
|
||||
// logger.info("-----layout UpLoad Db Start-----");
|
||||
long sTimeForDb = System.currentTimeMillis();
|
||||
long eTimeForDb = System.currentTimeMillis();
|
||||
long dbTime = eTimeForDb - sTimeForDb;
|
||||
|
||||
// logger.info("-----layout Upload Mem Start-----");
|
||||
long sTimeForMem = System.currentTimeMillis();
|
||||
HashMap result = syncResult(new CommonCommand("com.eactive.eai.agent.transformer.ReloadLayoutCommand"),
|
||||
fileName);
|
||||
long eTimeForMem = System.currentTimeMillis();
|
||||
long memTime = eTimeForMem - sTimeForMem;
|
||||
// logger.info("2:Memory Processed Time : " + (eTimeForMem-sTimeForMem));
|
||||
|
||||
// HashMap result = new HashMap();
|
||||
// result.put("status", "success");
|
||||
|
||||
long eTotalTime = System.currentTimeMillis();
|
||||
long totTime = eTotalTime - sTotalTime;
|
||||
// logger.info(" FILENAME DB MEM TOTAL" );
|
||||
logger.info("LoaderLogging Layout " + fileName + " " + dbTime + " " + memTime
|
||||
+ " " + totTime);
|
||||
|
||||
// file move
|
||||
if (!((String) result.get("status")).equals("error")) {
|
||||
String today = DateUtil.getDateTime("yyyy-MM-dd");
|
||||
String newPath = savePath + today + File.separator + subPath;
|
||||
try {
|
||||
Boolean isMoved = SimpleFileUtils.moveFile(path, newPath, fileName, fileName);
|
||||
if (isMoved) {
|
||||
logger.info(fileName + " is moved to " + newPath);
|
||||
} else {
|
||||
logger.info(fileName + " is moved NOT to " + newPath);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.info("Failed to move File");
|
||||
}
|
||||
}
|
||||
if (isJSONResult) {
|
||||
return new ModelAndView("jsonView", result);
|
||||
} else {
|
||||
return new ModelAndView(resultView, "result", result);
|
||||
}
|
||||
// return new ModelAndView(resultView, "result", result.toString());
|
||||
} catch (Exception e) {
|
||||
HashMap result = new HashMap();
|
||||
result.put("status", "error");
|
||||
result.put("message", e.getMessage());
|
||||
logger.error("fileInfo Load Exception " + e.getMessage(), e);
|
||||
if (isJSONResult) {
|
||||
return new ModelAndView("jsonView", result);
|
||||
} else {
|
||||
return new ModelAndView(resultView, "result", result);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private HashMap syncResult(Command command, String fileName) throws Exception {
|
||||
// layout 동기화 service 에는 transaction 때문에 문제의 소지가 있음
|
||||
HashMap receive = new HashMap();
|
||||
HashMap result = new HashMap();
|
||||
|
||||
if (fileName != null) {
|
||||
String[] name = fileName.split("\\.");
|
||||
if (name.length > 0 && name[0] != null) {
|
||||
command.setArgs(name[0]);
|
||||
receive = agentUtilService.broadcast(command);
|
||||
}
|
||||
|
||||
String status = "success";
|
||||
for (Object o : receive.keySet()) {
|
||||
String key = (String) o;
|
||||
if (receive.get(key) == null || !"success".equals(receive.get(key))) {
|
||||
status = "error";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
result.put("status", status);
|
||||
result.put("message", receive.toString());
|
||||
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info(this.getClass().toString() + "] command = " + command.getClass().toString() + " fileName="
|
||||
+ fileName + " status = " + status + " message = " + receive.toString());
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 형상관리에서 파일정보를 download한다. *
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @param schema
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(params = { "cmd=fileinfo", "control=download" })
|
||||
public ModelAndView fileInfoDownLoad(HttpServletRequest request, HttpServletResponse response, String serviceType,
|
||||
String bzwkDstcd, String fileName) throws Exception {
|
||||
String iomapPath = monitoringContext.getStringProperty(MonitoringContext.IOMAP_DOWNLOAD_PATH);
|
||||
String path = iomapPath + serviceType + File.separator + bzwkDstcd + File.separator + "fileinfo"
|
||||
+ File.separator;
|
||||
boolean isJSONResult = false;
|
||||
if (request.getRequestURI().endsWith("json")) {
|
||||
isJSONResult = true;
|
||||
}
|
||||
|
||||
// TODO HD 에러저리 확인 적용 필요
|
||||
// if (!DataSourceTypeManager.isOnlineForName(serviceType)){
|
||||
// HashMap<String,String> result = new HashMap<String,String>();
|
||||
// result.put("status", "error");
|
||||
// result.put("message", "정의 되지 않은 서비스 타입입니다. 받은 서비스 타입="+ serviceType);
|
||||
// if (isJSONResult){
|
||||
// return new ModelAndView("jsonView", result);
|
||||
// }else{
|
||||
// return new ModelAndView(resultView, "result", result);
|
||||
// }
|
||||
// }
|
||||
try {
|
||||
if (fileName != null && serviceType != null) {
|
||||
|
||||
String[] temp = fileName.split("[.]");
|
||||
String serviceName = temp[0];
|
||||
|
||||
//request.getSession().setAttribute(CommonConstants.SERVICE_TYPE_KEY, serviceType);
|
||||
DataSourceType dt = DataSourceTypeManager.getDataSourceType("BAP");
|
||||
if (dt != null) {
|
||||
DataSourceContextHolder.setDataSourceType(dt);
|
||||
|
||||
loaderBAPService.fileInfoDownLoading(dt, path, serviceName);
|
||||
}
|
||||
}
|
||||
|
||||
HashMap<String, String> result = new HashMap<String, String>();
|
||||
String status = "success";
|
||||
result.put("status", status);
|
||||
result.put("message", "");
|
||||
if (isJSONResult) {
|
||||
return new ModelAndView("jsonView", result);
|
||||
} else {
|
||||
return new ModelAndView(resultView, "result", result.toString());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
HashMap<String, String> result = new HashMap<String, String>();
|
||||
result.put("status", "error");
|
||||
result.put("message", e.getMessage());
|
||||
logger.error("layout DownLoad Exception " + e.getMessage(), e);
|
||||
if (isJSONResult) {
|
||||
return new ModelAndView("jsonView", result);
|
||||
} else {
|
||||
return new ModelAndView(resultView, "result", result);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 형상관리에서 table을 로딩한다. *
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @param schema
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(params = { "cmd=admin", "control=upload" })
|
||||
public ModelAndView adminLoad(HttpServletRequest request, HttpServletResponse response, String serviceType,
|
||||
String bzwkDstcd, String fileName) throws Exception {
|
||||
|
||||
String iomapPath = monitoringContext.getStringProperty(MonitoringContext.IOMAP_UPLOAD_PATH);
|
||||
String path = iomapPath + serviceType + File.separator + bzwkDstcd + File.separator + FileWriteUtil.ADMIN
|
||||
+ File.separator;
|
||||
boolean isJSONResult = false;
|
||||
if (request.getRequestURI().endsWith("json")) {
|
||||
isJSONResult = true;
|
||||
}
|
||||
if (serviceType != null && !DataSourceTypeManager.isOnlineForName("BAP")) {
|
||||
HashMap<String, String> result = new HashMap<String, String>();
|
||||
result.put("status", "error");
|
||||
result.put("message", "정의 되지 않은 서비스 타입입니다. 받은 서비스 타입=" + serviceType);
|
||||
if (isJSONResult) {
|
||||
return new ModelAndView("jsonView", result);
|
||||
} else {
|
||||
return new ModelAndView(resultView, "result", result);
|
||||
}
|
||||
}
|
||||
try {
|
||||
if (serviceType != null) {
|
||||
//request.getSession().setAttribute(CommonConstants.SERVICE_TYPE_KEY, serviceType);
|
||||
DataSourceType dt = DataSourceTypeManager.getDataSourceType("BAP");
|
||||
if (dt != null) {// 취약점소스 수정 2020.08.25
|
||||
DataSourceContextHolder.setDataSourceType(dt);
|
||||
loaderBAPService.insertTableLoading(dt, path, fileName);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
HashMap result = new HashMap();
|
||||
result.put("status", "success");
|
||||
if (isJSONResult) {
|
||||
return new ModelAndView("jsonView", result);
|
||||
} else {
|
||||
return new ModelAndView(resultView, "result", result);
|
||||
}
|
||||
// return new ModelAndView(resultView, "result", result.toString());
|
||||
} catch (Exception e) {
|
||||
HashMap result = new HashMap();
|
||||
result.put("status", "error");
|
||||
result.put("message", e.getMessage());
|
||||
logger.error("admin Load Exception " + e.getMessage(), e);
|
||||
if (isJSONResult) {
|
||||
return new ModelAndView("jsonView", result);
|
||||
} else {
|
||||
return new ModelAndView(resultView, "result", result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 형상관리에서 table을 download한다. *
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @param schema
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(params = { "cmd=admin", "control=download" })
|
||||
public ModelAndView adminDownLoad(HttpServletRequest request, HttpServletResponse response, String serviceType,
|
||||
String bzwkDstcd, String fileName) throws Exception {
|
||||
|
||||
String iomapPath = monitoringContext.getStringProperty(MonitoringContext.IOMAP_DOWNLOAD_PATH);
|
||||
String path = iomapPath + serviceType + File.separator + bzwkDstcd + File.separator + FileWriteUtil.ADMIN
|
||||
+ File.separator;
|
||||
boolean isJSONResult = false;
|
||||
if (request.getRequestURI().endsWith("json")) {
|
||||
isJSONResult = true;
|
||||
}
|
||||
if (!DataSourceTypeManager.isOnlineForName("BAP")) {
|
||||
HashMap<String, String> result = new HashMap<String, String>();
|
||||
result.put("status", "error");
|
||||
result.put("message", "정의 되지 않은 서비스 타입입니다. 받은 서비스 타입=" + serviceType);
|
||||
if (isJSONResult) {
|
||||
return new ModelAndView("jsonView", result);
|
||||
} else {
|
||||
return new ModelAndView(resultView, "result", result);
|
||||
}
|
||||
}
|
||||
try {
|
||||
|
||||
if (fileName != null && serviceType != null) {
|
||||
String[] temp = fileName.split("[.]");
|
||||
String tableName = temp[0];
|
||||
|
||||
//request.getSession().setAttribute(CommonConstants.SERVICE_TYPE_KEY, serviceType);
|
||||
DataSourceType dt = DataSourceTypeManager.getDataSourceType("BAP");
|
||||
if (dt != null) {
|
||||
DataSourceContextHolder.setDataSourceType(dt);
|
||||
loaderBAPService.tableDownLoading(dt, path, tableName);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
HashMap<String, String> result = new HashMap<String, String>();
|
||||
String status = "success";
|
||||
result.put("status", status);
|
||||
result.put("message", "");
|
||||
if (isJSONResult) {
|
||||
return new ModelAndView("jsonView", result);
|
||||
} else {
|
||||
return new ModelAndView(resultView, "result", result);
|
||||
}
|
||||
// return new ModelAndView(resultView, "result", result.toString());
|
||||
} catch (Exception e) {
|
||||
HashMap<String, String> result = new HashMap<String, String>();
|
||||
result.put("status", "error");
|
||||
result.put("message", e.getMessage());
|
||||
logger.error("admin DownLoad Exception " + e.getMessage(), e);
|
||||
if (isJSONResult) {
|
||||
return new ModelAndView("jsonView", result);
|
||||
} else {
|
||||
return new ModelAndView(resultView, "result", result);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.eactive.eai.rms.bap.loader.controller;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.rms.bap.loader.service.SearchBAPService;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceContextHolder;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceType;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
|
||||
import com.eactive.eai.rms.common.interceptor.InterceptorSkipController;
|
||||
|
||||
@Controller
|
||||
public class SearchBAPController implements InterceptorSkipController {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(SearchBAPController.class);
|
||||
|
||||
@Autowired
|
||||
@Qualifier("searchBAPService")
|
||||
private SearchBAPService searchBAPService;
|
||||
|
||||
/**
|
||||
* 형상관리에서 자원정보를 조회한다.
|
||||
* *
|
||||
* @param request
|
||||
* @param response
|
||||
* @param schema
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value="/searchBAP.json",params="cmd=LIST")
|
||||
public ModelAndView search(HttpServletRequest request, HttpServletResponse response
|
||||
, String serviceType , @RequestParam HashMap<String,Object> paramMap ) throws Exception {
|
||||
// if (!DataSourceTypeManager.isOnlineForName(serviceType)){
|
||||
// HashMap<String,String> result = new HashMap<String,String>();
|
||||
// result.put("status", "error");
|
||||
// result.put("message", "정의 되지 않은 서비스 타입입니다. 받은 서비스 타입="+ serviceType);
|
||||
// return new ModelAndView("jsonView",result);
|
||||
// }
|
||||
//serviceType 설정
|
||||
if (serviceType != null) {
|
||||
DataSourceType dt = DataSourceTypeManager.getDataSourceType("BAP");
|
||||
if(dt != null){
|
||||
DataSourceContextHolder.setDataSourceType(dt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
HashMap map = searchBAPService.selectBAPList( request,0, 0, paramMap);
|
||||
|
||||
|
||||
Map resultMap = new HashMap();
|
||||
//resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.eactive.eai.rms.bap.loader.dao;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
import com.eactive.eai.rms.common.vo.SchemaIdVO;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
@Repository("BapInterfaceDeployDao")
|
||||
public class InterfaceDeployDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public <T extends SchemaIdVO> T selectDeploy(Map<String, Object> paramMap, Class<T> deployClass) {
|
||||
return (T) template.queryForObject("BapInterfaceDeploy.select" + deployClass.getSimpleName(), paramMap);
|
||||
}
|
||||
|
||||
public <T extends SchemaIdVO> void deleteAllDeploy(Map<String, Object> paramMap, Class<T> deployClass) {
|
||||
template.delete("BapInterfaceDeploy.deleteAll" + deployClass.getSimpleName(), paramMap);
|
||||
}
|
||||
|
||||
public <T extends SchemaIdVO> void insertDeploy(T deploy) {
|
||||
if (deploy == null) {
|
||||
logger.info("deploy object is null. skip progress");
|
||||
return;
|
||||
}
|
||||
template.insert("BapInterfaceDeploy.insert" + deploy.getClass().getSimpleName(), deploy);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.eactive.eai.rms.bap.loader.dao;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceType;
|
||||
|
||||
/**
|
||||
* The Class LayoutDao.
|
||||
* <ul>
|
||||
* <li>1. Function :</li>
|
||||
* <li>2. Summary :</li>
|
||||
* <li>3. Notification :</li>
|
||||
* </ul>
|
||||
*/
|
||||
public interface LoaderBAPDao {
|
||||
|
||||
public int load(DataSourceType dt,String table, ArrayList list) ;
|
||||
|
||||
public List<LinkedHashMap> selectTableData( DataSourceType dataSourceType, String tableName, String key1, String param1 ) ;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,207 @@
|
||||
package com.eactive.eai.rms.bap.loader.dao;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceType;
|
||||
|
||||
/**
|
||||
* The Class LayoutDao.
|
||||
* <ul>
|
||||
* <li>1. Function :</li>
|
||||
* <li>2. Summary :</li>
|
||||
* <li>3. Notification :</li>
|
||||
* </ul>
|
||||
*/
|
||||
@Repository("loaderBAPDao")
|
||||
@SuppressWarnings("unchecked")
|
||||
public class LoaderBAPDaoImpl extends SqlMapClientTemplateDao implements LoaderBAPDao {
|
||||
|
||||
public int load(DataSourceType dt,final String table, ArrayList list) {
|
||||
// DataSourceContextHolder.setDataSourceType(dt);
|
||||
int count = 0;
|
||||
HashMap hm = (HashMap)list.get(0);
|
||||
hm.put("schemaId", dt.getSchema());
|
||||
this.template.update("LoaderBAP.delete"+table, hm);
|
||||
|
||||
for (int i=0;i<list.size();i++){
|
||||
hm = (HashMap)list.get(i);
|
||||
hm.put("schemaId", dt.getSchema());
|
||||
count = count + this.template.update("LoaderBAP.insert"+table, hm);
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
// // Adapter Loading Sync
|
||||
// public int adapterLoadSync(DataSourceType dt,final String table, ArrayList list) {
|
||||
//// DataSourceContextHolder.setDataSourceType(dt);
|
||||
// int count = 0;
|
||||
// HashMap hm = (HashMap)list.get(0);
|
||||
// hm.put("schemaId", dt.getSchema());
|
||||
//
|
||||
// if(hm.containsKey("ADPTRUSEYN") && !"0".equals(hm.get("ADPTRUSEYN")))
|
||||
// hm.put("ADPTRUSEYN", "0");
|
||||
//
|
||||
// this.template.update("Loader.delete"+table, hm);
|
||||
//
|
||||
// for (int i=0;i<list.size();i++){
|
||||
// hm = (HashMap)list.get(i);
|
||||
// hm.put("schemaId", dt.getSchema());
|
||||
// count = count + this.template.update("Loader.insert"+table, hm);
|
||||
// }
|
||||
// return count;
|
||||
// }
|
||||
|
||||
// public int delete(DataSourceType dt,final String table, HashMap hm) {
|
||||
//// DataSourceContextHolder.setDataSourceType(dt);
|
||||
// //int count = 0;
|
||||
// hm.put("schemaId", dt.getSchema());
|
||||
// return this.template.update("Loader.delete"+table, hm);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// public int updateNode(DataSourceType dt,String instName) {
|
||||
// //int count = 0;
|
||||
//// DataSourceContextHolder.setDataSourceType(dt);
|
||||
//
|
||||
// HashMap hm = new HashMap();
|
||||
// hm.put("schemaId", dt.getSchema());
|
||||
// hm.put("instName", instName);
|
||||
// return this.template.update("Loader.updateNode", hm);
|
||||
// }
|
||||
//
|
||||
// public int updateInst(DataSourceType dt,String type, String value) {
|
||||
// //int count = 0;
|
||||
//// DataSourceContextHolder.setDataSourceType(dt);
|
||||
//
|
||||
// HashMap hm = new HashMap();
|
||||
// hm.put("schemaId", dt.getSchema());
|
||||
// hm.put("type", type);
|
||||
// hm.put("value", value);
|
||||
// return this.template.update("Loader.updateInst", hm);
|
||||
// }
|
||||
// public List<LinkedHashMap> selectTable(DataSourceType dt,String tableName ,String key, String value) {
|
||||
// //int count = 0;
|
||||
//// DataSourceContextHolder.setDataSourceType(dt);
|
||||
//
|
||||
// HashMap hm = new HashMap();
|
||||
// hm.put("schemaId", dt.getSchema());
|
||||
// hm.put("tableName", tableName);
|
||||
// hm.put("key", key);
|
||||
// hm.put("value", value);
|
||||
// return this.template.queryForList("Loader.selectTable", hm);
|
||||
// }
|
||||
// public int insertTable(DataSourceType dt,final String tableName, ArrayList list) {
|
||||
//// DataSourceContextHolder.setDataSourceType(dt);
|
||||
// int count = 0;
|
||||
// HashMap hm = new HashMap();
|
||||
// hm.put("schemaId", dt.getSchema());
|
||||
// hm.put("tableName", tableName);
|
||||
// this.template.update("Loader.deleteTable", hm);
|
||||
//
|
||||
// LinkedHashMap column = (LinkedHashMap)((LinkedHashMap)list.get(0)).clone();
|
||||
// ArrayList columnList = new ArrayList();
|
||||
// for (Object o:column.keySet()){
|
||||
// String key = (String)o;
|
||||
// columnList.add(key);
|
||||
// }
|
||||
//
|
||||
// LinkedHashMap<String,Object> value = new LinkedHashMap<String,Object>();
|
||||
// for (int i=0;i<list.size();i++){
|
||||
// value = (LinkedHashMap)list.get(i);
|
||||
//
|
||||
// ArrayList valueList = new ArrayList();
|
||||
// for (Object o:value.keySet()){
|
||||
// String key = (String)o;
|
||||
// valueList.add(value.get(key));
|
||||
// }
|
||||
// hm.put("schemaId", dt.getSchema());
|
||||
// hm.put("tableName", tableName);
|
||||
// hm.put("columnList", columnList);
|
||||
// hm.put("valueList", valueList);
|
||||
// count = count + this.template.update("Loader.insertTable", hm);
|
||||
// }
|
||||
// return count;
|
||||
// }
|
||||
//TODO hd 참고 후 삭제
|
||||
//List<LinkedHashMap> listTR07 = inboundErrorInfoDao.selectTableData(dt,"TSEAITR07", "LoutName", fileName);
|
||||
public List<LinkedHashMap> selectTableData( DataSourceType dataSourceType, String tableName, String key1, String param1 ) {
|
||||
logger.error("@@@@@@@@@@@@@@@selectTableData");
|
||||
final HashMap param = new HashMap();
|
||||
param.put("tableName", tableName);
|
||||
param.put("key1", key1);
|
||||
param.put("param1", param1);
|
||||
|
||||
return template.queryForList("LoaderBAP.selectTableData", param);
|
||||
|
||||
// return new SpecifiedDataSourceExecutor<List<LinkedHashMap>>(
|
||||
// dataSourceType) {
|
||||
// protected List<LinkedHashMap> doExecute() throws Exception {
|
||||
// return template.queryForList("Loader.selectTableData", param);
|
||||
// }
|
||||
// }.execute();
|
||||
}
|
||||
// public List<LinkedHashMap> selectTableDataLike( DataSourceType dataSourceType, String tableName, String key1, String param1 ) {
|
||||
// final HashMap param = new HashMap();
|
||||
//
|
||||
// param.put("tableName", tableName);
|
||||
// param.put("key1", key1);
|
||||
// param.put("param1", param1);
|
||||
//
|
||||
// return template.queryForList("Loader.selectTableDataLike", param);
|
||||
//
|
||||
//// return new SpecifiedDataSourceExecutor<List<LinkedHashMap>>(
|
||||
//// dataSourceType) {
|
||||
//// protected List<LinkedHashMap> doExecute() throws Exception {
|
||||
//// return template.queryForList("Loader.selectTableDataLike", param);
|
||||
//// }
|
||||
//// }.execute();
|
||||
// }
|
||||
// public List<LinkedHashMap> selectDataForTableName( DataSourceType dataSourceType, String tableName, String key1, String param1 ) {
|
||||
// final HashMap param = new HashMap();
|
||||
// param.put("key1", key1);
|
||||
// param.put("param1", param1);
|
||||
//
|
||||
// return template.queryForList("Loader.selectDataFor"+tableName, param);
|
||||
//
|
||||
//// return new SpecifiedDataSourceExecutor<List<LinkedHashMap>>(
|
||||
//// dataSourceType) {
|
||||
//// protected List<LinkedHashMap> doExecute() throws Exception {
|
||||
//// return template.queryForList("Loader.selectDataFor"+tableName, param);
|
||||
//// }
|
||||
//// }.execute();
|
||||
// }
|
||||
// public List<LinkedHashMap> selectTableDataForListValue( DataSourceType dataSourceType, String tableName, String key1, List<String> param1 ) {
|
||||
// final HashMap param = new HashMap();
|
||||
// param.put("tableName", tableName);
|
||||
// param.put("key1", key1);
|
||||
// param.put("param1", param1);
|
||||
//
|
||||
// return template.queryForList("Loader.selectTableDataForListValue", param);
|
||||
//
|
||||
//// return new SpecifiedDataSourceExecutor<List<LinkedHashMap>>(
|
||||
//// dataSourceType) {
|
||||
//// protected List<LinkedHashMap> doExecute() throws Exception {
|
||||
//// return template.queryForList("Loader.selectTableDataForListValue", param);
|
||||
//// }
|
||||
//// }.execute();
|
||||
// }
|
||||
// public List<LinkedHashMap> selectSnaAdpApList( DataSourceType dataSourceType, String param1 ) {
|
||||
// final HashMap param = new HashMap();
|
||||
// param.put("param1", param1);
|
||||
//
|
||||
// return template.queryForList("Loader.selectSnaAdpApList", param);
|
||||
//
|
||||
//// return new SpecifiedDataSourceExecutor<List<LinkedHashMap>>(
|
||||
//// dataSourceType) {
|
||||
//// protected List<LinkedHashMap> doExecute() throws Exception {
|
||||
//// return template.queryForList("Loader.selectSnaAdpApList", param);
|
||||
//// }
|
||||
//// }.execute();
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.eactive.eai.rms.bap.loader.dao;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
/**
|
||||
* 자원 조회
|
||||
* <ul>
|
||||
* <li>1. Function :</li>
|
||||
* <li>2. Summary :</li>
|
||||
* <li>3. Notification :</li>
|
||||
* </ul>
|
||||
*/
|
||||
@Repository("searchBAPDao")
|
||||
@SuppressWarnings("unchecked")
|
||||
public class SearchBAPDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public List<LinkedHashMap> selectList(HashMap<String,Object> param) {
|
||||
return this.template.queryForList("SearchBAP.selectList", param);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.eactive.eai.rms.bap.loader.intf;
|
||||
|
||||
import com.eactive.eai.rms.bap.loader.dao.InterfaceDeployDao;
|
||||
import com.eactive.eai.rms.bap.loader.dao.LoaderBAPDao;
|
||||
import com.eactive.eai.rms.bap.loader.dao.SearchBAPDao;
|
||||
import com.eactive.eai.rms.bap.loader.intf.deploy.InterfaceDeploy;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceType;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Service("BapInterfaceDeployService")
|
||||
public class InterfaceDeployService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("searchBAPDao")
|
||||
SearchBAPDao searchBAPDao;
|
||||
|
||||
@Autowired
|
||||
LoaderBAPDao loaderBAPDao;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("BapInterfaceDeployDao")
|
||||
InterfaceDeployDao interfaceDeployDao;
|
||||
|
||||
|
||||
public InterfaceDeploy selectDeploy(String intfid){
|
||||
|
||||
final Map<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("intfid", intfid);
|
||||
|
||||
InterfaceDeploy interfaceDeploy = interfaceDeployDao.selectDeploy(paramMap, InterfaceDeploy.class);
|
||||
|
||||
|
||||
return interfaceDeploy;
|
||||
}
|
||||
|
||||
public void saveDeploy(InterfaceDeploy interfaceDeploy) {
|
||||
|
||||
final Map<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("intfid", interfaceDeploy.getBjobmsgdstcd());
|
||||
|
||||
/** DELETE **/
|
||||
interfaceDeployDao.deleteAllDeploy(paramMap, InterfaceDeploy.class);
|
||||
|
||||
/** INSERT **/
|
||||
interfaceDeployDao.insertDeploy(interfaceDeploy);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
package com.eactive.eai.rms.bap.loader.intf.deploy;
|
||||
|
||||
import com.eactive.eai.rms.common.vo.SchemaIdVO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class InterfaceDeploy extends SchemaIdVO {
|
||||
|
||||
/** 잡메시지구분코드(인터페이스ID) */
|
||||
private String bjobmsgdstcd;
|
||||
|
||||
/** 잡메시지구분명(인터페이스설명) */
|
||||
private String bjobmsgdsticname;
|
||||
|
||||
/** 일괄타입구분코드 */
|
||||
private String bjobbzwkdstcd;
|
||||
|
||||
/** 배치작업메시지구분코드 */
|
||||
private String bjobtrandstcdname;
|
||||
|
||||
/** 헤더크기 */
|
||||
private Integer bjobtelgmhdrsize;
|
||||
|
||||
/** 바디크기 */
|
||||
private Integer bjobtelgmrecsize;
|
||||
|
||||
/** 트레일러크기 */
|
||||
private Integer bjobtelgmtrailsize;
|
||||
|
||||
/** 파일전송여부 */
|
||||
private String eaifilesenduseyn;
|
||||
|
||||
/** 파일수신여부 */
|
||||
private String eaifilerecvuseyn;
|
||||
|
||||
/** 작업처리우선순위 */
|
||||
private Integer msgprcssprity;
|
||||
|
||||
/** 내부시스템코드 */
|
||||
private String syscd;
|
||||
|
||||
/** app코드 */
|
||||
private String uapplcd;
|
||||
|
||||
/** 송수신파일명(사용안함) */
|
||||
private String sndrcvfilename;
|
||||
|
||||
/** 수신파일패턴(사용안함) */
|
||||
private String rcvfilepattern;
|
||||
|
||||
/** 송수신파일경로(사용안함) */
|
||||
private String sndrcvfilepath;
|
||||
|
||||
/** 당메시지담당자ID(다건) */
|
||||
private String thismsgchrgids;
|
||||
|
||||
/** 수신시알림여부 */
|
||||
private String recvnotiuseyn;
|
||||
|
||||
/** 로그생성정보명 */
|
||||
private String logcretnyn;
|
||||
|
||||
/** 파일송수신스케쥴 */
|
||||
private String filetranssche;
|
||||
|
||||
/** 인터페이스사용여부 */
|
||||
private String thismsguseyn;
|
||||
|
||||
/** 최초등록사용자 */
|
||||
private String thismsgregsntid;
|
||||
|
||||
/** 최초등록시각 */
|
||||
private String thismsgregihms;
|
||||
|
||||
/** 최종수정사용자 */
|
||||
private String thismsgamndrid;
|
||||
|
||||
/** 최종수정시각 */
|
||||
private String thismsgamndhms;
|
||||
|
||||
/** BATCH작업업무구분코드 */
|
||||
private String outbizcd;
|
||||
|
||||
/** 파일송수신알림 */
|
||||
private String filetransalam;
|
||||
|
||||
/** 파일송수신조건 */
|
||||
private String filetranscond;
|
||||
|
||||
/** 대외기관 담당자 연락처 */
|
||||
private String osidinstitelno;
|
||||
|
||||
/** 대외기관담당자명 */
|
||||
private String osidinstibzwkrsempname;
|
||||
|
||||
/** 대외기관코드 */
|
||||
private String osidinsticode;
|
||||
|
||||
/** 업무담당자전화번호 */
|
||||
private String bzwkrsemptelno;
|
||||
|
||||
/** 대외기관담당자명 */
|
||||
private String bzwkrsempname;
|
||||
|
||||
/** 전송스크립트내용 */
|
||||
private String sndscriptname;
|
||||
|
||||
/** 원격노드명 */
|
||||
private String rmtnodename;
|
||||
|
||||
/** 그룹회사코드 */
|
||||
private String groupcocd;
|
||||
|
||||
/** 인터페이스ID */
|
||||
private String infid;
|
||||
|
||||
/** 인터페이스ID(사용안함) */
|
||||
private String intfid;
|
||||
|
||||
/** 업무구분코드level1(사용안함) */
|
||||
private String bizlevel1;
|
||||
|
||||
/** 업무구분코드level2(사용안함) */
|
||||
private String bizlevel2;
|
||||
|
||||
/** 시스템코드2(사용안함) */
|
||||
private String syscd2;
|
||||
|
||||
/** 시스템연결구분코드(사용안함) */
|
||||
private String syslnkgdstcd;
|
||||
|
||||
/** 대외기관구분코드(사용안함) */
|
||||
private String osidinstidstcd;
|
||||
|
||||
/** 송수신구분코드(사용안함) */
|
||||
private String rqstrspnsdstcd;
|
||||
|
||||
/** 연결ip정보(사용안함) */
|
||||
private String lnkgipinfoname;
|
||||
|
||||
/** 연결포트정보(사용안함) */
|
||||
private String lnkgportinfoname;
|
||||
|
||||
/** 연결ID(사용안함) */
|
||||
private String lnkgid;
|
||||
|
||||
/** 연결패스워드(사용안함) */
|
||||
private String lnkgpwd;
|
||||
|
||||
/** 타임아웃값(사용안함) */
|
||||
private Integer toutval;
|
||||
|
||||
/** 상태(정상/장애)(사용안함) */
|
||||
private String tcirtlnkgstuscd;
|
||||
|
||||
/** ??(사용안함) */
|
||||
private String adptrbzwkgroupname;
|
||||
|
||||
/** ??(사용안함) */
|
||||
private String adptrbzwkname;
|
||||
|
||||
/** 송수신파일경로 */
|
||||
private String srcfilepath;
|
||||
|
||||
/** 암호화여부 */
|
||||
private String encyn;
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.eactive.eai.rms.bap.loader.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.eactive.eai.rms.bap.loader.dao.SearchBAPDao;
|
||||
import com.eactive.eai.rms.common.base.BaseService;
|
||||
|
||||
@Service("searchBAPService")
|
||||
public class SearchBAPService extends BaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("searchBAPDao")
|
||||
private SearchBAPDao dao;
|
||||
|
||||
public SearchBAPService() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* resource 조회
|
||||
*/
|
||||
public HashMap selectBAPList(HttpServletRequest request, int startNum,int endNum, HashMap<String,Object> paramMap) throws Exception {
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List list = dao.selectList(paramMap);
|
||||
|
||||
HashMap map = new HashMap();
|
||||
|
||||
//map.put("totalCount", totalCount);
|
||||
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.eactive.eai.rms.bap.loader.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceType;
|
||||
|
||||
public interface TransactionBAPService{
|
||||
|
||||
/**
|
||||
* fileinfo loading
|
||||
*/
|
||||
public void insertFileInfoLoading(DataSourceType dt, String path,String fileName) throws Exception ;
|
||||
|
||||
/**
|
||||
* table loading
|
||||
*/
|
||||
public void insertTableLoading(DataSourceType dt, String path, String fileName) throws Exception ;
|
||||
|
||||
/**
|
||||
* file downloading
|
||||
*/
|
||||
public void fileInfoDownLoading(DataSourceType dt, String path,String serviceName) throws Exception ;
|
||||
|
||||
/**
|
||||
* table downloading
|
||||
*/
|
||||
public void tableDownLoading(DataSourceType dt, String path, String tableName) throws Exception ;
|
||||
|
||||
/**
|
||||
* tran block
|
||||
*/
|
||||
public void tranBlock(DataSourceType dt, String cmd, String type, String value) throws Exception ;
|
||||
|
||||
public HashMap parse(String filePath) throws Exception ;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,683 @@
|
||||
package com.eactive.eai.rms.bap.loader.service;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
||||
import com.eactive.eai.rms.bap.loader.intf.InterfaceDeployService;
|
||||
import com.eactive.eai.rms.bap.loader.intf.deploy.InterfaceDeploy;
|
||||
import com.fasterxml.jackson.databind.MapperFeature;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.eactive.eai.rms.bap.loader.dao.LoaderBAPDao;
|
||||
import com.eactive.eai.rms.common.base.BaseService;
|
||||
import com.eactive.eai.rms.common.context.MonitoringContext;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceType;
|
||||
import com.eactive.eai.rms.onl.common.util.FileWriteUtil;
|
||||
|
||||
@Service("loaderBAPService")
|
||||
public class TransactionBAPServiceImpl extends BaseService implements TransactionBAPService {
|
||||
|
||||
/** The monitoring context. */
|
||||
@Autowired
|
||||
@Qualifier("monitoringContext")
|
||||
private transient MonitoringContext monitoringContext;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("loaderBAPDao")
|
||||
private LoaderBAPDao dao;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("BapInterfaceDeployService")
|
||||
private InterfaceDeployService interfaceDeployService;
|
||||
|
||||
public TransactionBAPServiceImpl() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* layout loading
|
||||
*/
|
||||
public void insertLayoutLoading(DataSourceType dt, String path, String fileName) throws Exception {
|
||||
String[] tables = { "TSEAITR07", "TSEAITR08" };
|
||||
HashMap map = parse(path + fileName);
|
||||
if (map != null) {
|
||||
ArrayList list = null;
|
||||
for (String table : tables) {
|
||||
list = (ArrayList) map.get(table);
|
||||
if (list != null) {
|
||||
if ("TSEAITR07".equals(table)) {
|
||||
// VERSION 정보 없을 경우 "00000" 로 셋팅
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
HashMap hm2 = (HashMap) list.get(i);
|
||||
if (hm2 != null && !hm2.containsKey("VERINFO")) {
|
||||
hm2.put("VERINFO", "00000");
|
||||
list.set(i, hm2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
dao.load(dt, table, list);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* fileinfo loading
|
||||
*/
|
||||
public void insertFileInfoLoading(DataSourceType dt, String path, String fileName) throws Exception {
|
||||
String[] tables = { "TSEAIBJ01" };
|
||||
HashMap map = parse(path + fileName);
|
||||
if (map != null) {
|
||||
ArrayList list = null;
|
||||
for (String table : tables) {
|
||||
list = (ArrayList) map.get(table);
|
||||
if (list != null) {
|
||||
// HashMap hm = (HashMap)list.get(0);
|
||||
//adapterGroupValid(dt, map, "TSEAIBJ01");
|
||||
dao.load(dt, table, list);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* transform loading
|
||||
*/
|
||||
public void insertTransformLoading(DataSourceType dt, String path, String fileName) throws Exception {
|
||||
String[] tables = { "TSEAITR01", "TSEAITR02", "TSEAITR03" };
|
||||
HashMap map = parse(path + fileName);
|
||||
if (map != null) {
|
||||
ArrayList list = null;
|
||||
for (String table : tables) {
|
||||
list = (ArrayList) map.get(table);
|
||||
if (list != null) {
|
||||
if ("TSEAITR01".equals(table)) {
|
||||
// VERSION 정보 없을 경우 "00000" 로 셋팅
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
HashMap hm2 = (HashMap) list.get(i);
|
||||
if (hm2 != null && !hm2.containsKey("VERINFO")) {
|
||||
hm2.put("VERINFO", "00000");
|
||||
list.set(i, hm2);
|
||||
}
|
||||
}
|
||||
}
|
||||
dao.load(dt, table, list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* b2b loading
|
||||
*/
|
||||
public void insertB2BLoading(DataSourceType dt, String path, String fileName) throws Exception {
|
||||
String[] tables = { "TSEAIHE03" };
|
||||
HashMap map = parse(path + fileName);
|
||||
if (map != null) {
|
||||
ArrayList list = null;
|
||||
for (String table : tables) {
|
||||
list = (ArrayList) map.get(table);
|
||||
if (list != null) {
|
||||
// HashMap hm = (HashMap)list.get(0);
|
||||
adapterGroupValid(dt, map, "TSEAIHE03");
|
||||
dao.load(dt, table, list);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* adapter loading
|
||||
*/
|
||||
public void insertAdapterLoading(DataSourceType dt, String path, String fileName) throws Exception {
|
||||
HashMap map = parse(path + fileName);
|
||||
// TSEAIAD15 삭제 어댑터명 기준
|
||||
// TSEAIAD14 삭제 어댑터명 기준
|
||||
// TSEAIAD02 삭제
|
||||
// TSEAIAD01 삭제
|
||||
// TSEAIFR04 삭제
|
||||
String[] tables = { "TSEAIAD15", "TSEAIAD14", "TSEAIAD02", "TSEAIAD01", "TSEAIFR04" };
|
||||
if (map != null) {
|
||||
ArrayList list = null;
|
||||
for (String table : tables) {
|
||||
list = (ArrayList) map.get(table);
|
||||
if (list != null)
|
||||
dao.load(dt, table, list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* adapter loading
|
||||
*/
|
||||
public void insertAdapterLoadingAll(DataSourceType dt, String path) throws Exception {
|
||||
|
||||
File dir = new File(path);
|
||||
for (File file : dir.listFiles()) {
|
||||
if (file.isFile() && file.getName().endsWith(".txt")) {
|
||||
HashMap map = parse(path + file.getName());
|
||||
// TSEAIAD15 삭제 어댑터명 기준
|
||||
// TSEAIAD14 삭제 어댑터명 기준
|
||||
// TSEAIAD01 삭제
|
||||
// TSEAIAD02 삭제
|
||||
// TSEAIFR04 삭제
|
||||
String[] tables = { "TSEAIAD15", "TSEAIAD14", "TSEAIAD01", "TSEAIAD02", "TSEAIFR04" };
|
||||
if (map != null) {
|
||||
ArrayList list = null;
|
||||
for (String table : tables) {
|
||||
list = (ArrayList) map.get(table);
|
||||
if (list != null)
|
||||
dao.load(dt, table, list);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* messageKey loading
|
||||
*/
|
||||
public void insertMessageKeyLoading(DataSourceType dt, String path, String fileName) throws Exception {
|
||||
HashMap map = parse(path + fileName);
|
||||
// TSEAIFR04 삭제
|
||||
String[] tables = { "TSEAIFR04" };
|
||||
if (map != null) {
|
||||
ArrayList list = null;
|
||||
for (String table : tables) {
|
||||
list = (ArrayList) map.get(table);
|
||||
if (list != null) {
|
||||
// HashMap hm = (HashMap)list.get(0);
|
||||
adapterGroupValid(dt, map, "TSEAIFR04");
|
||||
|
||||
dao.load(dt, table, list);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* interface downloading
|
||||
*/
|
||||
public void interfaceDownLoading(DataSourceType dt, String path, String eaiSvcName) throws Exception {
|
||||
|
||||
List<LinkedHashMap> listHE01 = dao.selectTableData(dt, "TSEAIHE01", "EAISvcName", eaiSvcName);
|
||||
if (listHE01 == null || listHE01.size() == 0) {
|
||||
throw new Exception("interface data is empty interfaceName =[" + eaiSvcName + "]");
|
||||
}
|
||||
|
||||
// TAS거래 > 일반거래로 복사 2020.05.06 추가
|
||||
for (LinkedHashMap m : listHE01) {
|
||||
if ("T".equals((String) m.get("TRANTYPE"))) {
|
||||
m.put("TRANTYPE", "R");
|
||||
}
|
||||
}
|
||||
|
||||
List<LinkedHashMap> listHE02 = dao.selectTableData(dt, "TSEAIHE02", "EAISvcName", eaiSvcName);
|
||||
if (listHE02 == null || listHE02.size() == 0) {
|
||||
throw new Exception("interface data is empty interfaceName =[" + eaiSvcName + "]");
|
||||
}
|
||||
|
||||
List<LinkedHashMap> listMS02 = dao.selectTableData(dt, "TSEAIMS02", "EAISvcName", eaiSvcName);
|
||||
|
||||
List<LinkedHashMap> listFR01 = dao.selectTableData(dt, "TSEAIFR01", "EAISvcName", eaiSvcName);
|
||||
|
||||
List<LinkedHashMap> listFR03 = dao.selectTableData(dt, "TSEAIFR03", "EAISvcName", eaiSvcName);
|
||||
|
||||
List<LinkedHashMap> listHS04 = dao.selectTableData(dt, "TSEAIHS04", "EAISvcName", eaiSvcName);
|
||||
List<LinkedHashMap> listHS05 = new ArrayList<LinkedHashMap>();
|
||||
if (listHS04 != null) {
|
||||
for (LinkedHashMap m : listHS04) {
|
||||
String bzwkSvcKeyName = (String) m.get("BZWKSVCKEYNAME");
|
||||
List<LinkedHashMap> list = dao.selectTableData(dt, "TSEAIHS05", "BZWKSVCKEYNAME", bzwkSvcKeyName);
|
||||
listHS05.addAll(list);
|
||||
}
|
||||
}
|
||||
List<LinkedHashMap> listFR06 = dao.selectTableData(dt, "TSEAIFR06", "EAISvcName", eaiSvcName);
|
||||
|
||||
LinkedHashMap<String, List> tables = new LinkedHashMap<String, List>();
|
||||
tables.put("TSEAIHE01", listHE01);
|
||||
tables.put("TSEAIHE02", listHE02);
|
||||
tables.put("TSEAIMS02", listMS02);
|
||||
tables.put("TSEAIFR01", listFR01);
|
||||
tables.put("TSEAIFR03", listFR03);
|
||||
tables.put("TSEAIHS04", listHS04);
|
||||
tables.put("TSEAIHS05", listHS05);
|
||||
tables.put("TSEAIFR06", listFR06);
|
||||
FileWriteUtil.FileWrite(path, eaiSvcName + ".txt", tables);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* b2b downloading
|
||||
*/
|
||||
public void b2bDownLoading(DataSourceType dt, String path, String extnlInstiIdnfiName) throws Exception {
|
||||
List<LinkedHashMap> listHE03 = dao.selectTableData(dt, "TSEAIHE03", "extnlInstiIdnfiName", extnlInstiIdnfiName);
|
||||
if (listHE03 == null || listHE03.size() == 0) {
|
||||
throw new Exception("b2b extractor data is empty extnlInstiIdnfiName =[" + extnlInstiIdnfiName + "]");
|
||||
}
|
||||
|
||||
LinkedHashMap<String, List> tables = new LinkedHashMap<String, List>();
|
||||
tables.put("TSEAIHE03", listHE03);
|
||||
FileWriteUtil.FileWrite(path, extnlInstiIdnfiName + ".txt", tables);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* adapter downloading
|
||||
*/
|
||||
public void adapterDownLoading(DataSourceType dt, String path, String adapterName) throws Exception {
|
||||
|
||||
List<LinkedHashMap> listAD01 = dao.selectTableData(dt, "TSEAIAD01", "AdptrBzwkGroupName", adapterName);
|
||||
if (listAD01 == null || listAD01.size() == 0) {
|
||||
throw new Exception("adapter data is empty adapterName =[" + adapterName + "]");
|
||||
}
|
||||
List<LinkedHashMap> listAD02 = dao.selectTableData(dt, "TSEAIAD02", "AdptrBzwkGroupName", adapterName);
|
||||
if (listAD02 == null || listAD02.size() == 0) {
|
||||
throw new Exception("adapter data is empty adapterName =[" + adapterName + "]");
|
||||
}
|
||||
|
||||
List<LinkedHashMap> listAD14 = new ArrayList();
|
||||
for (LinkedHashMap lhm : listAD02) {
|
||||
List<LinkedHashMap> mlistAD14 = dao.selectTableData(dt, "TSEAIAD14", "prptyGroupName",
|
||||
(String) lhm.get("PRPTYGROUPNAME"));
|
||||
if (mlistAD14 == null || mlistAD14.size() == 0) {
|
||||
throw new Exception("adapter propertyGroup data(TSEAIAD14) is empty prptyGroupName =["
|
||||
+ lhm.get("PRPTYGROUPNAME") + "]");
|
||||
}
|
||||
if (mlistAD14 != null) {
|
||||
for (LinkedHashMap m : mlistAD14) {
|
||||
m.put("ADPTRBZWKGROUPNAME", adapterName);
|
||||
}
|
||||
listAD14.addAll(mlistAD14);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
List<LinkedHashMap> listAD15 = new ArrayList();
|
||||
for (LinkedHashMap lhm : listAD02) {
|
||||
List<LinkedHashMap> mlistAD15 = dao.selectTableData(dt, "TSEAIAD15", "prptyGroupName",
|
||||
(String) lhm.get("PRPTYGROUPNAME"));
|
||||
if (mlistAD15 == null || mlistAD15.size() == 0) {
|
||||
throw new Exception("adapter propertyGroup data(TSEAIAD15) is empty prptyGroupName =["
|
||||
+ lhm.get("PRPTYGROUPNAME") + "]");
|
||||
}
|
||||
if (mlistAD15 != null) {
|
||||
for (LinkedHashMap m : mlistAD15) {
|
||||
m.put("ADPTRBZWKGROUPNAME", adapterName);
|
||||
}
|
||||
listAD15.addAll(mlistAD15);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
List<LinkedHashMap> listFR04 = dao.selectTableData(dt, "TSEAIFR04", "AdptrBzwkGroupName", adapterName);
|
||||
|
||||
LinkedHashMap<String, List> tables = new LinkedHashMap<String, List>();
|
||||
tables.put("TSEAIAD01", listAD01);
|
||||
tables.put("TSEAIAD02", listAD02);
|
||||
tables.put("TSEAIAD14", listAD14);
|
||||
tables.put("TSEAIAD15", listAD15);
|
||||
tables.put("TSEAIFR04", listFR04);
|
||||
FileWriteUtil.FileWrite(path, adapterName + ".txt", tables);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* adapter downloading
|
||||
*/
|
||||
public void adapterDownLoading(DataSourceType dt, String path, String adapterName, String prefix) throws Exception {
|
||||
|
||||
List<LinkedHashMap> listAD01 = dao.selectTableData(dt, "TSEAIAD01", "AdptrBzwkGroupName", adapterName);
|
||||
if (listAD01 == null || listAD01.size() == 0) {
|
||||
throw new Exception("adapter data is empty adapterName =[" + adapterName + "]");
|
||||
}
|
||||
List<LinkedHashMap> listAD02 = dao.selectTableData(dt, "TSEAIAD02", "AdptrBzwkGroupName", adapterName);
|
||||
if (listAD02 == null || listAD02.size() == 0) {
|
||||
throw new Exception("adapter data is empty adapterName =[" + adapterName + "]");
|
||||
}
|
||||
for (LinkedHashMap ad02 : listAD02) {
|
||||
String instance = (String) ad02.get("EAISEVRINSTNCNAME");
|
||||
if (instance != null && instance.length() > 5 && prefix != null) {
|
||||
String replace = prefix + instance.substring(5);
|
||||
ad02.put("EAISEVRINSTNCNAME", replace);
|
||||
}
|
||||
}
|
||||
|
||||
List<LinkedHashMap> listAD14 = new ArrayList();
|
||||
for (LinkedHashMap lhm : listAD02) {
|
||||
List<LinkedHashMap> mlistAD14 = dao.selectTableData(dt, "TSEAIAD14", "prptyGroupName",
|
||||
(String) lhm.get("PRPTYGROUPNAME"));
|
||||
if (mlistAD14 == null || mlistAD14.size() == 0) {
|
||||
throw new Exception("adapter propertyGroup data(TSEAIAD14) is empty prptyGroupName =["
|
||||
+ lhm.get("PRPTYGROUPNAME") + "]");
|
||||
}
|
||||
if (mlistAD14 != null) {
|
||||
for (LinkedHashMap m : mlistAD14) {
|
||||
m.put("ADPTRBZWKGROUPNAME", adapterName);
|
||||
}
|
||||
listAD14.addAll(mlistAD14);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
List<LinkedHashMap> listAD15 = new ArrayList();
|
||||
for (LinkedHashMap lhm : listAD02) {
|
||||
List<LinkedHashMap> mlistAD15 = dao.selectTableData(dt, "TSEAIAD15", "prptyGroupName",
|
||||
(String) lhm.get("PRPTYGROUPNAME"));
|
||||
if (mlistAD15 == null || mlistAD15.size() == 0) {
|
||||
throw new Exception("adapter propertyGroup data(TSEAIAD15) is empty prptyGroupName =["
|
||||
+ lhm.get("PRPTYGROUPNAME") + "]");
|
||||
}
|
||||
if (mlistAD15 != null) {
|
||||
for (LinkedHashMap m : mlistAD15) {
|
||||
m.put("ADPTRBZWKGROUPNAME", adapterName);
|
||||
}
|
||||
listAD15.addAll(mlistAD15);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
List<LinkedHashMap> listFR04 = dao.selectTableData(dt, "TSEAIFR04", "AdptrBzwkGroupName", adapterName);
|
||||
|
||||
LinkedHashMap<String, List> tables = new LinkedHashMap<String, List>();
|
||||
tables.put("TSEAIAD01", listAD01);
|
||||
tables.put("TSEAIAD02", listAD02);
|
||||
tables.put("TSEAIAD14", listAD14);
|
||||
tables.put("TSEAIAD15", listAD15);
|
||||
tables.put("TSEAIFR04", listFR04);
|
||||
FileWriteUtil.FileWrite(path, adapterName + ".txt", tables);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* messageKey downloading
|
||||
*/
|
||||
public void messageKeyDownLoading(DataSourceType dt, String path, String adapterName) throws Exception {
|
||||
List<LinkedHashMap> listFR04 = dao.selectTableData(dt, "TSEAIFR04", "AdptrBzwkGroupName", adapterName);
|
||||
LinkedHashMap<String, List> tables = new LinkedHashMap<String, List>();
|
||||
tables.put("TSEAIFR04", listFR04);
|
||||
FileWriteUtil.FileWrite(path, adapterName + ".txt", tables);
|
||||
}
|
||||
|
||||
public HashMap parse(String filePath) throws Exception {
|
||||
String delimeter = ";";
|
||||
HashMap map = new HashMap();
|
||||
ArrayList list = null;
|
||||
|
||||
FileReader fr = new FileReader(filePath);
|
||||
if (fr == null) {
|
||||
return map;
|
||||
}
|
||||
BufferedReader br = null;
|
||||
String lbuff = null;
|
||||
String[] header = null;
|
||||
|
||||
try {
|
||||
br = new BufferedReader(fr);
|
||||
while ((lbuff = br.readLine()) != null) {
|
||||
if (lbuff.indexOf(delimeter) < 0) {
|
||||
list = new ArrayList();
|
||||
map.put(lbuff.toUpperCase(), list);
|
||||
if ((lbuff = br.readLine()) == null) {
|
||||
throw new Exception("File Header parsing Error : " + filePath);
|
||||
}
|
||||
header = lbuff.split(delimeter);
|
||||
continue;
|
||||
}
|
||||
if (header == null)
|
||||
continue;
|
||||
LinkedHashMap codes = split(header, lbuff, delimeter, header.length);
|
||||
list.add(codes);
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
logger.error("parse error", ex);
|
||||
} finally {
|
||||
if (br != null) {
|
||||
br.close();
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
private LinkedHashMap split(String[] header, String data, String deli, int size) {
|
||||
LinkedHashMap array = new LinkedHashMap();
|
||||
String data2 = data + " " + deli;// 마지막 에 ";;" 될경우 length 차이가 나서 보정해주는 로직
|
||||
String[] s = data2.split(deli);
|
||||
for (int i = 0; i < s.length - 1; i++) {
|
||||
array.put(header[i], s[i]);
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
public HashSet<String> getFileInterfaceAdapterList(HashMap map) throws Exception {
|
||||
HashSet<String> adapterList = new HashSet<String>();
|
||||
|
||||
String eaiSvcName = "";
|
||||
String srcType = "";
|
||||
String tgtType = "";
|
||||
|
||||
String sndRecvType = "";
|
||||
|
||||
ArrayList he01 = (ArrayList) map.get("TSEAIHE01");
|
||||
if (he01 == null || he01.size() == 0) {
|
||||
throw new Exception("EAI 메시지가 없습니다.");
|
||||
}
|
||||
HashMap he01row0 = (HashMap) he01.get(0);
|
||||
String src = (String) he01row0.get("GSTATSYSADPTRBZWKGROUPNAME"); // 기동어댑터명
|
||||
srcType = (String) he01row0.get("SVCMOTIVUSEDSTCD"); // 기동인터페이스 유형
|
||||
|
||||
if (StringUtils.isBlank(src)) {
|
||||
throw new Exception("기동 어댑터가 없습니다.");
|
||||
}
|
||||
adapterList.add(src);
|
||||
|
||||
ArrayList he02 = (ArrayList) map.get("TSEAIHE02");
|
||||
if (he02 == null || he02.size() == 0) {
|
||||
throw new Exception("EAI 서비스처리정보가 없습니다.");
|
||||
}
|
||||
HashMap he02row0 = (HashMap) he02.get(0);
|
||||
String tgt = (String) he02row0.get("PSVSYSADPTRBZWKGROUPNAME"); // 수동어댑터명
|
||||
tgtType = (String) he02row0.get("PSVINTFACDSTICNAME"); // 수동인터페이스 유형
|
||||
eaiSvcName = (String) he02row0.get("EAISVCNAME"); // 인터페이스명
|
||||
sndRecvType = eaiSvcName.substring(eaiSvcName.length() - 2, eaiSvcName.length() - 1); // 인터페이스 송수신구분
|
||||
|
||||
// S-A 응답일때 빼고 수동어댑터 체크
|
||||
if (srcType.equals("SYNC") && tgtType.equals("ASYN") && sndRecvType.equals("R")) {
|
||||
;
|
||||
} else {
|
||||
if (StringUtils.isBlank(tgt)) {
|
||||
throw new Exception("수동 어댑터가 없습니다.");
|
||||
}
|
||||
adapterList.add(tgt);
|
||||
}
|
||||
// A-S > HE01의 인터페이스유형 ASYN이고 HE02의 첫번째 수동인터페이스가 SYNC일 때 -> 수동인터페이스 2개
|
||||
if (srcType.equals("ASYN") && tgtType.equals("SYNC")) {
|
||||
if (he02.size() == 1) {
|
||||
throw new Exception("기동 응답 서비스가 존재하지 않습니다.");
|
||||
}
|
||||
HashMap he02row1 = (HashMap) he02.get(1);
|
||||
tgt = (String) he02row1.get("PSVSYSADPTRBZWKGROUPNAME");
|
||||
if (StringUtils.isBlank(tgt)) {
|
||||
throw new Exception("기동 응답 어댑터가 없습니다.");
|
||||
}
|
||||
adapterList.add(tgt);
|
||||
}
|
||||
return adapterList;
|
||||
}
|
||||
|
||||
public void adptInstValid(DataSourceType dataSourceType, HashMap map) throws Exception {
|
||||
boolean ret = true;
|
||||
ArrayList he01 = (ArrayList) map.get("TSEAIHE01");
|
||||
if (he01 == null || he01.size() == 0) {
|
||||
ret = false;
|
||||
throw new Exception("EAI 메시지가 없습니다.");
|
||||
}
|
||||
HashMap he01row0 = (HashMap) he01.get(0);
|
||||
String eaiSvcName = (String) he01row0.get("EAISVCNAME");
|
||||
String srcType = (String) he01row0.get("SVCMOTIVUSEDSTCD");
|
||||
String srcAdpt = (String) he01row0.get("GSTATSYSADPTRBZWKGROUPNAME"); // 기동어댑터명
|
||||
|
||||
ArrayList he02 = (ArrayList) map.get("TSEAIHE02");
|
||||
if (he02 == null || he02.size() == 0) {
|
||||
throw new Exception("[EAI서비스코드 : " + eaiSvcName + "] EAI 서비스처리정보가 없습니다.");
|
||||
}
|
||||
HashMap he02row0 = (HashMap) he02.get(0);
|
||||
String tgtAdpt = (String) he02row0.get("PSVSYSADPTRBZWKGROUPNAME"); // 수동어댑터명
|
||||
String tgtType = (String) he02row0.get("PSVINTFACDSTICNAME");
|
||||
|
||||
String sndRecvType = eaiSvcName.substring(eaiSvcName.length() - 2, eaiSvcName.length() - 1); // 인터페이스 송수신구분
|
||||
|
||||
List<LinkedHashMap> ouAdptInstList = dao.selectTableData(dataSourceType, "TSEAIAD02", "ADPTRBZWKGROUPNAME",
|
||||
tgtAdpt);
|
||||
// outBound 어댑터 정보가 없고 그룹명만 있을 때 ____ 비교 X
|
||||
if (ouAdptInstList.size() == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 기동어댑터와 관계없이 수동어댑터 바인딩된 인스턴스가 ALL일때 우선적으로 PASS (A_S 패턴 포함 - 처리순서1인 어댑터로 비교)
|
||||
if ("ALL".equals(ouAdptInstList.get(0).get("EAISEVRINSTNCNAME"))) {
|
||||
return;
|
||||
}
|
||||
|
||||
List<LinkedHashMap> inAdptInstList = dao.selectTableData(dataSourceType, "TSEAIAD02", "ADPTRBZWKGROUPNAME",
|
||||
srcAdpt);
|
||||
// inBound 어댑터 정보가 없고 그룹명만 있을 때 ____ 비교 X
|
||||
if (inAdptInstList.size() == 0) {
|
||||
return;
|
||||
}
|
||||
List<LinkedHashMap> ouAdptInstList2 = new ArrayList<>();
|
||||
|
||||
// S_A 패턴 응답 ___ 비교 X
|
||||
if (srcType.equals("SYNC") && tgtType.equals("ASYN") && sndRecvType.equals("R")) {
|
||||
return;
|
||||
}
|
||||
// A_S 패턴
|
||||
if (srcType.equals("ASYN") && tgtType.equals("SYNC")) {
|
||||
if (he02.size() == 1) {
|
||||
throw new Exception("[EAI서비스코드 : " + eaiSvcName + "] 기동 응답 서비스가 존재하지 않습니다.");
|
||||
}
|
||||
HashMap he02row1 = (HashMap) he02.get(1);
|
||||
tgtAdpt = (String) he02row1.get("PSVSYSADPTRBZWKGROUPNAME");
|
||||
ouAdptInstList2 = dao.selectTableData(dataSourceType, "TSEAIAD02", "ADPTRBZWKGROUPNAME", tgtAdpt);
|
||||
}
|
||||
/**
|
||||
* 아래는 SNA 체크임 우체국에서는 안쓰임 시작
|
||||
*/
|
||||
/*
|
||||
* //IN 어댑터 List의 ADPTRCD는 다 같음. //String adptrName =
|
||||
* (String)inAdptInstList.get(0).get("ADPTRBZWKNAME"); String adptrGrpName =
|
||||
* (String)inAdptInstList.get(0).get("ADPTRBZWKGROUPNAME"); //IN 어댑터가 SNA일때
|
||||
* boolean flag = false; if(adptrGrpName.indexOf("SNA")>=0){
|
||||
* inAdptInstList.clear(); List<LinkedHashMap> snaApList =
|
||||
* inboundErrorInfoDao.selectSnaAdpApList(dataSourceType, adptrGrpName); String svcApCd =
|
||||
* eaiSvcName.substring(0,3); //서비스코드 앞 3자리 for(LinkedHashMap m : snaApList){
|
||||
* String apList = (String)m.get("PRPTY2VAL"); int chk =
|
||||
* apList.indexOf(svcApCd); if(chk>=0){ inAdptInstList.add(m); flag = true; } }
|
||||
* if(!flag){ ret = false; throw new
|
||||
* Exception("[EAI서비스코드 : "+eaiSvcName+"] AP코드("+svcApCd+")가 SNA어댑터["
|
||||
* +adptrGrpName+"]에 존재하지 않습니다"); } } //in out 불일치 int cnt =
|
||||
* inAdptInstList.size(); String srcAdptName = ""; String tgtAdptName = "";
|
||||
* for(HashMap om : ouAdptInstList){ String ouInst =
|
||||
* (String)om.get("EAISEVRINSTNCNAME"); tgtAdptName =
|
||||
* (String)om.get("ADPTRBZWKGROUPNAME"); if("ALL".equals(ouInst)){ cnt=0; break;
|
||||
* } for(HashMap im : inAdptInstList){ String inInst
|
||||
* =(String)im.get("EAISEVRINSTNCNAME"); srcAdptName =
|
||||
* (String)im.get("ADPTRBZWKGROUPNAME"); if(ouInst.equals(inInst)){ cnt--;
|
||||
* continue; } } } if(cnt>0){ ret = false; throw new
|
||||
* Exception("[EAI서비스코드 : "+eaiSvcName+"] 기동어댑터와 수동어댑터의 인스턴스가 일치하지 않습니다 [기동 : "
|
||||
* +srcAdptName+" / 수동 : "+tgtAdptName+"]"); } if(ouAdptInstList2.size()>0){
|
||||
* //A-S 패턴 수동인터페이스 어댑터2 번째꺼 int cnt2 = inAdptInstList.size(); for(HashMap om :
|
||||
* ouAdptInstList2){ String ouInst = (String)om.get("EAISEVRINSTNCNAME");
|
||||
* tgtAdptName = (String)om.get("ADPTRBZWKGROUPNAME"); if("ALL".equals(ouInst)){
|
||||
* cnt2=0; break; } for(HashMap im : inAdptInstList){ String inInst
|
||||
* =(String)im.get("EAISEVRINSTNCNAME"); srcAdptName =
|
||||
* (String)im.get("ADPTRBZWKGROUPNAME"); if(ouInst.equals(inInst)){ cnt2--;
|
||||
* continue; } } } if(cnt2>0){ ret = false; throw new
|
||||
* Exception("[EAI서비스코드 : "+eaiSvcName+"] 기동어댑터와 수동어댑터의 인스턴스가 일치하지 않습니다 [기동 : "
|
||||
* +srcAdptName+" / 수동 : "+tgtAdptName+"]"); } }
|
||||
*/
|
||||
/**
|
||||
* 아래는 SNA 체크임 우체국에서는 안쓰임 종료
|
||||
*/
|
||||
}
|
||||
|
||||
public void adapterGroupValid(DataSourceType dt, HashMap map, String table) throws Exception {
|
||||
|
||||
if (map != null) {
|
||||
if ("TSEAIFR04".equals(table)) {
|
||||
ArrayList list = (ArrayList) map.get(table);
|
||||
if (list != null) {
|
||||
HashMap hm = (HashMap) list.get(0);
|
||||
String adapterGroupName = (String) hm.get("ADPTRBZWKGROUPNAME");
|
||||
List adptList = dao.selectTableData(dt, "TSEAIAD01", "ADPTRBZWKGROUPNAME", adapterGroupName);
|
||||
if (adptList.size() == 0) {
|
||||
String ioDstcd = (String) hm.get("IODSTCD");
|
||||
throw new Exception("메시지 키 관리 [어댑터명 : " + adapterGroupName + " / 기능구분 : " + ioDstcd
|
||||
+ "] 에 대한 어댑터가 해당서버에 존재하지 않습니다.");
|
||||
}
|
||||
}
|
||||
} else if ("TSEAIHE03".equals(table)) {
|
||||
ArrayList list = (ArrayList) map.get(table);
|
||||
if (list != null) {
|
||||
HashMap hm = (HashMap) list.get(0);
|
||||
String adapterGroupName = (String) hm.get("PSVSYSADPTRBZWKGROUPNAME");
|
||||
List adptList = dao.selectTableData(dt, "TSEAIAD01", "ADPTRBZWKGROUPNAME", adapterGroupName);
|
||||
if (adptList.size() == 0) {
|
||||
String extnlInstiIdfiName = (String) hm.get("EXTNLINSTIIDNFINAME");
|
||||
String svcPrcssNo = (String) hm.get("SVCPRCSSNO");
|
||||
throw new Exception("B2B기관 정보 관리 [기관코드 : " + extnlInstiIdfiName + " / 서비스처리순서 : " + svcPrcssNo
|
||||
+ "] 에 대한 수동 어댑터가 해당서버에 존재하지 않습니다. [" + adapterGroupName + "]");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fileInfoDownLoading(DataSourceType dt, String path, String fileName) throws Exception {
|
||||
|
||||
InterfaceDeploy interfaceDeploy = interfaceDeployService.selectDeploy(fileName);
|
||||
if (interfaceDeploy == null) {
|
||||
throw new Exception ("layout data is empty layoutName =["+fileName+"]") ;
|
||||
}
|
||||
|
||||
com.eactive.eai.rms.common.converter.ElinkObjectMapper mapper = new com.eactive.eai.rms.common.converter.ElinkObjectMapper();
|
||||
mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
|
||||
|
||||
String json = mapper.writeValueAsString(interfaceDeploy);
|
||||
System.out.println(json);
|
||||
|
||||
FileWriteUtil.FileWrite(path , fileName+".txt", json, "UTF-8");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertTableLoading(DataSourceType dt, String path, String fileName) throws Exception {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tableDownLoading(DataSourceType dt, String path, String tableName) throws Exception {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tranBlock(DataSourceType dt, String cmd, String type, String value) throws Exception {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
package com.eactive.eai.rms.bap.loader.service;
|
||||
|
||||
|
||||
import com.eactive.eai.rms.bap.loader.intf.InterfaceDeployService;
|
||||
import com.eactive.eai.rms.bap.loader.intf.deploy.InterfaceDeploy;
|
||||
import com.eactive.eai.rms.onl.loader.service.TransactionDeployJsonEmptyService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service("deployJsonServiceBap")
|
||||
public class TransactionDeployJsonServiceBap extends TransactionDeployJsonEmptyService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("BapInterfaceDeployService")
|
||||
private InterfaceDeployService interfaceDeployService;
|
||||
|
||||
@Override
|
||||
public void insertInterfaceLoading(String path, String fileName) throws Exception {
|
||||
String json = load(path + fileName, "UTF-8");
|
||||
InterfaceDeploy interfaceDeploy = mapper.readValue(json, InterfaceDeploy.class);
|
||||
interfaceDeployService.saveDeploy(interfaceDeploy);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.adapter;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
import com.google.gson.Gson;
|
||||
|
||||
@Controller
|
||||
public class BapAdapterController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapAdapterService")
|
||||
private BapAdapterService service;
|
||||
|
||||
@Autowired
|
||||
private BapAdapterSqlService sqlService;
|
||||
|
||||
@RequestMapping(value= "/bap/admin/adapter/adapterMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/adapter/adapterMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo ,String searchAdptrBzwkGroupName, String searchAdptrBzwkGroupDesc) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
if (searchAdptrBzwkGroupName != null && searchAdptrBzwkGroupDesc != null) {
|
||||
map = service.selectList( pageVo.getStartNum(), pageVo.getEndNum(), searchAdptrBzwkGroupName, searchAdptrBzwkGroupDesc);
|
||||
}
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/adapter/adapterMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response,String adptrBzwkGroupName) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectDetail(adptrBzwkGroupName);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/adapter/adapterMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map, String gridData ) throws Exception {
|
||||
Gson gson = new Gson();
|
||||
@SuppressWarnings("unchecked")
|
||||
HashMap<String, Object>[] list = gson.fromJson(gridData, HashMap[].class);
|
||||
service.insert(map,list);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.adapter.UpdateAdapterGroupCommand",(String)map.get("adptrBzwkGroupName"));
|
||||
agentUtilService.broadcast(command);
|
||||
command = new CommonCommand("com.eactive.eai.agent.property.UpdatePropertyCommand",(String)map.get("prptyGroupName"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/adapter/adapterMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map, String gridData ) throws Exception {
|
||||
Gson gson = new Gson();
|
||||
@SuppressWarnings("unchecked")
|
||||
HashMap<String, Object>[] list = gson.fromJson(gridData, HashMap[].class);
|
||||
service.update(map,list);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.adapter.UpdateAdapterGroupCommand",(String)map.get("adptrBzwkGroupName"));
|
||||
agentUtilService.broadcast(command);
|
||||
command = new CommonCommand("com.eactive.eai.agent.property.UpdatePropertyCommand",(String)map.get("prptyGroupName"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/adapter/adapterMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String,Object> map ) throws Exception {
|
||||
|
||||
String adptrBzwkGroupName = map.get("adptrBzwkGroupName").toString();
|
||||
String prptyGroupName = map.get("prptyGroupName").toString();
|
||||
service.delete(map);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.adapter.RemoveAdapterGroupCommand", adptrBzwkGroupName);
|
||||
agentUtilService.broadcast(command);
|
||||
command = new CommonCommand("com.eactive.eai.agent.adapter.RemoveAdapterGroupCommand",prptyGroupName);
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
}
|
||||
@SuppressWarnings("unchecked")
|
||||
@RequestMapping(value= "/bap/admin/adapter/adapterMan.json",params = "cmd=LIST_DELETE")
|
||||
public String deleteList(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String,Object> map ) throws Exception {
|
||||
|
||||
for (String adptrBzwkGroupName : map.get("adptrBzwkGroupNameList").toString().split(",")) {
|
||||
HashMap<String, Object> adptrBzwkGroup = service.selectDetail(adptrBzwkGroupName);
|
||||
HashMap<String, Object> detail = (HashMap<String, Object>)adptrBzwkGroup.get("detail");
|
||||
String prptyGroupName = detail.get("PRPTYGROUPNAME").toString();
|
||||
|
||||
HashMap<String,Object> adptrMap = new HashMap<String,Object>();
|
||||
adptrMap.put("adptrBzwkGroupName", adptrBzwkGroupName);
|
||||
adptrMap.put("prptyGroupName", prptyGroupName);
|
||||
service.delete(adptrMap);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.adapter.RemoveAdapterGroupCommand", adptrBzwkGroupName);
|
||||
agentUtilService.broadcast(command);
|
||||
command = new CommonCommand("com.eactive.eai.agent.adapter.RemoveAdapterGroupCommand",prptyGroupName);
|
||||
agentUtilService.broadcast(command);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/adapter/adapterMan.json",params = "cmd=LIST_DOWNLOAD_SQL")
|
||||
public ModelAndView downloadSql(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map) throws Exception {
|
||||
|
||||
// ModelAndView modelAndView = new ModelAndView("jsonView",service.mkInsertSqlForBapAdptr(map));
|
||||
|
||||
String sql = sqlService.bapAdapterSql(map);
|
||||
|
||||
Map<String, String> resultMap = new HashMap<>();
|
||||
resultMap.put("sql", sql);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", resultMap);
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/adapter/adapterMan.view",params = "cmd=LIST_FILE_DOWNLOAD")
|
||||
public String fileDownload(HttpServletRequest request) throws Exception {
|
||||
|
||||
return "/bap/admin/common/filedownload";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.adapter;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapAdapterDao")
|
||||
@SuppressWarnings({"deprecation","unchecked"})
|
||||
public class BapAdapterDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
return (Integer)template.queryForObject("BapAdapter.selectListCount", param);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("BapAdapter.selectList", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> adapterGroupDetail(HashMap<String, Object> param) throws Exception {
|
||||
return (HashMap<String, Object>)template.queryForObject("BapAdapter.adapterGroupDetail", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> adapterDetail(HashMap<String, Object> param) throws Exception {
|
||||
return (HashMap<String, Object>)template.queryForObject("BapAdapter.adapterDetail", param);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> propertyList(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("BapAdapter.propertyList", param);
|
||||
}
|
||||
|
||||
public void insertAdapterGroup(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapAdapter.insertAdapterGroup", paramMap);
|
||||
}
|
||||
|
||||
public void insertAdapter(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapAdapter.insertAdapter", paramMap);
|
||||
}
|
||||
|
||||
public void insertProperty(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapAdapter.insertProperty", paramMap);
|
||||
}
|
||||
|
||||
public void updateAdapterGroup(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("BapAdapter.updateAdapterGroup", paramMap);
|
||||
}
|
||||
|
||||
public void updateAdapter(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("BapAdapter.updateAdapter", paramMap);
|
||||
}
|
||||
|
||||
public void deleteAdapterGroup(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("BapAdapter.deleteAdapterGroup", paramMap);
|
||||
}
|
||||
|
||||
public void deleteAdapter(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("BapAdapter.deleteAdapter", paramMap);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,253 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.adapter;
|
||||
|
||||
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;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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.BapAdapterPropertyDao;
|
||||
import com.eactive.eai.rms.bap.manage.comm.property.BapPropertyDao;
|
||||
import com.eactive.eai.rms.common.util.SqlUtil;
|
||||
|
||||
@Service("bapAdapterService")
|
||||
public class BapAdapterService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapAdapterDao")
|
||||
private BapAdapterDao dao;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapAdapterPropertyDao")
|
||||
private BapAdapterPropertyDao adptrPropDao;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapPropertyDao")
|
||||
private BapPropertyDao propDao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum, String searchAdptrBzwkGroupName, String searchAdptrBzwkGroupDesc) throws Exception {
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
//검색 조건
|
||||
logger.debug("searchAdptrBzwkGroupName===>" + searchAdptrBzwkGroupName + "<====");
|
||||
logger.debug("searchAdptrBzwkGroupDesc===>" + searchAdptrBzwkGroupDesc + "<====");
|
||||
|
||||
paramMap.put("searchAdptrBzwkGroupName", searchAdptrBzwkGroupName.toUpperCase());
|
||||
paramMap.put("searchAdptrBzwkGroupDesc", searchAdptrBzwkGroupDesc.toUpperCase());
|
||||
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = dao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List<Map<String, Object>> list = dao.selectList(paramMap);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("totalCount", totalCount);
|
||||
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String adptrBzwkGroupName) throws Exception {
|
||||
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("adptrBzwkGroupName", adptrBzwkGroupName);
|
||||
|
||||
HashMap<String, Object> detailGroup = dao.adapterGroupDetail(paramMap);
|
||||
HashMap<String, Object> detail = dao.adapterDetail(paramMap);
|
||||
List<Map<String, Object>> list = dao.propertyList(paramMap);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
detail.putAll(detailGroup);
|
||||
map.put("detail" , detail);
|
||||
map.put("rows" , list);
|
||||
|
||||
return map;
|
||||
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap, HashMap<String, Object>[] list) throws Exception {
|
||||
dao.insertAdapterGroup(paramMap);
|
||||
dao.insertAdapter(paramMap);
|
||||
adptrPropDao.delete(paramMap);
|
||||
adptrPropDao.deleteProperty(paramMap);
|
||||
if ( list.length > 0 ) adptrPropDao.insert(paramMap);
|
||||
for(HashMap<String, Object> map : list){
|
||||
String prptyName = (String)map.get("PRPTYNAME");
|
||||
String prpty2Val = (String)map.get("PRPTY2VAL");
|
||||
if ( !prptyName.equals("") && !prpty2Val.equals("")){
|
||||
HashMap<String, Object> data = new HashMap<String, Object>();
|
||||
data.putAll(paramMap);
|
||||
data.put("prptyName",prptyName);
|
||||
data.put("prpty2Val",prpty2Val);
|
||||
adptrPropDao.insertProperty(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap, HashMap<String, Object>[] list) throws Exception {
|
||||
dao.updateAdapterGroup(paramMap);
|
||||
dao.updateAdapter(paramMap);
|
||||
adptrPropDao.deleteProperty(paramMap);
|
||||
if ( list.length > 0 ) adptrPropDao.update(paramMap);
|
||||
for(HashMap<String, Object> map : list){
|
||||
String prptyName = (String)map.get("PRPTYNAME");
|
||||
String prpty2Val = (String)map.get("PRPTY2VAL");
|
||||
if ( !prptyName.equals("") && !prpty2Val.equals("")){
|
||||
HashMap<String, Object> data = new HashMap<String, Object>();
|
||||
data.putAll(paramMap);
|
||||
data.put("prptyName",prptyName);
|
||||
data.put("prpty2Val",prpty2Val);
|
||||
adptrPropDao.insertProperty(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.deleteAdapterGroup(paramMap);
|
||||
dao.deleteAdapter(paramMap);
|
||||
adptrPropDao.delete(paramMap);
|
||||
adptrPropDao.deleteProperty(paramMap);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public HashMap<String,String> mkInsertSqlForBapAdptr(HashMap<String, Object> adptrGroup) throws Exception {
|
||||
|
||||
StringBuffer adptrGroupInsertSql = new StringBuffer();
|
||||
for (String adptrBzwkGroupName : adptrGroup.get("adptrBzwkGroupNameList").toString().split(",")) {
|
||||
|
||||
HashMap<String, Object> adptrBzwkGroup = selectDetail(adptrBzwkGroupName);
|
||||
HashMap<String, Object> detail = (HashMap<String, Object>)adptrBzwkGroup.get("detail");
|
||||
List<Map<String, Object>> propList = (List<Map<String, Object>>)adptrBzwkGroup.get("rows");
|
||||
|
||||
// ADAPTER GROUP into BA01
|
||||
List<String> columnArr = new ArrayList<String>();
|
||||
String[] columnList = {"ADPTRBZWKGROUPNAME","ADPTRCD","ADPTRUSEYN","ADPTRBZWKGROUPDESC"};
|
||||
columnArr = Arrays.asList(columnList);
|
||||
adptrGroupInsertSql.append("INSERT INTO EAIPKG.TSEAIBA01 (");
|
||||
|
||||
// 필드명 입력
|
||||
for (String column : columnArr) {
|
||||
adptrGroupInsertSql.append((column.equals(columnArr.get(columnArr.size()-1))) ? column : column+",");
|
||||
}
|
||||
adptrGroupInsertSql.append(") VALUES (");
|
||||
// 필드값 입력
|
||||
for (String column : columnArr) {
|
||||
if (column.equals(columnArr.get(columnArr.size()-1))) {
|
||||
adptrGroupInsertSql.append("'"+(detail.containsKey(column) ? detail.get(column) : "")+"');\n");
|
||||
} else {
|
||||
adptrGroupInsertSql.append("'"+(detail.containsKey(column) ? detail.get(column) : "")+"',");
|
||||
}
|
||||
}
|
||||
|
||||
// ADAPTER into BA02
|
||||
List<String> columnAdptrArr = new ArrayList<String>();
|
||||
String[] columnAdptrList = {"ADPTRBZWKGROUPNAME","ADPTRBZWKNAME","LSTNERCLSNAME","PRPTYGROUPNAME","ADPTRDESC"};
|
||||
columnAdptrArr = Arrays.asList(columnAdptrList);
|
||||
adptrGroupInsertSql.append("INSERT INTO EAIPKG.TSEAIBA02 (");
|
||||
|
||||
// 필드명 입력
|
||||
for (String column : columnAdptrArr) {
|
||||
adptrGroupInsertSql.append((column.equals(columnAdptrArr.get(columnAdptrArr.size()-1))) ? column : column+",");
|
||||
}
|
||||
adptrGroupInsertSql.append(") VALUES (");
|
||||
// 필드값 입력
|
||||
for (String column : columnAdptrArr) {
|
||||
if (column.equals(columnAdptrArr.get(columnAdptrArr.size()-1))) {
|
||||
adptrGroupInsertSql.append("'"+(detail.containsKey(column) ? detail.get(column) : "")+"');\n");
|
||||
} else {
|
||||
adptrGroupInsertSql.append("'"+(detail.containsKey(column) ? detail.get(column) : "")+"',");
|
||||
}
|
||||
}
|
||||
|
||||
// ADAPTER PROP GROUP into BA03
|
||||
List<String> columnPropGrpArr = new ArrayList<String>();
|
||||
String[] columnPropGrpList = {"PRPTYGROUPNAME","PRPTYGROUPDESC"};
|
||||
columnPropGrpArr = Arrays.asList(columnPropGrpList);
|
||||
adptrGroupInsertSql.append("INSERT INTO EAIPKG.TSEAIBA03 (");
|
||||
|
||||
// 필드명 입력
|
||||
for (String column : columnPropGrpArr) {
|
||||
adptrGroupInsertSql.append((column.equals(columnPropGrpArr.get(columnPropGrpArr.size()-1))) ? column : column+",");
|
||||
}
|
||||
adptrGroupInsertSql.append(") VALUES (");
|
||||
// 필드값 입력
|
||||
for (String column : columnPropGrpArr) {
|
||||
if (column.equals(columnPropGrpArr.get(columnPropGrpArr.size()-1))) {
|
||||
adptrGroupInsertSql.append("'"+(detail.containsKey(column) ? detail.get(column) : "")+"');\n");
|
||||
} else {
|
||||
adptrGroupInsertSql.append("'"+(detail.containsKey(column) ? detail.get(column) : "")+"',");
|
||||
}
|
||||
}
|
||||
|
||||
// ADAPTER PROP LIST into BA04
|
||||
for (Map<String, Object> prop : propList) {
|
||||
List<String> columnPropArr = new ArrayList<String>();
|
||||
String[] columnPropList = {"PRPTYGROUPNAME","PRPTYNAME","PRPTY2VAL"};
|
||||
columnPropArr = Arrays.asList(columnPropList);
|
||||
adptrGroupInsertSql.append("INSERT INTO EAIPKG.TSEAIBA04 (");
|
||||
|
||||
// 필드명 입력
|
||||
for (String column : columnPropArr) {
|
||||
adptrGroupInsertSql.append((column.equals(columnPropArr.get(columnPropArr.size()-1))) ? column : column+",");
|
||||
}
|
||||
adptrGroupInsertSql.append(") VALUES (");
|
||||
// 필드값 입력
|
||||
for (String column : columnPropArr) {
|
||||
if (column.equals("PRPTYGROUPNAME")) {
|
||||
adptrGroupInsertSql.append("'"+detail.get("PRPTYGROUPNAME")+"',");
|
||||
} else if (column.equals(columnPropArr.get(columnPropArr.size()-1))) {
|
||||
adptrGroupInsertSql.append("'"+(prop.containsKey(column) ? prop.get(column) : "")+"');\n");
|
||||
} else {
|
||||
adptrGroupInsertSql.append("'"+(prop.containsKey(column) ? prop.get(column) : "")+"',");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HashMap<String,String> retMap = new HashMap<String,String>();
|
||||
if (adptrGroup.get("fileName") != null) {
|
||||
OutputStream output = null;
|
||||
try {
|
||||
String sqlDownloadPath = getProperties("SQL_DOWNLOAD", "DOWNLOAD_PATH");
|
||||
String sqlDownloadFile = sqlDownloadPath+adptrGroup.get("fileName");
|
||||
output = new FileOutputStream(sqlDownloadFile);
|
||||
if (sqlDownloadPath != null) {
|
||||
byte[] bt = adptrGroupInsertSql.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(adptrGroupInsertSql.toString(), "BAP_"+adptrGroup.get("svrType").toString().toUpperCase());
|
||||
}
|
||||
|
||||
return retMap;
|
||||
}
|
||||
|
||||
private String getProperties(String propGroup, String propName) throws Exception {
|
||||
HashMap<String,Object> params = new HashMap<String,Object>();
|
||||
params.put("prptyGroupName", propGroup);
|
||||
params.put("prptyName", propName);
|
||||
|
||||
HashMap<String, Object> props = propDao.getProperties(params);
|
||||
|
||||
return props.get("PRPTY2VAL").toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.adapter;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceContextHolder;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
|
||||
import com.eactive.eai.rms.onl.common.sql.ExtractSqlService;
|
||||
|
||||
@Service
|
||||
public class BapAdapterSqlService extends ExtractSqlService {
|
||||
|
||||
public String bapAdapterSql(Map<String, Object> paramMap) throws Exception {
|
||||
|
||||
DataSourceContextHolder.setDataSourceType(
|
||||
DataSourceTypeManager.getDataSourceType(DataSourceTypeManager.BAP));
|
||||
|
||||
StringBuilder sqlBuilder = new StringBuilder();
|
||||
|
||||
String bapAdapterName = (String) paramMap.get("adptrBzwkGroupName");
|
||||
|
||||
List<Map<String, Object>> ba01_queryResult = select("TSEAIBA01", "ADPTRBZWKGROUPNAME", bapAdapterName);
|
||||
sqlBuilder.append(makeSql("TSEAIBA01", "ADPTRBZWKGROUPNAME", bapAdapterName, ba01_queryResult));
|
||||
|
||||
List<Map<String, Object>> ba02_queryResult = select("TSEAIBA02", "ADPTRBZWKGROUPNAME", bapAdapterName);
|
||||
sqlBuilder.append(makeSql("TSEAIBA02", "ADPTRBZWKGROUPNAME", bapAdapterName, ba02_queryResult));
|
||||
|
||||
String[] keysForBA03 = extractKeys(ba02_queryResult, "PRPTYGROUPNAME");
|
||||
List<Map<String, Object>> ba03_queryResult = select("TSEAIBA03", "PRPTYGROUPNAME", keysForBA03);
|
||||
sqlBuilder.append(makeSql("TSEAIBA03", "PRPTYGROUPNAME", keysForBA03, ba03_queryResult));
|
||||
|
||||
String[] keysForBA04 = extractKeys(ba03_queryResult, "PRPTYGROUPNAME");
|
||||
List<Map<String, Object>> ba04_queryResult = select("TSEAIBA04", "PRPTYGROUPNAME", keysForBA04);
|
||||
sqlBuilder.append(makeSql("TSEAIBA04", "PRPTYGROUPNAME", keysForBA04, ba04_queryResult));
|
||||
|
||||
return sqlBuilder.toString();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.code;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
|
||||
@Controller
|
||||
public class BapCodeController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapCodeService")
|
||||
private BapCodeService bapCodeService;
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/codeMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/common/codeMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo ,String searchMsg, String searchDesc) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
if (searchMsg != null && searchDesc != null) {
|
||||
map = bapCodeService.selectList( pageVo.getStartNum(), pageVo.getEndNum(), searchMsg, searchDesc);
|
||||
}
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/codeMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response, String msg) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = bapCodeService.selectDetail(msg);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/codeMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap) throws Exception {
|
||||
bapCodeService.insert(paramMap);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.code.UpdateCodeMessageCommand",(String)paramMap.get("msg"));
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/codeMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
|
||||
bapCodeService.update(paramMap);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.code.UpdateCodeMessageCommand",(String)paramMap.get("msg"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/codeMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
bapCodeService.delete(paramMap);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.code.RemoveCodeMessageCommand",(String)paramMap.get("msg"));
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.code;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapCodeDao")
|
||||
@SuppressWarnings({"deprecation","unchecked"})
|
||||
public class BapCodeDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
return (Integer)template.queryForObject("BapCode.selectListCount", param);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("BapCode.selectList", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(HashMap<String, Object> param) throws Exception {
|
||||
return (HashMap<String, Object>)template.queryForObject("BapCode.selectDetail", param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapCode.insert", paramMap);
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("BapCode.update", paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("BapCode.delete", paramMap);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.code;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.eactive.eai.rms.bap.common.base.BapBaseService;
|
||||
|
||||
@Service("bapCodeService")
|
||||
public class BapCodeService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapCodeDao")
|
||||
private BapCodeDao bapCodeDao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum, String searchMsg, String searchDesc) throws Exception {
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
|
||||
//검색 조건
|
||||
paramMap.put("searchMsg", searchMsg.toUpperCase());
|
||||
paramMap.put("searchDesc", searchDesc.toUpperCase());
|
||||
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = bapCodeDao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List<Map<String, Object>> list = bapCodeDao.selectList(paramMap);
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("totalCount", totalCount);
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String msg) throws Exception {
|
||||
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("msg", msg);
|
||||
|
||||
return bapCodeDao.selectDetail( paramMap);
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception {
|
||||
bapCodeDao.update(paramMap);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception {
|
||||
bapCodeDao.insert(paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
bapCodeDao.delete(paramMap);
|
||||
}
|
||||
}
|
||||
+130
@@ -0,0 +1,130 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.code;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.bat.manage.comm.code.BatCodeService;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
|
||||
@Controller
|
||||
public class ComErrMessageManController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapCodeService")
|
||||
private BapCodeService bapCodeService;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("batCodeService")
|
||||
private BatCodeService batCodeService;
|
||||
@RequestMapping(value= "/bap/admin/common/comErrMessageMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/common/comErrMessageMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo ,String searchMsg, String searchDesc, String searchSvrDstcd) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
if(searchMsg != null && searchDesc != null && searchSvrDstcd != null && "BAT".equals(searchSvrDstcd)){
|
||||
map = batCodeService.selectList( pageVo.getStartNum(), pageVo.getEndNum(), searchMsg, searchDesc);
|
||||
}else if (searchMsg != null && searchDesc != null){
|
||||
map = bapCodeService.selectList( pageVo.getStartNum(), pageVo.getEndNum(), searchMsg, searchDesc);
|
||||
}
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/comErrMessageMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response, String msg, String searchSvrDstcd) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
if(null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)){
|
||||
map = batCodeService.selectDetail(msg);
|
||||
}else{
|
||||
map = bapCodeService.selectDetail(msg);
|
||||
}
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/comErrMessageMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap, String searchSvrDstcd) throws Exception {
|
||||
if(null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)){
|
||||
paramMap.put("msgId", paramMap.get("msg"));
|
||||
batCodeService.insert(paramMap);
|
||||
}else{
|
||||
bapCodeService.insert(paramMap);
|
||||
}
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.code.UpdateCodeMessageCommand",(String)paramMap.get("msg"));
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/comErrMessageMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap , String searchSvrDstcd) throws Exception {
|
||||
if(null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)){
|
||||
paramMap.put("msgId", paramMap.get("msg"));
|
||||
batCodeService.update(paramMap);
|
||||
}else{
|
||||
bapCodeService.update(paramMap);
|
||||
}
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.code.UpdateCodeMessageCommand",(String)paramMap.get("msg"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/comErrMessageMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap , String searchSvrDstcd) throws Exception {
|
||||
if(null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)){
|
||||
paramMap.put("msgId", paramMap.get("msg"));
|
||||
batCodeService.delete(paramMap);
|
||||
}else{
|
||||
bapCodeService.delete(paramMap);
|
||||
}
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.code.RemoveCodeMessageCommand",(String)paramMap.get("msg"));
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
|
||||
}
|
||||
}
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.lifecycle;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
|
||||
@Controller
|
||||
public class BapLifecycleController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("BapLifecycleService")
|
||||
private BapLifecycleService service;
|
||||
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/lifecycleMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/common/lifecycleMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo ) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectList( pageVo.getStartNum(), pageVo.getEndNum());
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/lifecycleMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map) throws Exception {
|
||||
|
||||
map = service.selectDetail(map);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/lifecycleMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String,Object> map ) throws Exception {
|
||||
|
||||
service.insert(map);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/lifecycleMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String,Object> map ) throws Exception {
|
||||
|
||||
service.update(map);
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/lifecycleMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String,Object> map ) throws Exception {
|
||||
service.delete(map);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.lifecycle;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("BapLifecycleDao")
|
||||
@SuppressWarnings("deprecation")
|
||||
public class BapLifecycleDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
return (Integer)template.queryForObject("BapLifecycle.selectListCount", param);
|
||||
}
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<HashMap<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
return template.queryForList("BapLifecycle.selectList", param);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public HashMap<String, Object> selectDetail(HashMap<String, Object> param) throws Exception {
|
||||
return (HashMap<String, Object>)template.queryForObject("BapLifecycle.selectDetail", param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapLifecycle.insert", paramMap);
|
||||
}
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("BapLifecycle.update", paramMap);
|
||||
}
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("BapLifecycle.delete", paramMap);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.lifecycle;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.eactive.eai.rms.bap.common.base.BapBaseService;
|
||||
|
||||
@Service("BapLifecycleService")
|
||||
public class BapLifecycleService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("BapLifecycleDao")
|
||||
private BapLifecycleDao dao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum ) throws Exception {
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = dao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List<HashMap<String, Object>> list = dao.selectList(paramMap);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("totalCount", totalCount);
|
||||
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(HashMap<String,Object>paraMap) throws Exception {
|
||||
|
||||
return dao.selectDetail( paraMap);
|
||||
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.update(paramMap);
|
||||
}
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.insert(paramMap);
|
||||
}
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.delete(paramMap);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.lifecycle;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.rms.bat.manage.comm.lifecycle.BatLifecycleService;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
|
||||
@Controller
|
||||
public class ComLifecycleController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("BapLifecycleService")
|
||||
private BapLifecycleService bapService;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("BatLifecycleService")
|
||||
private BatLifecycleService batService;
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/comLifecycleMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/common/comLifecycleMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo , String searchSvrDstcd) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
if(null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)){
|
||||
map = batService.selectList( pageVo.getStartNum(), pageVo.getEndNum());
|
||||
}else{
|
||||
map = bapService.selectList( pageVo.getStartNum(), pageVo.getEndNum());
|
||||
}
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/comLifecycleMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> paramMap, String searchSvrDstcd) throws Exception {
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
if(null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)){
|
||||
map = batService.selectDetail(paramMap);
|
||||
}else{
|
||||
map = bapService.selectDetail(paramMap);
|
||||
}
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/comLifecycleMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String,Object> map , String searchSvrDstcd) throws Exception {
|
||||
if(null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)){
|
||||
batService.insert(map);
|
||||
}else{
|
||||
bapService.insert(map);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/comLifecycleMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String,Object> map , String searchSvrDstcd) throws Exception {
|
||||
if(null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)){
|
||||
batService.update(map);
|
||||
}else{
|
||||
bapService.update(map);
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/comLifecycleMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String,Object> map , String searchSvrDstcd) throws Exception {
|
||||
if(null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)){
|
||||
batService.delete(map);
|
||||
}else{
|
||||
bapService.delete(map);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
}
|
||||
+115
@@ -0,0 +1,115 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.property;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
import com.google.gson.Gson;
|
||||
|
||||
@Controller
|
||||
public class BapAdapterPropertyController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapAdapterPropertyService")
|
||||
private BapAdapterPropertyService service;
|
||||
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/adapterPropertyMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/common/adapterPropertyMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo , @RequestParam HashMap<String,Object> paramMap) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectList( pageVo.getStartNum(), pageVo.getEndNum(),paramMap);
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/adapterPropertyMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response,String prptyGroupName) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectDetail(prptyGroupName);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/adapterPropertyMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map, String gridData ) throws Exception {
|
||||
Gson gson = new Gson();
|
||||
@SuppressWarnings("unchecked")
|
||||
HashMap<String, Object>[] list = gson.fromJson(gridData, HashMap[].class);
|
||||
service.insert(map,list);
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.adptproperty.UpdatePropertyCommand",(String)map.get("prptyGroupName"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/adapterPropertyMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map, String gridData ) throws Exception {
|
||||
Gson gson = new Gson();
|
||||
@SuppressWarnings("unchecked")
|
||||
HashMap<String, Object>[] list = gson.fromJson(gridData, HashMap[].class);
|
||||
service.update(map,list);
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.adptproperty.UpdatePropertyCommand",(String)map.get("prptyGroupName"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/adapterPropertyMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, String prptyGroupName ) throws Exception {
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("prptyGroupName", prptyGroupName);
|
||||
service.delete(paramMap);
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.teleproperty.RemovePropertyCommand",prptyGroupName);
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.property;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapAdapterPropertyDao")
|
||||
@SuppressWarnings({"deprecation","unchecked"})
|
||||
public class BapAdapterPropertyDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
return (Integer)template.queryForObject("BapAdapterProperty.selectListCount", param);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("BapAdapterProperty.selectList", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> propertyGroupDetail(HashMap<String, Object> param) throws Exception {
|
||||
return (HashMap<String, Object>)template.queryForObject("BapAdapterProperty.propertyGroupDetail", param);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> propertyDetail(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("BapAdapterProperty.propertyDetail", param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapAdapterProperty.insert", paramMap);
|
||||
}
|
||||
|
||||
public void insertProperty(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapAdapterProperty.insertProperty", paramMap);
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("BapAdapterProperty.update", paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("BapAdapterProperty.delete", paramMap);
|
||||
}
|
||||
|
||||
public void deleteProperty(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("BapAdapterProperty.deleteProperty", paramMap);
|
||||
}
|
||||
}
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.property;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang.StringEscapeUtils;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.eactive.eai.rms.bap.common.base.BapBaseService;
|
||||
|
||||
@Service("bapAdapterPropertyService")
|
||||
public class BapAdapterPropertyService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapAdapterPropertyDao")
|
||||
private BapAdapterPropertyDao dao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum, HashMap<String,Object> paramMap) throws Exception {
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = dao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List<Map<String, Object>> list = dao.selectList(paramMap);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("totalCount", totalCount);
|
||||
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String prptyGroupName) throws Exception {
|
||||
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("prptyGroupName", prptyGroupName);
|
||||
|
||||
HashMap<String, Object> detail = dao.propertyGroupDetail(paramMap);
|
||||
List<Map<String, Object>> list = dao.propertyDetail(paramMap);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("detail", detail);
|
||||
map.put("rows", list);
|
||||
|
||||
return map;
|
||||
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap, HashMap<String, Object>[] list) throws Exception {
|
||||
dao.insert(paramMap);
|
||||
HashMap<String, Object> data ;
|
||||
for(HashMap<String, Object> map : list){
|
||||
data = new HashMap<String, Object>();
|
||||
data.putAll(paramMap);
|
||||
data.put("prptyName", StringEscapeUtils.unescapeHtml(map.get("PRPTYNAME").toString()));
|
||||
data.put("prpty2Val", StringEscapeUtils.unescapeHtml(map.get("PRPTY2VAL").toString()));
|
||||
dao.insertProperty(data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap, HashMap<String, Object>[] list) throws Exception {
|
||||
dao.update(paramMap);
|
||||
dao.deleteProperty(paramMap);
|
||||
HashMap<String, Object> data ;
|
||||
for(HashMap<String, Object> map : list){
|
||||
data = new HashMap<String, Object>();
|
||||
data.putAll(paramMap);
|
||||
data.put("prptyName", StringEscapeUtils.unescapeHtml(map.get("PRPTYNAME").toString()));
|
||||
data.put("prpty2Val", StringEscapeUtils.unescapeHtml(map.get("PRPTY2VAL").toString()));
|
||||
dao.insertProperty(data);
|
||||
}
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.delete(paramMap);
|
||||
dao.deleteProperty(paramMap);
|
||||
}
|
||||
}
|
||||
+132
@@ -0,0 +1,132 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.property;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
import com.google.gson.Gson;
|
||||
|
||||
@Controller
|
||||
public class BapPropertyController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapPropertyService")
|
||||
private BapPropertyService service;
|
||||
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/propertyMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/common/propertyMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo , @RequestParam HashMap<String,Object> paramMap) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectList( pageVo.getStartNum(), pageVo.getEndNum(), paramMap);
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/propertyMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response,String prptyGroupName) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectDetail(prptyGroupName);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/propertyMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map, String gridData ) throws Exception {
|
||||
Gson gson = new Gson();
|
||||
@SuppressWarnings("unchecked")
|
||||
HashMap<String, Object>[] list = gson.fromJson(gridData, HashMap[].class);
|
||||
service.insert(map,list);
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.property.UpdatePropertyCommand",(String)map.get("prptyGroupName"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/propertyMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map, String gridData ) throws Exception {
|
||||
Gson gson = new Gson();
|
||||
@SuppressWarnings("unchecked")
|
||||
HashMap<String, Object>[] list = gson.fromJson(gridData, HashMap[].class);
|
||||
service.update(map,list);
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.property.UpdatePropertyCommand",(String)map.get("prptyGroupName"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/propertyMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, String prptyGroupName ) throws Exception {
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("prptyGroupName", prptyGroupName);
|
||||
service.delete(paramMap);
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.property.RemovePropertyCommand",prptyGroupName);
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/propertyMan.json",params = "cmd=LIST_DOWNLOAD_SQL")
|
||||
public ModelAndView downloadSql(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String,Object> map) throws Exception {
|
||||
|
||||
HashMap<String, Object> propDetail = service.selectDetail(map.get("prptyGroupName").toString());
|
||||
propDetail.putAll(map);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",service.mkInsertSqlForProperty(propDetail));
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/propertyMan.view",params = "cmd=LIST_FILE_DOWNLOAD")
|
||||
public String fileDownload(HttpServletRequest request) throws Exception {
|
||||
|
||||
return "/bap/admin/common/filedownload";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.property;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapPropertyDao")
|
||||
@SuppressWarnings({"deprecation","unchecked"})
|
||||
public class BapPropertyDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
return (Integer)template.queryForObject("BapProperty.selectListCount", param);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("BapProperty.selectList", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> propertyGroupDetail(HashMap<String, Object> param) throws Exception {
|
||||
return (HashMap<String, Object>)template.queryForObject("BapProperty.propertyGroupDetail", param);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> propertyDetail(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("BapProperty.propertyDetail", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> getProperties(HashMap<String, Object> param) throws Exception {
|
||||
return (HashMap<String, Object>)template.queryForObject("BapProperty.getProperties", param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapProperty.insert", paramMap);
|
||||
}
|
||||
|
||||
public void insertProperty(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapProperty.insertProperty", paramMap);
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("BapProperty.update", paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("BapProperty.delete", paramMap);
|
||||
}
|
||||
|
||||
public void deleteProperty(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("BapProperty.deleteProperty", paramMap);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.property;
|
||||
|
||||
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;
|
||||
|
||||
import org.apache.commons.lang.StringEscapeUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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.common.util.SqlUtil;
|
||||
|
||||
@Service("bapPropertyService")
|
||||
public class BapPropertyService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapPropertyDao")
|
||||
private BapPropertyDao dao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum, HashMap paramMap) throws Exception {
|
||||
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = dao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List<Map<String, Object>> list = dao.selectList(paramMap);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("totalCount", totalCount);
|
||||
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String prptyGroupName) throws Exception {
|
||||
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("prptyGroupName", prptyGroupName);
|
||||
|
||||
HashMap<String, Object> detail = dao.propertyGroupDetail(paramMap);
|
||||
List<Map<String, Object>> list = dao.propertyDetail(paramMap);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("detail", detail);
|
||||
map.put("rows", list);
|
||||
|
||||
return map;
|
||||
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap, HashMap<String, Object>[] list) throws Exception {
|
||||
dao.insert(paramMap);
|
||||
HashMap<String, Object> data ;
|
||||
for(HashMap<String, Object> map : list){
|
||||
data = new HashMap<String, Object>();
|
||||
data.putAll(paramMap);
|
||||
data.put("prptyName", StringEscapeUtils.unescapeHtml(map.get("PRPTYNAME").toString()));
|
||||
data.put("prpty2Val", StringEscapeUtils.unescapeHtml(map.get("PRPTY2VAL").toString()));
|
||||
dao.insertProperty(data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap, HashMap<String, Object>[] list) throws Exception {
|
||||
dao.update(paramMap);
|
||||
dao.deleteProperty(paramMap);
|
||||
HashMap<String, Object> data ;
|
||||
for(HashMap<String, Object> map : list){
|
||||
data = new HashMap<String, Object>();
|
||||
data.putAll(paramMap);
|
||||
data.put("prptyName", StringEscapeUtils.unescapeHtml(map.get("PRPTYNAME").toString()));
|
||||
data.put("prpty2Val", StringEscapeUtils.unescapeHtml(map.get("PRPTY2VAL").toString()));
|
||||
dao.insertProperty(data);
|
||||
}
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.delete(paramMap);
|
||||
dao.deleteProperty(paramMap);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public HashMap<String,String> mkInsertSqlForProperty(HashMap<String, Object> propDetail) throws Exception {
|
||||
|
||||
StringBuffer propInsertSql = new StringBuffer();
|
||||
|
||||
HashMap<String, Object> detail = (HashMap<String, Object>)propDetail.get("detail");
|
||||
List<Map<String, Object>> propList = (List<Map<String, Object>>)propDetail.get("rows");
|
||||
|
||||
// Property Group (TSEAIBP01)
|
||||
List<String> columnGroupArr = new ArrayList<String>();
|
||||
String[] columnGroupList = {"PRPTYGROUPNAME","PRPTYGROUPDESC"};
|
||||
columnGroupArr = Arrays.asList(columnGroupList);
|
||||
propInsertSql.append("INSERT INTO EAIPKG.TSEAIBP01 (");
|
||||
|
||||
// 필드명 입력
|
||||
for (String column : columnGroupArr) {
|
||||
propInsertSql.append((column.equals(columnGroupArr.get(columnGroupArr.size()-1))) ? column : column+",");
|
||||
}
|
||||
propInsertSql.append(") VALUES (");
|
||||
// 필드값 입력
|
||||
for (String column : columnGroupArr) {
|
||||
if (column.equals(columnGroupArr.get(columnGroupArr.size()-1))) {
|
||||
propInsertSql.append("'"+(detail.get(column) != null ? detail.get(column) : "")+"');\n");
|
||||
} else {
|
||||
propInsertSql.append("'"+(detail.get(column) != null ? detail.get(column) : "")+"',");
|
||||
}
|
||||
}
|
||||
|
||||
// Property Detail (TSEAIBP02)
|
||||
List<String> columnPropArr = new ArrayList<String>();
|
||||
String[] columnPropList = {"PRPTYGROUPNAME","PRPTYNAME","PRPTY2VAL"};
|
||||
columnPropArr = Arrays.asList(columnPropList);
|
||||
|
||||
for (Map<String, Object> prop : propList) {
|
||||
propInsertSql.append("INSERT INTO EAIPKG.TSEAIBP02 (");
|
||||
|
||||
// 필드명 입력
|
||||
for (String column : columnPropArr) {
|
||||
propInsertSql.append((column.equals(columnPropArr.get(columnPropArr.size()-1))) ? column : column+",");
|
||||
}
|
||||
propInsertSql.append(") VALUES (");
|
||||
// 필드값 입력
|
||||
for (String column : columnPropArr) {
|
||||
if (column.equals("PRPTYGROUPNAME")) {
|
||||
propInsertSql.append("'"+detail.get("PRPTYGROUPNAME")+"',");
|
||||
} else if (column.equals(columnPropArr.get(columnPropArr.size()-1))) {
|
||||
propInsertSql.append("'"+(prop.get(column) != null ? prop.get(column) : "")+"');\n");
|
||||
} else {
|
||||
propInsertSql.append("'"+(prop.get(column) != null ? prop.get(column) : "")+"',");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HashMap<String,String> retMap = new HashMap<String,String>();
|
||||
if (propDetail.get("fileName") != null) {
|
||||
OutputStream output = null;
|
||||
try {
|
||||
String sqlDownloadPath = getProperties("SQL_DOWNLOAD", "DOWNLOAD_PATH");
|
||||
String sqlDownloadFile = sqlDownloadPath+propDetail.get("fileName");
|
||||
output = new FileOutputStream(sqlDownloadFile);
|
||||
if (sqlDownloadPath != null) {
|
||||
byte[] bt = propInsertSql.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(propInsertSql.toString(), "BAP_"+propDetail.get("svrType").toString().toUpperCase());
|
||||
}
|
||||
|
||||
return retMap;
|
||||
}
|
||||
|
||||
private String getProperties(String propGroup, String propName) throws Exception {
|
||||
HashMap<String,Object> params = new HashMap<String,Object>();
|
||||
params.put("prptyGroupName", propGroup);
|
||||
params.put("prptyName", propName);
|
||||
|
||||
HashMap<String, Object> props = dao.getProperties(params);
|
||||
|
||||
return props.get("PRPTY2VAL").toString();
|
||||
}
|
||||
}
|
||||
+115
@@ -0,0 +1,115 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.property;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
import com.google.gson.Gson;
|
||||
|
||||
@Controller
|
||||
public class BapTelePropertyController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapTelePropertyService")
|
||||
private BapTelePropertyService service;
|
||||
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/telePropertyMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/common/telePropertyMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo , @RequestParam HashMap<String,Object> paramMap) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectList( pageVo.getStartNum(), pageVo.getEndNum(), paramMap);
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/telePropertyMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response,String prptyGroupName) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectDetail(prptyGroupName);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/telePropertyMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map, String gridData ) throws Exception {
|
||||
Gson gson = new Gson();
|
||||
@SuppressWarnings("unchecked")
|
||||
HashMap<String, Object>[] list = gson.fromJson(gridData, HashMap[].class);
|
||||
service.insert(map,list);
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.teleproperty.UpdatePropertyCommand",(String)map.get("prptyGroupName"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/telePropertyMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map, String gridData ) throws Exception {
|
||||
Gson gson = new Gson();
|
||||
@SuppressWarnings("unchecked")
|
||||
HashMap<String, Object>[] list = gson.fromJson(gridData, HashMap[].class);
|
||||
service.update(map,list);
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.teleproperty.UpdatePropertyCommand",(String)map.get("prptyGroupName"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/telePropertyMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, String prptyGroupName ) throws Exception {
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("prptyGroupName", prptyGroupName);
|
||||
service.delete(paramMap);
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.teleproperty.RemovePropertyCommand",prptyGroupName);
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.property;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapTelePropertyDao")
|
||||
@SuppressWarnings({"deprecation","unchecked"})
|
||||
public class BapTelePropertyDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
return (Integer)template.queryForObject("BapTeleProperty.selectListCount", param);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("BapTeleProperty.selectList", param);
|
||||
}
|
||||
public List<Map<String, Object>> selectPropertyGroupList(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("BapTeleProperty.selectPropertyGroupList", param);
|
||||
}
|
||||
public HashMap<String, Object> propertyGroupDetail(HashMap<String, Object> param) throws Exception {
|
||||
return (HashMap<String, Object>)template.queryForObject("BapTeleProperty.propertyGroupDetail", param);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> propertyDetail(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("BapTeleProperty.propertyDetail", param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapTeleProperty.insert", paramMap);
|
||||
}
|
||||
|
||||
public void insertProperty(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapTeleProperty.insertProperty", paramMap);
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("BapTeleProperty.update", paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("BapTeleProperty.delete", paramMap);
|
||||
}
|
||||
|
||||
public void deleteProperty(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("BapTeleProperty.deleteProperty", paramMap);
|
||||
}
|
||||
}
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.property;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang.StringEscapeUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.eactive.eai.rms.bap.common.base.BapBaseService;
|
||||
|
||||
@Service("bapTelePropertyService")
|
||||
public class BapTelePropertyService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapTelePropertyDao")
|
||||
private BapTelePropertyDao dao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum, HashMap<String,Object> paramMap) throws Exception {
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = dao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List<Map<String, Object>> list = dao.selectList(paramMap);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("totalCount", totalCount);
|
||||
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String prptyGroupName) throws Exception {
|
||||
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("prptyGroupName", prptyGroupName);
|
||||
|
||||
HashMap<String, Object> detail = dao.propertyGroupDetail(paramMap);
|
||||
List<Map<String, Object>> list = dao.propertyDetail(paramMap);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("detail", detail);
|
||||
map.put("rows", list);
|
||||
|
||||
return map;
|
||||
|
||||
}
|
||||
public List<Map<String, Object>> selectPropertyGroupList(String key1, String key2) throws Exception {
|
||||
// 프라퍼티 조회 -> key1{key2}
|
||||
HashMap paramMap = new HashMap();
|
||||
paramMap.put("key1", key1);
|
||||
paramMap.put("key2", key2);
|
||||
return dao.selectPropertyGroupList(paramMap);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap, HashMap<String, Object>[] list) throws Exception {
|
||||
dao.insert(paramMap);
|
||||
HashMap<String, Object> data ;
|
||||
for(HashMap<String, Object> map : list){
|
||||
data = new HashMap<String, Object>();
|
||||
data.putAll(paramMap);
|
||||
data.put("prptyName", StringEscapeUtils.unescapeHtml(map.get("PRPTYNAME").toString()));
|
||||
data.put("prpty2Val", StringEscapeUtils.unescapeHtml(map.get("PRPTY2VAL").toString()));
|
||||
dao.insertProperty(data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap, HashMap<String, Object>[] list) throws Exception {
|
||||
dao.update(paramMap);
|
||||
dao.deleteProperty(paramMap);
|
||||
HashMap<String, Object> data ;
|
||||
for(HashMap<String, Object> map : list){
|
||||
data = new HashMap<String, Object>();
|
||||
data.putAll(paramMap);
|
||||
data.put("prptyName",StringEscapeUtils.unescapeHtml(map.get("PRPTYNAME").toString()));
|
||||
data.put("prpty2Val",StringEscapeUtils.unescapeHtml(map.get("PRPTY2VAL").toString()));
|
||||
dao.insertProperty(data);
|
||||
}
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.delete(paramMap);
|
||||
dao.deleteProperty(paramMap);
|
||||
}
|
||||
}
|
||||
+170
@@ -0,0 +1,170 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.property;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.bat.manage.comm.property.BatPropertyService;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
import com.google.gson.Gson;
|
||||
|
||||
@Controller
|
||||
public class ComPropertyController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapPropertyService")
|
||||
private BapPropertyService bapService;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("batPropertyService")
|
||||
private BatPropertyService batService;
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/comPropertyMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/common/comPropertyMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo , @RequestParam HashMap<String,Object> paramMap, String searchSvrDstcd) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
if(null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)){
|
||||
paramMap.put("searchPrptyGroupId", paramMap.get("searchPrptyGroupName"));
|
||||
paramMap.put("searchPrptyGroupName", paramMap.get("searchPrptyGroupDesc"));
|
||||
map = batService.selectList( pageVo.getStartNum(), pageVo.getEndNum(), paramMap);
|
||||
}else{
|
||||
map = bapService.selectList( pageVo.getStartNum(), pageVo.getEndNum(), paramMap);
|
||||
}
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/comPropertyMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response,String prptyGroupName, String searchSvrDstcd) throws Exception {
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
if(null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)){
|
||||
map = batService.selectDetail(prptyGroupName);
|
||||
}else{
|
||||
map = bapService.selectDetail(prptyGroupName);
|
||||
}
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/comPropertyMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map, String gridData , String searchSvrDstcd) throws Exception {
|
||||
Gson gson = new Gson();
|
||||
@SuppressWarnings("unchecked")
|
||||
HashMap<String, Object>[] list = gson.fromJson(gridData, HashMap[].class);
|
||||
if(null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)){
|
||||
batService.insert(map,list);
|
||||
}else{
|
||||
bapService.insert(map,list);
|
||||
}
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.property.UpdatePropertyCommand",(String)map.get("prptyGroupName"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/comPropertyMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map, String gridData , String searchSvrDstcd) throws Exception {
|
||||
Gson gson = new Gson();
|
||||
@SuppressWarnings("unchecked")
|
||||
HashMap<String, Object>[] list = gson.fromJson(gridData, HashMap[].class);
|
||||
if(null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)){
|
||||
batService.update(map,list);
|
||||
}else{
|
||||
bapService.update(map,list);
|
||||
}
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.property.UpdatePropertyCommand",(String)map.get("prptyGroupName"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/comPropertyMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, String prptyGroupName , String searchSvrDstcd) throws Exception {
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
if(null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)){
|
||||
paramMap.put("prptyGroupId", prptyGroupName);
|
||||
batService.delete(paramMap);
|
||||
}else{
|
||||
paramMap.put("prptyGroupName", prptyGroupName);
|
||||
bapService.delete(paramMap);
|
||||
}
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.property.RemovePropertyCommand",prptyGroupName);
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/comPropertyMan.json",params = "cmd=LIST_DOWNLOAD_SQL")
|
||||
public ModelAndView downloadSql(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String,Object> map) throws Exception {
|
||||
|
||||
HashMap<String, Object> propDetail = new HashMap<String,Object>();
|
||||
String searchSvrDstcd = map.get("searchSvrDstcd").toString();
|
||||
ModelAndView modelAndView = null;
|
||||
if (null!=searchSvrDstcd && "BAT".equals(searchSvrDstcd)) {
|
||||
propDetail = batService.selectDetail(map.get("prptyGroupId").toString());
|
||||
propDetail.putAll(map);
|
||||
|
||||
modelAndView = new ModelAndView("jsonView",batService.mkInsertSqlForProperty(propDetail));
|
||||
} else {
|
||||
propDetail = bapService.selectDetail(map.get("prptyGroupName").toString());
|
||||
propDetail.putAll(map);
|
||||
|
||||
modelAndView = new ModelAndView("jsonView",bapService.mkInsertSqlForProperty(propDetail));
|
||||
}
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/comPropertyMan.view",params = "cmd=LIST_FILE_DOWNLOAD")
|
||||
public String fileDownload(HttpServletRequest request) throws Exception {
|
||||
|
||||
return "/bap/admin/common/filedownload";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.server;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.combo.ComboService;
|
||||
import com.eactive.eai.rms.common.combo.IbatisComboService;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
|
||||
@Controller
|
||||
public class BapServerController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapServerService")
|
||||
private BapServerService service;
|
||||
|
||||
@Autowired
|
||||
private IbatisComboService ibatisComboService;
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/serverMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/common/serverMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo ) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectList(pageVo.getStartNum(), pageVo.getEndNum());
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/serverMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response, String eaiSevrInstncName) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectDetail(eaiSevrInstncName);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/serverMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> map) throws Exception {
|
||||
service.insert(map);
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/serverMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
|
||||
service.update(paramMap);
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/serverMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
service.delete(paramMap);
|
||||
return null;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/serverMan.json",params = "cmd=LIST_INIT_COMBO")
|
||||
public ModelAndView initCombo( HttpServletRequest request,
|
||||
HttpServletResponse response,String eaiSvcName) throws Exception {
|
||||
|
||||
List<Map<String, Object>> listServer = ibatisComboService.selectListComboForTable("TSEAICM20", "code", "codename","codegroup = 'YN' ");
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("serverRows" , listServer);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.server;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapServerDao")
|
||||
@SuppressWarnings({ "deprecation", "unchecked" })
|
||||
public class BapServerDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
return (Integer)template.queryForObject("BapServer.selectListCount", param);
|
||||
}
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
return template.queryForList("BapServer.selectList", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(HashMap<String, String> param) throws Exception {
|
||||
return (HashMap<String, Object>)template.queryForObject("BapServer.selectDetail", param);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getEaiServerIpPort(HashMap<String, String> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("BapServer.getEaiServerIpPort", param);
|
||||
}
|
||||
public HashMap<String, Object> getEaiServerIpPortForActiveStandby(HashMap<String, String> param) throws Exception {
|
||||
return (HashMap<String, Object>)template.queryForObject("BapServer.getEaiServerIpPortForActiveStandby", param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapServer.insert", paramMap);
|
||||
}
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("BapServer.update", paramMap);
|
||||
}
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("BapServer.delete", paramMap);
|
||||
}
|
||||
|
||||
public void deleteNotMatchedBP03(Map<String, Object> paramMap) {
|
||||
template.queryForObject("BapServer.deleteNotMatchedBP03", paramMap);
|
||||
}
|
||||
public void upsertServerListBP03(Map<String, Object> paramMap) {
|
||||
template.queryForObject("BapServer.upsertServerListBP03", paramMap);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.server;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.eactive.eai.rms.bap.common.base.BapBaseService;
|
||||
|
||||
@Service("bapServerService")
|
||||
public class BapServerService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapServerDao")
|
||||
private BapServerDao dao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum) throws Exception {
|
||||
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = dao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
|
||||
List<Map<String, Object>> list = dao.selectList( paramMap );
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("totalCount", totalCount);
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String eaiSevrInstncName) throws Exception {
|
||||
HashMap<String, String> paramMap = new HashMap<String, String>();
|
||||
paramMap.put("EAISevrInstncName", eaiSevrInstncName);
|
||||
return dao.selectDetail( paramMap );
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.update(paramMap);
|
||||
}
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.insert(paramMap);
|
||||
}
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.delete(paramMap);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getEaiServerIpPort() throws Exception {
|
||||
|
||||
HashMap<String, String> paramMap = new HashMap<String, String>();
|
||||
return dao.getEaiServerIpPort( paramMap );
|
||||
}
|
||||
public HashMap<String, Object> getEaiServerIpPortForActiveStandby() throws Exception {
|
||||
|
||||
HashMap<String, String> paramMap = new HashMap<String, String>();
|
||||
return dao.getEaiServerIpPortForActiveStandby( paramMap );
|
||||
}
|
||||
|
||||
public void transactionMergeBapServerList(List<Map<String, String>> serverList) {
|
||||
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("serverList", serverList);
|
||||
|
||||
dao.deleteNotMatchedBP03(paramMap);
|
||||
dao.upsertServerListBP03(paramMap);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.sysinfo;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.login.SessionManager;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
|
||||
@Controller
|
||||
public class BapSysinfoController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapSysinfoService")
|
||||
private BapSysinfoService service;
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/sysinfoMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/common/sysinfoMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo ,@RequestParam HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectList( pageVo.getStartNum(), pageVo.getEndNum(), paramMap);
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/common/sysinfoMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response, String sysCd) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectDetail(sysCd);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/sysinfoMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
String userid = SessionManager.getUserId(request);
|
||||
paramMap.put("userid", userid );
|
||||
|
||||
service.insert(paramMap);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.sysinfo.UpdateSysinfoCommand",(String)paramMap.get("sysCd"));
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/sysinfoMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
|
||||
String userid = SessionManager.getUserId(request);
|
||||
paramMap.put("userid", userid );
|
||||
|
||||
service.update(paramMap);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.sysinfo.UpdateSysinfoCommand",(String)paramMap.get("sysCd"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/common/sysinfoMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
service.delete(paramMap);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.sysinfo.RemoveSysinfoCommand",(String)paramMap.get("sysCd"));
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.sysinfo;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapSysinfoDao")
|
||||
@SuppressWarnings({"deprecation","unchecked"})
|
||||
public class BapSysinfoDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
return (Integer)template.queryForObject("BapSysinfo.selectListCount", param);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("BapSysinfo.selectList", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(HashMap<String, Object> param) throws Exception {
|
||||
return (HashMap<String, Object>)template.queryForObject("BapSysinfo.selectDetail", param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapSysinfo.insert", paramMap);
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("BapSysinfo.update", paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("BapSysinfo.delete", paramMap);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.eactive.eai.rms.bap.manage.comm.sysinfo;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.eactive.eai.common.seed.Seed;
|
||||
import com.eactive.eai.rms.bap.common.base.BapBaseService;
|
||||
|
||||
@Service("bapSysinfoService")
|
||||
public class BapSysinfoService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapSysinfoDao")
|
||||
private BapSysinfoDao dao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum, HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = dao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List<Map<String, Object>> list = dao.selectList(paramMap);
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("totalCount", totalCount);
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String sysCd) throws Exception {
|
||||
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("sysCd", sysCd);
|
||||
|
||||
HashMap<String, Object> map = dao.selectDetail( paramMap);
|
||||
|
||||
String password = (String)map.get("USERPASSWORD");
|
||||
map.put("USERPASSWORD", Seed.decrypt(password));
|
||||
return map;
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
String password = (String)paramMap.get("userPassword");
|
||||
paramMap.put("userPassword", Seed.encrypt(password));
|
||||
dao.update(paramMap);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception {
|
||||
String password = (String)paramMap.get("userPassword");
|
||||
paramMap.put("userPassword", Seed.encrypt(password));
|
||||
dao.insert(paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.delete(paramMap);
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.eactive.eai.rms.bap.manage.jspforselectlist;
|
||||
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("jspForSelectListFileDao")
|
||||
@SuppressWarnings({"unchecked","deprecation"})
|
||||
public class JspForSelectListFileDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public List<Map<String,Object>> selectLogList(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("JspForSelectListFile.selectLogListFile", param);
|
||||
}
|
||||
}
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
package com.eactive.eai.rms.bap.manage.jspforselectlist;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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.common.context.MonitoringContext;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceContextHolder;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceType;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
|
||||
|
||||
@Service("jspForSelectListFileService")
|
||||
public class JspForSelectListFileService extends BapBaseService {
|
||||
@Autowired
|
||||
@Qualifier("monitoringContext")
|
||||
private MonitoringContext monitoringContext;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("jspForSelectListFileDao")
|
||||
private JspForSelectListFileDao dao;
|
||||
|
||||
public List<Map<String, Object>> selectLogListFile(String date) throws Exception {
|
||||
String use = monitoringContext.getStringProperty(MonitoringContext.RMS_JSP_SELECT_USE);
|
||||
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
|
||||
if("Y".equals(use)){
|
||||
DataSourceType dataSourceType = DataSourceTypeManager.getDataSourceType("BAP");
|
||||
DataSourceContextHolder.setDataSourceType(dataSourceType);
|
||||
|
||||
String schemaId = "";
|
||||
|
||||
if(dataSourceType != null && (dataSourceType.getSchema() != null)){ //취약점소스 수정 2020.08.25
|
||||
schemaId = dataSourceType.getSchema();
|
||||
}
|
||||
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("schemaId",schemaId);
|
||||
paramMap.put("date", date);
|
||||
return dao.selectLogList(paramMap);
|
||||
}else{
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("errMsg", "현재 설정값='사용안함'으로 사용할 수 없습니다.");
|
||||
list.add(map);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
+159
@@ -0,0 +1,159 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.classinfo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
|
||||
@Controller
|
||||
public class BapClassInfoController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapClassInfoService")
|
||||
private BapClassInfoService service;
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/classInfoMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/message/classInfoMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo , @RequestParam HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectList( pageVo.getStartNum(), pageVo.getEndNum(), paramMap);
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/classInfoMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response, String key) throws Exception {
|
||||
// key = TelgmClsName
|
||||
HashMap<String, Object> map = service.selectDetail(key);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/classInfoMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map ) throws Exception {
|
||||
|
||||
// 클래스명 공백 제거
|
||||
map.replace("telgmClsName",map.get("telgmClsName").toString().trim());
|
||||
|
||||
service.insert(map);
|
||||
return null;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/classInfoMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
|
||||
service.update(paramMap);
|
||||
|
||||
/* List<Map<String, Object>> list = service.getMsgGroupDstcd(paramMap);
|
||||
if(list != null && list.size() > 1) {
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
Map<String, Object> hm = list.get(i);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.telegram.UpdateTelegramCommand",hm.get("MSGGROUPDSTCD"));
|
||||
agentUtilService.broadcast(command);
|
||||
}
|
||||
}*/
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/classInfoMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
|
||||
service.delete(paramMap);
|
||||
|
||||
//List<Map<String, Object>> list = service.getMsgGroupDstcd(paramMap);
|
||||
/* if(list != null && list.size() > 1) {
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
Map<String, Object> hm = list.get(i);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.telegram.UpdateTelegramCommand",hm.get("MSGGROUPDSTCD"));
|
||||
agentUtilService.broadcast(command);
|
||||
}
|
||||
}*/
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/classInfoMan.json",params = "cmd=LIST_DELETE")
|
||||
public String deleteList(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
for (String telgmClsName : paramMap.get("telgmClsNameList").toString().split(",")) {
|
||||
HashMap<String, Object> paramDetail = new HashMap<String,Object>();
|
||||
paramDetail.put("telgmClsName", telgmClsName);
|
||||
service.delete(paramDetail);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@RequestMapping(value= "/bap/admin/message/classInfoMan.json",params = "cmd=LIST_DOWNLOAD_SQL")
|
||||
public ModelAndView downloadSql(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map) throws Exception {
|
||||
|
||||
List<Map<String, Object>> telgmClsList = new ArrayList<Map<String, Object>>();
|
||||
for (String searchTelgmClsName : map.get("searchTelgmClsNameList").toString().split(",")) {
|
||||
HashMap<String, Object> telgmCls = service.selectDetail(searchTelgmClsName);
|
||||
telgmClsList.add((Map<String, Object>)telgmCls.get("list"));
|
||||
}
|
||||
|
||||
HashMap<String,Object> telgmClsInfo = new HashMap<String,Object>();
|
||||
telgmClsInfo.put("list", telgmClsList);
|
||||
telgmClsInfo.put("fileName", map.get("fileName"));
|
||||
telgmClsInfo.put("svrType", map.get("svrType"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",service.mkInserSqlForClassInfo(telgmClsInfo));
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/classInfoMan.view",params = "cmd=LIST_FILE_DOWNLOAD")
|
||||
public String fileDownload(HttpServletRequest request) throws Exception {
|
||||
|
||||
return "/bap/admin/common/filedownload";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.classinfo;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapClassInfoDao")
|
||||
@SuppressWarnings({"deprecation","unchecked"})
|
||||
public class BapClassInfoDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
|
||||
int totalcnt = (Integer)template.queryForObject("ClassInfo.count", param);
|
||||
|
||||
return totalcnt;
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
|
||||
return (List<Map<String, Object>>)template.queryForList("ClassInfo.list", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String key) throws Exception {
|
||||
HashMap<String, Object> param = new HashMap<String, Object>();
|
||||
// key = TelgmClsName
|
||||
param.put("telgmClsName", key);
|
||||
return (HashMap<String, Object>)template.queryForObject("ClassInfo.detail", param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
|
||||
this.template.insert("ClassInfo.insert", paramMap);
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("ClassInfo.update", paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("ClassInfo.delete", paramMap);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getMsgGroupDstcd(HashMap<String, Object> param) throws Exception {
|
||||
|
||||
return (List<Map<String, Object>>)template.queryForList("ClassInfo.getMsgGroupDstcd", param);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+141
@@ -0,0 +1,141 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.classinfo;
|
||||
|
||||
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;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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("bapClassInfoService")
|
||||
public class BapClassInfoService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapClassInfoDao")
|
||||
private BapClassInfoDao dao;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapPropertyDao")
|
||||
private BapPropertyDao propDao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum, HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = dao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List<Map<String, Object>> list = dao.selectList(paramMap);
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("totalCount", totalCount);
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public int selectTotalCount(HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
return dao.selectListCount(paramMap); // 전체 목록수 얻기
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String key) throws Exception {
|
||||
HashMap<String, Object> list;
|
||||
// key = TelgmClsName
|
||||
list = dao.selectDetail(key);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.update(paramMap);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.insert(paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.delete(paramMap);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getMsgGroupDstcd(HashMap<String, Object> paramMap) throws Exception {
|
||||
return dao.getMsgGroupDstcd(paramMap);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public HashMap<String,String> mkInserSqlForClassInfo(HashMap<String, Object> classInfo) throws Exception {
|
||||
|
||||
StringBuffer classInfoInsertSql = new StringBuffer();
|
||||
List<Map<String, Object>> classInfoList = (List<Map<String, Object>>)classInfo.get("list");
|
||||
|
||||
// CLASS INFO LIST into BR03
|
||||
for (Map<String,Object> step : classInfoList) {
|
||||
List<String> columnArr = new ArrayList<String>();
|
||||
String[] columnList = {"TELGMCLSNAME","TELGMCLSDESC"};
|
||||
columnArr = Arrays.asList(columnList);
|
||||
classInfoInsertSql.append("INSERT INTO EAIPKG.TSEAIBR01 (");
|
||||
|
||||
// 필드명 입력
|
||||
for (String column : columnArr) {
|
||||
classInfoInsertSql.append((column.equals(columnArr.get(columnArr.size()-1))) ? column : column+",");
|
||||
}
|
||||
classInfoInsertSql.append(") VALUES (");
|
||||
// 필드값 입력
|
||||
for (String column : columnArr) {
|
||||
if (column.equals(columnArr.get(columnArr.size()-1))) {
|
||||
classInfoInsertSql.append("'"+(step.containsKey(column) ? step.get(column) : "")+"');\n");
|
||||
} else {
|
||||
classInfoInsertSql.append("'"+(step.containsKey(column) ? step.get(column) : "")+"',");
|
||||
}
|
||||
}
|
||||
}
|
||||
HashMap<String,String> retMap = new HashMap<String,String>();
|
||||
if (classInfo.get("fileName") != null) {
|
||||
OutputStream output = null;
|
||||
try {
|
||||
String sqlDownloadPath = getProperties("SQL_DOWNLOAD", "DOWNLOAD_PATH");
|
||||
String sqlDownloadFile = sqlDownloadPath+classInfo.get("fileName");
|
||||
output = new FileOutputStream(sqlDownloadFile);
|
||||
if (sqlDownloadPath != null) {
|
||||
byte[] bt = classInfoInsertSql.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(classInfoInsertSql.toString(), "BAP_"+classInfo.get("svrType").toString().toUpperCase());
|
||||
}
|
||||
|
||||
return retMap;
|
||||
}
|
||||
|
||||
private String getProperties(String propGroup, String propName) throws Exception {
|
||||
HashMap<String,Object> params = new HashMap<String,Object>();
|
||||
params.put("prptyGroupName", propGroup);
|
||||
params.put("prptyName", propName);
|
||||
|
||||
HashMap<String, Object> props = propDao.getProperties(params);
|
||||
|
||||
return props.get("PRPTY2VAL").toString();
|
||||
}
|
||||
}
|
||||
+158
@@ -0,0 +1,158 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.classmap;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
|
||||
@Controller
|
||||
public class BapClassMapController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapClassMapService")
|
||||
private BapClassMapService service;
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/classMapMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/message/classMapMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo , @RequestParam HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectList( pageVo.getStartNum(), pageVo.getEndNum(), paramMap);
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/classMapMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response, String key) throws Exception {
|
||||
// key = telgmClsID
|
||||
|
||||
HashMap<String, Object> map = service.selectDetail(key);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/classMapMan.json",params = "cmd=LIST_DETAIL_COMBO")
|
||||
public ModelAndView selectDetailCombo(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String,Object> paramMap) throws Exception {
|
||||
// key = TelgmClsName
|
||||
HashMap<String, Object> map = service.selectDetailCombo(paramMap);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/classMapMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map ) throws Exception {
|
||||
|
||||
// 전문클래스ID 공백 제거
|
||||
map.replace("telgmClsID",map.get("telgmClsID").toString().trim());
|
||||
|
||||
service.insert(map);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.rule.telegraminfo.UpdateTelegramInfoCommand", map.get("telgmClsID"));
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/classMapMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> map ) throws Exception {
|
||||
|
||||
service.update(map);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.rule.telegraminfo.UpdateTelegramInfoCommand", map.get("telgmClsID"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/classMapMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> map ) throws Exception {
|
||||
|
||||
service.delete(map);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.rule.telegraminfo.RemoveTelegramInfoCommand", map.get("telgmClsID"));
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/classMapMan.json",params = "cmd=LIST_DELETE")
|
||||
public String deleteList(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
for (String telgmClsId : paramMap.get("telgmClsIdList").toString().split(",")) {
|
||||
HashMap<String, Object> paramDetail = new HashMap<String,Object>();
|
||||
paramDetail.put("telgmClsID", telgmClsId);
|
||||
service.delete(paramDetail);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.rule.telegraminfo.RemoveTelegramInfoCommand", telgmClsId);
|
||||
agentUtilService.broadcast(command);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
@SuppressWarnings("unchecked")
|
||||
@RequestMapping(value= "/bap/admin/message/classMapMan.json",params = "cmd=LIST_DOWNLOAD_SQL")
|
||||
public ModelAndView downloadSql(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map) throws Exception {
|
||||
|
||||
List<Map<String, Object>> telgmClsIdList = new ArrayList<Map<String, Object>>();
|
||||
for (String searchTelgmClsId : map.get("searchTelgmClsIdList").toString().split(",")) {
|
||||
HashMap<String, Object> telgmClsMap = service.selectDetail(searchTelgmClsId);
|
||||
telgmClsIdList.add((Map<String, Object>)telgmClsMap.get("list"));
|
||||
}
|
||||
|
||||
HashMap<String,Object> telgmClassMap = new HashMap<String,Object>();
|
||||
telgmClassMap.put("list", telgmClsIdList);
|
||||
telgmClassMap.put("fileName", map.get("fileName"));
|
||||
telgmClassMap.put("svrType", map.get("svrType"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",service.mkInserSqlForClassMap(telgmClassMap));
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/classMapMan.view",params = "cmd=LIST_FILE_DOWNLOAD")
|
||||
public String fileDownload(HttpServletRequest request) throws Exception {
|
||||
|
||||
return "/bap/admin/common/filedownload";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.classmap;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapClassMapDao")
|
||||
@SuppressWarnings({"deprecation","unchecked"})
|
||||
public class BapClassMapDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
|
||||
int totalcnt = (Integer)template.queryForObject("ClassMap.count", param);
|
||||
|
||||
return totalcnt;
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
|
||||
return (List<Map<String, Object>>)template.queryForList("ClassMap.list", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String key) throws Exception {
|
||||
HashMap<String, Object> param = new HashMap<String, Object>();
|
||||
// key = telgmClsID
|
||||
param.put("telgmClsID", key);
|
||||
return (HashMap<String, Object>)template.queryForObject("ClassMap.detail", param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
|
||||
this.template.insert("ClassMap.insert", paramMap);
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("ClassMap.update", paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("ClassMap.delete", paramMap);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getMsgMetaDstcd(HashMap<String,Object> map) throws Exception {
|
||||
|
||||
return (List<Map<String, Object>>)template.queryForList("ClassMap.getMsgMetaDstcd",map);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getTelgmClsName(HashMap<String,Object> map) throws Exception {
|
||||
|
||||
return (List<Map<String, Object>>)template.queryForList("ClassMap.getTelgmClsName",map);
|
||||
}
|
||||
|
||||
}
|
||||
+148
@@ -0,0 +1,148 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.classmap;
|
||||
|
||||
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;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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("bapClassMapService")
|
||||
public class BapClassMapService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapClassMapDao")
|
||||
private BapClassMapDao dao;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapPropertyDao")
|
||||
private BapPropertyDao propDao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum, HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = dao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List<Map<String, Object>> list = dao.selectList(paramMap);
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("totalCount", totalCount);
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public int selectTotalCount(HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
return dao.selectListCount(paramMap); // 전체 목록수 얻기
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String key) throws Exception {
|
||||
HashMap<String, Object> list;
|
||||
// key = telgmClsID
|
||||
list = dao.selectDetail(key);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
|
||||
}
|
||||
public HashMap<String, Object> selectDetailCombo(HashMap<String,Object> paramMap) throws Exception {
|
||||
List<Map<String, Object>> msgMetaDstList = dao.getMsgMetaDstcd(paramMap);
|
||||
List<Map<String, Object>> clsNameList = dao.getTelgmClsName(paramMap);
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("msgMetaDstList", msgMetaDstList);
|
||||
map.put("clsNameList", clsNameList);
|
||||
|
||||
return map;
|
||||
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.update(paramMap);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.insert(paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.delete(paramMap);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public HashMap<String,String> mkInserSqlForClassMap(HashMap<String, Object> classMapInfo) throws Exception {
|
||||
|
||||
StringBuffer classMapInsertSql = new StringBuffer();
|
||||
List<Map<String, Object>> classMapList = (List<Map<String, Object>>)classMapInfo.get("list");
|
||||
|
||||
// FLOW STEP LIST into BR03
|
||||
for (Map<String,Object> step : classMapList) {
|
||||
List<String> columnArr = new ArrayList<String>();
|
||||
String[] columnList = {"TELGMCLSID","TELGMCLSNAME","MSGMETADSTCD"};
|
||||
columnArr = Arrays.asList(columnList);
|
||||
classMapInsertSql.append("INSERT INTO EAIPKG.TSEAIBR05 (");
|
||||
|
||||
// 필드명 입력
|
||||
for (String column : columnArr) {
|
||||
classMapInsertSql.append((column.equals(columnArr.get(columnArr.size()-1))) ? column : column+",");
|
||||
}
|
||||
classMapInsertSql.append(") VALUES (");
|
||||
// 필드값 입력
|
||||
for (String column : columnArr) {
|
||||
if (column.equals(columnArr.get(columnArr.size()-1))) {
|
||||
classMapInsertSql.append("'"+(step.containsKey(column) ? step.get(column) : "")+"');\n");
|
||||
} else {
|
||||
classMapInsertSql.append("'"+(step.containsKey(column) ? step.get(column) : "")+"',");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HashMap<String,String> retMap = new HashMap<String,String>();
|
||||
if (classMapInfo.get("fileName") != null) {
|
||||
OutputStream output = null;
|
||||
try {
|
||||
String sqlDownloadPath = getProperties("SQL_DOWNLOAD", "DOWNLOAD_PATH");
|
||||
String sqlDownloadFile = sqlDownloadPath+classMapInfo.get("fileName");
|
||||
output = new FileOutputStream(sqlDownloadFile);
|
||||
if (sqlDownloadPath != null) {
|
||||
byte[] bt = classMapInsertSql.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(classMapInsertSql.toString(), "BAP_"+classMapInfo.get("svrType").toString().toUpperCase());
|
||||
}
|
||||
|
||||
return retMap;
|
||||
}
|
||||
|
||||
private String getProperties(String propGroup, String propName) throws Exception {
|
||||
HashMap<String,Object> params = new HashMap<String,Object>();
|
||||
params.put("prptyGroupName", propGroup);
|
||||
params.put("prptyName", propName);
|
||||
|
||||
HashMap<String, Object> props = propDao.getProperties(params);
|
||||
|
||||
return props.get("PRPTY2VAL").toString();
|
||||
}
|
||||
}
|
||||
+186
@@ -0,0 +1,186 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.flowrule;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
import com.google.gson.Gson;
|
||||
|
||||
@Controller
|
||||
public class BapFlowRuleController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapFlowRuleService")
|
||||
private BapFlowRuleService service;
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/flowRuleMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/message/flowRuleMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo , @RequestParam HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectList( pageVo.getStartNum(), pageVo.getEndNum(), paramMap);
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/flowRuleMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response, String key) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectDetail(key);
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/flowRuleMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map,String gridData ) throws Exception {
|
||||
|
||||
String userid = com.eactive.eai.rms.common.login.SessionManager.getUserId(request);
|
||||
map.put("userid", userid );
|
||||
|
||||
Gson gson = new Gson();
|
||||
@SuppressWarnings("unchecked")
|
||||
HashMap<String, Object>[] list = (HashMap<String, Object>[])gson.fromJson(gridData, HashMap[].class);
|
||||
service.insert(map,list);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.rule.phaseinfo.UpdatePhaseInfoCommand", map.get("bjobBzwkPrcssDstcd"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/flowRuleMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> map, String gridData ) throws Exception {
|
||||
|
||||
String userid = com.eactive.eai.rms.common.login.SessionManager.getUserId(request);
|
||||
map.put("userid", userid );
|
||||
|
||||
Gson gson = new Gson();
|
||||
@SuppressWarnings("unchecked")
|
||||
HashMap<String, Object>[] list = (HashMap<String, Object>[])gson.fromJson(gridData, HashMap[].class);
|
||||
|
||||
service.update(map,list);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.rule.phaseinfo.UpdatePhaseInfoCommand", map.get("bjobBzwkPrcssDstcd"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/flowRuleMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> map ) throws Exception {
|
||||
|
||||
service.delete(map);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.rule.phaseinfo.RemovePhaseInfoCommand", map.get("bjobBzwkPrcssDstcd"));
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/flowRuleMan.json",params = "cmd=LIST_POP_COMBO")
|
||||
public ModelAndView selectDetailCombo(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String,Object> paramMap) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectPopCombo(paramMap);
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/flowRuleMan.json", params = "cmd=LIST_SESSION")
|
||||
public String putInSession(HttpServletRequest request,
|
||||
JsonPageVo pageVo , @RequestParam HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
HttpSession session = request.getSession();
|
||||
String searchbjobBzwkPrcssDstcd = (String)paramMap.get("searchbjobBzwkPrcssDstcd");
|
||||
if (searchbjobBzwkPrcssDstcd != null) {
|
||||
session.setAttribute("searchbjobBzwkPrcssDstcd", searchbjobBzwkPrcssDstcd);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@RequestMapping(value= "/bap/admin/message/flowRuleMan.excel",params = "cmd=LIST_GRID_TO_EXCEL")
|
||||
public ModelAndView listGridToExcel(HttpServletRequest request, HttpServletResponse response, String gridData, String header, String headerTitle, String fileName, String merge) throws Exception {
|
||||
HashMap<String,Object> resultMap = new HashMap<String,Object>();
|
||||
|
||||
Gson gson = new Gson();
|
||||
HashMap<String, Object>[] list = gson.fromJson(gridData, HashMap[].class);
|
||||
|
||||
String[] headers = gson.fromJson(header, String[].class);
|
||||
String[] headerTitles = gson.fromJson(headerTitle, String[].class);
|
||||
|
||||
HashMap<String, Object>[] lmerge = null;
|
||||
if (merge !=null){
|
||||
lmerge = gson.fromJson(merge, HashMap[].class);
|
||||
}
|
||||
|
||||
resultMap.put("headers", headers);
|
||||
resultMap.put("headerTitles", headerTitles);
|
||||
resultMap.put("datas", list);
|
||||
resultMap.put("fileName", fileName);
|
||||
resultMap.put("merge", lmerge);
|
||||
ModelAndView modelAndView = new ModelAndView("excelView",resultMap);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/flowRuleMan.json",params = "cmd=LIST_DOWNLOAD_SQL")
|
||||
public ModelAndView downloadSql(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map) throws Exception {
|
||||
|
||||
String key = map.get("bjobBzwkPrcssDstcd").toString();
|
||||
HashMap<String,Object> flowStageInfo = service.selectDetail(key);
|
||||
flowStageInfo.putAll(map);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",service.mkInserSqlForFlowRule(flowStageInfo));
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/flowRuleMan.view",params = "cmd=LIST_FILE_DOWNLOAD")
|
||||
public String fileDownload(HttpServletRequest request) throws Exception {
|
||||
|
||||
return "/bap/admin/common/filedownload";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.flowrule;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapFlowRuleDao")
|
||||
@SuppressWarnings({"deprecation","unchecked"})
|
||||
public class BapFlowRuleDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
|
||||
int totalcnt = (Integer)template.queryForObject("FlowRule.count", param);
|
||||
|
||||
return totalcnt;
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
|
||||
return (List<Map<String, Object>>)template.queryForList("FlowRule.list", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String key) throws Exception {
|
||||
HashMap<String, Object> param = new HashMap<String, Object>();
|
||||
// key = bjobBzwkPrcssDstcd
|
||||
param.put("bjobBzwkPrcssDstcd", key);
|
||||
return (HashMap<String, Object>)template.queryForObject("FlowRule.detail", param);
|
||||
}
|
||||
public List<Map<String, Object>> msgList(String key) throws Exception {
|
||||
HashMap<String, Object> param = new HashMap<String, Object>();
|
||||
// key = bjobBzwkPrcssDstcd
|
||||
param.put("bjobBzwkPrcssDstcd", key);
|
||||
return (List<Map<String, Object>>)template.queryForList("FlowRule.stageList" , param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
|
||||
this.template.insert("FlowRule.insert_br04", paramMap);
|
||||
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
|
||||
this.template.update("FlowRule.update", paramMap);
|
||||
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("FlowRule.delete_br04", paramMap);
|
||||
|
||||
}
|
||||
public void insertList(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("FlowRule.insert_br02", paramMap);
|
||||
}
|
||||
|
||||
public void deleteList(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("FlowRule.delete_br02", paramMap);
|
||||
}
|
||||
public List<Map<String, Object>> getBjobStgeDstcd(HashMap<String,Object> map) throws Exception {
|
||||
|
||||
return (List<Map<String, Object>>)template.queryForList("FlowRule.getBjobStgeDstcd",map);
|
||||
}
|
||||
}
|
||||
+211
@@ -0,0 +1,211 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.flowrule;
|
||||
|
||||
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;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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("bapFlowRuleService")
|
||||
public class BapFlowRuleService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapFlowRuleDao")
|
||||
private BapFlowRuleDao dao;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapPropertyDao")
|
||||
private BapPropertyDao propDao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum, HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = dao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List<Map<String, Object>> list = dao.selectList(paramMap);
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("totalCount", totalCount);
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String key) throws Exception {
|
||||
// key = bjobBzwkPrcssDstcd
|
||||
HashMap<String, Object> detail = dao.selectDetail(key);
|
||||
List<Map<String, Object>> list = dao.msgList(key);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("detail", detail);
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectPopCombo(HashMap<String,Object> paramMap) throws Exception {
|
||||
List<Map<String, Object>> stgeDstcdList = dao.getBjobStgeDstcd(paramMap);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("stgeDstcdList", stgeDstcdList);
|
||||
|
||||
return map;
|
||||
|
||||
}
|
||||
public void update(HashMap<String, Object> paramMap, HashMap<String, Object>[] list )throws Exception {
|
||||
dao.update(paramMap);
|
||||
dao.deleteList(paramMap);
|
||||
|
||||
HashMap<String, Object> data ;
|
||||
for(HashMap<String, Object> map : list){
|
||||
data = new HashMap<String, Object>();
|
||||
data.putAll(paramMap);
|
||||
data.put("bjobBzwkPrcssDstcd",map.get("BJOBBZWKPRCSSDSTCD"));
|
||||
data.put("bjobStgeSerno",map.get("BJOBSTGESERNO"));
|
||||
data.put("bjobStgeDstcd",map.get("BJOBSTGEDSTCD"));
|
||||
data.put("nextStgeDstcdName",map.get("NEXTSTGEDSTCDNAME"));
|
||||
data.put("bjobStgePtrnName",map.get("BJOBSTGEPTRNNAME"));
|
||||
data.put("telgmPtrnDstcd",map.get("TELGMPTRNDSTCD"));
|
||||
data.put("telgmDtalsOperCd",map.get("TELGMDTALSOPERCD"));
|
||||
data.put("bjobCmnTelgmTranCd",map.get("BJOBCMNTELGMTRANCD"));
|
||||
data.put("toutVal",map.get("TOUTVAL"));
|
||||
data.put("bjobIterNotms",map.get("BJOBITERNOTMS"));
|
||||
data.put("telgmClsID",map.get("TELGMCLSID"));
|
||||
data.put("cndnItemDcsnCtnt",map.get("CNDNITEMDCSNCTNT"));
|
||||
data.put("cndnTelgmPtrnCd",map.get("CNDNTELGMPTRNCD"));
|
||||
data.put("cndnTelgmMgtCd",map.get("CNDNTELGMMGTCD"));
|
||||
data.put("cndnTranClsfiCd",map.get("CNDNTRANCLSFICD"));
|
||||
data.put("cndnRspnsCd",map.get("CNDNRSPNSCD"));
|
||||
data.put("bjobStgeFlxblCndnDesc",map.get("BJOBSTGEFLXBLCNDNDESC"));
|
||||
data.put("tranPrcssPrity",map.get("TRANPRCSSPRITY"));
|
||||
dao.insertList(data);
|
||||
}
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap, HashMap<String, Object>[] list) throws Exception {
|
||||
|
||||
dao.insert(paramMap);
|
||||
HashMap<String, Object> data ;
|
||||
|
||||
for(HashMap<String, Object> map : list){
|
||||
data = new HashMap<String, Object>();
|
||||
data.put("bjobBzwkPrcssDstcd",map.get("BJOBBZWKPRCSSDSTCD"));
|
||||
data.put("bjobStgeSerno",map.get("BJOBSTGESERNO"));
|
||||
data.put("bjobStgeDstcd",map.get("BJOBSTGEDSTCD"));
|
||||
data.put("nextStgeDstcdName",map.get("NEXTSTGEDSTCDNAME"));
|
||||
data.put("bjobStgePtrnName",map.get("BJOBSTGEPTRNNAME"));
|
||||
data.put("telgmPtrnDstcd",map.get("TELGMPTRNDSTCD"));
|
||||
data.put("telgmDtalsOperCd",map.get("TELGMDTALSOPERCD"));
|
||||
data.put("bjobCmnTelgmTranCd",map.get("BJOBCMNTELGMTRANCD"));
|
||||
data.put("toutVal",map.get("TOUTVAL"));
|
||||
data.put("bjobIterNotms",map.get("BJOBITERNOTMS"));
|
||||
data.put("telgmClsID",map.get("TELGMCLSID"));
|
||||
data.put("cndnItemDcsnCtnt",map.get("CNDNITEMDCSNCTNT"));
|
||||
data.put("cndnTelgmPtrnCd",map.get("CNDNTELGMPTRNCD"));
|
||||
data.put("cndnTelgmMgtCd",map.get("CNDNTELGMMGTCD"));
|
||||
data.put("cndnTranClsfiCd",map.get("CNDNTRANCLSFICD"));
|
||||
data.put("cndnRspnsCd",map.get("CNDNRSPNSCD"));
|
||||
data.put("bjobStgeFlxblCndnDesc",map.get("BJOBSTGEFLXBLCNDNDESC"));
|
||||
data.put("tranPrcssPrity",map.get("TRANPRCSSPRITY"));
|
||||
dao.insertList(data);
|
||||
}
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.delete(paramMap);
|
||||
dao.deleteList(paramMap);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public HashMap<String,String> mkInserSqlForFlowRule(HashMap<String, Object> stageInfo) throws Exception {
|
||||
|
||||
HashMap<String,Object> detail = (HashMap<String,Object>)stageInfo.get("detail");
|
||||
List<HashMap<String,Object>> stageList = (List<HashMap<String,Object>>)stageInfo.get("list");
|
||||
|
||||
// FLOW RULE into BR04
|
||||
StringBuffer flowRuleInsertSql = new StringBuffer();
|
||||
flowRuleInsertSql.append("INSERT INTO EAIPKG.TSEAIBR04 (BJOBBZWKPRCSSDSTCD,FLOWRULEPTRNDESC) VALUES (");
|
||||
flowRuleInsertSql.append("'"+(detail.containsKey("BJOBBZWKPRCSSDSTCD") ? detail.get("BJOBBZWKPRCSSDSTCD") : "")+"',");
|
||||
flowRuleInsertSql.append("'"+(detail.containsKey("FLOWRULEPTRNDESC") ? detail.get("FLOWRULEPTRNDESC") : "")+"');\n");
|
||||
|
||||
// FLOW RULE STAGE LIST into BR02
|
||||
for (HashMap<String,Object> stage : stageList) {
|
||||
List<String> columnArr = new ArrayList<String>();
|
||||
String[] columnList = {"BJOBBZWKPRCSSDSTCD","BJOBSTGESERNO","BJOBSTGEDSTCD","BJOBSTGEPTRNNAME","BJOBSTGEFLXBLCNDNDESC",
|
||||
"TELGMPTRNDSTCD","TELGMDTALSOPERCD","BJOBCMNTELGMTRANCD","TOUTVAL","BJOBITERNOTMS","CNDNITEMDCSNCTNT",
|
||||
"TRANPRCSSPRITY","TELGMCLSID","CNDNTELGMPTRNCD","CNDNTELGMMGTCD","CNDNTRANCLSFICD","CNDNRSPNSCD","NEXTSTGEDSTCDNAME"};
|
||||
columnArr = Arrays.asList(columnList);
|
||||
flowRuleInsertSql.append("INSERT INTO EAIPKG.TSEAIBR02 (");
|
||||
|
||||
// 필드명 입력
|
||||
for (String column : columnArr) {
|
||||
flowRuleInsertSql.append((column.equals(columnArr.get(columnArr.size()-1))) ? column : column+",");
|
||||
}
|
||||
flowRuleInsertSql.append(") VALUES (");
|
||||
// 필드값 입력
|
||||
String[] columnInt = {"TOUTVAL","BJOBITERNOTMS","TRANPRCSSPRITY"}; // Integer 컬럼 구분
|
||||
for (String column : columnArr) {
|
||||
if (column.equals(columnArr.get(columnArr.size()-1))) {
|
||||
if (Arrays.asList(columnInt).contains(column)) {
|
||||
flowRuleInsertSql.append((stage.containsKey(column) ? stage.get(column) : 0)+");\n");
|
||||
} else {
|
||||
flowRuleInsertSql.append("'"+(stage.containsKey(column) ? stage.get(column) : "")+"');\n");
|
||||
}
|
||||
} else {
|
||||
if (Arrays.asList(columnInt).contains(column)) {
|
||||
flowRuleInsertSql.append((stage.containsKey(column) ? stage.get(column) : 0)+",");
|
||||
} else {
|
||||
flowRuleInsertSql.append("'"+(stage.containsKey(column) ? stage.get(column) : "")+"',");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HashMap<String,String> retMap = new HashMap<String,String>();
|
||||
if (stageInfo.get("fileName") != null) {
|
||||
OutputStream output = null;
|
||||
try {
|
||||
String sqlDownloadPath = getProperties("SQL_DOWNLOAD", "DOWNLOAD_PATH");
|
||||
String sqlDownloadFile = sqlDownloadPath+stageInfo.get("fileName");
|
||||
output = new FileOutputStream(sqlDownloadFile);
|
||||
if (sqlDownloadPath != null) {
|
||||
byte[] bt = flowRuleInsertSql.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(flowRuleInsertSql.toString(), "BAP_"+stageInfo.get("svrType").toString().toUpperCase());
|
||||
}
|
||||
|
||||
return retMap;
|
||||
}
|
||||
|
||||
private String getProperties(String propGroup, String propName) throws Exception {
|
||||
HashMap<String,Object> params = new HashMap<String,Object>();
|
||||
params.put("prptyGroupName", propGroup);
|
||||
params.put("prptyName", propName);
|
||||
|
||||
HashMap<String, Object> props = propDao.getProperties(params);
|
||||
|
||||
return props.get("PRPTY2VAL").toString();
|
||||
}
|
||||
}
|
||||
+163
@@ -0,0 +1,163 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.flowstep;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
|
||||
@Controller
|
||||
public class BapFlowStepController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapFlowStepService")
|
||||
private BapFlowStepService service;
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/flowStepMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/message/flowStepMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo , @RequestParam HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectList( pageVo.getStartNum(), pageVo.getEndNum(), paramMap);
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/flowStepMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
// key = telgmClsID
|
||||
|
||||
HashMap<String, Object> map = service.selectDetail(paramMap);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/flowStepMan.json",params = "cmd=LIST_DETAIL_COMBO")
|
||||
public ModelAndView selectDetailCombo(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String,Object> paramMap) throws Exception {
|
||||
// key = TelgmClsName
|
||||
HashMap<String, Object> map = service.selectDetailCombo(paramMap);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/flowStepMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map ) throws Exception {
|
||||
|
||||
service.insert(map);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.rule.nodeinfo.UpdateNodeInfoCommand", map.get("bjobBzwkPrcssDstcd"));
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/flowStepMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> map ) throws Exception {
|
||||
|
||||
service.update(map);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.rule.nodeinfo.UpdateNodeInfoCommand", map.get("bjobBzwkPrcssDstcd"));
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/flowStepMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> map ) throws Exception {
|
||||
|
||||
service.delete(map);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.rule.nodeinfo.RemoveNodeInfoCommand", map.get("bjobBzwkPrcssDstcd"));
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/flowStepMan.json",params = "cmd=LIST_DELETE")
|
||||
public String deleteList(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> map ) throws Exception {
|
||||
|
||||
String[] bjobBzwkPrcssDstcdList = map.get("bjobBzwkPrcssDstcdList").toString().split(",");
|
||||
String[] bjobStgeDstcdList = map.get("bjobStgeDstcdList").toString().split(",");
|
||||
for (int i=0; i<bjobBzwkPrcssDstcdList.length; i++) {
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("bjobBzwkPrcssDstcd", bjobBzwkPrcssDstcdList[i]);
|
||||
paramMap.put("bjobStgeDstcd", bjobStgeDstcdList[i]);
|
||||
service.delete(paramMap);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.rule.telegraminfo.RemoveTelegramInfoCommand", bjobBzwkPrcssDstcdList[i]);
|
||||
agentUtilService.broadcast(command);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
@SuppressWarnings("unchecked")
|
||||
@RequestMapping(value= "/bap/admin/message/flowStepMan.json",params = "cmd=LIST_DOWNLOAD_SQL")
|
||||
public ModelAndView downloadSql(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map) throws Exception {
|
||||
|
||||
List<Map<String, Object>> flowStepInfoList = new ArrayList<Map<String, Object>>();
|
||||
String[] searchBjobBzwkPrcssDstcdList = map.get("searchBjobBzwkPrcssDstcdList").toString().split(",");
|
||||
String[] searchBjobStgeDstcdList = map.get("searchBjobStgeDstcdList").toString().split(",");
|
||||
for (int i=0; i<searchBjobBzwkPrcssDstcdList.length; i++) {
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("key", searchBjobBzwkPrcssDstcdList[i]);
|
||||
paramMap.put("key2", searchBjobStgeDstcdList[i]);
|
||||
HashMap<String, Object> flowStepMap = service.selectDetail(paramMap);
|
||||
flowStepInfoList.add((Map<String, Object>)flowStepMap.get("list"));
|
||||
}
|
||||
|
||||
HashMap<String,Object> flowStepInfo = new HashMap<String,Object>();
|
||||
flowStepInfo.put("list", flowStepInfoList);
|
||||
flowStepInfo.put("fileName", map.get("fileName"));
|
||||
flowStepInfo.put("svrType", map.get("svrType"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",service.mkInserSqlForFlowSteps(flowStepInfo));
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/flowStepMan.view",params = "cmd=LIST_FILE_DOWNLOAD")
|
||||
public String fileDownload(HttpServletRequest request) throws Exception {
|
||||
|
||||
return "/bap/admin/common/filedownload";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.flowstep;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapFlowStepDao")
|
||||
@SuppressWarnings({"deprecation","unchecked"})
|
||||
public class BapFlowStepDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
|
||||
int totalcnt = (Integer)template.queryForObject("FlowStep.count", param);
|
||||
|
||||
return totalcnt;
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
|
||||
return (List<Map<String, Object>>)template.queryForList("FlowStep.list", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(HashMap<String, Object> paramMap) throws Exception {
|
||||
HashMap<String, Object> param = new HashMap<String, Object>();
|
||||
// paramMap {key = bjobBzwkPrcssDstcd, key2 = bjobStgeDstcd }
|
||||
param.put("bjobBzwkPrcssDstcd", paramMap.get("key"));
|
||||
param.put("bjobStgeDstcd", paramMap.get("key2"));
|
||||
return (HashMap<String, Object>)template.queryForObject("FlowStep.detail", param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
|
||||
this.template.insert("FlowStep.insert", paramMap);
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("FlowStep.update", paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("FlowStep.delete", paramMap);
|
||||
}
|
||||
|
||||
|
||||
public List<Map<String, Object>> getTelgmClsID(HashMap<String,Object> map) throws Exception {
|
||||
|
||||
return (List<Map<String, Object>>)template.queryForList("FlowStep.getTelgmClsID",map);
|
||||
}
|
||||
|
||||
}
|
||||
+156
@@ -0,0 +1,156 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.flowstep;
|
||||
|
||||
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;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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("bapFlowStepService")
|
||||
public class BapFlowStepService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapFlowStepDao")
|
||||
private BapFlowStepDao dao;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapPropertyDao")
|
||||
private BapPropertyDao propDao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum, HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = dao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List<Map<String, Object>> list = dao.selectList(paramMap);
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("totalCount", totalCount);
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public int selectTotalCount(HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
return dao.selectListCount(paramMap); // 전체 목록수 얻기
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(HashMap<String, Object> paramMap) throws Exception {
|
||||
HashMap<String, Object> list;
|
||||
// paramMap {key = bjobBzwkPrcssDstcd, key2 = bjobStgeDstcd }
|
||||
list = dao.selectDetail(paramMap);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetailCombo(HashMap<String,Object> paramMap) throws Exception {
|
||||
List<Map<String, Object>> clsIDList = dao.getTelgmClsID(paramMap);
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("clsIDList", clsIDList);
|
||||
|
||||
return map;
|
||||
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.update(paramMap);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.insert(paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.delete(paramMap);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public HashMap<String,String> mkInserSqlForFlowSteps(HashMap<String, Object> flowStepInfo) throws Exception {
|
||||
|
||||
StringBuffer flowStepInsertSql = new StringBuffer();
|
||||
List<Map<String, Object>> flowStepList = (List<Map<String, Object>>)flowStepInfo.get("list");
|
||||
|
||||
// FLOW STEP LIST into BR03
|
||||
for (Map<String,Object> step : flowStepList) {
|
||||
List<String> columnArr = new ArrayList<String>();
|
||||
String[] columnList = {"BJOBBZWKPRCSSDSTCD","BJOBSTGEDSTCD","BJOBSTGEPTRNNAME","BJOBFLOWCMPONAME","TELGMCLSID","UNITTELGMLEN","BJOBNODEDESC"};
|
||||
columnArr = Arrays.asList(columnList);
|
||||
flowStepInsertSql.append("INSERT INTO EAIPKG.TSEAIBR03 (");
|
||||
|
||||
// 필드명 입력
|
||||
for (String column : columnArr) {
|
||||
flowStepInsertSql.append((column.equals(columnArr.get(columnArr.size()-1))) ? column : column+",");
|
||||
}
|
||||
flowStepInsertSql.append(") VALUES (");
|
||||
// 필드값 입력
|
||||
String[] columnInt = {"UNITTELGMLEN"}; // Integer 컬럼 구분
|
||||
for (String column : columnArr) {
|
||||
if (column.equals(columnArr.get(columnArr.size()-1))) {
|
||||
if (Arrays.asList(columnInt).contains(column)) {
|
||||
flowStepInsertSql.append((step.containsKey(column) ? step.get(column) : 0)+");\n");
|
||||
} else {
|
||||
flowStepInsertSql.append("'"+(step.containsKey(column) ? step.get(column) : "")+"');\n");
|
||||
}
|
||||
} else {
|
||||
if (Arrays.asList(columnInt).contains(column)) {
|
||||
flowStepInsertSql.append((step.containsKey(column) ? step.get(column) : 0)+",");
|
||||
} else {
|
||||
flowStepInsertSql.append("'"+(step.containsKey(column) ? step.get(column) : "")+"',");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HashMap<String,String> retMap = new HashMap<String,String>();
|
||||
if (flowStepInfo.get("fileName") != null) {
|
||||
OutputStream output = null;
|
||||
try {
|
||||
String sqlDownloadPath = getProperties("SQL_DOWNLOAD", "DOWNLOAD_PATH");
|
||||
String sqlDownloadFile = sqlDownloadPath+flowStepInfo.get("fileName");
|
||||
output = new FileOutputStream(sqlDownloadFile);
|
||||
if (sqlDownloadPath != null) {
|
||||
byte[] bt = flowStepInsertSql.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(flowStepInsertSql.toString(), "BAP_"+flowStepInfo.get("svrType").toString().toUpperCase());
|
||||
}
|
||||
|
||||
return retMap;
|
||||
}
|
||||
|
||||
private String getProperties(String propGroup, String propName) throws Exception {
|
||||
HashMap<String,Object> params = new HashMap<String,Object>();
|
||||
params.put("prptyGroupName", propGroup);
|
||||
params.put("prptyName", propName);
|
||||
|
||||
HashMap<String, Object> props = propDao.getProperties(params);
|
||||
|
||||
return props.get("PRPTY2VAL").toString();
|
||||
}
|
||||
}
|
||||
+209
@@ -0,0 +1,209 @@
|
||||
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;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
import com.google.gson.Gson;
|
||||
|
||||
@Controller
|
||||
public class BapMessageMetaController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapMessageMetaService")
|
||||
private BapMessageMetaService service;
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/messageMetaMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/message/messageMetaMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo , @RequestParam HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectList( pageVo.getStartNum(), pageVo.getEndNum(), paramMap);
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/messageMetaMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response, String msgMetaDstcd) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectDetail(msgMetaDstcd);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/messageMetaMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map,String gridData ) throws Exception {
|
||||
|
||||
|
||||
String userid = com.eactive.eai.rms.common.login.SessionManager.getUserId(request);
|
||||
map.put("userid", userid );
|
||||
|
||||
Gson gson = new Gson();
|
||||
@SuppressWarnings("unchecked")
|
||||
HashMap<String, Object>[] list = (HashMap<String, Object>[])gson.fromJson(gridData, HashMap[].class);
|
||||
service.insert(map,list);
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.telegram.UpdateTelegramCommand",map.get("msgMetaDstcd"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/messageMetaMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> map, String gridData ) throws Exception {
|
||||
|
||||
String userid = com.eactive.eai.rms.common.login.SessionManager.getUserId(request);
|
||||
map.put("userid", userid );
|
||||
|
||||
Gson gson = new Gson();
|
||||
@SuppressWarnings("unchecked")
|
||||
HashMap<String, Object>[] list = (HashMap<String, Object>[])gson.fromJson(gridData, HashMap[].class);
|
||||
|
||||
service.update(map,list);
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.telegram.UpdateTelegramCommand",map.get("msgMetaDstcd"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/messageMetaMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> map ) throws Exception {
|
||||
|
||||
service.delete(map);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.telegram.RemoveTelegramCommand",map.get("msgMetaDstcd"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/messageMetaMan.json",params = "cmd=LIST_DELETE")
|
||||
public String deleteList(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
for (String msgMetaDstcd : paramMap.get("msgMetaDstcdList").toString().split(",")) {
|
||||
HashMap<String, Object> paramDetail = new HashMap<String,Object>();
|
||||
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<String,Object> map) throws Exception {
|
||||
|
||||
String msgMetaDstcd = map.get("msgMetaDstcd").toString();
|
||||
HashMap<String, Object> detailMap = service.selectDetail(msgMetaDstcd);
|
||||
HashMap<String, Object> detail = (HashMap<String, Object>)detailMap.get("detail");
|
||||
List<Map<String, Object>> list = (List<Map<String, Object>>)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<String, Object>[] gridList = list.toArray(new HashMap[list.size()]);
|
||||
for (int i=0; i<list.size(); i++) {
|
||||
Map<String, Object> listMap = (Map<String, Object>)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<String, Object> result = new HashMap<String, Object>();
|
||||
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<String,Object> map) throws Exception {
|
||||
|
||||
List<Map<String, Object>> msgMetaList = new ArrayList<Map<String, Object>>();
|
||||
for (String searchMsgMetaDstcd : map.get("searchMsgMetaDstcdList").toString().split(",")) {
|
||||
HashMap<String, Object> msgMeta = service.selectDetail(searchMsgMetaDstcd);
|
||||
msgMetaList.add((Map<String, Object>)msgMeta.get("detail"));
|
||||
}
|
||||
|
||||
HashMap<String,Object> messageMeta = new HashMap<String,Object>();
|
||||
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";
|
||||
}
|
||||
}
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.messageMeta;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapMessageMetaDao")
|
||||
@SuppressWarnings({"deprecation","unchecked"})
|
||||
public class BapMessageMetaDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
|
||||
int totalcnt = (Integer)template.queryForObject("MessageMeta.count", param);
|
||||
|
||||
return totalcnt;
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
|
||||
return (List<Map<String, Object>>)template.queryForList("MessageMeta.list", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String msgMetaDstcd) throws Exception {
|
||||
HashMap<String, Object> param = new HashMap<String, Object>();
|
||||
|
||||
param.put("msgMetaDstcd", msgMetaDstcd);
|
||||
return (HashMap<String, Object>)template.queryForObject("MessageMeta.detail", param);
|
||||
}
|
||||
public List<Map<String, Object>> msgList(String msgMetaDstcd) throws Exception {
|
||||
HashMap<String, Object> param = new HashMap<String, Object>();
|
||||
|
||||
param.put("msgMetaDstcd", msgMetaDstcd);
|
||||
return (List<Map<String, Object>>)template.queryForList("MessageMeta.msgList" , param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
|
||||
this.template.insert("MessageMeta.insert_bm03", paramMap);
|
||||
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
|
||||
this.template.update("MessageMeta.update_bm03", paramMap);
|
||||
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("MessageMeta.delete_bm03", paramMap);
|
||||
|
||||
}
|
||||
public void insertList(HashMap<String, Object> paramMap) throws Exception{
|
||||
|
||||
this.template.insert("MessageMeta.insert_bm02", paramMap);
|
||||
}
|
||||
|
||||
public void deleteList(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("MessageMeta.delete_bm02", paramMap);
|
||||
}
|
||||
}
|
||||
+255
@@ -0,0 +1,255 @@
|
||||
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;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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 {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapMessageMetaDao")
|
||||
private BapMessageMetaDao dao;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapPropertyDao")
|
||||
private BapPropertyDao propDao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum, HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = dao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List<Map<String, Object>> list = dao.selectList(paramMap);
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("totalCount", totalCount);
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public int selectTotalCount(HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
return dao.selectListCount(paramMap); // 전체 목록수 얻기
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String msgMetaDstcd) throws Exception {
|
||||
|
||||
HashMap<String, Object> detail = dao.selectDetail(msgMetaDstcd);
|
||||
List<Map<String, Object>> list = dao.msgList(msgMetaDstcd);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("detail", detail);
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap, HashMap<String, Object>[] list )throws Exception {
|
||||
dao.update(paramMap);
|
||||
dao.deleteList(paramMap);
|
||||
HashMap<String, Object> data ;
|
||||
for(HashMap<String, Object> map : list){
|
||||
data = new HashMap<String, Object>();
|
||||
data.putAll(paramMap);
|
||||
data.put("msgClmnSeq",map.get("MSGCLMNSEQ"));
|
||||
data.put("msgItemDsticName",map.get("MSGITEMDSTICNAME"));
|
||||
dao.insertList(data);
|
||||
}
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap, HashMap<String, Object>[] list) throws Exception {
|
||||
|
||||
dao.insert(paramMap);
|
||||
HashMap<String, Object> data ;
|
||||
|
||||
for(HashMap<String, Object> map : list){
|
||||
data = new HashMap<String, Object>();
|
||||
data.putAll(paramMap);
|
||||
data.put("msgClmnSeq",map.get("MSGCLMNSEQ"));
|
||||
data.put("msgItemDsticName",map.get("MSGITEMDSTICNAME"));
|
||||
dao.insertList(data);
|
||||
}
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.delete(paramMap);
|
||||
dao.deleteList(paramMap);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public HashMap<String,String> mkInserSqlForMsgMeta(HashMap<String, Object> msgMetaMap) throws Exception {
|
||||
|
||||
StringBuffer msgMetaInsertSql = new StringBuffer();
|
||||
String[] columnUserId = {"THISMSGREGSNTID","THISMSGAMNDRID","THISMSGCLMNREGSNTID","THISMSGCLMNAMNDRID"}; // userID 입력컬럼 구분
|
||||
String[] columnDateTime = {"THISMSGREGIHMS","THISMSGAMNDHMS","THISMSGCLMNREGIHMS","THISMSGCLMNAMNDHMS"}; // DateTime 입력컬럼 구분
|
||||
List<Map<String, Object>> msgMetaList = (List<Map<String, Object>>)msgMetaMap.get("list");
|
||||
String userid = msgMetaMap.containsKey("userid") ? msgMetaMap.get("userid").toString() : "";
|
||||
|
||||
for (Map<String,Object> meta : msgMetaList) {
|
||||
// MESSAGE META LIST into BM03
|
||||
List<String> columnArr = new ArrayList<String>();
|
||||
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<String, Object> metaMap = selectDetail(meta.get("MSGMETADSTCD").toString());
|
||||
List<Map<String, Object>> metaItemList = (List<Map<String, Object>>)metaMap.get("list");
|
||||
|
||||
// MESSAGE META LIST into BM02
|
||||
for (Map<String, Object> metaItem : metaItemList) {
|
||||
List<String> columnItemArr = new ArrayList<String>();
|
||||
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<String, Object> metaItem : metaItemList) {
|
||||
List<String> columnClmArr = new ArrayList<String>();
|
||||
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<String,String> retMap = new HashMap<String,String>();
|
||||
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<String,Object> params = new HashMap<String,Object>();
|
||||
params.put("prptyGroupName", propGroup);
|
||||
params.put("prptyName", propName);
|
||||
|
||||
HashMap<String, Object> props = propDao.getProperties(params);
|
||||
|
||||
return props.get("PRPTY2VAL").toString();
|
||||
}
|
||||
}
|
||||
+176
@@ -0,0 +1,176 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.messageitem;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
|
||||
@Controller
|
||||
public class BapMessageItemController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapMessageItemService")
|
||||
private BapMessageItemService service;
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/messageItemMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/message/messageItemMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo , @RequestParam HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectList( pageVo.getStartNum(), pageVo.getEndNum(), paramMap);
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/messageItemMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response, String MsgItemDsticName) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectDetail(MsgItemDsticName);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/messageItemMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map ) throws Exception {
|
||||
|
||||
String userid = com.eactive.eai.rms.common.login.SessionManager.getUserId(request);
|
||||
map.put("userid", userid );
|
||||
|
||||
service.insert(map);
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/message/messageItemMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
|
||||
String userid = com.eactive.eai.rms.common.login.SessionManager.getUserId(request);
|
||||
paramMap.put("userid", userid );
|
||||
|
||||
service.update(paramMap);
|
||||
|
||||
List<Map<String, Object>> list = service.getMsgGroupDstcd(paramMap);
|
||||
if(list != null && list.size() > 0) {
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
Map<String, Object> hm = list.get(i);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.telegram.UpdateTelegramCommand",hm.get("MSGGROUPDSTCD"));
|
||||
agentUtilService.broadcast(command);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/messageItemMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
|
||||
service.delete(paramMap);
|
||||
List<Map<String, Object>> list = service.getMsgGroupDstcd(paramMap);
|
||||
if(list != null && list.size() > 1) {
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
Map<String, Object> hm = list.get(i);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.telegram.UpdateTelegramCommand",hm.get("MSGGROUPDSTCD"));
|
||||
agentUtilService.broadcast(command);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/messageItemMan.json",params = "cmd=LIST_DELETE")
|
||||
public String deleteList(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> paramMap ) throws Exception {
|
||||
for (String msgItemDsticName : paramMap.get("msgItemDsticNameList").toString().split(",")) {
|
||||
HashMap<String, Object> paramDetail = new HashMap<String,Object>();
|
||||
paramDetail.put("msgItemDsticName", msgItemDsticName);
|
||||
service.delete(paramDetail);
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/messageItemMan.json",params = "cmd=CLONE")
|
||||
public ModelAndView clone(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map ) throws Exception {
|
||||
|
||||
String userid = com.eactive.eai.rms.common.login.SessionManager.getUserId(request);
|
||||
map.put("userid", userid );
|
||||
|
||||
service.insert(map);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
@SuppressWarnings("unchecked")
|
||||
@RequestMapping(value= "/bap/admin/message/messageItemMan.json",params = "cmd=LIST_DOWNLOAD_SQL")
|
||||
public ModelAndView downloadSql(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map) throws Exception {
|
||||
|
||||
List<Map<String, Object>> msgItemList = new ArrayList<Map<String, Object>>();
|
||||
for (String msgItemDsticName : map.get("msgItemDsticNameList").toString().split(",")) {
|
||||
HashMap<String, Object> msgItem = service.selectDetail(msgItemDsticName);
|
||||
msgItemList.add((Map<String, Object>)msgItem.get("list"));
|
||||
}
|
||||
|
||||
HashMap<String,Object> messageItem = new HashMap<String,Object>();
|
||||
messageItem.put("list", msgItemList);
|
||||
messageItem.put("userid",com.eactive.eai.rms.common.login.SessionManager.getUserId(request));
|
||||
messageItem.put("fileName", map.get("fileName"));
|
||||
messageItem.put("svrType", map.get("svrType"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",service.mkInserSqlForMsgItem(messageItem));
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/message/messageItemMan.view",params = "cmd=LIST_FILE_DOWNLOAD")
|
||||
public String fileDownload(HttpServletRequest request) throws Exception {
|
||||
|
||||
return "/bap/admin/common/filedownload";
|
||||
}
|
||||
}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.messageitem;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapMessageItemDao")
|
||||
@SuppressWarnings({"deprecation","unchecked"})
|
||||
public class BapMessageItemDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
|
||||
int totalcnt = (Integer)template.queryForObject("MessageItem.selectListCount", param);
|
||||
|
||||
return totalcnt;
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
|
||||
return (List<Map<String, Object>>)template.queryForList("MessageItem.selectList", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String MsgItemDsticName) throws Exception {
|
||||
HashMap<String, Object> param = new HashMap<String, Object>();
|
||||
|
||||
param.put("MsgItemDsticName", MsgItemDsticName);
|
||||
return (HashMap<String, Object>)template.queryForObject("MessageItem.selectDetail", param);
|
||||
}
|
||||
public HashMap<String, Object> selectAutoCd() throws Exception {
|
||||
HashMap<String, Object> param = new HashMap<String, Object>();
|
||||
return (HashMap<String, Object>)template.queryForObject("MessageItem.selectAutoCd", param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
|
||||
this.template.insert("MessageItem.insert", paramMap);
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("MessageItem.update", paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("MessageItem.delete", paramMap);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getMsgGroupDstcd(HashMap<String, Object> param) throws Exception {
|
||||
|
||||
return (List<Map<String, Object>>)template.queryForList("MessageItem.getMsgGroupDstcd", param);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+161
@@ -0,0 +1,161 @@
|
||||
package com.eactive.eai.rms.bap.manage.message.messageitem;
|
||||
|
||||
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;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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("bapMessageItemService")
|
||||
public class BapMessageItemService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapMessageItemDao")
|
||||
private BapMessageItemDao dao;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapPropertyDao")
|
||||
private BapPropertyDao propDao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum, HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = dao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List<Map<String, Object>> list = dao.selectList(paramMap);
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("totalCount", totalCount);
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String MsgItemDsticName) throws Exception {
|
||||
HashMap<String, Object> list;
|
||||
|
||||
list = dao.selectDetail(MsgItemDsticName);
|
||||
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.update(paramMap);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.insert(paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.delete(paramMap);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> getMsgGroupDstcd(HashMap<String, Object> paramMap) throws Exception {
|
||||
return dao.getMsgGroupDstcd(paramMap);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public HashMap<String,String> mkInserSqlForMsgItem(HashMap<String, Object> msgItemMap) throws Exception {
|
||||
|
||||
StringBuffer msgItemInsertSql = new StringBuffer();
|
||||
String[] columnUserId = {"THISMSGREGSNTID","THISMSGAMNDRID","THISMSGCLMNREGSNTID","THISMSGCLMNAMNDRID"}; // userID 입력컬럼 구분
|
||||
String[] columnDateTime = {"THISMSGREGIHMS","THISMSGAMNDHMS","THISMSGCLMNREGIHMS","THISMSGCLMNAMNDHMS"}; // DateTime 입력컬럼 구분
|
||||
List<Map<String, Object>> msgItemList = (List<Map<String, Object>>)msgItemMap.get("list");
|
||||
String userid = msgItemMap.containsKey("userid") ? msgItemMap.get("userid").toString() : "";
|
||||
|
||||
// MESSAGE ITEM LIST into BM01
|
||||
for (Map<String, Object> msgItem : msgItemList) {
|
||||
List<String> columnClmArr = new ArrayList<String>();
|
||||
String[] columnClmList = {"MSGITEMDSTICNAME","THISMSGCLMNUSEYN","MSGCLMNNAME","MSGCLMNATTRIPTRNCD","MSGCLMNVAL","THISMSGCLMNREGSNTID","THISMSGCLMNREGIHMS","THISMSGCLMNAMNDRID","THISMSGCLMNAMNDHMS"};
|
||||
columnClmArr = Arrays.asList(columnClmList);
|
||||
|
||||
msgItemInsertSql.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)) {
|
||||
msgItemInsertSql.append("'"+userid+"')) ");
|
||||
} else if (Arrays.asList(columnDateTime).contains(column)) {
|
||||
msgItemInsertSql.append("TO_CHAR(LOCALTIMESTAMP, 'YYYYMMDDHH24MISSFF3'))) ");
|
||||
} else {
|
||||
msgItemInsertSql.append("'"+(msgItem.containsKey(column) ? msgItem.get(column) : "")+"')) ");
|
||||
}
|
||||
} else {
|
||||
if (Arrays.asList(columnUserId).contains(column)) {
|
||||
msgItemInsertSql.append("'"+userid+"',");
|
||||
} else if (Arrays.asList(columnDateTime).contains(column)) {
|
||||
msgItemInsertSql.append("TO_CHAR(LOCALTIMESTAMP, 'YYYYMMDDHH24MISSFF3'),");
|
||||
} else {
|
||||
msgItemInsertSql.append("'"+(msgItem.containsKey(column) ? msgItem.get(column) : "")+"',");
|
||||
}
|
||||
}
|
||||
}
|
||||
// 필드명 입력
|
||||
msgItemInsertSql.append("AS s(");
|
||||
for (String columnClm : columnClmArr) {
|
||||
msgItemInsertSql.append((columnClm.equals(columnClmArr.get(columnClmArr.size()-1))) ? columnClm+")\n" : columnClm+",");
|
||||
}
|
||||
msgItemInsertSql.append("ON r.MSGITEMDSTICNAME = s.MSGITEMDSTICNAME WHEN NOT MATCHED THEN\n");
|
||||
msgItemInsertSql.append("INSERT (");
|
||||
for (String columnClm : columnClmArr) {
|
||||
msgItemInsertSql.append((columnClm.equals(columnClmArr.get(columnClmArr.size()-1))) ? "r."+columnClm : "r."+columnClm+",");
|
||||
}
|
||||
msgItemInsertSql.append(") VALUES (");
|
||||
for (String columnClm : columnClmArr) {
|
||||
msgItemInsertSql.append((columnClm.equals(columnClmArr.get(columnClmArr.size()-1))) ? "s."+columnClm+");\n" : "s."+columnClm+",");
|
||||
}
|
||||
}
|
||||
|
||||
HashMap<String,String> retMap = new HashMap<String,String>();
|
||||
if (msgItemMap.get("fileName") != null) {
|
||||
OutputStream output = null;
|
||||
try {
|
||||
String sqlDownloadPath = getProperties("SQL_DOWNLOAD", "DOWNLOAD_PATH");
|
||||
String sqlDownloadFile = sqlDownloadPath+msgItemMap.get("fileName");
|
||||
output = new FileOutputStream(sqlDownloadFile);
|
||||
if (sqlDownloadPath != null) {
|
||||
byte[] bt = msgItemInsertSql.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(msgItemInsertSql.toString(), "BAP_"+msgItemMap.get("svrType").toString().toUpperCase());
|
||||
}
|
||||
|
||||
return retMap;
|
||||
}
|
||||
|
||||
private String getProperties(String propGroup, String propName) throws Exception {
|
||||
HashMap<String,Object> params = new HashMap<String,Object>();
|
||||
params.put("prptyGroupName", propGroup);
|
||||
params.put("prptyName", propName);
|
||||
|
||||
HashMap<String, Object> props = propDao.getProperties(params);
|
||||
|
||||
return props.get("PRPTY2VAL").toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,156 @@
|
||||
package com.eactive.eai.rms.bap.manage.mmi;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.jdom.Attribute;
|
||||
import org.jdom.Document;
|
||||
import org.jdom.Element;
|
||||
import org.jdom.input.SAXBuilder;
|
||||
|
||||
public class EIMSBAPParser implements MMIBAPParserKey {
|
||||
|
||||
public static HashMap<String,Object> parseInfo(String data) throws Exception {
|
||||
HashMap<String,Object> result = new HashMap<String,Object>();
|
||||
HashMap<String,Object> param = new HashMap<String,Object>();
|
||||
InputStream is = null;
|
||||
try {
|
||||
is = StringToStream(data);
|
||||
SAXBuilder builder = new SAXBuilder();
|
||||
Document doc = builder.build(is);
|
||||
|
||||
Element inter = doc.getRootElement();
|
||||
|
||||
result.putAll(getAttr(doc.getRootElement()));
|
||||
result.putAll(getAttr(inter.getChild(COMMON_INFO)));
|
||||
result.putAll(getAttr(inter.getChild(SVC_INFO)));
|
||||
result.putAll(getAttr(inter.getChild(EAI_SVC_INFO)));
|
||||
result.putAll(getAttr(inter.getChild(OSID_INFO)));
|
||||
|
||||
result.get(MMIBAPParserKey.OSID_INSTI_SYS_ID);
|
||||
// TSEAIBJ01 데이터 처리
|
||||
String intfType = result.get(MMIBAPParserKey.INTERFACE_TYPE).toString();
|
||||
String eaiAfterShellPath = result.get(MMIBAPParserKey.EAI_AFTER_SHELL_PATH).toString();
|
||||
String eaiAfterShellName = result.get(MMIBAPParserKey.EAI_AFTER_SHELL_NAME).toString();
|
||||
|
||||
param.put( MMIBAPParserKey.MMI_INTF_ID, result.get(MMIBAPParserKey.MMI_INTF_ID));
|
||||
param.put( MMIBAPParserKey.INTF_ID, result.get(MMIBAPParserKey.INTF_ID));
|
||||
param.put( MMIBAPParserKey.VERSION, result.get(MMIBAPParserKey.VERSION));
|
||||
param.put( MMIBAPParserKey.OSID_INSTI_SYS_ID, result.get(MMIBAPParserKey.OSID_INSTI_SYS_ID));
|
||||
param.put( MMIBAPParserKey.DEPLOY_ID, result.get(MMIBAPParserKey.DEPLOY_ID));
|
||||
param.put( MMIBAPParserKey.EAI_FILE_NAME, result.get(MMIBAPParserKey.EAI_FILE_NAME));
|
||||
param.put( MMIBAPParserKey.OSID_INSTI_SYS_ID, result.get(MMIBAPParserKey.OSID_INSTI_SYS_ID));
|
||||
|
||||
param.put( MMIBAPSyncField.bjobMsgDsticName.name(), result.get(MMIBAPParserKey.EAI_FILE_KOR_NAME));
|
||||
param.put( MMIBAPSyncField.bjobTranDstcdName.name(), result.get(MMIBAPParserKey.EAI_FILE_NAME));
|
||||
param.put( MMIBAPSyncField.bjobTelgmHdrSize.name(), result.get(MMIBAPParserKey.HEADER_LEN));
|
||||
param.put( MMIBAPSyncField.bjobTelgmRecSize.name(), result.get(MMIBAPParserKey.RECORD_LEN));
|
||||
param.put( MMIBAPSyncField.bjobTelgmTrailSize.name(), result.get(MMIBAPParserKey.TRAILER_LEN));
|
||||
param.put( MMIBAPSyncField.eaiFileSendUseYn.name(), intfType.equals("S") ? "1" : "" );
|
||||
param.put( MMIBAPSyncField.eaiFileRecvUseYn.name(), intfType.equals("R") ? "1" : "" );
|
||||
param.put( MMIBAPSyncField.msgPrcssPrity.name(), "999");
|
||||
param.put( MMIBAPSyncField.thisMsgUseYn.name(), "1");
|
||||
param.put( MMIBAPSyncField.uapplCd.name(), result.get(MMIBAPParserKey.APP_CD));
|
||||
param.put( MMIBAPSyncField.userid.name(), result.get(MMIBAPParserKey.MOD_ID));
|
||||
param.put( MMIBAPSyncField.sndRcvFileName.name(), result.get(MMIBAPParserKey.SVC_FILE_NAME));
|
||||
param.put( MMIBAPSyncField.thisMsgChrgIDs.name(), result.get(MMIBAPParserKey.MOD_ID));
|
||||
param.put( MMIBAPSyncField.groupCoCd.name(), "B");
|
||||
param.put( MMIBAPSyncField.rmtNodeName.name(), result.get(MMIBAPParserKey.SYS_ID));
|
||||
param.put( MMIBAPSyncField.sndScriptName.name(), eaiAfterShellPath+File.separator+eaiAfterShellName);
|
||||
// param.put( MMIBAPSyncField.logCretnYn.name(), "1");
|
||||
param.put( MMIBAPSyncField.bzwkRsEmpName.name(), result.get(MMIBAPParserKey.USER_NAME));
|
||||
param.put( MMIBAPSyncField.bzwkRsEmpTelno.name(), result.get(MMIBAPParserKey.USER_TELNO));
|
||||
param.put( MMIBAPSyncField.osidInstiCode.name(), result.get(MMIBAPParserKey.OSID_INSTI_CD));
|
||||
param.put( MMIBAPSyncField.osidInstiBzwkRsEmpName.name(), result.get(MMIBAPParserKey.OSID_INSTI_USER_NAME));
|
||||
param.put( MMIBAPSyncField.osidInstiTelno.name(), result.get(MMIBAPParserKey.OSID_INSTI_TELNO));
|
||||
param.put( MMIBAPSyncField.fileTransCond.name(), result.get(MMIBAPParserKey.FILE_TRAN_SCHDR_CNDT));
|
||||
param.put( MMIBAPSyncField.fileTransSche.name(), result.get(MMIBAPParserKey.FILE_TRAN_SCHDR_TIME));
|
||||
param.put( MMIBAPSyncField.fileTransAlam.name(), result.get(MMIBAPParserKey.NOSIGNAL_ALRAM_TIME));
|
||||
|
||||
|
||||
|
||||
// // TSEAIBS01 데이터 처리
|
||||
// String fileTranSchdrTime = result.get(MMIBAPParserKey.FILE_TRAN_SCHDR_TIME).toString();
|
||||
// String reTralTime = fileTranSchdrTime.substring(9,11);
|
||||
//
|
||||
param.put( MMIBAPSyncField.bjobPtrnDstcd.name(), intfType.equals("S") ? "RS" : "RR" );
|
||||
// param.put( MMIBAPSyncField.bjobTranDstcdName.name(), result.get(MMIBAPParserKey.EAI_FILE_NAME));
|
||||
//// param.put( MMIBAPSyncField.osidInstiDstcd.name(), result.get(MMIBAPParserKey.OSID_INSTI_SYS_ID).toString().substring(0,4));
|
||||
param.put( MMIBAPSyncField.sndrcvStartHMS.name(), "0000"); // 0000
|
||||
param.put( MMIBAPSyncField.sndrcvEndHMS.name(), "2359"); // 2359
|
||||
param.put( MMIBAPSyncField.msgSndrID.name(), result.get(MMIBAPParserKey.DEPLOY_ID));
|
||||
param.put( MMIBAPSyncField.rqstRecvReTralCnt.name(), 0);
|
||||
param.put( MMIBAPSyncField.rqstRecvReTralUseYn.name(), "0");
|
||||
param.put( MMIBAPSyncField.rqstRecvReTralIntvalTtm.name(),"0");
|
||||
param.put( MMIBAPSyncField.holdyPrcssDstcd.name(), "1");
|
||||
param.put( MMIBAPSyncField.startDlayNoday.name(), 0);
|
||||
param.put( MMIBAPSyncField.endDlayNoday.name(), 0);
|
||||
param.put( MMIBAPSyncField.thisMsgUseYn.name(), "1");
|
||||
param.put( MMIBAPSyncField.rpttYn.name(), "0");
|
||||
param.put( MMIBAPSyncField.userid.name(), result.get(MMIBAPParserKey.MOD_ID));
|
||||
|
||||
}catch(Exception e){
|
||||
throw new Exception("info parsing error "+e.getMessage(),e);
|
||||
}finally{
|
||||
if (is != null){try{is.close();}catch(Exception e ){}}
|
||||
}
|
||||
return param;
|
||||
|
||||
}
|
||||
|
||||
public static HashMap<String,String> getAttr(Element doc){
|
||||
if (doc == null) return new HashMap<String,String>();
|
||||
HashMap<String,String> map = new HashMap<String,String>();
|
||||
for(Object obj : doc.getAttributes()){
|
||||
if (obj instanceof Attribute){
|
||||
Attribute attr = (Attribute)obj;
|
||||
map.put(attr.getName(), attr.getValue());
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
public static InputStream StringToStream(String s){
|
||||
ByteArrayInputStream buffer = new ByteArrayInputStream(s.getBytes());
|
||||
return buffer;
|
||||
}
|
||||
|
||||
public static HashMap<String,Object> parseDelete(String data) throws Exception{
|
||||
HashMap<String,Object> result = new HashMap<String,Object>();
|
||||
HashMap<String,Object> param = new HashMap<String,Object>();
|
||||
InputStream is = null;
|
||||
try {
|
||||
is = StringToStream(data);
|
||||
SAXBuilder builder = new SAXBuilder();
|
||||
Document doc = builder.build(is);
|
||||
|
||||
Element delete = doc.getRootElement();
|
||||
|
||||
result.putAll(getAttr(doc.getRootElement()));
|
||||
result.putAll(getAttr(delete.getChild(COMMON_INFO)));
|
||||
result.putAll(getAttr(delete.getChild(SVC_INFO)));
|
||||
result.putAll(getAttr(delete.getChild(EAI_SVC_INFO)));
|
||||
result.putAll(getAttr(delete.getChild(OSID_INFO)));
|
||||
|
||||
// TSEAIBJ01 delete key 데이터 처리
|
||||
param.put( MMIBAPParserKey.MMI_INTF_ID, result.get(MMIBAPParserKey.MMI_INTF_ID));
|
||||
param.put( MMIBAPParserKey.INTF_ID, result.get(MMIBAPParserKey.INTF_ID));
|
||||
param.put( MMIBAPParserKey.VERSION, result.get(MMIBAPParserKey.VERSION));
|
||||
param.put( MMIBAPSyncField.bjobBzwkDstcd.name(), result.get(MMIBAPParserKey.SYS_ID).toString().substring(0, 5));
|
||||
param.put( MMIBAPSyncField.bjobMsgDsticName.name(), result.get(MMIBAPParserKey.EAI_FILE_KOR_NAME));
|
||||
|
||||
// TSEAIBS01 delete key 데이터 처리
|
||||
param.put( MMIBAPSyncField.osidInstiDstcd.name(), result.get(MMIBAPParserKey.OSID_INSTI_SYS_ID).toString().substring(0,4));
|
||||
|
||||
}catch(Exception e){
|
||||
//e.printStackTrace();
|
||||
throw e;
|
||||
}finally{
|
||||
if (is != null){try{is.close();}catch(Exception e ){}}
|
||||
}
|
||||
|
||||
return param;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.eactive.eai.rms.bap.manage.mmi;
|
||||
|
||||
public enum EIMSBAPSyncField {
|
||||
|
||||
bjobMsgDstcd ("String", 15, "BATCH작업메시지구분코드내용", true),
|
||||
bjobMsgDsticName ("String", 400, "BATCH작업메시지구분명", true),
|
||||
bjobBzwkDstcd ("String", 8, "BATCH작업업무구분코드내용", true),
|
||||
bjobTranDstcdName ("String", 20, "BATCH작업거래구분명", true),
|
||||
bjobTelgmHdrSize ("Integer", 0, "BATCH작업전문헤더크기값", true),
|
||||
bjobTelgmRecSize ("Integer", 0, "BATCH작업전문레코드크기수", true),
|
||||
bjobTelgmTrailSize ("Integer", 0, "BATCH작업전문트레일러크기값", true),
|
||||
eaiFileSendUseYn ("String", 1, "EAI파일송신사용여부", true),
|
||||
eaiFileRecvUseYn ("String", 1, "EAI파일수신사용여부", true),
|
||||
msgPrcssPrity ("Integer", 0, "메시지처리우선순위값", true),
|
||||
sysCd ("String", 3, "송신시스템", true),
|
||||
uapplCd ("String", 3, "어플리케이션코드내용", true),
|
||||
sndRcvFileName ("String", 100, "송수신파일명", true),
|
||||
rcvFilePattern ("String", 100, "송수신파일명", true),
|
||||
sndrcvfilepath ("String", 200, "송수신파일경로", true),
|
||||
thisMsgChrgIDs ("String", 100, "당메시지담당자ID명", true),
|
||||
recvnotiuseyn ("String", 1, "수신알림사용여부", true),
|
||||
logCretnYn ("String", 1, "로그생성정보명", true),
|
||||
fileTransSche ("String", 50, "파일송수신스케줄", true),
|
||||
thisMsgUseYn ("String", 1, "당메시지사용여부", true),
|
||||
thisMsgRegsntID ("String", 40, "당메시지등록자ID", true),
|
||||
thisMsgAmndrID ("String", 40, "당메시지수정자ID", true),
|
||||
|
||||
rmtNodeName ("String", 20, "원격노드명", false),
|
||||
sndScriptName ("String", 100, "전송스크립트내용", false),
|
||||
userid ("String", 40, "사용자ID", false),
|
||||
groupCoCd ("String", 1, "그룹사구분코드내용", false),
|
||||
bzwkRsEmpName ("String", 60, "업무담당자", false),
|
||||
bzwkRsEmpTelno ("String", 50, "업무담당자전화번호", false),
|
||||
osidInstiCode ("String", 20, "대외기관코드", false),
|
||||
osidInstiBzwkRsEmpName ("String", 60, "대외기관담당자", false),
|
||||
osidInstiTelno ("String", 50, "대외기관담당자전화번호", false),
|
||||
fileTransCond ("String", 10, "파일송수신조건", false),
|
||||
fileTransAlam ("String", 10, "파일송수신알람", false);
|
||||
|
||||
// bjobMsgScheId ("String", 30, "BATCH작업메시지일정ID명", false),
|
||||
// osidInstiDstcd ("String", 4, "대외기관구분코드내용", false),
|
||||
// bjobPtrnDstcd ("String", 2, "BATCH작업유형구분코드내용", false),
|
||||
// sndrcvStartHMS ("String", 17, "송수신시작시각", false),
|
||||
// sndrcvEndHMS ("String", 17, "송수신종료시각", false),
|
||||
// msgSndrID ("String", 40, "메시지송신자ID명", false),
|
||||
// rqstRecvReTralCnt ("Integer", 0, "요구수신재시도수", false),
|
||||
// rqstRecvReTralUseYn ("String", 1, "요구수신재시도사용여부", false),
|
||||
// rqstRecvReTralIntvalTtm ("Integer", 0, "요구수신재시도간격시간", false),
|
||||
// holdyPrcssDstcd ("String", 1, "휴일처리구분코드내용", false),
|
||||
// startDlayNoday ("Integer", 0, "시작지연일수", false),
|
||||
// endDlayNoday ("Integer", 0, "종료지연일수", false),
|
||||
// rpttYn ("String", 1, "반복여부", false);
|
||||
|
||||
private String fieldType; // field 유형
|
||||
private int fieldLength; // field 길이
|
||||
private String fieldDesc; // field 설명
|
||||
private boolean fieldUseYn; // field 사용여부
|
||||
|
||||
EIMSBAPSyncField(String fieldType, int fieldLength, String fieldDesc, boolean fieldUseYn) {
|
||||
this.fieldType = fieldType;
|
||||
this.fieldLength = fieldLength;
|
||||
this.fieldDesc = fieldDesc;
|
||||
this.fieldUseYn = fieldUseYn;
|
||||
}
|
||||
|
||||
public String getFieldType() {
|
||||
return fieldType;
|
||||
}
|
||||
|
||||
public int getFieldLength() {
|
||||
return fieldLength;
|
||||
}
|
||||
|
||||
public String getFieldDesc() {
|
||||
return fieldDesc;
|
||||
}
|
||||
|
||||
public Boolean getFieldUseYn() {
|
||||
return fieldUseYn;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,238 @@
|
||||
package com.eactive.eai.rms.bap.manage.mmi;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.jdom.Attribute;
|
||||
import org.jdom.Document;
|
||||
import org.jdom.Element;
|
||||
import org.jdom.input.SAXBuilder;
|
||||
|
||||
public class MMIBAPParser implements MMIBAPParserKey {
|
||||
|
||||
// public static HashMap<String,Object> parseInfo(String data) throws Exception {
|
||||
// HashMap<String,Object> result = new HashMap<String,Object>();
|
||||
// HashMap<String,Object> param = new HashMap<String,Object>();
|
||||
// InputStream is = null;
|
||||
// try {
|
||||
// is = StringToStream(data);
|
||||
// SAXBuilder builder = new SAXBuilder();
|
||||
// Document doc = builder.build(is);
|
||||
//
|
||||
// Element inter = doc.getRootElement();
|
||||
//
|
||||
// result.putAll(getAttr(doc.getRootElement()));
|
||||
// result.putAll(getAttr(inter.getChild(COMMON_INFO)));
|
||||
// result.putAll(getAttr(inter.getChild(SVC_INFO)));
|
||||
// result.putAll(getAttr(inter.getChild(EAI_SVC_INFO)));
|
||||
// result.putAll(getAttr(inter.getChild(OSID_INFO)));
|
||||
//
|
||||
// result.get(MMIBAPParserKey.OSID_INSTI_SYS_ID);
|
||||
// // TSEAIBJ01 데이터 처리
|
||||
// String intfType = result.get(MMIBAPParserKey.INTERFACE_TYPE).toString();
|
||||
// String eaiAfterShellPath = result.get(MMIBAPParserKey.EAI_AFTER_SHELL_PATH).toString();
|
||||
// String eaiAfterShellName = result.get(MMIBAPParserKey.EAI_AFTER_SHELL_NAME).toString();
|
||||
//
|
||||
// param.put( MMIBAPParserKey.MMI_INTF_ID, result.get(MMIBAPParserKey.MMI_INTF_ID));
|
||||
// param.put( MMIBAPParserKey.INTF_ID, result.get(MMIBAPParserKey.INTF_ID));
|
||||
// param.put( MMIBAPParserKey.VERSION, result.get(MMIBAPParserKey.VERSION));
|
||||
// param.put( MMIBAPParserKey.OSID_INSTI_SYS_ID, result.get(MMIBAPParserKey.OSID_INSTI_SYS_ID));
|
||||
// param.put( MMIBAPParserKey.DEPLOY_ID, result.get(MMIBAPParserKey.DEPLOY_ID));
|
||||
// param.put( MMIBAPParserKey.EAI_FILE_NAME, result.get(MMIBAPParserKey.EAI_FILE_NAME));
|
||||
// param.put( MMIBAPParserKey.OSID_INSTI_SYS_ID, result.get(MMIBAPParserKey.OSID_INSTI_SYS_ID));
|
||||
//
|
||||
// param.put( MMIBAPSyncField.bjobMsgDsticName.name(), result.get(MMIBAPParserKey.EAI_FILE_KOR_NAME));
|
||||
// param.put( MMIBAPSyncField.bjobTranDstcdName.name(), result.get(MMIBAPParserKey.EAI_FILE_NAME));
|
||||
// param.put( MMIBAPSyncField.bjobTelgmHdrSize.name(), result.get(MMIBAPParserKey.HEADER_LEN));
|
||||
// param.put( MMIBAPSyncField.bjobTelgmRecSize.name(), result.get(MMIBAPParserKey.RECORD_LEN));
|
||||
// param.put( MMIBAPSyncField.bjobTelgmTrailSize.name(), result.get(MMIBAPParserKey.TRAILER_LEN));
|
||||
// param.put( MMIBAPSyncField.eaiFileSendUseYn.name(), intfType.equals("S") ? "1" : "" );
|
||||
// param.put( MMIBAPSyncField.eaiFileRecvUseYn.name(), intfType.equals("R") ? "1" : "" );
|
||||
// param.put( MMIBAPSyncField.msgPrcssPrity.name(), "999");
|
||||
// param.put( MMIBAPSyncField.thisMsgUseYn.name(), "1");
|
||||
// param.put( MMIBAPSyncField.uapplCd.name(), result.get(MMIBAPParserKey.APP_CD));
|
||||
// param.put( MMIBAPSyncField.userid.name(), result.get(MMIBAPParserKey.MOD_ID));
|
||||
// param.put( MMIBAPSyncField.sndRcvFileName.name(), result.get(MMIBAPParserKey.SVC_FILE_NAME));
|
||||
// param.put( MMIBAPSyncField.thisMsgChrgIDs.name(), result.get(MMIBAPParserKey.MOD_ID));
|
||||
// param.put( MMIBAPSyncField.groupCoCd.name(), "B");
|
||||
// param.put( MMIBAPSyncField.rmtNodeName.name(), result.get(MMIBAPParserKey.SYS_ID));
|
||||
// param.put( MMIBAPSyncField.sndScriptName.name(), eaiAfterShellPath+File.separator+eaiAfterShellName);
|
||||
//// param.put( MMIBAPSyncField.logCretnYn.name(), "1");
|
||||
// param.put( MMIBAPSyncField.bzwkRsEmpName.name(), result.get(MMIBAPParserKey.USER_NAME));
|
||||
// param.put( MMIBAPSyncField.bzwkRsEmpTelno.name(), result.get(MMIBAPParserKey.USER_TELNO));
|
||||
// param.put( MMIBAPSyncField.osidInstiCode.name(), result.get(MMIBAPParserKey.OSID_INSTI_CD));
|
||||
// param.put( MMIBAPSyncField.osidInstiBzwkRsEmpName.name(), result.get(MMIBAPParserKey.OSID_INSTI_USER_NAME));
|
||||
// param.put( MMIBAPSyncField.osidInstiTelno.name(), result.get(MMIBAPParserKey.OSID_INSTI_TELNO));
|
||||
// param.put( MMIBAPSyncField.fileTransCond.name(), result.get(MMIBAPParserKey.FILE_TRAN_SCHDR_CNDT));
|
||||
// param.put( MMIBAPSyncField.fileTransSche.name(), result.get(MMIBAPParserKey.FILE_TRAN_SCHDR_TIME));
|
||||
// param.put( MMIBAPSyncField.fileTransAlam.name(), result.get(MMIBAPParserKey.NOSIGNAL_ALRAM_TIME));
|
||||
//
|
||||
//
|
||||
//
|
||||
//// // TSEAIBS01 데이터 처리
|
||||
//// String fileTranSchdrTime = result.get(MMIBAPParserKey.FILE_TRAN_SCHDR_TIME).toString();
|
||||
//// String reTralTime = fileTranSchdrTime.substring(9,11);
|
||||
////
|
||||
//// param.put( MMIBAPSyncField.bjobPtrnDstcd.name(), intfType.equals("S") ? "RS" : "RR" );
|
||||
//// param.put( MMIBAPSyncField.bjobTranDstcdName.name(), result.get(MMIBAPParserKey.EAI_FILE_NAME));
|
||||
////// param.put( MMIBAPSyncField.osidInstiDstcd.name(), result.get(MMIBAPParserKey.OSID_INSTI_SYS_ID).toString().substring(0,4));
|
||||
//// param.put( MMIBAPSyncField.sndrcvStartHMS.name(), "0000"); // 0000
|
||||
//// param.put( MMIBAPSyncField.sndrcvEndHMS.name(), "2359"); // 2359
|
||||
//// param.put( MMIBAPSyncField.msgSndrID.name(), result.get(MMIBAPParserKey.DEPLOY_ID));
|
||||
//// param.put( MMIBAPSyncField.rqstRecvReTralCnt.name(), 0);
|
||||
//// param.put( MMIBAPSyncField.rqstRecvReTralUseYn.name(), "0");
|
||||
//// param.put( MMIBAPSyncField.rqstRecvReTralIntvalTtm.name(),"0");
|
||||
//// param.put( MMIBAPSyncField.holdyPrcssDstcd.name(), "1");
|
||||
//// param.put( MMIBAPSyncField.startDlayNoday.name(), 0);
|
||||
//// param.put( MMIBAPSyncField.endDlayNoday.name(), 0);
|
||||
//// param.put( MMIBAPSyncField.thisMsgUseYn.name(), "1");
|
||||
//// param.put( MMIBAPSyncField.rpttYn.name(), "0");
|
||||
//// param.put( MMIBAPSyncField.userid.name(), result.get(MMIBAPParserKey.MOD_ID));
|
||||
//
|
||||
// }catch(Exception e){
|
||||
// throw new Exception("info parsing error "+e.getMessage(),e);
|
||||
// }finally{
|
||||
// if (is != null){try{is.close();}catch(Exception e ){}}
|
||||
// }
|
||||
// return param;
|
||||
//
|
||||
// }
|
||||
|
||||
public static HashMap<String,Object> parseInfoNew(String data) throws Exception {
|
||||
HashMap<String,Object> result = new HashMap<String,Object>();
|
||||
HashMap<String,Object> param = new HashMap<String,Object>();
|
||||
InputStream is = null;
|
||||
try {
|
||||
is = StringToStream(data);
|
||||
SAXBuilder builder = new SAXBuilder();
|
||||
Document doc = builder.build(is);
|
||||
|
||||
Element inter = doc.getRootElement();
|
||||
|
||||
result.putAll(getAttr(doc.getRootElement()));
|
||||
result.putAll(getAttr(inter.getChild(HEADER)));
|
||||
// TSEAIBJ01 데이터 처리
|
||||
String intfType = result.get(MMIBAPParserKey.SNDST).toString();
|
||||
String eaiAfterShellPath = result.get(MMIBAPParserKey.SRCFILEPATH).toString();
|
||||
String eaiAfterShellName = "";
|
||||
if("R".equals(intfType)) {
|
||||
eaiAfterShellName = result.get(MMIBAPParserKey.SRCFILENM).toString();
|
||||
}
|
||||
if("S".equals(intfType)) {
|
||||
eaiAfterShellName = result.get(MMIBAPParserKey.TGTFILENM).toString();
|
||||
}
|
||||
|
||||
//** 파일송수신 관련 파람
|
||||
param.put( MMIBAPSyncField.bjobMsgDstcd.name(), result.get(MMIBAPParserKey.INTFID));
|
||||
param.put( MMIBAPSyncField.bjobMsgDsticName.name(), result.get(MMIBAPParserKey.INFTNAME));
|
||||
param.put( MMIBAPSyncField.bjobBzwkDstcd.name(), result.get(MMIBAPParserKey.OUTBIZCD));
|
||||
param.put( MMIBAPSyncField.bjobTranDstcdName.name(), result.get(MMIBAPParserKey.FILECODE));
|
||||
param.put( MMIBAPSyncField.bjobTelgmHdrSize.name(), result.get(MMIBAPParserKey.RECSIZE));
|
||||
param.put( MMIBAPSyncField.bjobTelgmRecSize.name(), result.get(MMIBAPParserKey.RECSIZE));
|
||||
param.put( MMIBAPSyncField.bjobTelgmTrailSize.name(), result.get(MMIBAPParserKey.RECSIZE));
|
||||
param.put( MMIBAPSyncField.eaiFileSendUseYn.name(), intfType.equals("S") ? "1" : "0" );
|
||||
param.put( MMIBAPSyncField.eaiFileRecvUseYn.name(), intfType.equals("R") ? "1" : "0" );
|
||||
param.put( MMIBAPSyncField.msgPrcssPrity.name(), "999");
|
||||
param.put( MMIBAPSyncField.sysCd.name(), result.get(MMIBAPParserKey.SRCBZSYSTEMCD ));
|
||||
param.put( MMIBAPSyncField.uapplCd.name(), result.get(MMIBAPParserKey.APPCD ));
|
||||
param.put( MMIBAPSyncField.sndRcvFileName.name(), eaiAfterShellPath+File.separator+eaiAfterShellName);
|
||||
param.put( MMIBAPSyncField.rcvFilePattern.name(), " ");
|
||||
param.put( MMIBAPSyncField.sndrcvfilepath.name(), result.get(MMIBAPParserKey.SRCFILEPATH));
|
||||
param.put( MMIBAPSyncField.thisMsgChrgIDs.name(), result.get(MMIBAPParserKey.AUTHORID));
|
||||
param.put( MMIBAPSyncField.recvnotiuseYn.name(), "1");
|
||||
param.put( MMIBAPSyncField.logCretnYn.name(), "1");
|
||||
param.put( MMIBAPSyncField.fileTransSche.name(), result.get(MMIBAPParserKey.TRNSMSNCYCLE));
|
||||
param.put( MMIBAPSyncField.thisMsgUseYn.name(), "1");
|
||||
param.put( MMIBAPSyncField.thisMsgRegsntID.name(), result.get(MMIBAPParserKey.AUTHORID));
|
||||
param.put( MMIBAPSyncField.thisMsgAmndrID.name(), result.get(MMIBAPParserKey.AUTHORID));
|
||||
|
||||
//** 스케쥴 관련 파람
|
||||
param.put( MMIBAPSyncField.bjobPtrnDstcd.name(), intfType.equals("S") ? "RS" : "RR" );
|
||||
param.put( MMIBAPSyncField.sndrcvStartHMS.name(), "0000"); // 0000
|
||||
param.put( MMIBAPSyncField.sndrcvEndHMS.name(), "2359"); // 2359
|
||||
param.put( MMIBAPSyncField.msgSndrID.name(), result.get(MMIBAPParserKey.AUTHORID));
|
||||
param.put( MMIBAPSyncField.rqstRecvReTralCnt.name(), 0);
|
||||
param.put( MMIBAPSyncField.rqstRecvReTralUseYn.name(), "0");
|
||||
param.put( MMIBAPSyncField.rqstRecvReTralIntvalTtm.name(),"0");
|
||||
param.put( MMIBAPSyncField.holdyPrcssDstcd.name(), "1");
|
||||
param.put( MMIBAPSyncField.startDlayNoday.name(), 0);
|
||||
param.put( MMIBAPSyncField.endDlayNoday.name(), 0);
|
||||
param.put( MMIBAPSyncField.rpttYn.name(), "0");
|
||||
param.put( MMIBAPSyncField.userid.name(), result.get(MMIBAPParserKey.AUTHORID));
|
||||
// param.put( MMIBAPSyncField.osidInstiDstcd.name(), result.get(MMIBAPParserKey.OSID_INSTI_SYS_ID).toString().substring(0,4));
|
||||
param.put( MMIBAPSyncField.osidInstiDstcd.name(), "POST"); //** 고정으로 셋팅
|
||||
|
||||
}catch(Exception e){
|
||||
throw new Exception("New info parsing error "+e.getMessage(),e);
|
||||
}finally{
|
||||
if (is != null){try{is.close();}catch(Exception e ){}}
|
||||
}
|
||||
return param;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static HashMap<String,String> getAttr(Element doc){
|
||||
if (doc == null) return new HashMap<String,String>();
|
||||
HashMap<String,String> map = new HashMap<String,String>();
|
||||
for(Object obj : doc.getAttributes()){
|
||||
if (obj instanceof Attribute){
|
||||
Attribute attr = (Attribute)obj;
|
||||
map.put(attr.getName(), attr.getValue());
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
public static InputStream StringToStream(String s){
|
||||
ByteArrayInputStream buffer =null;
|
||||
try {
|
||||
buffer = new ByteArrayInputStream(s.getBytes("UTF-8"));
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
return buffer;
|
||||
}
|
||||
|
||||
public static HashMap<String,Object> parseDelete(String data) throws Exception{
|
||||
HashMap<String,Object> result = new HashMap<String,Object>();
|
||||
HashMap<String,Object> param = new HashMap<String,Object>();
|
||||
InputStream is = null;
|
||||
try {
|
||||
is = StringToStream(data);
|
||||
SAXBuilder builder = new SAXBuilder();
|
||||
Document doc = builder.build(is);
|
||||
|
||||
Element delete = doc.getRootElement();
|
||||
|
||||
result.putAll(getAttr(doc.getRootElement()));
|
||||
result.putAll(getAttr(delete.getChild(COMMON_INFO)));
|
||||
result.putAll(getAttr(delete.getChild(SVC_INFO)));
|
||||
result.putAll(getAttr(delete.getChild(EAI_SVC_INFO)));
|
||||
result.putAll(getAttr(delete.getChild(OSID_INFO)));
|
||||
|
||||
// TSEAIBJ01 delete key 데이터 처리
|
||||
param.put( MMIBAPParserKey.MMI_INTF_ID, result.get(MMIBAPParserKey.MMI_INTF_ID));
|
||||
param.put( MMIBAPParserKey.INTF_ID, result.get(MMIBAPParserKey.INTF_ID));
|
||||
param.put( MMIBAPParserKey.VERSION, result.get(MMIBAPParserKey.VERSION));
|
||||
// param.put( MMIBAPSyncField.bjobBzwkDstcd.name(), result.get(MMIBAPParserKey.SYS_ID).toString().substring(0, 5));
|
||||
param.put( MMIBAPSyncField.bjobBzwkDstcd.name(), result.get(MMIBAPParserKey.SYS_ID).toString().substring(0, 5));
|
||||
param.put( MMIBAPSyncField.bjobMsgDsticName.name(), result.get(MMIBAPParserKey.OUTBIZCD));
|
||||
|
||||
// TSEAIBS01 delete key 데이터 처리
|
||||
param.put( MMIBAPSyncField.osidInstiDstcd.name(), result.get(MMIBAPParserKey.OSID_INSTI_SYS_ID).toString().substring(0,4));
|
||||
|
||||
}catch(Exception e){
|
||||
//e.printStackTrace();
|
||||
throw e;
|
||||
}finally{
|
||||
if (is != null){try{is.close();}catch(Exception e ){}}
|
||||
}
|
||||
|
||||
return param;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
package com.eactive.eai.rms.bap.manage.mmi;
|
||||
|
||||
public interface MMIBAPParserKey {
|
||||
|
||||
//interface 헤더
|
||||
public static String INTF_ID = "id";
|
||||
public static String MMI_INTF_ID = "mmi_if_id";
|
||||
public static String NAME = "name";
|
||||
public static String INFRA_CODE = "infracode";
|
||||
public static String INFRA_NAME = "infraname";
|
||||
public static String INTF_DESC = "interface_desc";
|
||||
public static String VERSION = "ver";
|
||||
public static String DEPLOY_ID = "deploy_id";
|
||||
|
||||
//공통정보
|
||||
public static String COMMON_INFO = "commoninfo";
|
||||
public static String APP_CD = "app_cd";
|
||||
public static String BZWK_DSTCD = "bzwk_dstcd";
|
||||
public static String INTERFACE_TYPE = "interface_type";
|
||||
public static String USER_NAME = "user_name";
|
||||
public static String USER_TELNO = "user_telno";
|
||||
public static String OSID_INSTI_NAME = "osid_insti_name";
|
||||
public static String OSID_INSTI_CD = "osid_insti_cd";
|
||||
public static String OSID_INSTI_USER_NAME = "osid_insti_user_name";
|
||||
public static String OSID_INSTI_TELNO = "osid_insti_telno";
|
||||
//내부환경정보
|
||||
public static String SVC_INFO = "svcinfo";
|
||||
public static String SYS_ID = "sys_id";
|
||||
public static String SVC_PATH = "svc_path";
|
||||
public static String SVC_FILE_NAME = "svc_file_name";
|
||||
public static String SVC_AFTER_SHELL_PATH = "svc_after_shell_path";
|
||||
public static String SVC_AFTER_SHELL_NAME = "svc_after_shell_name";
|
||||
public static String MOD_ID = "mod_id";
|
||||
public static String MOD_DT = "mod_dt";
|
||||
public static String MOD_TYPE = "mod_type";
|
||||
|
||||
//EAI환경정보
|
||||
public static String EAI_SVC_INFO = "eaisvcinfo";
|
||||
public static String EAI_FILE_NAME = "eai_file_name";
|
||||
public static String EAI_FILE_KOR_NAME = "eai_file_kor_name";
|
||||
public static String HEADER_LEN = "header_len";
|
||||
public static String RECORD_LEN = "record_len";
|
||||
public static String TRAILER_LEN = "trailer_len";
|
||||
public static String EAI_AFTER_SHELL_PATH = "eai_after_shell_path";
|
||||
public static String EAI_AFTER_SHELL_NAME = "eai_after_shell_name";
|
||||
public static String FILE_TRAN_SCHDR_CNDT = "file_tran_schdr_cndt";
|
||||
public static String FILE_TRAN_SCHDR_TIME = "file_tran_schdr_time";
|
||||
public static String NOSIGNAL_ALRAM_TIME = "nosignal_alram_time";
|
||||
|
||||
//대외기관 환경정보
|
||||
public static String OSID_INFO = "osidinfo";
|
||||
public static String OSID_INSTI_SYS_ID = "osid_insti_sys_id";
|
||||
public static String OSID_INSTI_SAVE_PATH = "osid_insti_save_path";
|
||||
public static String OSID_INSTI_FILE_NAME = "osid_insti_file_name";
|
||||
public static String OSID_INSTI_AFTER_SHELL_PATH = "osid_insti_after_shell_path";
|
||||
public static String OSID_INSTI_AFTER_SHELL_NAME = "osid_insti_after_shell_name";
|
||||
public static String INSTI_ID = "insti_id";
|
||||
public static String DESC = "desc";
|
||||
|
||||
|
||||
//** 일괄 파일송수신 레이아웃 매핑
|
||||
// public static String INTFID = "bjobMsgDstcd"; /* BATCH작업메시지구분코드 */
|
||||
// public static String INFTNAME = "bjobMsgDsticName"; /* BATCH작업메시지구분명 */
|
||||
// public static String OUTBIZCD = "bjobBzwkDstcd"; /* BATCH작업업무구분코드 */
|
||||
// public static String FILECODE = "bjobTranDstcdName"; /* BATCH작업거래구분코드명 */
|
||||
// public static String bjobTelgmHdrSize = "bjobTelgmRecSize"; /* BATCH작업전문헤더크기 */
|
||||
// public static String RECSIZE = "bjobTelgmRecSize"; /* BATCH작업전문레코드크기수 */
|
||||
// public static String bjobTelgmTrailSize = "bjobTelgmRecSize"; /* BATCH작업전문트레일러크기 */
|
||||
// public static String SNDSTSYN = "eAIFileSendUseYn"; /* EAI파일송신사용여부 */
|
||||
// public static String SNDSTRYN = "eAIFileRecvUseYn"; /* EAI파일수신사용여부 */
|
||||
// public static String msgprcssprity = "999"; /* 메시지처리우선순위 */
|
||||
// public static String SRCBZSYSTEMCD = "sysCd"; /* 송신시스템 */
|
||||
// public static String APPCD = "uapplCd"; /* 어플리케이션코드 */
|
||||
// public static String SRCFILENM = "sndrcvFileName"; /* 송수신파일명(송신파일명) */
|
||||
// public static String TGTFILENM = "sndrcvFileName"; /* 송수신파일명(수신파일명) */
|
||||
// public static String rcvfilepattern = ""; /* 수신파일패턴(은행업무에쓰임 _YYYYMMD, _YYYYMMDD_001) */
|
||||
// public static String SRCFILEPATH = "sndrcvfilepath"; /* 송수신파일경로 */
|
||||
// public static String AUTHORID3 = "thisMsgChrgIDs"; /* 당메시지담당자ID */
|
||||
// public static String recvnotiuseyn = "1"; /* 수신알림사용여부 */
|
||||
// public static String logCretnYn = "1"; /* 로그생성여부 */
|
||||
// public static String TRNSMSNCYCLE = "FILETRANSSCHE"; /* 전송주기 */
|
||||
// public static String thisMsgUseYn = "1"; /* 당메시지사용여부 */
|
||||
// public static String AUTHORID1 = "thisMsgRegsntID"; /* 당메시지등록자ID */
|
||||
// public static String AUTHORID2 = "thisMsgAmndrID"; /* 당메시지수정자ID */
|
||||
|
||||
//** 수신 파람 (EIMS 전문 레이아웃)
|
||||
public static String HEADER = "Header"; /* 헤더 */
|
||||
// public static String INTFID = "intfId"; /* BATCH작업메시지구분코드 */
|
||||
public static String INTFID = "infId"; /* BATCH작업메시지구분코드 */
|
||||
public static String INFTNAME = "inftName"; /* BATCH작업메시지구분명 */
|
||||
public static String OUTBIZCD = "outBizCd"; /* BATCH작업업무구분코드 */
|
||||
public static String FILECODE = "fileCode"; /* BATCH작업거래구분코드명 */
|
||||
public static String RECSIZE = "recSize"; /* BATCH작업전문레코드크기수 */
|
||||
public static String SNDST = "snDst"; /* EAI파일송신사용여부 */
|
||||
public static String SRCBZSYSTEMCD = "srcBzSystemCd"; /* 송신시스템 */
|
||||
public static String APPCD = "appCd"; /* 어플리케이션코드 */
|
||||
public static String SRCFILENM = "srcFileNm"; /* 송수신파일명(송신파일명) */
|
||||
public static String TGTFILENM = "tgtFileNm"; /* 송수신파일명(수신파일명) */
|
||||
public static String SRCFILEPATH = "srcFilePath"; /* 송수신파일경로 */
|
||||
public static String TRNSMSNCYCLE = "trnsmsnCycle"; /* 전송주기 */
|
||||
public static String AUTHORID = "authorId"; /* 당메시지등록자ID */
|
||||
|
||||
public static String INFDSTCD = "infDstCd"; /* 인터페이스 구분 */
|
||||
// public static String INFTDESC = "inftDesc"; /* 인터페이스 설명 */
|
||||
public static String INFTDESC = "infDesc"; /* 인터페이스 설명 */
|
||||
public static String RUNTYPE = "runType"; /* 기동유형 */
|
||||
public static String OSIDINSTICD = "osidInstiCd"; /* 대외기관코드 */
|
||||
public static String ETCDESC = "etcDesc"; /* 대외기관코드 */
|
||||
|
||||
public static String THISMSGCHRGIDS = "thisMsgChrgIDs"; /* 당메시지담당자ID */
|
||||
public static String SYSCD = "sysCd"; /* 송신시스템 */
|
||||
public static String BJOBMSGDSTCD = "bjobMsgDstcd"; /* 인터페이스ID */
|
||||
|
||||
}
|
||||
@@ -0,0 +1,692 @@
|
||||
package com.eactive.eai.rms.bap.manage.mmi;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.HashMap;
|
||||
|
||||
import javax.servlet.ServletInputStream;
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.jdom.Attribute;
|
||||
import org.jdom.Document;
|
||||
import org.jdom.Element;
|
||||
import org.jdom.input.SAXBuilder;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.servlet.View;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.common.util.NullControl;
|
||||
import com.eactive.eai.common.util.StringUtil;
|
||||
import com.eactive.eai.common.util.SystemUtil;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.context.MonitoringContext;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceContextHolder;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceType;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
|
||||
import com.eactive.eai.rms.common.interceptor.InterceptorSkipController;
|
||||
import com.eactive.eai.rms.common.logging.UserAccessLogger;
|
||||
import com.eactive.eai.rms.common.mmilog.MMILogDao;
|
||||
import com.eactive.eai.rms.onl.common.util.DateUtil;
|
||||
|
||||
@Controller
|
||||
public class MMIBAPSyncController extends BapBaseAnnotationController implements InterceptorSkipController {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(MMIBAPSyncController.class);
|
||||
|
||||
@Autowired
|
||||
@Qualifier("mmiBapSyncService")
|
||||
private MMIBAPSyncService service;
|
||||
|
||||
@Autowired
|
||||
private MonitoringContext monitoringContext;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("mmiLogDao")
|
||||
private MMILogDao mmiLogDao;
|
||||
|
||||
@RequestMapping(value= "/mmiBapSync.file",params = "cmd=delete", method=RequestMethod.POST)
|
||||
public View messageDelete(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
|
||||
String encoding = request.getHeader("encoding");
|
||||
if (encoding != null) {
|
||||
request.setCharacterEncoding(encoding);
|
||||
response.setCharacterEncoding(encoding);
|
||||
}
|
||||
|
||||
HashMap<String,Object> map = new HashMap<String,Object>();
|
||||
ServletInputStream sis = null;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
StringBuilder frame = new StringBuilder();
|
||||
|
||||
try {
|
||||
sis = request.getInputStream();
|
||||
String data = streamToString(sis,encoding);
|
||||
logger.info("### received XML : "+data);
|
||||
|
||||
map = MMIBAPParser.parseDelete(data);
|
||||
|
||||
service.delete(map);
|
||||
|
||||
//일괄 인터페이스 동기화
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.rule.dirInfo.RefreshAllJobCommand");
|
||||
if (!validate(agentUtilService.broadcast(command))) throw new Exception("일괄 인터페이스 동기화 오류");
|
||||
|
||||
sb.append(resultInterface(map.get(MMIBAPParserKey.MMI_INTF_ID).toString(), map.get(MMIBAPParserKey.VERSION).toString(), "SUCCESS", ""));
|
||||
} catch(Exception e){
|
||||
logger.error("MMIBAPSyncController error="+e.getMessage(),e);
|
||||
sb.append(resultInterfaceDelete(map.get(MMIBAPParserKey.MMI_INTF_ID).toString(), map.get(MMIBAPParserKey.INTF_ID).toString(), "FAIL",e.getMessage()));
|
||||
}
|
||||
|
||||
frame.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
|
||||
frame.append("<Deploy>");
|
||||
frame.append(sb.toString());
|
||||
frame.append("</Deploy>");
|
||||
|
||||
ServletOutputStream sos = null;
|
||||
try {
|
||||
sos = response.getOutputStream();
|
||||
sos.write(frame.toString().getBytes());
|
||||
} catch( Exception e ) {
|
||||
//취약점소스 수정 2020.08.24
|
||||
logger.error(" error", e);
|
||||
} finally {
|
||||
if( sos != null ) sos.close();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 통합인터페이스 시스템(EIMS)에서 일괄전송 파일송수신 전문 레이아웃에 대한 INSERT, UPDATE 요청
|
||||
* *
|
||||
* @param request
|
||||
* @param response
|
||||
* @param schema
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
// @RequestMapping(value= "/eimsbapcall.file", method=RequestMethod.POST)
|
||||
public View fileSndRevMessage(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
|
||||
UserAccessLogger.log(request, "메시지", "L", "cmd=Message");
|
||||
HashMap<String,Object> map = new HashMap<String,Object>();
|
||||
HashMap<String,Object> info = new HashMap<String,Object>();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
StringBuilder frame = new StringBuilder();
|
||||
String userId = "";
|
||||
String sysId = "";
|
||||
String fileName = "";
|
||||
String sndst = "";
|
||||
|
||||
String serverType = monitoringContext.getStringProperty(MonitoringContext.MMI_SYNC_BAP_SERVERTYPE, "BAP");
|
||||
DataSourceContextHolder.setDataSourceType(DataSourceTypeManager.getDataSourceType(serverType));
|
||||
|
||||
logger.debug("parseMessage content-Type="+request.getContentType());
|
||||
logger.debug("parseMessage content-Values="+request.getParameterMap().values());
|
||||
|
||||
HashMap<String,Object> mmiLogMap = new HashMap<String,Object>();
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
try{
|
||||
if (!SystemUtil.isDevServer()){
|
||||
throw new Exception("only support dev server ");
|
||||
}
|
||||
|
||||
// for (String key : request.getParameterMap().keySet()){
|
||||
// String [] datas= request.getParameterValues(key);
|
||||
// StringBuffer resultS = new StringBuffer();
|
||||
// for(String data : datas){
|
||||
// resultS.append(data);
|
||||
// }
|
||||
// buffer.append(resultS.toString()).append("\n");
|
||||
// map.put(key, resultS);
|
||||
// }
|
||||
// logger.info("### New received XML : "+map);
|
||||
//
|
||||
// if (key.startsWith("INTERFACE")){
|
||||
// buffer.append(resultS.toString()).append("\n");
|
||||
// }
|
||||
|
||||
for (String key : request.getParameterMap().keySet()){
|
||||
String [] datas= request.getParameterValues(key);
|
||||
StringBuffer resultS = new StringBuffer();
|
||||
for(String data : datas){
|
||||
resultS.append(data);
|
||||
}
|
||||
if (key.startsWith("INTERFACE")){
|
||||
buffer.append(resultS.toString()).append("\n");
|
||||
}
|
||||
|
||||
logger.info("New receive Data "+key+"="+resultS.toString());
|
||||
if(key.startsWith("INTERFACE")) {
|
||||
map.put(key, resultS.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for(String key : map.keySet()){
|
||||
if (key.startsWith("INTERFACE") ){
|
||||
info = MMIBAPParser.parseInfoNew(map.get(key).toString());
|
||||
}
|
||||
}
|
||||
|
||||
if (info == null){
|
||||
throw new Exception("인터페이스 정보가 존재하지 않습니다.");
|
||||
}
|
||||
|
||||
logger.info("[ORG0]New map-->" + map);
|
||||
logger.info("[ORG0]New info-->" + info);
|
||||
for(String key : info.keySet()){
|
||||
logger.info("[ORG]New info-->" + (key == null ? " " : key) + ":" + (key == null ? " " : info.get(key)));
|
||||
}
|
||||
|
||||
userId = (String)info.get(MMIBAPParserKey.THISMSGCHRGIDS); //당메시지담당자ID
|
||||
sysId = info.get(MMIBAPParserKey.SYSCD).toString(); //송신시스템
|
||||
|
||||
//*********************************************************
|
||||
//** 임시 우케국 시스템코드 동기화 후 아래 거 풀어줘야 함 2021.07.20 장권진
|
||||
//*********************************************************
|
||||
// List<Map<String, Object>> sysMapList = service.selectSysGbCd(sysId);
|
||||
// if ( sysMapList == null || sysMapList.size() != 1 )
|
||||
// throw new Exception("대외 시스템ID를 특정할 수 없습니다.");
|
||||
|
||||
// validate data type & size
|
||||
String checkresult = service.checkFieldLength(info);
|
||||
if (checkresult != null) throw new Exception(checkresult);
|
||||
|
||||
// Map<String, Object> sysMap = sysMapList.get(0);
|
||||
for(String key : info.keySet()){
|
||||
logger.info("New info-->" + (key == null ? " " : key) + ":" + (key == null ? " " : info.get(key)));
|
||||
}
|
||||
|
||||
// for(String key : sysMap.keySet()){
|
||||
// logger.info("New sysMap-->" + (key == null ? " " : key) + ":" + (key == null ? " " : sysMap.get(key)));
|
||||
// }
|
||||
|
||||
// String eaiFileRecvUseYn = (String)info.get(MMIBAPSyncField.eaiFileRecvUseYn.name());
|
||||
// if ( eaiFileRecvUseYn.equals("1") ){
|
||||
// String rmtNodeName = service.getNdmNodeBySysId(info.get(MMIBAPSyncField.rmtNodeName.name()).toString());
|
||||
// //System.out.println("info.get(MMIBAPSyncField.rmtNodeName.name()).toString()-->" + info.get(MMIBAPSyncField.rmtNodeName.name()).toString());
|
||||
// //System.out.println("rmtNodeName-->" + rmtNodeName);
|
||||
// info.put(MMIBAPSyncField.rmtNodeName.name(), rmtNodeName );
|
||||
// }else{
|
||||
// info.put(MMIBAPSyncField.rmtNodeName.name(), "" );
|
||||
// }
|
||||
|
||||
//** BjobBzwkDstcd, OsidInstiDstcd
|
||||
// info.put(MMIBAPSyncField.bjobBzwkDstcd.name(), sysMap.get("BJOBBZWKDSTCD"));
|
||||
// info.put(MMIBAPSyncField.osidInstiDstcd.name(), sysMap.get("OSIDINSTIDSTCD")); //**대외기관구분코드 (사용안함)
|
||||
|
||||
// service.merge(info);
|
||||
|
||||
logger.info("New sysId-->" + sysId );
|
||||
|
||||
//*********************************************************
|
||||
//** 일괄 동기화 작업 보류함 --- 확인 후 조치 해야 함 2021.07.20 장권진
|
||||
//** IFBPKG.TSEAIBA07 테이블에 아무정보 없음 (참고사항)
|
||||
//*********************************************************
|
||||
// logger.info("New sysId2-->" + sysId.substring(4, 5) );
|
||||
// if ( sysId.substring(4, 5).equals("E")){
|
||||
//일괄 인터페이스 동기화
|
||||
// CommonCommand command = new CommonCommand("com.eactive.eai.agent.rule.dirInfo.RefreshAllJobCommand");
|
||||
// if (!validate(agentUtilService.broadcast(command))) throw new Exception("일괄 인터페이스 동기화 오류");
|
||||
|
||||
// logger.info("New 일괄 인터페이스 동기화-->" + sysId);
|
||||
// }else{
|
||||
// logger.info("New 일괄 인터페이스 동기화 안함 -->" + sysId);
|
||||
// }
|
||||
|
||||
sb.append(resultInterface(info.get(MMIBAPParserKey.BJOBMSGDSTCD).toString(), "V0.1", "SUCCESS", "일괄전송 배포 성공하였습니다."));
|
||||
} catch(Exception e){
|
||||
logger.error("MMIBAPSyncController error="+e.getMessage(),e);
|
||||
sb.append(resultInterfaceDelete(info.get(MMIBAPParserKey.BJOBMSGDSTCD).toString(), "V0.1", "FAIL",e.getMessage()));
|
||||
} finally {
|
||||
//
|
||||
}
|
||||
|
||||
frame.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
|
||||
frame.append("<Deploy>");
|
||||
frame.append(sb.toString());
|
||||
frame.append("</Deploy>");
|
||||
|
||||
//MMI Log data
|
||||
String schemaId = "";
|
||||
DataSourceType dt = DataSourceTypeManager.getDataSourceType(DataSourceTypeManager.MONITORING);
|
||||
|
||||
if(dt != null){//취약점소스 수정 2020.08.25
|
||||
DataSourceContextHolder.setDataSourceType(dt);
|
||||
schemaId =DataSourceTypeManager.getDataSourceType(DataSourceTypeManager.MONITORING).getSchema();
|
||||
}else{
|
||||
logger.error("DataSourceType is null");
|
||||
return null;
|
||||
}
|
||||
|
||||
mmiLogMap.put("schemaId" , schemaId);
|
||||
mmiLogMap.put("msgDpstHMS" , DateUtil.getDateTimeMilliSecound());
|
||||
mmiLogMap.put("eaiSvcName" , NullControl.addSpace(sysId + "_" + fileName));
|
||||
mmiLogMap.put("eaiSevrDstcd" , "0");
|
||||
mmiLogMap.put("cnvsnName" , " " );
|
||||
mmiLogMap.put("loutName" , " " );
|
||||
mmiLogMap.put("reqDstcd" , NullControl.addSpace(buffer.toString()));
|
||||
mmiLogMap.put("resDstcd" , NullControl.addSpace(frame.toString()));
|
||||
mmiLogMap.put("interfaceId" , NullControl.addSpace(info.get(MMIBAPParserKey.BJOBMSGDSTCD).toString() ));
|
||||
mmiLogMap.put("deployId" , NullControl.addSpace(userId));
|
||||
|
||||
try{
|
||||
mmiLogDao.insert(mmiLogMap);
|
||||
}catch(Exception e){
|
||||
logger.error("db insert error : " + mmiLogMap.toString(),e);
|
||||
}
|
||||
|
||||
ServletOutputStream sos = null;
|
||||
try {
|
||||
sos = response.getOutputStream();
|
||||
sos.write(frame.toString().getBytes());
|
||||
} catch( Exception e ) {
|
||||
//취약점소스 수정 2020.08.24
|
||||
logger.error(" error", e);
|
||||
} finally {
|
||||
if( sos != null ) sos.close();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
private boolean validate(HashMap<String,Object> map ){
|
||||
for(String key : map.keySet()){
|
||||
Object o = map.get(key);
|
||||
if (o instanceof String){
|
||||
if("sucess".equals((String)o)){
|
||||
;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private String resultInterface(String mmiIfId, String ver, String returnCode, String returnMessage){
|
||||
return "<Result> mmi_if_id=\""+mmiIfId+"\" ver=\""+ver+"\" return_code=\""+returnCode+"\" return_message=\""+returnMessage+"\" />";
|
||||
}
|
||||
private String resultInterfaceDelete(String mmiIfId, String id, String returnCode, String returnMessage){
|
||||
return "<Interface mmi_if_id=\""+mmiIfId+"\" id=\""+id+"\" return_code=\""+returnCode+"\" return_message=\""+returnMessage+"\" />";
|
||||
}
|
||||
|
||||
private static String streamToString(InputStream is,String encoding) throws UnsupportedEncodingException{
|
||||
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
|
||||
int r;
|
||||
byte[] data = new byte[1024];
|
||||
try {
|
||||
while((r = is.read(data)) != -1){
|
||||
buffer.write(data,0,r);
|
||||
|
||||
}
|
||||
buffer.flush();
|
||||
} catch (IOException e) {
|
||||
//e.printStackTrace();
|
||||
return "";
|
||||
}
|
||||
String s = new String(buffer.toByteArray(),encoding);
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 통합인터페이스 시스템(EIMS)에서 일괄전송 파일송수신 인터페이스에 대해 BJ10 테이블에 저장
|
||||
* *
|
||||
* @param request
|
||||
* @param response
|
||||
* @param schema
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/eimsbapcall.file", method=RequestMethod.POST)
|
||||
public View deployBapInterface(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
|
||||
UserAccessLogger.log(request, "메시지", "L", "cmd=Message");
|
||||
String intfId = "";
|
||||
|
||||
String serverType = monitoringContext.getStringProperty(MonitoringContext.MMI_SYNC_BAP_SERVERTYPE, "BAP");
|
||||
DataSourceContextHolder.setDataSourceType(DataSourceTypeManager.getDataSourceType(serverType));
|
||||
|
||||
logger.debug("parseMessage content-Type="+request.getContentType());
|
||||
logger.debug("parseMessage content-Values="+request.getParameterMap().values());
|
||||
|
||||
String resultBody = "";
|
||||
try {
|
||||
if (!SystemUtil.isDevServer()) {
|
||||
logger.error("개발서버가 아니여서 배포처리 안함.");
|
||||
resultBody = resultInterface("False", "배포 요청을 받은 환경이 개발서버가 아님.");
|
||||
} else {
|
||||
StringBuffer rcvXml = new StringBuffer();
|
||||
for (String key : request.getParameterMap().keySet()) {
|
||||
if (key.startsWith("INTERFACE")) {
|
||||
String[] datas = request.getParameterValues(key);
|
||||
for (String data : datas) {
|
||||
rcvXml.append(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//ORG Start
|
||||
BapDeploy bapDeploy = parseDeployXml(rcvXml.toString());
|
||||
//ORG End
|
||||
|
||||
//HD추가 Start
|
||||
// String tmpRcvXml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><Interface><Header appCd=\"ADA\" authorId=\"admin\" etcDesc=\"aaa\" fileCode=\"SSSS0011\" infDesc=\"bbb\" infDstCd=\"OUT\" infId=\"XAIBFEP90010035\" inftName=\"cccc\" osidInstiCd=\"01001\" outBizCd=\"03031BQ1\" recSize=\"100\" runType=\"E\" snDst=\"S\" srcBzSystemCd=\"AIB\" srcFileNm=\"*.*\" srcFilePath=\"/test2/file/\" tgtFileNm=\"aaa.txt\" trnsmsnCycle=\"ddd\"/></Interface>";
|
||||
// BapDeploy bapDeploy = parseDeployXml(tmpRcvXml);
|
||||
//HD추가 End
|
||||
|
||||
bapDeploy.setSchemaId(DataSourceContextHolder.getDataSourceType().getSchema());
|
||||
bapDeploy.setCreateYmd(DateUtil.getDateTime());
|
||||
intfId = bapDeploy.getInfId();
|
||||
// validate data type & size
|
||||
service.saveBapDeploy(bapDeploy); //EIMS 전달데이타 저장
|
||||
service.mergeData(bapDeploy);
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.rule.dirInfo.RefreshAllJobCommand");
|
||||
if (!validate(agentUtilService.broadcast(command))) throw new Exception("일괄 인터페이스 동기화 오류");
|
||||
|
||||
resultBody = resultInterface("True", "일괄전송 배포 성공하였습니다.");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("배포 처리 실패=" + e.getMessage(), e);
|
||||
resultBody = resultInterface("False", e.getMessage());
|
||||
}
|
||||
|
||||
StringBuilder frame = new StringBuilder();
|
||||
frame.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");
|
||||
frame.append("<Results sysInfId=\""+intfId+"\" ver=\"1.0\">");
|
||||
frame.append(resultBody.toString());
|
||||
frame.append("</Results>");
|
||||
logger.debug("result XML="+frame.toString());
|
||||
|
||||
ServletOutputStream sos = null;
|
||||
try {
|
||||
sos = response.getOutputStream();
|
||||
sos.write(frame.toString().getBytes("UTF-8"));
|
||||
} catch( Exception e ) {
|
||||
logger.error("배포 응답 송신 실패", e);
|
||||
} finally {
|
||||
if( sos != null ) sos.close();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private String resultInterface(String returnCode, String returnMessage){
|
||||
return "<Result>"+returnCode+"</Result><ResultMessage>"+returnMessage+"</ResultMessage>";
|
||||
}
|
||||
|
||||
public static class BapDeploy {
|
||||
String appCd = "";
|
||||
String authorId = "";
|
||||
String etcDesc = "";
|
||||
String fileCode = "";
|
||||
String infDesc = "";
|
||||
String infDstCd = "";
|
||||
String infId = "";
|
||||
String inftName = "";
|
||||
String osidInstiCd = "";
|
||||
String outBizCd = "";
|
||||
String recSize = "";
|
||||
String runType = "";
|
||||
String snDst = "";
|
||||
String srcBzSystemCd = "";
|
||||
String srcFileNm = "";
|
||||
String srcFilePath = "";
|
||||
String tgtFileNm = "";
|
||||
String trnsmsnCycle = "";
|
||||
String createBy = "";
|
||||
String createYmd = "";
|
||||
String schemaId = "";
|
||||
String bzwkDstCd = "";
|
||||
String bjobMsgDstcd = "";
|
||||
String fileSendUseYN = "";
|
||||
String fileRecvUseYN = "";
|
||||
String encYN ="N";
|
||||
|
||||
public String getEncYN() {
|
||||
return encYN;
|
||||
}
|
||||
public void setEncYN(String encYN) {
|
||||
this.encYN = encYN;
|
||||
}
|
||||
public String getAppCd() {
|
||||
return appCd;
|
||||
}
|
||||
public void setAppCd(String appCd) {
|
||||
this.appCd = appCd;
|
||||
}
|
||||
public String getAuthorId() {
|
||||
return authorId;
|
||||
}
|
||||
public void setAuthorId(String authorId) {
|
||||
this.authorId = authorId;
|
||||
}
|
||||
public String getEtcDesc() {
|
||||
return etcDesc;
|
||||
}
|
||||
public void setEtcDesc(String etcDesc) {
|
||||
this.etcDesc = etcDesc;
|
||||
}
|
||||
public String getFileCode() {
|
||||
return fileCode;
|
||||
}
|
||||
public void setFileCode(String fileCode) {
|
||||
this.fileCode = fileCode;
|
||||
}
|
||||
public String getInfDesc() {
|
||||
return infDesc;
|
||||
}
|
||||
public void setInfDesc(String infDesc) {
|
||||
this.infDesc = infDesc;
|
||||
}
|
||||
public String getInfDstCd() {
|
||||
return infDstCd;
|
||||
}
|
||||
public void setInfDstCd(String infDstCd) {
|
||||
this.infDstCd = infDstCd;
|
||||
}
|
||||
public String getInfId() {
|
||||
return infId;
|
||||
}
|
||||
public void setInfId(String infId) {
|
||||
this.infId = infId;
|
||||
}
|
||||
public String getInftName() {
|
||||
return inftName;
|
||||
}
|
||||
public void setInftName(String inftName) {
|
||||
this.inftName = inftName;
|
||||
}
|
||||
public String getOsidInstiCd() {
|
||||
return osidInstiCd;
|
||||
}
|
||||
public void setOsidInstiCd(String osidInstiCd) {
|
||||
this.osidInstiCd = osidInstiCd;
|
||||
}
|
||||
public String getOutBizCd() {
|
||||
return outBizCd;
|
||||
}
|
||||
public void setOutBizCd(String outBizCd) {
|
||||
this.outBizCd = outBizCd;
|
||||
}
|
||||
public String getRecSize() {
|
||||
return recSize;
|
||||
}
|
||||
public void setRecSize(String recSize) {
|
||||
this.recSize = recSize;
|
||||
}
|
||||
public String getRunType() {
|
||||
return runType;
|
||||
}
|
||||
public void setRunType(String runType) {
|
||||
this.runType = runType;
|
||||
}
|
||||
public String getSnDst() {
|
||||
return snDst;
|
||||
}
|
||||
public void setSnDst(String snDst) {
|
||||
this.snDst = snDst;
|
||||
}
|
||||
public String getSrcBzSystemCd() {
|
||||
return srcBzSystemCd;
|
||||
}
|
||||
public void setSrcBzSystemCd(String srcBzSystemCd) {
|
||||
this.srcBzSystemCd = srcBzSystemCd;
|
||||
}
|
||||
public String getSrcFileNm() {
|
||||
return srcFileNm;
|
||||
}
|
||||
public void setSrcFileNm(String srcFileNm) {
|
||||
this.srcFileNm = srcFileNm;
|
||||
}
|
||||
public String getSrcFilePath() {
|
||||
return srcFilePath;
|
||||
}
|
||||
public void setSrcFilePath(String srcFilePath) {
|
||||
this.srcFilePath = srcFilePath;
|
||||
}
|
||||
public String getTgtFileNm() {
|
||||
return tgtFileNm;
|
||||
}
|
||||
public void setTgtFileNm(String tgtFileNm) {
|
||||
this.tgtFileNm = tgtFileNm;
|
||||
}
|
||||
public String getTrnsmsnCycle() {
|
||||
return trnsmsnCycle;
|
||||
}
|
||||
public void setTrnsmsnCycle(String trnsmsnCycle) {
|
||||
this.trnsmsnCycle = trnsmsnCycle;
|
||||
}
|
||||
public String getCreateBy() {
|
||||
return createBy;
|
||||
}
|
||||
public void setCreateBy(String createBy) {
|
||||
this.createBy = createBy;
|
||||
}
|
||||
public String getCreateYmd() {
|
||||
return createYmd;
|
||||
}
|
||||
public void setCreateYmd(String createYmd) {
|
||||
this.createYmd = createYmd;
|
||||
}
|
||||
public String getSchemaId() {
|
||||
return schemaId;
|
||||
}
|
||||
public void setSchemaId(String schemaId) {
|
||||
this.schemaId = schemaId;
|
||||
}
|
||||
|
||||
public String getBjobMsgDstcd() {
|
||||
return bjobMsgDstcd;
|
||||
}
|
||||
public void setBjobMsgDstcd(String bjobMsgDstcd) {
|
||||
this.bjobMsgDstcd = bjobMsgDstcd;
|
||||
}
|
||||
|
||||
public String getBzwkDstCd() {
|
||||
return bzwkDstCd;
|
||||
}
|
||||
public void setBzwkDstCd(String bzwkDstCd) {
|
||||
this.bzwkDstCd = bzwkDstCd;
|
||||
}
|
||||
|
||||
public String getFileSendUseYN() {
|
||||
return fileSendUseYN;
|
||||
}
|
||||
public void setFileSendUseYN(String fileSendUseYN) {
|
||||
this.fileSendUseYN = fileSendUseYN;
|
||||
}
|
||||
|
||||
public String getFileRecvUseYN() {
|
||||
return fileRecvUseYN;
|
||||
}
|
||||
public void setfileRecvUseYN(String fileRecvUseYN) {
|
||||
this.fileRecvUseYN = fileRecvUseYN;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "BapDeploy [appCd=" + appCd + ", authorId=" + authorId + ", encYn=" + encYN + ", etcDesc=" + etcDesc + ", fileCode="
|
||||
+ fileCode + ", infDesc=" + infDesc + ", infDstCd=" + infDstCd + ", infId=" + infId + ", inftName="
|
||||
+ inftName + ", osidInstiCd=" + osidInstiCd + ", outBizCd=" + outBizCd + ", recSize=" + recSize
|
||||
+ ", runType=" + runType + ", snDst=" + snDst + ", srcBzSystemCd=" + srcBzSystemCd + ", srcFileNm="
|
||||
+ srcFileNm + ", srcFilePath=" + srcFilePath + ", tgtFileNm=" + tgtFileNm + ", trnsmsnCycle="
|
||||
+ trnsmsnCycle + ", createBy=" + createBy + ", createYmd=" + createYmd + ", schemaId=" + schemaId
|
||||
+ ", bzwkDstCd=" + bzwkDstCd + ", bjobMsgDstcd=" + bjobMsgDstcd + ", fileSendUseYN=" + fileSendUseYN
|
||||
+ ", fileRecvUseYN=" + fileRecvUseYN + "]";
|
||||
}
|
||||
}
|
||||
|
||||
public static BapDeploy parseDeployXml(String data) throws Exception {
|
||||
BapDeploy bapDeploy = new BapDeploy();
|
||||
HashMap<String, String> result = new HashMap<>();
|
||||
InputStream is = null;
|
||||
try {
|
||||
is = new ByteArrayInputStream(data.getBytes("UTF-8"));
|
||||
SAXBuilder builder = new SAXBuilder();
|
||||
Document doc = builder.build(is);
|
||||
|
||||
Element inter = doc.getRootElement();
|
||||
|
||||
result.putAll(getAttr(doc.getRootElement()));
|
||||
result.putAll(getAttr(inter.getChild("Header")));
|
||||
|
||||
bapDeploy.setAppCd(result.get("appCd"));
|
||||
bapDeploy.setAuthorId(result.get("authorId"));
|
||||
bapDeploy.setEncYN(StringUtil.nvlTrim(result.get("encYn"), "N"));
|
||||
bapDeploy.setEtcDesc(result.get("etcDesc"));
|
||||
bapDeploy.setFileCode(result.get("fileCode"));
|
||||
bapDeploy.setInfDesc(result.get("infDesc"));
|
||||
bapDeploy.setInfDstCd(result.get("infDstCd"));
|
||||
bapDeploy.setInfId(result.get("infId"));
|
||||
bapDeploy.setInftName(result.get("inftName"));
|
||||
bapDeploy.setOsidInstiCd(result.get("osidInstiCd"));
|
||||
bapDeploy.setOutBizCd(result.get("outBizCd"));
|
||||
bapDeploy.setRecSize(result.get("recSize"));
|
||||
bapDeploy.setRunType(result.get("runType"));
|
||||
bapDeploy.setSnDst(result.get("snDst"));
|
||||
bapDeploy.setSrcBzSystemCd(result.get("srcBzSystemCd"));
|
||||
bapDeploy.setSrcFileNm(result.get("srcFileNm"));
|
||||
bapDeploy.setSrcFilePath(result.get("srcFilePath"));
|
||||
bapDeploy.setTgtFileNm(result.get("tgtFileNm"));
|
||||
bapDeploy.setTrnsmsnCycle(result.get("trnsmsnCycle"));
|
||||
|
||||
} catch (Exception e) {
|
||||
throw new Exception("배포 요청 XML parsing error " + e.getMessage(), e);
|
||||
} finally {
|
||||
if (is != null) {
|
||||
try {
|
||||
is.close();
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
return bapDeploy;
|
||||
}
|
||||
|
||||
public static HashMap<String,String> getAttr(Element doc){
|
||||
if (doc == null) return new HashMap<String,String>();
|
||||
HashMap<String,String> map = new HashMap<String,String>();
|
||||
for(Object obj : doc.getAttributes()){
|
||||
if (obj instanceof Attribute){
|
||||
Attribute attr = (Attribute)obj;
|
||||
map.put(attr.getName(), attr.getValue());
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package com.eactive.eai.rms.bap.manage.mmi;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.bap.manage.mmi.MMIBAPSyncController.BapDeploy;
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("mmiBapSyncDao")
|
||||
@SuppressWarnings({"deprecation"})
|
||||
public class MMIBAPSyncDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public void insertBJ01(BapDeploy bapDeploy) throws Exception{
|
||||
this.template.insert("mmiBapSync.insertBJ01", bapDeploy);
|
||||
}
|
||||
|
||||
public String generatePKBJ01(BapDeploy bapDeploy ) throws Exception{
|
||||
return (String)this.template.queryForObject("mmiBapSync.generatePKBJ01", bapDeploy);
|
||||
}
|
||||
|
||||
public int selectCountBJ01(BapDeploy bapDeploy) throws Exception{
|
||||
return (Integer)this.template.queryForObject("mmiBapSync.selectCountBJ01", bapDeploy);
|
||||
}
|
||||
|
||||
public String selectBzwkDstCd(BapDeploy bapDeploy) throws Exception{
|
||||
return (String)this.template.queryForObject("mmiBapSync.selectBzwkDstCd", bapDeploy);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Map<String, Object>> selectSysGbCd(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("mmiBapSync.selectSysGbCd", param);
|
||||
}
|
||||
|
||||
public String getNdmNodeBySysId(HashMap<String, Object> paramMap ) throws Exception{
|
||||
return (String)this.template.queryForObject("mmiBapSync.selectNdmNodeBySysId", paramMap);
|
||||
}
|
||||
|
||||
public String selectPKBJ01(BapDeploy bapDeploy ) throws Exception{
|
||||
return (String)this.template.queryForObject("mmiBapSync.selectPKBJ01", bapDeploy);
|
||||
}
|
||||
|
||||
public void updateBJ01(BapDeploy bapDeploy) throws Exception{
|
||||
this.template.update("mmiBapSync.updateBJ01", bapDeploy);
|
||||
}
|
||||
|
||||
public void insertBS01(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("mmiBapSync.insertBS01", paramMap);
|
||||
}
|
||||
|
||||
public String generatePKBS01(HashMap<String, Object> paramMap ) throws Exception{
|
||||
return (String)this.template.queryForObject("mmiBapSync.generatePKBS01", paramMap);
|
||||
}
|
||||
|
||||
public int selectCountBS01(HashMap<String, Object> paramMap ) throws Exception{
|
||||
return (Integer)this.template.queryForObject("mmiBapSync.selectCountBS01", paramMap);
|
||||
}
|
||||
|
||||
public String selectPKBS01(HashMap<String, Object> paramMap ) throws Exception{
|
||||
return (String)this.template.queryForObject("mmiBapSync.selectPKBS01", paramMap);
|
||||
}
|
||||
|
||||
public void updateBS01(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("mmiBapSync.updateBS01", paramMap);
|
||||
}
|
||||
|
||||
public void deleteBJ01(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("mmiBapSync.deleteBJ01", paramMap);
|
||||
}
|
||||
|
||||
public void deleteBS01(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("mmiBapSync.deleteBS01", paramMap);
|
||||
}
|
||||
|
||||
// added by cskim
|
||||
public void insertBapDeploy(BapDeploy bapDeploy) throws Exception {
|
||||
this.template.insert("mmiBapSync.insertBapDeploy", bapDeploy);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.eactive.eai.rms.bap.manage.mmi;
|
||||
|
||||
public enum MMIBAPSyncField {
|
||||
|
||||
bjobMsgDstcd ("String", 15, "BATCH작업메시지구분코드내용", true),
|
||||
bjobMsgDsticName ("String", 400, "BATCH작업메시지구분명", true),
|
||||
bjobBzwkDstcd ("String", 8, "BATCH작업업무구분코드내용", true),
|
||||
bjobTranDstcdName ("String", 20, "BATCH작업거래구분명", true),
|
||||
bjobTelgmHdrSize ("Integer", 0, "BATCH작업전문헤더크기값", true),
|
||||
bjobTelgmRecSize ("Integer", 0, "BATCH작업전문레코드크기수", true),
|
||||
bjobTelgmTrailSize ("Integer", 0, "BATCH작업전문트레일러크기값", true),
|
||||
eaiFileSendUseYn ("String", 1, "EAI파일송신사용여부", true),
|
||||
eaiFileRecvUseYn ("String", 1, "EAI파일수신사용여부", true),
|
||||
msgPrcssPrity ("Integer", 0, "메시지처리우선순위값", true),
|
||||
sysCd ("String", 3, "송신시스템", true),
|
||||
uapplCd ("String", 3, "어플리케이션코드내용", true),
|
||||
sndRcvFileName ("String", 100, "송수신파일명", true),
|
||||
rcvFilePattern ("String", 100, "송수신파일명", true),
|
||||
sndrcvfilepath ("String", 200, "송수신파일경로", true),
|
||||
thisMsgChrgIDs ("String", 100, "당메시지담당자ID명", true),
|
||||
recvnotiuseYn ("String", 1, "수신알림사용여부", true),
|
||||
logCretnYn ("String", 1, "로그생성정보명", true),
|
||||
fileTransSche ("String", 50, "파일송수신스케줄", true),
|
||||
thisMsgUseYn ("String", 1, "당메시지사용여부", true),
|
||||
thisMsgRegsntID ("String", 40, "당메시지등록자ID", true),
|
||||
thisMsgAmndrID ("String", 40, "당메시지수정자ID", true),
|
||||
|
||||
rmtNodeName ("String", 20, "원격노드명", false),
|
||||
sndScriptName ("String", 100, "전송스크립트내용", false),
|
||||
userid ("String", 40, "사용자ID", false),
|
||||
groupCoCd ("String", 1, "그룹사구분코드내용", false),
|
||||
bzwkRsEmpName ("String", 60, "업무담당자", false),
|
||||
bzwkRsEmpTelno ("String", 50, "업무담당자전화번호", false),
|
||||
osidInstiCode ("String", 20, "대외기관코드", false),
|
||||
osidInstiBzwkRsEmpName ("String", 60, "대외기관담당자", false),
|
||||
osidInstiTelno ("String", 50, "대외기관담당자전화번호", false),
|
||||
fileTransCond ("String", 10, "파일송수신조건", false),
|
||||
fileTransAlam ("String", 10, "파일송수신알람", false),
|
||||
bjobMsgScheId ("String", 30, "BATCH작업메시지일정ID명", false),
|
||||
osidInstiDstcd ("String", 4, "대외기관구분코드내용", false),
|
||||
|
||||
|
||||
bjobPtrnDstcd ("String", 2, "BATCH작업유형구분코드내용", false),
|
||||
sndrcvStartHMS ("String", 17, "송수신시작시각", false),
|
||||
sndrcvEndHMS ("String", 17, "송수신종료시각", false),
|
||||
msgSndrID ("String", 40, "메시지송신자ID명", false),
|
||||
rqstRecvReTralCnt ("Integer", 0, "요구수신재시도수", false),
|
||||
rqstRecvReTralUseYn ("String", 1, "요구수신재시도사용여부", false),
|
||||
rqstRecvReTralIntvalTtm ("Integer", 0, "요구수신재시도간격시간", false),
|
||||
holdyPrcssDstcd ("String", 1, "휴일처리구분코드내용", false),
|
||||
startDlayNoday ("Integer", 0, "시작지연일수", false),
|
||||
endDlayNoday ("Integer", 0, "종료지연일수", false),
|
||||
rpttYn ("String", 1, "반복여부", false);
|
||||
|
||||
private String fieldType; // field 유형
|
||||
private int fieldLength; // field 길이
|
||||
private String fieldDesc; // field 설명
|
||||
private boolean fieldUseYn; // field 사용여부
|
||||
|
||||
MMIBAPSyncField(String fieldType, int fieldLength, String fieldDesc, boolean fieldUseYn) {
|
||||
this.fieldType = fieldType;
|
||||
this.fieldLength = fieldLength;
|
||||
this.fieldDesc = fieldDesc;
|
||||
this.fieldUseYn = fieldUseYn;
|
||||
}
|
||||
|
||||
public String getFieldType() {
|
||||
return fieldType;
|
||||
}
|
||||
|
||||
public int getFieldLength() {
|
||||
return fieldLength;
|
||||
}
|
||||
|
||||
public String getFieldDesc() {
|
||||
return fieldDesc;
|
||||
}
|
||||
|
||||
public Boolean getFieldUseYn() {
|
||||
return fieldUseYn;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
package com.eactive.eai.rms.bap.manage.mmi;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.eactive.eai.rms.bap.manage.mmi.MMIBAPSyncController.BapDeploy;
|
||||
import com.eactive.eai.rms.common.base.BaseService;
|
||||
|
||||
@Service("mmiBapSyncService")
|
||||
public class MMIBAPSyncService extends BaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("mmiBapSyncDao")
|
||||
private MMIBAPSyncDao dao;
|
||||
|
||||
private static final Logger logger = Logger.getLogger(MMIBAPSyncService.class);
|
||||
|
||||
//일괄전송 BJ01 및 본 테이블 반영
|
||||
public void mergeData(BapDeploy bapDeploy) throws Exception {
|
||||
|
||||
String bj01pkgen = "";
|
||||
//TODO hd 스케줄러 등록 고려
|
||||
String bs01pkgen = "";
|
||||
logger.info( "BF BJ01 I/U" + bapDeploy);
|
||||
// TSEAIBJ01 데이터 처리
|
||||
int selCountBJ01 = dao.selectCountBJ01(bapDeploy);
|
||||
|
||||
//일괄전송 고유 업무 코드 구하기.
|
||||
String bzwkDstCd = "";
|
||||
try {
|
||||
bzwkDstCd = dao.selectBzwkDstCd(bapDeploy);
|
||||
} catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
logger.info("bzwkDstCd : "+ bzwkDstCd);
|
||||
bapDeploy.setBzwkDstCd(bzwkDstCd);
|
||||
String sndst = bapDeploy.getSnDst();
|
||||
String fileSendUseYN = "0";
|
||||
String fileRecvUseYN = "0";
|
||||
if(sndst.equals("S")) { //송신
|
||||
fileSendUseYN = "1";
|
||||
} else if(sndst.equals("R")) { // 수신
|
||||
fileRecvUseYN = "1";
|
||||
} else if(sndst.equals("A")) { // 송수신
|
||||
fileSendUseYN = "1";
|
||||
fileRecvUseYN = "1";
|
||||
} else { // 잘못된 코드
|
||||
throw new Exception("잘못된 코드입니다");
|
||||
}
|
||||
|
||||
bapDeploy.setFileSendUseYN(fileSendUseYN);
|
||||
bapDeploy.setfileRecvUseYN(fileRecvUseYN);
|
||||
logger.info(">>>>>>>>>>>bapDeploy : "+ bapDeploy.toString());
|
||||
if (selCountBJ01 == 0) {
|
||||
logger.info("bapDeploy : "+ bapDeploy.toString());
|
||||
bj01pkgen = dao.generatePKBJ01(bapDeploy);
|
||||
logger.info("bj01pkgen : "+ bj01pkgen);
|
||||
bapDeploy.setBjobMsgDstcd(bj01pkgen);
|
||||
dao.insertBJ01(bapDeploy);
|
||||
logger.info("insert BAP interface into TSEAIBJ01 : "+ bapDeploy);
|
||||
} else {
|
||||
bj01pkgen = dao.selectPKBJ01(bapDeploy);
|
||||
logger.info("else bj01pkgen : "+ bj01pkgen);
|
||||
bapDeploy.setBjobMsgDstcd(bj01pkgen);
|
||||
dao.updateBJ01(bapDeploy);
|
||||
logger.info("update BAP interface of TSEAIBJ01 : "+ bapDeploy);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
//int selCountBJ01 = dao.selectCountBJ01(paramMap);
|
||||
|
||||
// if (selCountBJ01 > 0) {
|
||||
// //paramMap.put( MMIBAPSyncField.bjobMsgDstcd.name(), dao.selectPKBJ01(paramMap));
|
||||
// dao.deleteBJ01(paramMap);
|
||||
// logger.info("delete BAP interface in TSEAIBJ01 : "+ paramMap);
|
||||
// } else {
|
||||
// logger.error("Fail BAP interface to delete in TSEAIBJ01 : "+ paramMap);
|
||||
// return;
|
||||
// }
|
||||
|
||||
int selCountBS01 = dao.selectCountBS01(paramMap);
|
||||
|
||||
if (selCountBS01 > 0) {
|
||||
paramMap.put( MMIBAPSyncField.bjobMsgScheId.name(), dao.selectPKBS01(paramMap));
|
||||
dao.deleteBS01(paramMap);
|
||||
logger.info("delete BAP interface in TSEAIBS01 : "+ paramMap);
|
||||
} else {
|
||||
logger.error("Fail BAP interface to delete in TSEAIBS01 : "+ paramMap);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public String checkFieldLength(HashMap<String,Object> paramap) throws Exception
|
||||
{
|
||||
String result = null;
|
||||
for (MMIBAPSyncField field : MMIBAPSyncField.values())
|
||||
{
|
||||
if (!field.getFieldType().toUpperCase().equals("STRING") || !field.getFieldUseYn()) continue;
|
||||
if (paramap.get(field.name()) == null) {
|
||||
result = "column validation fail - [" + field.name() + "] column is not exist";
|
||||
break;
|
||||
}
|
||||
if (paramap.get(field.name()).toString().length() > field.getFieldLength()) {
|
||||
result = "column validation fail - [" + field.name() + "] column length can't over than "+field.getFieldLength();
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectSysGbCd( String sysGbName ) throws Exception{
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put( "sysGbName", sysGbName);
|
||||
logger.info("sysGbName --->" + sysGbName);
|
||||
return dao.selectSysGbCd(paramMap);
|
||||
}
|
||||
|
||||
public String getNdmNodeBySysId( String systemId ) throws Exception{
|
||||
HashMap<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put( "systemId", systemId);
|
||||
logger.info("systemId=--->" + systemId);
|
||||
return dao.getNdmNodeBySysId(paramMap);
|
||||
}
|
||||
|
||||
public void saveBapDeploy(BapDeploy bapDeploy) throws Exception {
|
||||
logger.info("saveBapDeploy=--->" + bapDeploy);
|
||||
dao.insertBapDeploy(bapDeploy);
|
||||
}
|
||||
|
||||
}
|
||||
+107
@@ -0,0 +1,107 @@
|
||||
package com.eactive.eai.rms.bap.manage.schedule.businessDay;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.combo.ComboService;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
import com.eactive.eai.rms.onl.common.util.DateUtil;
|
||||
|
||||
@Controller
|
||||
public class BapBusinessDayController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapBusinessDayService")
|
||||
private BapBusinessDayService service;
|
||||
|
||||
@RequestMapping(value= "/bap/admin/schedule/businessDayMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/schedule/businessDayMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo , @RequestParam HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
String likeBaseDT = (String)paramMap.get("likeBaseDT");
|
||||
|
||||
if("%%".equals(likeBaseDT)) { // 기준일자 검색어가 없을 때는 당월 데이터 list
|
||||
paramMap.put("likeBaseDT", "%"+DateUtil.getDate().substring(0, 6)+"%");
|
||||
}
|
||||
|
||||
HashMap<String, Object> map = service.selectList( pageVo.getStartNum(), pageVo.getEndNum(), paramMap);
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/schedule/businessDayMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response, String bJobMsgScheId) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectDetail(bJobMsgScheId);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/schedule/businessDayMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> map) throws Exception {
|
||||
|
||||
service.insert(map);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/schedule/businessDayMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> map ) throws Exception {
|
||||
|
||||
service.update(map);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/schedule/businessDayMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String, Object> map ) throws Exception {
|
||||
|
||||
service.delete(map);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
package com.eactive.eai.rms.bap.manage.schedule.businessDay;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("BapBusinessDayDao")
|
||||
@SuppressWarnings({"deprecation","unchecked"})
|
||||
public class BapBusinessDayDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
return (Integer)template.queryForObject("BapBusinessDay.selectListCount", param);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("BapBusinessDay.selectList", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String bJobMsgScheId) throws Exception {
|
||||
HashMap<String, Object> param = new HashMap<String, Object>();
|
||||
param.put("bJobMsgScheId", bJobMsgScheId);
|
||||
return (HashMap<String, Object>)template.queryForObject("BapBusinessDay.selectDetail", param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapBusinessDay.insert", paramMap);
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("BapBusinessDay.update", paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("BapBusinessDay.delete", paramMap);
|
||||
}
|
||||
|
||||
}
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
package com.eactive.eai.rms.bap.manage.schedule.businessDay;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.eactive.eai.adapter.wca.jdbc.JDBCException;
|
||||
import com.eactive.eai.rms.bap.common.base.BapBaseService;
|
||||
|
||||
@Service("bapBusinessDayService")
|
||||
public class BapBusinessDayService extends BapBaseService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("BapBusinessDayDao")
|
||||
private BapBusinessDayDao dao;
|
||||
|
||||
public HashMap<String, Object> selectList(int startNum,int endNum, HashMap<String, Object> paramMap) throws Exception {
|
||||
|
||||
// 전체 목록수 얻기
|
||||
int totalCount = dao.selectListCount(paramMap);
|
||||
|
||||
paramMap.put("startNum" , startNum);// 시작 record
|
||||
paramMap.put("endNum" , endNum);// 끝 record
|
||||
|
||||
List<Map<String, Object>> list = dao.selectList(paramMap);
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
map.put("totalCount", totalCount);
|
||||
map.put("list", list);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(String bJobMsgScheId) throws Exception {
|
||||
|
||||
return dao.selectDetail( bJobMsgScheId );
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.insert(paramMap);
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.update(paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception {
|
||||
dao.delete(paramMap);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
package com.eactive.eai.rms.bap.manage.schedule.cron;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.BapBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
|
||||
@Controller
|
||||
public class BapCronController extends BapBaseAnnotationController {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bapCronService")
|
||||
private BapCronService service;
|
||||
|
||||
|
||||
@RequestMapping(value= "/bap/admin/cron/cronMan.view")
|
||||
public String viewList(HttpServletRequest request, @RequestParam(value = "cmd", required = false ) String cmd ) throws Exception {
|
||||
if (cmd == null || "LIST".equals(cmd.toUpperCase())){
|
||||
cmd = "";
|
||||
}else {
|
||||
cmd = CamelCaseUtil.converCamelCase(cmd);
|
||||
}
|
||||
String path = request.getServletPath();
|
||||
return path.split("[.]")[0]+cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value= "/bap/admin/cron/cronMan.json", params = "cmd=LIST")
|
||||
public ModelAndView selectList(HttpServletRequest request,
|
||||
JsonPageVo pageVo, String searchSchedId) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectList(pageVo.getStartNum(), pageVo.getEndNum(), searchSchedId);
|
||||
|
||||
pageVo.setTotalCount((Integer)map.get("totalCount"));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("total" , pageVo.getTotal()); //전체 페이지수
|
||||
resultMap.put("page" , pageVo.getPage()); //현재 페이지수
|
||||
resultMap.put("records", pageVo.getTotalCount());//전체 레코드건수
|
||||
resultMap.put("rows" , map.get("list"));
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping(value= "/bap/admin/cron/cronMan.json",params = "cmd=DETAIL")
|
||||
public ModelAndView selectDetail(HttpServletRequest request,
|
||||
HttpServletResponse response,String schedId) throws Exception {
|
||||
|
||||
HashMap<String, Object> map = service.selectDetail(schedId);
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView", map);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/cron/cronMan.json",params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map) throws Exception {
|
||||
|
||||
service.insert(map);
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.cron.UpdateCronCommand",(String)map.get("schedId"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/cron/cronMan.json",params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request,
|
||||
HttpServletResponse response,@RequestParam HashMap<String,Object> map) throws Exception {
|
||||
|
||||
service.update(map);
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.cron.UpdateCronCommand",(String)map.get("schedId"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
@RequestMapping(value= "/bap/admin/cron/cronMan.json",params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request,
|
||||
HttpServletResponse response, @RequestParam HashMap<String,Object> map ) throws Exception {
|
||||
|
||||
service.delete(map);
|
||||
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.cron.RemoveCronCommand",(String)map.get("schedId"));
|
||||
agentUtilService.broadcast(command);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.eactive.eai.rms.bap.manage.schedule.cron;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.eactive.eai.rms.common.base.SqlMapClientTemplateDao;
|
||||
|
||||
@Repository("bapCronDao")
|
||||
@SuppressWarnings({"deprecation","unchecked"})
|
||||
public class BapCronDao extends SqlMapClientTemplateDao {
|
||||
|
||||
public int selectListCount(HashMap<String, Object> param) throws Exception {
|
||||
return (Integer)template.queryForObject("BapCron.selectListCount", param);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> selectList(HashMap<String, Object> param) throws Exception {
|
||||
return (List<Map<String, Object>>)template.queryForList("BapCron.selectList", param);
|
||||
}
|
||||
|
||||
public HashMap<String, Object> selectDetail(HashMap<String, Object> param) throws Exception {
|
||||
return (HashMap<String, Object>)template.queryForObject("BapCron.selectDetail", param);
|
||||
}
|
||||
|
||||
public void insert(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.insert("BapCron.insert", paramMap);
|
||||
}
|
||||
|
||||
public void update(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.update("BapCron.update", paramMap);
|
||||
}
|
||||
|
||||
public void delete(HashMap<String, Object> paramMap) throws Exception{
|
||||
this.template.delete("BapCron.delete", paramMap);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user