Sei sulla pagina 1di 107

A

PROJECT REPORT A ON PROJECT REPORT TENDER PROCUREMENT ON

TENDER PROCUREMENT

SUBMITTED IN PARTIAL FULFILLMENT OF AWARDS OF THE DEGREE OF SUBMITTED IN PARTIAL FULFILLMENT OF AWARDS OF THE DEGREE MASTER OF COMPUTER APPLICATION OF
GUIDE: MR. PRADEEP PANWAR Professor GUIDE: (Dept. of MCA) MR. PRADEEP PANWAR Professor (Dept. of MCA)

MASTER OF COMPUTER APPLICATION

SUBMITTED BY: NEELENDRA PRATAP SINGH MCA-VI TH SEMESTER SUBMITTED BY: Roll No:MCA-0845814433 NEELENDRA PRATAP SINGH MCA-VI TH SEMESTER Roll No:MCA-0845814433

IEC COLLEGE OF ENG. TECHNOLOGY IEC COLLEGE OF ENG. TECHNOLOGY 17-18, KNOWLEDGE PARK-II
MAIN KASANA ROADNOIDA (U.P) 201 306 GREATER PLOTE-4, KNOWLEDGE PARK-I GREATER NOIDA (U.P) 201 306

SESSION-2008-2011 SESSION-2008-2011

CERTIFICATE
This is to certify that project report (Course Code-MCA-671) entitled TENDER PROCUREMENT done by Mr. NEELENDRA PRATAP SINGH, Roll no. MCA-0845814433 is an authentic work carried out by him/her at AQUARIA IFOTECH SOFTWARE PVT LTD. under my guidance. The matter embodied in this project work has not been submitted earlier for the award of any degree or diploma to the best of my knowledge and brief.

Date:

Mr. PRADEEP PANWAR Assistant Professor (Dept. of MCA) IEC-CET Greater Noida.

DECLARATION

I, NEELENDRA PRATAP SINGH student of MCA VI Semester of 2008-2011 batch at IEC COLLEGE OF EGINEERING TECHOLOGY, Greater Noida (Affiliated to Gautam Budh Technical University) do hereby declare that this report entitled TEDER PROCUREMENT has been carried out by me during this Semester and the same work has not been copied from any source directly/indirectly without acknowledging for the part/section that has been adopted from published/non-published works.

Date: Place:

NEELENDRA PRATAP SINGH

ACKNOWLEDGEMENT

I would like to take this opportunity to thanks everybody who guided me and extended possible help for the successful completion of the project Tender Procurement. This work would not have been a reality without the permission of management of Aquarian Infotech Software Pvt. Ltd, which gave me the opportunity to work in a professional environment. I am indebted to Mr. RanVijay, Project Leader, to whom I owe the success of this project, for his whole hearted corporation and guidance, which helped me in overcoming the teething problems of an industrial environment and carrying on the project work smoothly. First I would like to express my profound sense of gratitude to Dr.Navel Kishor Sharma (HOD of MCA department in IEC COLLEGE of Eng. Tech, Greater Noida, for being a source of inspiration and providing me with courage and determination to complete the project. Words simply cannot register my gratitude and indebtedness to him. I am extremely grateful to Pradeep Panwar (Internal Project Guide Swain) and all faculty members of our college who assist me to develop project, who help to gathering information related to project. They always encouraged and enlightened me whenever I needed help. I also thank full to my friend Mr. Vivek and Mr. Narendra Singh (team member) which fully contribute to develop the project. I wish to Thanks my parents who have always been a source of inspiration for their never-ending support and love throughout the completion of the project. Also Thanks to my friend who help me in every moment, when I need him.

Narendra Singh Khatri MCA-VI Sem

ABSTRACT
The basic function of this system is available the tender documents online to the customers and download the application forms. Daily many tenders will be released and the new tenders are updated so that customers can view them and if they are interested they can download the tender form. Customers will have to register themselves and will get a permanent user ID and password. By this ID and password he can download the tender forms in future also.

The tender documents will be supplied to the user. This system can also handle multiple tender documents at one time i.e. the user can access various tenders from the company at onetime and can download the required forms. The user can submit the details along with quotation to the department through online. Then the department people evaluate all the tenders submitted by users on evaluation date and they allocate that work to the user who is eligible and quoted for less amount.

CLIENT

INDRAPRASTHA GAS POWER CORPORATION LTD. (IPGCL)

A DELHI GOVT. ENTERPRISE


INDRAPRASTHA ESTATE, OPP. INDERPRASTA DEPOT NEAR I.T.O, NEW DELHI 110001

Table of Contents:

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.

Company Profile Proposed System Introduction About the Project Software and Hardware requirements System Analysis and Design Data Flow Diagram ER-Diagram Data Base Design Sample Code Testing Snap Shots Limitations Enhancement Conclusion References

COMPANY PROFILE
AQUARIAN INFOTECH SOFTWARE Pvt. Ltd.

Aquarian Infotech Software is an IT Consulting and Software Development company specializing in Software Development, Project Management, Contract Programming, and IT Staffing.Aquarian Infotech Software's consultants possess extensive technical and project experience resulting in our ability to understand client requirements, supply the needed consulting resources and deliver the right kind of product. We fulfill our promises with speed, quality and value to both our Consultants and our Clients. Aquarian Infotech Software strives for a mutually beneficial relationship, delivering to needs requirements, by which the Customer is in complete control of outcomes. Aquarian Infotech Software has a world-class talent pool comparable with the best in the business. The right mix of technologies who understand business and business analysts who understand technology achieve excellence. Services We develop your Web application solutions such as - Web Portal-Backend Design and Development Single Sign-On - Secure Transactions, Email-Server - Trading. Our technology allows complete separation of front-end and backend.

Technologies Capability

Java platform Microsoft Tools HTML, Java Server Pages (JSP). Enterprise Java Beans components.

Application Servers Weblogic.

A p p l i c a t i o n D e v e l o p me n t S e r v i c e s Support for applications in production occupies a large portion of today's IT budget. Managing those activities effectively drives to your bottom line. Application Management Services can assume the ongoing maintenance, management, conversion, enhancement and support of your application portfolio. In addition, Application Management Services can deliver application functionality and associated services across a network to multiple customers, using an expansive set of pricing models. Whether it's specific point solution, a specific skill, or a broad need, AMS can provide the right capabilities. We offer you a wide range of application management services, latest technology based legacy systems and client-server based distributed systems to Net-centric systems. With the right resources, skills and processes, we help transition your applications across technologies.

Web Applications

We develop your Web application solutions such as - Web Portal-Backend Design and Development Single Sign-On - Secure Transactions. Our technology allows complete separation of front-end and backend. Address: Aquarian Infotech Software Pvt. Ltd. B-249, Sector-63 Noida.

www.aquarianinfotech.com

OUR VISION
We shall define ourselves in the cutting edge technology in the coming era. We shall create honest working environment with see through glass planning.

OUR MISSION
To create opportunity for growth and self actualization to trainees and provide an environment of highly conducive works culture.

PROPOSED SYSTEM
INTRODUCTION OF THE PROJECT
The objective of this software is to computerize the Procurement Management activities of Corporate Material Procurement Group (CMPG) of IPGCL

Process at Indenters end


Any department / section of IPGCLs Corporate Center requiring any one or items or services is required to prepare a document listing out technical details of the Material / Service Required, Qualifying Requirements of bidders etc. This document forms what is termed Purchase Requisition (PR) or Purchase Indent (PI) or simply indent. The indent must have approval as per the Delegation of Power. The estimated rates must be vetted by Finance. The indent must have appropriate budget provisions certified by Finance.

Process at CMPG:
First CMPG receives indent and check it w.r.t. Checklist of purchase indent. If the indent satisfies all the condition given in the checklist, it is registered. Otherwise it is returned back to the Indenter. Then some Qualifying Requirements have been specified regarding the material to be purchased. Then tender or Bids are invited from different vendors or Bidders by giving an advertisement in the newspaper and company site. If the tender is open then QR Committee is formed with the three departments (Material departments, Finance departments and Indenting departments). Main purpose of this committee is to access the financial and technical capability of the Bidder.

Finally there is a proposal for floating tender enquiry. If the tender is limited or single then there is direct proposal for floating tender enquiry. Floating tender enquiry means inviting bids from those venders whose name has been approved enquiry. Floating tender enquiry means inviting bids from those venders whose name has been approved. Then a TC (Tender Committee) is formed, consisting Material department, Finance department and indenting department. After this bids or quotations are received from venders and these bide are opened at pre specified date. Then these bide are send to the Indenter for technical evaluation. Then a CS (Comparative Statement) is made for every technically accepted bid. Then all the vendors are assigned levels i.e. L1, L2 and so on, based on their CS price. Finally TC selects vendor having lowest quotation price and best quality material for issuing purchase order. An approval from some higher authority is also needed. If some justification is needed from vendor, he is called for Pre Award discussion and the negotiation is held with TC and final approval is again needed from the higher authority. After this a PO (Purchase Order) Letter of Award is prepared and issued to the successful bidder. With PO release, CPG (Contract Performance Guarantee) is demanded from the successful bidder through bank which is generally 10% of the contract value. After this vendor is called for inspection and if the material is ready, it is dispatched to NTPC store with the documents like packing list, invoice, and Warrantee certificate etc. CMPG receive SRV (Stored Receipt Voucher) from store as soon as material is received at store and record the SRV information. Then CMPG sends PAN Payments Advice Note along with the SRV, Invoice etc. On receiving Payment Release

Note from Finance and satisfactory performance report from indenter, CMPG release CPG and finally indent is closed.

Users of PMS are broadly divided in to three types


1. Administrator: Administrator can access all the functions of Procurement Management System (PMS). He creates new users and refreshes the contents of the table. 2. Special User: This category includes the users at AGM, DGM, GM and other higher authorities that have more power than general user and can view any general user indent information and give the direction about the pending indents. 3. General User: General users make registered indents and do all further activities. Any general user can only access his indents information and has no access to others indent.

Scope of the System


The scope covers following 1.

Receipt of purchases Indents, scrutiny and registration there of in Corporate Materials Procurement Group.

2.

Initiating the Note for approval for Floating of Tender, Name of Vendor and preparation of Tender Documents, Notice Inviting Tender wherever applicable and sending of Tender enquiry to the prospective vendors.

3.

Initiating a note for nomination of Tender committee member from Corporate Materials, Finance and Indenting Department and obtaining approval of competent authority as required

4.

Opening of bids on due date of bid opening by corporate materials, Finance members in presence of bidders representative if any and forwarding the bids to indenting department for technical evaluation.

5.

Preparation of comparative statement, cost compensation of bids if required.

6.

To make recommendations for placement of purchases order or pre award discussion, if any.

7.

Placement of purchases Order/Letter of Award.

8.

Obtaining the approval of Competent. Authority at various stages per delegation of power (DOP).

PURPOSE OF THE SYSTEM


To define a system for
I.

Centralized control of the purchase Indents received in corporate office departments.

II.

Obtaining the approval regarding mode of Tendering and Issue of Tender enquiry.

III.

Formation of Tender Committee. Opening the Bids and obtaining Technical Evaluation Report. Evaluation of Bids and make recommendations thereof. Placement of purchase Order / Letter of Award.

IV.
V. VI.

Action and method of the System REGISTRATION OF INDENTS

Receiving indent in centralized system having the information e.g. brief description, quality, estimated value, last purchases reference, suggested vendors, date of requirement etc. it include the following Sub actions. 1. Checking Indents with respect to Administrative Approval Finance Concurrence / Cost Estimate Vetting Budget Provision / Certification Specification / Scope of Work number

2. If found in order then register the indent and assign the registration to it.

3. In case of discrepancy, give Temporary registration number and return the indent to the originator of the system. 4. After receipt of the desired documents / clarification / approval link with temporary registration no and follow the above procedure before registration of indent.

APPROVAL FOR ISSUE OF TENDER ENQUIRY

Depending upon the nature of indent and Administrative approvals, decide the mode of Tendering

1. In case of single or limited tender, Obtain approval for floating of enquiry along with the list of vendors in line with D.O.P. as per Computer Generated Format 2. In case of Open Tender get nomination of Q.R. Committee, finalize Q.R., obtain approval of C.A. and obtain approval for NIT as per delegation of power. 3. Send IOM to public Relation Department along with Advertisement matter in abridge from for News Paper Publication. 4.Inform Contract Coordination along with detailed notice inviting tender (NIT) for hosting in NTPC web site (ntpctender.com) and send hard copies of detailed NIT to known vendors for references.

BID DOCUMENT PREPRATIONS

1. Prepare Bid documents consisting of following Letter of Invitation to Bids Indicating B.O.D., EMD etc. through PC. Technical specification Bid Price Schedule General terms and Condition Condition of Contract and Special condition of Contract.

2. ISSUE OF TENDER ENQUIRY

In case of single or limited Tender, Issue of Enquiry to the listed In case of open Tender issue of Tender Document to all the vendors Send Tender document fee to Finance Establishment Deptt.

vendors. whose request is received.

3.NOMINATION OF TC
Get nomination of Tender Committee member as per DOP from Indenting, Materials and Finance through computer.

3.OPENING OF BIDS
Bids shall be opened in association with Finance representative on schedule BOD. Open the Bids if found in order w.r.t. To condition of Bid Document. EMD and any other specific instructions. Record the entries in the BOD register. Assign proper numbering on each Bid received. (1/n, 2/n) and signed by Bid Opening Team on each Page (Where n is number of Bids).

4.Extension of BOD
Due to any reason whatsoever, Seek approval of competent authority for calling of Tender / GM (CM) inform all the bidders as per format through Computer open the bids as above on the extended B.O.D. In case of Two Part Bidding Open Part I

Technical Bid (considering of EMD Tech. Q.R Documents whenever applicable). Price Bids should be kept with P.E.duly signed and numbered by Opening Team. Make enteries of the details in Bid opening CUM EMD register and signed by Bid Opening Team and Vender Representative.

5.EVALUATION OF BIDS
Obtain TER if found in order a. For Single Pat Biding Prepare CS all for Tender Committee meeting. Initiate TC Minutes / Recommendation Note. Indicate the Salient Feature in body of the TC Note b. In The Case Of Two Part Biding Initiate note for opening of price Bids as per DOP.

Inform Price Bid Opening date to all the technical Acceptable Bidders. Open the price Bid on the B.O.D. C.Preparation of Comparative Statement Prepare Comparative statement of technically acceptable Bids as per guidelines Term & Condition and the final evaluated price shall be marked as L1, L2 etc.

6.TENDER COMMITTEE MEETING

Arrange T.C. meeting prepare evaluation report. Obtain approval of the competent authority of as per DOP through concerned department. Then Pre Award discussion if found necessary the TC recommendation may be put to CA award, subject to clarification / confirmation on those issues Inform the bidder for Pre Awarded discussion and arrange Tender Committee meeting.

Tender Committee Recommendation Upon discussion with the Vendor, prepare final note to be signed by Tender Committee with the above issue and put up for approval of one level higher authority.

7. ISSUE OF PURCHASE ORDER / LETTER OF AWARD


Issue the P.O. / L.O.A. to vendor with a copy to indenter, stores, finance and an office copy after inspection of the document as per MR procedure.

ABOUT THE PROJECT:INTRODUCTION


The objective of this software is to computerize the Procurement Management activities of Corporate Material Procurement Group(CMPG) of IPGCL.

PURPOSE OF THE SYSTEM


To define a System for Centralized control of the purchase Indents received in corporate office department. Obtaining the approval regarding mode Tendering and issue of Tender enquiry. Formation of Tender Committee.

Opening the Bids and obtaining Technical Evaluation Report. Evaluation of Bids and make recommendations thereof. Placement of purchase Order/Letter of Award.

SCOPE OF THE SYSTEM


The Scope covers following. 1) Receipt of purchase Indent, security and registration thereof in corporate Materials Procurement Group. 2) Initiating the Note for approval for Floating of Tender , name of Vender and preparation of tender Documents, Notice Inviting Tender Wherever applicable and sending of tender enquiry to the Prospective Vendors. 3) Initiating a note for Nomination of tender Committee member from Corporate approval of component authority as required. 4) Opening of Bids on due of bid opening by Corporate materials, Finance members in presence of bidders representative if any, and forwarding the Bids to indenting department for technical evaluation. 5) Preparation of Comparative Statement, Cost Compensation of Bids if required. 6) To make recommendation for placement of purchase Order of pre award Discussion, if any. 7) Placement of purchase Order/Letter of Award. 8) Obtaining the approval of Competent. Authority at various stages per delegation of power(DOP).

