Example #1
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     factory(Maker::class, 3)->create();
     factory(Buyer::class, 3)->create();
     factory(Commodity::class, 5)->create();
     factory(Goods::class, 5)->create();
     $goods = Goods::all()->random(2);
     $exJoinings = [];
     $inJoinings = [];
     foreach ($goods->keys() as $key) {
         $exJoinings[$key] = $this->randJoiningsFoxExternalOrder();
         $inJoinings[$key] = $this->randJoiningsForInternalOrder();
     }
     $externalOrder = new ExternalOrder();
     $externalOrder->contract_no = '15EL1166';
     $externalOrder->sign_date = Carbon::now();
     $externalOrder->buyer()->associate(Buyer::all()->random());
     $externalOrder->save();
     $externalOrder->goods()->saveMany($goods->all(), $exJoinings);
     $internalOrder = new InternalOrder();
     $internalOrder->externalOrder()->associate($externalOrder);
     $internalOrder->maker()->associate(Maker::all()->random());
     $internalOrder->save();
     $internalOrder->goods()->saveMany($goods->all(), $inJoinings);
 }
 public function export($id)
 {
     $importExcel = storage_path("excel/import/contract.xls");
     if (!file_exists($importExcel)) {
         exit("Contract template file is not exist.\n");
     }
     $objPHPExcel = \PHPExcel_IOFactory::load($importExcel);
     $order = ExternalOrder::find($id);
     $goods = $order->goods;
     $sheet = $objPHPExcel->getActiveSheet();
     // the second goods start from line 16 in every contract.
     $sheet->insertNewRowBefore(16, $goods->count() - 1);
     // set cell value
     for ($i = 0; $i < $goods->count(); $i++) {
         $row = $i + 15;
         $g = $goods->get($i);
         $sheet->setCellValue('A' . $row, $g->commodity->name);
         $sheet->setCellValue('B' . $row, $g->specification);
         $sheet->setCellValue('F' . $row, $g->pivot->quantity);
         $sheet->setCellValue('G' . $row, $g->pivot->unit_price);
         $sheet->setCellValue('I' . $row, '=F' . $row . '*G' . $row);
     }
     $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
     $exportExcel = storage_path('excel/export/15EL1166.xls');
     $objWriter->save($exportExcel);
     return response()->download($exportExcel);
 }