Вы находитесь на странице: 1из 31

College of Technology & Engineering

Duration: 1 June to 1 July, 2011

Submitted to: Mr. Kotangle (Head, IT Dept.) HZL,Debari

Submitted By: Ashok Kumar Jaiman B.E. IIIrd Yr. (C.S.E.) CTAE Udaipur

CONTENTS

1. 2. 3. 4. 5. 6. 7. 8. 9.

Acknowledgement Preface Certificate About HZL,Debari Project Profile How to use the Project Functions Description Program Coding Sample Outputs

ACKNOWLEDGEMENT

I wish to acknowledge the encouragement received from Mr. Naveen Choudhary (HOD, Computer Science and Engineering Department, C.T.A.E. Udaipur) & Mr. Dharm Singh (Training Incharge) for initiating my interest in training. I earnestly acknowledge my profound sense of gratitude to Mr. Kotangle (Head IT Deptt. HZL, Debari) under whose supervision I have been able to complete the project. Their mastery & work helped me in covering out this work smoothly. I am also grateful to all the workers of various departments who have helped me to improve practical knowledge.

Finally, I wish to add that I am indebted to god & my parents for everything good that has happened to me.

PREFACE

Practical training is a way to implement theoretical knowledge to practical use. To become a successful engineer it is necessary to have a sound practical knowledge because it is the only way by which one can acquire proficiency & skill to work successfully in different industries. It is proven fact that bookish knowledge is not sufficient because things are not as ideal in practical field as they should be. Hindustan Zinc Ltd. is one of the best examples to understand the production process & productivity in particular of Zinc. It is a matter of great pleasure that our college authorities have recommended a practical training of 30 days to supplement our theoretical knowledge acquired in the college. This report is an attempt made to study the overall production system & related action of Zinc Smelter, Debari a unit a HZL. It is engaged in the production of high grade Zinc metal & other byproducts viz. Cd, Sulphuric acid etc. since 1968 adopting hydro metallurgical technology.

CERTIFICATE

This is certified that Mr. Ashok Kumar Jaiman the student of Computer Science And Engineering (C.S.E) has worked on the Project of Business Software Solution. He took keen interest in all the meeting and our requirement and has put in all him efforts to develop a successful project. Him conduct has been good and he is sincere towards him works. We wish him all success and a very bright future. Mr.Naveen Choudhary (Head of the Department)

ABOUT HZL ,DEBARI


Zinc smelter Debari, is a unit of HZL. It was started in 1968. It was the first Zinc smelter of HZL. In this plant,zinc along with its products viz. Silver, Cadmium, Sulphuric acid etc. are produced from Zawar Mines and other mines of the company. Initially this Smelter started with 18,000 tonnes per annum capacity, but at present the capacity of plant is 49,000 tonnes per annum, the recovery of Zinc in this plant is 99.52%.

In HZL Various Departments (Plants) as under: Roaster and Acid plant Leaching plant Zinc Electrolysis plant Zinc Dust plant Instrumentation plant Finance Department Project Department
ROASTER AND ACID PLANT:-

The raw materials used for production of zinc is named blend which is prepared by the concentrate with comes from various mines. The main constitute present in the blend is ZnS. For the leaching of ZnS it is necessary to first convert it into oxide i.e. roasting of ZnS is done here at roaster.
LEACHING AND PURIFICATION:-

Leaching is a selective dissolution of ore minerals /oxide minerals in acid or solution of other reagents according to the condition adjusted in a manner to leave maximum gangue in the insoluble residue.Calcine comes into the hopper from roaster with the help of bucket elevators.The average rates of calcine consumption is 11MT/hr, whereas the rate of solution supply is 90 m3/hr;this corresponds to 140-150MT of Zinc ingots per day.
ZINC ELECTROLYSIS AND MELTING:-

Electrolysis of zinc sulphate solution take place in electrolysis cell with aluminum sheet as cathode and silver lead alloy as anode: The reaction can be represented as: As cathode (reduction) Zn2+ +2e- Zn At anode (oxidation) So42 +H2O H2So4 + 2e Over all reaction 2ZnSO4 + 2H2O 2Zn + 2H2SO4 + O2

The zinc gets deposited on the Al cathode and is stripped after

