IDEMPIERE-1265 Add Adaxa Sales Management. Add chart support to dashboard.

This commit is contained in:
Heng Sin Low 2013-10-04 18:16:40 +08:00
parent b173f3889b
commit 8a31f38f1a
9 changed files with 420 additions and 325 deletions

View File

@ -0,0 +1,86 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- Oct 4, 2013 2:14:15 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,50010,210876,'N','N','N',0,'N',22,'N',19,'N','N','Y','db439ec4-6b77-4ff5-8776-8072546bc082','Y','AD_Chart_ID','Chart','Y',TO_DATE('2013-10-04 14:14:00','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-10-04 14:14:00','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',54268,'N')
;
-- Oct 4, 2013 2:14:22 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
ALTER TABLE PA_DashboardContent ADD AD_Chart_ID NUMBER(10) DEFAULT NULL
;
-- Oct 4, 2013 2:14:24 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
ALTER TABLE PA_DashboardContent ADD CONSTRAINT ADChart_PADashboardContent FOREIGN KEY (AD_Chart_ID) REFERENCES ad_chart(ad_chart_id)
;
-- Oct 4, 2013 2:15:34 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsDefaultFocus,IsAdvancedField) VALUES (0,'N',50010,0,'N','N',210876,220,'Y',202524,'N','D','Chart','f123637a-5269-42a3-ac5f-5dd3fac19b8a','Y','N',100,0,TO_DATE('2013-10-04 14:15:25','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-10-04 14:15:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',190,1,'N',0,2,1,'N','N')
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=110, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57344
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=120, IsDisplayed='Y', XPosition=1,Updated=TO_DATE('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=51013
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=130,Updated=TO_DATE('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200262
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=140,Updated=TO_DATE('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200261
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=150,Updated=TO_DATE('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200263
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=160, IsDisplayed='Y', XPosition=1,Updated=TO_DATE('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202524
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=170, IsDisplayed='Y', XPosition=2,Updated=TO_DATE('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56504
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=180, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200268
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=190, IsDisplayed='Y', XPosition=2,Updated=TO_DATE('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200260
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=200, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202286
;
-- Oct 4, 2013 2:18:25 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET DisplayLogic='@AD_Process_ID@!0',Updated=TO_DATE('2013-10-04 14:18:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200261
;
-- Oct 4, 2013 2:18:32 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET DisplayLogic='@AD_Process_ID@!0',Updated=TO_DATE('2013-10-04 14:18:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200263
;
SELECT register_migration_script('201310040834_IDEMPIERE-1265.sql') FROM dual
;

View File

@ -0,0 +1,84 @@
-- Oct 4, 2013 2:14:15 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',1,50010,210876,'N','N','N',0,'N',22,'N',19,'N','N','Y','db439ec4-6b77-4ff5-8776-8072546bc082','Y','AD_Chart_ID','Chart','Y',TO_TIMESTAMP('2013-10-04 14:14:00','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-10-04 14:14:00','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',54268,'N')
;
-- Oct 4, 2013 2:14:22 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
ALTER TABLE PA_DashboardContent ADD COLUMN AD_Chart_ID NUMERIC(10) DEFAULT NULL
;
-- Oct 4, 2013 2:14:24 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
ALTER TABLE PA_DashboardContent ADD CONSTRAINT ADChart_PADashboardContent FOREIGN KEY (AD_Chart_ID) REFERENCES ad_chart(ad_chart_id)
;
-- Oct 4, 2013 2:15:34 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsDefaultFocus,IsAdvancedField) VALUES (0,'N',50010,0,'N','N',210876,220,'Y',202524,'N','D','Chart','f123637a-5269-42a3-ac5f-5dd3fac19b8a','Y','N',100,0,TO_TIMESTAMP('2013-10-04 14:15:25','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-10-04 14:15:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',190,1,'N',0,2,1,'N','N')
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=110, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57344
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=120, IsDisplayed='Y', XPosition=1,Updated=TO_TIMESTAMP('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=51013
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=130,Updated=TO_TIMESTAMP('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200262
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=140,Updated=TO_TIMESTAMP('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200261
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=150,Updated=TO_TIMESTAMP('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200263
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=160, IsDisplayed='Y', XPosition=1,Updated=TO_TIMESTAMP('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202524
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=170, IsDisplayed='Y', XPosition=2,Updated=TO_TIMESTAMP('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56504
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=180, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200268
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=190, IsDisplayed='Y', XPosition=2,Updated=TO_TIMESTAMP('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200260
;
-- Oct 4, 2013 2:17:27 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET SeqNo=200, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2013-10-04 14:17:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202286
;
-- Oct 4, 2013 2:18:25 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET DisplayLogic='@AD_Process_ID@!0',Updated=TO_TIMESTAMP('2013-10-04 14:18:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200261
;
-- Oct 4, 2013 2:18:32 PM MYT
-- IDEMPIERE-1265 Add Adaxa Sales Management
UPDATE AD_Field SET DisplayLogic='@AD_Process_ID@!0',Updated=TO_TIMESTAMP('2013-10-04 14:18:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200263
;
SELECT register_migration_script('201310040834_IDEMPIERE-1265.sql') FROM dual
;

View File

@ -41,6 +41,17 @@ public interface I_PA_DashboardContent
/** Load Meta Data */
/** Column name AD_Chart_ID */
public static final String COLUMNNAME_AD_Chart_ID = "AD_Chart_ID";
/** Set Chart */
public void setAD_Chart_ID (int AD_Chart_ID);
/** Get Chart */
public int getAD_Chart_ID();
public org.compiere.model.I_AD_Chart getAD_Chart() throws RuntimeException;
/** Column name AD_Client_ID */
public static final String COLUMNNAME_AD_Client_ID = "AD_Client_ID";
@ -251,6 +262,15 @@ public interface I_PA_DashboardContent
*/
public boolean isShowInDashboard();
/** Column name IsShowinLogin */
public static final String COLUMNNAME_IsShowinLogin = "IsShowinLogin";
/** Set IsShowinLogin */
public void setIsShowinLogin (boolean IsShowinLogin);
/** Get IsShowinLogin */
public boolean isShowinLogin();
/** Column name Line */
public static final String COLUMNNAME_Line = "Line";
@ -342,13 +362,13 @@ public interface I_PA_DashboardContent
/** Column name ZulFilePath */
public static final String COLUMNNAME_ZulFilePath = "ZulFilePath";
/** Set ZUL File Path.
* Absolute path to zul file
/** Set Gadget URI.
* URI for Dashboard Gadget
*/
public void setZulFilePath (String ZulFilePath);
/** Get ZUL File Path.
* Absolute path to zul file
/** Get Gadget URI.
* URI for Dashboard Gadget
*/
public String getZulFilePath();
}

View File

@ -92,19 +92,6 @@ public interface I_PA_DashboardContent_Access
public org.compiere.model.I_AD_User getAD_User() throws RuntimeException;
/** Column name ColumnNo */
public static final String COLUMNNAME_ColumnNo = "ColumnNo";
/** Set Column No.
* Dashboard content column number
*/
public void setColumnNo (int ColumnNo);
/** Get Column No.
* Dashboard content column number
*/
public int getColumnNo();
/** Column name Created */
public static final String COLUMNNAME_Created = "Created";
@ -134,54 +121,6 @@ public interface I_PA_DashboardContent_Access
*/
public boolean isActive();
/** Column name IsCollapsedByDefault */
public static final String COLUMNNAME_IsCollapsedByDefault = "IsCollapsedByDefault";
/** Set Collapsed By Default.
* Flag to set the initial state of collapsible field group.
*/
public void setIsCollapsedByDefault (boolean IsCollapsedByDefault);
/** Get Collapsed By Default.
* Flag to set the initial state of collapsible field group.
*/
public boolean isCollapsedByDefault();
/** Column name IsShowInDashboard */
public static final String COLUMNNAME_IsShowInDashboard = "IsShowInDashboard";
/** Set Show in Dashboard.
* Show the dashlet in the dashboard
*/
public void setIsShowInDashboard (boolean IsShowInDashboard);
/** Get Show in Dashboard.
* Show the dashlet in the dashboard
*/
public boolean isShowInDashboard();
/** Column name IsShowinLogin */
public static final String COLUMNNAME_IsShowinLogin = "IsShowinLogin";
/** Set IsShowinLogin */
public void setIsShowinLogin (boolean IsShowinLogin);
/** Get IsShowinLogin */
public boolean isShowinLogin();
/** Column name Line */
public static final String COLUMNNAME_Line = "Line";
/** Set Line No.
* Unique line for this document
*/
public void setLine (int Line);
/** Get Line No.
* Unique line for this document
*/
public int getLine();
/** Column name PA_DashboardContent_Access_ID */
public static final String COLUMNNAME_PA_DashboardContent_Access_ID = "PA_DashboardContent_Access_ID";

View File

@ -32,7 +32,7 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
/**
*
*/
private static final long serialVersionUID = 20130626L;
private static final long serialVersionUID = 20131004L;
/** Standard Constructor */
public X_PA_DashboardContent (Properties ctx, int PA_DashboardContent_ID, String trxName)
@ -81,6 +81,31 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
return sb.toString();
}
public org.compiere.model.I_AD_Chart getAD_Chart() throws RuntimeException
{
return (org.compiere.model.I_AD_Chart)MTable.get(getCtx(), org.compiere.model.I_AD_Chart.Table_Name)
.getPO(getAD_Chart_ID(), get_TrxName()); }
/** Set Chart.
@param AD_Chart_ID Chart */
public void setAD_Chart_ID (int AD_Chart_ID)
{
if (AD_Chart_ID < 1)
set_Value (COLUMNNAME_AD_Chart_ID, null);
else
set_Value (COLUMNNAME_AD_Chart_ID, Integer.valueOf(AD_Chart_ID));
}
/** Get Chart.
@return Chart */
public int getAD_Chart_ID ()
{
Integer ii = (Integer)get_Value(COLUMNNAME_AD_Chart_ID);
if (ii == null)
return 0;
return ii.intValue();
}
public org.compiere.model.I_AD_Process getAD_Process() throws RuntimeException
{
return (org.compiere.model.I_AD_Process)MTable.get(getCtx(), org.compiere.model.I_AD_Process.Table_Name)
@ -364,6 +389,27 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
return false;
}
/** Set IsShowinLogin.
@param IsShowinLogin IsShowinLogin */
public void setIsShowinLogin (boolean IsShowinLogin)
{
set_Value (COLUMNNAME_IsShowinLogin, Boolean.valueOf(IsShowinLogin));
}
/** Get IsShowinLogin.
@return IsShowinLogin */
public boolean isShowinLogin ()
{
Object oo = get_Value(COLUMNNAME_IsShowinLogin);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
/** Set Line No.
@param Line
Unique line for this document
@ -488,17 +534,17 @@ public class X_PA_DashboardContent extends PO implements I_PA_DashboardContent,
return (String)get_Value(COLUMNNAME_ProcessParameters);
}
/** Set ZUL File Path.
/** Set Gadget URI.
@param ZulFilePath
Absolute path to zul file
URI for Dashboard Gadget
*/
public void setZulFilePath (String ZulFilePath)
{
set_Value (COLUMNNAME_ZulFilePath, ZulFilePath);
}
/** Get ZUL File Path.
@return Absolute path to zul file
/** Get Gadget URI.
@return URI for Dashboard Gadget
*/
public String getZulFilePath ()
{

View File

@ -29,7 +29,7 @@ public class X_PA_DashboardContent_Access extends PO implements I_PA_DashboardCo
/**
*
*/
private static final long serialVersionUID = 20130903L;
private static final long serialVersionUID = 20131004L;
/** Standard Constructor */
public X_PA_DashboardContent_Access (Properties ctx, int PA_DashboardContent_Access_ID, String trxName)
@ -125,115 +125,6 @@ public class X_PA_DashboardContent_Access extends PO implements I_PA_DashboardCo
return ii.intValue();
}
/** Set Column No.
@param ColumnNo
Dashboard content column number
*/
public void setColumnNo (int ColumnNo)
{
set_Value (COLUMNNAME_ColumnNo, Integer.valueOf(ColumnNo));
}
/** Get Column No.
@return Dashboard content column number
*/
public int getColumnNo ()
{
Integer ii = (Integer)get_Value(COLUMNNAME_ColumnNo);
if (ii == null)
return 0;
return ii.intValue();
}
/** Set Collapsed By Default.
@param IsCollapsedByDefault
Flag to set the initial state of collapsible field group.
*/
public void setIsCollapsedByDefault (boolean IsCollapsedByDefault)
{
set_Value (COLUMNNAME_IsCollapsedByDefault, Boolean.valueOf(IsCollapsedByDefault));
}
/** Get Collapsed By Default.
@return Flag to set the initial state of collapsible field group.
*/
public boolean isCollapsedByDefault ()
{
Object oo = get_Value(COLUMNNAME_IsCollapsedByDefault);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
/** Set Show in Dashboard.
@param IsShowInDashboard
Show the dashlet in the dashboard
*/
public void setIsShowInDashboard (boolean IsShowInDashboard)
{
set_Value (COLUMNNAME_IsShowInDashboard, Boolean.valueOf(IsShowInDashboard));
}
/** Get Show in Dashboard.
@return Show the dashlet in the dashboard
*/
public boolean isShowInDashboard ()
{
Object oo = get_Value(COLUMNNAME_IsShowInDashboard);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
/** Set IsShowinLogin.
@param IsShowinLogin IsShowinLogin */
public void setIsShowinLogin (boolean IsShowinLogin)
{
set_Value (COLUMNNAME_IsShowinLogin, Boolean.valueOf(IsShowinLogin));
}
/** Get IsShowinLogin.
@return IsShowinLogin */
public boolean isShowinLogin ()
{
Object oo = get_Value(COLUMNNAME_IsShowinLogin);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
/** Set Line No.
@param Line
Unique line for this document
*/
public void setLine (int Line)
{
set_ValueNoCheck (COLUMNNAME_Line, Integer.valueOf(Line));
}
/** Get Line No.
@return Unique line for this document
*/
public int getLine ()
{
Integer ii = (Integer)get_Value(COLUMNNAME_Line);
if (ii == null)
return 0;
return ii.intValue();
}
/** Set PA_DashboardContent_Access_ID.
@param PA_DashboardContent_Access_ID PA_DashboardContent_Access_ID */
public void setPA_DashboardContent_Access_ID (int PA_DashboardContent_Access_ID)

View File

@ -38,8 +38,10 @@ import org.adempiere.webui.factory.IDashboardGadgetFactory;
import org.adempiere.webui.report.HTMLExtension;
import org.adempiere.webui.session.SessionManager;
import org.adempiere.webui.theme.ThemeManager;
import org.adempiere.webui.util.ChartRenderer;
import org.adempiere.webui.window.ZkReportViewerProvider;
import org.compiere.model.I_AD_Menu;
import org.compiere.model.MChart;
import org.compiere.model.MDashboardContent;
import org.compiere.model.MDashboardContentAccess;
import org.compiere.model.MDashboardPreference;
@ -368,6 +370,17 @@ public class DashboardController implements EventListener<Event> {
}
}
//chart
int AD_Chart_ID = dc.getAD_Chart_ID();
if (AD_Chart_ID > 0) {
Panel chartPanel = new Panel();
MChart chartModel = new MChart(Env.getCtx(), AD_Chart_ID, null);
ChartRenderer renderer = new ChartRenderer(chartModel);
renderer.render(chartPanel, 300);
content.appendChild(chartPanel);
panelEmpty = false;
}
if (panelEmpty)
panel.detach();
}

View File

@ -14,36 +14,14 @@
package org.adempiere.webui.editor;
import java.awt.image.BufferedImage;
import java.util.Iterator;
import java.util.logging.Level;
import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.util.ChartRenderer;
import org.compiere.model.GridField;
import org.compiere.model.MChart;
import org.compiere.model.MQuery;
import org.compiere.util.CLogger;
import org.compiere.util.Env;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.encoders.EncoderUtil;
import org.jfree.chart.encoders.ImageFormat;
import org.jfree.chart.entity.CategoryItemEntity;
import org.jfree.chart.entity.ChartEntity;
import org.jfree.chart.entity.PieSectionEntity;
import org.jfree.chart.entity.XYItemEntity;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.time.TimeSeriesDataItem;
import org.zkoss.image.AImage;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.event.MouseEvent;
import org.zkoss.zul.Area;
import org.zkoss.zul.Imagemap;
import org.zkoss.zul.Panel;
import org.zkoss.zul.Panelchildren;
/**
* This class is based on org.compiere.grid.ed.WImageEditor and WGraph written by Low Heng Sin.
@ -56,18 +34,11 @@ public class WChartEditor extends WEditor
{
private static final String[] LISTENER_EVENTS = {Events.ON_CLICK};
@SuppressWarnings("unused")
private static final CLogger logger;
static
{
logger = CLogger.getCLogger(WChartEditor.class);
}
private MChart chartModel = null;
/** Logger */
private static CLogger log = CLogger.getCLogger(WChartEditor.class);
@SuppressWarnings("unused")
private static final CLogger log = CLogger.getCLogger(WChartEditor.class);
public WChartEditor(GridField gridField, int windowNo)
{
@ -75,12 +46,11 @@ public class WChartEditor extends WEditor
chartModel = new MChart(Env.getCtx(), gridField.getAD_Chart_ID(), null);
chartModel.setWindowNo(windowNo);
init();
}
public void createChart() {
render(chartModel.createChart());
private void createChart() {
ChartRenderer renderer = new ChartRenderer(chartModel);
renderer.render(getComponent(), 400);
}
@Override
@ -88,107 +58,6 @@ public class WChartEditor extends WEditor
return (Panel) component;
}
private void render(JFreeChart chart) {
ChartRenderingInfo info = new ChartRenderingInfo();
int width = 400;
int height = chartModel.getWinHeight();
BufferedImage bi = chart.createBufferedImage(width, height,
BufferedImage.TRANSLUCENT, info);
try {
byte[] bytes = EncoderUtil.encode(bi, ImageFormat.PNG, true);
AImage image = new AImage("", bytes);
Imagemap myImage = new Imagemap();
Panel panel = getComponent();
myImage.setContent(image);
if (panel.getPanelchildren() != null) {
panel.getPanelchildren().getChildren().clear();
panel.getPanelchildren().appendChild(myImage);
} else {
Panelchildren pc = new Panelchildren();
panel.appendChild(pc);
pc.appendChild(myImage);
pc.setSclass("chart-field");
}
int count = 0;
for (Iterator<?> it = info.getEntityCollection().getEntities()
.iterator(); it.hasNext();) {
ChartEntity entity = (ChartEntity) it.next();
String key = null;
String seriesName = null;
if (entity instanceof CategoryItemEntity)
{
CategoryItemEntity item = ((CategoryItemEntity)entity);
Comparable<?> colKey = item.getColumnKey();
Comparable<?> rowKey = item.getRowKey();
if (colKey != null && rowKey !=null)
{
key = colKey.toString();
seriesName = rowKey.toString();
}
}
else if (entity instanceof PieSectionEntity)
{
Comparable<?> sectionKey = ((PieSectionEntity)entity).getSectionKey();
if (sectionKey != null)
{
key = sectionKey.toString();
}
}
if (entity instanceof XYItemEntity)
{
XYItemEntity item = ((XYItemEntity)entity);
if ( item.getDataset() instanceof TimeSeriesCollection )
{
TimeSeriesCollection data = (TimeSeriesCollection) item.getDataset();
TimeSeries series = data.getSeries(item.getSeriesIndex());
TimeSeriesDataItem dataitem = series.getDataItem(item.getItem());
seriesName = series.getKey().toString();
key = dataitem.getPeriod().toString();
}
}
if ( key == null )
continue;
Area area = new Area();
myImage.appendChild(area);
area.setCoords(entity.getShapeCoords());
area.setShape(entity.getShapeType());
area.setTooltiptext(entity.getToolTipText());
area.setId(count+"_WG__" + seriesName + "__" + key);
count++;
}
myImage.addEventListener(Events.ON_CLICK, new EventListener<Event>() {
public void onEvent(Event event) throws Exception {
MouseEvent me = (MouseEvent) event;
String areaId = me.getArea();
if (areaId != null) {
String[] strs = areaId.split("__");
if (strs.length == 3)
{
chartMouseClicked(strs[2], strs[1]);
}
}
}
});
} catch (Exception e) {
log.log(Level.SEVERE, "", e);
}
}
public void chartMouseClicked(String key, String category) {
MQuery query = chartModel.getQuery("null".equals(category) ? key : category + "__" + key);
if (query != null)
AEnv.zoom(query);
}
private void init()
{
}
@ -242,17 +111,11 @@ public class WChartEditor extends WEditor
public void onEvent(Event event) throws Exception
{
if (Events.ON_CLICK.equals(event.getName()))
{
}
}
@Override
public void dynamicDisplay() {
super.dynamicDisplay();
createChart();
}
}

View File

@ -0,0 +1,153 @@
package org.adempiere.webui.util;
import java.awt.image.BufferedImage;
import java.util.Iterator;
import java.util.logging.Level;
import org.adempiere.webui.apps.AEnv;
import org.compiere.model.MChart;
import org.compiere.model.MQuery;
import org.compiere.util.CLogger;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.encoders.EncoderUtil;
import org.jfree.chart.encoders.ImageFormat;
import org.jfree.chart.entity.CategoryItemEntity;
import org.jfree.chart.entity.ChartEntity;
import org.jfree.chart.entity.PieSectionEntity;
import org.jfree.chart.entity.XYItemEntity;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.time.TimeSeriesDataItem;
import org.zkoss.image.AImage;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.event.MouseEvent;
import org.zkoss.zul.Area;
import org.zkoss.zul.Imagemap;
import org.zkoss.zul.Panel;
import org.zkoss.zul.Panelchildren;
/**
* @author Paul Bowden, Adaxa Pty Ltd
* @author hengsin
*
*/
public class ChartRenderer {
private static final CLogger log = CLogger.getCLogger(ChartRenderer.class);
private MChart chartModel;
/**
* @param chartModel
*/
public ChartRenderer(MChart chartModel) {
this.chartModel = chartModel;
}
/**
*
* @param panel
* @param width
*/
public void render(Panel panel, int width) {
JFreeChart chart = chartModel.createChart();
ChartRenderingInfo info = new ChartRenderingInfo();
int height = chartModel.getWinHeight();
BufferedImage bi = chart.createBufferedImage(width, height,
BufferedImage.TRANSLUCENT, info);
try {
byte[] bytes = EncoderUtil.encode(bi, ImageFormat.PNG, true);
AImage image = new AImage("", bytes);
Imagemap myImage = new Imagemap();
myImage.setContent(image);
if (panel.getPanelchildren() != null) {
panel.getPanelchildren().getChildren().clear();
panel.getPanelchildren().appendChild(myImage);
} else {
Panelchildren pc = new Panelchildren();
panel.appendChild(pc);
pc.appendChild(myImage);
pc.setSclass("chart-field");
}
int count = 0;
for (Iterator<?> it = info.getEntityCollection().getEntities()
.iterator(); it.hasNext();) {
ChartEntity entity = (ChartEntity) it.next();
String key = null;
String seriesName = null;
if (entity instanceof CategoryItemEntity)
{
CategoryItemEntity item = ((CategoryItemEntity)entity);
Comparable<?> colKey = item.getColumnKey();
Comparable<?> rowKey = item.getRowKey();
if (colKey != null && rowKey !=null)
{
key = colKey.toString();
seriesName = rowKey.toString();
}
}
else if (entity instanceof PieSectionEntity)
{
Comparable<?> sectionKey = ((PieSectionEntity)entity).getSectionKey();
if (sectionKey != null)
{
key = sectionKey.toString();
}
}
if (entity instanceof XYItemEntity)
{
XYItemEntity item = ((XYItemEntity)entity);
if ( item.getDataset() instanceof TimeSeriesCollection )
{
TimeSeriesCollection data = (TimeSeriesCollection) item.getDataset();
TimeSeries series = data.getSeries(item.getSeriesIndex());
TimeSeriesDataItem dataitem = series.getDataItem(item.getItem());
seriesName = series.getKey().toString();
key = dataitem.getPeriod().toString();
}
}
if ( key == null )
continue;
Area area = new Area();
myImage.appendChild(area);
area.setCoords(entity.getShapeCoords());
area.setShape(entity.getShapeType());
area.setTooltiptext(entity.getToolTipText());
area.setId(count+"_WG__" + seriesName + "__" + key);
count++;
}
myImage.addEventListener(Events.ON_CLICK, new EventListener<Event>() {
public void onEvent(Event event) throws Exception {
MouseEvent me = (MouseEvent) event;
String areaId = me.getArea();
if (areaId != null) {
String[] strs = areaId.split("__");
if (strs.length == 3)
{
chartMouseClicked(strs[2], strs[1]);
}
}
}
});
} catch (Exception e) {
log.log(Level.SEVERE, "", e);
}
}
public void chartMouseClicked(String key, String category) {
MQuery query = chartModel.getQuery("null".equals(category) ? key : category + "__" + key);
if (query != null)
AEnv.zoom(query);
}
}