a:6:{i:0;s:13722:"				<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
									<div class="h1"><h1>Job openings for production supervisor in rajkot</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.manpowerworldplacement.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.manpowerworldplacement.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for production supervisor in rajkot</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Production Supervisor</div>
									<p class="mt7px fw6">Rajkot</p>
									
				<br>
				<p class="aj mt7px">Job Description-        <br />
       # Designs Mechanical And Electromechanical Products And Systems By Developing And Testing Specifications And Methods.<br />
       # Evaluates Mechanical And Electromechanical Systems And Products By Designing And Conducting Research Programs And Applying Principles Of Mechanics, Thermodynamics, Hydraulics, Heat Transfer, And Materials.<br />
       # Confirms System And Product Capabilities By Designing Feasibility And Testing Methods And Properties.<br />
       # Develops Mechanical And Electromechanical Products By Studying Customer Requirements; Researching And Testing Manufacturing And Assembly Methods And Materials; And Soliciting Observations From Operators.<br />
       # Develops Manufacturing Processes By Designing And Modifying Equipment For Fabricating, Building, Assembling, And Installing Components.<br />
       # Assures System And Product Quality By Designing Testing Methods; Testing Finished-Product And System Capabilities; And Confirming Fabrication, Assembly, And Installation Processes.<br />
       # Prepares Product Reports By Collecting, Analyzing, And Summarizing Information And Trends.<br />
       # Provides Engineering Information By Answering Questions And Requests.<br />
       # Maintains Product And Company Reputation By Complying With Government Regulations.<br />
       # Keeps Equipment Operational By Coordinating Maintenance And Repair Services; Following Manufacturer’s Instructions And Established Procedures; And Requesting Special Services.<br />
       # Maintains System And Product Data Base By Writing Computer Programs And Entering Data.<br />
       # Completes Projects By Training And Guiding Technicians.<br />
       # Maintains Professional And Technical Knowledge By Attending Educational Workshops, Reviewing Professional Publications, Establishing Personal Networks, Participating In Professional Societies.<br />
      # Contributes To Team Effort By Accomplishing Related Results As</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">3 - 7 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  75 Thousand  To  3  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Purchase / Supply Chain</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Diploma, Professional Degree, M.Tech</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Production Controller</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Production Engineer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Products design</span>
												<span class="bdr dib p2px10px mr5px mt2px"> mechanical production</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Electromechanical production</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">NA</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">NA</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:manpowerworldconsultancy@gmail.com"> manpowerworldconsultancy@gmail.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="738511">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="910720"><input type="hidden" name="subject" value="Applied for Production Supervisor">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-rajkot.htm" title="Jobs in Rajkot">Rajkot</a> <b class="alpha50 bn small">(143)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-surat.htm" title="Jobs in Surat">Surat</a> <b class="alpha50 bn small">(66)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(46)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-vadodara.htm" title="Jobs in Vadodara">Vadodara</a> <b class="alpha50 bn small">(31)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bharuch.htm" title="Jobs in Bharuch">Bharuch</a> <b class="alpha50 bn small">(30)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-vapi.htm" title="Jobs in Vapi">Vapi</a> <b class="alpha50 bn small">(27)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jamnagar.htm" title="Jobs in Jamnagar">Jamnagar</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bhavnagar.htm" title="Jobs in Bhavnagar">Bhavnagar</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-junagadh.htm" title="Jobs in Junagadh">Junagadh</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-kachchh.htm" title="Jobs in Kachchh">Kachchh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-portblair.htm" title="Jobs in Port Blair">Port Blair</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-anand.htm" title="Jobs in Anand">Anand</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-ganganagar.htm" title="Jobs in Sri Ganganagar">Sri Ganganagar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(34)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(18)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(15)</span><a href="jobs-in-engineering-technical-rd-fid.htm" title="Engineering / Technical / R&D Jobs">Engineering / Technical / R&D</a></p>
										<p class="mb5px "><span class="fr">(13)</span><a href="jobs-in-call-center-medical-transcription-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service / Operations Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(13)</span><a href="jobs-in-front-office-data-entry-fid.htm" title="Front Office / Executive Assistant / Data Entry Jobs">Front Office / Executive Assis...</a></p>
										<p class="mb5px "><span class="fr">(11)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(7)</span><a href="jobs-in-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-medical-health-care-hospitals-fid.htm" title="Medical / Health Care / Hospitals Jobs">Medical / Health Care / Hospit...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-banking-investment-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock ...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(3)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(3)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(3)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(3)</span><a href="jobs-in-purchase-supply-chain-fid.htm" title="Purchase / Supply Chain Jobs">Purchase / Supply Chain</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(3)</span><a href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-transportation-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping Jobs">Cargo / Freight / Transportati...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-insurance-loan-credit-fid.htm" title="Insurance / Loan / Credit Management Jobs">Insurance / Loan / Credit Mana...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-erp-crm-edp-software-fid.htm" title="IT Software- ERP / CRM / EDP / MIS Jobs">IT Software- ERP / CRM / EDP /...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'WXBHUkJzd2pqYWtNdjNWWElhMTgxZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:96:"Job openings for production supervisor in rajkot | Manpowerworld Placement & Facility Management";i:2;s:178:"Production Supervisor Jobs,Production Supervisor Jobs in Rajkot,Production Supervisor Vacancy in Rajkot,Production Supervisor jobs in India,Purchase / Supply Chain jobs in Rajkot";i:3;s:328:"Apply for Production Supervisor Jobs in Rajkot India - Production Supervisor Vacancy  in Purchase / Supply Chain field with 3 to 7 years Work Experience, Key Skills are Production Controller, Production Engineer, Products design, mechanical production, Electromechanical production, Purchase / Supply Chain jobs in Rajkot  India";i:4;s:2729:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Production Supervisor",
		  "baseSalary": " 1  Lac  75 Thousand  To  3  Lac  50 Thousand ",
		  "description": "Job Description-        
       # Designs Mechanical And Electromechanical Products And Systems By Developing And Testing Specifications And Methods.
       # Evaluates Mechanical And Electromechanical Systems And Products By Designing And Conducting Research Programs And Applying Principles Of Mechanics, Thermodynamics, Hydraulics, Heat Transfer, And Materials.
       # Confirms System And Product Capabilities By Designing Feasibility And Testing Methods And Properties.
       # Develops Mechanical And Electromechanical Products By Studying Customer Requirements; Researching And Testing Manufacturing And Assembly Methods And Materials; And Soliciting Observations From Operators.
       # Develops Manufacturing Processes By Designing And Modifying Equipment For Fabricating, Building, Assembling, And Installing Components.
       # Assures System And Product Quality By Designing Testing Methods; Testing Finished-Product And System Capabilities; And Confirming Fabrication, Assembly, And Installation Processes.
       # Prepares Product Reports By Collecting, Analyzing, And Summarizing Information And Trends.
       # Provides Engineering Information By Answering Questions And Requests.
       # Maintains Product And Company Reputation By Complying With Government Regulations.
       # Keeps Equipment Operational By Coordinating Maintenance And Repair Services; Following Manufacturer’s Instructions And Established Procedures; And Requesting Special Services.
       # Maintains System And Product Data Base By Writing Computer Programs And Entering Data.
       # Completes Projects By Training And Guiding Technicians.
       # Maintains Professional And Technical Knowledge By Attending Educational Workshops, Reviewing Professional Publications, Establishing Personal Networks, Participating In Professional Societies.
      # Contributes To Team Effort By Accomplishing Related Results As",
		  "educationRequirements": "Diploma, Professional Degree, M.Tech",
		  "experienceRequirements": "3 - 7 Years",
		  "industry": "Purchase / Supply Chain",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Gujarat",
		      "addressRegion": "Rajkot"
		    }
		  },
		 "qualifications": "Diploma, Professional Degree, M.Tech",
		     "skills": "Production Controller, Production Engineer, Products design, mechanical production, Electromechanical production"
		  }
		</script>
		";i:5;N;}