SOFTWARE REQUIREMENTS SPECIFICATION PROBLEM STATEMENT


Process at Indenters end:
Any Department/Section of IPGCL Corporate center requiring any one or items or service is required to prepare a document listing out technical details of the material(S)/Service required, Qualifying Requirements if Bidders etc. This document forms What is termed purchase Requisition (PR) or Purchase Indent(PI) or simply indent. The indent must have approval as per the

Delegation of power. The estimated rates must be vetted by Finance. The indent must have appropriate budget provisions certified by Finance.

Process at CMPG
First CMPG receives indent and check it w.r.t. Checklist of purchase indent. If the indent satisfied all the condition gives in the Checklist, it is registered , otherwise it is returned back to the Indenter. Then some qualifying requirements have been specified regarding the materials to be purchased. Then tender or Bids are invited from different vendors or Bidders by giving an advertisement in the newspaper and company site. If the tender is open then QR committee id formed with the three departments (Materials department, Finance department and Indenting department). Main purpose of the committee is to access the financial and technical capability of Bidder. Finally there is a proposal for floating tender enquiry. If the tender enquiry means inviting bids from those venders whose name has been approved enquiry. Then a TC(Tender Committee) is formed, consisting material department , Financial dept. and Indenting dept. After this bids or quotation are received from vendors and these bids are opened at the specified date. Then these bids are sent to the indenters for technical evaluation. Then a CS(Comparative Statement) is made for every technically accepted bid. Then all the the vendors are assigned L1,,L2,L3 and son on based on there CS price. Finally TC selects vendor having lowest quotation price and best quality material for issuing purchase order. An approval from some higher authority id also needed. If some justification is needed from vendor, he is called for pre-award discussion and the negotiation is held with TC and final approval is again needed from higher authority. After this is a PO(Purchase order) Letter of award is prepared and issued to the successful bidder. With PO release CPG(Contract Performance Guarantee ) is demanded from the successful bidder through bank which is generally 10% of the contract value.

Architecture
Functional Requirements: Procurement Management is the Official Web-site, which is further divided into various Modules. These Modules are listed below. Procurement Management

Tender

Material

Finance

Employ

HR

Procurement management Modules General Module Tender Module Material Module Finance Module Employee Information Module Human Resource Module

Procurement Module was divided into the above said modules. Description of each are given below.

General Module:
User Login Registration Of New User The General Module takes care of the things like user Authentication. Any authentic user can directly login from this page. If a new user is there then the facility of registration process is also there through which a new user can directly registered himself.

Tender Module:
Tender Module mainly deals with handling of tender of any Company. It further divided into sub forms.

REGISTRATION OF INDENTS:

Receiving indent in centralized system having the Information e.g. brief description, quality, estimated value, last purchase reference, suggested vendors, date of requirement etc .And it includes following Subactions. 1. Checking Indents with respect t o 1) Administrative Approval. 2) Finance Concurrence /Cost Estimate Vetting 3) Budget Provision /Certification 4) Specification /Scope of Work 2. If found in order then register the indent and assign the registration number to it. 3.In case of discrepancy, give Temporary registration number and return the indent to the originator of the system.. 4.After receipt of the desired documents/clarification/approval, link with temporary registration no and follow the above procedure before registration of indent.

APPROVAL FOR ISSUE OF TENDER ENQUIRY


Depending upon the nature of indent and Administrative approvals, decide the mode of Tendering. 1. In case of single or limited tenderObtain approval for floating of enquiry along with the list of venders in line with Computer Generated Format. 2. In Case of Open Tender get nomination of Q.R Committee, finalize Q.R, obtain approval of C.A and obtain approval for NIT as per delegation of power. 3. Send IOM to public Relation Department along with Advertisement matter in abridged form for News Paper Publication. 4. Inform Contract Coordinator along with detailed notice inviting tender (NIT) for hosting in NTPC Web Site (ntpctender.com) and send hard copies of detailed NIT to known venders for reference. BID DOCUMENT PREPARATION: D.O.P as per

1. Prepare Bid documents consisting of followingLetter of Invitation to Bids Indicating B.O.D, EMD, etc, through PC. I. II. III. IV. Technical Specification. Bid Price Schedule. General term and Condition. Condition of Contract & Special Condition of Contract. ISSUE OF TENDER ENQUIRY: 1. In Case of single or limited tender ,Issue of Enquiry to the listed vendors. 2. In Case of open Tender issue of Tender Document to all the vendors whose request is received. 3. Send tender document free to Finance Establishment Deptt NOMINATION OF TC: Get nomination of Tender Committee member as per DOP from Indenting ,Materials and Finance through computer. OPENING OF BIDS: Bid s shall be opened in association with Finance representative on scheduled BOD.Open the bids if found in order with respect to. I. II. III. IV. V. To Condition of Bids Document. EMD and any other specific instructions. Record the entries in the BOD register. Assign proper numbering on each bid received (1/n,2/n) and signed by Bid Opening Team on each Page( where n is number of Bids).

Extension of BOD
Due to any reason whatsoever, Seek approval component authority for calling of Tender/GM(CM) inform all the bidders as per format through Computer open the bids as above on the extended B.O.D.

In case of Two Bidding-Open Part-I Technical Bid (considering of EMD Tech. Q. R documents whenever applicable). Price Bids should be kept with P.E. duly signed and numbered by Opening Team
Representative. EVALUATION OF BIDS: Obtain TER if found in order 1. For Single Part Biding a.. Prepare CS all for Tender Committee meeting b. Initiate TC Minutes/Recommendation Note. c. Indicate the Salient Feature in body of the TC Note 2. In The Case Of Two Part Bidding: a. Initiate note for opening of price Bids as per DOP b. Inform Price Bid Opening date to all the technical Acceptable Bidders. c. Open the Price Bids on the B.O.D. 3. Preparation of Comparative Statement: Prepare Comparative Statement of technically Acceptable Bids as per guidelines Terms & Condition and the final evaluated price shall be marked as L1,L2,etc. .Make entries of the details in Bid Opening CUM-EMD register and signed by Bid Opening Team & Vender

Material Module:

Material module mainly deals with the different types of material that are used for the fulfillment of tenders. This module consists of different sub forms having different types of material, there complete description of the material such as its cost , availability, type etc are maintained in separate forms. We have taken four forms for this module namely. 1) Computers: All the requirements details for computer equipments. 2) Furniture: All the requirements details for Furniture in the organization.

3) Books: All the requirements details for books. 4) Accessory: All the other requirements equipments.

Finance Module:
Finance Module deals with the approval or disapproval of the tender weather any tender is feasible for the corporate or not, if it is feasible than it is approved and sends the approval report to HR department. If it is not feasible than order has been cancelled. It also maintained the complete financial details of any employee in the organizations. His salary , P.F, D.A etc of any employee is maintained.

Employee Information Department:


EID module deals with each and every information regarding the information of any employee. It has further divided into 4 forms. 1) Insert, Delete, Update and View of Tender Department Employee. If any new employee is appointed in the Tender Department then his entry can be made through this form. His complete description such as his name, salary, date of birth, joining date etc can be entered , view , update and delete on the basis of unique emp-id. 2) Insert, Delete, Update and View of Material Department Employee. If any new employee is appointed in the Material Department then his entry can be made through this form. His complete description such as his name, salary, date of birth, joining date etc can be entered , view , update and delete on the basis of unique emp-id. 3) Insert, Delete, Update and View of Finance Department Employee. If any new employee is appointed in the Finance Department then his entry can be made through this form. His complete description such as his name, salary, date of birth, joining date etc can be entered , view , update and delete on the basis of unique emp-id.

4) Insert, Delete, Update and View of HR Department Employee. If any new employee is appointed in the HR Department then his entry can be made through this form. His complete description such as his name, salary, date of birth, joining date etc can be entered , view , update and delete on the basis of unique emp-id.

Software and Hardware Hardware and Software Requirement Specification


Title of The Project : Procurement Management System. Project Category : RDBMS Tools / Platform : Front End : JSP, HTML Back End : Oracle 8i Enterprise Edition Release 8.1.7.4.0 Server Used : Web Logic Operating System : Window XP Language Used : JAVA The Salient Feature of the above mentioned tools / platform are as follows:

Data base is the most important thing in this universe as data base gives identity to a thing without data base existence of a thing is impossible. While working on a project first step is to design a database. What is data base ? Data Base is a collection of tables and table is a collection of records in a tabular form i.e. in row and columns. Data Base can be divided into two parts :1. RDBMS. 2. DBMS. We will be using RDBMS (Relational Database Management System) in our project i.e. oracle 8i Enterprise edition.

