|
@@ -1651,6 +1651,169 @@ class StatisticsController extends Controller
|
1651
|
1651
|
$filename = 'district_roi_'.date('Y-m-d_H').'.xlsx';
|
1652
|
1652
|
return Order::export_excel($result, $filename, $indexKey, $title);
|
1653
|
1653
|
}
|
|
1654
|
+
|
|
1655
|
+
|
|
1656
|
+ /**
|
|
1657
|
+ * 团队订单财务明细
|
|
1658
|
+ */
|
|
1659
|
+ public function teamFinanceList(Request $request){
|
|
1660
|
+ $team_id = (int)$request->input('team_id');
|
|
1661
|
+ $stime = $request->input('stime');
|
|
1662
|
+ $etime = $request->input('etime');
|
|
1663
|
+ $page = (int)$request->input('page');
|
|
1664
|
+ $pageSize = 20;
|
|
1665
|
+ if($page<=0){
|
|
1666
|
+ $page = 1;
|
|
1667
|
+ }
|
|
1668
|
+ $offset = ($page-1) * $pageSize;
|
|
1669
|
+
|
|
1670
|
+ $count = Order::where(function($query) use($team_id, $stime, $etime){
|
|
1671
|
+ if($team_id) $query->where('team_id', $team_id);
|
|
1672
|
+ if($stime) $query->where('createTime', '>=', $stime);
|
|
1673
|
+ if($etime) $query->where('createTime', '<=', $etime. ' 23:59:59');
|
|
1674
|
+ })->where('is_del', 0)->count();
|
|
1675
|
+ if ($count > 1) {
|
|
1676
|
+ // 总页数
|
|
1677
|
+ $pages = ceil($count/$pageSize);
|
|
1678
|
+ }else{
|
|
1679
|
+ // 总页数
|
|
1680
|
+ $pages = 1;
|
|
1681
|
+ }
|
|
1682
|
+
|
|
1683
|
+ $teams = DB::table('teams')->lists('name', 'id');
|
|
1684
|
+ $result = Order::select('team_id', 'createTime', 'id', 'receivedAmount', 'aftersale_fee', 'refund_price', 'cost', 'freight_cost')->where(function($query) use($team_id, $stime, $etime){
|
|
1685
|
+ if($team_id) $query->where('team_id', $team_id);
|
|
1686
|
+ if($stime) $query->where('createTime', '>=', $stime);
|
|
1687
|
+ if($etime) $query->where('createTime', '<=', $etime. ' 23:59:59');
|
|
1688
|
+ })->where('is_del', 0)->orderBy('team_id', 'asc')->orderBy('createTime','desc')->offset($offset)->limit($pageSize)->get();
|
|
1689
|
+ $result = json_decode(json_encode($result), true);
|
|
1690
|
+ foreach($result as $k=>&$v){
|
|
1691
|
+ $v['team_name'] = $v['team_id']>0 ? $teams[$v['team_id']] : '';;
|
|
1692
|
+ $v['true_amount'] = $v['receivedAmount'] - $v['refund_price'] - $v['aftersale_fee'];
|
|
1693
|
+ }
|
|
1694
|
+
|
|
1695
|
+ $teamList = DB::table('teams')->select('id', 'name')->get();
|
|
1696
|
+ $teamList = json_decode(json_encode($teamList), true);
|
|
1697
|
+
|
|
1698
|
+ return view('/statistics/teamFinanceList',[
|
|
1699
|
+ 'result' => $result,
|
|
1700
|
+ 'team_id' => $team_id,
|
|
1701
|
+ 'stime' => $stime,
|
|
1702
|
+ 'etime' => $etime,
|
|
1703
|
+ 'page' => $page,
|
|
1704
|
+ 'count' => $count,
|
|
1705
|
+ 'pages' => $pages,
|
|
1706
|
+ 'teamlist' => $teamList,
|
|
1707
|
+ ]);
|
|
1708
|
+ }
|
|
1709
|
+
|
|
1710
|
+ /**
|
|
1711
|
+ * 团队订单财务汇总列表
|
|
1712
|
+ */
|
|
1713
|
+ public function teamFinanceTotal(Request $request){
|
|
1714
|
+ $team_id = (int)$request->input('team_id');
|
|
1715
|
+ $stime = $request->input('stime');
|
|
1716
|
+ $etime = $request->input('etime');
|
|
1717
|
+ $page = (int)$request->input('page');
|
|
1718
|
+ $pageSize = 20;
|
|
1719
|
+ if($page<=0){
|
|
1720
|
+ $page = 1;
|
|
1721
|
+ }
|
|
1722
|
+ $offset = ($page-1) * $pageSize;
|
|
1723
|
+
|
|
1724
|
+ $count = Order::select(DB::raw('left(createTime, 10) as ctime, team_id'))->where(function($query) use($team_id, $stime, $etime){
|
|
1725
|
+ if($team_id) $query->where('team_id', $team_id);
|
|
1726
|
+ if($stime) $query->where('createTime', '>=', $stime);
|
|
1727
|
+ if($etime) $query->where('createTime', '<=', $etime.' 23:59:59');
|
|
1728
|
+ })->where('is_del', 0)->groupBy('team_id')->groupBy('ctime')->get();
|
|
1729
|
+ $count = count($count);
|
|
1730
|
+ if ($count > 1) {
|
|
1731
|
+ // 总页数
|
|
1732
|
+ $pages = ceil($count/$pageSize);
|
|
1733
|
+ }else{
|
|
1734
|
+ // 总页数
|
|
1735
|
+ $pages = 1;
|
|
1736
|
+ }
|
|
1737
|
+
|
|
1738
|
+ $teams = DB::table('teams')->lists('name', 'id');
|
|
1739
|
+ $result = Order::select(DB::raw('left(createTime, 10) as ctime, team_id, count(1) as order_count, sum(receivedAmount) as receivedAmount, sum(aftersale_fee) as aftersale_fee, sum(refund_price) as refund_price, sum(cost) as cost, sum(freight_cost) as freight_cost'))->where(function($query) use($team_id, $stime, $etime){
|
|
1740
|
+ if($team_id) $query->where('team_id', $team_id);
|
|
1741
|
+ if($stime) $query->where('createTime', '>=', $stime);
|
|
1742
|
+ if($etime) $query->where('createTime', '<=', $etime.' 23:59:59');
|
|
1743
|
+ })->where('is_del', 0)->groupBy('team_id')->groupBy('ctime')->orderBy('team_id', 'asc')->orderBy('createTime','desc')->offset($offset)->limit($pageSize)->get();
|
|
1744
|
+ $result = json_decode(json_encode($result), true);
|
|
1745
|
+ foreach($result as $k=>&$v){
|
|
1746
|
+ $v['team_name'] = $v['team_id']>0 ? $teams[$v['team_id']] : '';
|
|
1747
|
+ $v['true_amount'] = $v['receivedAmount'] - $v['refund_price'] - $v['aftersale_fee'];
|
|
1748
|
+ }
|
|
1749
|
+
|
|
1750
|
+ $teamList = DB::table('teams')->select('id', 'name')->get();
|
|
1751
|
+ $teamList = json_decode(json_encode($teamList), true);
|
|
1752
|
+ return view('/statistics/teamFinanceTotal',[
|
|
1753
|
+ 'result' => $result,
|
|
1754
|
+ 'team_id' => $team_id,
|
|
1755
|
+ 'stime' => $stime,
|
|
1756
|
+ 'etime' => $etime,
|
|
1757
|
+ 'page' => $page,
|
|
1758
|
+ 'count' => $count,
|
|
1759
|
+ 'pages' => $pages,
|
|
1760
|
+ 'teamlist' => $teamList,
|
|
1761
|
+ ]);
|
|
1762
|
+
|
|
1763
|
+ }
|
|
1764
|
+
|
|
1765
|
+ /**
|
|
1766
|
+ * 团队财务明细导出
|
|
1767
|
+ */
|
|
1768
|
+ public function teamFinanceList_export(Request $request){
|
|
1769
|
+ $team_id = (int)$request->input('team_id');
|
|
1770
|
+ $stime = $request->input('stime');
|
|
1771
|
+ $etime = $request->input('etime');
|
|
1772
|
+
|
|
1773
|
+ $teams = DB::table('teams')->lists('name', 'id');
|
|
1774
|
+ $result = Order::select('team_id', 'createTime', 'id', 'receivedAmount', 'aftersale_fee', 'refund_price', 'cost', 'freight_cost')->where(function($query) use($team_id, $stime, $etime){
|
|
1775
|
+ if($team_id) $query->where('team_id', $team_id);
|
|
1776
|
+ if($stime) $query->where('createTime', '>=', $stime);
|
|
1777
|
+ if($etime) $query->where('createTime', '<=', $etime. ' 23:59:59');
|
|
1778
|
+ })->where('is_del', 0)->orderBy('team_id', 'asc')->orderBy('createTime','desc')->get();
|
|
1779
|
+ $result = json_decode(json_encode($result), true);
|
|
1780
|
+ foreach($result as $k=>&$v){
|
|
1781
|
+ $v['team_name'] = $v['team_id']>0 ? $teams[$v['team_id']] : '';;
|
|
1782
|
+ $v['true_amount'] = $v['receivedAmount'] - $v['refund_price'] - $v['aftersale_fee'];
|
|
1783
|
+ }
|
|
1784
|
+
|
|
1785
|
+ $indexKey = ['team_name','createTime','id','receivedAmount','aftersale_fee','refund_price','true_amount','cost','freight_cost'];
|
|
1786
|
+ $title = ['团队', '时间', '订单编号', '成交金额', '售后', '退补差价', '实际金额', '供应商成本', '物流成本'];
|
|
1787
|
+ $filename = 'teamFinanceList_'.date('Y-m-d_H').'.xlsx';
|
|
1788
|
+ return Order::export_excel($result, $filename, $indexKey, $title);
|
|
1789
|
+ }
|
|
1790
|
+
|
|
1791
|
+ /**
|
|
1792
|
+ * 团队财务明细导出
|
|
1793
|
+ */
|
|
1794
|
+ public function teamFinanceTotal_export(Request $request){
|
|
1795
|
+ $team_id = (int)$request->input('team_id');
|
|
1796
|
+ $stime = $request->input('stime');
|
|
1797
|
+ $etime = $request->input('etime');
|
|
1798
|
+
|
|
1799
|
+ $teams = DB::table('teams')->lists('name', 'id');
|
|
1800
|
+ $result = Order::select(DB::raw('left(createTime, 10) as ctime, team_id, count(1) as order_count, sum(receivedAmount) as receivedAmount, sum(aftersale_fee) as aftersale_fee, sum(refund_price) as refund_price, sum(cost) as cost, sum(freight_cost) as freight_cost'))->where(function($query) use($team_id, $stime, $etime){
|
|
1801
|
+ if($team_id) $query->where('team_id', $team_id);
|
|
1802
|
+ if($stime) $query->where('createTime', '>=', $stime);
|
|
1803
|
+ if($etime) $query->where('createTime', '<=', $etime.' 23:59:59');
|
|
1804
|
+ })->where('is_del', 0)->groupBy('team_id')->groupBy('ctime')->orderBy('team_id', 'asc')->orderBy('createTime','desc')->get();
|
|
1805
|
+ $result = json_decode(json_encode($result), true);
|
|
1806
|
+ foreach($result as $k=>&$v){
|
|
1807
|
+ $v['team_name'] = $v['team_id']>0 ? $teams[$v['team_id']] : '';
|
|
1808
|
+ $v['true_amount'] = $v['receivedAmount'] - $v['refund_price'] - $v['aftersale_fee'];
|
|
1809
|
+ }
|
|
1810
|
+
|
|
1811
|
+ $indexKey = ['team_name','ctime','order_count','receivedAmount','aftersale_fee','refund_price','true_amount','cost','freight_cost'];
|
|
1812
|
+ $title = ['团队', '时间', '总单数', '成交金额', '售后', '退补差价', '实际金额', '供应商成本', '物流成本'];
|
|
1813
|
+ $filename = 'teamFinanceTotal_'.date('Y-m-d_H').'.xlsx';
|
|
1814
|
+ return Order::export_excel($result, $filename, $indexKey, $title);
|
|
1815
|
+ }
|
1654
|
1816
|
}
|
1655
|
1817
|
|
1656
|
1818
|
|
|
1819
|
+
|