PortaleOrdiniGruppo/SPAdministration/sptablesBL.java
2025-03-24 15:28:26 +01:00

176 lines
6.5 KiB
Java

import java.util.*;
public class sptablesBL extends sptablesWV implements CPLib.QueryFilterFromApplication {
// Variabile che indica se il record è stato variato
public boolean m_bUpdated;
public int m_nRowStatus;
// Variabile che mantiene il vecchio timestamp
public String m_cOldCPCCCHK;
public java.util.List<String> m_oParameters;
protected String m_cPassword;
protected String m_cOTP;
// Variabile che indica il tipo dell'ultimo
// errore, o messaggio da comunicare all'interfaccia,
// che si è verificato impostando una variabile di work.
// I valori ammessi sono:
// - 1 : errore di campo obbligatorio
// - 2 : errore di check
// - 3 : valore non ammesso nel link
// - 4 : richiesta password
// - 5 : richiesto otp
public int m_nLastError;
public String m_cLastMsgError;
public String m_cLastWorkVarError;
// m_bCalculating==true la Calculate e' in esecuzione
public boolean m_bCalculating = false;
public static final String i_EntityName = "sptables";
public static final String i_EntityType = "dialog";
public static final boolean i_IsSon = false;
public boolean m_bSkipCheckOTPSecurity = true;
// Variabile di collegamento con il database: passata nel costruttore
public CPSql m_Sql;
// Variabile di contesto (variabili globali): passata nel costruttore
public CPContext m_Ctx;
// gestori eventi esterni al business object sono collegati inserendoli nella coppia di strutture dati seguenti
// gestori associati a particolari eventi ('Blank')
public static volatile HashMap specificEventsHandlers;
// gestori associati a tutti gli eventi
public static volatile ArrayList allEventsHandlers;
// metadati resi disponibili ai gestori di eventi
public static String[] m_EntityTables = {""};
// codice secondo sintassi delle business rules per produrre i dati da usare in un ideale documento che li rappresenti
public static final String i_StateStructure = "{}";
public static final String i_CompleteStateStructure = "{}";
public static final String i_ItemSequence = "";
public static final com.zucchetti.sitepainter.EntityItem[] i_EditableEntityItems = com.zucchetti.sitepainter.EntityItem.buildEditableItemsForEntity(GetLinkDef(),"",new String[][]{});
// dati usati internamente dai metodi BRxxx di BRCallerImpl
private static boolean _involved=true;
protected void _setInvolvedInBR(boolean involved) {
_involved=involved;
}
protected boolean _involvedInBR() {
return _involved;
}
public sptablesBL (CPContext p_ContextObject) {
/* Impostazione dell'ambiente globale: il businness object si collega
all'oggetto globale (unico per più istanze di una stessa applicazione)
per recuperare informazioni sul:
1) nome fisico della tabella di gestione;
2) nome fisico delle tabelle collegate nei link;
3) stringa di connessione.
L'azienda è contenuta nel global object. */
// Assegnazione della variabile di collegamento con il database
m_Sql = p_ContextObject.GetSql();
m_Ctx = p_ContextObject;
}
public void Blank() {
BlankStatusVariables();
// * --- Area Manuale = BO - Blank Record Init
// * --- Fine Area Manuale
SaveDependsOn();
NotifyEvent("Blank");
// * --- Area Manuale = BO - Blank Record End
// * --- Fine Area Manuale
}
public boolean IsUpdated() {
boolean l_bResult;
l_bResult = m_bUpdated;
return l_bResult;
}
public void SaveDependsOn() {
}
public void NotifyEvent(String p_cEvent) {
CPLib.NotifyEvent(p_cEvent,this,m_Ctx,specificEventsHandlers,allEventsHandlers);
}
// Funzioni di link legate alle variabili ed ai campi.
/* Gestione dei metodi per l'impostazione delle variabili di work.
I seguenti metodi sono pubblici perchè vengono chiamati dalla UI che
ha creato il business object o da batch.
*/
/* Gestione delle funzioni che rispondono lo stato delle variabili di work.
Vengono chiamate dalla UI per valutare la condizione di visibilità e di
abilitazione di un control.
*/
public boolean Set_Password(String p_pwd) {
m_cPassword = p_pwd;
return true;
}
public boolean Set_OTP(String p_otp) {
m_cOTP = p_otp;
return true;
}
public boolean Calculate() {
boolean l_bTmpRes;
l_bTmpRes = true;
boolean l_bResult;
l_bResult = true;
m_bCalculating = true;
// * --- Area Manuale = BO - Calculate
// * --- Fine Area Manuale
m_bCalculating = false;
return l_bResult;
}
protected void BlankStatusVariables() {
m_bUpdated = false;
}
public void CalledBatchEnd() {
if ( ! (m_bCalculating)) {
// Esecuzione dei calcoli
Calculate();
}
}
public final static String[] m_KeyColumns = {};
public static String QueryFilter(CPContext m_Ctx) {
String l_cFilter;
l_cFilter = CPLib.ApplicationQueryFilter("sptables","",m_KeyColumns,m_Ctx);
return l_cFilter;
}
public void SetFromContext(String s) {
SetFromContext(s,null);
}
public void SetFromContext(java.util.Properties p) {
SetFromContext("_dummy_",p);
}
public void SetFromContext(String s,java.util.Properties p) {
BlankStatusVariables();
Blank();
if ( ! (CPLib.Empty(s))) {
if (CPLib.IsNull(p)) {
p = CPLib.GetProperties(s);
}
boolean l_bFromHyperlink = CPLib.ne("_not_found_",CPLib.GetProperty(p,"m_cParameterSequence","_not_found_"));
SetUpdated();
if ( ! (l_bFromHyperlink)) {
SaveDependsOn();
}
}
}
public void SetUpdated() {
m_bUpdated = true;
}
public String EntityStatus() {
return "D";
}
public String LastErrorMessage() {
return m_cLastMsgError;
}
static void GetLinkDef0(Map<String,List<Map<String,String[]>>> tables) {
java.util.regex.Pattern zeroSplit;
zeroSplit = java.util.regex.Pattern.compile("\\x00");
Map<String,String[]> map;
List<Map<String,String[]>> items;
}
public static Map<String,List<Map<String,String[]>>> GetLinkDef() {
java.util.regex.Pattern zeroSplit;
zeroSplit = java.util.regex.Pattern.compile("\\x00");
Map<String,List<Map<String,String[]>>> tables;
tables = new HashMap<String,List<Map<String,String[]>>>();
Map<String,String[]> map;
List<Map<String,String[]>> items;
GetLinkDef0(tables);
return tables;
}
// * --- Area Manuale = BL - Methods
// * --- Fine Area Manuale
}