IDEMPIERE-5507 : Sync Print format items with Report view columns (#1597)

https://idempiere.atlassian.net/browse/IDEMPIERE-5507
This commit is contained in:
Nicolas Micoud 2023-01-24 13:48:27 +01:00 committed by GitHub
parent 2f07dafa82
commit 60678973a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 274 additions and 0 deletions

View File

@ -0,0 +1,70 @@
-- IDEMPIERE-5507
SELECT register_migration_script('202212020949_IDEMPIERE-5507.sql') FROM dual;
SET SQLBLANKLINES ON
SET DEFINE OFF
-- Dec 2, 2022, 9:49:26 AM CET
INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,PrintName,EntityType,AD_Element_UU) VALUES (203740,0,0,'Y',TO_TIMESTAMP('2022-12-02 09:49:26','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:49:26','YYYY-MM-DD HH24:MI:SS'),10,'Source','Source','Source','D','0c6a3546-aede-4714-9007-c0d0c64f6abd')
;
-- Dec 2, 2022, 9:50:21 AM CET
INSERT INTO AD_Reference (AD_Reference_ID,Name,ValidationType,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,IsOrderByValue,AD_Reference_UU) VALUES (200227,'PrintFormatItemSync Source','L',0,0,'Y',TO_TIMESTAMP('2022-12-02 09:50:20','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:50:20','YYYY-MM-DD HH24:MI:SS'),10,'D','N','85f03455-8e85-4a2c-bfd8-34e71ff29458')
;
-- Dec 2, 2022, 9:50:30 AM CET
INSERT INTO AD_Ref_List (AD_Ref_List_ID,Name,AD_Reference_ID,Value,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Ref_List_UU) VALUES (200620,'Table',200227,'1',0,0,'Y',TO_TIMESTAMP('2022-12-02 09:50:30','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:50:30','YYYY-MM-DD HH24:MI:SS'),10,'D','426df964-3b06-4e6e-b79d-561e33eeffd3')
;
-- Dec 2, 2022, 9:50:52 AM CET
INSERT INTO AD_Ref_List (AD_Ref_List_ID,Name,AD_Reference_ID,Value,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Ref_List_UU) VALUES (200621,'ReportView Column',200227,'2',0,0,'Y',TO_TIMESTAMP('2022-12-02 09:50:52','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:50:52','YYYY-MM-DD HH24:MI:SS'),10,'D','88ad19f5-aeca-420f-8710-0cfdb6ea2c1d')
;
-- Dec 2, 2022, 9:52:36 AM CET
INSERT INTO AD_Process (AD_Process_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,IsReport,Value,IsDirectPrint,Classname,AccessLevel,EntityType,Statistic_Count,Statistic_Seconds,IsBetaFunctionality,ShowHelp,CopyFromProcess,AD_Process_UU,AllowMultipleExecution) VALUES (200146,0,0,'Y',TO_TIMESTAMP('2022-12-02 09:52:36','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:52:36','YYYY-MM-DD HH24:MI:SS'),10,'Synchronize Print Format Items','N','PrintFormatItemSync','N','org.idempiere.process.PrintFormatItemSync','7','D',0,0,'N','Y','N','30fc78bd-0748-45f5-b74c-72230b9ec89d','P')
;
-- Dec 2, 2022, 9:53:07 AM CET
INSERT INTO AD_Process_Para (AD_Process_Para_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,AD_Process_ID,SeqNo,AD_Reference_ID,AD_Reference_Value_ID,IsRange,FieldLength,IsMandatory,ColumnName,IsCentrallyMaintained,EntityType,AD_Element_ID,AD_Process_Para_UU,IsEncrypted,IsAutocomplete) VALUES (200414,0,0,'Y',TO_TIMESTAMP('2022-12-02 09:53:07','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:53:07','YYYY-MM-DD HH24:MI:SS'),10,'Source',200146,10,17,200227,'N',0,'Y','Source','Y','D',203740,'26e7c8d1-4fa7-4ee6-9ced-337bef3b57bc','N','N')
;
-- Dec 2, 2022, 9:53:28 AM CET
INSERT INTO AD_Process_Para (AD_Process_Para_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,Description,Help,AD_Process_ID,SeqNo,AD_Reference_ID,IsRange,FieldLength,IsMandatory,ColumnName,IsCentrallyMaintained,EntityType,AD_Element_ID,AD_Process_Para_UU,IsEncrypted,IsAutocomplete) VALUES (200415,0,0,'Y',TO_TIMESTAMP('2022-12-02 09:53:27','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:53:27','YYYY-MM-DD HH24:MI:SS'),10,'Report View','View used to generate this report','The Report View indicates the view used to generate this report.',200146,20,19,'N',22,'Y','AD_ReportView_ID','Y','D',1252,'6e2d3940-eebf-4652-aac8-2d15308b64e5','N','N')
;
-- Dec 2, 2022, 9:53:41 AM CET
INSERT INTO AD_Process_Para (AD_Process_Para_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,Description,Help,AD_Process_ID,SeqNo,AD_Reference_ID,IsRange,FieldLength,IsMandatory,ColumnName,IsCentrallyMaintained,EntityType,AD_Element_ID,AD_Process_Para_UU,IsEncrypted,IsAutocomplete) VALUES (200416,0,0,'Y',TO_TIMESTAMP('2022-12-02 09:53:40','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:53:40','YYYY-MM-DD HH24:MI:SS'),10,'Print Format','Data Print Format','The print format determines how data is rendered for print.',200146,30,19,'N',0,'N','AD_PrintFormat_ID','Y','D',1790,'566062b7-d296-4d1a-b388-a9edccbcd484','N','N')
;
-- Dec 2, 2022, 9:53:59 AM CET
INSERT INTO AD_Process_Para (AD_Process_Para_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,AD_Process_ID,SeqNo,AD_Reference_ID,AD_Reference_Value_ID,IsRange,FieldLength,IsMandatory,DefaultValue,ColumnName,IsCentrallyMaintained,EntityType,AD_Process_Para_UU,IsEncrypted,IsAutocomplete) VALUES (200417,0,0,'Y',TO_TIMESTAMP('2022-12-02 09:53:59','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:53:59','YYYY-MM-DD HH24:MI:SS'),10,'AD_Language',200146,40,18,327,'N',6,'Y','@SQL=SELECT AD_Language FROM AD_Client WHERE AD_Client_ID = @#AD_Client_ID@','AD_Language','N','D','133dccfd-5437-4d7a-bb6f-78521535f5c0','N','N')
;
-- Dec 2, 2022, 9:54:36 AM CET
INSERT INTO AD_Menu (AD_Menu_ID,Name,Action,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsSummary,AD_Process_ID,IsSOTrx,IsReadOnly,EntityType,IsCentrallyMaintained,AD_Menu_UU) VALUES (200220,'Synchronize Print Format Items','P',0,0,'Y',TO_TIMESTAMP('2022-12-02 09:54:36','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:54:36','YYYY-MM-DD HH24:MI:SS'),10,'N',200146,'Y','N','D','Y','f0f49a8a-cb37-457a-b9e6-275d026798a9')
;
-- Dec 2, 2022, 9:54:36 AM CET
INSERT INTO AD_TreeNodeMM (AD_Client_ID,AD_Org_ID, IsActive,Created,CreatedBy,Updated,UpdatedBy, AD_Tree_ID, Node_ID, Parent_ID, SeqNo, AD_TreeNodeMM_UU) SELECT t.AD_Client_ID, 0, 'Y', getDate(), 10, getDate(), 10,t.AD_Tree_ID, 200220, 0, 999, Generate_UUID() FROM AD_Tree t WHERE t.AD_Client_ID=0 AND t.IsActive='Y' AND t.IsAllNodes='Y' AND t.TreeType='MM' AND NOT EXISTS (SELECT * FROM AD_TreeNodeMM e WHERE e.AD_Tree_ID=t.AD_Tree_ID AND Node_ID=200220)
;
-- Dec 2, 2022, 9:57:09 AM CET
UPDATE AD_TreeNodeMM SET Parent_ID=326, SeqNo=6,Updated=TO_TIMESTAMP('2022-12-02 09:57:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Tree_ID=10 AND Node_ID=200220
;
-- Dec 2, 2022, 9:57:09 AM CET
UPDATE AD_TreeNodeMM SET Parent_ID=326, SeqNo=7,Updated=TO_TIMESTAMP('2022-12-02 09:57:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Tree_ID=10 AND Node_ID=293
;
-- Dec 2, 2022, 9:57:09 AM CET
UPDATE AD_TreeNodeMM SET Parent_ID=326, SeqNo=8,Updated=TO_TIMESTAMP('2022-12-02 09:57:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Tree_ID=10 AND Node_ID=408
;
-- Dec 2, 2022, 9:57:09 AM CET
UPDATE AD_TreeNodeMM SET Parent_ID=326, SeqNo=9,Updated=TO_TIMESTAMP('2022-12-02 09:57:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Tree_ID=10 AND Node_ID=365
;
-- Dec 2, 2022, 9:57:09 AM CET
UPDATE AD_TreeNodeMM SET Parent_ID=326, SeqNo=10,Updated=TO_TIMESTAMP('2022-12-02 09:57:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Tree_ID=10 AND Node_ID=200156
;

View File

@ -0,0 +1,67 @@
-- IDEMPIERE-5507
SELECT register_migration_script('202212020949_IDEMPIERE-5507.sql') FROM dual;
-- Dec 2, 2022, 9:49:26 AM CET
INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,PrintName,EntityType,AD_Element_UU) VALUES (203740,0,0,'Y',TO_TIMESTAMP('2022-12-02 09:49:26','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:49:26','YYYY-MM-DD HH24:MI:SS'),10,'Source','Source','Source','D','0c6a3546-aede-4714-9007-c0d0c64f6abd')
;
-- Dec 2, 2022, 9:50:21 AM CET
INSERT INTO AD_Reference (AD_Reference_ID,Name,ValidationType,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,IsOrderByValue,AD_Reference_UU) VALUES (200227,'PrintFormatItemSync Source','L',0,0,'Y',TO_TIMESTAMP('2022-12-02 09:50:20','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:50:20','YYYY-MM-DD HH24:MI:SS'),10,'D','N','85f03455-8e85-4a2c-bfd8-34e71ff29458')
;
-- Dec 2, 2022, 9:50:30 AM CET
INSERT INTO AD_Ref_List (AD_Ref_List_ID,Name,AD_Reference_ID,Value,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Ref_List_UU) VALUES (200620,'Table',200227,'1',0,0,'Y',TO_TIMESTAMP('2022-12-02 09:50:30','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:50:30','YYYY-MM-DD HH24:MI:SS'),10,'D','426df964-3b06-4e6e-b79d-561e33eeffd3')
;
-- Dec 2, 2022, 9:50:52 AM CET
INSERT INTO AD_Ref_List (AD_Ref_List_ID,Name,AD_Reference_ID,Value,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,AD_Ref_List_UU) VALUES (200621,'ReportView Column',200227,'2',0,0,'Y',TO_TIMESTAMP('2022-12-02 09:50:52','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:50:52','YYYY-MM-DD HH24:MI:SS'),10,'D','88ad19f5-aeca-420f-8710-0cfdb6ea2c1d')
;
-- Dec 2, 2022, 9:52:36 AM CET
INSERT INTO AD_Process (AD_Process_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,IsReport,Value,IsDirectPrint,Classname,AccessLevel,EntityType,Statistic_Count,Statistic_Seconds,IsBetaFunctionality,ShowHelp,CopyFromProcess,AD_Process_UU,AllowMultipleExecution) VALUES (200146,0,0,'Y',TO_TIMESTAMP('2022-12-02 09:52:36','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:52:36','YYYY-MM-DD HH24:MI:SS'),10,'Synchronize Print Format Items','N','PrintFormatItemSync','N','org.idempiere.process.PrintFormatItemSync','7','D',0,0,'N','Y','N','30fc78bd-0748-45f5-b74c-72230b9ec89d','P')
;
-- Dec 2, 2022, 9:53:07 AM CET
INSERT INTO AD_Process_Para (AD_Process_Para_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,AD_Process_ID,SeqNo,AD_Reference_ID,AD_Reference_Value_ID,IsRange,FieldLength,IsMandatory,ColumnName,IsCentrallyMaintained,EntityType,AD_Element_ID,AD_Process_Para_UU,IsEncrypted,IsAutocomplete) VALUES (200414,0,0,'Y',TO_TIMESTAMP('2022-12-02 09:53:07','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:53:07','YYYY-MM-DD HH24:MI:SS'),10,'Source',200146,10,17,200227,'N',0,'Y','Source','Y','D',203740,'26e7c8d1-4fa7-4ee6-9ced-337bef3b57bc','N','N')
;
-- Dec 2, 2022, 9:53:28 AM CET
INSERT INTO AD_Process_Para (AD_Process_Para_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,Description,Help,AD_Process_ID,SeqNo,AD_Reference_ID,IsRange,FieldLength,IsMandatory,ColumnName,IsCentrallyMaintained,EntityType,AD_Element_ID,AD_Process_Para_UU,IsEncrypted,IsAutocomplete) VALUES (200415,0,0,'Y',TO_TIMESTAMP('2022-12-02 09:53:27','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:53:27','YYYY-MM-DD HH24:MI:SS'),10,'Report View','View used to generate this report','The Report View indicates the view used to generate this report.',200146,20,19,'N',22,'Y','AD_ReportView_ID','Y','D',1252,'6e2d3940-eebf-4652-aac8-2d15308b64e5','N','N')
;
-- Dec 2, 2022, 9:53:41 AM CET
INSERT INTO AD_Process_Para (AD_Process_Para_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,Description,Help,AD_Process_ID,SeqNo,AD_Reference_ID,IsRange,FieldLength,IsMandatory,ColumnName,IsCentrallyMaintained,EntityType,AD_Element_ID,AD_Process_Para_UU,IsEncrypted,IsAutocomplete) VALUES (200416,0,0,'Y',TO_TIMESTAMP('2022-12-02 09:53:40','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:53:40','YYYY-MM-DD HH24:MI:SS'),10,'Print Format','Data Print Format','The print format determines how data is rendered for print.',200146,30,19,'N',0,'N','AD_PrintFormat_ID','Y','D',1790,'566062b7-d296-4d1a-b388-a9edccbcd484','N','N')
;
-- Dec 2, 2022, 9:53:59 AM CET
INSERT INTO AD_Process_Para (AD_Process_Para_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,AD_Process_ID,SeqNo,AD_Reference_ID,AD_Reference_Value_ID,IsRange,FieldLength,IsMandatory,DefaultValue,ColumnName,IsCentrallyMaintained,EntityType,AD_Process_Para_UU,IsEncrypted,IsAutocomplete) VALUES (200417,0,0,'Y',TO_TIMESTAMP('2022-12-02 09:53:59','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:53:59','YYYY-MM-DD HH24:MI:SS'),10,'AD_Language',200146,40,18,327,'N',6,'Y','@SQL=SELECT AD_Language FROM AD_Client WHERE AD_Client_ID = @#AD_Client_ID@','AD_Language','N','D','133dccfd-5437-4d7a-bb6f-78521535f5c0','N','N')
;
-- Dec 2, 2022, 9:54:36 AM CET
INSERT INTO AD_Menu (AD_Menu_ID,Name,"action",AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsSummary,AD_Process_ID,IsSOTrx,IsReadOnly,EntityType,IsCentrallyMaintained,AD_Menu_UU) VALUES (200220,'Synchronize Print Format Items','P',0,0,'Y',TO_TIMESTAMP('2022-12-02 09:54:36','YYYY-MM-DD HH24:MI:SS'),10,TO_TIMESTAMP('2022-12-02 09:54:36','YYYY-MM-DD HH24:MI:SS'),10,'N',200146,'Y','N','D','Y','f0f49a8a-cb37-457a-b9e6-275d026798a9')
;
-- Dec 2, 2022, 9:54:36 AM CET
INSERT INTO AD_TreeNodeMM (AD_Client_ID,AD_Org_ID, IsActive,Created,CreatedBy,Updated,UpdatedBy, AD_Tree_ID, Node_ID, Parent_ID, SeqNo, AD_TreeNodeMM_UU) SELECT t.AD_Client_ID, 0, 'Y', statement_timestamp(), 10, statement_timestamp(), 10,t.AD_Tree_ID, 200220, 0, 999, Generate_UUID() FROM AD_Tree t WHERE t.AD_Client_ID=0 AND t.IsActive='Y' AND t.IsAllNodes='Y' AND t.TreeType='MM' AND NOT EXISTS (SELECT * FROM AD_TreeNodeMM e WHERE e.AD_Tree_ID=t.AD_Tree_ID AND Node_ID=200220)
;
-- Dec 2, 2022, 9:57:09 AM CET
UPDATE AD_TreeNodeMM SET Parent_ID=326, SeqNo=6,Updated=TO_TIMESTAMP('2022-12-02 09:57:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Tree_ID=10 AND Node_ID=200220
;
-- Dec 2, 2022, 9:57:09 AM CET
UPDATE AD_TreeNodeMM SET Parent_ID=326, SeqNo=7,Updated=TO_TIMESTAMP('2022-12-02 09:57:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Tree_ID=10 AND Node_ID=293
;
-- Dec 2, 2022, 9:57:09 AM CET
UPDATE AD_TreeNodeMM SET Parent_ID=326, SeqNo=8,Updated=TO_TIMESTAMP('2022-12-02 09:57:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Tree_ID=10 AND Node_ID=408
;
-- Dec 2, 2022, 9:57:09 AM CET
UPDATE AD_TreeNodeMM SET Parent_ID=326, SeqNo=9,Updated=TO_TIMESTAMP('2022-12-02 09:57:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Tree_ID=10 AND Node_ID=365
;
-- Dec 2, 2022, 9:57:09 AM CET
UPDATE AD_TreeNodeMM SET Parent_ID=326, SeqNo=10,Updated=TO_TIMESTAMP('2022-12-02 09:57:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=10 WHERE AD_Tree_ID=10 AND Node_ID=200156
;

View File

@ -0,0 +1,137 @@
/***********************************************************************
* This file is part of iDempiere ERP Open Source *
* http://www.idempiere.org *
* *
* Copyright (C) Contributors *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 *
* of the License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software *
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, *
* MA 02110-1301, USA. *
* *
* Contributors: *
* - Nicolas Micoud - TGI *
**********************************************************************/
package org.idempiere.process;
import java.util.ArrayList;
import org.compiere.model.Query;
import org.compiere.print.MPrintFormat;
import org.compiere.print.MPrintFormatItem;
import org.compiere.process.ProcessInfoParameter;
import org.compiere.process.SvrProcess;
import org.compiere.util.Language;
/**
* IDEMPIERE-5507 - Sync Print Format Items with Report View Columns
* @author Nicolas Micoud - TGI
*/
@org.adempiere.base.annotation.Process
public class PrintFormatItemSync extends SvrProcess {
private int p_reportViewID = 0;
private int p_printFormatID = 0;
private String p_language = "";
private String p_source = "";
private int no = 0;
final private static String SOURCE_TABLE = "1";
final private static String SOURCE_RV_COLUMN = "2";
/**
* Prepare - e.g., get Parameters.
*/
protected void prepare() {
ProcessInfoParameter[] para = getParameter();
for (int i = 0; i < para.length; i++) {
String name = para[i].getParameterName();
if (name.equals("AD_ReportView_ID"))
p_reportViewID = para[i].getParameterAsInt();
else if (name.equals("AD_PrintFormat_ID"))
p_printFormatID = para[i].getParameterAsInt();
else if (name.equals("AD_Language"))
p_language = para[i].getParameterAsString();
else if (name.equals("Source"))
p_source = para[i].getParameterAsString();
}
} // prepare
/**
* Perform process.
* @return Message
* @throws Exception if not successful
*/
protected String doIt() {
StringBuilder whereClause = new StringBuilder("AD_ReportView_ID = ?");
ArrayList<Object> listParams = new ArrayList<Object>();
listParams.add(p_reportViewID);
if (p_printFormatID > 0) {
whereClause.append(" AND AD_PrintFormat_ID = ?");
listParams.add(p_printFormatID);
}
Query query = new Query(getCtx(), MPrintFormat.Table_Name, whereClause.toString(), get_TrxName())
.setClient_ID()
.setParameters(listParams)
.setOnlyActiveRecords(true)
.setOrderBy("AD_PrintFormat_ID");
for (MPrintFormat pf : query.<MPrintFormat>list()) {
addMissingItems(pf);
}
return "@ProcessOK@ : " + no + " @AD_PrintFormatItem_ID@";
} // doIt
void addMissingItems(MPrintFormat pf) {
pf.setLanguage(Language.getLanguage(p_language)); // Force language of print format to get expected translations (and not get those from login)
ArrayList<Object> listParams = new ArrayList<Object>();
listParams.add(pf.getAD_PrintFormat_ID());
listParams.add(p_reportViewID);
StringBuilder whereClause = new StringBuilder("");
whereClause.append(" NOT EXISTS (SELECT * FROM AD_PrintFormatItem pfi")
.append(" WHERE pfi.AD_PrintFormat_ID = ?")
.append(" AND pfi.AD_Column_ID = AD_Column.AD_Column_ID)");
if (p_source.equals(SOURCE_TABLE))
whereClause.append(" AND AD_Column.AD_Table_ID = AD_ReportView.AD_Table_ID AND AD_ReportView.AD_ReportView_ID = ?");
else if (p_source.equals(SOURCE_RV_COLUMN))
whereClause.append(" AND AD_ReportView_Column.AD_ReportView_ID = ?");
Query query = new Query(getCtx(), "AD_Column", whereClause.toString(), get_TrxName())
.addJoinClause("INNER JOIN AD_ReportView ON (AD_Column.AD_Table_ID = AD_ReportView.AD_Table_ID)")
.setParameters(listParams)
.setOnlyActiveRecords(true)
.setOrderBy("AD_Column.AD_Column_ID");
if (p_source.equals(SOURCE_RV_COLUMN))
query.addJoinClause("INNER JOIN AD_ReportView_Column ON (AD_Column.AD_Column_ID = AD_ReportView_Column.AD_Column_ID)");
for (int columnID : query.getIDs()) {
MPrintFormatItem pfi = MPrintFormatItem.createFromColumn (pf, columnID, 0); // SeqNo initialized at 0 so is not displayed by default
statusUpdate(pf.getName() + " - " + pfi.getName());
addLog(pfi.getAD_PrintFormatItem_ID(), null, null, pf.getName() + " - " + pfi.getName(), MPrintFormatItem.Table_ID, pfi.getAD_PrintFormatItem_ID());
no++;
}
}
} // PrintFormatItemSync