Faculty Allocation System
description
Transcript of Faculty Allocation System
-
Faculty Allocation System
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.
-
Routine: We can allocate faculty to classes
in a routine based on the subject and available
faculty for a particular batch and day.
Subject: Admin can assign maximum
classes for a particular subject and insert topics
for each of those classes for that subject.
Faculty Leave: Administrator can update
the routine by setting OFF periods for faculty
applying for leave for a particular day.
View Routine: Routines of all the batches
can be viewed as a report on a separate form.
View Faculty Report: Administrator can
view Faculty Details as a report on a separate
form
View Subject Details Report: Administrator
can view Subject details like Subject Name, and
topics on a separate form
View Subject Record Report: Administrator
can view details like Subject Name, Maximum
Classes, Highest Marks and Subject type
(Theory/Practical).
-
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 Faculty_id, Faculty_name, Subject_name, Batch_number, Join_date
Routine_Details Day, Period, faculty_name, Subject_name, Batch_number
Leave_Details Faculty_name, Day
Subject_Details Subject_name, Topic
Subject_Records Subject_name, Total_number_of_class, Highest_marks, Type
-
E-R Diagram
-
Faculty Details Form
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;
-
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=1;
:ti49:=myfid;
:ti2:=myfname;
:di1:=mysub;
:di73:=mybatch;
:forms_date:=myjdate;
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=: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;
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;
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;
message('record inserted successfully');
message(' ');
: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;
-
message('record deleted successfully');
message(' ');
end;
exit_form;
Class Details 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
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;
-
Future scopes of the project:
The Project can be extended to handle routines of multiple departments of a college.
The Faculty Report could be made more
attractive by including images as BLOBs.
-
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)