Professional Documents
Culture Documents
Group members:
1. Rituparna Hazra
2. Dipayan Mondal
3. Parnab Ghosh
4. Rudrashish Bose
5. Asish Bhakat
6. Sanjoy Mondal.
Acknowledgement:
We take this opportunity to express my profound
gratitude and deep regards to my faculty
Mr. ARNAB CHAKRABORTY for his exemplary
guidance, monitoring and constant
encouragement throughout the course of this
project. The blessing, help and guidance given by
his time to time shall carry me a long way in the
journey of life on which I am about to embark.
We are obliged to our all project team members for
the valuable information provided by them in their
respective fields. We are grateful for their
cooperation during the period of assignment.
1. Rituparna Hazra
2. Dipayan Mondal
3. Parnab Ghosh
4. Rudrashish Bose
5. Asish Bhakat
6. Sanjoy Mondal.
Contents:
1. Acknowledgment
2. Project objective
3. Project scopes
4. Requirement specification
5. Schema, E-R Diagram and Screenshots
6. Codes implemented
7. Future scope of the project
8. Certificate.
Project objective:
Develop a Faculty Allocation System so that an
administrator can add a batch, update the
components of the project, and create a
particular batch.
The primary goal of the project is to:
To allocate faculty to subjects in a routine
automatically to batch
Administrator can allocate faculty to the
periods.
Administrator can allocate the choices of
the batch and day according to the
availability of faculty of a subject
Faculty can apply for leave for a particular
day.
Project scope:
It will provide a platform for the
administrator to easily handle the faculty
and their allocation.
The system will provide batch routine for
the institution.
The system will help the administrator to
keep the faculty information and routine
information in the form of list.
The Administrator can control the
maximum classes allotted for a particular
faculty.
The system will guard against null or
invalid operations using alerts.
Faculty Report, Routine Report, Student
Report and Faculty Leave Report can be
accessed independently.
Requirement specification:
Domain description:
Faculty Allocation deals with the Administrator
being able to add, store and update the details of
the Faculty and subject as well as topics.
Problem description:
Administrator can face massive problems in
logistics if allocation of Faculty is done by hand
and paper or using a text file. It will get very
complicated if the allocation needs to altered
based on availability, also data redundancy is a
major possibility. Thus by the use of this software
this problem can be easily solved.
Functional requirements:
Some important features of this project are:
Add Faculty Details: Administrator can add
faculty details like Faculty name, subject,
batch, join date uniquely identified by
FACULTY ID.
Hardware requirement:
Memory: Ram 512mb and above.
Processor: Pentium 4 and above.
Software requirement:
Operating system: Windows XP, Windows
Server 2003, Windows NT Server 4.0,
Windows 2000 SP1.
Oracle 10G, Oracle Developer Suite.
Browser JVM compatible.
Schema Design
Faculty_Details
Routine_Details
Leave_Details
Subject_Details
Subject_Records
Faculty_name, Day
Subject_name, Topic
Subject_name, Total_number_of_class,
Highest_marks, Type
E-R Diagram
Declare
a number;
myfid faculty_details.fid%type;
myfname faculty_details.fname%type;
mysub faculty_details.sub%type;
mybatch faculty_details.batch%type;
myjdate faculty_details.jdate%type;
begin
set_item_property('ti3',enabled,property_false);
set_item_property('ti4',enabled,property_false);
select count(*) into a
from faculty_details;
if (a=0) then
:global.reccount:=0;
:global.currecno:=0;
message('I am in the then block...');
else
message('I am in the else block...');
:global.currecno:=1;
:global.reccount:=a;
:di3:=:global.currecno||'/'||:global.reccount;
declare
a number;
myfid faculty_details.fid%type;
myfname faculty_details.fname%type;
mysub faculty_details.sub%type;
mybatch faculty_details.batch%type;
myjdate faculty_details.jdate%type;
begin
set_item_property('ti3',enabled,property_false);
set_item_property('ti4',enabled,property_false);
select count(*) into a from faculty_details;
if (a=0) then
:global.reccount:=0;
:global.currecno:=0;
else
if (:global.currecno=:global.reccount) then
a := show_alert('lastrecord');
else
:global.currecno:=:global.currecno + 1;
select fid,fname,sub,batch,jdate into myfid,myfname,mysub,mybatch,myjdate from
(select rownum rn,fid,fname,sub,batch,jdate from faculty_details order by rownum)
where rn=:global.currecno;
:ti49:=myfid;
:ti2:=myfname;
:di1:=mysub;
:di73:=mybatch;
:forms_date:=myjdate;
:di3:=:global.currecno||'/'||:global.reccount;
end if;
end if;
end;
Declare
a number;
myfid faculty_details.fid%type;
myfname faculty_details.fname%type;
mysub faculty_details.sub%type;
mybatch faculty_details.batch%type;
myjdate faculty_details.jdate%type;
begin
set_item_property('ti3',enabled,property_false);
set_item_property('ti4',enabled,property_false);
select count(*) into a
from faculty_details;
if (a=0) then
:global.reccount:=0;
:global.currecno:=0;
else
if (:global.currecno=1) then
a := show_alert('firstrecord');
else
:global.currecno:=:global.currecno - 1;
declare
a number;
myfid faculty_details.fid%type;
myfname faculty_details.fname%type;
mysub faculty_details.sub%type;
mybatch faculty_details.batch%type;
myjdate faculty_details.jdate%type;
begin
set_item_property('ti3',enabled,property_false);
set_item_property('ti4',enabled,property_false);
select count(*) into a from faculty_details;
if (a=0) then
:global.reccount:=0;
:global.currecno:=0;
message('I am in the then block...');
else
message('I am in the else block...');
:global.currecno:=:global.reccount;
:di3:=:global.currecno||'/'||:global.reccount;
select fid,fname,sub,batch,jdate into myfid,myfname,mysub,mybatch,myjdate from (
select rownum rn,fid,fname,sub,batch,jdate from faculty_details order by rownum )
where rn=:global.reccount;
:ti49:=myfid;
:ti2:=myfname;
:di1:=mysub;
:di73:=mybatch;
:forms_date:=myjdate;
end if;
end;
set_item_property('ti3',enabled,property_true);
set_item_property('ti4',enabled,property_true);
:ti49:='';
:ti2:='';
:di73:='';
:di1:='';
:forms_date:='';
go_item('ti49');
set_item_property('ti3',enabled,property_false);
set_item_property('ti4',enabled,property_false);
:ti49:='';
:ti2:='';
:ti3:='';
:di73:='';
:di1:='';
:forms_date:='';
go_item('ti49');
set_item_property('ti3',enabled,property_false);
set_item_property('ti4',enabled,property_false);
:ti49:='';
:ti2:='';
:ti3:='';
:di73:='';
:di1:='';
:forms_date:='';
go_item('ti49');
Declare
a number;
begin
set_item_property('ti3',enabled,property_true);
set_item_property('ti4',enabled,property_true);
if :ti2 is null or :ti3 is null or :ti4 is null or :ti49 is null or :forms_date is null then
a:=show_alert('blankfield');
else
insert into faculty_details values (:ti49,:ti2,:ti3,:ti4,:forms_date);
standard.commit;
:global.reccount:=:global.reccount+1;
:global.currecno:=:global.reccount;
');
:di3:=:global.currecno||'/'||:global.reccount;
end if;
end;
begin
delete from faculty_details where fid =:block3.ti49;
standard.commit;
:global.reccount:=:global.reccount-1;
:global.currecno:=:global.reccount;
:di3:=:global.currecno||'/'||:global.reccount;
');
end;
exit_form;
:ti2:='';
:ti4:='';
:ti5:='';
go_item('LIST42');
declare
a number;
cnt number := 0;
x number;
tot number;
begin
select count(*) into cnt from sub_details where (SUBJECT_NAME=:LIST42);
select count(*) into x from sub_record where (SUBJECT_NAME=:LIST42 and
MAX_CLASS = 0) ;
go_item('LIST42');
if(x=1 and :ti4 <= 20) then
update sub_record set MAX_CLASS=:ti4 where (SUBJECT_NAME=:LIST42);
standard.commit;
select MAX_CLASS into tot from sub_record where (SUBJECT_NAME=:LIST42);
else
select MAX_CLASS into tot from sub_record where (SUBJECT_NAME=:LIST42);
end if;
--:ti4 := tot;
if(cnt= tot) then
a := show_alert('OVERFLOW');
elsif(tot > 20) then
a := show_alert('MAXCLASS');
elsif(:ti2 is null) then
a := show_alert('EMPREC');
else
insert into sub_details values (:LIST42,:ti2);
standard.commit;
:ti3:=cnt+1||'/'||tot;
end if;
end;
declare
a number;
begin
select HMARKS into :ti5 from sub_record where (SUBJECT_NAME=:LIST42);
select MAX_CLASS into :ti4 from sub_record where
(SUBJECT_NAME=:LIST42);
end;
Routine Details
declare
a number;
begin
if :bat is null then
a:= show_alert('nobatch');
else
select count(*) into a from faculty_details where batch= :bat;
a:= populate_group('rg1');
populate_list('SUB','rg1');
end if;
end;
declare
b number;
begin
select count(*) into b from faculty_details where sub= :sub;
b:= populate_group('rg2');
populate_list('fac','rg2');
end;
declare
c number;
d number;
begin
select count(*) into c from routine where working_day= :dy and period= :pr;
select count(*) into d from routine where fname= :fac and working_day= :dy;
if c=1 then
c:= show_alert('assigned');
elsif
d=3 then
d:=show_alert('max_class');
else
insert into routine values(:dy,:pr,:fac,:sub,:bat);
standard.commit;
end if;
end ;
Begin
open_form('C:\Project\leave\leave.fmx',activate,no_session);
end;
open_form('C:\Documents and
Settings\Administrator\Desktop\Project\ROUTINE\ROUTINE_REPORT.fmx',activate,no_session;
Leave Form
Declare
a number;
begin
if :li2 is null then
a:= show_alert('noday');
else
select count(*) into a from routine where working_day= :li2;
a:= populate_group('rg3');
populate_list('li1','rg3');
end if; end;
declare
b number;
begin
if :li2 is null then
b:= show_alert('noday');
else
update routine set period='OFF' where fname= :block3.li1;
standard.commit;
end if;
end;
begin
open_form('C:\Project\routine\ROUTINE.fmx',activate,no_session);
end;
Certificate
This is to certify that Ms. Rituparna Hazra of
Calcutta
Institute
of
Engineering
and
Management, registration number: 27833, has
successfully completed a project on Faculty
Allocation System using Oracle Forms under the
guidance of Mr. ARNAB CHAKRABORTY.
--- --------------------------------------------------- Globsyn Finishing School
(a division of Globsyn Skills)
Certificate
This is to certify that Mr. Dipayan Mondal of
Haldia Institute of Technology, registration
number: 27832, has successfully completed a
project on Faculty Allocation System using Oracle
Forms under the guidance of Mr. ARNAB
CHAKRABORTY.
--- --------------------------------------------------- Globsyn Finishing School
(a division of Globsyn Skills)
Certificate
This is to certify that Mr. Parnab Ghosh of Haldia
Institute of Technology, registration number:
27851, has successfully completed a project on
Faculty Allocation System using Oracle Forms
under
the
guidance
of
Mr.
ARNAB
CHAKRABORTY.
--- --------------------------------------------------- Globsyn Finishing School
(a division of Globsyn Skills)
Certificate
This is to certify that Mr. Rudrashish Bose of
Calcutta
Institute
of
Engineering
and
Management, registration number: 27831, has
successfully completed a project on Faculty
Allocation System using Oracle Forms under the
guidance of Mr. ARNAB CHAKRABORTY.
--- --------------------------------------------------- Globsyn Finishing School
(a division of Globsyn Skills)
Certificate
This is to certify that Mr. Asish Bhakat of Haldia
Institute of Technology, registration number:
29659, has successfully completed a project on
Faculty Allocation System using Oracle Forms
under
the
guidance
of
Mr.
ARNAB
CHAKRABORTY.
--- --------------------------------------------------- Globsyn Finishing School
(a division of Globsyn Skills)
Certificate
This is to certify that Mr. Sanjoy Mondal of Haldia
Institute of Technology, registration number:
27850, has successfully completed a project on
Faculty Allocation System using Oracle Forms
under
the
guidance
of
Mr.
ARNAB
CHAKRABORTY.
--- --------------------------------------------------- Globsyn Finishing School
(a division of Globsyn Skills)