Why we are using Oracle (RDBMS)? Some of the merits of using Oracle (RDBMS) is as under : Centralization of database. Client Server Technology. Security. Normalization of Data Base. Relationship. Transaction Processor. It gives some internet related features.

Hence because of these features we are using Oracle as a back end technology. ABOUT ORACLE 8.0 Oracle 8.0 contains all the features of previous version. It also supports some new features & enhancement to some existing features. Oracle servers provides deficient & effective solution for the major features. Large Database & Space Management Control Oracle supports the largest database potential hundreds of Giga Bytes in size. To make efficient use of expensive devices , it allows full control of space usage. Many Concurrent Database Performances It supports large no of concurrent users executing a variety of database Applications operation on the same data. It minimizes data connection & guarantees data concurrency. High Transaction Processing Performance Oracle maintains the processing features with a high degree of overall system performance. Database user doesnt suffer from slow processing performance.

High Availability At some sets Oracle works 24 Hours per day with no downtime or limit database throughput. Normal system operation such as database backup & partial completion system failure dont interrupt database use. Controlled Availability Oracle can selectively control the availability of data at the database level & sub Database level. e.g. an administrator can disallow use of a specific application .Data can be reloaded without affecting other application. Industry Accepted Standards Oracle adheres to industry accepted standards for the data access language operating system, user interface & network communication protocols . It is open system that protocols a customer invention. Manageable Security To protect against unauthorized database aspects & users .Oracle provides failsafe security features to limit & monitor the data area. The system make it easy to manage even the most completed designs for data assets. Database Enforced Integrity Oracle enforces data integrity Business rules that dictates the standards for applicable data. As result the cost of coding & managing checks in many database applications are eliminated. Distributed Database System For community environment that are connected via networks. Oracle combines the data physically located on the different computers in one logical database that can be accessed by all the network users. Distributed systems have same degree of user transparency & data consistency as non-distributed systems. Yet receives the advantages of local database management. Portability

Oracle software is compatible to work under different operating system & same on all system. Application developed on Oracle can be used on virtually any system with little or no more modification. Compatibility Oracle software is compatible with industry standards, including most industry standards operating systems. Application developed on Oracle can be used on virtually any system with little or no modification. Connectivity Oracle software allows different types of computers & operating system to share information networks. NEW FEATURES OF ORACLE 8.0 Improved Scalability The maximum size of an Oracle database has been increased to support hundreds of terabytes depending on the operating system on which it resides. Improved Security Oracle 8.0 server now includes password management so that a password has a limited lifetime & must meet certain complexity such as minimum length. An account can be locked after a specified no of failed login attempts. Improved Performance Via Partition A table of index can divided into smaller pieces called patrons, based on the value of one or more columns. A table patron can be individually managed so that operation in one partition do not affect the availability of data on the other partitions. Also Insert ,Update ,Delete operation against a partitioned table can be processed partially. In other words, the Oracle 8 server can assign a portion of the work to execute a single DML statement to multiple processes , which may then be allocated to multiple processes by the server operating system. As a result ,the parallel DML operation is completed more quickly. Enhanced Support for Database Replication

The performance & manageability of database replication have been significantly improved. Capability To Handle a Much Larger Number Of Concurrent Users By pooling database connection, the Oracle 8 server is able t9o service a much larger number of concurrent users up to 3000, depending on the server operating system & server hardware resources. New & Improved Data Types Some existing data types have been enhanced & new data types have been introduced. Improved Select Statement A new feature of the select statement allows a sub query to be used in place of a table in a from clause. Now when we are discussing Data Base there is one more thing attached to it i.e. Data Base Models. DataBase Models : There are three kind of database models :1. Single tier architecture. 2. Two tier architecture. 3. N- tier architecture. Single tier Architecture :- In this kind of architecture Database and Client Application remains on One machine i.e there is no client server technology , there is no centralization of database and basically it is a stand alone system. Two tier Architecture :- In this Kind of architecture Database and client application is on two different machine i.e. Database on one machine and Application on another machine. In this type of architecture there is client server technology and centralisation of data base is there, but it has two demerrits :1. Security is not there, 2. Multiple Client access is not there.

N- tier Architecture :- In this kind of architecture there is a middle ware in between client and database. Middle ware checks the validity of the client i.e. weather client can access the database or not. Hence there is security in it as well as middle ware allows multiple client access. What is Middle Ware ? Middle Ware is a concept , Middle Ware provides centralization of business logic i.e. instead of putting logic on each and every client machine we put logic on a centralized server hence middle ware is nothing but a server side program where all your business logic and business methods reside. It remains on server side and it has all the logical building. Middle ware provides :1. 2. Multiple Client access. centralized business logic in case of distributed application.

Because we are working on Distributed Application Based Project we need platform independent Language :Introduction to Java Java is a high level, third-generation programming language, like C, Fortran, Perl and many others. It is a platform for distributed computing a development and run-time environment that cointains built-in support for the World Wide Web. History of Java Java development began at Sun Microsystem in 1991, the same year the World Wide Web was conceived. Javas creator , James Gosling did not design java for the Internet. His Objective was to create a common development environment for consumer electronic devices which was easily portable from one device to another. This effort evolved into a language , code named Oak and later renamed Java that retains much of the syntax and power of c++ , but is simpler and more platform independent. Java Features Some of the important features of Java are as follows: Simplicity

Orientation Platform Independence Security High Performance Multi Threading Dynamic linking. Garbage Collection.

One of the most important feature of Java is Platform Independence which makes it famous and suitable language for World Wide Web. Why java is Platform Independent ? Java is Platform Independent because of Java Virtual Machine (JVM). Java Virtual Machine (JVM) The client application or operating system must have a java byte-code interpreter to execute byte-code instructions. The interpreter is a part of a lager program called the JVM. The JVM interprets the byte code into native code and is available on platforms that supports java. When the user runs a Java program, it is upto the JVM to load , possibly verify, and then execute it. The JVM can perform this function from within a browser or any other container program or directly on top of the operating system. When a browser invokes the JVM to run a Java program, the JVM does a number of things : 1. It validates the requested byte-codes, verifying that they pass various formatting and security checks. 2. It allocates memory for the in coming java class files and guarantees that the security of JVM is not violated. This is known as the class loader. 3. it interprets the byte code instructions found in the class files to execute the program. Connectivity using JDBC :There are four kind of drivers available in Jdbc :-

1. 2. 3. 4.

JdbcOdbc Bridge Driver. Partly Java Driver. Pure Java Driver. Native Driver.

JdbcOdbcDriver : This provides Jdbc access via Odbc drivers. Note that Odbc binary code , and in many case database client code, must be loaded an each client machine that uses this driver. As a result this kind of driver is most appropriate on a corporate network where client installations are not a major problem. Partly Java Driver : This Driver translates Jdbc calls into a Net Protocol which is then translated to a RDBMS protocolby a server.In this kind of driver part of the binary code should be on client machine and part should be on server, hence this kind of driver has same problem that was with JdbcOdbc driver and it is mostly used in Intranet. Pure Java Driver : This is a platform independent driver as this kind of driver remains on server. This kind of driver is provided by third party vendor. This net server middle ware is able to connect its pure java clients to many different databases. Native Driver : This kind of driver converts JDBC calls into the network protocol used by Dbms directly. This allows a direct call from client machine to the DBMS server and is a practical solution for Intranet access. Note :- We are using 3rd Type of driver i.e. Thin Driver in our project.

JSP: Java server pages (JSP) technology provides a simplified, fast way to create dynamic web content. JSP technology enables rapid development of web based applications that are server and platform independent. Java server pages has two subcategories: 1. Tag Libraries 2. JSP Standard Tag Library JSP Technology in the J2EE Platform In java 2 Platform, Enterprise Edition (J2EE) v1.4, JSP technology has simplified the page and extension development models with the introduction of a simple expression language, tag files and a simpler tag

extension API among other features. This makes it easier than ever for you to build pages based on JSP technology. Java server pages (JSP) is a technology that lets you mix regular, static HTML with dynamically generated HTML. Many web pages that are built by CGI programs are mostly static, with the dynamic part limited to a few small locations. But most CGI variations, including servlets make you generate the entire page via your program, even though most of it is a always the same. JSP lets you create the two parts separately. Advantages of JSP over other technologies 1. vs. Active Server Pages (ASP) - ASP is a similar technology from Microsoft. The advantages of JSP are twofold. First, the dynamic part is written in java, not Visual Basic or other MS Specific languages, so it is more powerful and easier to use. Second it is portable to other operating systems and non Microsoft Web Servers. 2. vs. Pure Servlets - JSP does not give you anything that you could not in principle to with a servlet. But it is more convenient to write ( and modify!) regular HTML. Plus, by separating the look from the content you can put different people on different tasks: your web pages design experts can build the HTML, leaving places for your servlet programmers to insert the dynamic content. 3. vs. Server Side Includes (SSI) SSI is a widely supported technology for including externally defined pieces in to a static web pages. JSP is better because it lets you use servlets instead of a separate program to generate that dynamic part. Besides SSI is really only that use form data, make database connections and the like. 4. vs. Java Script Java Script can generate HTML dynamically on the client. This is a useful capability, but only handles situations where the dynamic information is based on the clients environment. With the exception of cookies, HTTP and form submission data is not available to access server side resources like databases, catalogs, pricing information and the like. 5. vs. Static HTML Regular HTML of Coursecan not contain dynamic information. JSP is so easy and convenient that it is quite feasible to sugment HTML pages that only benefit marginally by the insertion of small amounts of dynamic data. Previously the cost of using dynamic data would preclude its use in all but the mostr valuable instances. HTML: To publish information for global distribution, one needs a universally understood languages, a kind of publishing mother tongue that all computers may potentially understand. The publishing language used by the WWW is HTML (Hyper Text Markup Language). HTML gives authors the mean to: Publish online documents with heading, text, tables, lists, photos etc. Retrieve online information via hypertext links, at the click of a button. Design forms for conducting transactions with remote services for use in searching for information, making reservations, ordering products etc. Include spread sheets, video clips, sound clips and other applications directly in their documents. Java Script:

Java Script is Netscapes cross platform, object based scripting language for client and server applications. There are two types of Java Script. Navigator Java Script statements embedded in an HTML page can respond to user events such as mouse clicks, form input and page navigation. For Example, you can write a Java Script function to verify that users enter a valid information in to a form requesting a telephone number or a zip code. Without any network transmission the HTML page with embedded Java Script can check the entered data and alert the user with a dialog box if input is invalid. Live Wire Java Script, also called server side Java Script Live Wire is an application development environment that uses Java Script for creating server based application similar to CGI (Common Gateway Interface) programs. In contrast to Navigator Java Script, Live Wire Java Script applications are compiled in to byte code executables files. The live wire server extension generates HTML dynamically; this HTML (which may also include client side Java Script statements) is then sent by the server over the network to the navigator client, which display the results. Validating Form Input: One of the most important uses of Java Script is to validate form input to server based programs such as Live Wire application or CGI programs. This is useful because It reduce the load on the server. Bad Data are already filtered out when input is passed to the server based program. It reduce delays in case of user error. Validation otherwise has to be performed on the server, so data must travel from client to server, be processed and then return to client for valid input. It simplifies the server based program. Generally you will want to validate input in (at least) two places. As the user enters it, with an on change event handler on each form element that you want validated. When the user submits the form, with an on Click event handler on the button that submits the form. System Analysis And Design System Analysis And Design System Analysis And Design are very important aspect of any system development process. These two are the steps of SDLC. SDLC stand for System Development Life Cycle. Which represents the actual process happened during the development of any system. I have followed Linear Sequential Model or Water Fall Model in developing the system. The following figure shows the SDLC of any system in Linear Sequential System development.

Feasibility Study System Analysis System Design Coding Testing Implementation Maintenance According to the above figure there are seven stages of development process of a system. Among the above seven stages first three i.e. Feasibility Study, System Analysis and System Design are the most important stages. In fact two analyses and design from the three are the foundation of any system top be developed. If these two stages are not done properly then there is not any chance that the system being developed will work properly. Feasibility Study Objective of the Study The objectives or main aims of this study are to ascertain if the current system can be improved in any way through any means. The part of the system to be improved is the aspect involving the dealings of problems of customers who may be organization or person or employees whose organization solves their problem. There are three types of Feasibility Study, which are Technical Feasibility. Economical Feasibility. Legal Feasibility. Technical Feasibility In Technical Feasibility, we will check the possibility of the technology that support the required system and functions. In short we will check that weather the system is technically possible. In Technical Feasibility all the technical aspects of the project are studied. Since my job was to develop a new system as the company wanted to have a web enabled Procurement Management System so, that it can serves Corporate Materials Procurement Group (CMPG) and the employees across it. So I have studied on the line that weather it is possible to develop such a system. The consideration that are normally associated technical feasibility include: Development Risk Analysis

