Esempio n. 1
0
	public function anyExportPdf(){
		$id_template = 2;
		$arr_print = 	[
				'arr_list' =>	[
						'arr_key' => 	[
								'sku',
								'name',
								'company_name',
								'oum_name',
								'specification',
								'ton_kho',
								'origin_price',
								'invest'
								],
						'arr_head' => 	[
								['text'=>'Mã','class'=>''],
								['text'=>'Tên sản phẩm','class'=>''],
								['text'=>'Nhà cung cấp','class'=>''],
								['text'=>'Đơn vị','class'=>''],
								['text'=>'Quy cách','class'=>''],
								['text'=>'Tồn kho','class'=>''],
								['text'=>'Giá gốc','class'=>'money'],
								['text'=>'Vốn lưu','class'=>'money']
								],
						'arr_body'=>[],
						'arr_sum'=>[]
						],
				'arr_data'=>	[

						]
				];	
		if (\Cache::has('list_product'.\Auth::user()->id)){
			$arr_cache = \Cache::get('list_product'.\Auth::user()->id);
			$sum_invest = 0;
			foreach ($arr_cache as $key => $value) {
				$sum_invest += $value['origin_price']*$value['in_stock'];
				$arr_cache[$key]['ton_kho'] = floor($value['in_stock'] / $value['specification']).' '.$value['oum_name'];
				$arr_cache[$key]['invest'] = $value['origin_price']*$value['in_stock'];
				if($value['in_stock']%$value['specification'] && $value['specification']!=1){
					$sodu = $value['in_stock']%$value['specification'];
					$arr_cache[$key]['ton_kho'] .= ' + '.$sodu.' '.'cái';
				}
			}
			$arr_print['arr_list']['arr_sum'][] = [
				['value'=>'Tổng vốn lưu:','colspan'=>'7'],
				['value'=>$sum_invest]
			];
			$arr_print['arr_list']['arr_body'] = $arr_cache;
			$link = ExportsController::getCreatePrintPdf($arr_print,$id_template,'danh_sach_san_pham','landscape');
			return redirect($link);
		}
		die;
	}
	public function anyExportPdfList(){
		$id_template = 10;
		$arr_print = 	[
				'arr_list' =>	[
						'arr_key' => 	[
								'id',
								'company_name',
								'date',
								'status',
								'sum_amount'
								],
						'arr_head' => 	[
								['text'=>'Mã HĐ','class'=>''],
								['text'=>'Nhà cung cấp','class'=>''],
								['text'=>'Ngày trả hàng','class'=>''],
								['text'=>'Tình trạng','class'=>''],
								['text'=>'Tổng tiền','class'=>'money']
								],
						'arr_body'=>[],
						'arr_sum'=>[]
						],
				'arr_data'=>	[

						]
				];	
		if (\Cache::has('list_returnpurchaseorder'.\Auth::user()->id)){
			$arr_cache = \Cache::get('list_returnpurchaseorder'.\Auth::user()->id);
			$total_sum_amount = 0;
			foreach ($arr_cache as $key => $value) {
				$total_sum_amount += $value['sum_amount'];
				
				if($value['status']){
					$arr_cache[$key]['status'] = 'Hoàn thành';
				}else{
					$arr_cache[$key]['status'] = 'Mới';
				}
			}
			$arr_print['arr_list']['arr_sum'][] = [
				['value'=>'Tổng cộng:','colspan'=>'4'],
				['value'=>$total_sum_amount],
			];
			$arr_print['arr_list']['arr_body'] = $arr_cache;
			$link = ExportsController::getCreatePrintPdf($arr_print,$id_template,'danh_sach_tra_hang_ncc','potrait');
			return redirect($link);
		}
		die;
	}
	public function anyExportExcel(){
		$id_template = 5;
		$arr_print = 	[
				'arr_list' =>	[
						'arr_key' => 	[
								'sku',
								'name',
								'oum_name',
								'specification',
								'quantity',
								'sell_price',
								'amount'
								],
						'arr_head' => 	[
								['text'=>'STT','class'=>''],
								['text'=>'Mã','class'=>''],
								['text'=>'Tên sản phẩm','class'=>''],
								['text'=>'Đơn vị','class'=>'center'],
								['text'=>'Quy cách','class'=>'center'],
								['text'=>'Số lượng','class'=>'center'],
								['text'=>'Đơn giá','class'=>'money'],
								['text'=>'Thành tiền','class'=>'money']
								],
						'arr_body'=>[],
						'arr_sum'=>[]
						],
				'arr_data'=>	[
							'id'=>session('current_saleorder')
						]
				];	
		if (\Cache::has('list_product_so'.\Auth::user()->id)){
			$so = Saleorder::select('saleorders.*','companies.name')
							->where('saleorders.id','=',session('current_saleorder'))
							->leftJoin('companies','companies.id','=','saleorders.company_id')->get()->first();
			$month = intval(date('m',strtotime($so->date)));
			$year = intval(date('Y',strtotime($so->date)));
			$begin = date('Y-m-d H:i:s',strtotime('1'.'-'.$month.'-'.$year));
			$end = $so->date;
			$list_order = array();
			$key_order = 1;
			$arr_print['arr_data']['date'] = date('d-m-Y',strtotime($so->date));
			$arr_print['arr_data']['company_name'] = $so->name;
			$arr_print['arr_data']['phone'] = $so->company_phone;
			$arr_print['arr_data']['address'] = '';
			$arr_dress = Address::select('addresses.*','provinces.name as province_name')
						->where('addresses.id','=',$so->address_id)
						->leftJoin('provinces','provinces.id','=','addresses.province_id')
						->get()->first();
			$arr_print['arr_data']['address'] .= $arr_dress->address?$arr_dress->address.', ':'';
			$arr_print['arr_data']['address'] .= $arr_dress->town_city?$arr_dress->town_city.', ':'';
			$arr_print['arr_data']['address'] .= $arr_dress->province_name?$arr_dress->province_name:'';

			$receipt_month_prev = ReceiptMonth::where('type_receipt','=','customer')
								->where('company_id','=',$so->company_id)
								->where(function($query) use ($month,$year){
									$query->where(function($query2) use ($month,$year){
										$query2->where('month','<',$month)
											->where('year','=',$year);
									})->orWhere(function($query2) use ($month,$year){
										$query2->where('year','<',$year);
									});
								})
								->orderBy('year','desc')
								->orderBy('month','desc')
								->limit(1);
			$receipt_month_prev = $receipt_month_prev->first();
			if($receipt_month_prev){
				$arr_print['arr_data']['no_cu'] = $receipt_month_prev->con_lai;
			}else{
				$arr_print['arr_data']['no_cu'] = 0;
			}

			$list_po = Saleorder::where('date','>=',$begin)
					->where('date','<',$end)
					->where('status','=',1)
					->where('company_id','=',$so->company_id)
					->get()->toArray();
			foreach ($list_po as $key => $value) {
				$list_order[$key_order]['id'] = $value['id'];
				$list_order[$key_order]['date'] =  $value['date'];
				$list_order[$key_order]['sum_amount'] =  $value['sum_amount'];
				$key_order++;
			}
			$list_so = ReturnSaleorder::where('date','>=',$begin)
					->where('date','<',$end)
					->where('status','=',1)
					->where('company_id','=',$so->company_id)
					->get()->toArray();

			foreach ($list_so as $key => $value) {
				$list_order[$key_order]['id'] = $value['id'];
				$list_order[$key_order]['date'] =  $value['date'];
				$list_order[$key_order]['sum_amount'] =  -$value['sum_amount'];
				$key_order++;
			}

			$list_paid = Paid::where('date','>=',$begin)
						->where('date','<',$end)
						->where('company_id','=',$so->company_id)
						->where('type_paid','=','customer')
						->get()->toArray();
			
			foreach ($list_paid as $key => $value) {
				$list_order[$key_order]['id'] = $value['id'];
				$list_order[$key_order]['date'] =  $value['date'];
				$list_order[$key_order]['sum_amount'] =  -$value['sum_paid'];
				$key_order++;
			}

			$date = array();
			foreach ($list_order as $key => $value) {
				$date[$key] = $value['date'];
			}
			array_multisort($date,SORT_ASC,$list_order);
			foreach ($list_order as $key => $value) {
				$arr_print['arr_data']['no_cu']+=$value['sum_amount'];
			}

			$arr_cache = \Cache::get('list_product_so'.\Auth::user()->id);
			$sum_amount = 0;
			$arr_check_idproduct = array();
			$arr_check_mproduct = array();

			foreach ($arr_cache as $key => $value) {
				if(!in_array($value['product_id'],$arr_check_idproduct)){
					$arr_check_idproduct[] = $value['product_id'];
					$arr_check_mproduct[$value['product_id']][]=$value;
					$arr_cache_tmp[$value['product_id']]=$value;
				}else{
					foreach ($arr_check_mproduct[$value['product_id']] as $key2 => $m_product) {
						if($value['oum_id']==$m_product['oum_id'] && $value['specification']==$m_product['specification'] && $value['sell_price']==$m_product['sell_price']){
							$arr_check_mproduct[$value['product_id']][$key2]['quantity']+= $value['quantity'];
							$arr_check_mproduct[$value['product_id']][$key2]['amount']+= $value['amount'];
						}else{
							$arr_check_mproduct[$value['product_id']][]=$value;
						}
					}
				}
			}
			$arr_cache = array();
			foreach ($arr_check_mproduct as $key => $value) {
				foreach ($value as $key2 => $value2) {
					$arr_cache[] = $value2;
				}
			}
			$index=2;
			foreach ($arr_cache as $key => $value) {
				$sum_amount += $value['sell_price']*$value['quantity']*$value['specification'];
				$arr_cache[$key]['amount'] = '=E'.$index.'*F'.$index."*G".$index;
				$index++;
			}
			$arr_print['arr_data']['toa_moi'] = $sum_amount;
			if($so->status==0){
				$arr_print['arr_data']['no_cu'] = 0;
			}
			$arr_print['arr_data']['tong_cong'] = $arr_print['arr_data']['no_cu'] + $arr_print['arr_data']['toa_moi'];

			$arr_print['arr_data']['no_cu'] = number_format($arr_print['arr_data']['no_cu']);
			$arr_print['arr_data']['toa_moi'] = number_format($arr_print['arr_data']['toa_moi']);
			$arr_print['arr_data']['tong_cong'] = number_format($arr_print['arr_data']['tong_cong']);
			$arr_print['arr_list']['arr_sum'][] = [
				['value'=>'Tổng cộng:','colspan'=>'6'],
				['value'=>$sum_amount]
			];
			$arr_print['arr_list']['arr_body'] = $arr_cache;

			$link = ExportsController::getCreatePrintExcel($arr_print,$id_template,'don_hang_so_'.$so->id);

			Log::create_log(\Auth::user()->id,'App\Saleorder','In đơn hàng số '.session('current_saleorder'));
			return redirect($link);
		}
		die;
	}
Esempio n. 4
0
	public function anyExportPdfDistributeYear(){
		$id_template = 24;
		$arr_print = 	[
				'arr_list' =>	[
						'arr_key' => 	[
								'name',
								'sum_invest',
								'sum_amount',
								'khoang_giam',
								'lai',
								'ty_le_lai',
								'loi_nhuan'
								],
						'arr_head' => 	[
								['text'=>'Công ty','class'=>''],
								['text'=>'Giá vốn','class'=>'money'],
								['text'=>'Doanh thu','class'=>'money'],
								['text'=>'Khoảng giảm','class'=>'money'],
								['text'=>'Lãi','class'=>'money'],
								['text'=>'Tỷ lệ lãi','class'=>'right strong'],
								['text'=>'Lợi nhuận','class'=>'money']
								],
						'arr_body'=>[],
						'arr_sum'=>[]
						],
				'arr_data'=>	[

						]
				];	
		if (\Cache::has('list_revenue_distribute_year'.\Auth::user()->id)){
			$arr_cache = \Cache::get('list_revenue_distribute_year'.\Auth::user()->id);
			$list_order = $arr_cache['list_order'];

			$arr_print['arr_data']['year'] = $arr_cache['year'];

			$total_sum_amount = 0;
			$total_sum_invest = 0;
			$total_khoang_giam = 0;
			$total_lai = 0;
			$total_loi_nhuan = 0;
			foreach ($list_order as $key => $value) {
				$list_order[$key]['date'] = date('d-m-Y',strtotime($value['date']));
				$list_order[$key]['ty_le_lai'] = number_format(($value['lai']/$value['sum_invest'])*100,2).'%';
				$total_sum_invest += $value['sum_invest'];
				$total_sum_amount += $value['sum_amount'];
				$total_lai += $value['lai'];
				$total_loi_nhuan += $value['loi_nhuan'];
				$total_khoang_giam +=  $value['khoang_giam'];
			}
			$arr_print['arr_list']['arr_sum'][] = [
				['value'=>'Tổng:','colspan'=>'1'],
				['value'=>$total_sum_invest],
				['value'=>$total_sum_amount],
				['value'=>$total_khoang_giam],
				['value'=>$total_lai],
				['value'=>'','class'=>'center'],
				['value'=>$total_loi_nhuan]
			];
			$arr_print['arr_list']['arr_sum'][] = [
				['value'=>'Chi khác:','colspan'=>'6'],
				['value'=>-$arr_cache['chi_khac']]
			];
			$arr_print['arr_list']['arr_sum'][] = [
				['value'=>'Lãi thực:','colspan'=>'6'],
				['value'=>$total_loi_nhuan - $arr_cache['chi_khac']]
			];
			$arr_print['arr_list']['arr_body'] = $list_order;
			$link = ExportsController::getCreatePrintPdf($arr_print,$id_template,'doanh_so_nha_cung_cap_nam_'.$arr_cache['year'],'potrait');
			return redirect($link);
		}
		die;
	}
