a:6:{i:0;s:8351:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Production Manager ( Disposable Mask Manufacturing)</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.tdsindia.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.tdsindia.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Production Manager ( Disposable Mask Manufacturing)</p>
					</div>
					</div>
					</section>
									<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-->
				
								<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 10 - 15 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Haridwar</p>
										
					<div>
					<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="277807">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="906570"><input type="hidden" name="subject" value="Applied for Production Manager ( Disposable Mask Manufacturing)">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">Hiring production Manager skilled Required - Sound Knowledge of Disposable Mask MFG Experienced Required - 10 to 15 years.<br />
1. Responsible for manufacturing & packing operations of Mask block.<br />
2. Ensure smooth functioning of manufacturing and packing operations as per cGMP/<br />
3. Ensuring well adherence and compliance of procedures and ensuring online<br />
documentation as per cGMP at the shop floor.<br />
4. Responsible for making strategy and improvement plan to improve productivity and<br />
compliance of department<br />
5. Responsible for keeping area all time ready for an audit and to comply with any audit observation.<br />
6. Responsible for ensuring periodic qualification and re-qualification of equipment.<br />
7. Identifying the area of improvement and recommending process modification<br />
8. Responsible for identification, execution of improvement projects and initiatives as area<br />
owner.<br />
9. Tasking on daily output report with monthly, weekly and daily production planning and<br />
managing the assembly line workforce for achieving the periodic production target<br />
regulatory norms<br />
10. Responsible for ensuring fulfillment of monthly production commitment against the plan.<br />
<br />
reproduction Manager<br />
Industry TypePharma, Biotech, Clinical Research<br />
Functional AreaProduction, Manufacturing, Maintenance<br />
Employment TypeFull Time, Permanent<br />
Role CategoryProduction/Manufacturing/Maintenance</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 6  Lac  To  8  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">Manufacturing / Production / Quality</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">10 - 15 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">B.Pharma</td>
					</tr>					
									
				</table>
				
				
				</div>
				
				<br>
				<div class="bdrT pt20px">
									<p class="xlarge b">Key Skills</p>
					<div class="mt10px dif">
											<span class="bn dib p5px10px c2px headVr mr7px mb7px">Production Planning</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">Shop Floor</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">Packaging</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">GMP</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">CGMP</span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w22 alpha75 p5px">Contact Person</td>
						<td class="p5px">Ravin Thakur</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Address</td>
						<td class="p5px">Sco-910, Nac Manimajra, Near Housing Board Red Light</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Mobile </td>
						<td class="p5px">8427691360 </td>
						</tr>
												<tr>
						<td class="w22 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:ravinthakur@tdsjob.com"> ravinthakur@tdsjob.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="277807">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="906570"><input type="hidden" name="subject" value="Applied for Production Manager ( Disposable Mask Manufacturing)">
					</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="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-solan.htm" title="Jobs in Solan">Solan</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-ludhiana.htm" title="Jobs in Ludhiana">Ludhiana</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-haridwar.htm" title="Jobs in Haridwar">Haridwar</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Functional Area</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Quality</a> <b class="alpha50 bn small">(5)</b></span>
									
				</div>
				</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: 'dXBWVmV2OU5YOGlTV0NITHdNbi9udz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:118:"Production Manager ( Disposable Mask Manufacturing) Jobs in Haridwar - Vacancy in Manufacturing / Production / Quality";i:2;s:317:"Production Manager ( Disposable Mask Manufacturing) Jobs,Production Manager ( Disposable Mask Manufacturing) Jobs in Haridwar,Production Manager ( Disposable Mask Manufacturing) Vacancy in Haridwar,Production Manager ( Disposable Mask Manufacturing) jobs in India,Manufacturing / Production / Quality jobs in Haridwar";i:3;s:357:"Apply for Production Manager ( Disposable Mask Manufacturing) Jobs in Haridwar India - Production Manager ( Disposable Mask Manufacturing) Vacancy  in Manufacturing / Production / Quality field with 10 to 15 years Work Experience, Key Skills are Production Planning,Shop Floor,Packaging,GMP,CGMP, Manufacturing / Production / Quality jobs in Haridwar  India";i:4;s:2078:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Production Manager ( Disposable Mask Manufacturing)",
		  "baseSalary": " 6  Lac  To  8  Lac ",
		  "description": "Hiring production Manager skilled Required - Sound Knowledge of Disposable Mask MFG Experienced Required - 10 to 15 years.
1. Responsible for manufacturing & packing operations of Mask block.
2. Ensure smooth functioning of manufacturing and packing operations as per cGMP/
3. Ensuring well adherence and compliance of procedures and ensuring online
documentation as per cGMP at the shop floor.
4. Responsible for making strategy and improvement plan to improve productivity and
compliance of department
5. Responsible for keeping area all time ready for an audit and to comply with any audit observation.
6. Responsible for ensuring periodic qualification and re-qualification of equipment.
7. Identifying the area of improvement and recommending process modification
8. Responsible for identification, execution of improvement projects and initiatives as area
owner.
9. Tasking on daily output report with monthly, weekly and daily production planning and
managing the assembly line workforce for achieving the periodic production target
regulatory norms
10. Responsible for ensuring fulfillment of monthly production commitment against the plan.

reproduction Manager
Industry TypePharma, Biotech, Clinical Research
Functional AreaProduction, Manufacturing, Maintenance
Employment TypeFull Time, Permanent
Role CategoryProduction/Manufacturing/Maintenance",
		  "educationRequirements": "B.Pharma",
		  "experienceRequirements": "10 - 15 Years",
		  "industry": "Manufacturing / Production / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttarakhand",
		      "addressRegion": "Haridwar"
		    }
		  },
		 "qualifications": "B.Pharma",
		     "skills": "Production Planning,Shop Floor,Packaging,GMP,CGMP"
		  }
		</script>
		";i:5;N;}