It was taken into consideration that weather the system element can be designed so that necessary functions and performance can be achieved uncovered during analysis. Resource Availability It include, weather the components and resources are available that are required to develop this report and what are the necessary resources required to build the system. Technology Has the relevant technology progressed to a state that will support the system.? Economic Feasibility It includes an assessment of the economic justification for a computer based system. In economical feasibility all the economical aspects of the project are studied. Since in this case there was not any consideration of money as all the tools used in this project work are already available her like IBM with Window XP, Tomcat as web server. Legal Feasibility It includes checking of weather the system is violating any law of our country or any judiciary act, and there was no violation of any law in concern of this project Finding Of Feasibility Study Since we were very much clear about the design of the system so in the analysis of development risk we found that it is quite difficult to design the proposed system that it can support all the functions desired by the company in the system. All the resources necessary to develop the software were available to me weather software case tools, user manual or book. The present state of the technology supports this type of system. In fact, there are already many such type of system development by the other commercial organization. There was not any problem in economical feasibility of this project, as stated above that all the resources necessary for this project were available. Also this system does not produce any legal problem as it is not violating any law of our country, it also does not violate any copyright of other legal or sub judiciary law.

Requirement Analysis Requirement Analysis is a software engineering task that bridges the gap between the system engineering and software design. It provides the software designers with a representation of information and function that can be translated to the data, architecture and procedure.

Problem Analysis In my project the main requirement is to improve the user interface that is making it user friendlier. During problem analysis, we have listed some of the problems in the current existing system. 1. Unfriendly user interface. 2. Some important functionalitys area missing like not considering important and non important cases when creating comparative statement and much other functionally are also missing. 3. Platform dependent. Problem Evolution and Synthesis In this I have noted all the requirements of the CMPG as well as the users who are going to use it, I asked many question like What are additional functionalitys you want in the system? What area the problems you faced in the existing system? Do you really need this system? What are your expectations with the system? How will you manage to do this work manually? Is there anything else that you want to specify? Is there anyone else who can provide additional information? With the help of this analysis I have tried to reduce the gap between my system and user expectation. Design Methodology There are six steps in the design process. The first five steps are usually done on paper and then the final design is implemented. Identify tables and relationship. Identify data that is needed for each table and relationship. Normalize the data. Resolve relationship. Verify the design. Implement the design. Step 1: Identify the tables and their relationships to each other. To identify the tables and their relationship to each other Define high level activities: Identify the general activities that will be used in this database. To define the tables: For the list of activities identify the subject needed to maintain the information. Identify relationship:

Look at the activities and determine what the relationships will be between the tables. Break down the activities: High level activities are examined weather some of them can be broken in to lower level activities. Step 2: Identify the required data: To identify the required the Identify supporting data: List all the data you need to keep track of the data that describes the table answers the questions who, what, where and why. Set up data for each table: List all the available data for each table as it seems appropriate right now. Set up data for each relationship: Step 3: Normalize the data Normalization is a process of simplifying the relation between data elements in a record. Through normalization, a collection of data in a record structure is replaced by successive record structure that is simpler and more predictable and a more manageable. Normalization can be done up to five levels. But in this project I normalized data up to third level. At this level all the columns of a table are depended on its primary key. Step 4: Resolve the relationship: After the normalization process is finished the design is almost complete. All we need is to resolve relationship. Step 5: Verify the design. Before implementing the design it is needed to make sure that it will support the needs. Examine the activities identified at the start of the design process and make sure those access to all the data the required activities is available: Can a path to get all the needed information to be found? Does the design meet the needs? Is all the required data available? Step 6: Implement the design. The final step is to implement the design. The tables and the column containing the data are to be named and stored in each table. The data type and other information for each column must be specified. During the design process we need to decide what tables we need and what data we want in each table. Now one must select a column name for each column of data, specify the data type and seize for the column and decide weather NULL values allowed and weather it is required to restrict the values in the column of the database.

Design objectives The next and the most important step is to design a system, which would help CMPG in his daily works as receiving indent and store it with a temporary number, clubbing of indents and give a registration no and so on. For this, the system should satisfy the following requirements. To keep a track of the entire request for adding, updating and viewing indent details. To keep a track of the entire request for adding, deleting, updating or viewing Bidders or Vendors details. To keep a track of current status of indent means weather it has been registered or floating tender enquiry has been given against that tender etc. To keep a track of Category of users. This system is to be used by different categories of users as Deputy Manager, Manager, AGM and DGM etc. Each user has different power for using the system depending on the category. To keep a track of the entire request for adding and viewing new suggations. To keep a track of all the request for adding and viewing new events. To generate various report as Comparative Statement, Technical Evaluation report and Purchase Order etc. The system is designed to be very user - friendly and interactive. It is designed by strictly following the UID (user interface design) concepts. The user can interact with the system with minimal computer knowledge. Data Flow Diagram CONVERSION OF PURCHASE REQUISTION TO PURCHASE ORDER

Purchase Requisition INDENTOR Conversion of Purchase Requisition to Purchase

Purchase Order VENDOR

Order

INDENT INFORMATION

DATABASE Context Level

CONVERSION OF PURCHASE REQUISTION TOPURCHASE ORDER Unapproved Tenders INDENTOR

Purchase Requisition

Registration of Indents

Approved Indents

Approval & Issue Of Tender Enquiry Tender Vendors Bids

Information

Indent Information INDENT REGISTER

BID REGISTER

Valid Bids

Bid Opening

Bid Detail Technical Evaluation Of Bids REGISTER

Technically Accepted Bids Preparation of Comparative Statement CS CS

Comparative Statement

Generation & Issue of Issue of purchase order Selected CS Purchase Order PURCHASE ORDER REGISTER

TC Meeting & Comparison of Comparative Statements

VENDOR LEVEL -1 REGISTRATION OF INDENT

TEMPORARY INDENT REGISTER

Purchase Requesting

Check Indent w.r.t Administrative & Finance Department Approval

Disapproved Indent

INDENTOR

Approved Indents

INDENT REGISTER

ISSUE OF TENDER INQUIRY

Approved Indent Information

Approval for Tender Tender Enquiry

Approval

Issue of Tender Enquiry Tender

INDENTING DEPT.

VENDORS

NOMINATION OF TENDER COMMITTEE

INDENTING DEPT.

Member MATERIAL DEPT.

Nomination of TC Members

Tender Committee

FINANCE DEPT.

BID OPENING

BID DOCUMENT

Terms & Condition

Bids

Check Bids w.r.t Terms & Condition EMD etc.

BID REGISTER Valid Bids

INDENTING DEPT.

EVALUATION OF BIDS & PREPARATION OF CS

BID REGISTER Bid Detail

Technical Evaluation of Bids

Technically Accepted Bids

BID REGISTER

Technically Accepted Bid Detail

CS CS REGISTER

Preparation of Comparative Statement

PRE AWARD TC MEETING

CS REGISTER

Comparative Statements TC Meeting & Comparison of CS Selected CS

ISSUE OF PURCHASE ORDER

Selected CS

Generation & Issue of

Purchase Order

VENDOR

PO Detail

PURCHASE ORDER REGISTER

Database Tables Design: The list of tables that are used to create a relational database for the software is shown below: -

1) Employee_Finance Table Column Name


Emp_id Salary Emp_name Dept_name T.A D.A H.R.A

Data Type
Varchar2 (5) Number (10) Varchar2 (25) Varchar2 (20) Number (10) Number (10) Number (10)

2) Finance Table Column Name


Reg_no Mat_id Approved_by Approved_date Indent_by Cost_estimation Budget_certified Bid_open_dat Tender_descri Remark

Data Type
Varchar2 (15) Varchar2 (10) Varchar2 (30) Date Varchar2 (25) Number (10) Varchar2 (10) Date Varchar2 (30) Varchar2 (10)

3) Indent_Register Table

Column Name
Delivery_date Registration_no Dealing_officer Indent_type Budget_certifide Approved_by Indent_by

Data Type
Date Varchar2 (12) Varchar2 (12) Varchar2 (12) Varchar2 (10) Varchar2 (10) Varchar2 (25)

4) Tender_Enquiry Table
Column Name
Vender_id Bod_date Tender_description Tender_enq_date Quantity Tender_Type Mat_id Cost_estimation

Data Type
Varchar2 (10) Date Varchar2 (15) Date Varchar2 (10) Varchar2 (8) Varchar2 (6) Varchar2 (10)

5) Vendor Table
Column Name
Vender_id Address Vender_name City Country Phone E_mail Fax

Data Type
Varchar2 (10) Varchar2 (25) Varchar2 (15) Varchar2 (25) Varchar2 (15) Number (10) Varchar2 (15) Varchar2 (10)

6) Bid_Opening Table
Column Name
Reg_no Bid_description Bod_date

Data Type
Number (10) Varchar2 (10) Date

7) Bid_ open_Vender_List Table


Column Name
Indenter Actual_bid_pric Bid_valid_date Vaender_id Remarks

Data Type
Varchar2 (10) Number (10) Date Varchar2 (10) Varchar2 (10)

8) Comparative_Statement Table
Column Name
Reg_no Loading Vender_id Custom_duty Bank_charge Exchange_rate Warrenty Price_basis Packing Discount

Data Type
Number (10) Varchar2 (8) Varchar2 (10) Varchar2 (10) Number (10) Number (10) Varchar2 (10) Number (10) Varchar2 (15) Number (10)

9) Technical_evaluation Table
Column Name
Reg_no

Data Type
Number (10)

Vender_id Status

Varchar2 (10) Varchar2 (12)

10) TC_Recommend Table


Column Name
Reg_no Status Vender_id Tc_app_date Tc_initi_date Price_justificati Dealing_officer Cs_ Price Vender_justifica Mat_id

Data Type
Number (10) Varchar2 (12) Varchar2 (10) Date Date Number (10) Varchar2 (12) Number (10) Varchar2 (15) Number (6)

11) Preaward Table


Column Name
Reg_no Evaluated_price Comment Vaender_id Preaward date

Data Type
Number (10) Varchar2 (15) Varchar2(10) Varchar2 (10) Date

12) Award Table


Column Name
Reg_no Vender_id Approval_date

Data Type
Number (10) Varchar2 (10) Date

Sample Code:Login.jsp <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*,project.employee" errorPage="" %> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body>

<table width="100%"> <tr><td><%@ include file="../html/header.html" %></td></tr> </table> <% employee emp=new employee(); String uid=request.getParameter("uid"); String pwd=request.getParameter("pwd"); String adm=request.getParameter("a1"); int i=emp.checkentry(uid,pwd,adm); System.out.println(i); if(i==1) { if(adm.equals("Administrator")) response.sendRedirect("../IPGCL/jsp/admin.jsp"); else response.sendRedirect("IPGCL/jsp/Employee.jsp"); } else{ response.sendRedirect("IPGCL/jsp/InValidUser.jsp"); } %> <table bgcolor="#33CCFF" width="100%"> <tr><td align="center"><b><u><font size="+1">Welcome to Login Page</font></u></b></td></tr> </table> <br><br> <p align="center"> <strong><font color="#FF0000" size="6" face="Monotype Corsiva">Illegal User id/Password</font></strong></p> <form action="jsp/login.jsp" method="post"> <table> <tr> <td width="80%" bgcolor="#FFCCFF" align="center"><b><font size="+1">Login </font></b></td> </tr> <tr> <td align="center"><b>Enter Your Login Name</b> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="lgname" size="26" value=""> </td> <td> <input name="a1" type="radio" value="Administrator" >Administrator </td> </tr> <tr> <td align="center"><b>Enter Your Password</b>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="password" name="pwd" size="26"></td> <td><input name="a1" type="radio" value="Employee">Employee</td> </tr> <tr> <td><br><br></td> </tr> <tr> <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="submit" value="submit"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="/IPGCL/jsp/empreg.jsp">New User Sign Up</a> </td> </tr> </table> <center> </center> </form> <table width="100%"> <tr><td><%@ include file="../html/footer.html" %></td></tr> </table> <br><br> </body> </html> Admin.jsp <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %> <html> <head><%@ include file="/html/body11.html" %> <title></title> </head> <body backGround="f:/demo/IPGCL/Resources/Images/grass.gif"> <center><table > <tr><td><%@ include file="/html/header22.html" %></td></tr> </table></center> <center><table WIDTH="100%"><br><br> <tr><td WIDTH="10%" valign="top" bgcolor="#FF6600" ALIGN="CENTER"> <font face="Monotype Corsiva" SIZE="6"> Administrator</font></td></tr></table></center> <br><br> <CENTER><table WIDTH="20%" > <tr><A href="AddUser.jsp">Add new User</a> </tr> href="search.jsp">Search User</a></tr> <tr><a href="updateEmp.jsp">Udate User</a></tr> <tr><a href="delete.jsp">Delete User</a></tr> <tr><A href="TenderHome.jsp">Tender</a></tr> href="FinanceHome.jsp">Finance</a></tr>

