
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package com.takensoft.pohangTp.data.vo;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.takensoft.pohangTp.common.vo.CheckMessage;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class DataTable extends Dataset{
/**
* 시리얼 버전
*/
private static final long serialVersionUID = 1L;
public DataTable () {};
public DataTable (Dataset parents) {
super.setDatasetId(parents.getDatasetId());
super.setDatasetSj(parents.getDatasetSj());
super.setDbConectId(parents.getDbConectId());
super.setTableNm(parents.getTableNm());
super.setTableNmKr(parents.getTableNmKr());
super.setCreatTableAt(parents.isCreatTableAt());
super.setCreatDt(parents.getCreatDt());
super.setUpdtDt(parents.getUpdtDt());
super.setDatasetPostId(parents.getDatasetPostId());
super.setStdizColumnAt(parents.isStdizColumnAt());
super.setStdizDomnAt(parents.isStdizDomnAt());
super.setStdizTableNm(parents.isStdizTableNm());
super.setQuery(parents.getQuery());
};
/**
* 열 기준 데이터 정보 (헤더 정보 + 열별 데이터 목록)
*/
private List<ColumnData> columnDatas = new ArrayList<ColumnData>();
/**
* 데이터(행,열)
*/
private List<List<Object>> rowData = new ArrayList<List<Object>>();
/**
* 열 기준 데이터 정보 (헤더 정보 + 열별 데이터 목록)
*/
private List<ColumnData> changeColumnDatas = null;
/**
* primary key 존재 여부
*/
private boolean isExistPrimary = false;
/**
* 헤더(컬럼)데이터를 현재 생성된 rowData 인스턴스에 0번째Index에 추가했는지에 대한 여부
*/
private boolean isRowDataHeaderAdd = false;
/**
* 헤더(컬럼)데이터의 columnName이 메모리상에서 변경된는 지에 대한 여부
*/
private boolean isColumnNameChange = false;
/**
* 데이터(행,열)의 컬럼인 Row의 Index
*/
private int rowDataColumnIndex;
/**
* 데이터(행,열)의 Row 시작 Index
*/
private int startRowIndex;
/**
* 데이터(행,열)의 Cell 시작 Index
*/
private int startCellIndex;
/**
* 총 개시물 수
*/
private int totalRows;
/**
* 데이터 편집 결과 메세지(화면에서만 쓰임)
*/
private List<Map<String, String>> editResultList = new ArrayList<Map<String, String>>();
/**
* DataTable 생성 관련 메세지
*/
private CheckMessage checkMessage = new CheckMessage();
public void cellValuesClear() {
for (int i = 0; i < columnDatas.size(); i++) {
columnDatas.get(i).cellValuesClear();
}
}
/**
* 컬럼 데이터 값 저장
*/
/*
public void setColumnValues(List<LinkedHashMap<String,Object>> datas) {
this.setTotalRows(datas.size());
for(LinkedHashMap<String,Object> temp : datas) {
for(ColumnData columnData : this.columnDatas) {
columnData.getColumnValues().add(new ColumnValue(temp.get(columnData.getColumnNm()),columnData.getDataTy()));
}
}
}
*/
/**
* 쿼리 생성(DB포함)
*/
public void setQuery() {
StringBuilder builder = new StringBuilder();
builder.append("SELECT \n");
for (int i = 0; i < this.getColumnDatas().size(); i++) {
builder.append("\t");
if (i > 0) {
builder.append(", ");
}
builder.append(this.getColumnDatas().get(i).getColumnNm());
builder.append("\n");
}
builder.append("FROM \n\t");
builder.append(this.getDatabaseNm());
builder.append(".");
builder.append(this.getTableNm());
builder.append("\n");
this.setQuery(builder.toString());
}
/**
* 쿼리생성
*/
public String makeQuery() {
StringBuilder builder = new StringBuilder();
builder.append("SELECT \n");
for (int i = 0; i < this.getColumnDatas().size(); i++) {
builder.append("\t");
if (i > 0) {
builder.append(", ");
}
builder.append(this.getColumnDatas().get(i).getColumnNm());
builder.append("\n");
}
builder.append("FROM \n\t");
builder.append(this.getTableNm());
builder.append("\n");
this.setQuery(builder.toString());
return builder.toString();
}
}