// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
// Source File Name: VietnamHome.java
package kis.admin.research.vietnam;
import com.em.Query;
import com.em.Util;
import com.em.http.Transaction;
import com.em.sql.*;
import java.util.ArrayList;
import java.util.Properties;
import kis.KISHome;
// Referenced classes of package kis.admin.research.vietnam:
// Vietnam
public class VietnamHome extends KISHome
{
public VietnamHome(Transaction _tr)
{
super(_tr);
}
public int selectSequence()
throws Exception
{
String query = "SELECT NVL(max(NUM),0)+1 NUM FROM KIS01.KIS00283";
return Util.parseInt(tr.sql.select(query), 0);
}
public int selectCount(Properties selectData)
throws Exception
{
String searchColumn = Util.normalizeNull(selectData.getProperty("searchColumn"));
String searchValue = Util.normalizeNull(selectData.getProperty("searchValue"));
String fromDate = Util.normalizeNull(selectData.getProperty("fromDate"));
String toDate = Util.normalizeNull(selectData.getProperty("toDate"));
Query query = new Query();
query.addColumn("COUNT(NUM) AS NUM");
query.addTable("KIS01.KIS00283");
if(Util.equals("all", searchColumn))
{
query.addWhereAnd("(UPPER(TITLE) LIKE UPPER('%'||?||'%') OR UPPER(CONTENTS) LIKE UPPER('%'||?||'%') OR UPPER(REG_NM) LIKE UPPER('%'||?||'%') )");
query.addWhereParam(searchValue);
query.addWhereParam(searchValue);
query.addWhereParam(searchValue);
}
(new QueryPositiveStatus(Util.equals("title", searchColumn))).makeAndBind(Sql.likeUpper("TITLE"), searchValue, query);
(new QueryPositiveStatus(Util.equals("contents", searchColumn))).makeAndBind(Sql.likeUpper("CONTENTS"), searchValue, query);
if(Util.equals("conTitle", searchColumn))
{
query.addWhereAnd("(UPPER(TITLE) LIKE UPPER('%'||?||'%') OR UPPER(CONTENTS) LIKE UPPER('%'||?||'%'))");
query.addWhereParam(searchValue);
query.addWhereParam(searchValue);
}
(new QueryPositiveStatus(Util.equals("author", searchColumn))).makeAndBind(Sql.likeUpper("REG_NM"), searchValue, query);
(new EqualPositiveStatus(fromDate)).makeAndBind("TO_CHAR(REG_DATE, 'YYYY-MM-DD') >= ?", query);
(new EqualPositiveStatus(toDate)).makeAndBind("TO_CHAR(REG_DATE, 'YYYY-MM-DD') <= ?", query);
return Util.parseInt(tr.sql.select(query.getCountQuery(), (String[])query.getParameters().toArray(new String[0])), 0);
}
public Properties[] selectList(Properties selectData, int currentPage, int rowsPerPage)
throws Exception
{
String searchColumn = Util.normalizeNull(selectData.getProperty("searchColumn"));
String searchValue = Util.normalizeNull(selectData.getProperty("searchValue"));
String fromDate = Util.normalizeNull(selectData.getProperty("fromDate"));
String toDate = Util.normalizeNull(selectData.getProperty("toDate"));
Query query = new Query();
query.addColumn("NUM");
query.addColumn("CATEGORY");
query.addColumn("TITLE");
query.addColumn("CONTENTS");
query.addColumn("TO_CHAR(REG_DATE, 'YYYY.MM.DD HH24:MI:SS') AS REG_DATE");
query.addColumn("REG_NM");
query.addColumn("HITS");
query.addColumn("MEDIA");
query.addColumn("FILENAME");
query.addTable("KIS01.KIS00283");
if(Util.equals("all", searchColumn))
{
query.addWhereAnd("(UPPER(TITLE) LIKE UPPER('%'||?||'%') OR UPPER(CONTENTS) LIKE UPPER('%'||?||'%') OR UPPER(REG_NM) LIKE UPPER('%'||?||'%') )");
query.addWhereParam(searchValue);
query.addWhereParam(searchValue);
query.addWhereParam(searchValue);
}
(new QueryPositiveStatus(Util.equals("title", searchColumn))).makeAndBind(Sql.likeUpper("TITLE"), searchValue, query);
(new QueryPositiveStatus(Util.equals("contents", searchColumn))).makeAndBind(Sql.likeUpper("CONTENTS"), searchValue, query);
if(Util.equals("conTitle", searchColumn))
{
query.addWhereAnd("(UPPER(TITLE) LIKE UPPER('%'||?||'%') OR UPPER(CONTENTS) LIKE UPPER('%'||?||'%'))");
query.addWhereParam(searchValue);
query.addWhereParam(searchValue);
}
(new QueryPositiveStatus(Util.equals("author", searchColumn))).makeAndBind(Sql.likeUpper("REG_NM"), searchValue, query);
(new EqualPositiveStatus(fromDate)).makeAndBind("TO_CHAR(REG_DATE, 'YYYY-MM-DD') >= ?", query);
(new EqualPositiveStatus(toDate)).makeAndBind("TO_CHAR(REG_DATE, 'YYYY-MM-DD') <= ?", query);
query.addOrder("REG_DATE DESC");
query.addWhereParam(Util.toString(rowsPerPage + (currentPage - 1) * rowsPerPage));
query.addWhereParam(Util.toString((currentPage - 1) * rowsPerPage));
return tr.sql.selectRows(query.getPagedSelectQuery(), (String[])query.getParameters().toArray(new String[0]));
}
public Properties selectView(int num)
throws Exception
{
StringBuffer query = (new StringBuffer()).append("SELECT NUM, CATEGORY, REG_DATE ,").append(" TITLE, CONTENTS, TO_CHAR(REG_DATE, 'YYYY-MM-DD') AS REG_DATE, REG_NM,").append(" HITS, FILENAME, MEDIA FROM KIS01.KIS00283").append(" WHERE NUM = ?");
ArrayList in = new ArrayList();
in.add(new Integer(num));
return tr.sql.selectRow(query.toString(), in);
}
public int insert(Vietnam vietnam)
throws Exception
{
int num = selectSequence();
StringBuffer query = (new StringBuffer()).append(" INSERT INTO KIS01.KIS00283 (").append(" NUM, CATEGORY, TITLE, CONTENTS, REG_DATE,").append(" REG_NM, MEDIA, FILENAME, HITS ").append(") VALUES(?, ?, ?, EMPTY_CLOB(), SYSDATE, ?, ?, ?, 0 ) ");
ArrayList in = new ArrayList();
in.add(new Integer(num));
in.add(vietnam.getCategory());
in.add(vietnam.getTitle());
in.add(vietnam.getReg_nm());
in.add(vietnam.getMedia());
in.add(vietnam.getFilename());
int result = tr.sql.update(query.toString(), in);
if(result > 0)
{
Query clobQuery = new Query();
clobQuery.setSelectForUpdate(true);
clobQuery.addColumn("CONTENTS");
clobQuery.addTable("KIS01.KIS00283");
clobQuery.addWhereAnd(Sql.eq("NUM"));
clobQuery.addWhereParam(Util.toString(num));
tr.sql.setClob(clobQuery, vietnam.getContents());
}
return result;
}
public int update(Vietnam vietnam)
throws Exception
{
StringBuffer query = (new StringBuffer()).append("UPDATE KIS01.KIS00283 SET CATEGORY=?, TITLE = ?, CONTENTS = EMPTY_CLOB(), REG_NM = ?, ").append("MEDIA = ?, FILENAME = ?").append("WHERE NUM = ?");
ArrayList in = new ArrayList();
in.add(vietnam.getCategory());
in.add(vietnam.getTitle());
in.add(vietnam.getReg_nm());
in.add(vietnam.getMedia());
in.add(vietnam.getFilename());
in.add(new Integer(vietnam.getNum()));
int result = tr.sql.update(query.toString(), in);
if(result > 0)
{
Query clobQuery = new Query();
clobQuery.setSelectForUpdate(true);
clobQuery.addColumn("CONTENTS");
clobQuery.addTable("KIS01.KIS00283");
clobQuery.addWhereAnd(Sql.eq("NUM"));
clobQuery.addWhereParam(Util.toString(vietnam.getNum()));
tr.sql.setClob(clobQuery, vietnam.getContents());
}
return result;
}
public int delete(int num)
throws Exception
{
String query = "DELETE FROM KIS01.KIS00283 WHERE NUM = ?";
ArrayList in = new ArrayList();
in.add(new Integer(num));
return tr.sql.update(query, in);
}
}