<tr><a

<tr><a

<tr><a href="MaterialHome.jsp">Material</a></tr> <tr><a href="HrHome.jsp">HR</a></tr> </table></CENTER> </form></td> </tr> </table><br><br> <table width="100%"> <tr><td><%@ include file="/html/footer.html" %></td></tr> </table> </body> </html> For Employee Registration Empreg.jsp <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %> <jsp:useBean id="date" class="project.generateid" /> <jsp:useBean id="dt" class="project.DateUtility" /> <jsp:useBean id="op" class="project.employee" /> <jsp:setProperty name="op" property="*" scope="session" /> <% int appNo=op.sub(); String dte=dt.curDate(); String msg=request.getParameter("msg"); String lgname=request.getParameter("uid"); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%! int i;%> <html> <head> <script language="javascript"> function chkLogin(){ var a=document.reg.lgname.value; window.location="checkemplgname.jsp?lname="+a+""; } function concatenate() { var b=document.reg.djoin.value; var c=document.reg.jmonth.value; var d=document.reg.jyrs.value; var dj=c+" "+b+","+d; //alert(dj); document.reg.dojoin.value=dj; } function concatenate1() { var e=document.reg.dbirth.value; var f=document.reg.bmonth.value; var g=document.reg.byrs.value; var bj=f+" "+e+","+g; //alert(bj); document.reg.dobirth.value=bj; }

</script> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } --> </style> </head> <body backGround="f:/demo/IPGCL/Resources/Images/grass.gif"> <center><table > <tr><td><%@ include file="/html/header22.html" %></td></tr> </table></center><br> <table width="100%"> <tr> <td width="20%" valign="top" bgcolor="#FFAC59"><%@ include file="/html/left.html" %></td> <td width="80%" valign="top"> <form action="../jsp/empregconfirm.jsp" name="reg" method="post" > <table width="100%" > <tr><td height="25" bgcolor="#FF6600" align="center">EMPLOYEE REGISTRATION</td></tr> </table> <p><b><%= dte %></b><input type="hidden" name="cdate" value="<%=dte%>"><br> <input type="hidden" name="dojoin"><br> <input type="hidden" name="dobirth"> </p> <p align="center"> <% if(msg!=null){ %><strong><font color="#FF0000" size="6" face="Monotype Corsiva"><% out.println(msg); }%></font></strong></p> <p><font color="#CC0000">Fields with * sign are compulsary</font></p> <table width="80%" align="center" cellspacing="1" > <tr><td width="25%" height="26" colspan="2" bgcolor="#FF6600"><b><font color="#FFFFFF">LOGIN INFORMATION</font></b></td> </tr> <tr><td width="25%" align="right" height="30">Employee No. :</td><td width="50%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b><font color="#3300CC" size="3"><%=appNo %></font></b><input type="hidden" name="empno" size="30" value="<%=appNo%>"></td></tr> <tr><td width="25%" align="right" height="30">*Login name :</td><td width="50%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="lgname" size="20" value="< %if(lgname!=null){out.println(lgname);} %>">&nbsp;&nbsp;&nbsp;<input type="button" name"check" value="CheckName" title="Checking Login Name Availabilty" onClick="chkLogin();"></td></tr> <tr><td width="25%" align="right" height="30">*Password :</td><td width="50%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="password" name="pwd" size="30"></td></tr> <tr><td width="25%" align="right" height="30">*Confirm password :</td><td width="50%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="password" name="cpwd" size="30"></td></tr> <tr><td width="25%" align="right" height="30">*Reminder question :</td><td width="50%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <select name="ques"> <option value="">**Select/Enter your question**</option> <option value="">------------------------------</option> <option value="What is ur pet name">What's ur pet name</option>

<option value="What is ur middle name">What's ur middle name</option> </select> </td></tr> <tr><td width="25%" align="right" height="30">*Answer :</td><td width="50%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="ans" size="30"></td></tr> </table> <br><br><br> <table width="80%" align="center" cellspacing="1" > <tr> <td bgcolor="#FF6600" colspan="2" height="26"><b><font color="#FFFFFF">PROFESIONAL DETAILS</font></b></td> </tr> <tr> <td width="28%" align="right" height="30">*Employee Name:</td> <td width="47%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="empname" size="30"></td> </tr> <tr> <td width="28%" align="right" height="30">*Designation :</td> <td width="47%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="desig" size="30"></td> </tr> <tr> <td width="28%" align="right" height="30">*Department :</td> <td width="47%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <select name="dept"> <option value="dept">Departments</option> <option value="">-------------</option> <option value="Purchasing">Purchasing</option> <option value="Production">Production</option> <option value="HR Department">HR Department</option> <option value="Finance">Finance</option> <option value="Development">Development</option> </select></td> </tr> <tr> <td width="28%" align="right" height="30">*Specialised Field :</td> <td width="47%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="spec" size="30"></td> </tr> <tr> <td width="28%" align="right" height="30">*Date of Joining :</td> <td width="47%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <select name="djoin"> <option value="">Day</option> <option value="">---</option> <% for(i=1;i<=31;i++) {%> <option name="day" value="<% out.print(i);%>" ><% out.print(i);%></option> <%} %> </select> <select name="jmonth"> <option value="">Month</option> <option value="">-----</option> <option value="January">January</option> <option value="Febrary">Febrary</option>

<option value="March">March</option> <option value="April">April</option> <option value="May">May</option> <option value="June">June</option> <option value="July">July</option> <option value="August">August</option> <option value="September">September</option> <option value="October">October</option> <option value="November">November</option> <option value="December">December</option> </select> <select name="jyrs" onChange="concatenate();"> <option value="">Year</option> <option value="">-----</option> <% for(i=1990;i<=2010;i++) {%> <option name="yrs" value="<% out.print(i);%>" ><% out.print(i);%></option> <%} %> </select></td> </tr> <tr> <td width="28%" align="right" height="30">*Salary :</td> <td width="47%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="salary" size="30"></td> </tr> </table> <br><br><br> <table width="80%" align="center" cellspacing="1" > <tr> <td bgcolor="#FF6600" colspan="2" height="26"><b><font color="#FFFFFF">PERSONAL DETAILS</font></b></td> </tr> <tr> <td width="28%" align="right" height="30">*Gender:</td> <td width="47%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Male<input type="radio" name="gender" size="30" value="male">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Female<input type="radio" name="gender" size="30" value="female"></td> </tr> <tr> <td width="28%" align="right" height="30">*Address :</td> <td width="47%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <textarea rows="5" cols="30" name="add"></textarea></td> </tr> <tr> <td width="28%" align="right" height="30">*Date Of Birth :</td> <td width="47%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <select name="dbirth"> <option value="">Day</option> <option value="">---</option> <% for(i=1;i<=31;i++) {%> <option name="bday" value="<% out.print(i);%>" ><% out.print(i);%></option> <%} %> </select> <select name="bmonth"> <option value="">Month</option>

<option value="">-----</option> <option value="January">January</option> <option value="Febrary">Febrary</option> <option value="March">March</option> <option value="April">April</option> <option value="May">May</option> <option value="June">June</option> <option value="July">July</option> <option value="August">August</option> <option value="September">September</option> <option value="October">October</option> <option value="November">November</option> <option value="December">December</option> </select> <select name="byrs" onChange="concatenate1();"> <option value="">Year</option> <option value="">-----</option> <% for(i=1955;i<=2010;i++) {%> <option name="yrs" value="<% out.print(i);%>" ><% out.print(i);%></option> <%} %> </select> </td> </tr> <tr><td width="28%" align="right" height="30">*Phone No:</td> <td width="47%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="phone" size="30"></td> </tr> </tr> <tr><td width="28%" align="right" height="30">*Email:</td> <td width="47%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="email" size="30"></td> </tr> </tr> <tr><td width="28%" align="right" height="30">Alternate Email:</td> <td width="47%" height="30">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="aemail" size="30"></td> </tr> </table> <br><br><br> <table width="27%" align="center"> <tr height="30"> <td >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="submit" name="sub" size="30" value="Submit"></td><td>&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" name="refresh" value="Refresh"></td> </tr> </table> </form> </td> </tr> </table> <br><br><br><br> <table width="100%"> <tr><td><%@ include file="/html/footer.html" %></td></tr> </table>

</body> </html> fiananceHome.jsp <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Welcome to IPCGL Procurement Management</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } --> </style></head> <body background="F:\demo\IPGCL\Resources\Images\grass.gif"> <table width="100%"> <tr><td><%@ include file="/html/header22.html" %></td></tr> </table> <center><table width="100%"> <tr> <td ><form action="../jsp/login.jsp" method="post"><TABLE cellSpacing=0 cellPadding=0 width=100% align=center border=0> <tr><td width ="25% "valign="top" bgcolor="#FFAC59"> <font face="Monotype Corsiva" size="+3" color="#0033FF"> Finance Module</td></tr></font></td></tr> <br></form> </table > </center><br><br> <center><table width="100%"> <tr> <td> <%@ include file="/html/finance/finance_home.html" %> </td> </tr> </table></center><br><br><br> <table width="100%"> <tr><td><%@ include file="/html/footer.html" %></td></tr> </table> </body> </html> MaterialHome.jsp

<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Welcome to IPCGL Procurement Management</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } --> </style></head> <body> <table width="100%"> <tr><td><%@ include file="/html/header.html" %></td></tr> </table> <table width="100%"> <tr> <td width="20%" valign="top" bgcolor="#FFAC59"><%@ include file="/html/left.html" %></td> <td width="60%" valign="top"><form action="../jsp/login.jsp" method="post"><TABLE cellSpacing=0 cellPadding=0 width=100% align=center border=0> <tr><td valign="top"> <font face="Monotype Corsiva" size="+3" color="#0033FF"> Administrator</font></td></tr></table> <br><br><br><br><br><br> <table width="100%"><tr> <td width="100%"><font face="Monotype Corsiva" size="+2" color="#0033FF"></font> <a href="AddUser.jsp">Add new User</a><br> <a href="search.jsp">Search User</a><br> <a href="update.jsp">Udate User</a><br> <a href="delete.jsp">Delete User</a><br> </table> </form></td> <td width="20%" valign="top" bgcolor="#8BC085"><%@ include file="/html/right.html" %></td> </tr> </table> <table width="100%"> <tr><td><%@ include file="/html/footer.html" %></td></tr> </table> </body> </html> TendedrHome.jsp

<html> <head><%@ include file="/html/body11.html" %> <title></title> </head> <body background="f:\demo\IPGCL\Resources\Images\grass.gif"> <center><table > <tr><td><%@ include file="/html/header22.html" %></td></tr> </table><%! int i ; %> </center> <table> <tr> <tr><td width="10%" valign="top" align="center" color="ff6600"> <font face="Monotype Corsiva" size="+3" color="#0033FF"> TENDER HOME</font></td></tr></table> <br> <center> <table ><tr> <td><h3><%@ include file="/html/tender/tenderhome.html" %></h3></td></tr> </table></center> <br><br> </form> <table width="100%"> <tr><td><%@ include file="/html/footer.html" %></td></tr> </table> </body> </html> MainHome.jsp <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Welcome to IPCGL Procurement Management</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } --> </style></head> <body backGround="f:/demo/IPGCL/Resources/Images/grass.gif"> <center><table width="100" > <tr><td><%@ include file="/html/header.html" %></td></tr> <tr><td><%@ include file="/html/header22.html" %></td></tr> </table></center> <center><table width="100%">