Esempio n. 5
0
	public function anyExportPdfCustomerYear(){
		$id_template = 14;
		$arr_print = 	[
				'arr_list' =>	[
						'arr_key' => 	[
								'company_name',
								'sum_amount',
								'paid',
								'no_cu',
								'con_lai'
								],
						'arr_head' => 	[
								['text'=>'Nhà cung cấp','class'=>''],
								['text'=>'Tổng tiền toa','class'=>'money'],
								['text'=>'Tiền thanh toán','class'=>'money'],
								['text'=>'Nợ cũ','class'=>'money'],
								['text'=>'Còn lại','class'=>'money']
								],
						'arr_body'=>[],
						'arr_sum'=>[]
						],
				'arr_data'=>	[

						]
				];	
		if (\Cache::has('list_receipt_customer_year'.\Auth::user()->id)){
			$arr_cache = \Cache::get('list_receipt_customer_year'.\Auth::user()->id);
			$list_order = $arr_cache['list_order'];
			$arr_print['arr_data']['year'] = $arr_cache['year'];
			$total_sum_amount = 0;
			$total_sum_paid = 0;
			$total_con_lai = 0;
			foreach ($list_order as $key => $value) {
				$total_sum_amount += $value['sum_amount'];
				$total_sum_paid += $value['paid'];
				$total_con_lai += $value['con_lai'];
			}
			$arr_print['arr_list']['arr_sum'][] = [
				['value'=>'Tổng:','colspan'=>'1'],
				['value'=>$total_sum_amount],
				['value'=>$total_sum_paid],
				['value'=>'','class'=>'center'],
				['value'=>$total_con_lai]
			];
			$arr_print['arr_list']['arr_body'] = $list_order;
			$link = ExportsController::getCreatePrintPdf($arr_print,$id_template,'cong_no_khach_hang_nam_'.$arr_cache['year'],'potrait');
			return redirect($link);
		}
		die;
	}