24 hours of deposition whereas oxygen is given OFF at the anode.As SO42- ions have strong affinity for hydrogen ions this results in formation of sulphuric acid. The oxygen which is liberated oxidizes the MnSO4 in solution to MnO2 which deposits as anode mud which is cleaned out periodically.
Solution cooling and storage:

Neutral electrolyte from purification shall be available at 60-70% as hot purification process has been adopted for expansion. The neutral solution is fed directly to atmospheric coolers where solution is cooled to 35oC, coolers have been provided for this circulating spent solution cooled in separate 5nos. coolers out of which normally three are in services and two are standby. Here temperature drop is from 42oC to 35o. Gypsum deposit take place in these coolers.

ELECTRICAL DEPARTMENT:-

Power situation in any industry is alarming. The gap between demand and supply keeps widening day by day. The energy SBU thus determines how each business unit or process consumes power. This helps to promote accountability, increase efficiency and productivity. Electrical energy acts as a raw material for industry. It implies energy saving through various ways after all energy saved is energy generated.
PERFORMANCE:-

Zinc Smelter Debari, has achieved an impressive growth pattern and condition and endeavors are being made to improve the production, as productivity. Emphasis is given for energy conservation, improvement in recovery efficiency and reduction in process chemical consumption which is prime factor in controlling the cost of production. In order to sustain above achievement, TQM and workman participation through suggestion scheme are in Zinc smelter Debari, now is a 9002 certified unit for quality management system from 05-11-1998.

PROJECT PROFILE TITLE: Medical Bill Settlement

Aim of the Project:Submitted to: Application: -

To maintain medical bills and its related records of customer. Hindustan Zinc Limited, Debari 1.To handle the working of bill amount transactions. 2. It can keep track records of each employee of the industry. 64 KB. ASHOK JAIMAN (B.E. IIIrd Year C.S.E.)

Memory used: Designed by: -

HOW TO USE THIS APPLICATION


Execute the C.P.P file and press enter to continue. Enter your choice as

1,2,3 from keyboard .Menu is as follows : 1.DATA ENTRY 2.CHECK LIST 3.PAYMENT LIST 4.SEARCH 5.NOTICE BOARD 6.EXIT The above options have following effects : 1.It will add new employee details. 2.It will display the check list . 3. It will display the payment list of every employee. 4.It will display all the details of the required employee. 5.It will display the notice board. 6.Exits the program.

FUNCTIONS DESCRIPTION
CLASS EMP 1. int getcd(): It is used to return the employee code entered by the user. 2. char *getname(): It is used to return the employee name entered by the user. 3. char *getdept (): It is used to return the employee department entered by the user. 4. void insert (int n): It asks the user to input the employees name, and department. The code is provided by itself. 5. void display (): It displays the code, name, and department of every employee sequentially.

CLASS BILL 1. int getref(): It is used to return the employees reference number entered by the user. 2. int inserts (int n): It first checks whether the entered employee code exists or not. If it does, it asks the user to enter the bill amount, N.R. amount, dependency code, and the bill type code. 3.void display(): It displays the entire details of the employee. 4.void notice(): It displays the employee code, bill amount and N.R. amount sequentially.

PROGRAM CODING
#include<iostream.h> #include<stdio.h> #include<iomanip.h> #include<string.h> #include<conio.h> #include<fstream.h> #include<process.h> void sort(); class emp { int empcd; char name[20],dept[20]; public: int getcd() { return(empcd); } char* getname() { return name; } char* getdept() { return dept; } void insert1() { cout<<"\nEnter employee code:"; cin>>empcd; cout<<"\n\nEnter employee name:"; fflush(stdin); gets(name); cout<<"\nEnter employee department:"; fflush(stdin); gets(dept); }

void display1() { cout<<"\n\nEmployee code:"<<empcd; cout<<"\nEmployee name:"<<name; cout<<"\nEmployee department:"<<dept; } void insert(int n) { empcd=n; cout<<"\nYour Code is:-"<<empcd; cout<<"\nEnter employee name:"; fflush(stdin); gets(name); strupr(name); cout<<"\nEnter employee department:"; fflush(stdin); gets(dept); } void display() { cout<<"\n\nEmployee code:"<<empcd; cout<<"\nEmployee name:"<<name; cout<<"\nEmployee designation:"<<dept; } }; class bill { int ecode,refno,billamt,nramt,dcode,billtcode; char ename[20],desig[10]; public: int getbillamt() { return billamt; } int getcd() { return(ecode); }

/*

char *getename() { return ename; } int getref() { return refno; } void operator=(bill e) { ecode=e.ecode; refno=e.refno; billamt=e.billamt; nramt=e.nramt; dcode=e.dcode; billtcode=e.billtcode; strcpy(ename,e.ename); strcpy(desig,e.desig); }*/ int insert(int n) { emp e; refno=n; cout<<"\nYour Reference No:-"<<refno; cout<<"\n\nEnter Employee Code:-"; cin>>ecode; ifstream fin2("emp",ios::binary); if(!fin2) { cout<<"\nERROR:No Records"; getch(); return 0; } else { int flag=0; while(!fin2.eof()) {

fin2.read( (char*)&e,sizeof(e)); if(ecode==e.getcd()) { strcpy(ename,e.getname() ); strcpy(desig,e.getdept() ); flag=1; fin2.close(); break; } } if(flag==0) { cout<<"\nEmployee does not Exist"; getch(); fin2.close(); return 0; } } cout<<"\nEnter Bill Amount:-"; cin>>billamt; cout<<"\nEnter NR Amount:-"; cin>>nramt; while(billamt<nramt) { cout<<"\nBill amount can't be less than NR Amount"; cout<<"\nEnter correctly"; cout<<"\nEnter Bill Amount:-"; cin>>billamt; cout<<"\nEnter NR Amount:-"; cin>>nramt; } cout<<"\n\n Dependent Code:"; cout<<"\nEnter 1 for Self"; cout<<"\nEnter 2 for Wife"; cout<<"\nEnter 3 for Father"; cout<<"\nEnter 4 for Mother"; cout<<"\nEnter 5 for Son"; cout<<"\nEnter 6 for Daughter"; cout<<"\nEnter 7 for Father"; cout<<"\nEnter 8 for Other";

cout<<"\n\nEnter code:"; cin>>dcode; cout<<"\n\n Bill Type Code:"; cout<<"\nEnter 1 for Company's Doctor"; cout<<"\nEnter 2 for Gov. Doctor"; cout<<"\nEnter 3 for Referal Doctor"; cout<<"\nEnter 4 for Ayurvedic Doctor"; cout<<"\nEnter 5 for Homeopathic Doctor"; cout<<"\nEnter 6 for Unani"; cout<<"\nEnter 7 for others"; cout<<"\n\nEnter code:"; cin>>billtcode; cout<<"\n\nEntry Saved Successfully"; return 1; } void display(int sr) { if(sr==-1) { char* tag; switch(dcode) { case 1:tag="Self"; break; case 2:tag="Wife"; break; case 3:tag="Father"; break; case 4:tag="Mother"; break; case 5:tag="Son"; break; case 6:tag="Daughter"; break; case 7:tag="Other"; break; } cout<<setiosflags(ios::left);

cout<<"\n"<<ecode<<" "<<setw(12)<<ename<<setw(12)<<desig<<setw(10)<<refno<<setw(10)<<billamt <<setw(9)<<nramt<<setw(10)<<tag; } else { char* tag; switch(dcode) { case 1:tag="Self"; break; case 2:tag="Wife"; break; case 3:tag="Father"; break; case 4:tag="Mother"; break; case 5:tag="Son"; break; case 6:tag="Daughter"; break; case 7:tag="Other"; break; } cout<<setiosflags(ios::left); cout<<"\n "<<setw(3)<<sr<<setw(10)<<ecode<<setw(10)<<ename<<setw(10)<<desig<<set w(9)<<refno<<setw(9)<<billamt<<setw(9)<<nramt<<setw(9)<<tag; } } void notice() { cout<<setiosflags(ios::right); cout<<"\n\t\t\t "<<ecode<<setw(10)<<billamt<<setw(10)<<nramt; } void displaycheck() { cout<<setiosflags(ios::left); // cout<<"\n\t "<<setw(12)<<ecode<<setw(15)<<ename<<setw(12)<<desig<<setw(10)<<nramt< <setw(9)<<refno<<setw(3)<<billamt;

cout<<"\n\n\t "<<setw(12)<<ecode<<setw(15)<<ename<<setw(12)<<desig; } void displaycheckhalf(int n) { if(n==0) cout<<setw(10)<<nramt<<setw(9)<<refno<<setw(3)<<billamt; else // cout<<setiosflags(ios::left); cout<<"\n\t\t\t\t\t\t "<<setw(10)<<nramt<<setw(9)<<refno<<setw(3)<<billamt; } }; void main() { clrscr(); bill e; emp d; int bno=1200; int n,eno; ofstream fout; ifstream fin; while(1) { clrscr(); cout<<"\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@"; cout<<"\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@"; cout<<"\n\n\t\t******************************************"; cout<<"\n\t\t\t-----MEDICAL BILLS SYSTEM-----"; cout<<"\n\t\t******************************************"; cout<<"\n\n\n\n\t\t\t\t1.EMPLOYEE DATA ENTRY";

cout<<"\n\n\t\t\t\t2.DISPLAY EMPLOYEE DETAILS"; cout<<"\n\n\t\t\t\t3.SEARCH EMPLOYEE"; cout<<"\n\n\t\t\t\t4.DATA ENTRY"; cout<<"\n\n\t\t\t\t5.CHECK LIST"; cout<<"\n\n\t\t\t\t6.PAYMENT LIST"; cout<<"\n\n\t\t\t\t7.SEARCH"; cout<<"\n\n\t\t\t\t8.NOTICE BOARD"; cout<<"\n\n\t\t\t\t9.EXIT"; cout<<"\n\n\n\t\t\t\t\tEnter Your Choice....."; cin>>n; switch(n) { case 1: d.insert1(); ofstream fout("emp",ios::app | ios::binary); fout.write((char*)&d,sizeof(d)); cout<<"\n\nRecord Inserted Successfully"; fout.close(); getch(); break; case 2: clrscr(); fin.open("emp",ios::binary); if(!fin) { cout<<"\nNo Record"; getch(); } else { while(!fin.eof()) { fin.read((char*)&d,sizeof(d)); if(!fin.eof()) { d.display(); getch(); } } }

fin.close(); break; case 3: int flag=0; fin.open("emp",ios::binary); if(!fin) { cout<<"\nERROR: No Records"; getch(); } else { clrscr(); cout<<"\nEnter employee code:"; cin>>n; while(!fin.eof()) { fin.read((char*)&d,sizeof(d)); if(n==d.getcd()) { cout<<"\nRecord Found\n\n"; d.display(); getch(); flag=1; break; } } if(flag==0) cout<<"\nNo records found"; getch(); } fin.close(); break;

case 4: fin.open("bill",ios::binary|ios::in);

if(!fin) bno=1200; else { while( !fin.eof()) fin.read( (char*)&e,sizeof(e)); bno=e.getref(); } bno++; int r=e.insert(bno); fin.close(); if(r!=0) { ofstream fout("bill",ios::app | ios::binary); fout.write((char*)&e,sizeof(e)); fout.close(); } break; case 5: clrscr(); int sr=1; fin.open("bill",ios::binary); if(!fin) cout<<"\nERROR:No Records"; else { cout<<"\n\t\t******************************************"; cout<<"\n\t\t Hindustan Zinc Limited, Udaipur"; cout<<"\n\t\t (A public limited company)"; cout<<"\n\t\t******************************************"; cout<<"\n\t\t Medical bill wise check list"; cout<<"\n\n$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"; cout<<"\nSNO"<<setw(6)<<" EMPCD"<<setw(10)<<" EMP NAME"<<setw(10)<<" DESIG"<<setw(8)<<" REFNO"<<setw(9)<<" BILLAMT"<<setw(9)<<" NRAMT"<<setw(9)<<" TAG";

cout<<"\n$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n"; int sum,count; sum=0; count=0; while(!fin.eof()) { fin.read((char*)&e,sizeof(e)); if(!fin.eof()) { { e.display(sr); sr++; sum=sum+e.getbillamt(); count++; } } } cout<<"\n\n\t\t\t Total Employees:-"<<count; cout<<"\n\t\t\t Total Bill Amount:-"<<sum; getch(); fin.close(); break; case 6: fin.open("bill",ios::binary); if(!fin) { cout<<"\nERROR: No Records"; getch(); } else sort(); fin.close(); break; case 7: int flag=0; fin.open("bill",ios::binary); if(!fin) {

cout<<"\nERROR: No Records"; getch(); } else { clrscr(); cout<<"\nEnter Employee No:-"; cin>>n; while(!fin.eof()) { fin.read((char*)&e,sizeof(e)); if(n==e.getcd()) { clrscr(); cout<<"\n\t\t\t\tRecord Found\n"; cout<<"\n----------------------------------------------------------------------"; cout<<endl<<"EMPCD"<<setw(10)<<" EMP NAME"<<setw(10)<<"DESIG"<<setw(8)<<" REFNO"<<setw(9)<<" BILLAMT"<<setw(9)<<" NRAMT"<<setw(9)<<" TAG"; cout<<"\n----------------------------------------------------------------------"; e.display(-1); getch(); flag=1; // break; } } if(flag==0) { cout<<"\nNo records found"; getch(); } } fin.close(); break; case 8:

fin.open("bill",ios::binary); if(!fin) cout<<"\nERROR: No Records"; else { clrscr(); cout<<"\n#######################********-----------********############################"; cout<<"\n\t\t\t\tNOTICE BOARD"; cout<<"\n#######################********-----------********############################"; cout<<"\n\n\t\t\t @@@@@@@@@@@@@@@@@@@@@@@@@@"; cout<<"\n\t\t\t EmpCode Amt NrAmt"; cout<<"\n\t\t\t @@@@@@@@@@@@@@@@@@@@@@@@@@"; int sum=0,count=0; while(!fin.eof()) { fin.read((char*)&e,sizeof(e)); if(!fin.eof()) { e.notice(); sum=sum+e.getbillamt(); count++; } } cout<<"\n\n\t\t\t Total Employees:-"<<count; cout<<"\n\t\t\t Total Bill Amount:-"<<sum; getch(); } fin.close(); getch(); break; case 9:

exit(0); break; } getch(); } } } void sort() { clrscr(); ifstream fin("bill",ios::binary); bill d[1000],e,t; int k=0,i,j; while(!fin.eof()) { fin.read( (char*)&e,sizeof(e)); if(!fin.eof()) d[k++]=e; } fin.close(); for(i=0;i<k;i++) { for(j=i+1;j<k;j++) { if(d[i].getcd() > d[j].getcd() ) { t=d[i]; d[i]=d[j]; d[j]=t; } } } fin.open("bill",ios::binary); int eno,sum=0,a=0,esum=0; cout<<"\n\n\t @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@"; cout<<"\n\t EmpCode EmpName Desig NrAmt RefNo BillAmt";

cout<<"\n\t @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@"; for(i=0;i<k;i++) { eno=d[i].getcd(); if(a==0) { d[i].displaycheck(); d[i].displaycheckhalf(0); a=eno; sum=sum+d[i].getbillamt(); esum=esum+d[i].getbillamt(); } else if(eno==a) { d[i].displaycheckhalf(1); sum=sum+d[i].getbillamt(); esum=esum+d[i].getbillamt(); // cout<<endl<<"\n\t\t\t\t\t\t Employee Totals:-"<<esum<<endl; // esum=0; } else { cout<<endl<<"\n\t\t\t\t\t\t Employee Totals:-"<<esum<<endl; esum=0; a=0; d[i].displaycheck(); d[i].displaycheckhalf(0); sum=sum+d[i].getbillamt(); esum=d[i].getbillamt(); // cout<<endl<<"\n\t\t\t\t\t\t Employee Totals:-"<<esum<<endl; } } //if(a!=0) //{ cout<<endl<<"\n\t\t\t\t\t\t Employee Totals:-"<<esum<<endl; cout<<endl<<"\n\n\n\t\t\t\t Total of all Employees:-"<<sum<<endl; fin.close();

getch(); }

SAMPLE OUTPUTS
Main Menu:

1. Employee Data Entry:

2. Search Employee:

3. Data Entry:

4. Check List:

5. Payment List:

6. Search:

7.Notice Board:

Description:- To maintain medical bills and its related records of customer. It provides the facility to add new records, display records, search the employee in the database, make some data entries about the medical bill and produces some lists i.e. check list, payment list etc. Finally it displays the required information on the notice board.

CONCLUSION:Through training at HZL, I came to know various processes used in zinc smelting. The project which I submitted give a very good exposure to java programming and its database connectivity. Here MS-ACCESS is used which uses a DSN. Through training I come across to various aspects of industries and its working and also make me feel confident in java.

Bibliography:1. Beginning Java Objects: From Concepts to code By Jacquie Barker. 2. Introduction To Java Programming(NIIT Publication). 3. Complete Reference Java-2 By Herbert Schildt.

Вам также может понравиться