<tr> <td width="60%" valign="top"><form action="../jsp/login.jsp" method="post"><TABLE cellSpacing=0 cellPadding=0 width=100% align=center border=0> <tr><td valign="top" bgcolor="#FFAC59"> <font face="Monotype Corsiva" size="+3" color="#0033FF"> Home Page</font></td></tr></table></center> <br><br> <table width="100%"><tr> <td width="100%"><font face="Monotype Corsiva" size="+2" color="#0033FF"></font> <%@ include file="/html/MainHome.html" %> </table> </form></td> </tr> </table> <table width="100%"> <tr><td><%@ include file="/html/footer.html" %></td></tr> </table> </body> </html> HrHome.jsp <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Welcome to IPCGL Procurement Management</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } --> </style></head> <body> <table width="100%"> <tr><td><%@ include file="/html/header.html" %></td></tr> </table> <table width="100%"> <tr> <td width="20%" valign="top" bgcolor="#FFAC59"><%@ include file="/html/left.html" %></td> <td width="60%" valign="top"><form action="../jsp/login.jsp" method="post"><TABLE cellSpacing=0 cellPadding=0 width=100% align=center border=0> </td></tr>

<tr><td valign="top"> <font face="Monotype Corsiva" size="+3" color="#0033FF"> Administrator</font></td></tr></table> <br><br><br><br><br><br> <table width="100%"><tr> <td width="100%"><font face="Monotype Corsiva" size="+2" color="#0033FF"></font> <a href="AddUser.jsp">Add new User</a><br> <a href="search.jsp">Search User</a><br> <a href="update.jsp">Udate User</a><br> <a href="delete.jsp">Delete User</a><br> </table> </form></td> <td width="20%" valign="top" bgcolor="#8BC085"><%@ include file="/html/right.html" %></td> </tr> </table> <table width="100%"> <tr><td><%@ include file="/html/footer.html" %></td></tr> </table> </body> </html> employeeConfirm.jsp <jsp:useBean id="ob" class="project.employee"/> <jsp:setProperty name="ob" property="*" /> <%ob.appSave();%> <%String msg=request.getParameter("msg");%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body vlink="#CC0033"> <table width="100%"> <tr> <td><%@ include file="/html/header.html" %></td></tr> </table> <table bgcolor="#33CCFF" width="100%"> <tr> <td align="center"><font size="+1"><b>WELCOME TO RGISTRATION CONFIRMATION ZONE </b></font> </td> </tr> </table> <BR><BR><BR><BR>

<p align="center"> <% if(msg!=null){ %> <strong><font color="#FF0000" size="6" face="Monotype Corsiva"> <% out.println(msg);} %> </font></strong></p> <table width="100%" cellspacing="0"> <form action="../jsp/login.jsp" method="post"> <tr> <td><br><br> </td> </tr> <tr> <td width="50%"><font size="+1" face="Arial, Helvetica, sans-serif" color="#CC0000"> <b>You Have Been Successfully Registered </b></font> </td> <td bgcolor="#EBFDFE"> </td> </tr> <tr> <td width="50%"><font size="+1" face="Arial, Helvetica, sans-serif" color="#CC0000"> <b>You can Login Now </b></font> <%@include file="login.html" %> </td> </tr> <tr> <td width="50%"><br></td><td bgcolor="#EBFDFE"> </td> </tr> <tr> <td width="50%"> </td> <td align="center" > <input type="submit" value="Login" name="submit"> </td> </tr> </form> </table> <br><br><br><br> <table width="100%"> <tr><td><%@ include file="/html/footer.html" %></td></tr> </table> </body> </html> Employee.java package project; import java.sql.*; import javax.sql.*;

import java.util.*; public class employee { public String empno,lgname,ques,pwd,ans,empname,desig,dept,spec,dojoin,salary,gender,add,dobirth,phone,email,aemail,status,i nterview,vacno,appno,appname,qual,skills,adm; //employee no. public void setEmpno(String a) { empno=a; } public String getEmpno() { return empno; } public void setAdm(String adm) { this.adm=adm; } public String getAdm() { return adm; } //Login name public void setLgname(String b) { lgname=b; } public String getLgname() { return lgname; } //Reminder question public void setQues(String c) { ques=c; } public String getQues() { return ques; } //Login password public void setPwd(String d) { pwd=d; } public String getPwd() {

return pwd; } // Answer public void setAns(String e) { ans=e; } public String getAns() { return ans; } //Employee Name public void setEmpname(String f) { empname=f; } public String getEmpname() { return empname; } //Employee designation public void setDesig(String g) { desig=g; } public String getDesig() { return desig; } //Employee specialization public void setSpec(String h) { spec=h; } public String getSpec() { return spec; } //Employee joining date public void setDojoin(String i) { dojoin=i; } public String getDojoin( ) { return dojoin; } //Salary public void setSalary(String j) { salary=j; } public String getSalary( ) { return salary; } //Gender

public void setGender(String k) { gender=k; } //Address public void setAdd(String l) { add=l; } public String getGender() { return gender; } //Address public String getAdd() { return add; } //Date of birth public void setDobirth(String m) { dobirth=m; } public String getDobirth() { return dobirth; } //phone public void setPhone(String n) { phone=n; } public String getPhone() { return phone; } //email public void setEmail(String o) { email=o; } public String setEmail( ) { return email; } //alternate email public void setAemail(String p) { aemail=p; } public String getAemail( ) { return aemail; } //designation public void setDept(String q) { dept=q;

} public String getDept() { return dept; } //status public void setStatus(String r) { status=r; } public String getStatus( ) { return status; } //interviewer public void setInterview(String s) { interview=s; } public String getInterview() { return interview; } //vacid public void setVacno(String t) { vacno=t; } public String getVacno() { return vacno; } public Connection connectMe() { Connection conn=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn=DriverManager.getConnection("jdbc:odbc:proc"); }catch(Exception e) { System.out.println("Driver Not Loaded" +e); } return conn; } //Generating employee number in empreg.jsp public int sub() { employee ab=new employee(); int appno=0; int i=0;

int rowcount; try { Connection conn=ab.connectMe(); Statement s1=conn.createStatement(); ResultSet rs=s1.executeQuery("select Max(emp_no) from emp_detail"); if(rs.next()) { i= rs.getInt(1); appno=i+1; } else { appno=301; } conn.close(); s1.close(); } catch(Exception e) { System.out.println(e); } return appno; } public void appSave() { Connection con=null; employee app=new employee(); try { con=app.connectMe(); con.setAutoCommit(false); Statement stmt=con.createStatement(); int i=stmt.executeUpdate("insert into emp_detail values('"+lgname+"','"+pwd+"','"+empname+"','"+ques+"','"+ans+"','"+gender+"','"+desig+"','"+spec+"','"+dept+"','" +dobirth+"','"+salary+"','"+dojoin+"','"+add+"','"+phone+"','"+email+"','"+aemail+"')"); System.out.println("////////////////////////////////////////////////////////////////////////////////"); //stmt.executeUpdate("insert into emp_detail values('empno','lgname','pwd','empname','ques','ans','gender','desig','spec','dept','dobirth','salary','dojoin','add','phone',' email','aemail')"); con.commit(); con.close(); stmt.close(); } catch (Exception e) { System.out.println("App Save" +e); } } // Checking login name availibility in empreg.jsp public String checklogin(String lgname) { Connection co=null; int f=1;

employee obj= new employee(); try { co=obj.connectMe(); Statement stmt=co.createStatement(); ResultSet rs=stmt.executeQuery("select * from emp_detail where emplg_name='"+lgname+"' "); if(rs.next()) { f=2; } co.close(); stmt.close(); }catch(Exception e) { System.out.println("check login" +e); } if(f==2) { return "This username already exist"; } else { return "Continue"; } } //CHECKING USERNAME AND PASSWORD checkemplogin.jsp public int checkentry(String lgname,String pwd,String adm) { Connection com=null; int f=0; ResultSet rs=null,rs1=null; PreparedStatement stmt=null; employee obv= new employee(); try { com=obv.connectMe(); if(adm.equals("Administrator")) { stmt=com.prepareStatement("select * from emp_detail1 where emplg_name=? and emp_pwd=?"); stmt.setString(1,lgname); stmt.setString(2,pwd); rs=stmt.executeQuery(); } else { stmt=com.prepareStatement("select * from emp_detail1 where emplg_name=? and emp_pwd=?"); stmt.setString(1,lgname); stmt.setString(2,pwd); rs=stmt.executeQuery();

} System.out.println("1111111111111111before resultset"); if(rs.next()) { String pp=rs.getString(1); String pp2=rs.getString(3); String pp3=rs.getString(4); String pp4=rs.getString(5); String pp5=rs.getString(6); String pp6=rs.getString(7); String pp8=rs.getString(8); String pp9=rs.getString(9); String pp10=rs.getString(10); String pp11=rs.getString(11); String pp12=rs.getString(12); String pp13=rs.getString(13); System.out.println(pp); System.out.println(pp2); System.out.println(pp3); System.out.println(pp8); System.out.println(pp9); System.out.println(pp10); System.out.println(pp11); System.out.println(pp12); System.out.println(pp13); if(pp10.equals("Admin")) {f=1; } else if((pp10.equals("GM"))&&((pp11.equals("tender"))|| (pp11.equals("Tender")))) { f=11; System.out.println("in the resultset"); }else if((pp10.equals("GM"))&&((pp11.equals("finance"))||(pp11.equals("Finance")))) { f=12; System.out.println("in the resultset"); } else if((pp10.equals("GM"))&&((pp11.equals("Material"))||(pp11.equals("material")))) { f=13; System.out.println("in the resultset"); } else if((pp10.equals("GM"))&&((pp11.equals("Hr"))||(pp11.equals("hr")))) { f=14; System.out.println("in the resultset"); } else if((pp8.equals("Indent"))&&(pp9.equals("DGM"))&&((pp10.equals("tender"))|| (pp10.equals("Tender")))) { f=11;

System.out.println("in the resultset"); }else if((pp8.equals("Indent"))&&(pp9.equals("DGM"))&&((pp10.equals("finance"))|| (pp10.equals("Finance")))) { f=12; System.out.println("in the resultset"); } else if((pp8.equals("Indent"))&&(pp9.equals("DGM"))&&((pp10.equals("Material"))|| (pp10.equals("material")))) { f=13; System.out.println("in the resultset"); } else if((pp8.equals("Indent"))&&(pp9.equals("DGM"))&&((pp10.equals("Hr"))|| (pp10.equals("hr")))) { f=14; System.out.println("in the resultset"); }else if((pp8.equals("Vender"))&&(pp9.equals("DGM"))&&((pp10.equals("tender"))|| (pp10.equals("Tender")))) { f=11; System.out.println("in the resultset"); }else if((pp8.equals("Indent"))&&(pp9.equals("DGM"))&&((pp10.equals("finance"))|| (pp10.equals("Finance")))) { f=12; System.out.println("in the resultset"); } else if((pp8.equals("Indent"))&&(pp9.equals("DGM"))&&((pp10.equals("Material"))|| (pp10.equals("material")))) { f=13; System.out.println("in the resultset"); } else if((pp8.equals("Indent"))&&(pp9.equals("DGM"))&&((pp10.equals("Hr"))|| (pp10.equals("hr")))) { f=14; System.out.println("in the resultset"); } else{ f=2;} } else { f=2; } com.close(); stmt.close(); }catch(Exception e) { System.out.println("check login" +e); } System.out.println(f); return f;

