You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

840 lines
24 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.zky.para;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import com.zky.pub.DbConn;
import com.zky.pub.HashFmlBuf;
/**
* @author dy
*
* 同步参数到各个参数实体Bean中
*
*/
public class SyncPara extends Thread {
private Connection con = null;
private ResultSet rs = null;
private Statement st = null;
private String sql = "select a.table_name,b.sortcolumn,b.sortorder,a.updatetime from td_s_tableinfo a,td_s_tableinfo_web b where upper(a.table_name) = upper(b.table_name)";
private String updateSql = null;
private String table_name;
private String class_name;
private HashMap hm = new HashMap();
private int SleepTime = 60000;
private HashMap table_hm = new HashMap();
/**
* 构造函数 启动线程
*
*/
public SyncPara() {
start();
}
/**
* 同步方法
*/
private void sync() {
try {
System.gc();
con = (Connection) DbConn.getConn();
st = con.createStatement();
rs = st.executeQuery(sql);
String updatetime;
String sortColumn = "";
String sortOrder = "";
int i = 0;
while (rs.next()) {
table_name = rs.getString("TABLE_NAME").toUpperCase();
sortColumn = rs.getString("sortColumn");
sortOrder = rs.getString("sortOrder");
updatetime = (String) table_hm.get(table_name);
if (updatetime != null
&& updatetime.equals(rs.getString("updatetime"))) {
continue;
}
table_hm.put(table_name, rs.getString("updatetime"));
i++;
try {
ParaTable p = new ParaTable(table_name, sortColumn,
sortOrder);
p.init();
hm.remove(table_name);
hm.put(table_name, p);
} catch (Exception e) {
e.printStackTrace();
}
}
rs.close();
st.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null)
rs.close();
if (st != null)
st.close();
if (con != null) {
con.close();
}
} catch (Exception e) {
}
}
}
/**
* 线程 休眠一段时间后检查参数是否有更新
*/
public void run() {
while (true) {
try {
sync();
Thread.sleep(SleepTime);
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 根据表名取出所对应的参数表
* @param tableName
* @return
*/
public ParaTable getTable(String tableName) {
ParaTable table = (ParaTable) hm.get(tableName.toUpperCase());
try {
if (table == null)
throw new Exception("表名“" + tableName + "”出错或该表不属于参数表!");
} catch (Exception e) {
e.printStackTrace();
}
return table;
}
/**
* 根据表名、数据列、显示列、过滤列、过滤值来生成下拉框的内容
* @param TableName
* @param DataColumn
* @param DisplayColumn
* @param FilterColumn
* @param FilterValue
* @return
*/
public String getSelectParaFilter(String TableName, String DataColumn,
String DisplayColumn, String FilterColumn, String FilterValue) {
HashFmlBuf buf = null;
buf = getBuf(TableName);
//根据显示列和数据列来生成一个HTML的代码
StringBuffer rtn = new StringBuffer("");
String ls_datacolumn = null, ls_displaycolumn = null;
String ls_filtercolumn = "";
int li_count = 0;
li_count = Integer.parseInt(buf.fget("ROWCOUNT", 0));
if (li_count == 0) {
return null;
}
FilterColumn = FilterColumn.toUpperCase();
if (FilterColumn.startsWith("!")) {
FilterColumn = FilterColumn.replaceFirst("!", "");
for (int i = 0; i < li_count; i++) {
ls_filtercolumn = buf.fget(FilterColumn, i);
if (ls_filtercolumn.equals(FilterValue))
continue;
ls_datacolumn = buf.fget(DataColumn.toUpperCase(), i);
ls_displaycolumn = buf.fget(DisplayColumn.toUpperCase(), i);
rtn.append("\n<option value=\"").append(ls_datacolumn).append(
"\">").append(ls_displaycolumn).append("</option>");
}
} else {
for (int i = 0; i < li_count; i++) {
ls_filtercolumn = buf.fget(FilterColumn, i);
if (!ls_filtercolumn.equals(FilterValue))
continue;
ls_datacolumn = buf.fget(DataColumn.toUpperCase(), i);
ls_displaycolumn = buf.fget(DisplayColumn.toUpperCase(), i);
rtn.append("\n<option value=\"").append(ls_datacolumn).append(
"\">").append(ls_displaycolumn).append("</option>");
}
}
return rtn.toString();
}
//==================================================旧系统
/**
* @param TableName
* @param DataCol
* @param DisplayCol
* @return
*/
public ArrayList getParaList(String TableName, String DataCol,
String DisplayCol) {
return getFilterParaList(TableName, DataCol, DisplayCol, "", "");
}
/**
* @param TableName
* @param DataCol
* @param DisplayCol
* @param FilterCol
* @param FilterValue
* @return
*/
public ArrayList getFilterParaList(String TableName, String DataCol,
String DisplayCol, String FilterCol, String FilterValue) {
ParaTable table = getTable(TableName);
int iCount = table.getRowCount();
if (iCount == 0) {
return null;
}
ArrayList list = new ArrayList();
String sDataCol = "", sDisplayCol = "", sFilterValue = "";
if (FilterCol.equals("")) {
for (int i = 0; i < iCount; i++) {
sDataCol = table.getColValue(DataCol.toUpperCase(), i);
sDisplayCol = table.getColValue(DisplayCol.toUpperCase(), i);
list.add(new Row(sDataCol, sDisplayCol));
}
} else {
for (int i = 0; i < iCount; i++) {
sFilterValue = table.getColValue(FilterCol.toUpperCase(), i);
if (FilterValue.equals(sFilterValue)) {
sDataCol = table.getColValue(DataCol.toUpperCase(), i);
sDisplayCol = table
.getColValue(DisplayCol.toUpperCase(), i);
list.add(new Row(sDataCol, sDisplayCol));
}
}
}
return list;
}
/**
* @param TableName
* @param DataCol
* @param DisplayCol
* @param DataValue
* @return
*/
public String getDesc(String TableName, String DataCol, String DisplayCol,
String DataValue) {
HashFmlBuf buf = getBuf(TableName);
String Display = "";
int pos = buf.find(DataCol.toUpperCase(), DataValue);
if (pos == -1)
return Display;
Display = buf.fget(DisplayCol.toUpperCase(), pos);
return Display;
}
/**
* 根据frameworkid过滤
* @param TableName
* @param DataCol
* @param DisplayCol
* @param DataValue
* @param Frameworkid
* @return
*/
public String getDesc(String TableName, String DataCol, String DisplayCol,
String DataValue, String Frameworkid) {
HashFmlBuf buf = getBuf(TableName);
int icount = Integer.parseInt(buf.fget("ROWCOUNT", 0));
String sframeworkid = "", svalue;
for (int i = 0; i < icount; i++) {
sframeworkid = buf.fget("FRAMEWORKID", i);
if (sframeworkid == null)
return getDesc(TableName, DataCol, DisplayCol, DataValue);
if (sframeworkid.equals(Frameworkid)) {
svalue = buf.fget(DataCol.toUpperCase(), i);
if (svalue == null)
return null;
if (svalue.equals(DataValue)) {
return buf.fget(DisplayCol.toUpperCase(), i);
}
}
}
return null;
}
/**
* 通过传入的表名 获取该表对应的实例 ,然后返回该实例中的数据
* @param TableName
* @return 返回一个HashFmlBuf中存放这参数表的数据
*/
public HashFmlBuf getBuf(String TableName) {
return getTable(TableName).getRows();
}
/**
* 根据表名、数据列、显示列、过滤列、过滤值、check框的名称、文字在框的左右标志来生成check框
* @param TableName
* @param DataColumn
* @param DisplayColumn
* @param FilterColumn
* @param FilterValue
* @param CheckName
* @param flag
* @return
*/
public String getCheckParaFilter(String TableName, String DataColumn,
String DisplayColumn, String FilterColumn, String FilterValue,
String CheckName, String flag) {
HashFmlBuf buf = null;
buf = getBuf(TableName);
//根据显示列和数据列来生成一个HTML的代码
String ls_rtn = "", ls_datacolumn = null, ls_displaycolumn = null;
String ls_filtercolumn = "", ls_filtervalue = "";
int li_count = 0;
String ls_left_rtn = "", ls_right_rtn = "";
li_count = Integer.parseInt(buf.fget("ROWCOUNT", 0));
if (li_count == 0) {
return null;
}
for (int i = 0; i < li_count; i++) {
ls_filtercolumn = buf.fget(FilterColumn.toUpperCase(), i);
if (!ls_filtercolumn.equals(FilterValue))
continue;
ls_datacolumn = buf.fget(DataColumn.toUpperCase(), i);
ls_displaycolumn = buf.fget(DisplayColumn.toUpperCase(), i);
ls_left_rtn = ls_left_rtn + ls_displaycolumn
+ "<input type=\"checkbox\" name='" + CheckName + "' value= '"
+ ls_datacolumn + "'>";
ls_right_rtn = ls_right_rtn + "<input type=\"checkbox\" name='"
+ CheckName + "' value= '" + ls_datacolumn + "'>"
+ ls_displaycolumn;
}
if (flag == "0") {
return ls_left_rtn;
} else {
return ls_right_rtn;
}
}
/**
*
* @param TableName
* @param DataColumn
* @param DisplayColumn
* @return
*/
public String getSelectPara(String TableName, String DataColumn,
String DisplayColumn) {
HashFmlBuf buf = null;
buf = getBuf(TableName);
//根据显示列和数据列来生成一个HTML的代码
StringBuffer ls_rtn = new StringBuffer("");
String ls_datacolumn = null, ls_displaycolumn = null;
int li_count = 0;
li_count = Integer.parseInt(buf.fget("ROWCOUNT", 0));
if (li_count == 0) {
return null;
}
for (int i = 0; i < li_count; i++) {
ls_datacolumn = buf.fget(DataColumn.toUpperCase(), i);
ls_displaycolumn = buf.fget(DisplayColumn.toUpperCase(), i);
ls_rtn.append("\n<option value=\"").append(ls_datacolumn).append(
"\">").append(ls_displaycolumn).append("</option>");
}
return ls_rtn.toString();
}
public String getSelectPara(String TableName, String DataColumn,
String DisplayColumn, String Frameworkid) {
HashFmlBuf buf = null;
buf = getBuf(TableName);
//根据显示列和数据列来生成一个HTML的代码
StringBuffer ls_rtn = new StringBuffer("");
String ls_datacolumn = null, ls_displaycolumn = null, ls_frameworkid = null;
int li_count = 0;
li_count = Integer.parseInt(buf.fget("ROWCOUNT", 0));
if (li_count == 0) {
return null;
}
for (int i = 0; i < li_count; i++) {
ls_frameworkid = buf.fget("FRAMEWORKID", i);
if (ls_frameworkid == null)
return getSelectPara(TableName, DataColumn, DisplayColumn);
ls_datacolumn = buf.fget(DataColumn.toUpperCase(), i);
ls_displaycolumn = buf.fget(DisplayColumn.toUpperCase(), i);
ls_rtn.append("\n<option value=\"").append(ls_datacolumn).append(
"\">").append(ls_displaycolumn).append("</option>");
}
return ls_rtn.toString();
}
/**
*根据表名、数据列、显示列、默认值来设置下拉列表框的数据
* @param TableName
* @param DataColumn
* @param DisplayColumn
* @param selvalue
* @return
*/
public String getdefaultSelectPara(String TableName, String DataColumn,
String DisplayColumn, String selvalue) {
HashFmlBuf buf = null;
buf = getBuf(TableName);
//根据显示列和数据列来生成一个HTML的代码
String ls_rtn = "", ls_datacolumn = null, ls_displaycolumn = null;
int li_count = 0;
li_count = Integer.parseInt(buf.fget("ROWCOUNT", 0));
if (li_count == 0) {
return null;
}
for (int i = 0; i < li_count; i++) {
ls_datacolumn = buf.fget(DataColumn.toUpperCase(), i);
ls_displaycolumn = buf.fget(DisplayColumn.toUpperCase(), i);
if (selvalue.equals(ls_datacolumn)) {
ls_rtn = ls_rtn + "<option value=\"" + ls_datacolumn
+ "\" selected>" + ls_displaycolumn + "</option>";
} else {
ls_rtn = ls_rtn + "<option value=\"" + ls_datacolumn + "\">"
+ ls_displaycolumn + "</option>";
}
}
return ls_rtn;
}
/**
* 首先根据frameworkid过滤再根据过滤列过滤
* @param TableName
* @param DataColumn
* @param DisplayColumn
* @param FilterColumn
* @param FilterValue
* @param Frameworkid
* @return
*/
public String getSelectParaFilter(String TableName, String DataColumn,
String DisplayColumn, String FilterColumn, String FilterValue,
String Frameworkid) {
HashFmlBuf buf = null;
buf = getBuf(TableName);
//根据显示列和数据列来生成一个HTML的代码
String ls_rtn = "", ls_datacolumn = null, ls_displaycolumn = null, ls_frameworkid = null;
String ls_filtercolumn = "", ls_filtervalue = "";
int li_count = 0;
li_count = Integer.parseInt(buf.fget("ROWCOUNT", 0));
if (li_count == 0) {
return null;
}
for (int i = 0; i < li_count; i++) {
ls_frameworkid = buf.fget("FRAMEWORKID", i);
if (ls_frameworkid == null)
return getSelectParaFilter(TableName, DataColumn,
DisplayColumn, FilterColumn, FilterValue);
if (!ls_frameworkid.equals(Frameworkid))
continue;
ls_filtercolumn = buf.fget(FilterColumn.toUpperCase(), i);
if (!ls_filtercolumn.equals(FilterValue))
continue;
ls_datacolumn = buf.fget(DataColumn.toUpperCase(), i);
ls_displaycolumn = buf.fget(DisplayColumn.toUpperCase(), i);
ls_rtn = ls_rtn + "<option value=\"" + ls_datacolumn + "\">"
+ ls_displaycolumn + "</option>";
}
return ls_rtn;
}
/**
* 首先根据frameworkid过滤再根据过滤列过滤
* @param TableName
* @param DataColumn
* @param DisplayColumn
* @param FilterColumn
* @param FilterValue
* @param Frameworkid
* @param selvalue
* @return
*/
public String getSelectParaFilter(String TableName, String DataColumn,
String DisplayColumn, String FilterColumn, String FilterValue,
String Frameworkid, String selvalue) {
HashFmlBuf buf = null;
buf = getBuf(TableName);
//根据显示列和数据列来生成一个HTML的代码
String ls_rtn = "", ls_datacolumn = null, ls_displaycolumn = null, ls_frameworkid = null;
String ls_filtercolumn = "", ls_filtervalue = "";
int li_count = 0;
li_count = Integer.parseInt(buf.fget("ROWCOUNT", 0));
if (li_count == 0) {
return null;
}
for (int i = 0; i < li_count; i++) {
ls_frameworkid = buf.fget("FRAMEWORKID", i);
if (ls_frameworkid == null)
return getSelectParaFilter(TableName, DataColumn,
DisplayColumn, FilterColumn, FilterValue);
if (!ls_frameworkid.equals(Frameworkid))
continue;
ls_filtercolumn = buf.fget(FilterColumn.toUpperCase(), i);
if (!ls_filtercolumn.equals(FilterValue))
continue;
ls_datacolumn = buf.fget(DataColumn.toUpperCase(), i);
ls_displaycolumn = buf.fget(DisplayColumn.toUpperCase(), i);
if (selvalue.equals(ls_datacolumn)) {
ls_rtn = ls_rtn + "<option value=\"" + ls_datacolumn
+ "\" selected>" + ls_displaycolumn + "</option>";
} else {
ls_rtn = ls_rtn + "<option value=\"" + ls_datacolumn + "\">"
+ ls_displaycolumn + "</option>";
}
}
return ls_rtn;
}
/**
* 首先根据Data_code过滤再根据过滤列过滤
* @param TableName
* @param DataColumn
* @param DisplayColumn
* @param FilterColumn
* @param FilterValue
* @param Data_code
* @param selvalue
* @return
*/
public String getSParaFilter(String TableName, String DataColumn,
String DisplayColumn, String FilterColumn, String FilterValue,
String Datacode, String selvalue) {
HashFmlBuf buf = null;
buf = getBuf(TableName);
//根据显示列和数据列来生成一个HTML的代码
String ls_rtn = "", ls_datacolumn = null, ls_displaycolumn = null, ls_datacode = null;
String ls_filtercolumn = "", ls_filtervalue = "";
int li_count = 0;
li_count = Integer.parseInt(buf.fget("ROWCOUNT", 0));
if (li_count == 0) {
return null;
}
for (int i = 0; i < li_count; i++) {
ls_datacode = buf.fget("TYPE_CODE", i);
if (ls_datacode == null)
return getSelectParaFilter(TableName, DataColumn,
DisplayColumn, FilterColumn, FilterValue);
if (ls_datacode.equals(Datacode))
continue;
ls_filtercolumn = buf.fget(FilterColumn.toUpperCase(), i);
if (!ls_filtercolumn.equals(FilterValue))
continue;
ls_datacolumn = buf.fget(DataColumn.toUpperCase(), i);
ls_displaycolumn = buf.fget(DisplayColumn.toUpperCase(), i);
if (selvalue.equals(ls_datacolumn)) {
ls_rtn = ls_rtn + "<option value=\"" + ls_datacolumn
+ "\" selected>" + ls_displaycolumn + "</option>";
} else {
ls_rtn = ls_rtn + "<option value=\"" + ls_datacolumn + "\">"
+ ls_displaycolumn + "</option>";
}
}
return ls_rtn;
}
/**
*
* @param TableName 表的名字
* @param DataColumn 数据的实际值
* @param DisplayColumn 显示值
* @param CheckName checkbox的名字
* @param flag 表示显示在左边还是在右边0左边1右边
* @return
*/
public String getCheckPara(String TableName, String DataColumn,
String DisplayColumn, String CheckName, String flag) {
HashFmlBuf buf = null;
buf = getBuf(TableName);
//根据显示列和数据列来生成一个HTML的代码
String ls_left_rtn = "", ls_right_rtn = "", ls_datacolumn = null, ls_displaycolumn = null;
int li_count = 0;
li_count = Integer.parseInt(buf.fget("ROWCOUNT", 0));
if (li_count == 0) {
return null;
}
for (int i = 0; i < li_count; i++) {
ls_datacolumn = buf.fget(DataColumn.toUpperCase(), i);
ls_displaycolumn = buf.fget(DisplayColumn.toUpperCase(), i);
ls_left_rtn = ls_left_rtn + ls_displaycolumn
+ "<input type=\"checkbox\" name=" + CheckName + " value= "
+ ls_datacolumn + "<br>";
ls_right_rtn = ls_right_rtn + "<input type=\"checkbox\" name="
+ CheckName + " value= " + ls_datacolumn + "<br>"
+ ls_displaycolumn;
}
if (flag == "0") {
return ls_left_rtn;
} else {
return ls_right_rtn;
}
}
/**
* 根据表名、上层列名、数据列、显示列来生成一个javascript的数组
* @param TableName
* @param UpColumn
* @param DataColumn
* @param DisplayColumn
* @return
*/
public String getParaArray(String TableName, String UpColumn,
String DataColumn, String DisplayColumn) {
HashFmlBuf buf = getBuf(TableName);
//根据显示列和数据列来生成一个HTML的代码
String ls_rtn = "", ls_datacolumn = null, ls_displaycolumn = null, ls_upcolumn = null, ls_temp = null;
int li_count = 0;
li_count = Integer.parseInt(buf.fget("ROWCOUNT", 0));
// if (li_count == 0) {
// return null;
// }
ls_temp = new StringBuffer("var ").append(TableName.toUpperCase())
.append("_DEP = new Array();").toString();
ls_rtn = new StringBuffer(ls_rtn).append(ls_temp).toString();
ls_temp = new StringBuffer("var ").append(TableName.toUpperCase())
.append("_VALUE = new Array();").toString();
ls_rtn = new StringBuffer(ls_rtn).append(ls_temp).toString();
ls_temp = new StringBuffer("var ").append(TableName.toUpperCase())
.append("_TEXT = new Array();").toString();
ls_rtn = new StringBuffer(ls_rtn).append(ls_temp).toString();
for (int i = 0; i < li_count; i++) {
ls_upcolumn = buf.fget(UpColumn.toUpperCase(), i);
ls_datacolumn = buf.fget(DataColumn.toUpperCase(), i);
ls_displaycolumn = buf.fget(DisplayColumn.toUpperCase(), i);
ls_rtn = new StringBuffer(ls_rtn).append(
TableName.toUpperCase() + "_DEP[" + Integer.toString(i)
+ "] = " + "'" + ls_upcolumn + "';").append(
TableName.toUpperCase() + "_VALUE[" + Integer.toString(i)
+ "] = " + "'" + ls_datacolumn + "';").append(
TableName.toUpperCase() + "_TEXT[" + Integer.toString(i)
+ "] = " + "'" + ls_displaycolumn + "';").toString();
}
return ls_rtn;
}
/**
* 根据frameworkid过滤
* @param TableName
* @param UpColumn
* @param DataColumn
* @param DisplayColumn
* @param Frameworkid
* @return
*/
public String getParaArray(String TableName, String UpColumn,
String DataColumn, String DisplayColumn, String Frameworkid) {
HashFmlBuf buf = getBuf(TableName);
//根据显示列和数据列来生成一个HTML的代码
String ls_rtn = "", ls_datacolumn = null, ls_displaycolumn = null, ls_upcolumn = null, ls_temp = null, ls_frameworkid = null;
int li_count = 0;
li_count = Integer.parseInt(buf.fget("ROWCOUNT", 0));
if (li_count == 0) {
return null;
}
//表中没有frameworkid列
if (buf.fget("FRAMEWORKID", 0) == null)
return getParaArray(TableName, UpColumn, DataColumn, DisplayColumn);
ls_temp = new StringBuffer("var ").append(TableName.toUpperCase())
.append("_DEP = new Array();").toString();
ls_rtn = new StringBuffer(ls_rtn).append(ls_temp).toString();
ls_temp = new StringBuffer("var ").append(TableName.toUpperCase())
.append("_VALUE = new Array();").toString();
ls_rtn = new StringBuffer(ls_rtn).append(ls_temp).toString();
ls_temp = new StringBuffer("var ").append(TableName.toUpperCase())
.append("_TEXT = new Array();").toString();
ls_rtn = new StringBuffer(ls_rtn).append(ls_temp).toString();
for (int i = 0; i < li_count; i++) {
ls_frameworkid = buf.fget("FRAMEWORKID", i);
if (!ls_frameworkid.equals(Frameworkid))
continue;
ls_upcolumn = buf.fget(UpColumn.toUpperCase(), i);
ls_datacolumn = buf.fget(DataColumn.toUpperCase(), i);
ls_displaycolumn = buf.fget(DisplayColumn.toUpperCase(), i);
ls_rtn = new StringBuffer(ls_rtn).append(
TableName.toUpperCase() + "_DEP[" + Integer.toString(i)
+ "] = " + "'" + ls_upcolumn + "';").append(
TableName.toUpperCase() + "_VALUE[" + Integer.toString(i)
+ "] = " + "'" + ls_datacolumn + "';").append(
TableName.toUpperCase() + "_TEXT[" + Integer.toString(i)
+ "] = " + "'" + ls_displaycolumn + "';").toString();
}
return ls_rtn;
}
/**
* 根据表名、上层列、数据列、显示列、过滤列、过滤值来生成javascript数组
* @param TableName
* @param UpColumn
* @param DataColumn
* @param DisplayColumn
* @param filtercolumn
* @param filtervalue
* @return
*/
public String getParaArrayFilter(String TableName, String UpColumn,
String DataColumn, String DisplayColumn, String filtercolumn,
String filtervalue) {
HashFmlBuf buf = getBuf(TableName);
//根据显示列和数据列来生成一个HTML的代码
String ls_rtn = "", ls_datacolumn = null, ls_displaycolumn = null, ls_upcolumn = null, ls_filter = null, ls_temp = null;
int li_count = 0;
li_count = Integer.parseInt(buf.fget("ROWCOUNT", 0));
if (li_count == 0) {
return null;
}
ls_temp = new StringBuffer("var ").append(TableName.toUpperCase())
.append("_DEP = new Array();").toString();
ls_rtn = new StringBuffer(ls_rtn).append(ls_temp).toString();
ls_temp = new StringBuffer("var ").append(TableName.toUpperCase())
.append("_VALUE = new Array();").toString();
ls_rtn = new StringBuffer(ls_rtn).append(ls_temp).toString();
ls_temp = new StringBuffer("var ").append(TableName.toUpperCase())
.append("_TEXT = new Array();").toString();
ls_rtn = new StringBuffer(ls_rtn).append(ls_temp).toString();
int j = 0;
for (int i = 0; i < li_count; i++) {
ls_upcolumn = buf.fget(UpColumn.toUpperCase(), i);
ls_datacolumn = buf.fget(DataColumn.toUpperCase(), i);
ls_displaycolumn = buf.fget(DisplayColumn.toUpperCase(), i);
ls_filter = buf.fget(filtercolumn.toUpperCase(), i);
if (ls_filter != null && ls_filter.equals("")) {
if (!ls_filter.equals(filtervalue))
continue;
}
ls_rtn = new StringBuffer(ls_rtn).append(
TableName.toUpperCase() + "_DEP[" + Integer.toString(j)
+ "] = " + "'" + ls_upcolumn + "';").append(
TableName.toUpperCase() + "_VALUE[" + Integer.toString(j)
+ "] = " + "'" + ls_datacolumn + "';").append(
TableName.toUpperCase() + "_TEXT[" + Integer.toString(j)
+ "] = " + "'" + ls_displaycolumn + "';").toString();
j++;
}
return ls_rtn;
}
public String getDefByID(String ID, String TableName, String FldID,
String FldDef) {
HashFmlBuf buf = getBuf(TableName);
int iCount = Integer.parseInt(buf.fget("ROWCOUNT", 0));
if (iCount == 0)
return "";
for (int i = 0; i < iCount; i++) {
if (buf.fget(FldID.toUpperCase(), i).equals(ID)) {
return buf.fget(FldDef.toUpperCase(), i);
}
}
return "";
}
}