62 lines
2.3 KiB
Java
62 lines
2.3 KiB
Java
|
|
package com.pms.service;
|
||
|
|
|
||
|
|
import java.util.HashMap;
|
||
|
|
import java.util.List;
|
||
|
|
import java.util.Map;
|
||
|
|
|
||
|
|
import org.apache.ibatis.session.SqlSession;
|
||
|
|
import org.mybatis.spring.SqlSessionTemplate;
|
||
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
||
|
|
import org.springframework.stereotype.Service;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 테이블 관리 서비스
|
||
|
|
*/
|
||
|
|
@Service
|
||
|
|
public class TableManagementService {
|
||
|
|
|
||
|
|
@Autowired
|
||
|
|
private SqlSessionTemplate sqlSessionTemplate;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 테이블 목록 조회
|
||
|
|
*/
|
||
|
|
public List<Map<String, Object>> getTableList() {
|
||
|
|
return sqlSessionTemplate.selectList("tableManagement.selectTableList");
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 테이블 컬럼 정보 조회
|
||
|
|
*/
|
||
|
|
public List<Map<String, Object>> getColumnList(String tableName) {
|
||
|
|
Map<String, Object> paramMap = new HashMap<>();
|
||
|
|
paramMap.put("tableName", tableName);
|
||
|
|
return sqlSessionTemplate.selectList("tableManagement.selectColumnList", paramMap); // Uses injected template
|
||
|
|
}
|
||
|
|
|
||
|
|
public void updateColumnSettings(String tableName, String columnName, Map<String, Object> settings) {
|
||
|
|
// 테이블이 table_labels에 없으면 자동 추가
|
||
|
|
sqlSessionTemplate.insert("tableManagement.insertTableIfNotExists", tableName);
|
||
|
|
|
||
|
|
Map<String, Object> paramMap = new HashMap<>();
|
||
|
|
paramMap.put("tableName", tableName);
|
||
|
|
paramMap.put("columnName", columnName);
|
||
|
|
paramMap.put("columnLabel", settings.get("columnLabel"));
|
||
|
|
paramMap.put("webType", settings.get("webType"));
|
||
|
|
paramMap.put("detailSettings", settings.get("detailSettings"));
|
||
|
|
paramMap.put("codeCategory", settings.get("codeCategory"));
|
||
|
|
paramMap.put("codeValue", settings.get("codeValue"));
|
||
|
|
paramMap.put("referenceTable", settings.get("referenceTable"));
|
||
|
|
paramMap.put("referenceColumn", settings.get("referenceColumn"));
|
||
|
|
|
||
|
|
sqlSessionTemplate.update("tableManagement.updateColumnSettings", paramMap);
|
||
|
|
}
|
||
|
|
|
||
|
|
public void updateAllColumnSettings(String tableName, List<Map<String, Object>> columnSettings) {
|
||
|
|
for (Map<String, Object> columnSetting : columnSettings) {
|
||
|
|
String columnName = (String) columnSetting.get("columnName");
|
||
|
|
updateColumnSettings(tableName, columnName, columnSetting);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|