public ArrayList checkRecordEntry() { Connection com=null; int f=0; ResultSet rs=null; Statement stmt=null; ArrayList list=new ArrayList(); employee obv= new employee(); int i=0; try { com=obv.connectMe(); stmt=com.createStatement(); rs=stmt.executeQuery("select * from emp_detail"); if(rs.next()) { while(true) { i++; list.add(new String(rs.getString(i))); if(i==17)break; }

} com.commit(); }catch(Exception e) { System.out.println("check login"+e); } return list; } public ArrayList updateEmp(String s1) { Connection com=null; int f=0; ResultSet rs=null; PreparedStatement stmt=null; ArrayList list=new ArrayList(); employee obv= new employee(); String pp=s1;

int i=0; try { com=obv.connectMe(); stmt=com.prepareStatement("select * from emp_detail1 where emp_id=?"); stmt.setString(1,pp); rs=stmt.executeQuery(); if(rs.next()) { while(true) { i++; list.add(new String(rs.getString(i))); if(i==17)break; }

} com.commit(); }catch(Exception e) { System.out.println("check login"+e); } return list; } public ArrayList searchEmp1(String s1) { Connection com=null; int f=0; ResultSet rs=null; PreparedStatement stmt=null; ArrayList list=new ArrayList(); employee obv= new employee(); String pp=s1; int i=0; try { com=obv.connectMe(); stmt=com.prepareStatement("select * from emp_detail1 where emp_id=?"); stmt.setString(1,pp); rs=stmt.executeQuery(); if(rs.next())

{ while(true) { i++; list.add(new String(rs.getString(i))); if(i==17)break; }

} com.commit(); }catch(Exception e) { System.out.println("check login"+e); } return list; } public ArrayList searchEmp2(String s1) { Connection com=null; int f=0; ResultSet rs=null; PreparedStatement stmt=null; ArrayList list=new ArrayList(); employee obv= new employee(); String pp=s1; int i=0; try { com=obv.connectMe(); stmt=com.prepareStatement("select * from emp_detail1 where emp_name=?"); stmt.setString(1,pp); rs=stmt.executeQuery(); if(rs.next()) { while(true) { i++; list.add(new String(rs.getString(i))); if(i==17)break; }

} com.commit(); }catch(Exception e) { System.out.println("check login"+e); } return list; } public ArrayList searchEmp3(String s1) { Connection com=null; int f=0; ResultSet rs=null; PreparedStatement stmt=null; ArrayList list=new ArrayList(); employee obv= new employee(); String pp=s1; int i=0; try { com=obv.connectMe(); stmt=com.prepareStatement("select * from emp_detail1 where dept_no=?"); stmt.setString(1,pp); rs=stmt.executeQuery(); if(rs.next()) { while(true) { i++; list.add(new String(rs.getString(i))); if(i==17)break; }

} com.commit(); }catch(Exception e) { System.out.println("check login"+e); }

return list; } public ArrayList searchEmp4(String s1) { Connection com=null; int f=0; ResultSet rs=null; PreparedStatement stmt=null; ArrayList list=new ArrayList(); employee obv= new employee(); String pp=s1; int i=0; try { com=obv.connectMe(); stmt=com.prepareStatement("select * from emp_detail1 where emp_dept=?"); stmt.setString(1,pp); rs=stmt.executeQuery(); if(rs.next()) { while(true) { i++; list.add(new String(rs.getString(i))); if(i==17)break; }

} com.commit(); }catch(Exception e) { System.out.println("check login"+e); } return list; } public int deleteRecord(String p1) { Connection com=null; int f=0; ResultSet rs=null; PreparedStatement stmt=null; ArrayList list=new ArrayList(); employee obv= new employee();

int i=0; String kk=p1; try { com=obv.connectMe(); stmt=com.prepareStatement("delete from emp_detail where emplg_name=?"); stmt.setString(1,kk); stmt.executeQuery(); com.close(); }catch(Exception e) { System.out.println("check login"+e); }return 1; } public int deleteEmp(String p1) { Connection com=null; int f=0; ResultSet rs=null; PreparedStatement stmt=null; employee obv= new employee(); int i=0; String kk=p1; try { com=obv.connectMe(); stmt=com.prepareStatement("delete from emp_detail1 where emp_id=?"); System.out.println(kk); stmt.setString(1,kk); stmt.executeQuery(); com.close(); }catch(Exception e) { System.out.println("check login"+e); return 2; } return 1; }

public int insertRecord(ArrayList list1)

{ Connection com=null; int f=0; String ll=null; ArrayList list; list=list1; employee obv= new employee(); PreparedStatement stmt=null,stmt1=null,stmt2=null,stmt3=null,stmt4=null,stmt5=null; ResultSet rs=null, rs1=null, rs2=null, rs3=null, rs4=null, rs5=null; int i=1; try { com=obv.connectMe(); stmt=com.prepareStatement("insert into emp_detail1 values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); System.out.println("nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn"); Iterator itr1=list.iterator(); int jj=0; while(itr1.hasNext()) { jj++; System.out.println(jj); stmt.setString(jj,(String)itr1.next()); } stmt.executeUpdate(); System.out.println("nnnnnnnnnnnnnn77777777777777777"); com.commit(); System.out.println("nnnnnnnnnnnnnnnnnnnn888888888888888"); Iterator itr3=list.iterator(); System.out.println("nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn"); while(itr3.hasNext()) { itr3.next(); itr3.next(); itr3.next(); itr3.next(); itr3.next(); itr3.next(); itr3.next(); itr3.next(); itr3.next(); itr3.next(); ll=(String)itr3.next(); System.out.println("king"+ll); break; } if((ll.equals("Tender"))||(ll.equals("tender"))) { System.out.println("king yyyyyyuy"+ll);

com=obv.connectMe(); System.out.println("heLLOOOOOOOOOOO"); stmt1=com.prepareStatement("insert into tender values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); System.out.println("MOOOOOOOOD"); Iterator itr1A=list.iterator(); int j=0; while(itr1A.hasNext()) { j++; System.out.println(j); stmt1.setString(j,(String)itr1A.next()); } stmt1.executeUpdate(); com.commit(); } else if((ll.equals("Finance"))||(ll.equals("finance"))) { System.out.println("MOOOOOOOOD111111111111111111111111111"); com=obv.connectMe(); stmt2=com.prepareStatement("insert into finance values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); System.out.println("MOOOOOOOOD2222222222222222222"); Iterator itr1B=list.iterator(); int j=0; while(itr1B.hasNext()) { j++; System.out.println(j); stmt2.setString(j,(String)itr1B.next()); } stmt2.executeUpdate(); com.commit(); } else if((ll.equals("Material"))||(ll.equals("material"))) { com=obv.connectMe(); stmt3=com.prepareStatement("insert into material values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); Iterator itr1C=list.iterator(); int j=0; while(itr1C.hasNext()) { j++; System.out.println(jj+"material"); stmt3.setString(j,(String)itr1C.next()); } stmt3.executeUpdate(); com.commit();

} else if((ll.equals("Hr"))||(ll.equals("hr"))) { com=obv.connectMe(); stmt4=com.prepareStatement("insert into hr values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); Iterator itr1D=list.iterator(); int j=0; while(itr1D.hasNext()) { j++; stmt4.setString(j,(String)itr1D.next()); } stmt4.executeUpdate(); com.commit(); } else if(ll.equals("Admin")) { com=obv.connectMe(); stmt5=com.prepareStatement("insert into Admin values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); Iterator itr1E=list.iterator(); int j=0; while(itr1E.hasNext()) { j++; stmt5.setString(j,(String)itr1E.next()); } stmt5.executeUpdate(); com.commit(); } }catch(Exception e) { System.out.println("check login 11111"+e); } return 1; }

//getting empno in empcheck.jsp public String getempno(String lgname) { Connection com=null; String s=null; employee obv= new employee(); try {

com=obv.connectMe(); Statement stmt=com.createStatement(); ResultSet rs= stmt.executeQuery("Select emp_no from emp_detail where emplg_name='"+lgname+"'"); if(rs.next()) s=rs.getString("emp_no"); com.close(); stmt.close(); } catch(Exception e) { System.out.println("Getemployee no" +e); } return s; } //access employee details in interviewdetail.jsp public ArrayList empFetch(String dep) { ArrayList arr=new ArrayList(); Connection com=null; employee ob=new employee(); try { com=ob.connectMe(); Statement stmt=com.createStatement(); ResultSet rs= stmt.executeQuery("Select * from interviewer where emp_dept='"+dep+"'"); while(rs.next()) { employee obv=new employee(); obv.empno=rs.getString("emp_no"); obv.vacno=rs.getString("vac_id"); obv.spec=rs.getString("emp_special"); obv.status=rs.getString("status"); obv.interview=rs.getString("interview_date"); obv.email=rs.getString("email"); arr.add(obv); } com.close(); stmt.close(); }catch(Exception e) { System.out.println("empfetch" +e); } return arr; } //checking employee detail public int getempdept(String lgname) { Connection com=null; int f=0; employee obv= new employee();

try { com=obv.connectMe(); Statement stmt=com.createStatement(); ResultSet rs=stmt.executeQuery("select * from emp_detail where emplg_name='" + lgname + "'"); if(rs.next()) { String pass; String pwd="HR Department"; pass=rs.getString("emp_dept"); if(pass.trim().equals(pwd.trim())) { f=1; } else { f=2; } } com.close(); stmt.close(); }catch(Exception e) { System.out.println("check empdepartment" +e); } return f; } //updating interviewer detail public void getinterview(String empno) { Connection com=null; int f=0; employee obv= new employee(); try { com=obv.connectMe(); Statement stmt=com.createStatement(); stmt.executeUpdate("update interviewer set vac_id='"+vacno+"',status='Hired',interview_date='"+dojoin+"',set_time='"+interview+"'where emp_no='"+empno+"'"); com.close(); stmt.close(); }catch(Exception e) { System.out.println("getinterview detail" +e); } } //access interviewer details in updateinterview.jsp public ArrayList intFetch(String empno) {

ArrayList arr=new ArrayList(); Connection com=null; employee ob=new employee(); try { com=ob.connectMe(); Statement stmt=com.createStatement(); ResultSet rs= stmt.executeQuery("select emp_detail.emp_no,emp_detail.emp_name,emp_detail.emp_dept,emp_detail.emp_email,emp_detail.emp_aemail,int erviewer.vac_id,interviewer.interview_date,interviewer.set_time from emp_detail,interviewer where emp_detail.emp_no=interviewer.emp_no and emp_detail.emp_no='"+empno+"'"); while(rs.next()) { employee obv=new employee(); obv.empno=rs.getString("emp_no"); obv.empname=rs.getString("emp_name"); obv.dept=rs.getString("emp_dept"); obv.email=rs.getString("emp_email"); obv.aemail=rs.getString("emp_aemail"); obv.vacno=rs.getString("vac_id"); obv.dojoin=rs.getString("interview_date"); obv.interview=rs.getString("set_time"); arr.add(obv); } com.close(); stmt.close(); } catch(Exception e) { System.out.println("intFetch" +e); } return arr; } //CHECKING Interviewer loginname & password in intdetail.jsp public String checkintlog(String lgname,String pwd) { Connection com=null; int f=0; String empn=null; employee obv= new employee(); try { com=obv.connectMe(); Statement stmt=com.createStatement(); ResultSet rs=stmt.executeQuery("select * from emp_detail where emplg_name='" + lgname + "'"); if(rs.next()) { String pass; empn=rs.getString("emp_no"); pass=rs.getString("emp_pwd"); if(pass.trim().equals(pwd.trim())) { f=2; } else {

f=1; } } else { f=3; } com.close(); stmt.close(); } catch(Exception e) { System.out.println("check login" +e); } if(f==2) { return empn; } else if(f==3) { return "Incorrect Login Name"; } else { return "Incorrect Password"; } } //CHECKING Interviewer Existence in intdetail.jsp public int checkintexist(String empno) { Connection com=null; int f=0; employee obv= new employee(); try { com=obv.connectMe(); Statement stmt=com.createStatement(); ResultSet rs=stmt.executeQuery("select * from interviewer where emp_no='"+empno+"'"); if(rs.next()) { f=2; } else { f=3; } com.close(); stmt.close(); } catch(Exception e) { System.out.println("check login" +e); } return f; }

//accesing interview date and time public ArrayList employeeFetch(String empno) { ArrayList arr=new ArrayList(); Connection com=null; employee ob=new employee(); try { com=ob.connectMe(); Statement stmt=com.createStatement(); ResultSet rs= stmt.executeQuery("select * from emp_detail where emp_no='"+empno+"'"); while(rs.next()) { employee app=new employee(); app.appno=rs.getString("emp_no"); app.lgname=rs.getString("emplg_name"); app.empname=rs.getString("emp_name"); app.gender=rs.getString("emp_sex"); app.desig=rs.getString("emp_desig"); app.spec=rs.getString("emp_special"); app.dept=rs.getString("emp_dept"); app.dobirth=rs.getString("emp_dob"); app.salary=rs.getString("emp_sal"); app.dojoin=rs.getString("emp_dojoin"); app.add=rs.getString("emp_add"); app.phone=rs.getString("emp_phone"); app.email=rs.getString("emp_email"); arr.add(app); } com.close(); stmt.close(); } catch(Exception e) { System.out.println("interfetch" +e); } return arr; } public ArrayList empNo() { ArrayList arr=new ArrayList(); Connection com=null; employee ob=new employee(); //0hrZone ob=new hrZone(); try { com=ob.connectMe(); Statement stmt=com.createStatement(); ResultSet rs= stmt.executeQuery("Select * from emp_detail"); while(rs.next()) { employee emp=new employee(); emp.appno=rs.getString(1); arr.add(emp); } com.close();

