PortaleOrdiniGruppo/JavaServletSrc/pi_fapprovaR.java
2025-03-24 15:28:26 +01:00

436 lines
19 KiB
Java
Raw Permalink Blame History

// * --- Area Manuale = BO - Header
// * --- Fine Area Manuale
public class pi_fapprovaR implements CallerWithObjs {
// gestori associati a particolari eventi ('Routine start')
public static volatile java.util.Map<String,java.util.List<com.zucchetti.sitepainter.EventHandler>> specificEventsHandlers;
// gestori associati a tutti gli eventi
public static volatile java.util.List<com.zucchetti.sitepainter.EventHandler> allEventsHandlers;
// indica se si sta gestendo un evento scatenato da questa routine per restituire il valore corretto di i_EntityName ed i_EntityType
static boolean m_bEventRunning;
public String m_cLastMsgError;
public boolean m_bError;
// 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;
// Variabile di caller (variabili di caller): passata nel costruttore
public CallerWithObjs m_Caller;
public String m_cPhName_poloidoc_mast;
public String m_cServer_poloidoc_mast;
public String m_cPhName_metridoc_mast;
public String m_cServer_metridoc_mast;
public String m_cPhName_fconndoc_mast;
public String m_cServer_fconndoc_mast;
public String m_cPhName_logaut;
public String m_cServer_logaut;
String m_cServer;
String m_cPhName;
CPPhTableWrInfo m_oWrInfo;
String m_cQuery;
String m_cQueryTable;
String m_cSql;
java.util.List<String> m_oParameters;
String m_cWhere;
int m_nUpdatedRows;
// Contiene il messaggio di errore dell'ultima select terminata a causa della caduta della connessione
String m_cConnectivityError;
public MemoryCursor_pi_qord_mast_vqr pDATI;
public String res;
// * --- Area Manuale = BO - Properties
// * --- Fine Area Manuale
public pi_fapprovaR (CPContext p_ContextObject, Caller caller) {
if (caller == null)
m_Caller = CallerWithObjsImpl.EMPTY;
else if (caller instanceof CallerWithObjs)
m_Caller = (CallerWithObjs)caller;
else
m_Caller = new CallerWithObjsImpl(caller);
m_Ctx=p_ContextObject;
// Assegnazione della variabile di collegamento con il database
m_Sql=m_Ctx.GetSql();
/* Impostazione dell'ambiente globale: il businness object si collega
all'oggetto globale (unico per pi<70> 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 <20> contenuta nel global object.
*/
p_ContextObject = p_ContextObject.DisabledDataFilteringVersion();
CPSecurity.RoutineCallableByProgram("pi_fapprova",m_Caller);
m_cPhName_poloidoc_mast = p_ContextObject.GetPhName("poloidoc_mast");
if (m_cPhName_poloidoc_mast.endsWith(CPSecurity.FILTER_QUERY_POSTFIX)) {
m_cPhName_poloidoc_mast = m_cPhName_poloidoc_mast+" "+m_Ctx.GetWritePhName("poloidoc_mast");
}
m_cServer_poloidoc_mast = p_ContextObject.GetServer("poloidoc_mast");
m_cPhName_metridoc_mast = p_ContextObject.GetPhName("metridoc_mast");
if (m_cPhName_metridoc_mast.endsWith(CPSecurity.FILTER_QUERY_POSTFIX)) {
m_cPhName_metridoc_mast = m_cPhName_metridoc_mast+" "+m_Ctx.GetWritePhName("metridoc_mast");
}
m_cServer_metridoc_mast = p_ContextObject.GetServer("metridoc_mast");
m_cPhName_fconndoc_mast = p_ContextObject.GetPhName("fconndoc_mast");
if (m_cPhName_fconndoc_mast.endsWith(CPSecurity.FILTER_QUERY_POSTFIX)) {
m_cPhName_fconndoc_mast = m_cPhName_fconndoc_mast+" "+m_Ctx.GetWritePhName("fconndoc_mast");
}
m_cServer_fconndoc_mast = p_ContextObject.GetServer("fconndoc_mast");
m_cPhName_logaut = p_ContextObject.GetPhName("logaut");
if (m_cPhName_logaut.endsWith(CPSecurity.FILTER_QUERY_POSTFIX)) {
m_cPhName_logaut = m_cPhName_logaut+" "+m_Ctx.GetWritePhName("logaut");
}
m_cServer_logaut = p_ContextObject.GetServer("logaut");
Blank();
}
public double GetNumber(String p_cVarName,String p_cType,int len,int dec) {
return 0;
}
public String GetString(String p_cVarName,String p_cType,int len,int dec) {
if (CPLib.eqr("m_cVQRList",p_cVarName)) {
return m_cVQRList;
} else if (CPLib.eqr("i_InvokedRoutines",p_cVarName)) {
return i_InvokedRoutines;
} else if (m_bEventRunning && CPLib.eqr("i_EntityName",p_cVarName)) {
return "pi_fapprova";
} else if (m_bEventRunning && CPLib.eqr("i_EntityType",p_cVarName)) {
return "function";
}
if (CPLib.eqr("res",p_cVarName)) {
return res;
}
return "";
}
public java.sql.Date GetDate(String p_cVarName,String p_cType,int len,int dec) {
return CPLib.NullDate();
}
public java.sql.Timestamp GetDateTime(String p_cVarName,String p_cType,int len,int dec) {
return CPLib.NullDateTime();
}
public boolean GetLogic(String p_cVarName,String p_cType,int len,int dec) {
return false;
}
public CPMemoryCursor GetMemoryCursor(String p_cVarName,String p_cType,int len,int dec) {
if (CPLib.eqr("pDATI",p_cVarName)) {
return pDATI;
}
return null;
}
public CPMemoryCursorRow GetMemoryCursorRow(String p_cVarName,String p_cType,int len,int dec) {
return null;
}
public com.zucchetti.sitepainter.datatypes.CPJSONStruct GetJSON(String p_cVarName,String p_cType,int len,int dec) {
return com.zucchetti.sitepainter.datatypes.CPJSONStruct.EmptyStruct();
}
public void SetNumber(String p_cVarName,String p_cType,int len,int dec,double value) {
}
public void SetString(String p_cVarName,String p_cType,int len,int dec,String value) {
if (CPLib.eqr("res",p_cVarName)) {
res = value;
return;
}
}
public void SetDate(String p_cVarName,String p_cType,int len,int dec,java.sql.Date value) {
}
public void SetDateTime(String p_cVarName,String p_cType,int len,int dec,java.sql.Timestamp value) {
}
public void SetLogic(String p_cVarName,String p_cType,int len,int dec,boolean value) {
}
public void SetMemoryCursorRow(String p_cVarName,String p_cType,int len,int dec,CPMemoryCursorRow value) {
}
public void SetMemoryCursor(String p_cVarName,String p_cType,int len,int dec,CPMemoryCursor value) {
if (CPLib.eqr("pDATI",p_cVarName)) {
pDATI = (MemoryCursor_pi_qord_mast_vqr)value;
return;
}
}
public void SetJSON(String p_cVarName,String p_cType,int len,int dec,com.zucchetti.sitepainter.datatypes.CPJSONStruct value) {
}
public void CalledBatchEnd() {
}
void Page_1() throws Exception {
/* pDATI MemoryCursor(pi_qord_mast.vqr) */
/* res Char(0) */
for (MemoryCursorRow_pi_qord_mast_vqr x : pDATI._iterable_()) {
/* Case x.AZIENDA="POLOI" */
if (CPLib.eqr(x.AZIENDA,"POLOI")) {
// * --- Write into POLOIDOC_MAST from values
m_Sql.RequireTransaction();
m_cServer = m_Ctx.GetServer("POLOIDOC_MAST");
m_cPhName = m_Ctx.GetPhName("POLOIDOC_MAST");
m_oWrInfo = CPPhTableWrInfo.GetCPPhTableWrInfo(m_Ctx,"POLOIDOC_MAST",m_Ctx.GetCompany());
m_oParameters = CPLib.GetParamsForSqlUpdate(m_cServer);
m_cSql = CPLib.GetSQLPrefixComment("pi_fapprova",5,"00000005")+"Update "+m_oWrInfo.GetTableWriteName()+" set ";
m_cSql = m_cSql+"MVFLPROV = "+CPLib.ToSQL("N","C",1,0,m_cServer)+", ";
m_cSql = CPLib.AddCPCCCHKUpdate(m_Ctx,m_cSql,"POLOIDOC_MAST",false,true);
m_cSql = m_cSql+" where ";
m_cSql = m_cSql+"MVSERIAL = "+CPSql.SQLValueAdapter(CPLib.ToSQL(x.MVSERIAL,"?",0,0,m_cServer),m_cServer,x.MVSERIAL)+"";
m_cSql = m_cSql+m_oWrInfo.WhereFilter();
m_nUpdatedRows = m_Sql.Update(m_cServer,m_cSql,m_oParameters);
if (CPLib.lt(m_nUpdatedRows,0)) {
m_nUpdatedRows = 0;
}
m_Sql.CompleteTransaction();
m_cLastMsgError = m_Sql.TransactionErrorMessage();
if (CPLib.lt(m_nUpdatedRows,1)) {
// No rows updated
/* res := "Errore approvazione ordine"+ x.AZIENDA+x.MVSERIAL */
res = "Errore approvazione ordine"+x.AZIENDA+x.MVSERIAL;
// Exit Loop
if (true) {
break;
}
} else if (CPLib.ne(m_cLastMsgError,"")) {
m_bError = true;
}
// * --- Insert into LOGAUT from values
m_Sql.RequireTransaction();
m_cServer = m_Ctx.GetServer("LOGAUT");
m_cPhName = m_Ctx.GetPhName("LOGAUT");
m_oWrInfo = CPPhTableWrInfo.GetCPPhTableWrInfo(m_Ctx,"LOGAUT",m_Ctx.GetCompany());
m_oParameters = CPLib.GetParamsForSqlUpdate(m_cServer);
m_cSql = CPLib.GetSQLPrefixComment("pi_fapprova",5,"00000008")+CPLib.InsertIntoStatement(m_Ctx,m_oWrInfo)+" (";
m_cSql = m_cSql+GetFieldsName_00000008(m_Ctx,m_oWrInfo);
m_cSql = m_cSql+") values (";
m_cSql = m_cSql+""+CPLib.ToSQL(x.AZIENDA,"?",0,0,m_cServer)+", ";
m_cSql = m_cSql+""+CPLib.ToSQL(x.MVSERIAL,"?",0,0,m_cServer)+", ";
m_cSql = m_cSql+""+CPLib.ToSQL(Utilities.Make(m_Ctx,m_Caller).UserCode(),"?",0,0,m_cServer)+", ";
m_cSql = m_cSql+m_oWrInfo.InsertValues();
m_cSql = CPLib.AddCPCCCHKValue(m_Ctx,m_cSql,"LOGAUT",true);
m_cSql = m_cSql+")";
m_nUpdatedRows = m_Sql.Update(m_cServer,m_cSql,m_oParameters);
if (CPLib.lt(m_nUpdatedRows,0)) {
m_Sql.AbortTransaction();
}
m_Sql.CompleteTransaction();
m_cLastMsgError = m_Sql.TransactionErrorMessage();
if (CPLib.ne(m_cLastMsgError,"")) {
m_bError = true;
}
/* Case x.AZIENDA="METRI" */
} else if (CPLib.eqr(x.AZIENDA,"METRI")) {
// * --- Write into METRIDOC_MAST from values
m_Sql.RequireTransaction();
m_cServer = m_Ctx.GetServer("METRIDOC_MAST");
m_cPhName = m_Ctx.GetPhName("METRIDOC_MAST");
m_oWrInfo = CPPhTableWrInfo.GetCPPhTableWrInfo(m_Ctx,"METRIDOC_MAST",m_Ctx.GetCompany());
m_oParameters = CPLib.GetParamsForSqlUpdate(m_cServer);
m_cSql = CPLib.GetSQLPrefixComment("pi_fapprova",5,"00000009")+"Update "+m_oWrInfo.GetTableWriteName()+" set ";
m_cSql = m_cSql+"MVFLPROV = "+CPLib.ToSQL("N","C",1,0,m_cServer)+", ";
m_cSql = CPLib.AddCPCCCHKUpdate(m_Ctx,m_cSql,"METRIDOC_MAST",false,true);
m_cSql = m_cSql+" where ";
m_cSql = m_cSql+"MVSERIAL = "+CPSql.SQLValueAdapter(CPLib.ToSQL(x.MVSERIAL,"?",0,0,m_cServer),m_cServer,x.MVSERIAL)+"";
m_cSql = m_cSql+m_oWrInfo.WhereFilter();
m_nUpdatedRows = m_Sql.Update(m_cServer,m_cSql,m_oParameters);
if (CPLib.lt(m_nUpdatedRows,0)) {
m_nUpdatedRows = 0;
}
m_Sql.CompleteTransaction();
m_cLastMsgError = m_Sql.TransactionErrorMessage();
if (CPLib.lt(m_nUpdatedRows,1)) {
// No rows updated
/* res := "Errore approvazione ordine"+ x.AZIENDA+x.MVSERIAL */
res = "Errore approvazione ordine"+x.AZIENDA+x.MVSERIAL;
// Exit Loop
if (true) {
break;
}
} else if (CPLib.ne(m_cLastMsgError,"")) {
m_bError = true;
}
// * --- Insert into LOGAUT from values
m_Sql.RequireTransaction();
m_cServer = m_Ctx.GetServer("LOGAUT");
m_cPhName = m_Ctx.GetPhName("LOGAUT");
m_oWrInfo = CPPhTableWrInfo.GetCPPhTableWrInfo(m_Ctx,"LOGAUT",m_Ctx.GetCompany());
m_oParameters = CPLib.GetParamsForSqlUpdate(m_cServer);
m_cSql = CPLib.GetSQLPrefixComment("pi_fapprova",5,"0000000C")+CPLib.InsertIntoStatement(m_Ctx,m_oWrInfo)+" (";
m_cSql = m_cSql+GetFieldsName_0000000C(m_Ctx,m_oWrInfo);
m_cSql = m_cSql+") values (";
m_cSql = m_cSql+""+CPLib.ToSQL(x.AZIENDA,"?",0,0,m_cServer)+", ";
m_cSql = m_cSql+""+CPLib.ToSQL(x.MVSERIAL,"?",0,0,m_cServer)+", ";
m_cSql = m_cSql+""+CPLib.ToSQL(Utilities.Make(m_Ctx,m_Caller).UserCode(),"?",0,0,m_cServer)+", ";
m_cSql = m_cSql+m_oWrInfo.InsertValues();
m_cSql = CPLib.AddCPCCCHKValue(m_Ctx,m_cSql,"LOGAUT",true);
m_cSql = m_cSql+")";
m_nUpdatedRows = m_Sql.Update(m_cServer,m_cSql,m_oParameters);
if (CPLib.lt(m_nUpdatedRows,0)) {
m_Sql.AbortTransaction();
}
m_Sql.CompleteTransaction();
m_cLastMsgError = m_Sql.TransactionErrorMessage();
if (CPLib.ne(m_cLastMsgError,"")) {
m_bError = true;
}
/* Case x.AZIENDA="FCONN" */
} else if (CPLib.eqr(x.AZIENDA,"FCONN")) {
// * --- Write into FCONNDOC_MAST from values
m_Sql.RequireTransaction();
m_cServer = m_Ctx.GetServer("FCONNDOC_MAST");
m_cPhName = m_Ctx.GetPhName("FCONNDOC_MAST");
m_oWrInfo = CPPhTableWrInfo.GetCPPhTableWrInfo(m_Ctx,"FCONNDOC_MAST",m_Ctx.GetCompany());
m_oParameters = CPLib.GetParamsForSqlUpdate(m_cServer);
m_cSql = CPLib.GetSQLPrefixComment("pi_fapprova",5,"0000000D")+"Update "+m_oWrInfo.GetTableWriteName()+" set ";
m_cSql = m_cSql+"MVFLPROV = "+CPLib.ToSQL("N","C",1,0,m_cServer)+", ";
m_cSql = CPLib.AddCPCCCHKUpdate(m_Ctx,m_cSql,"FCONNDOC_MAST",false,true);
m_cSql = m_cSql+" where ";
m_cSql = m_cSql+"MVSERIAL = "+CPSql.SQLValueAdapter(CPLib.ToSQL(x.MVSERIAL,"?",0,0,m_cServer),m_cServer,x.MVSERIAL)+"";
m_cSql = m_cSql+m_oWrInfo.WhereFilter();
m_nUpdatedRows = m_Sql.Update(m_cServer,m_cSql,m_oParameters);
if (CPLib.lt(m_nUpdatedRows,0)) {
m_nUpdatedRows = 0;
}
m_Sql.CompleteTransaction();
m_cLastMsgError = m_Sql.TransactionErrorMessage();
if (CPLib.lt(m_nUpdatedRows,1)) {
// No rows updated
/* res := "Errore approvazione ordine"+ x.AZIENDA+x.MVSERIAL */
res = "Errore approvazione ordine"+x.AZIENDA+x.MVSERIAL;
// Exit Loop
if (true) {
break;
}
} else if (CPLib.ne(m_cLastMsgError,"")) {
m_bError = true;
}
// * --- Insert into LOGAUT from values
m_Sql.RequireTransaction();
m_cServer = m_Ctx.GetServer("LOGAUT");
m_cPhName = m_Ctx.GetPhName("LOGAUT");
m_oWrInfo = CPPhTableWrInfo.GetCPPhTableWrInfo(m_Ctx,"LOGAUT",m_Ctx.GetCompany());
m_oParameters = CPLib.GetParamsForSqlUpdate(m_cServer);
m_cSql = CPLib.GetSQLPrefixComment("pi_fapprova",5,"00000010")+CPLib.InsertIntoStatement(m_Ctx,m_oWrInfo)+" (";
m_cSql = m_cSql+GetFieldsName_00000010(m_Ctx,m_oWrInfo);
m_cSql = m_cSql+") values (";
m_cSql = m_cSql+""+CPLib.ToSQL(x.AZIENDA,"?",0,0,m_cServer)+", ";
m_cSql = m_cSql+""+CPLib.ToSQL(x.MVSERIAL,"?",0,0,m_cServer)+", ";
m_cSql = m_cSql+""+CPLib.ToSQL(Utilities.Make(m_Ctx,m_Caller).UserCode(),"?",0,0,m_cServer)+", ";
m_cSql = m_cSql+m_oWrInfo.InsertValues();
m_cSql = CPLib.AddCPCCCHKValue(m_Ctx,m_cSql,"LOGAUT",true);
m_cSql = m_cSql+")";
m_nUpdatedRows = m_Sql.Update(m_cServer,m_cSql,m_oParameters);
if (CPLib.lt(m_nUpdatedRows,0)) {
m_Sql.AbortTransaction();
}
m_Sql.CompleteTransaction();
m_cLastMsgError = m_Sql.TransactionErrorMessage();
if (CPLib.ne(m_cLastMsgError,"")) {
m_bError = true;
}
} // End Case
/* res := "Ordine approvato" */
res = "Ordine approvato";
}
/* Return res */
throw new Stop(res);
}
void _init_() {
}
public String RunAsync(MemoryCursor_pi_qord_mast_vqr p_pDATI) {
pDATI = p_pDATI;
return CPAsyncRoutine.CreateAsyncAndStart(
new CPAsyncRoutine.AsyncRunnable() {
public void Compute(CPAsyncRoutine.AsyncResult p_oResult) {
try {
p_oResult.m_oResult=new Stop(Run());
} finally {
//evito di tenere nell'heap della virtual machine riferimenti non piu' usati
m_Caller = null;
m_Sql = null;
m_Ctx = null;
}
}
}
);
}
public String Run(MemoryCursor_pi_qord_mast_vqr p_pDATI) {
pDATI = p_pDATI;
return Run();
}
public String Run() {
String l_result;
l_result = "";
m_Ctx = m_Ctx.DisabledDataFilteringVersion();
try {
try {
try {
try {
m_bEventRunning = true;
com.zucchetti.sitepainter.EventHandler.notifyEvent("Run start",this,m_Ctx,specificEventsHandlers,allEventsHandlers);
} finally {
m_bEventRunning = false;
}
Page_1();
} finally {
try {
m_bEventRunning = true;
com.zucchetti.sitepainter.EventHandler.notifyEvent(com.zucchetti.sitepainter.EventHandler.RUN_END,this,m_Ctx,specificEventsHandlers,allEventsHandlers);
} finally {
m_bEventRunning = false;
}
}
} catch(Stop stop_value) {
l_result = stop_value.GetString();
} catch(RoutineException l_transactionRaise) {
//non va segnalato come errore
} catch(Exception fault) {
l_result = "";
CPStdCounter.Error(fault);
CallerExImpl l_oTraceSink;
l_oTraceSink = new CallerExImpl(m_Caller,"");
if (l_oTraceSink.HasWorkingVar("m_cFaultTrace")) {
if ( ! (CPLib.IsAdministrator(m_Ctx)) && m_Ctx.HasAdministeredUsers()) {
l_oTraceSink.SetString("m_cFaultTrace","C",0,0,"MSG_ADMIN_REQUIRED");
} else {
l_oTraceSink.SetString("m_cFaultTrace","C",0,0,CPLib.DumpException(fault));
}
}
}
} finally {
m_Ctx.EnableDataFiltering();
}
return l_result;
}
public static pi_fapprovaR Make(CPContext p_Ctx, Caller p_Caller) {
return new pi_fapprovaR(p_Ctx, p_Caller);
}
public static pi_fapprovaR Make(CPContext p_Ctx) {
return new pi_fapprovaR(p_Ctx, CPSecurity.EXECUTE_ALL_ROUTINES);
}
public void Blank() {
pDATI = new MemoryCursor_pi_qord_mast_vqr();
res = CPLib.Space(0);
}
// * --- Area Manuale = BO - Methods
// * --- Fine Area Manuale
// ENTITY_VQR:
public static final String m_cVQRList = "";
// ENTITY_BATCHES: ,pi_fapprova,
public static final String i_InvokedRoutines = ",pi_fapprova,";
public static String[] m_cRunParameterNames={"pDATI"};
protected static String GetFieldsName_00000008(CPContext p_Ctx,CPPhTableWrInfo p_oWrInfo) {
String p_cSql = "";
p_cSql = p_cSql+"AZIENDA,";
p_cSql = p_cSql+"MVSERIAL,";
p_cSql = p_cSql+"COD_UTE,";
p_cSql = p_cSql+p_oWrInfo.InsertFields();
p_cSql = CPLib.AddCPCCCHKName(p_Ctx,p_cSql,"LOGAUT",true);
return p_cSql;
}
protected static String GetFieldsName_0000000C(CPContext p_Ctx,CPPhTableWrInfo p_oWrInfo) {
String p_cSql = "";
p_cSql = p_cSql+"AZIENDA,";
p_cSql = p_cSql+"MVSERIAL,";
p_cSql = p_cSql+"COD_UTE,";
p_cSql = p_cSql+p_oWrInfo.InsertFields();
p_cSql = CPLib.AddCPCCCHKName(p_Ctx,p_cSql,"LOGAUT",true);
return p_cSql;
}
protected static String GetFieldsName_00000010(CPContext p_Ctx,CPPhTableWrInfo p_oWrInfo) {
String p_cSql = "";
p_cSql = p_cSql+"AZIENDA,";
p_cSql = p_cSql+"MVSERIAL,";
p_cSql = p_cSql+"COD_UTE,";
p_cSql = p_cSql+p_oWrInfo.InsertFields();
p_cSql = CPLib.AddCPCCCHKName(p_Ctx,p_cSql,"LOGAUT",true);
return p_cSql;
}
}