|
@@ -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);
|
|
|
|
|
|
}
|
|
|
|