📄 mfieldvo.java
字号:
/******************************************************************************
* The contents of this file are subject to the Compiere License Version 1.1
* ("License"); You may not use this file except in compliance with the License
* You may obtain a copy of the License at http://www.compiere.org/license.html
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Original Code is Compiere ERP & CRM Smart Business Solution. The Initial
* Developer of the Original Code is Jorg Janke. Portions created by Jorg Janke
* are Copyright (C) 1999-2005 Jorg Janke.
* All parts are Copyright (C) 1999-2005 ComPiere, Inc. All Rights Reserved.
* Contributor(s): ______________________________________.
*****************************************************************************/
package org.compiere.model;
import java.io.*;
import java.sql.*;
import java.util.*;
import java.util.logging.*;
import org.compiere.util.*;
/**
* Field Model Value Object
*
* @author Jorg Janke
* @version $Id: MFieldVO.java,v 1.18 2006/01/09 19:43:48 jjanke Exp $
*/
public class MFieldVO implements Serializable
{
/**
* Return the SQL statement used for the MFieldVO.create
* @param ctx context
* @return SQL with or w/o translation and 1 parameter
*/
public static String getSQL (Properties ctx)
{
// IsActive is part of View
String sql = "SELECT * FROM AD_Field_v WHERE AD_Tab_ID=?"
+ " ORDER BY IsDisplayed DESC, SeqNo";
if (!Env.isBaseLanguage(ctx, "AD_Tab"))
sql = "SELECT * FROM AD_Field_vt WHERE AD_Tab_ID=?"
+ " AND AD_Language='" + Env.getAD_Language(ctx) + "'"
+ " ORDER BY IsDisplayed DESC, SeqNo";
return sql;
} // getSQL
/**
* Create Field Value Object
* @param ctx context
* @param WindowNo window
* @param TabNo tab
* @param AD_Window_ID window
* @param readOnly r/o
* @param rs resultset AD_Field_v
* @return MFieldVO
*/
public static MFieldVO create (Properties ctx, int WindowNo,
int TabNo, int AD_Window_ID, boolean readOnly, ResultSet rs)
{
MFieldVO vo = new MFieldVO (ctx, WindowNo, TabNo, AD_Window_ID, readOnly);
try
{
vo.ColumnName = rs.getString("ColumnName");
if (vo.ColumnName == null)
return null;
CLogger.get().fine(vo.ColumnName);
ResultSetMetaData rsmd = rs.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); i++)
{
String columnName = rsmd.getColumnName (i);
if (columnName.equalsIgnoreCase("Name"))
vo.Header = rs.getString (i);
else if (columnName.equalsIgnoreCase("AD_Reference_ID"))
vo.displayType = rs.getInt (i);
else if (columnName.equalsIgnoreCase("AD_Column_ID"))
vo.AD_Column_ID = rs.getInt (i);
else if (columnName.equalsIgnoreCase("AD_Table_ID"))
vo.AD_Table_ID = rs.getInt (i);
else if (columnName.equalsIgnoreCase("DisplayLength"))
vo.DisplayLength = rs.getInt (i);
else if (columnName.equalsIgnoreCase("IsSameLine"))
vo.IsSameLine = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("IsDisplayed"))
vo.IsDisplayed = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("DisplayLogic"))
vo.DisplayLogic = rs.getString (i);
else if (columnName.equalsIgnoreCase("DefaultValue"))
vo.DefaultValue = rs.getString (i);
else if (columnName.equalsIgnoreCase("IsMandatory"))
vo.IsMandatory = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("IsReadOnly"))
vo.IsReadOnly = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("IsUpdateable"))
vo.IsUpdateable = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("IsAlwaysUpdateable"))
vo.IsAlwaysUpdateable = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("IsHeading"))
vo.IsHeading = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("IsFieldOnly"))
vo.IsFieldOnly = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("IsEncryptedField"))
vo.IsEncryptedField = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("IsEncryptedColumn"))
vo.IsEncryptedColumn = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("IsSelectionColumn"))
vo.IsSelectionColumn = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("SortNo"))
vo.SortNo = rs.getInt (i);
else if (columnName.equalsIgnoreCase("FieldLength"))
vo.FieldLength = rs.getInt (i);
else if (columnName.equalsIgnoreCase("VFormat"))
vo.VFormat = rs.getString (i);
else if (columnName.equalsIgnoreCase("ValueMin"))
vo.ValueMin = rs.getString (i);
else if (columnName.equalsIgnoreCase("ValueMax"))
vo.ValueMax = rs.getString (i);
else if (columnName.equalsIgnoreCase("FieldGroup"))
vo.FieldGroup = rs.getString (i);
else if (columnName.equalsIgnoreCase("IsKey"))
vo.IsKey = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("IsParent"))
vo.IsParent = "Y".equals(rs.getString (i));
else if (columnName.equalsIgnoreCase("Description"))
vo.Description = rs.getString (i);
else if (columnName.equalsIgnoreCase("Help"))
vo.Help = rs.getString (i);
else if (columnName.equalsIgnoreCase("Callout"))
vo.Callout = rs.getString (i);
else if (columnName.equalsIgnoreCase("AD_Process_ID"))
vo.AD_Process_ID = rs.getInt (i);
else if (columnName.equalsIgnoreCase("ReadOnlyLogic"))
vo.ReadOnlyLogic = rs.getString (i);
else if (columnName.equalsIgnoreCase("ObscureType"))
vo.ObscureType = rs.getString (i);
//
else if (columnName.equalsIgnoreCase("AD_Reference_Value_ID"))
vo.AD_Reference_Value_ID = rs.getInt(i);
else if (columnName.equalsIgnoreCase("ValidationCode"))
vo.ValidationCode = rs.getString(i);
else if (columnName.equalsIgnoreCase("ColumnSQL"))
vo.ColumnSQL = rs.getString(i);
}
if (vo.Header == null)
vo.Header = vo.ColumnName;
}
catch (SQLException e)
{
CLogger.get().log(Level.SEVERE, "create", e);
return null;
}
vo.initFinish();
return vo;
} // create
/**
* Init Field for Process Parameter
* @param ctx context
* @param WindowNo window
* @param rs result set AD_Process_Para
* @return MFieldVO
*/
public static MFieldVO createParameter (Properties ctx, int WindowNo, ResultSet rs)
{
MFieldVO vo = new MFieldVO (ctx, WindowNo, 0, 0, false);
vo.isProcess = true;
vo.IsDisplayed = true;
vo.IsReadOnly = false;
vo.IsUpdateable = true;
try
{
vo.AD_Table_ID = 0;
vo.AD_Column_ID = rs.getInt("AD_Process_Para_ID"); // **
vo.ColumnName = rs.getString("ColumnName");
vo.Header = rs.getString("Name");
vo.Description = rs.getString("Description");
vo.Help = rs.getString("Help");
vo.displayType = rs.getInt("AD_Reference_ID");
vo.IsMandatory = rs.getString("IsMandatory").equals("Y");
vo.FieldLength = rs.getInt("FieldLength");
vo.DisplayLength = vo.FieldLength;
vo.DefaultValue = rs.getString("DefaultValue");
vo.DefaultValue2 = rs.getString("DefaultValue2");
vo.VFormat = rs.getString("VFormat");
vo.ValueMin = rs.getString("ValueMin");
vo.ValueMax = rs.getString("ValueMax");
vo.isRange = rs.getString("IsRange").equals("Y");
//
vo.AD_Reference_Value_ID = rs.getInt("AD_Reference_Value_ID");
vo.ValidationCode = rs.getString("ValidationCode");
}
catch (SQLException e)
{
CLogger.get().log(Level.SEVERE, "createParameter", e);
}
//
vo.initFinish();
if (vo.DefaultValue2 == null)
vo.DefaultValue2 = "";
return vo;
} // createParameter
/**
* Create range "to" Parameter Field from "from" Parameter Field
* @param voF field value object
* @return to MFieldVO
*/
public static MFieldVO createParameter (MFieldVO voF)
{
MFieldVO voT = new MFieldVO (voF.ctx, voF.WindowNo, voF.TabNo, voF.AD_Window_ID, voF.tabReadOnly);
voT.isProcess = true;
voT.IsDisplayed = true;
voT.IsReadOnly = false;
voT.IsUpdateable = true;
//
voT.AD_Table_ID = voF.AD_Table_ID;
voT.AD_Column_ID = voF.AD_Column_ID; // AD_Process_Para_ID
voT.ColumnName = voF.ColumnName;
voT.Header = voF.Header;
voT.Description = voF.Description;
voT.Help = voF.Help;
voT.displayType = voF.displayType;
voT.IsMandatory = voF.IsMandatory;
voT.FieldLength = voF.FieldLength;
voT.DisplayLength = voF.FieldLength;
voT.DefaultValue = voF.DefaultValue2;
voT.VFormat = voF.VFormat;
voT.ValueMin = voF.ValueMin;
voT.ValueMax = voF.ValueMax;
voT.isRange = voF.isRange;
//
return voT;
} // createParameter
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -