function generateExcel($data = array())
 {
     if (isset($data['did']) && $data['did'] != '') {
         $did = $data['did'];
     }
     if (isset($data['bid']) && $data['bid'] != '') {
         $bid = $data['bid'];
     }
     if (isset($data['jobno']) && $data['jobno'] != '') {
         $jobno = $data['jobno'];
     }
     if (isset($data['fairno']) && $data['fairno'] != '') {
         $fairno = $data['fairno'];
     }
     if (isset($data['inch']) && $data['inch'] != '') {
         $inch = $data['inch'];
     }
     if ($inch == 1) {
         $this->inch = 25.4;
     }
     $db = Database::getInstance();
     $cxn = $db->getConnection();
     $part = new Part();
     $part->setValue('partid', $did);
     $part->setPartDetails();
     $qz = "SELECT Mfg_Batch_NO FROM Batch_NO WHERE Batch_ID={$bid}";
     if (!($rz = $cxn->query($qz))) {
         exit("error (generateExcel 0)  {$qz} : {$cxn->error}");
     }
     $rez = mysqli_fetch_assoc($rz);
     $mfgbatchno = $rez['Mfg_Batch_NO'];
     $objPHPExcel = new PHPExcel();
     $objPHPExcel->getProperties()->setTitle("FAIR");
     ///form 1
     $objPHPExcel->setActiveSheetIndex(0);
     $objPHPExcel->getActiveSheet()->setTitle("Form 1");
     $objPHPExcel->getActiveSheet()->mergeCells('A1:B1');
     $objPHPExcel->getActiveSheet()->SetCellValue('A1', '1. Part Number');
     $objPHPExcel->getActiveSheet()->mergeCells('A2:B2');
     $objPHPExcel->getActiveSheet()->SetCellValue('A2', $part->getValue('partno'));
     $objPHPExcel->getActiveSheet()->mergeCells('C1:D1');
     $objPHPExcel->getActiveSheet()->SetCellValue('C1', '2. Part Name');
     $objPHPExcel->getActiveSheet()->mergeCells('C2:D2');
     $objPHPExcel->getActiveSheet()->SetCellValue('C2', $part->getValue('partname'));
     $objPHPExcel->getActiveSheet()->mergeCells('E1:F1');
     $objPHPExcel->getActiveSheet()->SetCellValue('E1', '3. Serial Number');
     $objPHPExcel->getActiveSheet()->mergeCells('E2:F2');
     $objPHPExcel->getActiveSheet()->mergeCells('G1:H1');
     $objPHPExcel->getActiveSheet()->SetCellValue('G1', '4. FAIR Number');
     $objPHPExcel->getActiveSheet()->mergeCells('G2:H2');
     $objPHPExcel->getActiveSheet()->SetCellValue('G2', $fairno);
     $objPHPExcel->getActiveSheet()->mergeCells('A3:B3');
     $objPHPExcel->getActiveSheet()->SetCellValue('A3', '5. Part Revision Level');
     $objPHPExcel->getActiveSheet()->mergeCells('A4:B4');
     $objPHPExcel->getActiveSheet()->SetCellValue('A4', $part->getValue('partrevision'));
     $objPHPExcel->getActiveSheet()->mergeCells('C3:D3');
     $objPHPExcel->getActiveSheet()->SetCellValue('C3', '6. Drawing Number');
     $objPHPExcel->getActiveSheet()->mergeCells('C4:D4');
     $objPHPExcel->getActiveSheet()->SetCellValue('C4', $part->getValue('drawingno'));
     $objPHPExcel->getActiveSheet()->mergeCells('E3:F3');
     $objPHPExcel->getActiveSheet()->SetCellValue('E3', '7. Drawing Revision Level');
     $objPHPExcel->getActiveSheet()->mergeCells('E4:F4');
     $objPHPExcel->getActiveSheet()->SetCellValue('E4', $part->getValue('drawingrevision'));
     $objPHPExcel->getActiveSheet()->mergeCells('G3:H3');
     $objPHPExcel->getActiveSheet()->SetCellValue('G3', '8. Additional Changes');
     $objPHPExcel->getActiveSheet()->mergeCells('G4:H4');
     $objPHPExcel->getActiveSheet()->mergeCells('A5:B5');
     $objPHPExcel->getActiveSheet()->SetCellValue('A5', '9. Manufactiring Process Reference');
     $objPHPExcel->getActiveSheet()->mergeCells('A6:B6');
     $objPHPExcel->getActiveSheet()->SetCellValue('A6', $mfgbatchno);
     $objPHPExcel->getActiveSheet()->mergeCells('C5:D5');
     $objPHPExcel->getActiveSheet()->SetCellValue('C5', '10. Organization Name');
     $objPHPExcel->getActiveSheet()->mergeCells('C5:D5');
     $objPHPExcel->getActiveSheet()->SetCellValue('C5', 'Divya Engineering Works (P) Ltd');
     $objPHPExcel->getActiveSheet()->mergeCells('E5:F5');
     $objPHPExcel->getActiveSheet()->SetCellValue('E5', '11. Supplier Code');
     $objPHPExcel->getActiveSheet()->mergeCells('E6:F6');
     $objPHPExcel->getActiveSheet()->SetCellValue('E6', '');
     $objPHPExcel->getActiveSheet()->mergeCells('G5:H5');
     $objPHPExcel->getActiveSheet()->SetCellValue('G5', '12. P.O. Number');
     $objPHPExcel->getActiveSheet()->mergeCells('G6:H6');
     $objPHPExcel->getActiveSheet()->SetCellValue('G6', '');
     $objPHPExcel->getActiveSheet()->mergeCells('A7:B7');
     $objPHPExcel->getActiveSheet()->SetCellValue('A7', '13. Detail Part');
     $objPHPExcel->getActiveSheet()->mergeCells('A8:B9');
     $objPHPExcel->getActiveSheet()->SetCellValue('A8', 'Assembly FAI:');
     $objPHPExcel->getActiveSheet()->mergeCells('C7:H7');
     $objPHPExcel->getActiveSheet()->SetCellValue('C7', '14. Fill FAI:         Partial FAI:');
     $objPHPExcel->getActiveSheet()->mergeCells('C8:H8');
     $objPHPExcel->getActiveSheet()->SetCellValue('C8', 'Baseline Part Number (including revision level):');
     $objPHPExcel->getActiveSheet()->mergeCells('C9:H9');
     $objPHPExcel->getActiveSheet()->SetCellValue('C9', 'Reason for Partial FAI:');
     $objPHPExcel->getActiveSheet()->mergeCells('A10:H10');
     $objPHPExcel->getActiveSheet()->SetCellValue('A10', 'a) If above part number is a detail part only, go to field 19.');
     $objPHPExcel->getActiveSheet()->mergeCells('A11:H11');
     $objPHPExcel->getActiveSheet()->SetCellValue('A11', 'b) If above part number is an assembly, go to the "INDEX" section below.');
     $objPHPExcel->getActiveSheet()->mergeCells('A12:H12');
     $objPHPExcel->getActiveSheet()->SetCellValue('A12', 'INDEX of part numbers or sub-assembly numbers required to make the assembly noted above.');
     $objPHPExcel->getActiveSheet()->mergeCells('A13:B13');
     $objPHPExcel->getActiveSheet()->SetCellValue('A13', '15. Part Number:');
     $objPHPExcel->getActiveSheet()->mergeCells('C13:D13');
     $objPHPExcel->getActiveSheet()->SetCellValue('C13', '16. Part Name:');
     $objPHPExcel->getActiveSheet()->mergeCells('E13:F13');
     $objPHPExcel->getActiveSheet()->SetCellValue('E13', '17. Part Serial Number:');
     $objPHPExcel->getActiveSheet()->mergeCells('G13:H13');
     $objPHPExcel->getActiveSheet()->SetCellValue('G13', '18. FAIR Number:');
     $ir = 14;
     while ($ir < 31) {
         $objPHPExcel->getActiveSheet()->mergeCells('A' . $ir . ':B' . $ir);
         $objPHPExcel->getActiveSheet()->mergeCells('C' . $ir . ':D' . $ir);
         $objPHPExcel->getActiveSheet()->mergeCells('E' . $ir . ':F' . $ir);
         $objPHPExcel->getActiveSheet()->mergeCells('G' . $ir . ':H' . $ir);
         $ir++;
     }
     $objPHPExcel->getActiveSheet()->mergeCells('A31:B32');
     $objPHPExcel->getActiveSheet()->SetCellValue('A31', '19. Signature');
     $objPHPExcel->getActiveSheet()->mergeCells('C31:D32');
     $objPHPExcel->getActiveSheet()->SetCellValue('C31', 'FAI Complete');
     $objPHPExcel->getActiveSheet()->mergeCells('E31:F32');
     $objPHPExcel->getActiveSheet()->SetCellValue('E31', 'FAI Not Complete');
     $objPHPExcel->getActiveSheet()->mergeCells('G31:H32');
     $objPHPExcel->getActiveSheet()->SetCellValue('G31', '20. Date:');
     $objPHPExcel->getActiveSheet()->mergeCells('A33:F33');
     $objPHPExcel->getActiveSheet()->SetCellValue('A33', '21. Reviewed By');
     $objPHPExcel->getActiveSheet()->mergeCells('G33:H33');
     $objPHPExcel->getActiveSheet()->SetCellValue('G33', '22. Date:');
     $objPHPExcel->getActiveSheet()->mergeCells('A34:F34');
     $objPHPExcel->getActiveSheet()->SetCellValue('A34', '23. Customer Approval');
     $objPHPExcel->getActiveSheet()->mergeCells('G34:H34');
     $objPHPExcel->getActiveSheet()->SetCellValue('G34', '24. Date:');
     ///form 2
     $objPHPExcel->createSheet(1);
     $objPHPExcel->setActiveSheetIndex(1);
     $objPHPExcel->getActiveSheet()->setTitle("Form 2");
     $objPHPExcel->getActiveSheet()->mergeCells('A1:H2');
     $objPHPExcel->getActiveSheet()->SetCellValue('A1', 'FORM 2 - Product Accountability - Materials, Special Processes, and Functional Testing');
     $objPHPExcel->getActiveSheet()->mergeCells('A2:B2');
     $objPHPExcel->getActiveSheet()->SetCellValue('A2', '1. Part Number');
     $objPHPExcel->getActiveSheet()->mergeCells('A3:B3');
     $objPHPExcel->getActiveSheet()->SetCellValue('A3', '');
     $objPHPExcel->getActiveSheet()->mergeCells('C2:D2');
     $objPHPExcel->getActiveSheet()->SetCellValue('C2', '2. Part Name');
     $objPHPExcel->getActiveSheet()->mergeCells('C3:D3');
     $objPHPExcel->getActiveSheet()->SetCellValue('C3', '');
     $objPHPExcel->getActiveSheet()->mergeCells('E2:F2');
     $objPHPExcel->getActiveSheet()->SetCellValue('E2', '3. Serial Number');
     $objPHPExcel->getActiveSheet()->mergeCells('E3:F3');
     $objPHPExcel->getActiveSheet()->mergeCells('G2:H2');
     $objPHPExcel->getActiveSheet()->SetCellValue('G2', '4. FAIR Number');
     $objPHPExcel->getActiveSheet()->mergeCells('G3:H3');
     $objPHPExcel->getActiveSheet()->SetCellValue('G3', '');
     $objPHPExcel->getActiveSheet()->mergeCells('A4:B4');
     $objPHPExcel->getActiveSheet()->SetCellValue('A4', '5. Material or    Process Name:');
     $objPHPExcel->getActiveSheet()->mergeCells('A5:B5');
     $objPHPExcel->getActiveSheet()->SetCellValue('A5', '');
     $objPHPExcel->getActiveSheet()->SetCellValue('C4', '6. Specification Number:');
     $objPHPExcel->getActiveSheet()->SetCellValue('C5', '');
     $objPHPExcel->getActiveSheet()->SetCellValue('D4', '7. Code:');
     $objPHPExcel->getActiveSheet()->SetCellValue('D5', '');
     $objPHPExcel->getActiveSheet()->SetCellValue('E4', '8. Supplier:');
     $objPHPExcel->getActiveSheet()->SetCellValue('E5', '');
     $objPHPExcel->getActiveSheet()->SetCellValue('G4', '9. Customer   Approval Verification:');
     $objPHPExcel->getActiveSheet()->SetCellValue('G5', '');
     $objPHPExcel->getActiveSheet()->SetCellValue('H4', '10. Certificate of Conformance Number:');
     $objPHPExcel->getActiveSheet()->SetCellValue('H5', '');
     $ir = 6;
     while ($ir < 20) {
         $objPHPExcel->getActiveSheet()->mergeCells('A' . $ir . ':B' . $ir);
         $ir++;
     }
     $objPHPExcel->getActiveSheet()->mergeCells('A21:D21');
     $objPHPExcel->getActiveSheet()->SetCellValue('A21', '11. Functional Test Procedure Number:');
     $objPHPExcel->getActiveSheet()->mergeCells('E21:H21');
     $objPHPExcel->getActiveSheet()->SetCellValue('E21', '12. Acceptance Report Number:');
     $ir = 22;
     while ($ir < 29) {
         $objPHPExcel->getActiveSheet()->mergeCells('A' . $ir . ':D' . $ir);
         $objPHPExcel->getActiveSheet()->mergeCells('E' . $ir . ':H' . $ir);
         $ir++;
     }
     $objPHPExcel->getActiveSheet()->mergeCells('A29:H30');
     $objPHPExcel->getActiveSheet()->SetCellValue('A29', '13. Comments:');
     $objPHPExcel->getActiveSheet()->mergeCells('A31:F32');
     $objPHPExcel->getActiveSheet()->SetCellValue('A31', '14. Signature:');
     $objPHPExcel->getActiveSheet()->mergeCells('G31:H32');
     $objPHPExcel->getActiveSheet()->SetCellValue('G31', '15. Date:');
     //form 3
     $objPHPExcel->createSheet(2);
     $objPHPExcel->setActiveSheetIndex(2);
     $objPHPExcel->getActiveSheet()->setTitle("Form 3");
     $objPHPExcel->getActiveSheet()->mergeCells('A1:C3');
     $objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Divya Engineering Works (P) Ltd');
     $objPHPExcel->getActiveSheet()->mergeCells('D1:F3');
     $objPHPExcel->getActiveSheet()->SetCellValue('D1', 'First Article Inspection Report');
     $objPHPExcel->getActiveSheet()->SetCellValue('G1', 'Record Format Ref: DEW-QA-R-04');
     $objPHPExcel->getActiveSheet()->SetCellValue('G2', 'Rev: Nil');
     $objPHPExcel->getActiveSheet()->SetCellValue('G3', 'Issue Date: 01-12-2015');
     $styleArray = array('font' => array('bold' => true, 'color' => array('rgb' => '000000'), 'size' => 12, 'name' => 'Verdana'));
     $objPHPExcel->getActiveSheet()->getStyle('A1:G3')->applyFromArray($styleArray);
     $objPHPExcel->getActiveSheet()->getStyle('A1:G3')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
     $objPHPExcel->getActiveSheet()->getStyle('A1:G3')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
     $objPHPExcel->getActiveSheet()->mergeCells('A4:B4');
     $objPHPExcel->getActiveSheet()->SetCellValue('A4', 'Part Name:' . $part->getValue('partname'));
     $objPHPExcel->getActiveSheet()->mergeCells('C4:D4');
     $objPHPExcel->getActiveSheet()->SetCellValue('C4', 'Part No and Rev:' . $part->getValue('partno') . ' : ', $part->getValue('partrevision'));
     $styleArray = array('font' => array('bold' => true, 'color' => array('rgb' => '8470ff'), 'size' => 12, 'name' => 'Verdana'));
     $objPHPExcel->getActiveSheet()->getStyle('A4:D4')->applyFromArray($styleArray);
     $q1 = "SELECT DISTINCT(op.Operation_ID),Operation_Notation,Operation_Desc,Ope_Drawing_ID FROM Operation as op \n\tINNER JOIN Ope_Drawing as od on od.Link_ID=op.Operation_ID \n\tINNER JOIN Dimn_Observation as do on do.Ope_Rev_ID=od.Ope_Drawing_ID WHERE op.Drawing_ID={$did} AND do.Batch_ID={$bid} AND In_Tool_List=1";
     if (!($r1 = $cxn->query($q1))) {
         exit("error (generateExcel)  {$q1} : {$cxn->error}");
     }
     $r = 5;
     while ($ro1 = mysqli_fetch_assoc($r1)) {
         $this->operationid = $ro1['Operation_ID'];
         $this->opedrawingid = $ro1['Ope_Drawing_ID'];
         $this->getDimensionsforOperation();
         $objPHPExcel->getActiveSheet()->mergeCells('A' . $r . ':D' . $r);
         $objPHPExcel->getActiveSheet()->SetCellValue('A' . $r, 'Operation: ' . $ro1['Operation_Notation'] . ' ' . $ro1['Operation_Desc']);
         $cc = PHPExcel_Cell::stringFromColumnIndex(5 + count($jobno));
         $objPHPExcel->getActiveSheet()->mergeCells('G' . $r . ':' . $cc . $r);
         $objPHPExcel->getActiveSheet()->SetCellValue('G' . $r, 'Observed Dimensions');
         $r++;
         $hr = $r;
         //store row number to output headings
         $objPHPExcel->getActiveSheet()->SetCellValue('A' . $hr, 'Baloon No');
         $objPHPExcel->getActiveSheet()->SetCellValue('B' . $hr, 'Zone');
         $objPHPExcel->getActiveSheet()->SetCellValue('C' . $hr, 'Characteristic');
         $objPHPExcel->getActiveSheet()->SetCellValue('D' . $hr, 'Description');
         $objPHPExcel->getActiveSheet()->SetCellValue('E' . $hr, 'Basic Dimension');
         $objPHPExcel->getActiveSheet()->SetCellValue('F' . $hr, 'Tolerance');
         $objPHPExcel->getActiveSheet()->SetCellValue('G' . $hr, 'Instrument');
         $styleArray = array('font' => array('bold' => true, 'color' => array('rgb' => '000080'), 'size' => 12, 'name' => 'Verdana'));
         $objPHPExcel->getActiveSheet()->getStyle('A' . $hr . ':G' . $hr)->applyFromArray($styleArray);
         $r++;
         $rm1 = $r;
         //		var_dump($this->lrows);
         $z = 0;
         $y = 0;
         while ($y < count($this->lrows)) {
             $objPHPExcel->getActiveSheet()->SetCellValue('A' . $r, $this->lrows[$z][0]);
             $objPHPExcel->getActiveSheet()->SetCellValue('B' . $r, $this->lrows[$z][1]);
             $objPHPExcel->getActiveSheet()->SetCellValue('C' . $r, $this->lrows[$z][2]);
             $objPHPExcel->getActiveSheet()->SetCellValue('D' . $r, $this->lrows[$z][3]);
             $objPHPExcel->getActiveSheet()->SetCellValue('E' . $r, $this->lrows[$z][4]);
             $objPHPExcel->getActiveSheet()->SetCellValue('F' . $r, $this->lrows[$z][5]);
             $objPHPExcel->getActiveSheet()->SetCellValue('G' . $r, $this->lrows[$z][6]);
             $styleArray = array('font' => array('bold' => true, 'color' => array('rgb' => '696969'), 'size' => 11, 'name' => 'Verdana'));
             $objPHPExcel->getActiveSheet()->getStyle('A' . $r . ':G' . $r)->applyFromArray($styleArray);
             $r++;
             $y++;
             $z++;
         }
         $cn = 7;
         ///column H
         //var_dump($jobno);
         foreach ($jobno as $key => $value) {
             $q2 = "SELECT Dimn_Observation_ID FROM Dimn_Observation WHERE Batch_ID={$bid} AND Ope_Rev_ID={$this->opedrawingid} AND Job_NO={$value}";
             if (!($r2 = $cxn->query($q2))) {
                 exit("error (generateExcel) {$q2} : {$cxn->error}");
             }
             $ro2 = mysqli_fetch_assoc($r2);
             $qry = "SELECT dimn.Dimension_ID, dimn.Operation_ID,DATE_FORMAT(Insp_Date,'%d/%m/%y') as sdt,Operator_Name,Instrument_SLNO,\n\t\t\tBasic_Dimn, ob.Dimn_Observation_ID, Batch_ID,Baloon_NO,ob.Remarks,\n\t\t\tJob_NO, Observed_Dimn,ob.Comment_ID,Comment FROM Observations as ob\n\t\t\tINNER JOIN Dimn_Observation as do ON do.Dimn_Observation_ID=ob.Dimn_Observation_ID\n\t\t\tLEFT OUTER JOIN Dimn_Comment AS dc ON dc.Comment_ID=ob.Comment_ID \n\t\t\tINNER JOIN Operator as ope ON ope.Operator_ID=do.Operator_ID \n\t\t\tINNER JOIN Instrument as ins ON ins.Instrument_ID=ob.Instrument_ID\n\t\t\tRIGHT OUTER JOIN Dimension as dimn ON dimn.Dimension_ID = ob.Dimension_ID \n\t\t\tAND do.Dimn_Observation_ID={$ro2['Dimn_Observation_ID']} AND do.Job_NO={$value}\n\t\t\tWHERE dimn.Ope_Drawing_ID = {$this->opedrawingid} ORDER BY Baloon_NO ASC";
             //			print("$qry<br>");
             if (!($rest = $cxn->query($qry))) {
                 exit("error (generateExcel 3) {$qry} : {$cxn->error}");
             }
             $x = 0;
             $rm2 = $rm1;
             while ($row = mysqli_fetch_assoc($rest)) {
                 $inst = '';
                 if (strpos($row['Observed_Dimn'], '|')) {
                     $gonogo = explode('|', $row['Observed_Dimn']);
                     $go = ', Go: ' . $gonogo[0] . ', No Go: ' . $gonogo[1];
                 } else {
                     $go = '';
                 }
                 if ($row['Comment'] == '') {
                     $obt = explode('/', $row['Observed_Dimn']);
                     $o = '';
                     $ii = 0;
                     $jj = count($obt);
                     while ($ii < $jj) {
                         $o .= round($obt[$ii] / $this->inch, 4);
                         if (isset($obt[$ii + 1])) {
                             $o .= '/';
                         }
                         $ii++;
                     }
                     if ($o == '0') {
                         $o = '';
                     }
                     if ($row['Instrument_SLNO'] != '') {
                         $inst = ' Instrument: ' . $row['Instrument_SLNO'];
                     }
                     $ob = $o;
                 } else {
                     $ob = $row['Comment'] . $go;
                 }
                 $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($cn, $hr, 'Part No:' . $value);
                 $styleArray = array('font' => array('bold' => true, 'color' => array('rgb' => '00bfff'), 'size' => 12, 'name' => 'Verdana'));
                 $objPHPExcel->getActiveSheet()->getStyleByColumnAndRow($cn, $hr)->applyFromArray($styleArray);
                 $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($cn, $rm2, $ob . $inst . $row['Remarks']);
                 $rm2++;
                 $this->rrows[$z][$x] = $ob . $inst . $row['Remarks'];
                 $this->name[$z] = $row['Operator_Name'];
                 $x += 1;
             }
             $cn++;
         }
         $r++;
     }
     foreach (range('A', $cc) as $columnID) {
         $objPHPExcel->getActiveSheet()->getColumnDimension($columnID)->setAutoSize(true);
     }
     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
     ob_end_clean();
     $fair = $did . '-FAIR.xlsx';
     header('Content-type: application/vnd.ms-excel');
     header("Content-Disposition: attachment; filename={$fair}");
     // Write file to the browser
     $objWriter->save('php://output');
 }
     $pdf->AddPage();
     $pdf->setY(56);
     $r = 1;
 }
 $pdf->SetFont('helvetica', '', 10);
 //body font
 if ($r) {
     $pdf->Cell(20, 8, $k, 0, 0, 'C');
     ///print serial no
 } else {
     $pdf->Cell(20, 8, '', 0, 0, 'C');
     //no serial no
 }
 $part = new Part();
 $part->setPartID($dq_list[$j][0]);
 $part->setPartDetails();
 $pdf->MultiCell(80, 8, $part->getPartName() . " " . $part->getDrawingNO() . ' Rev No: ' . $part->getPartRevision(), 0, 'L', 0, 0, '', '', true, 0, false, true, 8, 'M', true);
 //part name and drawing no
 $pdf->Cell(35, 8, $dq_list[$j][1], 0, 0, 'C');
 //total quantity
 $pdf->Cell(50, 8, $dq_list[$j][2], 0, 1, 'L');
 //remarks for each part
 ///print material receipt details
 if ($cqr_list[$j][0] != '') {
     $t = 0;
     while ($t < $dq_list[$j][1]) {
         $t += $cqr_list[$l][2];
         $pdf->SetFont('helvetica', 'I', 8);
         //body font
         $pma = new PartMaterial();
         $pma->setMIDQID($cqr_list[$l][1]);
Exemple #3
0
        } else {
            $message = $upload->show_errors();
            print "{$message}";
        }
    }
} else {
    if (isset($_POST['save']) && $_POST['save'] == '2') {
        $rou->setValue('batchid', $_POST['Batch_ID']);
        $c = new Part();
        if (isset($_POST['Drawing_ID'])) {
            $did = $_POST['Drawing_ID'];
        } else {
            $did = $_POST['drawing'];
        }
        $c->setValue('partid', $did);
        $c->setPartDetails();
        $rou->setBatchDetails();
        $cname = $c->getValue('partname');
        $partno = $c->getValue('partno');
        $heatcode = $rou->getValue('heatcode');
        $materialcode = $rou->getValue('materialcode');
        $batchdesc = $rou->getValue('batchdesc');
        $bremark = $rou->getValue('bremark');
        $bqty = $rou->getValue('batchqty');
        $dewid = $c->getValue('dewpartid');
        class PDF_SKN extends TCPDF
        {
            // Page header
            function Header()
            {
                $cname = $GLOBALS['cname'];
Exemple #4
0
 function generateLabels($data = array())
 {
     if (isset($data['did']) && $data['did'] != '') {
         $did = $data['did'];
     }
     if (isset($data['bid']) && $data['bid'] != '') {
         $bid = $data['bid'];
         $this->batchid = $bid;
     }
     if (isset($data['sno']) && $data['sno'] != '') {
         $sno = $data['sno'];
     } else {
         $sno = 1;
     }
     //	if(isset($data['eno'])&&$data['eno']!=''){$eno=$data['eno'];}else{$eno=1;}
     $db = Database::getInstance();
     $cxn = $db->getConnection();
     $part = new Part();
     $part->setValue('partid', $did);
     $part->setPartDetails();
     $qz = "SELECT Mfg_Batch_NO FROM Batch_NO WHERE Batch_ID={$bid}";
     if (!($rz = $cxn->query($qz))) {
         exit("error (generateExcel 0)  {$qz} : {$cxn->error}");
     }
     $rez = mysqli_fetch_assoc($rz);
     $mfgbatchno = $rez['Mfg_Batch_NO'];
     $objPHPExcel = new PHPExcel();
     $objPHPExcel->getProperties()->setTitle("Labels");
     ///form 1
     $objPHPExcel->setActiveSheetIndex(0);
     $objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT);
     $objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
     $rh = 20;
     ///row height
     $cw = 33;
     ///column width
     $objPHPExcel->getActiveSheet()->getPageMargins()->setTop(0.5);
     $objPHPExcel->getActiveSheet()->getPageMargins()->setRight(0.5);
     $objPHPExcel->getActiveSheet()->getPageMargins()->setLeft(0.02);
     $objPHPExcel->getActiveSheet()->getPageMargins()->setBottom(0.5);
     $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth($cw);
     $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth($cw);
     $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth($cw);
     $objPHPExcel->getActiveSheet()->setTitle("Form 1");
     $cs = 0;
     $rs = 1;
     $n = 0;
     $jn = $sno;
     while ($n < $this->getBatchQty()) {
         $rs1 = $rs + 1;
         $rs2 = $rs + 2;
         $rs3 = $rs + 3;
         $objPHPExcel->getActiveSheet()->getRowDimension($rs)->setRowHeight($rh);
         $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('0', $rs, $part->getValue('partname'));
         $objPHPExcel->getActiveSheet()->getRowDimension($rs1)->setRowHeight($rh);
         $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('0', $rs1, 'DEW ID: ' . $part->getValue('dewpartid'));
         $objPHPExcel->getActiveSheet()->getRowDimension($rs2)->setRowHeight($rh);
         $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('0', $rs2, 'Batch: ' . $mfgbatchno);
         $objPHPExcel->getActiveSheet()->getRowDimension($rs3)->setRowHeight($rh);
         $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('0', $rs3, 'Job Serial No:' . $jn);
         $n++;
         $jn++;
         $objPHPExcel->getActiveSheet()->getRowDimension($rs)->setRowHeight($rh);
         $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('1', $rs, $part->getValue('partname'));
         $objPHPExcel->getActiveSheet()->getRowDimension($rs1)->setRowHeight($rh);
         $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('1', $rs1, 'DEW PART ID: ' . $part->getValue('dewpartid'));
         $objPHPExcel->getActiveSheet()->getRowDimension($rs2)->setRowHeight($rh);
         $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('1', $rs2, 'Batch No:' . $mfgbatchno);
         $objPHPExcel->getActiveSheet()->getRowDimension($rs3)->setRowHeight($rh);
         $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('1', $rs3, 'Job Serial No:' . $jn);
         $n++;
         $jn++;
         $objPHPExcel->getActiveSheet()->getRowDimension($rs)->setRowHeight($rh);
         $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('2', $rs, $part->getValue('partname'));
         $objPHPExcel->getActiveSheet()->getRowDimension($rs1)->setRowHeight($rh);
         $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('2', $rs1, 'DEW PART ID: ' . $part->getValue('dewpartid'));
         $objPHPExcel->getActiveSheet()->getRowDimension($rs2)->setRowHeight($rh);
         $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('2', $rs2, 'Batch No:' . $mfgbatchno);
         $objPHPExcel->getActiveSheet()->getRowDimension($rs3)->setRowHeight($rh);
         $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('2', $rs3, 'Job Serial No:' . $jn);
         $n++;
         $jn++;
         $rs += 5;
     }
     //	foreach(range('A1','B1') as $columnID)
     //	{
     //	    $objPHPExcel->getActiveSheet()->getColumnDimension($columnID)->setAutoSize(true);
     //	}
     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
     ob_end_clean();
     $fair = $did . '-labels.xlsx';
     header('Content-type: application/vnd.ms-excel');
     header("Content-Disposition: attachment; filename={$fair}");
     // Write file to the browser
     $objWriter->save('php://output');
 }
Exemple #5
0
    function showToolList($div = null)
    {
        $db = Database::getInstance();
        $cxn = $db->getConnection();
        if ($this->opedrawingid != '') {
            $qp = "SELECT comp.Drawing_ID FROM Component as comp inner join Operation as op on op.Drawing_ID=comp.Drawing_ID\n\t\tinner join Ope_Drawing as od on od.Link_ID=op.Operation_ID WHERE Ope_Drawing_ID={$this->opedrawingid}";
            if (!($resp = $cxn->query($qp))) {
                exit("error (showToolList) {$qp} : {$cxn->error}");
            }
            $rp = mysqli_fetch_assoc($resp);
            $drawingid = $rp['Drawing_ID'];
            if ($div != null) {
                $class = '"tl"';
            } else {
                $class = '"tt"';
            }
            $query = 'SELECT Ope_Tool_ID,Ope_Tool_OH,Ope_Tool_Desc,Tool_ID_1,Ope_Tool_Life,Cutting_Mins,Image_Path,Operator_Name,DATE_FORMAT(App_Date_Time,"%d-%m-%Y") as apd,App_Remarks,
		(SELECT CONCAT(Tool_Desc," ( ",Mfg_Part_NO," )") FROM Tool WHERE Tool_ID=ot.Tool_ID_1) as td1, 
		(SELECT CONCAT(Tool_Desc," ( ",Mfg_Part_NO," )") FROM Tool WHERE Tool_ID=ot.Tool_ID_2)as td2, 
		(SELECT CONCAT(Mfg_Part_NO," ",Tool_Desc) FROM ToolBody WHERE ToolBody_ID=ot.ToolBody_ID_1) as i1,
		(SELECT CONCAT(Mfg_Part_NO," ",Tool_Desc) FROM ToolBody WHERE ToolBody_ID=ot.ToolBody_ID_2) as i2,
		(SELECT Brand_Description FROM Tool_Brand as tb INNER JOIN Tool as t1 ON t1.Brand_ID=tb.Brand_ID WHERE t1.Tool_ID=ot.Tool_ID_1) as tb1,
		(SELECT Brand_Description FROM Tool_Brand as tb2 INNER JOIN Tool as t2 ON t2.Brand_ID=tb2.Brand_ID WHERE t2.Tool_ID=ot.Tool_ID_2) as tb2, 
		(SELECT Holder_Description FROM Holder as h1 WHERE Holder_ID=ot.Holder_ID_1) as hd1,
		(SELECT Holder_Description FROM Holder as h2 WHERE Holder_ID=ot.Holder_ID_2) as hd2
		FROM Ope_Tool AS ot 
		LEFT OUTER JOIN Ope_Tool_Image as oti ON oti.Link_ID=ot.Ope_Tool_ID
		 INNER JOIN Ope_Tool_Approval as ota ON ota.Ope_Drawing_ID=ot.Ope_Drawing_ID 
		 INNER JOIN Operator as ope on ope.Operator_ID=ota.Approved_BY WHERE ot.Ope_Drawing_ID=' . $this->opedrawingid . ' AND Deleted=0';
            if ($div != null) {
                $query .= ' AND ota.Approved_BY!=0';
            }
            //				print($q);
            if (!($res = $cxn->query($query))) {
                exit("error (showToolList) {$query}: {$cxn->error}");
            } else {
                if ($res->num_rows > 0) {
                    echo '<h2>Tool List</h2>Record Format Ref DEW-WI-T-02, Rev: Nil,Issue Date 01-12-2015';
                    echo '<p class="gr">WI No: DEW-WI-T-' . $drawingid . '-' . $this->opedrawingid;
                    $p = new Part();
                    $p->setValue('partid', $drawingid);
                    $p->setPartDetails();
                    $dewid = $p->getValue('dewpartid');
                    print "<p>DEW ID: {$dewid}</p>";
                    print "<p>Tools Aded To this Operation</p>";
                    print "<table class={$class}>";
                    print "<tr>";
                    if ($div != null) {
                        print "<th>Details</th>";
                    }
                    print "<th>Preferred Tool and Insert</th><th>Alternate Tool and Insert</th><th>Description</th><th>Preffered Holder</th>\n\t\t\t\t\t\t\t\t<th>Alternate Holder</th><th>Tool Overhang</th><th>Cutting Mins</th><th>Tool Life</th><th>Tool Images</th></tr>";
                    $i = 0;
                    while ($row = mysqli_fetch_assoc($res)) {
                        $appby = 'Approved By : ' . $row['Operator_Name'] . ' On ' . $row['apd'] . ', Remarks:' . $row['App_Remarks'];
                        if ($row['Image_Path'] != '') {
                            $otpath = 'opetoolimages/' . $row['Image_Path'];
                            $img = '<a href="' . $otpath . '" target=\\"_NEW\\">Tool Image</a>';
                        } else {
                            $img = '';
                        }
                        if ($row['Ope_Tool_Life'] != 0) {
                            $tl = $row['Ope_Tool_Life'];
                        } else {
                            $tl = '';
                        }
                        if ($row['td2'] != '') {
                            $t2 = '<font color=\\"green\\">' . $row['tb2'] . ' Make ' . $row['td2'] . ' ' . $row['i2'] . '</font>';
                        } else {
                            $t2 = '';
                        }
                        print "<tr>";
                        if ($div != null) {
                            print "<td><input type=\"radio\" name=\"tinfo\" class=\"tinfo\" id=\"tinfo[{$i}]\" value=\"{$row['Tool_ID_1']}\"></input></td>";
                        }
                        print "<td>{$row['tb1']} Make {$row['td1']} {$row['i1']}</td><td>{$t2}</td><td>{$row['Ope_Tool_Desc']}</td>\n\t\t\t\t\t\t<td>{$row['hd1']}</td><td>{$row['hd2']}</td><td>{$row['Ope_Tool_OH']} mm</td><td>{$row['Cutting_Mins']}</td><td>{$row['Ope_Tool_Life']}</td>";
                        if ($div != null) {
                            print "<td>{$img}</td></tr><tr><tr><td colspan=\"12\"><div id=\"{$i}\"></div></td></tr>";
                        } else {
                            print "</tr>";
                        }
                        $i++;
                    }
                    print "</table>";
                    echo '<p>' . $appby . '<p/>';
                } else {
                    print "No Tools Added for this Operation Or Tool List is Not Approved";
                }
            }
        }
    }