stmt.close(); } catch(Exception e) { System.out.println("vacfetch" +e); } return arr; } public static void main(String args[]) { // employee a=new employee(); //int s=a.getempdept("ajay"); //System.out.println(s); employee a=new employee(); /*String b=a.checkintlog("Ram","Ram"); System.out.println(b); int c=a.checkintexist(b); System.out.println(c); */ /* ArrayList arr=new ArrayList(); arr=a.interFetch("301"); int sz=arr.size(); System.out.println(sz); for(int i=0;i<sz;i++) { employee b=new employee(); b=(employee)arr.get(i); System.out.println(b.vacno); System.out.println(b.dojoin); System.out.println(b.interview); System.out.println(b.appno); } */ //a.setEmpno("305"); // a.setInterview("502"); /*a.setPwd("deepak"); a.setEmpname("Dipak kumar Panda"); a.setQues("What is ur pet name"); a.setAns("deepu"); a.setGender("male"); a.setDesig("Trainee Faculty"); a.setSpec("Human Resource"); a.setDept("HR department"); a.setDobirth("January15,1980"); a.setSalary("5000");*/ //a.setStatus("Hired"); //a.setDojoin("June12,2005"); /*a.setAdd("Cantt"); a.setPhone("0522-2440175"); a.setEmail("dipak@Yahoo.com"); a.setAemail("dipak@hell.com");*/ //a.getinterview("301"); //String c=a.checklogin("Ram"); //System.out.println(c); } }

Testing
Introduction: System testing and implementation is the last phase of any system development life cycle. System testing is aimed at ensuring that the system works accurately and efficiently before live operation commences. The logical design and physical deign is thoroughly and continually examined on paper to ensure that the system works when implemented. Thus the system testing was a confirmation that all is correct and an opportunity to show the users that the system works.

Level of Testing:
In order to uncover the errors present in different phase we have the concept of levels of testing. The basic levels of testing are Client Needs Acceptance Testing

Requirements

System Testing

Design

Integration Testing

Code

Unit Testing

Testing was performed in three stages:

1. 2. 3.

Unit testing or forms and program testing System testing or integration testing Acceptance testing

Testing of system was done in according to the NTPC quality standard. The minimum requirement of all three stages is: Load the Procurement Management application software. Create the necessary data structures and populate the database with the respective mode. Create the necessary user permission. All the test must be conducted in correct sequence. Make the transaction data ready. Ensure expected results are available for verification purpose. Forms and Program Testing (Unit Testing)

The system has been developed according to the requirements of the system. There may be errors in the software that is known as Software Errors, i.e. the software does not do what the requirement says. So an exhaustive and through testing must be conducted to ascertain weather the system produces right results. In unit testing each program module was tested as a single program or unit. In unit testing a set of data as input was given to the module and observed what the output was. In addition, the logic and boundary conditions for the input and output data was checked. The interface between this module and others was also checked for correctness. While collecting the input data for testing the program module it was kept in mind that the input data should be from all the classes, so that the entire condition of the program could be checked, in testing the role of users is also very important, since they are then right person who can understand the full range of data and conditions that might occur in the system. So, a wide range of data was collected from the user to test the program thoroughly. System or integration testing When the individual program modules were working properly, we combined the modules in to a working system. This integration is planned and coordinated, so that when an error occurs we have an idea of what caused it. Integration testing is the process of verifying that the components of a system work together as described and the program design and system specification. For testing the entire system was viewed as a hierarchy of modules. We began with the modules at the highest level of design and worked down. The next modules to be tested are those that call previously tested modules.

Functional Testing
Once we were sure that information is passed among modules according to the design prescription, we tested the system to assure weather the function described in the required specification are actually performed by integration testing.

Acceptance Testing
When the functional testing is complete then we involved the user to make sure that the system works according to the user expectation. Thus finally the user did acceptance testing.

Snap Shot
Home page of Procurement Management

Home page of Procurement Management This home page of procurement management contains all the modules in the project. In the first frame some information about procurement management is there , second frame contains the several modules. Employee: This contains all the information about employee in procurement system. Material: This module contains information about the material maintained by any corporate sector. Finance: This module contains information about the financial status of any company. HR: Any company have some top level authority and hr module will maintain all information. Tender: It is the most important module of this project. It contains all the information about the issue of tender all related things.

Main Form for Finance Department This is the home page for Finance module. In this form we have 4 different sub items. Approved Tender: This hyperlink can directly approved the tender module by finance department. Add salary status: In this hyperlink user can insert the Salary status of any new employee. View Salary by employee id: In this hyperlink user can see the each employee salary status. View Salary by employee Department: In this hyperlink user can see the generated report on the basis of employee department.

Approval by Finance Department Form This is the first sub form of employee module. In this form any tender can be forwarded by the finance department. Any tender approval will be first passes by this dept , than on it will be forwarded by HR department. On the basis of budget certified only the tender will be approved. Save: On the clicking of this button all the record of approval form such as cost estimation, budget certified, phone no, bid opening date etc will be inserted into the database. Exit: On clicking exit button user can directly cancel this form and enter into main form.

Employee Finance Status form Employee status form is deals with the complete status of employee salary status. Employee salary status such as his salary, TA, DA, HRA and other allowance can be maintained. Submit: On clicking this button all the records of employee salary status such as his name, salary etc can be successfully inserted in the database. Different validation criteria is also maintained. Exit: On clicking this button User will directly quit from this form.

View Report form on the basis of Emp id In this form user can generate the report of employee salary status on the basis of emp id. His complete description such as emp id, name, salary, ta, da, allowance etc all the details of his salary will be generated in tabular format. Submit: On clicking submit button employee description on the basis of emp id can be displayed from the database. Exit: User can quit directly by pressing exit button.

View Employee Salary form on the basis of Department This form generates the report of every employee of any particular department. His complete information such as name, dept name, joining date, ta, da hra and others allowance can be displayed in tabular format. Submit: On clicking this button a complete report of employee is fetched from the database. Exit: On clicking this button user will directly quit from this form.

Main form of Tender Module This form have all the hyperlinks for the tender department. Indent Registration: About indents registration. Issue of tender Enquiry: Tender enquiry issue form. Bid opening details: Bid opening details can be accessed. Vendor details: Vendor applied for tender can have details. Bid open vendor list: List of vendors. Technical evaluation: Technical evaluation report form. Comparative statements: All the selected price list. Tc recommendation: Tender committee recommendation form. Pre award: For pre award of tender Final award: For finalizing the tender.

Indent registration form Indent registration form is mainly deals about the complete details of indents Any indenter that going to issue the tender when materials lacks in the corporate sector. Indent by, approved by , dealing officer, weather budget has been certified or not, delivery date of the product are the basic parts of indents registration form. Submit: On clicking submit button all the details of indents will be inserted in the database. Exit: On clicking exit button user can directly quits from this form.

Issue of tender Enquiry form This form deals issue of tender enquiry. Any tender may have some enquiry about the particular tenders. After seeing this report vendor can apply for the tenders. This contains the reg date, indenter, Estimated price, Tender Description, Quantity of material, Bid opening date, tender type, tender issuing date, last date for receipt, vendors list and material name. Submit: On clicking submit button all the details of issuing of tender enquiry will be inserted in the database. Exit: On clicking exit button user can directly quits from this form.

Bid opening detail form This form contains all the information of bid opening details against any bid. Any tender will be open on certain date. This information is managed by this form. Reg no, Bid description, Bid opening date and bid type are the main controls in this form. Submit: On clicking submit button all the details of bid opening details will be inserted in the database. Exit: On clicking exit button user can directly quits from this form.

Vendor details form This form will deals with the complete description of vendor. Any vendor that applied the tender have some information. Which are managed by this form. Vendor can have vendor id, name, country, phone, address, e-mail, city and fax. These all are maintained by this form. Submit: On clicking submit button all the details of Vendors will be inserted in the database. Exit: On clicking exit button user can directly quits from this form.

Bid open Vendor list This form deals the description of bid open vendor list. Any vendor that applied the tender have allotted bid price, bid valid date, reason of tender and remark. These all are maintained by this form. Submit: On clicking submit button all the details of indents will be inserted in the database. Exit: On clicking exit button user can directly quits from this form.

Technical Evaluation form This form deals the technical evaluation of any accepted bids. Different vendors will applied for the tender , the vendor having lowest price and good quality can only passes by the technical evaluation committee. Form controls are reg no, Bid opening date, dealing officer, and evaluation status which clarify that weather technical evaluation committee will passes the tender or not. Submit: On clicking submit button all the details of indents will be inserted in the database. Exit: On clicking exit button user can directly quits from this form.

Comparative Statement form This form deals the comparative statement of any technically evaluated vender. Tender committee will made this on the basis of vender price list against any tender. All the possible final price is managed on the basis of this form. Each successive vendor have there material description, warrantee, custom duty, discount if any etc are the major control of this form. Submit: On clicking submit button all the details of Comparative statements will be inserted in the database. Exit: On clicking exit button user can directly quits from this form.

TC Recommendation form This form deals with the tender committee recommendation of any succeeded bidders on the basis of best quality of material and lowest price. Different vendors can applied on the basis of there price list tender committee will select the successful vendors. Vendor name, dealing officer, TC approval date, TC init date CS price status of tender are the key controls of this form. Submit: On clicking submit button all the details of TC recommendation will be inserted in the database. Exit: On clicking exit button user can directly quits from this form.

TC Recommendation Pre award form This form deals about the pre award of selected vendor .After selecting the bidder by tender committee , pre award. Date will be fixed negotiated price , cs price will be generated as a report in the tabular format. Submit: On clicking submit button all the details of TC recommendation for pre award will be generated from the database. Exit: On clicking exit button user can directly quits from this form.

TC Recommendation form for final award This form contains about the information of finally selected vendor or bidder for the tender. Tender committee will be select the succeeded bidder. Vender name and award approval date will be generated from the database. Submit: On clicking submit button all the details of TC recommendation final award will be generated from the database. Exit: On clicking exit button user can directly quits from this form.

Limitations and Drawbacks


Though it was planned for this system to be absolutely perfect but everything as such has certain limitations, so does the system. Following may be some drawbacks in this system. Though this system is developed as a multi user but it is not a real time system.

The interaction with the database, every time they are loaded thus the system tends to be as bit slow.

Further Enhancement
The aim to make the full system very convenient and dynamic so further enhancement include:

Session Tracking
Building the session tracking system that is user can create session by their username and password and as soon as user logged on to the system it will return the details of all pending indents.

E Mail System
The administration module can be enhanced for E mail system that will provided a technique by which administrator can send E mail to other users containing information as details of pending indents, meeting detail and other such important information. As soon a user will log on to application system, he would receive mail or reminders at the same time.

Software Maintenance
Maintenance is the enigma of the system development. Maintenance can be classified as corrective, adaptive and perfective. Adaptive maintenance means changing the program function. Perfective maintenance means enhancing the performance or modifying the program to respond to the users additional or changing needs. Maintenance covers a wide range of activities, including correcting coding and design errors, updating documentation and test data and upgrading user support. Several MIS organizations have done to attack the ever growing problem of software maintenance through a maintenance reduction plan that consists of three phases.

Maintenance management audit


Maintenance management audit is done through interviews and questionnaires, evaluates the quality of maintenance effort.

Software system audit


Software system audit which entails an overall view of the system documentation and an assessment of the quality of data files and database and system reliability and efficiency.

Software modification
Software modification which consist of programs rewrites, system level updates and reaudit of low ranking programs to make sure that he errors have been corrected. The library management system is for IPGCL, therefore the future maintenance will be carried out by the IPGCL, Delhi.

Conclusion
The project undertaken by me has given a clear idea about an application system starting from conceptualization, design and development. Though the prototype project developed for Procurement Management System has a limiting scope but the experience of working on it has given me confidence as to how can the same system can expand or modified to make it applicable in the real life situation for an organization. During this training period I learned how to work in an organization, what type of environment is there in an office and many other thing. So, finally this project helped me in learning a lot of things both as a trainee and as a person, which will be very helpful in my future endeavors.

References
Books Commercial Application Development Using Java Server Pages By: Wrox Publication Complete Reference Java 2 By: Herbert Shield Java Server Page Programming By: Subramaniyam HTML and Java Script By: Ivan Bayross SQL, PL/SQL The Programming Language of Oracle By: Ivan Bayross Web Sites: http://www,goggle.com http://www.sun.com http://www.w3schools.com

Potrebbero piacerti anche