 |
red1.org Nihili est - in vita priore ego imperator romanus fui
|
| View previous topic :: View next topic |
| Author |
Message |
red1 Site Admin
Joined: 06 Jul 2004 Posts: 1756 Location: Kuala Lumpur, Malaysia
|
Posted: Fri Apr 28, 2006 1:31 pm Post subject: POC - Q-Floor |
|
|
This is to define the Proof of Concept which will focus on Q-Floor analysis and Views.
At this moment we have achieved an important milestone for POC which is ability to extract JobResources rows (serialnos by workcenters (depts)) activity http://compiere.red1.org/QFloorSource.html and the VM can pick out fields and color code http://compiere.red1.org/QFloor.html
To get the FoundryView by JobOrders will be by modifying the rules logic in the java to show summarised rows as requested. Then of course modify the VM to arranged the passed info.
Such View is strictly dynamic i.e. for the WorkCenters (DEPTs) shown are defined by the database (usman will be happy to define any type of WorkCentres) and the aligning of jobs to respective depts (without hardcoding anything further in the VM. The java program is clearly divided in its code areas to focus on changing business rules. Pls see QFloor.java on how it does all this.
The program will take care of missing dept rows in SerialNos just like we see in display screens where Furnace has no records in that jobrow SerialNo. - "10"
When defining the WorkCentre u can define the Sequence of order that u want them to appear in screen. Later this will determine order of Job Flow as in the FlowShop concept.
I know that u have other rules such as avoiding certain depts depending on certain info, and this can be in a lookup control file which we will do later, again one rule just to POC.
When defining jobrows, u can use the IsActive box to remove that job from QFloor view. |
|
| Back to top |
|
 |
red1 Site Admin
Joined: 06 Jul 2004 Posts: 1756 Location: Kuala Lumpur, Malaysia
|
Posted: Tue May 02, 2006 8:36 pm Post subject: Description Statement of POC Task |
|
|
Also based on what Gan/David posted in QFloor as http://www.red1.org/barn/medan/q-floor/master_new2.htm which i will try to show it via the previous QFloor,
hereby giving the Description Statement of the next milestone in the POC:
GenerateJob.java
| Code: | From Production table, get Description (ORDER_ID) and QTY and Product_ID to generate P_Job X QTY.
Obtain from BOM's 1st level Childs to become its JobResource rows.
Ensure that the ORDER_ID is new or else its done before and exit from before Generating.
After this java, the QFloor will see the new Jobs. |
After this the next milestone is to reverse engineer the BOM Production (as Compiere's is incomplete to generate multi generation children like our BOMFlatView) so that it will book the inventory and move from children to master-parent) |
|
| Back to top |
|
 |
red1 Site Admin
Joined: 06 Jul 2004 Posts: 1756 Location: Kuala Lumpur, Malaysia
|
Posted: Thu May 04, 2006 1:19 pm Post subject: |
|
|
Already CVSed GENERATEJOBS.JAVA that will extract new Orders from Production and serialised X QTY = JOBS with each JOB having its DEPT row records. This is all done in the QFloor View. There is a Generate Jobs button for u to do that.
System will check that Order is created only once. U have to recreate the tables as there is some slight change to them. | Code: | DROP TABLE P_WORKCENTRE;
CREATE TABLE P_WORKCENTRE (
P_WORKCENTRE_ID NUMBER (22) ,
AD_CLIENT_ID NUMBER (10) ,
AD_ORG_ID NUMBER (10) ,
ISACTIVE CHAR (1) DEFAULT 'Y' ,
CREATED DATE DEFAULT SYSDATE ,
CREATEDBY NUMBER (10) ,
UPDATED DATE DEFAULT SYSDATE ,
UPDATEDBY NUMBER (10) ,
P_WORKCENTRE_Key VARCHAR (22) ,
P_WORKCENTRE_Name VARCHAR (50) ,
P_Dependency_ID NUMBER (22),
P_Sequence NUMBER (10)
);
DROP TABLE P_JOB;
CREATE TABLE P_JOB (
P_JOB_ID NUMBER (22) ,
P_JOB_KEY VARCHAR (22) ,
AD_CLIENT_ID NUMBER (10) ,
AD_ORG_ID NUMBER (10) ,
ISACTIVE CHAR (1) DEFAULT 'Y' ,
CREATED DATE DEFAULT SYSDATE ,
CREATEDBY NUMBER (10) ,
UPDATED DATE DEFAULT SYSDATE ,
UPDATEDBY NUMBER (10) ,
P_JOB_SERIALNO VARCHAR (22) ,
P_JOB_PRIORITY CHAR (2) ,
P_REMARKS NVARCHAR2 (100),
C_ORDER_ID NVARCHAR2(22) ,
P_DOCUMENTNO VARCHAR (22) ,
P_JOB_COMMIT CHAR (2) ,
P_JOB_STATUS CHAR (2) ) ;
DROP TABLE P_JOBRESOURCE;
CREATE TABLE P_JOBRESOURCE (
P_JOBRESOURCE_ID NUMBER (22) ,
P_JOBRESOURCE_KEY VARCHAR (30) ,
P_JOB_ID NUMBER (22) ,
P_JOB_SERIALNO VARCHAR (22) ,
AD_CLIENT_ID NUMBER (10) ,
AD_ORG_ID NUMBER (10) ,
ISACTIVE CHAR (1) DEFAULT 'Y' ,
CREATED DATE DEFAULT SYSDATE ,
CREATEDBY NUMBER (10) ,
UPDATED DATE DEFAULT SYSDATE ,
UPDATEDBY NUMBER (10) ,
P_BOMRESOURCE_KEY VARCHAR (30) ,
P_REPORT_KEY CHAR (2) ,
P_REMARKS NVARCHAR2 (100),
C_ORDER_ID NVARCHAR2(22) ,
P_JOBRESOURCE_DURATION VARCHAR (22) ,
P_JOBRESOURCE_BEGIN CHAR(2) DEFAULT 'on',
P_JOBRESOURCE_END CHAR(2) DEFAULT 'on',
P_BEGIN_DATE DATE,
P_END_DATE DATE,
P_MACHINE_ID NUMBER (10),
P_Sequence NUMBER (10)
) ;
DROP TABLE P_JOBITEMS;
CREATE TABLE P_JOBITEMS (
P_JOBITEMS_ID NUMBER (22) ,
P_JOBITEMS_KEY VARCHAR (22) ,
P_JOB_ID NUMBER (10) ,
P_JOBRESOURCE_ID NUMBER (10) ,
AD_CLIENT_ID NUMBER (10) ,
AD_ORG_ID NUMBER (10) ,
ISACTIVE CHAR (1) DEFAULT 'Y' ,
CREATED DATE DEFAULT SYSDATE ,
CREATEDBY NUMBER (10) ,
UPDATED DATE DEFAULT SYSDATE ,
UPDATEDBY NUMBER (10) ,
P_BOMRESOURCE_KEY VARCHAR (22) ,
P_JOB_KEY VARCHAR (22) ,
P_JOB_PROD_ID NUMBER (10) ,
P_JOB_PROD_QTY NUMBER ,
P_JOB_PROD_QTY_LEFT NUMBER
);
DROP TABLE P_BOM;
CREATE TABLE P_BOM (
P_BOM_ID NUMBER (22) ,
AD_CLIENT_ID NUMBER (10) ,
AD_ORG_ID NUMBER (10) ,
ISACTIVE CHAR (1) DEFAULT 'Y' ,
CREATED DATE DEFAULT SYSDATE ,
CREATEDBY NUMBER (10) ,
UPDATED DATE DEFAULT SYSDATE ,
UPDATEDBY NUMBER (10) ,
P_BOM_Key CHAR (22) ,
P_BOM_Name CHAR (22) ,
P_BOM_RESOURCEs_Qty NUMBER ,
P_BOMReport_Key NUMBER (10)
);
DROP TABLE P_RESOURCE;
CREATE TABLE P_RESOURCE (
P_RESOURCE_ID NUMBER (22) ,
AD_CLIENT_ID NUMBER (10) ,
AD_ORG_ID NUMBER (10) ,
ISACTIVE CHAR (1) DEFAULT 'Y' ,
CREATED DATE DEFAULT SYSDATE ,
CREATEDBY NUMBER (10) ,
UPDATED DATE DEFAULT SYSDATE ,
UPDATEDBY NUMBER (10) ,
P_RESOURCE_Key CHAR (22) ,
P_BOM_ID NUMBER (10) ,
P_RESOURCE_Name CHAR (22) ,
P_RESOURCE_Duration NUMBER ,
P_MachineType CHAR (22) ,
P_RESOURCEReport_Key CHAR (22)
);
DROP TABLE P_ITEMS;
CREATE TABLE P_ITEMS (
P_ITEMS_ID NUMBER (22) ,
AD_CLIENT_ID NUMBER (10) ,
AD_ORG_ID NUMBER (10) ,
ISACTIVE CHAR (1) DEFAULT 'Y' ,
CREATED DATE DEFAULT SYSDATE ,
CREATEDBY NUMBER (10) ,
UPDATED DATE DEFAULT SYSDATE ,
UPDATEDBY NUMBER (10) ,
P_Items_Key CHAR (22) ,
P_BOM_ID NUMBER (10) ,
P_RESOURCE_ID NUMBER (10) ,
P_Items_Prod_ID NUMBER (10) ,
P_Items_Qty NUMBER ,
P_ItemsReport_Key CHAR (22)
);
DROP TABLE P_WORKCENTREMACHINE;
CREATE TABLE P_WORKCENTREMACHINE (
P_WORKCENTREMACHINE_ID NUMBER (22) ,
AD_CLIENT_ID NUMBER (10) ,
AD_ORG_ID NUMBER (10) ,
ISACTIVE CHAR (1) DEFAULT 'Y' ,
CREATED DATE DEFAULT SYSDATE ,
CREATEDBY NUMBER (10) ,
UPDATED DATE DEFAULT SYSDATE ,
UPDATEDBY NUMBER (10) ,
P_WORKCENTRE_ID NUMBER (10) ,
P_MachineType VARCHAR (22) ,
P_Machine_ID NUMBER (10)
);
DROP TABLE P_MACHINEASSIGNMENT;
CREATE TABLE P_MACHINEASSIGNMENT (
P_MACHINE_ID NUMBER (22) ,
AD_CLIENT_ID NUMBER (10) ,
AD_ORG_ID NUMBER (10) ,
ISACTIVE CHAR (1) DEFAULT 'Y' ,
CREATED DATE DEFAULT SYSDATE ,
CREATEDBY NUMBER (10) ,
UPDATED DATE DEFAULT SYSDATE ,
UPDATEDBY NUMBER (10) ,
P_Machine_Key CHAR (22) ,
P_WORKCENTRE_ID NUMBER (10) ,
P_Machine_Usage_Begin DATE DEFAULT SYSDATE ,
P_Machine_Usage_End DATE DEFAULT SYSDATE ,
P_Job_Key NUMBER (10) ,
P_Job_SerialNo VARCHAR (22)
); | After this u have to create each WorkCenter i.e. "P_Moulding", "P_Furnace" etc. The BOM also need its first level childs to be the same i.e. "P_Moulding", etc.
U must have records in the Compiere Production table. No need to process the window. Just specify a BOM Parent i.e. GAM* and its qty. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|