IDEMPIERE-1693 In InfoProductWindow, tab "Available to Promise" can change by change level of log. Should make a checkbox for it. / based on patch from hieplq
This commit is contained in:
parent
8ef1250754
commit
17e085641c
|
|
@ -0,0 +1,11 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- Jan 16, 2014 11:33:27 AM ICT
|
||||||
|
-- IDEMPIERE-1693 In InfoProductWindow, tab "Available to Promise" can change by change level of log. Should make a checkbox for it.
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,MsgTip,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,Created,AD_Client_ID,AD_Org_ID) VALUES ('I','Show detail','Show detail locator info in "Available to promise" tab',200252,'D','693d3147-e09b-4e69-9ada-23ff6c1289fc','showDetailAtp','Y',TO_DATE('2014-01-16 11:33:27','YYYY-MM-DD HH24:MI:SS'),100,100,TO_DATE('2014-01-16 11:33:27','YYYY-MM-DD HH24:MI:SS'),0,0)
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
SELECT register_migration_script('201401161604_IDEMPIERE-1693.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
-- Jan 16, 2014 11:33:27 AM ICT
|
||||||
|
-- IDEMPIERE-1693 In InfoProductWindow, tab "Available to Promise" can change by change level of log. Should make a checkbox for it.
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,MsgTip,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,Created,AD_Client_ID,AD_Org_ID) VALUES ('I','Show detail','Show detail locator info in "Available to promise" tab',200252,'D','693d3147-e09b-4e69-9ada-23ff6c1289fc','showDetailAtp','Y',TO_TIMESTAMP('2014-01-16 11:33:27','YYYY-MM-DD HH24:MI:SS'),100,100,TO_TIMESTAMP('2014-01-16 11:33:27','YYYY-MM-DD HH24:MI:SS'),0,0)
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
SELECT register_migration_script('201401161604_IDEMPIERE-1693.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
@ -13,6 +13,7 @@ import java.util.logging.Level;
|
||||||
|
|
||||||
import org.adempiere.webui.component.Borderlayout;
|
import org.adempiere.webui.component.Borderlayout;
|
||||||
import org.adempiere.webui.component.Button;
|
import org.adempiere.webui.component.Button;
|
||||||
|
import org.adempiere.webui.component.Checkbox;
|
||||||
import org.adempiere.webui.component.ConfirmPanel;
|
import org.adempiere.webui.component.ConfirmPanel;
|
||||||
import org.adempiere.webui.component.ListModelTable;
|
import org.adempiere.webui.component.ListModelTable;
|
||||||
import org.adempiere.webui.component.ListboxFactory;
|
import org.adempiere.webui.component.ListboxFactory;
|
||||||
|
|
@ -31,7 +32,6 @@ import org.adempiere.webui.session.SessionManager;
|
||||||
import org.compiere.minigrid.ColumnInfo;
|
import org.compiere.minigrid.ColumnInfo;
|
||||||
import org.compiere.model.MDocType;
|
import org.compiere.model.MDocType;
|
||||||
import org.compiere.model.MRole;
|
import org.compiere.model.MRole;
|
||||||
import org.compiere.util.CLogMgt;
|
|
||||||
import org.compiere.util.DB;
|
import org.compiere.util.DB;
|
||||||
import org.compiere.util.Env;
|
import org.compiere.util.Env;
|
||||||
import org.compiere.util.Msg;
|
import org.compiere.util.Msg;
|
||||||
|
|
@ -48,11 +48,10 @@ import org.zkoss.zul.South;
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class InfoProductWindow extends InfoWindow {
|
public class InfoProductWindow extends InfoWindow {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 4939032152860189380L;
|
private static final long serialVersionUID = 4817648658129732541L;
|
||||||
|
|
||||||
private Tabbox tabbedPane;
|
private Tabbox tabbedPane;
|
||||||
private WListbox warehouseTbl;
|
private WListbox warehouseTbl;
|
||||||
|
|
@ -64,6 +63,9 @@ public class InfoProductWindow extends InfoWindow {
|
||||||
//Available to Promise Tab
|
//Available to Promise Tab
|
||||||
private WListbox m_tableAtp;
|
private WListbox m_tableAtp;
|
||||||
|
|
||||||
|
// Group atp by warehouse or non
|
||||||
|
private Checkbox chbShowDetailAtp;
|
||||||
|
|
||||||
//IDEMPIERE-337
|
//IDEMPIERE-337
|
||||||
private WListbox productpriceTbl;
|
private WListbox productpriceTbl;
|
||||||
private String m_sqlProductprice;
|
private String m_sqlProductprice;
|
||||||
|
|
@ -275,6 +277,21 @@ public class InfoProductWindow extends InfoWindow {
|
||||||
desktopTabPanel = new Tabpanel();
|
desktopTabPanel = new Tabpanel();
|
||||||
desktopTabPanel.setHeight("100%");
|
desktopTabPanel.setHeight("100%");
|
||||||
desktopTabPanel.appendChild(m_tableAtp);
|
desktopTabPanel.appendChild(m_tableAtp);
|
||||||
|
// IDEMPIERE-1692
|
||||||
|
chbShowDetailAtp = new Checkbox();
|
||||||
|
chbShowDetailAtp.setLabel(Msg.getMsg(Env.getCtx(), "showDetailAtp", true));
|
||||||
|
chbShowDetailAtp.setTooltiptext(Msg.getMsg(Env.getCtx(), "showDetailAtp", false));
|
||||||
|
chbShowDetailAtp.addActionListener(new EventListener<Event>() {
|
||||||
|
@Override
|
||||||
|
public void onEvent(Event event) throws Exception {
|
||||||
|
if (contentPanel.getLayout() != null) {
|
||||||
|
int M_Warehouse_ID = getSelectedWarehouseId();
|
||||||
|
int m_M_Product_ID = getSelectedRowKey();
|
||||||
|
initAtpTab(M_Warehouse_ID, m_M_Product_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
desktopTabPanel.appendChild(chbShowDetailAtp);
|
||||||
tabPanels.appendChild(desktopTabPanel);
|
tabPanels.appendChild(desktopTabPanel);
|
||||||
|
|
||||||
tab = new Tab(Msg.translate(Env.getCtx(), "Price"));
|
tab = new Tab(Msg.translate(Env.getCtx(), "Price"));
|
||||||
|
|
@ -631,7 +648,7 @@ public class InfoProductWindow extends InfoWindow {
|
||||||
columnNames.add(Msg.translate(Env.getCtx(), "M_Warehouse_ID"));
|
columnNames.add(Msg.translate(Env.getCtx(), "M_Warehouse_ID"));
|
||||||
|
|
||||||
// Fill Storage Data
|
// Fill Storage Data
|
||||||
boolean showDetail = CLogMgt.isLevelFine();
|
boolean showDetail = isShowDetailATP();
|
||||||
String sql = "SELECT s.QtyOnHand, s.QtyReserved, s.QtyOrdered,"
|
String sql = "SELECT s.QtyOnHand, s.QtyReserved, s.QtyOrdered,"
|
||||||
+ " productAttribute(s.M_AttributeSetInstance_ID), s.M_AttributeSetInstance_ID,";
|
+ " productAttribute(s.M_AttributeSetInstance_ID), s.M_AttributeSetInstance_ID,";
|
||||||
if (!showDetail)
|
if (!showDetail)
|
||||||
|
|
@ -777,6 +794,10 @@ public class InfoProductWindow extends InfoWindow {
|
||||||
m_tableAtp.autoSize();
|
m_tableAtp.autoSize();
|
||||||
} // initAtpTab
|
} // initAtpTab
|
||||||
|
|
||||||
|
public boolean isShowDetailATP() {
|
||||||
|
return chbShowDetailAtp.isChecked();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void showHistory() {
|
protected void showHistory() {
|
||||||
log.info("");
|
log.info("");
|
||||||
|
|
|
||||||
|
|
@ -34,9 +34,9 @@ import org.adempiere.webui.component.Tabpanels;
|
||||||
import org.adempiere.webui.component.Tabs;
|
import org.adempiere.webui.component.Tabs;
|
||||||
import org.adempiere.webui.component.WListbox;
|
import org.adempiere.webui.component.WListbox;
|
||||||
import org.adempiere.webui.component.Window;
|
import org.adempiere.webui.component.Window;
|
||||||
|
import org.adempiere.webui.info.InfoProductWindow;
|
||||||
import org.compiere.model.MDocType;
|
import org.compiere.model.MDocType;
|
||||||
import org.compiere.model.MPriceList;
|
import org.compiere.model.MPriceList;
|
||||||
import org.compiere.util.CLogMgt;
|
|
||||||
import org.compiere.util.CLogger;
|
import org.compiere.util.CLogger;
|
||||||
import org.compiere.util.DB;
|
import org.compiere.util.DB;
|
||||||
import org.compiere.util.Env;
|
import org.compiere.util.Env;
|
||||||
|
|
@ -60,7 +60,9 @@ public class InvoiceHistory extends Window implements EventListener<Event>
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -7426909865199278220L;
|
private static final long serialVersionUID = 8742214467478030802L;
|
||||||
|
|
||||||
|
boolean showDetailATP = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show History
|
* Show History
|
||||||
|
|
@ -94,6 +96,8 @@ public class InvoiceHistory extends Window implements EventListener<Event>
|
||||||
|
|
||||||
this.setSclass("popup-dialog");
|
this.setSclass("popup-dialog");
|
||||||
AEnv.showCenterWindow(parent, this);
|
AEnv.showCenterWindow(parent, this);
|
||||||
|
if (parent instanceof InfoProductWindow)
|
||||||
|
showDetailATP = ((InfoProductWindow)parent).isShowDetailATP();
|
||||||
} // InvoiceHistory
|
} // InvoiceHistory
|
||||||
|
|
||||||
private int m_C_BPartner_ID;
|
private int m_C_BPartner_ID;
|
||||||
|
|
@ -598,10 +602,9 @@ public class InvoiceHistory extends Window implements EventListener<Event>
|
||||||
columnNames.add(Msg.translate(Env.getCtx(), "M_Warehouse_ID"));
|
columnNames.add(Msg.translate(Env.getCtx(), "M_Warehouse_ID"));
|
||||||
|
|
||||||
// Fill Storage Data
|
// Fill Storage Data
|
||||||
boolean showDetail = CLogMgt.isLevelFine();
|
|
||||||
String sql = "SELECT s.QtyOnHand, s.QtyReserved, s.QtyOrdered,"
|
String sql = "SELECT s.QtyOnHand, s.QtyReserved, s.QtyOrdered,"
|
||||||
+ " productAttribute(s.M_AttributeSetInstance_ID), s.M_AttributeSetInstance_ID,";
|
+ " productAttribute(s.M_AttributeSetInstance_ID), s.M_AttributeSetInstance_ID,";
|
||||||
if (!showDetail)
|
if (!showDetailATP)
|
||||||
sql = "SELECT SUM(s.QtyOnHand), SUM(s.QtyReserved), SUM(s.QtyOrdered),"
|
sql = "SELECT SUM(s.QtyOnHand), SUM(s.QtyReserved), SUM(s.QtyOrdered),"
|
||||||
+ " productAttribute(s.M_AttributeSetInstance_ID), 0,";
|
+ " productAttribute(s.M_AttributeSetInstance_ID), 0,";
|
||||||
sql += " w.Name, l.Value "
|
sql += " w.Name, l.Value "
|
||||||
|
|
@ -614,7 +617,7 @@ public class InvoiceHistory extends Window implements EventListener<Event>
|
||||||
if (m_M_AttributeSetInstance_ID > 0)
|
if (m_M_AttributeSetInstance_ID > 0)
|
||||||
sql += " AND s.M_AttributeSetInstance_ID=?";
|
sql += " AND s.M_AttributeSetInstance_ID=?";
|
||||||
sql += " AND (s.QtyOnHand<>0 OR s.QtyReserved<>0 OR s.QtyOrdered<>0)";
|
sql += " AND (s.QtyOnHand<>0 OR s.QtyReserved<>0 OR s.QtyOrdered<>0)";
|
||||||
if (!showDetail)
|
if (!showDetailATP)
|
||||||
sql += " GROUP BY productAttribute(s.M_AttributeSetInstance_ID), w.Name, l.Value";
|
sql += " GROUP BY productAttribute(s.M_AttributeSetInstance_ID), w.Name, l.Value";
|
||||||
sql += " ORDER BY l.Value";
|
sql += " ORDER BY l.Value";
|
||||||
|
|
||||||
|
|
@ -643,7 +646,7 @@ public class InvoiceHistory extends Window implements EventListener<Event>
|
||||||
line.add(new Double(rs.getDouble(2))); // QtyReserved
|
line.add(new Double(rs.getDouble(2))); // QtyReserved
|
||||||
line.add(rs.getString(7)); // Locator
|
line.add(rs.getString(7)); // Locator
|
||||||
String asi = rs.getString(4);
|
String asi = rs.getString(4);
|
||||||
if (showDetail && (asi == null || asi.length() == 0))
|
if (showDetailATP && (asi == null || asi.length() == 0))
|
||||||
asi = "{" + rs.getInt(5) + "}";
|
asi = "{" + rs.getInt(5) + "}";
|
||||||
line.add(asi); // ASI
|
line.add(asi); // ASI
|
||||||
line.add(null); // DocumentNo
|
line.add(null); // DocumentNo
|
||||||
|
|
@ -710,7 +713,7 @@ public class InvoiceHistory extends Window implements EventListener<Event>
|
||||||
line.add(qtyReserved); // QtyReserved
|
line.add(qtyReserved); // QtyReserved
|
||||||
line.add(null); // Locator
|
line.add(null); // Locator
|
||||||
String asi = rs.getString(3);
|
String asi = rs.getString(3);
|
||||||
if (showDetail && (asi == null || asi.length() == 0))
|
if (showDetailATP && (asi == null || asi.length() == 0))
|
||||||
asi = "{" + rs.getInt(4) + "}";
|
asi = "{" + rs.getInt(4) + "}";
|
||||||
line.add(asi); // ASI
|
line.add(asi); // ASI
|
||||||
line.add(rs.getString(7)); // DocumentNo
|
line.add(rs.getString(7)); // DocumentNo
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue