Merge 294

This commit is contained in:
Deepak Pansheriya 2012-12-04 16:48:54 +05:30
commit fb7085aca1
16 changed files with 827 additions and 112 deletions

View File

@ -14,7 +14,7 @@ AS
0 AS qtyordered, 0 AS qtyordered,
s.datelastinventory, s.datelastinventory,
s.m_attributesetinstance_id, s.m_attributesetinstance_id,
s.m_storageonhand_uu s.m_storageonhand_uu AS m_storage_uu
FROM m_storageonhand s FROM m_storageonhand s
UNION UNION
SELECT sr.m_product_id, SELECT sr.m_product_id,
@ -31,7 +31,7 @@ AS
0 AS qtyordered, 0 AS qtyordered,
sr.datelastinventory, sr.datelastinventory,
sr.m_attributesetinstance_id, sr.m_attributesetinstance_id,
sr.m_storagereservation_uu sr.m_storagereservation_uu AS m_storage_uu
FROM m_storagereservation sr FROM m_storagereservation sr
JOIN m_warehouse w JOIN m_warehouse w
ON sr.m_warehouse_id = w.m_warehouse_id ON sr.m_warehouse_id = w.m_warehouse_id
@ -51,7 +51,7 @@ AS
so.qty AS qtyordered, so.qty AS qtyordered,
so.datelastinventory, so.datelastinventory,
so.m_attributesetinstance_id, so.m_attributesetinstance_id,
so.m_storagereservation_uu so.m_storagereservation_uu AS m_storage_uu
FROM m_storagereservation so FROM m_storagereservation so
JOIN m_warehouse w JOIN m_warehouse w
ON so.m_warehouse_id = w.m_warehouse_id ON so.m_warehouse_id = w.m_warehouse_id

View File

@ -14,7 +14,7 @@ AS
0 AS qtyordered, 0 AS qtyordered,
s.datelastinventory, s.datelastinventory,
s.m_attributesetinstance_id, s.m_attributesetinstance_id,
s.m_storageonhand_uu s.m_storageonhand_uu AS m_storage_uu
FROM m_storageonhand s FROM m_storageonhand s
UNION UNION
SELECT sr.m_product_id, SELECT sr.m_product_id,
@ -31,7 +31,7 @@ AS
0 AS qtyordered, 0 AS qtyordered,
sr.datelastinventory, sr.datelastinventory,
sr.m_attributesetinstance_id, sr.m_attributesetinstance_id,
sr.m_storagereservation_uu sr.m_storagereservation_uu AS m_storage_uu
FROM m_storagereservation sr FROM m_storagereservation sr
JOIN m_warehouse w JOIN m_warehouse w
ON sr.m_warehouse_id = w.m_warehouse_id ON sr.m_warehouse_id = w.m_warehouse_id
@ -51,7 +51,7 @@ AS
so.qty AS qtyordered, so.qty AS qtyordered,
so.datelastinventory, so.datelastinventory,
so.m_attributesetinstance_id, so.m_attributesetinstance_id,
so.m_storagereservation_uu so.m_storagereservation_uu AS m_storage_uu
FROM m_storagereservation so FROM m_storagereservation so
JOIN m_warehouse w JOIN m_warehouse w
ON so.m_warehouse_id = w.m_warehouse_id ON so.m_warehouse_id = w.m_warehouse_id

View File

@ -0,0 +1,63 @@
CREATE OR REPLACE VIEW m_storage
AS
SELECT s.m_product_id,
s.m_locator_id,
s.ad_client_id,
s.ad_org_id,
s.isactive,
s.created,
s.createdby,
s.updated,
s.updatedby,
s.qtyonhand,
0 AS qtyreserved,
0 AS qtyordered,
s.datelastinventory,
s.m_attributesetinstance_id,
s.m_storageonhand_uu AS m_storage_uu
FROM m_storageonhand s
UNION
SELECT sr.m_product_id,
w.m_reservelocator_id AS m_locator_id,
sr.ad_client_id,
sr.ad_org_id,
sr.isactive,
sr.created,
sr.createdby,
sr.updated,
sr.updatedby,
0 AS qtyonhand,
sr.qty AS qtyreserved,
0 AS qtyordered,
sr.datelastinventory,
sr.m_attributesetinstance_id,
sr.m_storagereservation_uu AS m_storage_uu
FROM m_storagereservation sr
JOIN m_warehouse w
ON sr.m_warehouse_id = w.m_warehouse_id
WHERE sr.issotrx = 'Y'
UNION
SELECT so.m_product_id,
w.m_reservelocator_id AS m_locator_id,
so.ad_client_id,
so.ad_org_id,
so.isactive,
so.created,
so.createdby,
so.updated,
so.updatedby,
0 AS qtyonhand,
0 AS qtyreserved,
so.qty AS qtyordered,
so.datelastinventory,
so.m_attributesetinstance_id,
so.m_storagereservation_uu AS m_storage_uu
FROM m_storagereservation so
JOIN m_warehouse w
ON so.m_warehouse_id = w.m_warehouse_id
WHERE so.issotrx = 'N'
;
SELECT register_migration_script('201212031501_IDEMPIERE-385.sql') FROM dual
;

View File

@ -0,0 +1,213 @@
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET ColumnSpan=5, SeqNo=40, IsDisplayed='Y', XPosition=1,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59745
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=60,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59740
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=70,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59744
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=80,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59752
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=90,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59743
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=100,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59754
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=110,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62015
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=120,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62016
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=130, IsDisplayed='Y', XPosition=5,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59736
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=160, IsDisplayed='Y', XPosition=1,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62017
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=170, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62018
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=180, IsDisplayed='Y', XPosition=1,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59755
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=190, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59737
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=200,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59748
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=210,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59738
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=220,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59757
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=230,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59758
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=240,Updated=TO_DATE('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59759
;
-- Dec 3, 2012 3:38:37 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=20, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2012-12-03 15:38:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=61974
;
-- Dec 3, 2012 3:38:37 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=30,Updated=TO_DATE('2012-12-03 15:38:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=61976
;
-- Dec 3, 2012 3:38:37 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=40,Updated=TO_DATE('2012-12-03 15:38:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=61977
;
-- Dec 3, 2012 3:38:37 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=50, IsDisplayed='Y', XPosition=5,Updated=TO_DATE('2012-12-03 15:38:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=61975
;
-- Dec 3, 2012 3:38:37 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=100, IsDisplayed='Y', XPosition=5,Updated=TO_DATE('2012-12-03 15:38:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=61983
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=61973
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=61974
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=61976
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=61977
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=61975
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=61978
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=61979
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=61980
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=61981
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=61983
;
-- Dec 3, 2012 3:47:27 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DefaultValue='@$Element_PJ@=''Y''',Updated=TO_DATE('2012-12-03 15:47:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59755
;
-- Dec 3, 2012 3:47:33 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DefaultValue='@$Element_AY@=''Y''',Updated=TO_DATE('2012-12-03 15:47:33','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59737
;
-- Dec 3, 2012 3:47:58 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DisplayLogic='@$Element_MC@=Y',Updated=TO_DATE('2012-12-03 15:47:58','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59738
;
-- Dec 3, 2012 3:48:03 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DisplayLogic='@$Element_AY@=''Y''', DefaultValue=NULL,Updated=TO_DATE('2012-12-03 15:48:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59737
;
-- Dec 3, 2012 3:48:06 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DisplayLogic='@$Element_PJ@=''Y''', DefaultValue=NULL,Updated=TO_DATE('2012-12-03 15:48:06','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59755
;
-- Dec 3, 2012 3:48:25 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DisplayLogic='@$Element_OT@=Y',Updated=TO_DATE('2012-12-03 15:48:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59757
;
-- Dec 3, 2012 3:48:33 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DisplayLogic='@$Element_U1@=Y',Updated=TO_DATE('2012-12-03 15:48:33','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59758
;
-- Dec 3, 2012 3:48:42 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DisplayLogic='@$Element_U1@=Y',Updated=TO_DATE('2012-12-03 15:48:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59759
;
-- Dec 3, 2012 4:02:02 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Table SET AD_Window_ID=53149,Updated=TO_DATE('2012-12-03 16:02:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Table_ID=53332
;
SELECT register_migration_script('201212031552_IDEMPIERE-246.sql') FROM dual
;

View File

@ -0,0 +1,280 @@
ALTER VIEW m_storage RENAME TO m_storage_bad
;
CREATE OR REPLACE VIEW m_storage
AS
SELECT s.m_product_id,
s.m_locator_id,
s.ad_client_id,
s.ad_org_id,
s.isactive,
s.created,
s.createdby,
s.updated,
s.updatedby,
s.qtyonhand,
0 AS qtyreserved,
0 AS qtyordered,
s.datelastinventory,
s.m_attributesetinstance_id,
s.m_storageonhand_uu AS m_storage_uu
FROM m_storageonhand s
UNION
SELECT sr.m_product_id,
w.m_reservelocator_id AS m_locator_id,
sr.ad_client_id,
sr.ad_org_id,
sr.isactive,
sr.created,
sr.createdby,
sr.updated,
sr.updatedby,
0 AS qtyonhand,
sr.qty AS qtyreserved,
0 AS qtyordered,
sr.datelastinventory,
sr.m_attributesetinstance_id,
sr.m_storagereservation_uu AS m_storage_uu
FROM m_storagereservation sr
JOIN m_warehouse w
ON sr.m_warehouse_id = w.m_warehouse_id
WHERE sr.issotrx = 'Y'
UNION
SELECT so.m_product_id,
w.m_reservelocator_id AS m_locator_id,
so.ad_client_id,
so.ad_org_id,
so.isactive,
so.created,
so.createdby,
so.updated,
so.updatedby,
0 AS qtyonhand,
0 AS qtyreserved,
so.qty AS qtyordered,
so.datelastinventory,
so.m_attributesetinstance_id,
so.m_storagereservation_uu AS m_storage_uu
FROM m_storagereservation so
JOIN m_warehouse w
ON so.m_warehouse_id = w.m_warehouse_id
WHERE so.issotrx = 'N'
;
-- PostgreSQL requires to recreate all views before dropping a table
CREATE OR REPLACE VIEW RV_STORAGE
(AD_CLIENT_ID, AD_ORG_ID, M_PRODUCT_ID, VALUE, NAME,
DESCRIPTION, UPC, SKU, C_UOM_ID, M_PRODUCT_CATEGORY_ID,
CLASSIFICATION, WEIGHT, VOLUME, VERSIONNO, GUARANTEEDAYS,
GUARANTEEDAYSMIN, M_LOCATOR_ID, M_WAREHOUSE_ID, X, Y,
Z, QTYONHAND, QTYRESERVED, QTYAVAILABLE, QTYORDERED,
DATELASTINVENTORY, M_ATTRIBUTESETINSTANCE_ID, M_ATTRIBUTESET_ID, SERNO, LOT,
M_LOT_ID, GUARANTEEDATE, SHELFLIFEDAYS, GOODFORDAYS, SHELFLIFEREMAININGPCT)
AS
SELECT s.AD_Client_ID, s.AD_Org_ID,
-- Product
s.M_Product_ID, p.Value,p.Name, p.Description, p.UPC, p.SKU,
p.C_UOM_ID, p.M_Product_Category_ID, p.Classification, p.Weight, p.Volume, p.VersionNo,
p.GuaranteeDays, p.GuaranteeDaysMin,
-- Locator
s.M_Locator_ID, l.M_Warehouse_ID, l.X, l.Y, l.Z,
-- Storage
s.QtyOnHand, s.QtyReserved, s.QtyOnHand-s.QtyReserved AS QtyAvailable,
s.QtyOrdered, s.DateLastInventory,
-- Instance
s.M_AttributeSetInstance_ID, asi.M_AttributeSet_ID, asi.SerNo, asi.Lot, asi.M_Lot_ID,
asi.GuaranteeDate, -- see PAttributeInstance.java
daysBetween(asi.GuaranteeDate,getdate()) AS ShelfLifeDays,
daysBetween(asi.GuaranteeDate,getdate())-p.GuaranteeDaysMin AS GoodForDays,
CASE WHEN COALESCE(p.GuaranteeDays,0)>0
THEN ROUND((daysBetween(asi.GuaranteeDate,getdate())/p.GuaranteeDays)*100,0)
ELSE NULL
END AS ShelfLifeRemainingPct
FROM M_Storage s
INNER JOIN M_Locator l ON (s.M_Locator_ID=l.M_Locator_ID)
INNER JOIN M_Product p ON (s.M_Product_ID=p.M_Product_ID)
LEFT OUTER JOIN M_AttributeSetInstance asi ON (s.M_AttributeSetInstance_ID=asi.M_AttributeSetInstance_ID)
;
CREATE OR REPLACE VIEW rv_pp_order_receipt_issue AS
SELECT obl.pp_order_bomline_id,
obl.iscritical,
p.value,
obl.m_product_id,
mos.name AS productname,
mos.m_attributesetinstance_id,
asi.description AS instancename,
mos.c_uom_id,
u.name AS uomname,
obl.qtyrequiered,
obl.qtyreserved AS qtyreserved_order,
mos.qtyonhand,
mos.qtyreserved AS qtyreserved_storage,
mos.qtyavailable,
mos.m_locator_id,
mos.m_warehouse_id,
w.name AS warehousename,
mos.qtybom,
mos.isqtypercentage,
mos.qtybatch,
obl.componenttype,
mos.qtyrequiered - obl.qtydelivered AS qtyopen,
obl.pp_order_id
FROM rv_pp_order_storage mos
JOIN pp_order_bomline obl ON mos.pp_order_bomline_id = obl.pp_order_bomline_id
JOIN m_attributesetinstance asi ON mos.m_attributesetinstance_id = asi.m_attributesetinstance_id
JOIN c_uom u ON mos.c_uom_id = u.c_uom_id
JOIN m_product p ON mos.m_product_id = p.m_product_id
JOIN m_warehouse w ON mos.m_warehouse_id = w.m_warehouse_id
;
CREATE OR REPLACE VIEW rv_pp_order_storage AS
SELECT
obl.ad_client_id,
obl.ad_org_id,
obl.createdby,
obl.updatedby,
obl.updated,
obl.created,
obl.isactive,
obl.pp_order_bom_id,
obl.pp_order_bomline_id,
obl.pp_order_id,
obl.iscritical,
obl.m_product_id,
( SELECT p.name FROM m_product p WHERE p.m_product_id = o.m_product_id) AS name,
obl.c_uom_id,
s.qtyonhand,
round(obl.qtyrequiered, 4) AS qtyrequiered,
CASE WHEN o.qtybatchs = 0 THEN 1 ELSE round(obl.qtyrequiered / o.qtybatchs, 4) END AS qtybatchsize,
round(bomqtyreserved(obl.m_product_id,obl.m_warehouse_id, 0), 4) AS qtyreserved,
round(bomqtyavailable(obl.m_product_id, obl.m_warehouse_id,0), 4) AS qtyavailable,
obl.m_warehouse_id,
obl.qtybom,
obl.isqtypercentage,
round(obl.qtybatch, 4) AS qtybatch,
obl.m_attributesetinstance_id,
l.m_locator_id,
l.x,
l.y,
l.z
FROM pp_order_bomline obl
JOIN pp_order o ON o.pp_order_id = obl.pp_order_id
LEFT JOIN m_storage s ON s.m_product_id = obl.m_product_id AND s.qtyonhand <> 0 AND obl.m_warehouse_id = (( SELECT ld.m_warehouse_id FROM m_locator ld WHERE s.m_locator_id = ld.m_locator_id))
LEFT JOIN m_locator l ON l.m_locator_id = s.m_locator_id
ORDER BY obl.m_product_id
;
CREATE OR REPLACE VIEW rv_storage_per_product AS
SELECT strg.AD_Client_ID, strg.AD_Org_ID
, p.M_Product_ID, p.Value, p.Name
, p.Description, p.UPC, p.SKU
, p.C_UOM_ID, p.M_Product_Category_ID, p.Classification, p.Weight, p.Volume, p.VersionNo
, p.GuaranteeDays, p.GuaranteeDaysMin
, strg.SumQtyOnHand
FROM M_Product p
INNER JOIN ( SELECT M_Product_ID, M_Locator_ID, SUM (QtyOnHand) as SumQtyOnHand
, AD_Client_ID, AD_Org_ID
FROM RV_Storage
GROUP BY M_Product_ID, M_Locator_ID, AD_Client_ID, AD_Org_ID) strg ON (p.M_Product_ID = strg.M_Product_ID)
INNER JOIN M_Locator l ON (strg.M_Locator_ID=l.M_Locator_ID)
;
CREATE OR REPLACE VIEW M_PRODUCT_STOCK_V
AS
SELECT
ms.IsActive, ms.Created, ms.CreatedBy, ms.Updated, ms.UpdatedBy,
mp.VALUE, mp.help, (ms.qtyonhand - ms.qtyreserved) AS qtyavailable, ms.qtyonhand,
ms.qtyreserved, mp.description, mw.NAME AS warehouse, mw.m_warehouse_id, mw.ad_client_id,
mw.ad_org_id, mp.documentnote
FROM M_STORAGE ms
JOIN M_PRODUCT mp ON ms.m_product_id = mp.m_product_id
JOIN M_LOCATOR ml ON ms.m_locator_id = ml.m_locator_id
JOIN M_WAREHOUSE mw ON ml.m_warehouse_id = mw.m_warehouse_id
ORDER BY mw.NAME;
CREATE OR REPLACE VIEW M_PRODUCT_SUBSTITUTERELATED_V AS
SELECT s.ad_client_id,
s.ad_org_id,
s.isactive,
s.created,
s.createdby,
s.updated,
s.updatedby,
s.m_product_id,
s.substitute_id,
'S' AS rowtype,
mp.name,
sum(ms.qtyonhand - ms.qtyreserved) AS qtyavailable,
sum(ms.qtyonhand) AS qtyonhand,
sum(ms.qtyreserved) AS qtyreserved,
ROUND(MAX(mpr.pricestd),0) AS pricestd,
mpr.m_pricelist_version_id,
mw.m_warehouse_id,
org.name AS orgname
FROM m_substitute s
JOIN m_storage ms ON ms.m_product_id = s.substitute_id
JOIN m_product mp ON ms.m_product_id = mp.m_product_id
JOIN m_locator ml ON ms.m_locator_id = ml.m_locator_id
JOIN m_warehouse mw ON ml.m_warehouse_id = mw.m_warehouse_id
JOIN m_productprice mpr ON ms.m_product_id = mpr.m_product_id
JOIN ad_org org ON org.ad_org_id = mw.ad_org_id
GROUP BY s.ad_client_id,
s.ad_org_id,
s.isactive,
s.created,
s.createdby,
s.updated,
s.updatedby,
s.m_product_id,
s.substitute_id,
mw.m_warehouse_id,
mpr.m_pricelist_version_id,
org.name,
mp.name
UNION
SELECT r.ad_client_id,
r.ad_org_id,
r.isactive,
r.created,
r.createdby,
r.updated,
r.updatedby,
r.m_product_id,
r.relatedproduct_id AS substitute_id,
'R' AS rowtype,
mp.name,
sum(ms.qtyonhand - ms.qtyreserved) AS qtyavailable,
sum(ms.qtyonhand) AS qtyonhand,
sum(ms.qtyreserved) AS qtyreserved,
ROUND(MAX(mpr.pricestd),0) AS pricestd,
mpr.m_pricelist_version_id,
mw.m_warehouse_id,
org.name AS orgname
FROM m_relatedproduct r
JOIN m_storage ms ON ms.m_product_id = r.relatedproduct_id
JOIN m_product mp ON ms.m_product_id = mp.m_product_id
JOIN m_locator ml ON ms.m_locator_id = ml.m_locator_id
JOIN m_warehouse mw ON ml.m_warehouse_id = mw.m_warehouse_id
JOIN m_productprice mpr ON ms.m_product_id = mpr.m_product_id
JOIN ad_org org ON org.ad_org_id = mw.ad_org_id
GROUP BY r.ad_client_id,
r.ad_org_id,
r.isactive,
r.created,
r.createdby,
r.updated,
r.updatedby,
r.m_product_id,
r.relatedproduct_id,
mw.m_warehouse_id,
mpr.m_pricelist_version_id,
org.name,
mp.name;
DROP VIEW m_storage_bad
;
SELECT register_migration_script('201212031501_IDEMPIERE-385.sql') FROM dual
;

View File

@ -0,0 +1,213 @@
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET ColumnSpan=5, SeqNo=40, IsDisplayed='Y', XPosition=1,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59745
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=60,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59740
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=70,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59744
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=80,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59752
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=90,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59743
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=100,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59754
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=110,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62015
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=120,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62016
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=130, IsDisplayed='Y', XPosition=5,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59736
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=160, IsDisplayed='Y', XPosition=1,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62017
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=170, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62018
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=180, IsDisplayed='Y', XPosition=1,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59755
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=190, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59737
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=200,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59748
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=210,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59738
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=220,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59757
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=230,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59758
;
-- Dec 3, 2012 3:36:32 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=240,Updated=TO_TIMESTAMP('2012-12-03 15:36:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59759
;
-- Dec 3, 2012 3:38:37 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=20, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2012-12-03 15:38:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=61974
;
-- Dec 3, 2012 3:38:37 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=30,Updated=TO_TIMESTAMP('2012-12-03 15:38:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=61976
;
-- Dec 3, 2012 3:38:37 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=40,Updated=TO_TIMESTAMP('2012-12-03 15:38:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=61977
;
-- Dec 3, 2012 3:38:37 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=50, IsDisplayed='Y', XPosition=5,Updated=TO_TIMESTAMP('2012-12-03 15:38:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=61975
;
-- Dec 3, 2012 3:38:37 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNo=100, IsDisplayed='Y', XPosition=5,Updated=TO_TIMESTAMP('2012-12-03 15:38:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=61983
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=61973
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=61974
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=61976
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=61977
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=61975
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=61978
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=61979
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=61980
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=61981
;
-- Dec 3, 2012 3:44:23 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=61983
;
-- Dec 3, 2012 3:47:27 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DefaultValue='@$Element_PJ@=''Y''',Updated=TO_TIMESTAMP('2012-12-03 15:47:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59755
;
-- Dec 3, 2012 3:47:33 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DefaultValue='@$Element_AY@=''Y''',Updated=TO_TIMESTAMP('2012-12-03 15:47:33','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59737
;
-- Dec 3, 2012 3:47:58 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DisplayLogic='@$Element_MC@=Y',Updated=TO_TIMESTAMP('2012-12-03 15:47:58','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59738
;
-- Dec 3, 2012 3:48:03 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DisplayLogic='@$Element_AY@=''Y''', DefaultValue=NULL,Updated=TO_TIMESTAMP('2012-12-03 15:48:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59737
;
-- Dec 3, 2012 3:48:06 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DisplayLogic='@$Element_PJ@=''Y''', DefaultValue=NULL,Updated=TO_TIMESTAMP('2012-12-03 15:48:06','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59755
;
-- Dec 3, 2012 3:48:25 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DisplayLogic='@$Element_OT@=Y',Updated=TO_TIMESTAMP('2012-12-03 15:48:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59757
;
-- Dec 3, 2012 3:48:33 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DisplayLogic='@$Element_U1@=Y',Updated=TO_TIMESTAMP('2012-12-03 15:48:33','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59758
;
-- Dec 3, 2012 3:48:42 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Field SET DisplayLogic='@$Element_U1@=Y',Updated=TO_TIMESTAMP('2012-12-03 15:48:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=59759
;
-- Dec 3, 2012 4:02:02 PM COT
-- IDEMPIERE-246 Integrate Manufacturing Light
UPDATE AD_Table SET AD_Window_ID=53149,Updated=TO_TIMESTAMP('2012-12-03 16:02:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Table_ID=53332
;
SELECT register_migration_script('201212031552_IDEMPIERE-246.sql') FROM dual
;

File diff suppressed because one or more lines are too long

View File

@ -23,13 +23,10 @@
package org.adempiere.webui.adwindow; package org.adempiere.webui.adwindow;
import java.util.List;
import java.util.Properties; import java.util.Properties;
import org.adempiere.webui.LayoutUtils; import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.component.Tabbox;
import org.adempiere.webui.component.Tabpanel; import org.adempiere.webui.component.Tabpanel;
import org.adempiere.webui.component.Tabs;
import org.adempiere.webui.panel.ITabOnCloseHandler; import org.adempiere.webui.panel.ITabOnCloseHandler;
import org.adempiere.webui.session.SessionManager; import org.adempiere.webui.session.SessionManager;
import org.compiere.util.CLogger; import org.compiere.util.CLogger;
@ -162,24 +159,9 @@ public class ADWindowContent extends AbstractADWindowContent
class TabOnCloseHanlder implements ITabOnCloseHandler { class TabOnCloseHanlder implements ITabOnCloseHandler {
public void onClose(Tabpanel tabPanel) { public void onClose(Tabpanel tabPanel) {
if (ADWindowContent.this.onExit()) { if (ADWindowContent.this.onExit()) {
Tab tab = tabPanel.getLinkedTab(); Tab tab = tabPanel.getLinkedTab();
Tabbox tabbox = (Tabbox) tab.getTabbox(); tab.close();
if (tabbox.getSelectedTab() == tab) {
Tabs tabs = (Tabs) tabbox.getTabs();
List<?> childs = tabs.getChildren();
for(int i = 0; i < childs.size(); i++) {
if (childs.get(i) == tab) {
if (i > 0)
tabbox.setSelectedIndex((i-1));
break;
}
}
} else {
tabbox.getSelectedPanel().invalidate();
}
tabPanel.detach();
tab.detach();
if (getWindowNo() > 0) if (getWindowNo() > 0)
SessionManager.getAppDesktop().unregisterWindow(getWindowNo()); SessionManager.getAppDesktop().unregisterWindow(getWindowNo());
} }

View File

@ -850,15 +850,24 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
EventListener<Event> listener = new EventListener<Event>() { EventListener<Event> listener = new EventListener<Event>() {
@Override @Override
public void onEvent(Event event) throws Exception { public void onEvent(Event event) throws Exception {
adTabbox.getSelectedGridTab().loadAttachments(); // reload adTabbox.getSelectedGridTab().loadAttachments(); // reload
toolbar.getButton("Attachment").setPressed(adTabbox.getSelectedGridTab().hasAttachment()); toolbar.getButton("Attachment").setPressed(adTabbox.getSelectedGridTab().hasAttachment());
focusToActivePanel(); focusToActivePanel();
} }
}; };
// Attachment va = // Attachment va =
new WAttachment ( curWindowNo, adTabbox.getSelectedGridTab().getAD_AttachmentID(), WAttachment win = new WAttachment ( curWindowNo, adTabbox.getSelectedGridTab().getAD_AttachmentID(),
adTabbox.getSelectedGridTab().getAD_Table_ID(), record_ID, null, listener); adTabbox.getSelectedGridTab().getAD_Table_ID(), record_ID, null, listener);
win.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() {
@Override
public void onEvent(Event event) throws Exception {
Clients.clearBusy(getComponent());
}
});
getComponent().getParent().appendChild(win);
Clients.showBusy(getComponent(), " ");
LayoutUtils.openOverlappedWindow(getComponent(), win, "middle_center");
} }
public void onChat() public void onChat()
@ -890,12 +899,16 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
WChat chat = new WChat(curWindowNo, adTabbox.getSelectedGridTab().getCM_ChatID(), adTabbox.getSelectedGridTab().getAD_Table_ID(), recordId, description, null); WChat chat = new WChat(curWindowNo, adTabbox.getSelectedGridTab().getCM_ChatID(), adTabbox.getSelectedGridTab().getAD_Table_ID(), recordId, description, null);
chat.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() { chat.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() {
@Override @Override
public void onEvent(Event event) throws Exception { public void onEvent(Event event) throws Exception {
adTabbox.getSelectedGridTab().loadChats(); adTabbox.getSelectedGridTab().loadChats();
toolbar.getButton("Chat").setPressed(adTabbox.getSelectedGridTab().hasChat()); toolbar.getButton("Chat").setPressed(adTabbox.getSelectedGridTab().hasChat());
focusToActivePanel(); focusToActivePanel();
Clients.clearBusy(getComponent());
} }
}); });
getComponent().getParent().appendChild(chat);
Clients.showBusy(getComponent(), " ");
LayoutUtils.openOverlappedWindow(getComponent(), chat, "middle_center");
chat.showWindow(); chat.showWindow();
} }
@ -969,6 +982,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
boolean b = breadCrumb.getStatusError(); boolean b = breadCrumb.getStatusError();
onRefresh(true, false); onRefresh(true, false);
breadCrumb.setStatusLine(s, b); breadCrumb.setStatusLine(s, b);
Clients.clearBusy(getComponent());
} }
else if (ADTabpanel.ON_DYNAMIC_DISPLAY_EVENT.equals(event.getName())) else if (ADTabpanel.ON_DYNAMIC_DISPLAY_EVENT.equals(event.getName()))
{ {
@ -2023,14 +2037,16 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
hbox.setPack("end"); hbox.setPack("end");
hbox.setHflex("1"); hbox.setHflex("1");
messagePanel.setAttribute(Window.MODE_KEY, Window.MODE_HIGHLIGHTED);
messagePanel.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() { messagePanel.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() {
@Override @Override
public void onEvent(Event event) throws Exception { public void onEvent(Event event) throws Exception {
focusToActivePanel(); focusToActivePanel();
Clients.clearBusy(getComponent());
} }
}); });
AEnv.showWindow(messagePanel); getComponent().getParent().appendChild(messagePanel);
Clients.showBusy(getComponent(), " ");
LayoutUtils.openOverlappedWindow(getComponent(), messagePanel, "middle_center");
} }
// //
@ -2059,9 +2075,11 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
ProcessModalDialog dialog = new ProcessModalDialog(AbstractADWindowContent.this, getWindowNo(), AD_Process_ID,table_ID, record_ID, true); ProcessModalDialog dialog = new ProcessModalDialog(AbstractADWindowContent.this, getWindowNo(), AD_Process_ID,table_ID, record_ID, true);
if (dialog.isValid()) { if (dialog.isValid()) {
dialog.setPosition("center"); dialog.setWidth("500px");
dialog.setPage(AbstractADWindowContent.this.getComponent().getPage()); dialog.setBorder("normal");
dialog.doHighlighted(); Clients.showBusy(getComponent(), " ");
getComponent().getParent().appendChild(dialog);
LayoutUtils.openOverlappedWindow(getComponent(), dialog, "middle_center");
} }
} }
} }
@ -2329,12 +2347,10 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
{ {
final int recordIdParam = record_ID; final int recordIdParam = record_ID;
getComponent().getParent().appendChild(win); getComponent().getParent().appendChild(win);
win.setStyle("position: absolute;");
win.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() { win.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() {
public void onEvent(Event event) throws Exception { public void onEvent(Event event) throws Exception {
Clients.clearBusy(getComponent()); Clients.clearBusy(getComponent());
if (!win.isStartProcess()) { if (!win.isStartProcess()) {
Events.postEvent(new Event(LayoutUtils.ON_REDRAW_EVENT, getComponent()));
return; return;
} }
boolean startWOasking = true; boolean startWOasking = true;
@ -2360,15 +2376,13 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
{ {
Clients.showBusy(getComponent(), " "); Clients.showBusy(getComponent(), " ");
final WCreateFromWindow window = (WCreateFromWindow) cf.getWindow(); final WCreateFromWindow window = (WCreateFromWindow) cf.getWindow();
window.setStyle("position: absolute");
window.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() { window.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() {
@Override @Override
public void onEvent(Event event) throws Exception { public void onEvent(Event event) throws Exception {
Clients.clearBusy(getComponent());
if (!window.isCancel()) { if (!window.isCancel()) {
onRefresh(true, false); onRefresh(true, false);
} }
Events.postEvent(new Event(LayoutUtils.ON_REDRAW_EVENT, getComponent())); Clients.clearBusy(getComponent());
} }
}); });
getComponent().getParent().appendChild(window); getComponent().getParent().appendChild(window);
@ -2512,13 +2526,11 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
if (mode == Mode.HIGHLIGHTED || mode == Mode.MODAL) { if (mode == Mode.HIGHLIGHTED || mode == Mode.MODAL) {
form.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() { form.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() {
@Override @Override
public void onEvent(Event event) throws Exception { public void onEvent(Event event) throws Exception {
Clients.clearBusy(getComponent());
onRefresh(true, false); onRefresh(true, false);
Events.postEvent(new Event(LayoutUtils.ON_REDRAW_EVENT, getComponent())); Clients.clearBusy(getComponent());
} }
}); });
form.setStyle("position: absolute;");
getComponent().getParent().appendChild(form); getComponent().getParent().appendChild(form);
Clients.showBusy(getComponent(), " "); Clients.showBusy(getComponent(), " ");
LayoutUtils.openOverlappedWindow(getComponent(), form, "middle_center"); LayoutUtils.openOverlappedWindow(getComponent(), form, "middle_center");
@ -2533,7 +2545,6 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
if (dialog.isValid()) if (dialog.isValid())
{ {
dialog.setStyle("position: absolute;");
dialog.setWidth("500px"); dialog.setWidth("500px");
dialog.setBorder("normal"); dialog.setBorder("normal");
Clients.showBusy(getComponent(), " "); Clients.showBusy(getComponent(), " ");
@ -2637,12 +2648,10 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
if (Executions.getCurrent() != null) if (Executions.getCurrent() != null)
{ {
Clients.clearBusy(getComponent());
if (notPrint) // refresh if not print if (notPrint) // refresh if not print
{ {
updateUI(pi); updateUI(pi);
} }
Events.postEvent(new Event(LayoutUtils.ON_REDRAW_EVENT, getComponent()));
} }
else else
{ {
@ -2650,12 +2659,10 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
//acquire desktop, 2 second timeout //acquire desktop, 2 second timeout
Executions.activate(getComponent().getDesktop(), 2000); Executions.activate(getComponent().getDesktop(), 2000);
try { try {
Clients.clearBusy(getComponent());
if (notPrint) // refresh if not print if (notPrint) // refresh if not print
{ {
updateUI(pi); updateUI(pi);
} }
Events.postEvent(new Event(LayoutUtils.ON_REDRAW_EVENT, getComponent()));
} catch(Error ex){ } catch(Error ex){
throw ex; throw ex;
} finally{ } finally{

View File

@ -17,8 +17,6 @@
package org.adempiere.webui.component; package org.adempiere.webui.component;
import java.util.List;
import org.adempiere.webui.panel.ITabOnCloseHandler; import org.adempiere.webui.panel.ITabOnCloseHandler;
import org.zkoss.zul.Tab; import org.zkoss.zul.Tab;
@ -66,20 +64,7 @@ public class Tabpanel extends org.zkoss.zul.Tabpanel
onCloseHandler.onClose(this); onCloseHandler.onClose(this);
else { else {
Tab tab = this.getLinkedTab(); Tab tab = this.getLinkedTab();
Tabbox tabbox = (Tabbox) tab.getTabbox(); tab.close();
if (tabbox.getSelectedTab() == tab) {
Tabs tabs = (Tabs) tabbox.getTabs();
List childs = tabs.getChildren();
for(int i = 0; i < childs.size(); i++) {
if (childs.get(i) == tab) {
if (i > 0)
tabbox.setSelectedIndex((i-1));
break;
}
}
}
this.detach();
tab.detach();
} }
} }

View File

@ -49,6 +49,7 @@ public class WFilenameEditor extends WEditor
getComponent().setButtonImage("/images/Open16.png"); getComponent().setButtonImage("/images/Open16.png");
getComponent().addEventListener(Events.ON_UPLOAD, this); getComponent().addEventListener(Events.ON_UPLOAD, this);
getComponent().getButton().setUpload("true,native"); getComponent().getButton().setUpload("true,native");
getComponent().getButton().setAttribute("org.zkoss.zul.image.preload", Boolean.TRUE);
} }
@Override @Override

View File

@ -186,8 +186,6 @@ public class WAttachment extends Window implements EventListener<Event>
Clients.response(new AuScript(null, script)); Clients.response(new AuScript(null, script));
} }
//enter modal
doHighlighted();
} }
catch (Exception e) catch (Exception e)
{ {
@ -250,6 +248,7 @@ public class WAttachment extends Window implements EventListener<Event>
bSave.addEventListener(Events.ON_CLICK, this); bSave.addEventListener(Events.ON_CLICK, this);
bLoad.setImage("/images/Import24.png"); bLoad.setImage("/images/Import24.png");
bLoad.setAttribute("org.zkoss.zul.image.preload", Boolean.TRUE);
bLoad.setTooltiptext(Msg.getMsg(Env.getCtx(), "Load")); bLoad.setTooltiptext(Msg.getMsg(Env.getCtx(), "Load"));
bLoad.setUpload("true"); bLoad.setUpload("true");
bLoad.addEventListener(Events.ON_UPLOAD, this); bLoad.addEventListener(Events.ON_UPLOAD, this);

View File

@ -53,6 +53,7 @@ import org.zkoss.util.media.AMedia;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zul.Div; import org.zkoss.zul.Div;
import org.zkoss.zul.Filedownload; import org.zkoss.zul.Filedownload;
import org.zkoss.zul.Hbox; import org.zkoss.zul.Hbox;
@ -93,6 +94,7 @@ public class ReportAction implements EventListener<Event>
winReport.setClosable(true); winReport.setClosable(true);
winReport.setBorder("normal"); winReport.setBorder("normal");
winReport.setStyle("position:absolute"); winReport.setStyle("position:absolute");
winReport.addEventListener("onValidate", this);
cboPrintFormat.setMold("select"); cboPrintFormat.setMold("select");
cboPrintFormat.getItems().clear(); cboPrintFormat.getItems().clear();
@ -162,7 +164,6 @@ public class ReportAction implements EventListener<Event>
confirmPanel.addActionListener(this); confirmPanel.addActionListener(this);
} }
winReport.setAttribute(Window.MODE_KEY, Window.MODE_HIGHLIGHTED);
LayoutUtils.openPopupWindow(panel.getToolbar().getButton("Report"), winReport, "after_start"); LayoutUtils.openPopupWindow(panel.getToolbar().getButton("Report"), winReport, "after_start");
} }
@ -170,8 +171,11 @@ public class ReportAction implements EventListener<Event>
public void onEvent(Event event) throws Exception { public void onEvent(Event event) throws Exception {
if(event.getTarget().getId().equals(ConfirmPanel.A_CANCEL)) if(event.getTarget().getId().equals(ConfirmPanel.A_CANCEL))
winReport.onClose(); winReport.onClose();
else if(event.getTarget().getId().equals(ConfirmPanel.A_OK)) else if(event.getTarget().getId().equals(ConfirmPanel.A_OK)) {
validate(); winReport.setVisible(false);
Clients.showBusy(panel.getComponent(), null);
Events.echoEvent("onValidate", winReport, null);
}
else if(event.getTarget() == cboPrintFormat) else if(event.getTarget() == cboPrintFormat)
{ {
ListItem li = cboPrintFormat.getSelectedItem(); ListItem li = cboPrintFormat.getSelectedItem();
@ -183,6 +187,10 @@ public class ReportAction implements EventListener<Event>
} }
else if(event.getTarget() == chkExport) else if(event.getTarget() == chkExport)
cboExportType.setVisible(chkExport.isChecked()); cboExportType.setVisible(chkExport.isChecked());
else if (event.getName().equals("onValidate")) {
validate();
Clients.clearBusy(panel.getComponent());
}
} }
private void validate() private void validate()

View File

@ -22,7 +22,6 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.logging.Level; import java.util.logging.Level;
import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.component.Button; import org.adempiere.webui.component.Button;
import org.adempiere.webui.component.ConfirmPanel; import org.adempiere.webui.component.ConfirmPanel;
import org.adempiere.webui.component.Label; import org.adempiere.webui.component.Label;
@ -40,7 +39,6 @@ import org.compiere.util.Util;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zul.Borderlayout; import org.zkoss.zul.Borderlayout;
import org.zkoss.zul.Center; import org.zkoss.zul.Center;
import org.zkoss.zul.Div; import org.zkoss.zul.Div;
@ -109,8 +107,6 @@ public class WChat extends Window implements EventListener<Event>, DialogEvents
public void showWindow() public void showWindow()
{ {
this.setAttribute(MODE_KEY, MODE_HIGHLIGHTED);
AEnv.showWindow(this);
newText.focus(); newText.focus();
} }

View File

@ -2,7 +2,6 @@ package org.adempiere.webui.window;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -18,9 +17,7 @@ import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
import org.adempiere.exceptions.AdempiereException; import org.adempiere.exceptions.AdempiereException;
import org.adempiere.webui.component.Listbox; import org.adempiere.webui.component.Listbox;
import org.adempiere.webui.component.Tabbox;
import org.adempiere.webui.component.Tabpanel; import org.adempiere.webui.component.Tabpanel;
import org.adempiere.webui.component.Tabs;
import org.adempiere.webui.component.Window; import org.adempiere.webui.component.Window;
import org.adempiere.webui.panel.ITabOnCloseHandler; import org.adempiere.webui.panel.ITabOnCloseHandler;
import org.adempiere.webui.session.SessionManager; import org.adempiere.webui.session.SessionManager;
@ -222,20 +219,7 @@ public class ZkJRViewer extends Window implements EventListener<Event>, ITabOnCl
@Override @Override
public void onClose(Tabpanel tabPanel) { public void onClose(Tabpanel tabPanel) {
Tab tab = tabPanel.getLinkedTab(); Tab tab = tabPanel.getLinkedTab();
Tabbox tabbox = (Tabbox) tab.getTabbox(); tab.close();
if (tabbox.getSelectedTab() == tab) {
Tabs tabs = (Tabs) tabbox.getTabs();
List<?> childs = tabs.getChildren();
for(int i = 0; i < childs.size(); i++) {
if (childs.get(i) == tab) {
if (i > 0)
tabbox.setSelectedIndex((i-1));
break;
}
}
}
tabPanel.detach();
tab.detach();
cleanUp(); cleanUp();
} }

View File

@ -24,7 +24,6 @@ import java.io.StringWriter;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.List;
import java.util.Properties; import java.util.Properties;
import java.util.logging.Level; import java.util.logging.Level;
@ -41,9 +40,7 @@ import org.adempiere.webui.component.ConfirmPanel;
import org.adempiere.webui.component.Label; import org.adempiere.webui.component.Label;
import org.adempiere.webui.component.ListItem; import org.adempiere.webui.component.ListItem;
import org.adempiere.webui.component.Listbox; import org.adempiere.webui.component.Listbox;
import org.adempiere.webui.component.Tabbox;
import org.adempiere.webui.component.Tabpanel; import org.adempiere.webui.component.Tabpanel;
import org.adempiere.webui.component.Tabs;
import org.adempiere.webui.component.ToolBarButton; import org.adempiere.webui.component.ToolBarButton;
import org.adempiere.webui.component.Window; import org.adempiere.webui.component.Window;
import org.adempiere.webui.event.DialogEvents; import org.adempiere.webui.event.DialogEvents;
@ -615,20 +612,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
@Override @Override
public void onClose(Tabpanel tabPanel) { public void onClose(Tabpanel tabPanel) {
Tab tab = tabPanel.getLinkedTab(); Tab tab = tabPanel.getLinkedTab();
Tabbox tabbox = (Tabbox) tab.getTabbox(); tab.close();
if (tabbox.getSelectedTab() == tab) {
Tabs tabs = (Tabs) tabbox.getTabs();
List<?> childs = tabs.getChildren();
for(int i = 0; i < childs.size(); i++) {
if (childs.get(i) == tab) {
if (i > 0)
tabbox.setSelectedIndex((i-1));
break;
}
}
}
tabPanel.detach();
tab.detach();
cleanUp(); cleanUp();
} }