|
@@ -3793,6 +3793,92 @@ class StatisticsController extends Controller
|
3793
|
3793
|
$filename = 'xiaoshouyuebao_'.date('Y-m-d_H').'.xlsx';
|
3794
|
3794
|
return Order::export_excel($result, $filename, $indexKey, $title);
|
3795
|
3795
|
}
|
|
3796
|
+
|
|
3797
|
+ /**
|
|
3798
|
+ * 仓库发货财务报表
|
|
3799
|
+ */
|
|
3800
|
+ public function warehouseFinanceList(Request $request){
|
|
3801
|
+ $warehouse = (int)$request->input('warehouse');
|
|
3802
|
+ $stime = $request->input('stime');
|
|
3803
|
+ $etime = $request->input('etime');
|
|
3804
|
+ $page = (int)$request->input('page');
|
|
3805
|
+ $pageSize = 20;
|
|
3806
|
+ if($page<=0){
|
|
3807
|
+ $page = 1;
|
|
3808
|
+ }
|
|
3809
|
+ $offset = ($page-1) * $pageSize;
|
|
3810
|
+
|
|
3811
|
+ $count =Order::select('warehouse')->where(function($query) use($stime, $etime, $warehouse){
|
|
3812
|
+ if($stime) $query->where('send_time', '>=', $stime);
|
|
3813
|
+ if($etime) $query->where('send_time', '<=', $etime);
|
|
3814
|
+ if($warehouse>0) $query->where('warehouse', '=', $warehouse);
|
|
3815
|
+ })->whereNotNull('send_time')->where('logistics_id','>','')->where('is_del', 0)->groupBy('warehouse')->groupBy('send_time')->get();
|
|
3816
|
+ $count = count($count);
|
|
3817
|
+ if ($count > 1) {
|
|
3818
|
+ // 总页数
|
|
3819
|
+ $pages = ceil($count/$pageSize);
|
|
3820
|
+ }else{
|
|
3821
|
+ // 总页数
|
|
3822
|
+ $pages = 1;
|
|
3823
|
+ }
|
|
3824
|
+
|
|
3825
|
+
|
|
3826
|
+ $result = Order::select(DB::raw('send_time,warehouse,sum(cost) as goods_cost, sum(freight_cost) as freight_cost, count(1) as order_count'))->where(function($query) use($stime, $etime, $warehouse){
|
|
3827
|
+ if($stime) $query->where('send_time', '>=', $stime);
|
|
3828
|
+ if($etime) $query->where('send_time', '<=', $etime);
|
|
3829
|
+ if($warehouse>0) $query->where('warehouse', '=', $warehouse);
|
|
3830
|
+ })->whereNotNull('send_time')->where('logistics_id','>','')->where('is_del', 0)->groupBy('warehouse')->groupBy('send_time')->orderBy('send_time', 'desc')->offset($offset)->limit($pageSize)->get();
|
|
3831
|
+
|
|
3832
|
+ $wareArr = array(
|
|
3833
|
+ 0 => '其他',
|
|
3834
|
+ 1 => 'A仓',
|
|
3835
|
+ 2 => 'B仓',
|
|
3836
|
+ 3 => 'C仓',
|
|
3837
|
+ );
|
|
3838
|
+ foreach($result as $k=>&$item){
|
|
3839
|
+ $item->warehouse = $wareArr[$item->warehouse];
|
|
3840
|
+ }
|
|
3841
|
+
|
|
3842
|
+ return view('statistics/warehouseFinanceList', ['result'=>$result,
|
|
3843
|
+ 'page' =>$page,
|
|
3844
|
+ 'count' =>$count,
|
|
3845
|
+ 'pages' =>$pages,
|
|
3846
|
+ 'warehouse' =>$warehouse,
|
|
3847
|
+ 'stime' =>$stime,
|
|
3848
|
+ 'etime' =>$etime,
|
|
3849
|
+ ]);
|
|
3850
|
+
|
|
3851
|
+ }
|
|
3852
|
+ /**
|
|
3853
|
+ * 仓库发货财务报表导出
|
|
3854
|
+ */
|
|
3855
|
+ public function warehouseFinanceList_export(Request $request){
|
|
3856
|
+ $warehouse = (int)$request->input('warehouse');
|
|
3857
|
+ $stime = $request->input('stime');
|
|
3858
|
+ $etime = $request->input('etime');
|
|
3859
|
+
|
|
3860
|
+ $result = Order::select(DB::raw('send_time,warehouse,sum(cost) as goods_cost, sum(freight_cost) as freight_cost, count(1) as order_count'))->where(function($query) use($stime, $etime, $warehouse){
|
|
3861
|
+ if($stime) $query->where('send_time', '>=', $stime);
|
|
3862
|
+ if($etime) $query->where('send_time', '<=', $etime);
|
|
3863
|
+ if($warehouse>0) $query->where('warehouse', '=', $warehouse);
|
|
3864
|
+ })->whereNotNull('send_time')->where('logistics_id','>','')->where('is_del', 0)->groupBy('warehouse')->groupBy('send_time')->orderBy('send_time', 'desc')->get();
|
|
3865
|
+
|
|
3866
|
+ $wareArr = array(
|
|
3867
|
+ 0 => '其他',
|
|
3868
|
+ 1 => 'A仓',
|
|
3869
|
+ 2 => 'B仓',
|
|
3870
|
+ 3 => 'C仓',
|
|
3871
|
+ );
|
|
3872
|
+ foreach($result as $k=>&$item){
|
|
3873
|
+ $item->warehouse = $wareArr[$item->warehouse];
|
|
3874
|
+ }
|
|
3875
|
+
|
|
3876
|
+ $indexKey = ['send_time','warehouse','order_count','goods_cost','freight_cost'];
|
|
3877
|
+ $title = ['日期', '仓库', '单数', '货品成本', '物流成本'];
|
|
3878
|
+
|
|
3879
|
+ $filename = 'cangkufahuo_'.date('Y-m-d_H').'.xlsx';
|
|
3880
|
+ return Order::export_excel($result, $filename, $indexKey, $title);
|
|
3881
|
+ }
|
3796
|
3882
|
|
3797
|
3883
|
}
|
3798
|
3884
|
|