Browse Source

Merge branch 'dev_wf' of wugg/phpstock into version1.5

wufeng 2 years ago
parent
commit
abd2f50428
2 changed files with 58 additions and 31 deletions
  1. 0 1
      app/admin/controller/Account.php
  2. 58 30
      app/admin/controller/Report.php

+ 0 - 1
app/admin/controller/Account.php

@@ -9,7 +9,6 @@ use think\facade\Validate;
 
 class Account extends Base
 {
-
     //获取供应商账号列表
     public function getAccountList()
     {

+ 58 - 30
app/admin/controller/Report.php

@@ -262,13 +262,13 @@ class Report extends Base
             'token',
             'start_date' => '',
             'end_date' => '',
-            'page' => 1,
-            'size' => 15,
+//            'page' => 1,
+//            'size' => 15,
         ], 'post', 'trim');
 
         $val_params = Validate::rule([
-            'start_date' => 'date|elt:end_date',
-            'end_date' => 'date',
+            'start_date|创建开始日期' => 'date|elt:end_date',
+            'end_date|创建结束日期' => 'date|egt:start_date',
         ]);
 
         if (!$val_params->check($param)) return error_show(1004, $val_params->getError());
@@ -278,25 +278,34 @@ class Report extends Base
 
 
         //统计条数的时候,不能按照status分组,否则下方列表不准
-        $count = Db::name('purchease_order')
-            ->alias('po')
-            ->leftJoin('depart_user du', 'du.uid=po.cgder_id AND du.is_del=0')
-            ->leftJoin('company_item ci', 'ci.id=du.itemid')
-            ->where($where)
-            ->order('addtime,itemid')
-            ->field('DATE_FORMAT(po.addtime,"%Y-%m-%d") addtime,SUM(po.total_fee) total_fee,COUNT(po.id) total_num,du.itemid,ci.name,"" wait_total_fee,"" wait_total_num')
-            ->group('addtime,du.itemid')
-            ->count();
+//        $count = Db::name('purchease_order')
+//            ->alias('po')
+//            ->leftJoin('depart_user du', 'du.uid=po.cgder_id AND du.is_del=0')
+//            ->leftJoin('company_item ci', 'ci.id=du.itemid')
+//            ->where($where)
+//            ->order('addtime,itemid')
+//            ->field('DATE_FORMAT(po.addtime,"%Y-%m-%d") addtime,SUM(po.total_fee) total_fee,COUNT(po.id) total_num,du.itemid,ci.name,"" wait_total_fee,"" wait_total_num')
+//            ->group('addtime,du.itemid')
+//            ->count();
+
+//        $list = Db::name('purchease_order')
+//            ->alias('po')
+//            ->field('DATE_FORMAT(po.addtime,"%Y-%m-%d") addtime,SUM(po.total_fee) total_fee,COUNT(po.id) total_num,po.status,du.itemid,ci.name,"" wait_total_fee,"" wait_total_num')
+//            ->leftJoin('depart_user du', 'du.uid=po.cgder_id AND du.is_del=0')
+//            ->leftJoin('company_item ci', 'ci.id=du.itemid')
+//            ->where($where)
+//            ->order(['addtime'=>'desc','itemid'=>'asc'])
+//            ->page($param['page'], $param['size'])
+//            ->group('addtime,du.itemid,po.status')
+//            ->cursor();
 
         $list = Db::name('purchease_order')
             ->alias('po')
-            ->field('DATE_FORMAT(po.addtime,"%Y-%m-%d") addtime,SUM(po.total_fee) total_fee,COUNT(po.id) total_num,po.status,du.itemid,ci.name,"" wait_total_fee,"" wait_total_num')
+            ->field('po.id,DATE_FORMAT(po.addtime,"%Y%m%d") addtime,po.cgder_id,IF(ISNULL(`du`.`itemid`),0,`du`.`itemid`) itemid,IF(ISNULL(`ci`.`name`),"供应商端",`ci`.`name`) name,po.total_fee,po.good_num,po.status')
             ->leftJoin('depart_user du', 'du.uid=po.cgder_id AND du.is_del=0')
             ->leftJoin('company_item ci', 'ci.id=du.itemid')
             ->where($where)
-            ->order('addtime,itemid')
-            ->page($param['page'], $param['size'])
-            ->group('addtime,du.itemid,po.status')
+            ->order(['addtime' => 'desc', 'itemid' => 'asc'])
             ->cursor();
 
         $data = [];
@@ -304,24 +313,43 @@ class Report extends Base
 
             if (!isset($data[$value['addtime']][$value['itemid']])) {
                 $data[$value['addtime']][$value['itemid']] = [
-                    'addtime' => $value['addtime'],
-                    'itemid' => $value['itemid'],
+                    'addtime' => date('Y-m-d', strtotime($value['addtime'])),
+//                    'itemid' => $value['itemid'],
                     'name' => $value['name'],
-                    'total_fee' => 0,
-                    'total_num' => 0,
-                    'wait_total_fee' => 0,
-                    'wait_total_num' => 0,
+                    'total_fee' => '0',
+                    'total_num' => '0',
+                    'good_num'=>'0',
+                    'wait_confirm_total_fee' => '0',//待与供应商确认-总金额
+                    'wait_confirm_total_num' => '0',//待与供应商确认-总单数
+                    'wait_in_total_fee' => '0',//待入库-总金额
+                    'wait_in_total_num' => '0',//待入库-总单数
                 ];
             }
 
-            if ($value['status'] == 0) {
-                $data[$value['addtime']][$value['itemid']]['wait_total_fee'] += $value['total_fee'];
-                $data[$value['addtime']][$value['itemid']]['wait_total_num'] += $value['total_num'];
-            } else {
-                $data[$value['addtime']][$value['itemid']]['total_fee'] += $value['total_fee'];
-                $data[$value['addtime']][$value['itemid']]['total_num'] += $value['total_num'];
+            $data[$value['addtime']][$value['itemid']]['total_fee'] = bcadd($data[$value['addtime']][$value['itemid']]['total_fee'], $value['total_fee'], 2);
+            $data[$value['addtime']][$value['itemid']]['total_num'] = bcadd($data[$value['addtime']][$value['itemid']]['total_num'], 1);
+            $data[$value['addtime']][$value['itemid']]['good_num'] = bcadd($data[$value['addtime']][$value['itemid']]['good_num'], $value['good_num']);
+
+            switch ($value['status']) {
+                case 0:
+                    $data[$value['addtime']][$value['itemid']]['wait_confirm_total_fee'] += $value['total_fee'];
+                    $data[$value['addtime']][$value['itemid']]['wait_confirm_total_num'] += 1;
+                    break;
+
+                case 1:
+                    $data[$value['addtime']][$value['itemid']]['wait_in_total_fee'] += $value['total_fee'];
+                    $data[$value['addtime']][$value['itemid']]['wait_in_total_num'] += 1;
+                    break;
             }
 
+//            if ($value['status'] == 0) {
+//                $data[$value['addtime']][$value['itemid']]['wait_total_fee'] += $value['total_fee'];
+//                $data[$value['addtime']][$value['itemid']]['wait_total_num'] += $value['total_num'];
+//            } else {
+//                $data[$value['addtime']][$value['itemid']]['total_fee'] += $value['total_fee'];
+//                $data[$value['addtime']][$value['itemid']]['total_num'] += $value['total_num'];
+//            }
+
         }
 
         //去除下标
@@ -332,7 +360,7 @@ class Report extends Base
             }
         }
 
-        return app_show(0, '请求成功', ['list' => $da, 'count' => $count]);
+        return app_show(0, '请求成功', $da);
 
     }