red1.org Forum Index red1.org
Nihili est - in vita priore ego imperator romanus fui
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

POC - Q-Floor

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    red1.org Forum Index -> Steel Manufacturer Project
View previous topic :: View next topic  
Author Message
red1
Site Admin


Joined: 06 Jul 2004
Posts: 1756
Location: Kuala Lumpur, Malaysia

PostPosted: Fri Apr 28, 2006 1:31 pm    Post subject: POC - Q-Floor Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website
red1
Site Admin


Joined: 06 Jul 2004
Posts: 1756
Location: Kuala Lumpur, Malaysia

PostPosted: Tue May 02, 2006 8:36 pm    Post subject: Description Statement of POC Task Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website
red1
Site Admin


Joined: 06 Jul 2004
Posts: 1756
Location: Kuala Lumpur, Malaysia

PostPosted: Thu May 04, 2006 1:19 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    red1.org Forum Index -> Steel Manufacturer Project All times are GMT + 8 Hours
Page 1 of 1

 
Jump to:  
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