a:6:{i:0;s:13921:"				<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 quality control executive in kanpur</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.abhassconsultancy.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.abhassconsultancy.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for quality control executive in kanpur</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Quality Control Executive</div>
									<p class="mt7px fw6">Kanpur</p>
									
				<br>
				<p class="aj mt7px">Work in manufacturing line<br />
 B.Sc and textile line only boys               <br />
Minimum 2 to 5 year experience   <br />
Job responsibilities of QC department in textile industries:<br />
    Participate in market report/feedback discussions to understand properly what the market demands.<br />
    Interpret market demand in terms of quality characteristics/ parameters.<br />
    Cooperate product planning and production department in designing the production plan.<br />
    Design quality plan i.e. design the quality parameters of basic raw materials (for example, fiber, quality for yarn, yarn quality for fabric, grey quality for fabric, grey fabric quality for finished fabrics etc).<br />
    Make the purchase or procurement deportee aware of the quality needed for raw materials so that they can also properly demand and purchase the things exactly needed.<br />
    Test the suppliers samples and report it to concerned department (top management, production and purchase dept. informing the deviating, if any; and also suggest for alternate.<br />
    Design quality of intermediaries/ semi products (e.g. lap, sliver, roving etc. for yarn manufacturing; sized/colored yarn in weaving; de-sized and bleached fabrics in wet processing etc.). So, the designed product is achieved.<br />
    Communicate the production dept. is with the plan of quality.<br />
    Design process control chart and implement process control accordingly.<br />
    Collect samples as per plan and standard.<br />
    Conduct routine and non-routine tests as per recommended standard.<br />
    Record and properly document test result.<br />
    Interpret test results and distribute suggestion as how the concerned depts. will fight defect already generated and from being generated.<br />
    Report to operational and maintenance in chief as soon as any quality deterioration is detected to undertake necessary action. In case serious problems, communicate top management.<br />
    Test the packed and stocked material from time to time to avoid any damage.<br />
    Prepare daily, weekly</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 90 Thousand  To  1  Lac  25 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Manufacturing / Production / Quality</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.Sc</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Quality Control</span>
												<span class="bdr dib p2px10px mr5px mt2px"> quality management</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">Contact Person</td>
						<td class="p5px">Miss Shreya / Kamlesh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">3rd Floor, Ajanta Tower, 282 A B C, Express Road, The Mall</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9598277888 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:employers@abhassconsultancy.com"> employers@abhassconsultancy.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="335037">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="862559"><input type="hidden" name="subject" value="Applied for Quality Control Executive">
					</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-kanpur.htm" title="Jobs in Kanpur">Kanpur</a> <b class="alpha50 bn small">(56)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bulandshahr.htm" title="Jobs in Bulandshahr">Bulandshahr</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-lucknow.htm" title="Jobs in Lucknow">Lucknow</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-meerut.htm" title="Jobs in Meerut">Meerut</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mirzapur.htm" title="Jobs in Mirzapur">Mirzapur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-moradabad.htm" title="Jobs in Moradabad">Moradabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-saharanpur.htm" title="Jobs in Saharanpur">Saharanpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-varanasi.htm" title="Jobs in Varanasi">Varanasi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-unnao.htm" title="Jobs in Unnao">Unnao</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-indore.htm" title="Jobs in Indore">Indore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jaipur.htm" title="Jobs in Jaipur">Jaipur</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-patna.htm" title="Jobs in Patna">Patna</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-aligarh.htm" title="Jobs in Aligarh">Aligarh</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-bareilly.htm" title="Jobs in Bareilly">Bareilly</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-brazil.htm" title="Jobs in Brazil">Brazil</a> <b class="alpha50 bn small">(2)</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">(16)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(10)</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">(6)</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">(5)</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 "><span class="fr">(5)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-oil-gas-petroleum-fid.htm" title="Oil / Gas / Petroleum Jobs">Oil / Gas / Petroleum</a></p>
										<p class="mb5px "><span class="fr">(2)</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">(2)</span><a href="jobs-in-financial-services-banking-investments-insurance-stock-market-loan-fid.htm" title="Financial Services / Banking, Investments / Insurance / stock market / Loan Jobs">Financial Services / Banking, ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandisin...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-supply-chain-purchase-procurement-fid.htm" title="Supply Chain / Purchase / Procurement Jobs">Supply Chain / Purchase / Proc...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-merchandser-fid.htm" title="Fashion Designing & Merchandising Jobs">Fashion Designing & Merchandis...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-biotech-scientist-fid.htm" title="Pharma / R&D / Biotech Jobs">Pharma / R&D / Biotech</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</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: 'RXpnMTBLWll6eENWYWd4M0t2RS94Zz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:73:"Job openings for quality control executive in kanpur | ABHASS CONSULTANCY";i:2;s:207:"Quality Control Executive Jobs,Quality Control Executive Jobs in Kanpur,Quality Control Executive Vacancy in Kanpur,Quality Control Executive jobs in India,Manufacturing / Production / Quality jobs in Kanpur";i:3;s:285:"Apply for Quality Control Executive Jobs in Kanpur India - Quality Control Executive Vacancy  in Manufacturing / Production / Quality field with 2 to 5 years Work Experience, Key Skills are Quality Control, quality management, Manufacturing / Production / Quality jobs in Kanpur  India";i:4;s:3158:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Quality Control Executive",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "862559"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "9598277888",
	      "email" : "employers@abhassconsultancy.com"  
	       },
		  "url": "http://www.abhassconsultancy.com/job-openings-for-quality-control-executive-kanpur-862559.htm",
          "datePosted": "2019-12-25",
          
		  "baseSalary": " 90 Thousand  To  1  Lac  25 Thousand ",
		  "description": "Work in manufacturing line
 B.Sc and textile line only boys               
Minimum 2 to 5 year experience   
Job responsibilities of QC department in textile industries:
    Participate in market report/feedback discussions to understand properly what the market demands.
    Interpret market demand in terms of quality characteristics/ parameters.
    Cooperate product planning and production department in designing the production plan.
    Design quality plan i.e. design the quality parameters of basic raw materials (for example, fiber, quality for yarn, yarn quality for fabric, grey quality for fabric, grey fabric quality for finished fabrics etc).
    Make the purchase or procurement deportee aware of the quality needed for raw materials so that they can also properly demand and purchase the things exactly needed.
    Test the suppliers samples and report it to concerned department (top management, production and purchase dept. informing the deviating, if any; and also suggest for alternate.
    Design quality of intermediaries/ semi products (e.g. lap, sliver, roving etc. for yarn manufacturing; sized/colored yarn in weaving; de-sized and bleached fabrics in wet processing etc.). So, the designed product is achieved.
    Communicate the production dept. is with the plan of quality.
    Design process control chart and implement process control accordingly.
    Collect samples as per plan and standard.
    Conduct routine and non-routine tests as per recommended standard.
    Record and properly document test result.
    Interpret test results and distribute suggestion as how the concerned depts. will fight defect already generated and from being generated.
    Report to operational and maintenance in chief as soon as any quality deterioration is detected to undertake necessary action. In case serious problems, communicate top management.
    Test the packed and stocked material from time to time to avoid any damage.
    Prepare daily, weekly",
		  "educationRequirements": "B.Sc",
		  "experienceRequirements": "2 - 5 Years",
		  "industry": "Manufacturing / Production / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttar Pradesh",
		      "addressRegion": "Kanpur"
		    }
		  },
		 "qualifications": "B.Sc",
		     "skills": "Quality Control, quality management"
		  }
		</script>
		";i:5;N;}