|
@@ -139,8 +139,8 @@ class Report extends Base
|
|
|
{
|
|
|
$param = $this->request->only([
|
|
|
'token',
|
|
|
- 'start_date' => date('Y-m-d H:i:s'),
|
|
|
- 'end_date' => date('Y-m-d H:i:s'),
|
|
|
+ 'start_date' => date('Y-m-d'),
|
|
|
+ 'end_date' => date('Y-m-d'),
|
|
|
], 'post', 'trim');
|
|
|
|
|
|
$val_params = Validate::rule([
|
|
@@ -156,7 +156,7 @@ class Report extends Base
|
|
|
->leftJoin('depart_user du', 'du.uid=gz.createrid AND du.is_del=0')
|
|
|
->leftJoin('company_item ci', 'ci.id=du.itemid AND ci.is_del=0')
|
|
|
->where('gz.is_del', 0)
|
|
|
- ->whereBetween('gz.addtime', [$param['start_date'], $param['end_date']])
|
|
|
+ ->whereBetween('gz.addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59'])
|
|
|
->cursor();
|
|
|
|
|
|
$data = [];
|
|
@@ -192,8 +192,8 @@ class Report extends Base
|
|
|
{
|
|
|
$param = $this->request->only([
|
|
|
'token',
|
|
|
- 'start_date' => date('Y-m-d H:i:s'),
|
|
|
- 'end_date' => date('Y-m-d H:i:s'),
|
|
|
+ 'start_date' => date('Y-m-d'),
|
|
|
+ 'end_date' => date('Y-m-d'),
|
|
|
], 'post', 'trim');
|
|
|
|
|
|
$val_params = Validate::rule([
|
|
@@ -211,7 +211,7 @@ class Report extends Base
|
|
|
->where('po.is_del', 0)
|
|
|
->group('addtime,du.itemid,po.status')
|
|
|
->order('addtime,itemid')
|
|
|
- ->whereBetween('po.addtime', [$param['start_date'], $param['end_date']])
|
|
|
+ ->whereBetween('po.addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59'])
|
|
|
->cursor();
|
|
|
|
|
|
$data = [];
|
|
@@ -255,8 +255,8 @@ class Report extends Base
|
|
|
{
|
|
|
$param = $this->request->only([
|
|
|
'token',
|
|
|
- 'start_date' => date('Y-m-d H:i:s'),
|
|
|
- 'end_date' => date('Y-m-d H:i:s'),
|
|
|
+ 'start_date' => date('Y-m-d'),
|
|
|
+ 'end_date' => date('Y-m-d'),
|
|
|
], 'post', 'trim');
|
|
|
|
|
|
$val_params = Validate::rule([
|
|
@@ -275,19 +275,11 @@ class Report extends Base
|
|
|
->where('cb.is_del', 0)
|
|
|
->group('addtime,du.itemid,ci.name ,cb.createrid,du.nickname')
|
|
|
->order('addtime,du.itemid,ci.name ,cb.createrid,du.nickname')
|
|
|
- ->whereBetween('cb.addtime', [$param['start_date'], $param['end_date']])
|
|
|
+ ->whereBetween('cb.addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59'])
|
|
|
->select()
|
|
|
->toArray();
|
|
|
|
|
|
- $rs[] = [
|
|
|
- 'addtime' => '汇总',
|
|
|
- 'itemid' => 0,
|
|
|
- 'createrid' => 0,
|
|
|
- 'num' => array_sum(array_column($rs, 'num')),
|
|
|
- 'total' => array_sum(array_column($rs, 'total')),
|
|
|
- 'nickname' => '',
|
|
|
- 'name' => '',
|
|
|
- ];
|
|
|
+ $rs[] = ['addtime' => '汇总', 'itemid' => 0, 'createrid' => 0, 'num' => array_sum(array_column($rs, 'num')), 'total' => array_sum(array_column($rs, 'total')), 'nickname' => '', 'name' => ''];
|
|
|
|
|
|
return app_show(0, '请求成功', array_merge($rs));
|
|
|
|
|
@@ -298,8 +290,8 @@ class Report extends Base
|
|
|
{
|
|
|
$param = $this->request->only([
|
|
|
'token',
|
|
|
- 'start_date' => date('Y-m-d H:i:s'),
|
|
|
- 'end_date' => date('Y-m-d H:i:s'),
|
|
|
+ 'start_date' => date('Y-m-d'),
|
|
|
+ 'end_date' => date('Y-m-d'),
|
|
|
], 'post', 'trim');
|
|
|
|
|
|
$val_params = Validate::rule([
|
|
@@ -310,26 +302,20 @@ class Report extends Base
|
|
|
if (!$val_params->check($param)) return error_show(1004, $val_params->getError());
|
|
|
|
|
|
$rs = Db::name('purchease_order')
|
|
|
- ->alias('po')
|
|
|
- ->field('po.id,DATE_FORMAT(po.addtime,"%Y-%m-%d") addtime,po.cgder_id,po.cgder,po.total_fee,po.good_num,po.status')
|
|
|
- ->where('po.is_del', 0)
|
|
|
- ->whereBetween('po.addtime', [$param['start_date'], $param['end_date']])
|
|
|
+ ->field('DATE_FORMAT(addtime, "%Y-%m-%d") addtime,cgder_id,cgder,SUM(total_fee) total_fee,SUM(good_num) good_num,status,0 wait_total_fee,0 wait_good_num')
|
|
|
+ ->where('is_del', 0)
|
|
|
+ ->group('addtime,cgder_id,cgder,status')
|
|
|
+ ->order('addtime,cgder_id')
|
|
|
+ ->whereBetween('addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59'])
|
|
|
->cursor();
|
|
|
|
|
|
$data = [];
|
|
|
foreach ($rs as $value) {
|
|
|
- $addtime_stamp = strtotime($value['addtime']);
|
|
|
|
|
|
- if (!isset($data[$addtime_stamp])) {
|
|
|
- $data[$addtime_stamp] = [
|
|
|
- 'date' => $value['addtime'],//date('Y年m月d日', $addtime_stamp),
|
|
|
- 'list' => [],
|
|
|
- ];
|
|
|
- }
|
|
|
-
|
|
|
- if (!isset($data[$addtime_stamp]['list'][$value['cgder_id']])) {
|
|
|
- $data[$addtime_stamp]['list'][$value['cgder_id']] = [
|
|
|
- 'name' => $value['cgder'],
|
|
|
+ if (!isset($data[$value['addtime']][$value['cgder_id']])) {
|
|
|
+ $data[$value['addtime']][$value['cgder_id']] = [
|
|
|
+ 'addtime' => $value['addtime'],
|
|
|
+ 'cgder' => $value['cgder'],
|
|
|
'total_fee' => 0.00,
|
|
|
'good_num' => 0,
|
|
|
'wait_total_fee' => 0.00,
|
|
@@ -337,20 +323,23 @@ class Report extends Base
|
|
|
];
|
|
|
}
|
|
|
if ($value['status'] == 0) {
|
|
|
- $data[$addtime_stamp]['list'][$value['cgder_id']]['wait_total_fee'] += $value['total_fee'];
|
|
|
- $data[$addtime_stamp]['list'][$value['cgder_id']]['wait_good_num'] += $value['good_num'];
|
|
|
+ $data[$value['addtime']][$value['cgder_id']]['wait_total_fee'] += $value['total_fee'];
|
|
|
+ $data[$value['addtime']][$value['cgder_id']]['wait_good_num'] += $value['good_num'];
|
|
|
} else {
|
|
|
- $data[$addtime_stamp]['list'][$value['cgder_id']]['total_fee'] += $value['total_fee'];
|
|
|
- $data[$addtime_stamp]['list'][$value['cgder_id']]['good_num'] += $value['good_num'];
|
|
|
+ $data[$value['addtime']][$value['cgder_id']]['total_fee'] += $value['total_fee'];
|
|
|
+ $data[$value['addtime']][$value['cgder_id']]['good_num'] += $value['good_num'];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ $da = [];
|
|
|
//去除下标
|
|
|
- foreach ($data as &$v) {
|
|
|
- $v['list'] = array_merge($v['list']);
|
|
|
+ foreach ($data as $v) {
|
|
|
+ foreach ($v as $vv) {
|
|
|
+ $da[] = $vv;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- return app_show(0, '请求成功', array_merge($data));
|
|
|
+ return app_show(0, '请求成功', $da);
|
|
|
|
|
|
}
|
|
|
|
|
@@ -360,8 +349,8 @@ class Report extends Base
|
|
|
$param = $this->request->only([
|
|
|
'token',
|
|
|
'zxNo' => [],
|
|
|
- 'start_date' => date('Y-m-d H:i:s'),
|
|
|
- 'end_date' => date('Y-m-d H:i:s'),
|
|
|
+ 'start_date' => date('Y-m-d'),
|
|
|
+ 'end_date' => date('Y-m-d'),
|
|
|
'page' => 1,
|
|
|
'size' => 15,
|
|
|
'is_export' => 0,//是否导出,1导出,0不导出
|
|
@@ -379,12 +368,13 @@ class Report extends Base
|
|
|
->alias('cb')
|
|
|
->where('cb.is_del', 0);
|
|
|
|
|
|
- if (!empty($param['start_date']) && !empty($param['end_date'])) $rs->whereBetween('cb.addtime', [$param['start_date'], $param['end_date']]);
|
|
|
+ if (!empty($param['start_date']) && !empty($param['end_date'])) $rs->whereBetween('cb.addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']);
|
|
|
if (!empty($param['zxNo'])) $rs->whereIn('cb.zxNo', $param['zxNo']);
|
|
|
|
|
|
if ($param['is_export'] == 1) {
|
|
|
$data = $rs
|
|
|
- ->field('ci.addtime as 咨询时间,cb.bidNo as 采购单反馈单号,cb.zxNo as 咨询订单号,cb.addtime as 回复时间,cb.good_name as 产品名称,s.name as 供应商名称,cb.total_fee 成本合计,cb.delivery_day 物流时间,cb.work_day 产品工期,cb.expire_day 信息有效期,cb.creater 采购员,ci.num 需求数量,ci.arrival_time 要求到货日期,co.salesman 业务人员,csi.companyName 客户名称')->leftJoin('consult_info ci', 'ci.zxNo=cb.zxNo AND ci.is_del=0')
|
|
|
+ ->field('ci.addtime as 咨询时间,cb.bidNo as 采购单反馈单号,cb.zxNo as 咨询订单号,cb.addtime as 回复时间,cb.good_name as 产品名称,s.name as 供应商名称,cb.total_fee 成本合计,cb.delivery_day 物流时间,cb.work_day 产品工期,cb.expire_day 信息有效期,cb.creater 采购员,ci.num 需求数量,ci.arrival_time 要求到货日期,co.salesman 业务人员,csi.companyName 客户名称')
|
|
|
+ ->leftJoin('consult_info ci', 'ci.zxNo=cb.zxNo AND ci.is_del=0')
|
|
|
->leftJoin('consult_order co', 'co.zxNo=cb.zxNo AND co.is_del=0')
|
|
|
->leftJoin('supplier s', 's.code=cb.supplierNo AND s.is_del=0')
|
|
|
->leftJoin('customer_info csi', 'csi.companyNo=co.khNo AND csi.is_del=0')
|
|
@@ -417,5 +407,124 @@ class Report extends Base
|
|
|
|
|
|
}
|
|
|
|
|
|
+ //【二、咨询单报表】2.未采反信息
|
|
|
+ public function consultInfoBidsSumNot()
|
|
|
+ {
|
|
|
+ $param = $this->request->only([
|
|
|
+ 'token',
|
|
|
+ 'companyName' => '',
|
|
|
+ 'start_date' => date('Y-m-d'),
|
|
|
+ 'end_date' => date('Y-m-d'),
|
|
|
+ 'page' => 1,
|
|
|
+ 'size' => 15,
|
|
|
+ 'is_export' => 0,//是否导出,1导出,0不导出
|
|
|
+ ], 'post', 'trim');
|
|
|
+
|
|
|
+ $val_params = Validate::rule([
|
|
|
+ 'start_date' => 'date|elt:end_date',
|
|
|
+ 'end_date' => 'date',
|
|
|
+ 'is_export' => 'in:0,1',
|
|
|
+ ]);
|
|
|
+
|
|
|
+ if (!$val_params->check($param)) return error_show(1004, $val_params->getError());
|
|
|
+
|
|
|
+ $rs = Db::name('consult_bids')
|
|
|
+ ->alias('cb')
|
|
|
+ ->leftJoin('consult_info ci', 'ci.zxNo=cb.zxNo AND ci.is_del=0')
|
|
|
+ ->leftJoin('consult_order co', 'co.zxNo=cb.zxNo AND co.is_del=0')
|
|
|
+ ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo AND csi.is_del=0')
|
|
|
+ ->where('cb.is_del', 0)
|
|
|
+ ->order('co.endtime', 'desc');
|
|
|
+
|
|
|
+ if ($param['start_date'] != '' && $param['end_date'] != '') $rs->whereBetween('ci.addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']);
|
|
|
+ if ($param['companyName'] != '') $rs->whereLike('csi.companyName', '%' . $param['companyName'] . '%');
|
|
|
+
|
|
|
+ if ($param['is_export'] == 1) {
|
|
|
+ $data = $rs
|
|
|
+ ->field('cb.zxNo 咨询订单号,cb.good_name 产品名称,ci.num 需求数量,csi.companyName 客户名称,ci.addtime 咨询时间,co.endtime 截止时间')
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
+
|
|
|
+ if (empty($data)) return error_show(1005, '没有可供导出的数据');
|
|
|
+ else {
|
|
|
+ $headerArr = array_keys($data[0]);
|
|
|
+ excelSave('咨询单报表-未采反信息' . date('YmdHis'), $headerArr, $data);
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+
|
|
|
+ $total = $rs->count('cb.id');
|
|
|
+
|
|
|
+ $data = $rs
|
|
|
+ ->field('cb.zxNo,cb.good_name,ci.num,csi.companyName,ci.addtime,co.endtime')
|
|
|
+ ->page($param['page'], $param['size'])
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
+
|
|
|
+ return app_show(0, '请求成功', ['list' => $data, 'total' => $total]);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //【三、订单明细报表】
|
|
|
+ public function orderListDetailed()
|
|
|
+ {
|
|
|
+ $param = $this->request->only([
|
|
|
+ 'token',
|
|
|
+ 'start_date' => date('Y-m-d'),
|
|
|
+ 'end_date' => date('Y-m-d'),
|
|
|
+ 'page' => 1,
|
|
|
+ 'size' => 15,
|
|
|
+ 'is_export' => 0,//是否导出,1导出,0不导出
|
|
|
+ ], 'post', 'trim');
|
|
|
+
|
|
|
+ $val_params = Validate::rule([
|
|
|
+ 'start_date' => 'date|elt:end_date',
|
|
|
+ 'end_date' => 'date',
|
|
|
+ 'is_export' => 'in:0,1',
|
|
|
+ ]);
|
|
|
+
|
|
|
+ if (!$val_params->check($param)) return error_show(1004, $val_params->getError());
|
|
|
+
|
|
|
+ $rs = Db::name('purchease_order')
|
|
|
+ ->alias('po');
|
|
|
+// ->leftJoin('consult_info ci', 'ci.zxNo=cb.zxNo AND ci.is_del=0')
|
|
|
+// ->leftJoin('consult_order co', 'co.zxNo=cb.zxNo AND co.is_del=0')
|
|
|
+// ->leftJoin('customer_info csi', 'csi.companyNo=co.khNo AND csi.is_del=0')
|
|
|
+// ->where('cb.is_del', 0)
|
|
|
+// ->order('co.endtime', 'desc');
|
|
|
+
|
|
|
+ if ($param['start_date'] != '' && $param['end_date'] != '') $rs->whereBetween('ci.addtime', [$param['start_date'] . ' 00:00:00', $param['end_date'] . ' 23:59:59']);
|
|
|
+ if ($param['companyName'] != '') $rs->whereLike('csi.companyName', '%' . $param['companyName'] . '%');
|
|
|
+
|
|
|
+ if ($param['is_export'] == 1) {
|
|
|
+ $data = $rs
|
|
|
+ ->field('cb.zxNo 咨询订单号,cb.good_name 产品名称,ci.num 需求数量,csi.companyName 客户名称,ci.addtime 咨询时间,co.endtime 截止时间')
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
+
|
|
|
+ if (empty($data)) return error_show(1005, '没有可供导出的数据');
|
|
|
+ else {
|
|
|
+ $headerArr = array_keys($data[0]);
|
|
|
+ excelSave('咨询单报表-未采反信息' . date('YmdHis'), $headerArr, $data);
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+
|
|
|
+ $total = $rs->count('po.id');
|
|
|
+
|
|
|
+ $data = $rs
|
|
|
+ ->field('po.,po.,po.,po.,po.,po.,po.,po.')
|
|
|
+ ->page($param['page'], $param['size'])
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
+
|
|
|
+ return app_show(0, '请求成功', ['list' => $data, 'total' => $total]);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|